driderman, driderman, does whatever a spider can

This commit is contained in:
Jerry Wester
2022-10-06 23:38:16 -06:00
parent 3f04b95ba9
commit 1015987d12
5 changed files with 30 additions and 6 deletions

View File

@@ -103,11 +103,12 @@
#define STYLE_SNEK_TAURIC (1<<2) //taur-friendly suits #define STYLE_SNEK_TAURIC (1<<2) //taur-friendly suits
#define STYLE_PAW_TAURIC (1<<3) #define STYLE_PAW_TAURIC (1<<3)
#define STYLE_HOOF_TAURIC (1<<4) #define STYLE_HOOF_TAURIC (1<<4)
#define STYLE_ALL_TAURIC (STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC|STYLE_HOOF_TAURIC) #define STYLE_ALL_TAURIC (STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC|STYLE_HOOF_TAURIC|STYLE_ARACHNID_TAURIC)
#define STYLE_NO_ANTHRO_ICON (1<<5) //When digis fit the default sprite fine and need no copypasted states. This is the case of skirts and winter coats, for example. #define STYLE_NO_ANTHRO_ICON (1<<5) //When digis fit the default sprite fine and need no copypasted states. This is the case of skirts and winter coats, for example.
#define USE_SNEK_CLIP_MASK (1<<6) #define USE_SNEK_CLIP_MASK (1<<6)
#define USE_QUADRUPED_CLIP_MASK (1<<7) #define USE_QUADRUPED_CLIP_MASK (1<<7)
#define USE_TAUR_CLIP_MASK (USE_SNEK_CLIP_MASK|USE_QUADRUPED_CLIP_MASK) #define USE_TAUR_CLIP_MASK (USE_SNEK_CLIP_MASK|USE_QUADRUPED_CLIP_MASK)
#define STYLE_ARACHNID_TAURIC (1<<8)
//digitigrade legs settings. //digitigrade legs settings.
#define NOT_DIGITIGRADE 0 #define NOT_DIGITIGRADE 0

View File

@@ -97,6 +97,7 @@
icon_state = "drider" icon_state = "drider"
color_src = MUTCOLORS color_src = MUTCOLORS
extra = TRUE extra = TRUE
taur_mode = STYLE_ARACHNID_TAURIC
/datum/sprite_accessory/taur/eevee /datum/sprite_accessory/taur/eevee
name = "Eevee" name = "Eevee"

View File

@@ -116,7 +116,7 @@
if(new_snout) if(new_snout)
H.dna.features["mam_snouts"] = new_snout H.dna.features["mam_snouts"] = new_snout
H.update_body() H.update_body()
else if (select_alteration == "Wings") else if (select_alteration == "Wings")
var/new_color = input(owner, "Choose your wing color:", "Race change","#"+H.dna.features["wings_color"]) as color|null var/new_color = input(owner, "Choose your wing color:", "Race change","#"+H.dna.features["wings_color"]) as color|null
if(new_color) if(new_color)
@@ -167,6 +167,10 @@
H.dna.features["mam_tail"] = new_tail H.dna.features["mam_tail"] = new_tail
if(new_tail != "None") if(new_tail != "None")
H.dna.features["taur"] = "None" H.dna.features["taur"] = "None"
var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
SC?.Remove(H)
SW?.Remove(H)
H.update_body() H.update_body()
else if (select_alteration == "Taur body") else if (select_alteration == "Taur body")
@@ -182,7 +186,16 @@
var/new_taur var/new_taur
new_taur = input(owner, "Choose your character's tauric body:", "Tauric Alteration") as null|anything in snowflake_taur_list new_taur = input(owner, "Choose your character's tauric body:", "Tauric Alteration") as null|anything in snowflake_taur_list
if(new_taur) if(new_taur)
var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
SC?.Remove(H)
SW?.Remove(H)
H.dna.features["taur"] = new_taur H.dna.features["taur"] = new_taur
if(new_taur == "Drider")
SW = new
SC = new
SC.Grant(H)
SW.Grant(H)
if(new_taur != "None") if(new_taur != "None")
H.dna.features["mam_tail"] = "None" H.dna.features["mam_tail"] = "None"
H.update_body() H.update_body()

View File

@@ -527,6 +527,12 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
H.physiology.footstep_type = FOOTSTEP_MOB_CLAW H.physiology.footstep_type = FOOTSTEP_MOB_CLAW
if(STYLE_SNEK_TAURIC) if(STYLE_SNEK_TAURIC)
H.physiology.footstep_type = FOOTSTEP_MOB_CRAWL H.physiology.footstep_type = FOOTSTEP_MOB_CRAWL
if(STYLE_ARACHNID_TAURIC)
if(!istype(H.dna.species,/datum/species/arachnid))
var/datum/action/innate/spin_web/SW = new
var/datum/action/innate/spin_cocoon/SC = new
SC.Grant(H)
SW.Grant(H)
else else
H.physiology.footstep_type = null H.physiology.footstep_type = null
else else
@@ -602,6 +608,13 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if((TRAIT_ROBOTIC_ORGANISM in inherent_traits) && C.hud_used) if((TRAIT_ROBOTIC_ORGANISM in inherent_traits) && C.hud_used)
C.hud_used.coolant_display.clear() C.hud_used.coolant_display.clear()
if(ishuman(C))
var/mob/living/carbon/human/H = C
var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
SC?.Remove(H)
SW?.Remove(H)
SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src) SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src)
// shamelessly inspired by antag_datum.remove_blacklisted_quirks() // shamelessly inspired by antag_datum.remove_blacklisted_quirks()

View File

@@ -54,10 +54,6 @@
/datum/species/arachnid/on_species_loss(mob/living/carbon/human/H) /datum/species/arachnid/on_species_loss(mob/living/carbon/human/H)
. = ..() . = ..()
var/datum/action/innate/spin_web/SW = locate(/datum/action/innate/spin_web) in H.actions
var/datum/action/innate/spin_cocoon/SC = locate(/datum/action/innate/spin_cocoon) in H.actions
SC?.Remove(H)
SW?.Remove(H)
/datum/action/innate/spin_web /datum/action/innate/spin_web
name = "Spin Web" name = "Spin Web"