u h g. I hate this
This commit is contained in:
@@ -739,9 +739,9 @@
|
||||
for(var/obj/effect/decal/cleanable/trail_holder/TH in view(T, 2))
|
||||
qdel(TH)
|
||||
var/obj/item/clothing/shoes/shoecheck = user.shoes
|
||||
if(shoecheck && shoecheck.bloody_shoes["blood"])
|
||||
temp += shoecheck.bloody_shoes["blood"]/20
|
||||
shoecheck.bloody_shoes["blood"] = 0
|
||||
if(shoecheck && shoecheck.blood_smear["blood"])
|
||||
temp += shoecheck.blood_smear["blood"]/20
|
||||
shoecheck.blood_smear["blood"] = 0
|
||||
if(temp)
|
||||
user.Beam(T,icon_state="drainbeam",time=15)
|
||||
new /obj/effect/temp_visual/cult/sparks(get_turf(user))
|
||||
|
||||
@@ -41,6 +41,10 @@
|
||||
var/dynamic_hair_suffix = ""//head > mask for head hair
|
||||
var/dynamic_fhair_suffix = ""//mask > head for facial hair
|
||||
|
||||
var/blood_color = BLOOD_COLOR_HUMAN
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/blood_smear = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
|
||||
/obj/item/clothing/Initialize()
|
||||
. = ..()
|
||||
if(ispath(pocket_storage_component_path))
|
||||
|
||||
@@ -10,12 +10,8 @@
|
||||
|
||||
permeability_coefficient = 0.5
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/bloody_shoes = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
var/offset = 0
|
||||
var/equipped_before_drop = FALSE
|
||||
var/last_bloodtype = ""//used to track the last bloodtype to have graced these shoes; makes for better performing footprint shenanigans
|
||||
var/last_blood_DNA = ""//same as last one
|
||||
|
||||
//CITADEL EDIT Enables digitigrade shoe styles
|
||||
var/adjusted = NORMAL_STYLE
|
||||
@@ -51,15 +47,15 @@
|
||||
IF_HAS_BLOOD_DNA(src)
|
||||
bloody = TRUE
|
||||
else
|
||||
bloody = bloody_shoes[BLOOD_STATE_BLOOD]
|
||||
bloody = blood_smear[BLOOD_STATE_BLOOD]
|
||||
|
||||
if(damaged_clothes)
|
||||
. += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe")
|
||||
if(bloody)
|
||||
if(adjusted == NORMAL_STYLE)
|
||||
. += mutable_appearance('icons/effects/blood.dmi', "shoeblood", color = bloodtype_to_color(last_bloodtype))
|
||||
. += mutable_appearance('icons/effects/blood.dmi', "shoeblood", color = blood_DNA_to_color(blood_mix_types))
|
||||
else
|
||||
. += mutable_appearance('modular_citadel/icons/mob/digishoes.dmi', "shoeblood", color = bloodtype_to_color(last_bloodtype))
|
||||
. += mutable_appearance('modular_citadel/icons/mob/digishoes.dmi', "shoeblood", color = blood_DNA_to_color(blood_mix_types))
|
||||
|
||||
/obj/item/clothing/shoes/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
@@ -98,7 +94,7 @@
|
||||
/obj/item/clothing/shoes/proc/clean_blood(datum/source, strength)
|
||||
if(strength < CLEAN_STRENGTH_BLOOD)
|
||||
return
|
||||
bloody_shoes = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
blood_smear = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
if(ismob(loc))
|
||||
var/mob/M = loc
|
||||
|
||||
@@ -43,9 +43,9 @@
|
||||
var/bleed_rate = 0 //how much are we bleeding
|
||||
var/bleedsuppress = 0 //for stopping bloodloss, eventually this will be limb-based like bleeding
|
||||
|
||||
var/bloodiness = 0
|
||||
var/blood_state = BLOOD_STATE_NOT_BLOODY
|
||||
var/list/blood_smear = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0)
|
||||
var/last_bloodtype = ""//used to track the last bloodtype to have graced this smelly person. for smears on the floor
|
||||
var/last_blood_DNA = ""//same as last one
|
||||
|
||||
var/name_override //For temporary visible name changes
|
||||
|
||||
@@ -55,18 +55,17 @@
|
||||
|
||||
//Bloody footprints
|
||||
var/turf/T = get_turf(src)
|
||||
if(S.bloody_shoes && S.bloody_shoes[S.blood_state])
|
||||
if(S.blood_smear && S.blood_smear[S.blood_state])
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/oldFP = locate(/obj/effect/decal/cleanable/blood/footprints/tracks) in T
|
||||
if(oldFP && (oldFP.blood_state == S.blood_state && oldFP.color == bloodtype_to_color(S.last_bloodtype)))
|
||||
if(oldFP && (oldFP.blood_state == S.blood_state && oldFP.color == color))
|
||||
return
|
||||
S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state]-BLOOD_LOSS_PER_STEP)
|
||||
S.blood_smear[S.blood_state] = max(0, S.blood_smear[S.blood_state]-BLOOD_LOSS_PER_STEP)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/footprints/FP = new /obj/effect/decal/cleanable/blood/footprints/tracks/footprints(T)
|
||||
FP.icon_state = FOOTPRINT_SHOE
|
||||
FP.print_state = FOOTPRINT_SHOE
|
||||
FP.blood_state = S.blood_state
|
||||
FP.entered_dirs |= dir
|
||||
FP.bloodiness = S.bloody_shoes[S.blood_state]
|
||||
FP.bloodmeme = S.bloodmeme
|
||||
FP.bloodiness = S.blood_smear[S.blood_state]
|
||||
FP.update_icon()
|
||||
update_inv_shoes()
|
||||
//End bloody footprints
|
||||
@@ -82,7 +81,7 @@
|
||||
var/turf/T = get_turf(src)
|
||||
if(bloodiness)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/oldFP = locate(/obj/effect/decal/cleanable/blood/footprints/tracks) in T
|
||||
if (oldFP.color == color)
|
||||
if(oldFP && (oldFP.blood_state == blood_state && oldFP.color == color))
|
||||
return
|
||||
else
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/FP = new /obj/effect/decal/cleanable/blood/footprints/tracks(T)
|
||||
@@ -107,18 +106,17 @@
|
||||
FP.icon_state = FOOTPRINT_SHOE
|
||||
FP.print_state = FOOTPRINT_SHOE
|
||||
FP.add_blood_DNA(return_blood_DNA())
|
||||
FP.bloodmeme = bloodmeme
|
||||
FP.update_icon()
|
||||
var/newdir = get_dir(T, loc)
|
||||
if(newdir == dir)
|
||||
B.setDir(newdir)
|
||||
FP.setDir(newdir)
|
||||
else
|
||||
newdir = newdir | dir
|
||||
if(newdir == 3)
|
||||
newdir = 1
|
||||
else if(newdir == 12)
|
||||
newdir = 4
|
||||
B.setDir(newdir)
|
||||
FP.setDir(newdir)
|
||||
bloodiness--
|
||||
|
||||
else //we're on the floor, smear some stuff around
|
||||
@@ -128,26 +126,24 @@
|
||||
var/turf/T = get_turf(src)
|
||||
if(bloodiness)
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/oldFP = locate(/obj/effect/decal/cleanable/blood/footprints/tracks) in T
|
||||
if (oldFP.color == color)
|
||||
if(oldFP && (oldFP.blood_state == blood_state && oldFP.color == color))
|
||||
return
|
||||
else
|
||||
var/obj/effect/decal/cleanable/blood/footprints/tracks/FP = new /obj/effect/decal/cleanable/blood/footprints/tracks/body(T)
|
||||
FP.icon_state = FOOTPRINT_DRAG
|
||||
FP.print_state = FOOTPRINT_DRAG
|
||||
FP.add_blood_DNA(return_blood_DNA())
|
||||
FP.bloodtrack = bloodtrack
|
||||
FP.bloodmeme = bloodmeme
|
||||
FP.update_icon()
|
||||
var/newdir = get_dir(T, loc)
|
||||
if(newdir == dir)
|
||||
B.setDir(newdir)
|
||||
FP.setDir(newdir)
|
||||
else
|
||||
newdir = newdir | dir
|
||||
if(newdir == 3)
|
||||
newdir = 1
|
||||
else if(newdir == 12)
|
||||
newdir = 4
|
||||
B.setDir(newdir)
|
||||
FP.setDir(newdir)
|
||||
bloodiness--
|
||||
|
||||
/mob/living/carbon/human/Process_Spacemove(movement_dir = 0) //Temporary laziness thing. Will change to handles by species reee.
|
||||
|
||||
@@ -106,10 +106,8 @@
|
||||
// Get blood data from the blood reagent.
|
||||
if(istype(R, /datum/reagent/blood))
|
||||
if(R.data["blood_type"])
|
||||
B.bloodmeme = R.data["blood_type"]
|
||||
if(istype(R, /datum/reagent/liquidgibs))
|
||||
if(R.data["blood_type"])
|
||||
B.bloodmeme = R.data["blood_type"]
|
||||
B.blood_list_checks(src, R.data["blood_type"])
|
||||
B.color = B.blood_DNA_to_color(blood_mix_types)
|
||||
|
||||
/datum/reagent/blood/synthetics
|
||||
data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_SYNTHETIC, "blood_type"="SY","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null)
|
||||
|
||||
Reference in New Issue
Block a user