Adds additional screen 'faces', allows switching of screens in game
also puts jelly people in with the jelly people file.
This commit is contained in:
@@ -105,8 +105,9 @@
|
||||
#define NOAROUSAL 37 //Stops all arousal effects
|
||||
#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
|
||||
|
||||
//Brainslugs
|
||||
//Citadel istypes
|
||||
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
|
||||
#define isipcperson(A) (is_species(A, /datum/species/ipc))
|
||||
|
||||
#define CITADEL_MENTOR_OOC_COLOUR "#224724"
|
||||
|
||||
|
||||
@@ -1052,18 +1052,3 @@
|
||||
|
||||
/mob/living/carbon/human/species/zombie/krokodil_addict
|
||||
race = /datum/species/krokodil_addict
|
||||
|
||||
/*
|
||||
//CITADEL EDIT - TODO: Enable people to set custom races
|
||||
/mob/living/carbon/human/species/mammal
|
||||
race = /datum/species/mammal
|
||||
/mob/living/carbon/human/species/avian
|
||||
race = /datum/species/avian
|
||||
/mob/living/carbon/human/species/aquatic
|
||||
race = /datum/species/aquatic
|
||||
/mob/living/carbon/human/species/insect
|
||||
race = /datum/species/insect
|
||||
/mob/living/carbon/human/species/xeno
|
||||
race = /datum/species/xeno
|
||||
/mob/living/carbon/human/species/guilmon
|
||||
race = /datum/species/guilmon */
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//Disables the custom emote blacklist from TG that normally applies to slimes.
|
||||
/datum/emote/living/custom
|
||||
mob_type_blacklist_typecache = list(/mob/living/brain)
|
||||
|
||||
|
||||
/datum/emote/living/scream/run_emote(mob/living/user, params) //I can't not port this shit, come on.
|
||||
if(user.nextsoundemote >= world.time || user.stat != CONSCIOUS)
|
||||
return
|
||||
@@ -35,7 +35,7 @@
|
||||
sound = 'modular_citadel/sound/voice/scream_lizard.ogg'
|
||||
if(is_species(user, /datum/species/skeleton))
|
||||
sound = 'modular_citadel/sound/voice/scream_skeleton.ogg'
|
||||
if (is_species(user, /datum/species/fly) || is_species(user, /datum/species/moth))
|
||||
if (is_species(user, /datum/species/fly) || is_species(user, /datum/species/insect))
|
||||
sound = 'modular_citadel/sound/voice/scream_moth.ogg'
|
||||
if(isalien(user))
|
||||
sound = 'sound/voice/hiss6.ogg'
|
||||
@@ -49,7 +49,7 @@
|
||||
else
|
||||
message = "makes a very loud noise."
|
||||
. = ..()
|
||||
|
||||
|
||||
/datum/emote/sound/carbon/snap
|
||||
key = "snap"
|
||||
key_third_person = "snaps"
|
||||
@@ -58,7 +58,7 @@
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
sound = 'sound/effects/snap01.ogg'
|
||||
mob_type_allowed_typecache = list(/mob/living/carbon/)
|
||||
|
||||
|
||||
|
||||
/datum/emote/living/snap
|
||||
key = "snap"
|
||||
|
||||
@@ -878,23 +878,17 @@
|
||||
/datum/sprite_accessory/xeno_dorsal
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
/datum/sprite_accessory/xeno_dorsal/none
|
||||
name = "None"
|
||||
|
||||
/datum/sprite_accessory/xeno_dorsal/standard
|
||||
name = "Standard"
|
||||
icon_state = "standard"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
/datum/sprite_accessory/xeno_dorsal/royal
|
||||
name = "Royal"
|
||||
icon_state = "royal"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
/datum/sprite_accessory/xeno_dorsal/down
|
||||
name = "Dorsal Down"
|
||||
icon_state = "down"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
//Xeno Tail
|
||||
/datum/sprite_accessory/xeno_tail
|
||||
@@ -906,7 +900,6 @@
|
||||
/datum/sprite_accessory/xeno_tail/standard
|
||||
name = "Xenomorph Tail"
|
||||
icon_state = "xeno"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
//Xeno Caste Heads
|
||||
/datum/sprite_accessory/xeno_head
|
||||
@@ -915,28 +908,100 @@
|
||||
/datum/sprite_accessory/xeno_head/standard
|
||||
name = "Standard"
|
||||
icon_state = "standard"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
/datum/sprite_accessory/xeno_head/royal
|
||||
name = "royal"
|
||||
icon_state = "royal"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
/datum/sprite_accessory/xeno_head/hollywood
|
||||
name = "hollywood"
|
||||
icon_state = "hollywood"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
/datum/sprite_accessory/xeno_head/warrior
|
||||
name = "warrior"
|
||||
icon_state = "warrior"
|
||||
icon = 'modular_citadel/icons/mob/xeno_parts_greyscale.dmi'
|
||||
|
||||
// IPCs
|
||||
/datum/sprite_accessory/screen
|
||||
icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi'
|
||||
icon = 'modular_citadel/icons/mob/ipc_screens.dmi'
|
||||
color_src = null
|
||||
|
||||
/datum/sprite_accessory/screen/blank
|
||||
name = "Blank"
|
||||
icon_state = "blank"
|
||||
|
||||
/datum/sprite_accessory/screen/pink
|
||||
name = "Pink"
|
||||
icon_state = "pink"
|
||||
|
||||
/datum/sprite_accessory/screen/green
|
||||
name = "Green"
|
||||
icon_state = "green"
|
||||
|
||||
/datum/sprite_accessory/screen/red
|
||||
name = "Red"
|
||||
icon_state = "red"
|
||||
|
||||
/datum/sprite_accessory/screen/blue
|
||||
name = "Blue"
|
||||
icon_state = "blue"
|
||||
|
||||
/datum/sprite_accessory/screen/yellow
|
||||
name = "Yellow"
|
||||
icon_state = "yellow"
|
||||
|
||||
/datum/sprite_accessory/screen/shower
|
||||
name = "Shower"
|
||||
icon_state = "shower"
|
||||
|
||||
/datum/sprite_accessory/screen/nature
|
||||
name = "Nature"
|
||||
icon_state = "nature"
|
||||
|
||||
/datum/sprite_accessory/screen/eight
|
||||
name = "Eight"
|
||||
icon_state = "eight"
|
||||
|
||||
/datum/sprite_accessory/screen/goggles
|
||||
name = "Goggles"
|
||||
icon_state = "goggles"
|
||||
|
||||
/datum/sprite_accessory/screen/heart
|
||||
name = "Heart"
|
||||
icon_state = "heart"
|
||||
|
||||
/datum/sprite_accessory/screen/monoeye
|
||||
name = "Mono eye"
|
||||
icon_state = "monoeye"
|
||||
|
||||
/datum/sprite_accessory/screen/breakout
|
||||
name = "Breakout"
|
||||
icon_state = "breakout"
|
||||
|
||||
/datum/sprite_accessory/screen/purple
|
||||
name = "Purple"
|
||||
icon_state = "purple"
|
||||
|
||||
/datum/sprite_accessory/screen/scroll
|
||||
name = "Scroll"
|
||||
icon_state = "scroll"
|
||||
|
||||
/datum/sprite_accessory/screen/console
|
||||
name = "Console"
|
||||
icon_state = "console"
|
||||
|
||||
/datum/sprite_accessory/screen/rgb
|
||||
name = "RGB"
|
||||
icon_state = "rgb"
|
||||
|
||||
/datum/sprite_accessory/screen/golglider
|
||||
name = "Gol Glider"
|
||||
icon_state = "golglider"
|
||||
|
||||
/datum/sprite_accessory/screen/rainbow
|
||||
name = "Rainbow"
|
||||
icon_state = "rainbow"
|
||||
|
||||
/datum/sprite_accessory/screen/sunburst
|
||||
name = "Sunburst"
|
||||
icon_state = "sunburst"
|
||||
@@ -944,7 +1009,41 @@
|
||||
/datum/sprite_accessory/screen/static
|
||||
name = "Static"
|
||||
icon_state = "static"
|
||||
|
||||
|
||||
//Oracle Station sprites
|
||||
|
||||
/datum/sprite_accessory/screen/bsod
|
||||
name = "BSOD"
|
||||
icon_state = "bsod"
|
||||
|
||||
/datum/sprite_accessory/screen/redtext
|
||||
name = "Red Text"
|
||||
icon_state = "retext"
|
||||
|
||||
/datum/sprite_accessory/screen/sinewave
|
||||
name = "Sine wave"
|
||||
icon_state = "sinewave"
|
||||
|
||||
/datum/sprite_accessory/screen/squarewave
|
||||
name = "Square wave"
|
||||
icon_state = "squarwave"
|
||||
|
||||
/datum/sprite_accessory/screen/ecgwave
|
||||
name = "ECG wave"
|
||||
icon_state = "ecgwave"
|
||||
|
||||
/datum/sprite_accessory/screen/eyes
|
||||
name = "Eyes"
|
||||
icon_state = "eyes"
|
||||
|
||||
/datum/sprite_accessory/screen/textdrop
|
||||
name = "Text drop"
|
||||
icon_state = "textdrop"
|
||||
|
||||
/datum/sprite_accessory/screen/stars
|
||||
name = "Stars"
|
||||
icon_state = "stars"
|
||||
|
||||
// *** Snooooow flaaaaake ***
|
||||
|
||||
/datum/sprite_accessory/mam_body_markings/guilmon
|
||||
|
||||
@@ -201,117 +201,6 @@
|
||||
acidpwr = 12 */
|
||||
|
||||
|
||||
//##########SLIMEPEOPLE##########
|
||||
|
||||
/datum/species/jelly/roundstartslime
|
||||
name = "Slimeperson"
|
||||
id = "slimeperson"
|
||||
default_color = "00FFFF"
|
||||
species_traits = list(SPECIES_ORGANIC,MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
|
||||
inherent_traits = list(TRAIT_TOXINLOVER)
|
||||
mutant_bodyparts = list("mam_tail", "mam_ears", "taur")
|
||||
default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None")
|
||||
say_mod = "says"
|
||||
hair_color = "mutcolor"
|
||||
hair_alpha = 180
|
||||
liked_food = MEAT
|
||||
coldmod = 3
|
||||
heatmod = 1
|
||||
burnmod = 1
|
||||
|
||||
/datum/action/innate/slime_change
|
||||
name = "Alter Form"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
button_icon_state = "alter_form" //placeholder
|
||||
icon_icon = 'icons/mob/actions/actions_slime.dmi'
|
||||
background_icon_state = "bg_alien"
|
||||
|
||||
/datum/action/innate/slime_change/Activate()
|
||||
var/mob/living/carbon/human/H = owner
|
||||
if(!isjellyperson(H))
|
||||
return
|
||||
else
|
||||
H.visible_message("<span class='notice'>[owner] gains a look of \
|
||||
concentration while standing perfectly still.\
|
||||
Their body seems to shift and starts getting more goo-like.</span>",
|
||||
"<span class='notice'>You focus intently on altering your body while \
|
||||
standing perfectly still...</span>")
|
||||
change_form()
|
||||
|
||||
/datum/action/innate/slime_change/proc/change_form()
|
||||
var/mob/living/carbon/human/H = owner
|
||||
var/select_alteration = input(owner, "Select what part of your form to alter", "Form Alteration", "cancel") in list("Hair Style", "Genitals", "Tail", "Ears", "Taur body", "Cancel")
|
||||
if(select_alteration == "Hair Style")
|
||||
if(H.gender == MALE)
|
||||
var/new_style = input(owner, "Select a facial hair style", "Hair Alterations") as null|anything in GLOB.facial_hair_styles_list
|
||||
if(new_style)
|
||||
H.facial_hair_style = new_style
|
||||
else
|
||||
H.facial_hair_style = "Shaved"
|
||||
//handle normal hair
|
||||
var/new_style = input(owner, "Select a hair style", "Hair Alterations") as null|anything in GLOB.hair_styles_list
|
||||
if(new_style)
|
||||
H.hair_style = new_style
|
||||
H.update_hair()
|
||||
else if (select_alteration == "Genitals")
|
||||
var/list/organs = list()
|
||||
var/operation = input("Select organ operation.", "Organ Manipulation", "cancel") in list("add sexual organ", "remove sexual organ", "cancel")
|
||||
switch(operation)
|
||||
if("add sexual organ")
|
||||
var/new_organ = input("Select sexual organ:", "Organ Manipulation") in list("Penis", "Testicles", "Breasts", "Vagina", "Womb", "Cancel")
|
||||
if(new_organ == "Penis")
|
||||
H.give_penis()
|
||||
else if(new_organ == "Testicles")
|
||||
H.give_balls()
|
||||
else if(new_organ == "Breasts")
|
||||
H.give_breasts()
|
||||
else if(new_organ == "Vagina")
|
||||
H.give_vagina()
|
||||
else if(new_organ == "Womb")
|
||||
H.give_womb()
|
||||
else
|
||||
return
|
||||
if("remove sexual organ")
|
||||
for(var/obj/item/organ/genital/X in H.internal_organs)
|
||||
var/obj/item/organ/I = X
|
||||
organs["[I.name] ([I.type])"] = I
|
||||
var/obj/item/organ = input("Select sexual organ:", "Organ Manipulation", null) in organs
|
||||
organ = organs[organ]
|
||||
if(!organ)
|
||||
return
|
||||
var/obj/item/organ/genital/O
|
||||
if(isorgan(organ))
|
||||
O = organ
|
||||
O.Remove(H)
|
||||
organ.forceMove(get_turf(H))
|
||||
qdel(organ)
|
||||
H.update_body()
|
||||
else if (select_alteration == "Ears")
|
||||
var/new_ears
|
||||
new_ears = input(owner, "Choose your character's ears:", "Ear Alteration") as null|anything in GLOB.mam_ears_list
|
||||
if(new_ears)
|
||||
H.dna.features["mam_ears"] = new_ears
|
||||
H.update_body()
|
||||
else if (select_alteration == "Tail")
|
||||
var/new_tail
|
||||
new_tail = input(owner, "Choose your character's tail:", "Tail Alteration") as null|anything in GLOB.mam_tails_list
|
||||
if(new_tail)
|
||||
H.dna.features["mam_tail"] = new_tail
|
||||
if(new_tail != "None")
|
||||
H.dna.features["taur"] = "None"
|
||||
H.update_body()
|
||||
else if (select_alteration == "Taur body")
|
||||
var/new_taur
|
||||
new_taur = input(owner, "Choose your character's tauric body:", "Taur Body Alteration") as null|anything in GLOB.taur_list
|
||||
if(new_taur)
|
||||
H.dna.features["taur"] = new_taur
|
||||
if(new_taur != "None")
|
||||
H.dna.features["mam_tail"] = "None"
|
||||
H.dna.features["xenotail"] = "None"
|
||||
H.update_body()
|
||||
else
|
||||
return
|
||||
|
||||
//misc
|
||||
/mob/living/carbon/human/dummy
|
||||
no_vore = TRUE
|
||||
|
||||
@@ -7,17 +7,38 @@
|
||||
sexes = 0
|
||||
species_traits = list(MUTCOLORS,NOEYES)
|
||||
mutant_bodyparts = list("ipc_screen")
|
||||
default_features = list("ipc_screen" = "Sunburst")
|
||||
default_features = list("ipc_screen" = "Blank")
|
||||
species_traits = list(MUTCOLORS)
|
||||
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc
|
||||
|
||||
var/datum/action/innate/monitor_change/screen
|
||||
|
||||
/datum/species/ipc/on_species_gain(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts()
|
||||
. = ..()
|
||||
if(isipcperson(C) && !screen)
|
||||
screen = new
|
||||
screen.Grant(C)
|
||||
..()
|
||||
|
||||
/datum/species/ipc/on_species_loss(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
. = ..()
|
||||
if(screen)
|
||||
screen.Remove(C)
|
||||
..()
|
||||
|
||||
/datum/species/ipc/get_spans()
|
||||
return SPAN_ROBOT
|
||||
return SPAN_ROBOT
|
||||
|
||||
/datum/action/innate/monitor_change
|
||||
name = "Screen Change"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
icon_icon = 'icons/mob/actions/actions_silicon.dmi'
|
||||
button_icon_state = "drone_vision"
|
||||
|
||||
/datum/action/innate/monitor_change/Activate()
|
||||
var/mob/living/carbon/human/H = owner
|
||||
var/new_ipc_screen = input(usr, "Choose your character's screen:", "Monitor Display") as null|anything in GLOB.ipc_screens_list
|
||||
if(!new_ipc_screen)
|
||||
return
|
||||
H.dna.features["ipc_screen"] = new_ipc_screen
|
||||
H.update_body()
|
||||
|
||||
@@ -1,2 +1,113 @@
|
||||
/datum/species/jelly/slime
|
||||
name = "Xenobiological Slimeperson"
|
||||
|
||||
//##########SLIMEPEOPLE##########
|
||||
|
||||
/datum/species/jelly/roundstartslime
|
||||
name = "Slimeperson"
|
||||
id = "slimeperson"
|
||||
default_color = "00FFFF"
|
||||
species_traits = list(SPECIES_ORGANIC,MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
|
||||
inherent_traits = list(TRAIT_TOXINLOVER)
|
||||
mutant_bodyparts = list("mam_tail", "mam_ears", "taur")
|
||||
default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None")
|
||||
say_mod = "says"
|
||||
hair_color = "mutcolor"
|
||||
hair_alpha = 180
|
||||
liked_food = MEAT
|
||||
coldmod = 3
|
||||
heatmod = 1
|
||||
burnmod = 1
|
||||
|
||||
/datum/action/innate/slime_change
|
||||
name = "Alter Form"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
button_icon_state = "alter_form" //placeholder
|
||||
icon_icon = 'icons/mob/actions/actions_slime.dmi'
|
||||
background_icon_state = "bg_alien"
|
||||
|
||||
/datum/action/innate/slime_change/Activate()
|
||||
var/mob/living/carbon/human/H = owner
|
||||
if(!isjellyperson(H))
|
||||
return
|
||||
else
|
||||
H.visible_message("<span class='notice'>[owner] gains a look of \
|
||||
concentration while standing perfectly still.\
|
||||
Their body seems to shift and starts getting more goo-like.</span>",
|
||||
"<span class='notice'>You focus intently on altering your body while \
|
||||
standing perfectly still...</span>")
|
||||
change_form()
|
||||
|
||||
/datum/action/innate/slime_change/proc/change_form()
|
||||
var/mob/living/carbon/human/H = owner
|
||||
var/select_alteration = input(owner, "Select what part of your form to alter", "Form Alteration", "cancel") in list("Hair Style", "Genitals", "Tail", "Ears", "Taur body", "Cancel")
|
||||
if(select_alteration == "Hair Style")
|
||||
if(H.gender == MALE)
|
||||
var/new_style = input(owner, "Select a facial hair style", "Hair Alterations") as null|anything in GLOB.facial_hair_styles_list
|
||||
if(new_style)
|
||||
H.facial_hair_style = new_style
|
||||
else
|
||||
H.facial_hair_style = "Shaved"
|
||||
//handle normal hair
|
||||
var/new_style = input(owner, "Select a hair style", "Hair Alterations") as null|anything in GLOB.hair_styles_list
|
||||
if(new_style)
|
||||
H.hair_style = new_style
|
||||
H.update_hair()
|
||||
else if (select_alteration == "Genitals")
|
||||
var/list/organs = list()
|
||||
var/operation = input("Select organ operation.", "Organ Manipulation", "cancel") in list("add sexual organ", "remove sexual organ", "cancel")
|
||||
switch(operation)
|
||||
if("add sexual organ")
|
||||
var/new_organ = input("Select sexual organ:", "Organ Manipulation") in list("Penis", "Testicles", "Breasts", "Vagina", "Womb", "Cancel")
|
||||
if(new_organ == "Penis")
|
||||
H.give_penis()
|
||||
else if(new_organ == "Testicles")
|
||||
H.give_balls()
|
||||
else if(new_organ == "Breasts")
|
||||
H.give_breasts()
|
||||
else if(new_organ == "Vagina")
|
||||
H.give_vagina()
|
||||
else if(new_organ == "Womb")
|
||||
H.give_womb()
|
||||
else
|
||||
return
|
||||
if("remove sexual organ")
|
||||
for(var/obj/item/organ/genital/X in H.internal_organs)
|
||||
var/obj/item/organ/I = X
|
||||
organs["[I.name] ([I.type])"] = I
|
||||
var/obj/item/organ = input("Select sexual organ:", "Organ Manipulation", null) in organs
|
||||
organ = organs[organ]
|
||||
if(!organ)
|
||||
return
|
||||
var/obj/item/organ/genital/O
|
||||
if(isorgan(organ))
|
||||
O = organ
|
||||
O.Remove(H)
|
||||
organ.forceMove(get_turf(H))
|
||||
qdel(organ)
|
||||
H.update_body()
|
||||
else if (select_alteration == "Ears")
|
||||
var/new_ears
|
||||
new_ears = input(owner, "Choose your character's ears:", "Ear Alteration") as null|anything in GLOB.mam_ears_list
|
||||
if(new_ears)
|
||||
H.dna.features["mam_ears"] = new_ears
|
||||
H.update_body()
|
||||
else if (select_alteration == "Tail")
|
||||
var/new_tail
|
||||
new_tail = input(owner, "Choose your character's tail:", "Tail Alteration") as null|anything in GLOB.mam_tails_list
|
||||
if(new_tail)
|
||||
H.dna.features["mam_tail"] = new_tail
|
||||
if(new_tail != "None")
|
||||
H.dna.features["taur"] = "None"
|
||||
H.update_body()
|
||||
else if (select_alteration == "Taur body")
|
||||
var/new_taur
|
||||
new_taur = input(owner, "Choose your character's tauric body:", "Taur Body Alteration") as null|anything in GLOB.taur_list
|
||||
if(new_taur)
|
||||
H.dna.features["taur"] = new_taur
|
||||
if(new_taur != "None")
|
||||
H.dna.features["mam_tail"] = "None"
|
||||
H.dna.features["xenotail"] = "None"
|
||||
H.update_body()
|
||||
else
|
||||
return
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 182 B |
Binary file not shown.
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 20 KiB |
@@ -2732,7 +2732,6 @@
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.dm"
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\human\human.dm"
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"
|
||||
#include "modular_citadel\code\modules\mob\living\carbon\human\life.dm"
|
||||
|
||||
Reference in New Issue
Block a user