@@ -295,6 +295,7 @@
|
||||
|
||||
var/datum/species/S = H.dna.species
|
||||
species_id = S.limbs_id
|
||||
should_draw_citadel = S.should_draw_citadel // Citadel Addition
|
||||
species_flags_list = H.dna.species.species_traits
|
||||
|
||||
if(S.use_skintones)
|
||||
@@ -396,7 +397,7 @@
|
||||
limb.icon_state = "[species_id]_[body_zone]"
|
||||
|
||||
// Citadel Start
|
||||
if(should_draw_citadel)
|
||||
if(should_draw_citadel && !use_digitigrade)
|
||||
limb.icon = 'modular_citadel/icons/mob/mutant_bodyparts.dmi'
|
||||
if(should_draw_gender)
|
||||
limb.icon_state = "[species_id]_[body_zone]_[icon_gender]"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
/datum/species
|
||||
var/should_draw_citadel = FALSE
|
||||
|
||||
/datum/species/proc/alt_spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style)
|
||||
if(!istype(M))
|
||||
return TRUE
|
||||
@@ -78,17 +81,8 @@
|
||||
////////////////////
|
||||
|
||||
|
||||
/obj/item/bodypart/var/should_draw_citadel = FALSE
|
||||
|
||||
/mob/living/carbon/proc/draw_citadel_parts(undo = FALSE)
|
||||
if(!undo)
|
||||
for(var/O in bodyparts)
|
||||
var/obj/item/bodypart/B = O
|
||||
B.should_draw_citadel = TRUE
|
||||
else
|
||||
for(var/O in bodyparts)
|
||||
var/obj/item/bodypart/B = O
|
||||
B.should_draw_citadel = FALSE
|
||||
/obj/item/bodypart
|
||||
var/should_draw_citadel = FALSE
|
||||
|
||||
/datum/species/proc/citadel_mutant_bodyparts(bodypart, mob/living/carbon/human/H)
|
||||
switch(bodypart)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
name = "Mammal"
|
||||
id = "mammal"
|
||||
default_color = "4B4B4B"
|
||||
should_draw_citadel = TRUE
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
|
||||
mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "snout", "taur", "legs")
|
||||
@@ -45,20 +46,13 @@
|
||||
/datum/species/mammal/qualifies_for_rank(rank, list/features)
|
||||
return TRUE
|
||||
|
||||
/datum/species/mammal/on_species_gain(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts()
|
||||
. = ..()
|
||||
|
||||
/datum/species/mammal/on_species_loss(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
. = ..()
|
||||
|
||||
//AVIAN//
|
||||
/datum/species/avian
|
||||
name = "Avian"
|
||||
id = "avian"
|
||||
say_mod = "chirps"
|
||||
default_color = "BCAC9B"
|
||||
should_draw_citadel = TRUE
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
|
||||
mutant_bodyparts = list("snout", "wings", "taur", "mam_tail", "mam_body_markings", "taur")
|
||||
@@ -99,19 +93,12 @@
|
||||
/datum/species/avian/qualifies_for_rank(rank, list/features)
|
||||
return TRUE
|
||||
|
||||
/datum/species/avian/on_species_gain(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts()
|
||||
. = ..()
|
||||
|
||||
/datum/species/avian/on_species_loss(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
. = ..()
|
||||
|
||||
//AQUATIC//
|
||||
/datum/species/aquatic
|
||||
name = "Aquatic"
|
||||
id = "aquatic"
|
||||
default_color = "BCAC9B"
|
||||
should_draw_citadel = TRUE
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
|
||||
mutant_bodyparts = list("mam_tail", "mam_body_markings", "mam_ears", "taur", "legs")
|
||||
@@ -153,19 +140,12 @@
|
||||
/datum/species/aquatic/qualifies_for_rank(rank, list/features)
|
||||
return TRUE
|
||||
|
||||
/datum/species/aquatic/on_species_gain(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts()
|
||||
. = ..()
|
||||
|
||||
/datum/species/aquatic/on_species_loss(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
. = ..()
|
||||
|
||||
//INSECT//
|
||||
/datum/species/insect
|
||||
name = "Insect"
|
||||
id = "insect"
|
||||
default_color = "BCAC9B"
|
||||
should_draw_citadel = TRUE
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_BUG)
|
||||
mutant_bodyparts = list("mam_body_markings", "mam_ears", "mam_tail", "taur", "moth_wings")
|
||||
@@ -206,14 +186,6 @@
|
||||
/datum/species/insect/qualifies_for_rank(rank, list/features)
|
||||
return TRUE
|
||||
|
||||
/datum/species/insect/on_species_gain(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts()
|
||||
. = ..()
|
||||
|
||||
/datum/species/insect/on_species_loss(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
. = ..()
|
||||
|
||||
//Alien//
|
||||
/datum/species/xeno
|
||||
// A cloning mistake, crossing human and xenomorph DNA
|
||||
@@ -221,6 +193,7 @@
|
||||
id = "xeno"
|
||||
say_mod = "hisses"
|
||||
default_color = "00FF00"
|
||||
should_draw_citadel = TRUE
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID)
|
||||
mutant_bodyparts = list("xenotail", "xenohead", "xenodorsal", "taur", "mam_body_markings")
|
||||
@@ -235,7 +208,6 @@
|
||||
liked_food = MEAT
|
||||
|
||||
/datum/species/xeno/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
|
||||
C.draw_citadel_parts()
|
||||
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
|
||||
species_traits += DIGITIGRADE
|
||||
if(DIGITIGRADE in species_traits)
|
||||
@@ -243,7 +215,6 @@
|
||||
. = ..()
|
||||
|
||||
/datum/species/xeno/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
|
||||
species_traits -= DIGITIGRADE
|
||||
if(DIGITIGRADE in species_traits)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
id = "ipc"
|
||||
say_mod = "beeps"
|
||||
default_color = "00FF00"
|
||||
should_draw_citadel = TRUE
|
||||
blacklisted = 0
|
||||
sexes = 0
|
||||
species_traits = list(MUTCOLORS,NOEYES,NOTRANSSTING)
|
||||
@@ -16,14 +17,12 @@
|
||||
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)
|
||||
..()
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
/datum/species/jelly/roundstartslime
|
||||
name = "Slimeperson"
|
||||
id = "slimeperson"
|
||||
limbs_id = "slime"
|
||||
default_color = "00FFFF"
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
|
||||
inherent_traits = list(TRAIT_TOXINLOVER)
|
||||
@@ -19,14 +20,6 @@
|
||||
heatmod = 1
|
||||
burnmod = 1
|
||||
|
||||
/datum/species/jelly/roundstartslime/on_species_gain(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts()
|
||||
. = ..()
|
||||
|
||||
/datum/species/jelly/roundstartslime/on_species_loss(mob/living/carbon/human/C)
|
||||
C.draw_citadel_parts(TRUE)
|
||||
. = ..()
|
||||
|
||||
/datum/action/innate/slime_change
|
||||
name = "Alter Form"
|
||||
check_flags = AB_CHECK_CONSCIOUS
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 8.3 KiB |
Reference in New Issue
Block a user