just need to fine tweak gibs and we're gucci
This commit is contained in:
@@ -22,8 +22,6 @@
|
||||
var/adjusted = NORMAL_STYLE
|
||||
mutantrace_variation = MUTANTRACE_VARIATION
|
||||
|
||||
var/move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/shoe
|
||||
|
||||
/obj/item/clothing/shoes/suicide_act(mob/living/carbon/user)
|
||||
if(rand(2)>1)
|
||||
user.visible_message("<span class='suicide'>[user] begins tying \the [src] up waaay too tightly! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
|
||||
@@ -52,55 +52,26 @@
|
||||
if(!has_gravity(loc))
|
||||
return
|
||||
var/obj/item/clothing/shoes/S = shoes
|
||||
var/step_print = dna.species.get_move_trail(src)
|
||||
|
||||
//Bloody footprints
|
||||
var/turf/T = get_turf(src)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/oldFP = locate(step_print) in T
|
||||
if(S.bloody_shoes && S.bloody_shoes[S.blood_state])
|
||||
for(oldFP)
|
||||
if(oldFP && (oldFP.blood_state == S.blood_state && oldFP.color == bloodtype_to_color(last_bloodtype)))
|
||||
return
|
||||
//No oldFP or they're all a different kind of blood
|
||||
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state] - BLOOD_LOSS_PER_STEP)
|
||||
if (S.bloody_shoes[S.blood_state] > BLOOD_LOSS_IN_SPREAD)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/FP = new step_print(T)
|
||||
FP.blood_state = S.blood_state
|
||||
FP.entered_dirs |= dir
|
||||
FP.bloodiness = S.bloody_shoes[S.blood_state] - BLOOD_LOSS_IN_SPREAD
|
||||
if(S.last_blood_DNA && S.last_bloodtype)
|
||||
FP.blood_DNA += list(last_blood_DNA = last_bloodtype)
|
||||
//hacky as heck; we need to move the LAST entry to there, otherwise we mix all the blood
|
||||
FP.update_icon()
|
||||
var/obj/effect/decal/cleanable/blood/footprints/oldFP = locate(/obj/effect/decal/cleanable/blood/footprints) in T
|
||||
if(oldFP && (oldFP.blood_state == S.blood_state && oldFP.color == bloodtype_to_color(S.last_bloodtype)))
|
||||
return
|
||||
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state]-BLOOD_LOSS_PER_STEP)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints(T)
|
||||
FP.blood_state = S.blood_state
|
||||
FP.entered_dirs |= dir
|
||||
FP.bloodiness = S.bloody_shoes[S.blood_state]
|
||||
if(S.last_blood_DNA && S.last_bloodtype)
|
||||
FP.blood_DNA += list(S.last_blood_DNA = S.last_bloodtype)
|
||||
//hacky as heck; we need to move the LAST entry to there, otherwise we mix all the blood
|
||||
FP.update_icon()
|
||||
update_inv_shoes()
|
||||
//End bloody footprints
|
||||
S.step_action()
|
||||
|
||||
else if(!shoes)
|
||||
if(!buckled)
|
||||
if(loc == NewLoc)
|
||||
if(!has_gravity(loc))
|
||||
return
|
||||
var/step_print = dna.species.get_move_trail(src)
|
||||
var/mob/living/carbon/human/H = src
|
||||
//Bloody footprints without shoes
|
||||
var/turf/T = get_turf(src)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/oldFP = locate(step_print) in T
|
||||
if(H.blood_smear && H.blood_smear[H.blood_state])
|
||||
for(oldFP)
|
||||
if(oldFP && (oldFP.blood_state == H.blood_state && oldFP.color == bloodtype_to_color(last_bloodtype)))
|
||||
return
|
||||
//No oldFP or they're all a different kind of blood
|
||||
H.blood_smear[H.blood_state] = max(0, H.blood_smear[H.blood_state] - BLOOD_LOSS_PER_STEP)
|
||||
if (H.blood_smear[H.blood_state] > BLOOD_LOSS_IN_SPREAD)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/FP = new step_print(T)
|
||||
FP.blood_state = H.blood_state
|
||||
FP.entered_dirs |= dir
|
||||
FP.bloodiness = H.blood_smear[H.blood_state] - BLOOD_LOSS_IN_SPREAD
|
||||
if(H.last_blood_DNA && H.last_bloodtype)
|
||||
FP.blood_DNA += list(H.last_blood_DNA = H.last_bloodtype)
|
||||
//hacky as heck; we need to move the LAST entry to there, otherwise we mix all the blood
|
||||
FP.update_icon()
|
||||
H.update_inv_shoes()
|
||||
S.step_action()
|
||||
|
||||
/mob/living/carbon/human/Process_Spacemove(movement_dir = 0) //Temporary laziness thing. Will change to handles by species reee.
|
||||
if(dna.species.space_move(src))
|
||||
|
||||
@@ -77,7 +77,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
var/fixed_mut_color3 = ""
|
||||
var/whitelisted = 0 //Is this species restricted to certain players?
|
||||
var/whitelist = list() //List the ckeys that can use this species, if it's whitelisted.: list("John Doe", "poopface666", "SeeALiggerPullTheTrigger") Spaces & capitalization can be included or ignored entirely for each key as it checks for both.
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/shoe // What marks are left when walking
|
||||
|
||||
///////////
|
||||
// PROCS //
|
||||
@@ -641,12 +640,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
if(!H.dna.features["taur"] || H.dna.features["taur"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)))
|
||||
bodyparts_to_add -= "taur"
|
||||
|
||||
if(H.dna.features["taur"] != "None")
|
||||
if(H.dna.features["taur"] in GLOB.noodle_taurs)
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/snake
|
||||
else if(H.dna.features["taur"] in GLOB.paw_taurs)
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/paw
|
||||
|
||||
//END EDIT
|
||||
|
||||
//Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more agressive updating than most limbs.
|
||||
@@ -938,6 +931,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
return "TAUR"
|
||||
//END EDIT
|
||||
|
||||
/* TODO: Snowflake trail marks
|
||||
// Impliments different trails for species depending on if they're wearing shoes.
|
||||
/datum/species/proc/get_move_trail(var/mob/living/carbon/human/H)
|
||||
if(H.lying)
|
||||
@@ -946,7 +940,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
var/obj/item/clothing/shoes/shoes = (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)) ? H.wear_suit : H.shoes // suits take priority over shoes
|
||||
return shoes.move_trail
|
||||
else
|
||||
return move_trail
|
||||
return move_trail */
|
||||
|
||||
/datum/species/proc/spec_life(mob/living/carbon/human/H)
|
||||
if(H.has_trait(TRAIT_NOBREATH))
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
blacklisted = 1
|
||||
limbs_id = "human"
|
||||
skinned_type = /obj/item/stack/sheet/animalhide/human
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
var/datum/action/innate/flight/fly
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
skinned_type = /obj/item/stack/sheet/animalhide/human
|
||||
disliked_food = GROSS | RAW
|
||||
liked_food = JUNKFOOD | FRIED
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
/datum/species/human/qualifies_for_rank(rank, list/features)
|
||||
return TRUE //Pure humans are always allowed in all roles.
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
coldmod = 6 // = 3x cold damage
|
||||
heatmod = 0.5 // = 1/4x heat damage
|
||||
burnmod = 0.5 // = 1/2x generic burn damage
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
/datum/species/jelly/on_species_loss(mob/living/carbon/C)
|
||||
if(regenerate_limbs)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "Lizardperson"
|
||||
id = "lizard"
|
||||
say_mod = "hisses"
|
||||
default_color = "00FF00"
|
||||
default_color = "117720"
|
||||
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,LIPS)
|
||||
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_REPTILE)
|
||||
mutant_bodyparts = list("tail_lizard", "snout", "spines", "horns", "frills", "body_markings", "legs", "taur")
|
||||
@@ -73,7 +73,6 @@
|
||||
/datum/species/lizard/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
|
||||
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
|
||||
species_traits += DIGITIGRADE
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
|
||||
if(DIGITIGRADE in species_traits)
|
||||
C.Digitigrade_Leg_Swap(FALSE)
|
||||
return ..()
|
||||
@@ -81,7 +80,6 @@
|
||||
/datum/species/lizard/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
|
||||
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
|
||||
species_traits -= DIGITIGRADE
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
if(DIGITIGRADE in species_traits)
|
||||
C.Digitigrade_Leg_Swap(TRUE)
|
||||
|
||||
@@ -97,9 +95,8 @@
|
||||
mutantlungs = /obj/item/organ/lungs/ashwalker
|
||||
burnmod = 0.9
|
||||
brutemod = 0.9
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
|
||||
|
||||
/datum/species/lizard/ashwalker/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
|
||||
if((C.dna.features["spines"] != "None" ) && (C.dna.features["tail"] == "None")) //tbh, it's kinda ugly for them not to have a tail yet have floating spines
|
||||
C.dna.features["tail"] = "Smooth"
|
||||
if((C.dna.features["spines"] != "None" ) && (C.dna.features["tail_lizard"] == "None")) //tbh, it's kinda ugly for them not to have a tail yet have floating spines
|
||||
C.dna.features["tail_lizard"] = "Smooth"
|
||||
return ..()
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
disliked_food = FRUIT | GROSS
|
||||
toxic_food = MEAT | RAW
|
||||
mutanteyes = /obj/item/organ/eyes/moth
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw
|
||||
|
||||
/datum/species/moth/on_species_gain(mob/living/carbon/C)
|
||||
. = ..()
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
var/internal_fire = FALSE //If the bones themselves are burning clothes won't help you much
|
||||
disliked_food = FRUIT
|
||||
liked_food = VEGETABLES
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
/datum/species/plasmaman/spec_life(mob/living/carbon/human/H)
|
||||
var/datum/gas_mixture/environment = H.loc.return_air()
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
var/light_oxyheal = 1
|
||||
var/light_burnheal = 1
|
||||
var/light_bruteheal = 1
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
/datum/species/pod/on_species_gain(mob/living/carbon/C, datum/species/old_species)
|
||||
. = ..()
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
damage_overlay_type = ""//let's not show bloody wounds or burns over bones.
|
||||
disliked_food = NONE
|
||||
liked_food = GROSS | MEAT | RAW
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
/datum/species/skeleton/check_roundstart_eligible()
|
||||
if(SSevents.holidays && SSevents.holidays[HALLOWEEN])
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg')
|
||||
disliked_food = NONE
|
||||
liked_food = GROSS | MEAT | RAW
|
||||
move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot
|
||||
|
||||
/datum/species/zombie/check_roundstart_eligible()
|
||||
if(SSevents.holidays && SSevents.holidays[HALLOWEEN])
|
||||
|
||||
@@ -97,8 +97,12 @@
|
||||
|
||||
/mob/living/carbon/update_damage_overlays()
|
||||
remove_overlay(DAMAGE_LAYER)
|
||||
var/dam_colors = "#E62525"
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
dam_colors = bloodtype_to_color(H.dna.blood_type)
|
||||
|
||||
var/mutable_appearance/damage_overlay = mutable_appearance('icons/mob/dam_mob.dmi', "blank", -DAMAGE_LAYER)
|
||||
var/mutable_appearance/damage_overlay = mutable_appearance('icons/mob/dam_mob.dmi', "blank", -DAMAGE_LAYER, color = dam_colors)
|
||||
overlays_standing[DAMAGE_LAYER] = damage_overlay
|
||||
|
||||
for(var/X in bodyparts)
|
||||
|
||||
@@ -473,7 +473,7 @@
|
||||
return
|
||||
if(isturf(next))
|
||||
if(bloodiness)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/wheels/B = new(loc)
|
||||
var/obj/effect/decal/cleanable/blood/tracks/B = new(loc)
|
||||
if(blood_DNA && blood_DNA.len)
|
||||
B.blood_DNA |= blood_DNA.Copy()
|
||||
var/newdir = get_dir(next, loc)
|
||||
|
||||
Reference in New Issue
Block a user