From 11d10d38052d7cd2077a5b698f4c555b01780354 Mon Sep 17 00:00:00 2001 From: Poojawa Date: Wed, 5 Jun 2019 04:55:36 -0500 Subject: [PATCH] fuckit, I'm just gunna wholesale port from baycode I guess --- code/__HELPERS/type2type.dm | 14 + code/game/objects/effects/decals/cleanable.dm | 46 +--- .../effects/decals/cleanable/aliens.dm | 21 +- .../objects/effects/decals/cleanable/gibs.dm | 252 +----------------- .../effects/decals/cleanable/robots.dm | 71 ++--- code/game/objects/items.dm | 1 + code/game/turfs/turf.dm | 6 +- code/modules/clothing/shoes/_shoes.dm | 3 +- .../mob/living/carbon/human/species.dm | 8 +- .../carbon/human/species_types/angel.dm | 2 +- .../carbon/human/species_types/humans.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 2 +- .../human/species_types/lizardpeople.dm | 6 +- .../carbon/human/species_types/mothmen.dm | 2 +- .../carbon/human/species_types/plasmamen.dm | 2 +- .../carbon/human/species_types/podpeople.dm | 2 +- .../carbon/human/species_types/skeletons.dm | 2 +- .../carbon/human/species_types/zombies.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 2 +- .../mob/living/simple_animal/bot/cleanbot.dm | 1 - .../carbon/human/species_types/furrypeople.dm | 16 +- 21 files changed, 102 insertions(+), 361 deletions(-) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index d6942f1c40..03056f625f 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -75,6 +75,20 @@ return splittext(trim(file2text(filename)),seperator) return splittext(file2text(filename),seperator) +// Turns a direction into text +/proc/num2dir(direction) + switch (direction) + if (1.0) return NORTH + if (2.0) return SOUTH + if (4.0) return EAST + if (5.0) return NORTHEAST + if (6.0) return SOUTHEAST + if (8.0) return WEST + if (9.0) return NORTHWEST + if (10.0) return SOUTHWEST + else + world.log << "UNKNOWN DIRECTION: [direction]" + //Turns a direction into text /proc/dir2text(direction) switch(direction) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index babc012719..4c93c3a2db 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -66,46 +66,8 @@ reagents.expose_temperature(exposed_temperature) ..() - -//Add "bloodiness" of this blood's type, to the human's shoes -//This is on /cleanable because fuck this ancient mess -/obj/effect/decal/cleanable/Crossed(atom/movable/O) +/obj/effect/decal/cleanable/clean_blood(var/ignore = FALSE) + if(!ignore) + qdel(src) + return ..() - if(ishuman(O)) - var/mob/living/carbon/human/H = O - if(H.shoes && blood_state && bloodiness && (!H.has_trait(TRAIT_LIGHT_STEP) || !H.mind.assigned_role == "Detective")) - var/obj/item/clothing/shoes/S = H.shoes - var/add_blood = 0 - if(bloodiness >= BLOOD_GAIN_PER_STEP) - add_blood = BLOOD_GAIN_PER_STEP - else - add_blood = bloodiness - bloodiness -= add_blood - to_chat(world, "S.blood_state is [S.blood_state], & blood smear state is [S.blood_smear[S.blood_state]]") - S.blood_smear[blood_state] = min(MAX_SHOE_BLOODINESS,S.blood_smear[blood_state]+add_blood) - if(blood_DNA && blood_DNA.len) - S.add_blood(blood_DNA) - S.blood_smear = blood_state - update_icon() - H.update_inv_shoes() - - else if(!H.shoes && blood_state && bloodiness && (!H.has_trait(TRAIT_LIGHT_STEP) || !H.mind.assigned_role == "Detective")) - var/add_blood = 0 - if(bloodiness >= BLOOD_GAIN_PER_STEP) - add_blood = BLOOD_GAIN_PER_STEP - else - add_blood = bloodiness - bloodiness -= add_blood - to_chat(world, "blood_state is [blood_state], & blood smear state is [H.blood_smear[blood_state]]") - H.blood_smear[blood_state] = min(MAX_SHOE_BLOODINESS,H.blood_smear[blood_state]+add_blood) - if(blood_DNA && blood_DNA.len) - H.add_blood(blood_DNA) - H.blood_smear = blood_state - update_icon() - H.update_inv_shoes() - -/obj/effect/decal/cleanable/proc/can_bloodcrawl_in() - if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) - return bloodiness - else - return FALSE diff --git a/code/game/objects/effects/decals/cleanable/aliens.dm b/code/game/objects/effects/decals/cleanable/aliens.dm index 900f392796..0902eed25b 100644 --- a/code/game/objects/effects/decals/cleanable/aliens.dm +++ b/code/game/objects/effects/decals/cleanable/aliens.dm @@ -3,24 +3,24 @@ /obj/effect/decal/cleanable/blood/xeno name = "xeno blood" desc = "It's green and acidic. It looks like... blood?" - color = BLOOD_COLOR_XENO + basecolor = BLOOD_COLOR_XENO blood_DNA = list("UNKNOWN DNA" = "X*") /obj/effect/decal/cleanable/blood/splatter/xeno - color = BLOOD_COLOR_XENO + basecolor = BLOOD_COLOR_XENO /obj/effect/decal/cleanable/blood/gibs/xeno name = "xeno gibs" desc = "Gnarly..." icon_state = "xgib1" random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6") - color = BLOOD_COLOR_XENO + basecolor = BLOOD_COLOR_XENO /obj/effect/decal/cleanable/blood/gibs/xeno/Initialize(mapload, list/datum/disease/diseases) . = ..() reagents.add_reagent("liquidxenogibs", 5) -/obj/effect/decal/cleanable/blood/gibs/xeno/streak(list/directions) +/obj/effect/decal/cleanable/blood/xeno/streak(list/directions) set waitfor = 0 var/direction = pick(directions) for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++) @@ -35,22 +35,22 @@ if(!step_to(src, get_step(src, direction), 0)) break -/obj/effect/decal/cleanable/blood/gibs/xeno/up/xeno +/obj/effect/decal/cleanable/blood/gibs/xeno/up random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibup1","xgibup1","xgibup1") -/obj/effect/decal/cleanable/blood/gibs/xeno/down/xeno +/obj/effect/decal/cleanable/blood/gibs/xeno/down random_icon_states = list("xgib1", "xgib2", "xgib3", "xgib4", "xgib5", "xgib6","xgibdown1","xgibdown1","xgibdown1") -/obj/effect/decal/cleanable/blood/gibs/xeno/body/xeno +/obj/effect/decal/cleanable/blood/gibs/xeno/body random_icon_states = list("xgibhead", "xgibtorso") -/obj/effect/decal/cleanable/blood/gibs/xeno/torso/xeno +/obj/effect/decal/cleanable/blood/gibs/xeno/torso random_icon_states = list("xgibtorso") -/obj/effect/decal/cleanable/blood/gibs/xeno/limb/xeno +/obj/effect/decal/cleanable/blood/gibs/xeno/limb random_icon_states = list("xgibleg", "xgibarm") -/obj/effect/decal/cleanable/blood/gibs/xeno/core/xeno +/obj/effect/decal/cleanable/blood/gibs/xeno/core random_icon_states = list("xgibmid1", "xgibmid2", "xgibmid3") /obj/effect/decal/cleanable/blood/gibs/xeno/larva @@ -62,6 +62,7 @@ /obj/effect/decal/cleanable/blood/xtracks icon_state = "tracks" random_icon_states = null + basecolor = BLOOD_COLOR_XENO /obj/effect/decal/cleanable/blood/xtracks/Initialize() add_blood(list("UNKNOWN DNA" = "X*")) diff --git a/code/game/objects/effects/decals/cleanable/gibs.dm b/code/game/objects/effects/decals/cleanable/gibs.dm index 48670957cd..7384b73eb1 100644 --- a/code/game/objects/effects/decals/cleanable/gibs.dm +++ b/code/game/objects/effects/decals/cleanable/gibs.dm @@ -1,247 +1,11 @@ -/obj/effect/decal/cleanable/blood/gibs - name = "gibs" - desc = "They look bloody and gruesome." - icon_state = "gibbl5" - layer = LOW_OBJ_LAYER - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6") - mergeable_decal = FALSE - var/gib_overlay = FALSE - var/slimy_gibs = FALSE - var/body_colors +#define BLOOD_SIZE_SMALL 1 +#define BLOOD_SIZE_MEDIUM 2 +#define BLOOD_SIZE_BIG 3 +#define BLOOD_SIZE_NO_MERGE -1 -/obj/effect/decal/cleanable/blood/gibs/proc/guts() - if(gib_overlay) - var/mutable_appearance/gibz = mutable_appearance(icon, icon_state + "-overlay", color = blood_color, layer = (LOW_OBJ_LAYER + 0.1)) - var/mutable_appearance/gibz2 = mutable_appearance(icon, icon_state + "c-overlay", color = body_colors, layer = (LOW_OBJ_LAYER + 0.1)) - if(!slimy_gibs) - gibz.appearance_flags = RESET_COLOR - add_overlay(gibz) - else - gibz.appearance_flags = RESET_COLOR - add_overlay(gibz) - add_overlay(gibz2) -/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target) - return -/obj/effect/decal/cleanable/blood/gibs/Crossed(mob/living/L) - if(istype(L) && has_gravity(loc)) - if(ishuman(L)) - var/mob/living/carbon/human/H = L - if(H.mind.assigned_role == "Detective") //Gumshoe perks yo - playsound(loc, 'sound/effects/gib_step.ogg', 10, 1) - else - playsound(loc, 'sound/effects/gib_step.ogg', H.has_trait(TRAIT_LIGHT_STEP) ? 20 : 50, 1) - else - playsound(loc, 'sound/effects/gib_step.ogg', L.has_trait(TRAIT_LIGHT_STEP) ? 20 : 50, 1) - . = ..() - -/obj/effect/decal/cleanable/blood/gibs/proc/streak(list/directions) - set waitfor = 0 - var/direction = pick(directions) - for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++) - sleep(2) - if(i > 0) - var/list/datum/disease/diseases - GET_COMPONENT(infective, /datum/component/infective) - if(infective) - diseases = infective.diseases - var/obj/effect/decal/cleanable/blood/splatter/splat = new /obj/effect/decal/cleanable/blood/splatter(loc, diseases) - splat.transfer_blood_dna(blood_DNA) - - if(!step_to(src, get_step(src, direction), 0)) - break - -/obj/effect/decal/cleanable/blood/gibs/up - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") - gib_overlay = TRUE - -/obj/effect/decal/cleanable/blood/gibs/down - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1") - gib_overlay = TRUE - -/obj/effect/decal/cleanable/blood/gibs/body - random_icon_states = list("gibhead", "gibtorso") - gib_overlay = TRUE - -/obj/effect/decal/cleanable/blood/gibs/torso - random_icon_states = list("gibtorso") - gib_overlay = TRUE - -/obj/effect/decal/cleanable/blood/gibs/limb - random_icon_states = list("gibleg", "gibarm") - gib_overlay = TRUE - -/obj/effect/decal/cleanable/blood/gibs/core - random_icon_states = list("gibmid1", "gibmid2", "gibmid3") - gib_overlay = TRUE - -/obj/effect/decal/cleanable/blood/gibs/old - name = "old rotting gibs" - desc = "Space Jesus, why didn't anyone clean this up? It smells terrible." - bloodiness = 0 - -/obj/effect/decal/cleanable/blood/gibs/old/Initialize(mapload, list/datum/disease/diseases) - . = ..() - setDir(pick(1,2,4,8)) - icon_state += "-old" - add_blood(list("Non-human DNA" = "A+")) - -/obj/effect/decal/cleanable/blood/drip - name = "drips of blood" - desc = "It's gooey." - icon_state = "1" - random_icon_states = list("drip1","drip2","drip3","drip4","drip5") - bloodiness = 0 - var/drips = 1 - -/obj/effect/decal/cleanable/blood/drip/can_bloodcrawl_in() - return TRUE - -/obj/effect/decal/cleanable/blood/gibs/human - -/obj/effect/decal/cleanable/blood/gibs/human/Initialize(mapload, list/datum/disease/diseases) - . = ..() - reagents.add_reagent("liquidgibs", 5) - guts() - update_icon() - -/obj/effect/decal/cleanable/blood/gibs/human/up - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/human/down - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/human/body - random_icon_states = list("gibhead", "gibtorso") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/human/torso - random_icon_states = list("gibtorso") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/human/limb - random_icon_states = list("gibleg", "gibarm") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/human/core - random_icon_states = list("gibmid1", "gibmid2", "gibmid3") - gib_overlay = TRUE - slimy_gibs = TRUE - -// Slime Gibs -/obj/effect/decal/cleanable/blood/gibs/slime - desc = "They look gooey and gruesome." - -/obj/effect/decal/cleanable/blood/gibs/slime/Initialize(mapload, list/datum/disease/diseases) - . = ..() - reagents.add_reagent("liquidslimegibs", 5) - update_icon() - guts() - -/obj/effect/decal/cleanable/blood/gibs/slime/up - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/slime/down - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/slime/body - random_icon_states = list("gibhead", "gibtorso") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/slime/torso - random_icon_states = list("gibtorso") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/slime/limb - random_icon_states = list("gibleg", "gibarm") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/slime/core - random_icon_states = list("gibmid1", "gibmid2", "gibmid3") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/synth - desc = "They look sludgy and disgusting." - -/obj/effect/decal/cleanable/blood/gibs/synth/Initialize(mapload, list/datum/disease/diseases) - . = ..() - reagents.add_reagent("liquidsyntheticgibs", 5) - update_icon() - guts() - -//IPCs -/obj/effect/decal/cleanable/blood/gibs/ipc - desc = "They look sharp yet oozing." - -/obj/effect/decal/cleanable/blood/gibs/ipc/Initialize(mapload, list/datum/disease/diseases) - . = ..() - reagents.add_reagent("liquidoilgibs", 5) - update_icon() - guts() - -/obj/effect/decal/cleanable/blood/gibs/ipc/guts() - if(gib_overlay) - var/mutable_appearance/gibz = mutable_appearance(icon, icon_state + "-ipcoverlay", color = blood_color, layer = -LOW_OBJ_LAYER) - var/mutable_appearance/gibz2 = mutable_appearance(icon, icon_state + "c-ipcoverlay", color = body_colors, layer = -LOW_OBJ_LAYER) - if(!slimy_gibs) - gibz.appearance_flags = RESET_COLOR - add_overlay(gibz) - else - gibz.appearance_flags = RESET_COLOR - add_overlay(gibz) - add_overlay(gibz2) - -/obj/effect/decal/cleanable/blood/gibs/ipc/up - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/ipc/down - random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibdown1","gibdown1","gibdown1") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/ipc/body - random_icon_states = list("gibhead", "gibtorso") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/ipc/torso - random_icon_states = list("gibtorso") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/ipc/limb - random_icon_states = list("gibleg", "gibarm") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/ipc/core - random_icon_states = list("gibmid1", "gibmid2", "gibmid3") - gib_overlay = TRUE - slimy_gibs = TRUE - -/obj/effect/decal/cleanable/blood/gibs/synth - desc = "They look sludgy and disgusting." - -/obj/effect/decal/cleanable/blood/gibs/synth/Initialize(mapload, list/datum/disease/diseases) - . = ..() - reagents.add_reagent("liquidsyntheticgibs", 5) - update_icon() - guts() +#undef BLOOD_SIZE_SMALL +#undef BLOOD_SIZE_MEDIUM +#undef BLOOD_SIZE_BIG +#undef BLOOD_SIZE_NO_MERGE diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm index 02bf51bdd9..6e92f8e876 100644 --- a/code/game/objects/effects/decals/cleanable/robots.dm +++ b/code/game/objects/effects/decals/cleanable/robots.dm @@ -1,65 +1,66 @@ // Note: BYOND is object oriented. There is no reason for this to be copy/pasted blood code. -/obj/effect/decal/cleanable/robot_debris +/obj/effect/decal/cleanable/blood/gibs/robot name = "robot debris" desc = "It's a useless heap of junk... or is it?" icon = 'icons/mob/robots.dmi' icon_state = "gib1" layer = LOW_OBJ_LAYER random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") - blood_state = BLOOD_STATE_OIL - bloodiness = BLOOD_AMOUNT_PER_DECAL - mergeable_decal = FALSE + basecolor = BLOOD_COLOR_OIL -/obj/effect/decal/cleanable/robot_debris/Initialize(mapload, list/datum/disease/diseases) +/obj/effect/decal/cleanable/blood/gibs/robot/Initialize(mapload, list/datum/disease/diseases) . = ..() reagents.add_reagent("liquidoilgibs", 5) -/obj/effect/decal/cleanable/robot_debris/proc/streak(list/directions) - set waitfor = 0 - var/direction = pick(directions) - for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50), i++) - sleep(2) - if (i > 0) - if (prob(40)) - new /obj/effect/decal/cleanable/oil/streak(src.loc) - else if (prob(10)) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() - if (!step_to(src, get_step(src, direction), 0)) - break - -/obj/effect/decal/cleanable/robot_debris/ex_act() +/obj/effect/decal/cleanable/blood/gibs/robot/dry() //pieces of robots do not dry up like blood return -/obj/effect/decal/cleanable/robot_debris/limb +/obj/effect/decal/cleanable/blood/gibs/robot/streak(var/list/directions) + spawn (0) + var/direction = pick(directions) + for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++) + sleep(3) + if (i > 0) + if (prob(40)) + var/obj/effect/decal/cleanable/blood/oil/streak = new(src.loc) + streak.update_icon() + else if (prob(10)) + var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread + s.set_up(3, 1, src) + s.start() + if (step_to(src, get_step(src, direction), 0)) + break + +/obj/effect/decal/cleanable/blood/gibs/robot/ex_act() + return + +/obj/effect/decal/cleanable/blood/gibs/robot/limb random_icon_states = list("gibarm", "gibleg") -/obj/effect/decal/cleanable/robot_debris/up +/obj/effect/decal/cleanable/blood/gibs/robot/up random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibup1","gibup1") -/obj/effect/decal/cleanable/robot_debris/down +/obj/effect/decal/cleanable/blood/gibs/robot/down random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7","gibdown1","gibdown1") -/obj/effect/decal/cleanable/oil +/obj/effect/decal/cleanable/blood/oil name = "motor oil" desc = "It's black and greasy. Looks like Beepsky made another mess." - icon = 'icons/mob/robots.dmi' - icon_state = "floor1" - random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7") - blood_state = BLOOD_STATE_OIL - bloodiness = BLOOD_AMOUNT_PER_DECAL + basecolor = BLOOD_COLOR_OIL -/obj/effect/decal/cleanable/oil/Initialize() +/obj/effect/decal/cleanable/blood/oil/Initialize() . = ..() reagents.add_reagent("oil", 30) reagents.add_reagent("liquidoilgibs", 5) -/obj/effect/decal/cleanable/oil/streak - random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5") +/obj/effect/decal/cleanable/blood/oil/dry() + return -/obj/effect/decal/cleanable/oil/slippery +/obj/effect/decal/cleanable/blood/oil/streak + amount = 2 -/obj/effect/decal/cleanable/oil/slippery/Initialize() +/obj/effect/decal/cleanable/blood/oil/slippery + +/obj/effect/decal/cleanable/blood/oil/slippery/Initialize() AddComponent(/datum/component/slippery, 80, (NO_SLIP_WHEN_WALKING | SLIDE)) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index d49f311c18..f906045d7f 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -113,6 +113,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) //Blood overlay things var/blood_color + var/image/blood_overlay = null //this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite /obj/item/Initialize() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 13ea59cb52..50ac3a71a2 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -194,8 +194,8 @@ if(O.obj_flags & FROZEN) O.make_unfrozen() - if(isliving(A)) - var/mob/living/M = A + if(isliving(AM)) + var/mob/living/M = AM if(ishuman(M)) var/mob/living/carbon/human/H = M // Tracking blood @@ -226,7 +226,7 @@ /turf/proc/is_plasteel_floor() return FALSE -/turf/open/proc/AddTracks(var/typepath,var/bloodDNA,var/comingdir,var/goingdir,var/bloodcolor=COLOR_BLOOD_HUMAN) +/turf/open/proc/AddTracks(var/typepath,var/bloodDNA,var/comingdir,var/goingdir,var/bloodcolor=BLOOD_COLOR_HUMAN) var/obj/effect/decal/cleanable/blood/tracks/tracks = locate(typepath) in src if(!tracks) tracks = new typepath(src) diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index fb85d057b2..26459c8051 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -17,7 +17,7 @@ var/adjusted = NORMAL_STYLE mutantrace_variation = MUTANTRACE_VARIATION - var/move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/shoe + var/move_trail = /obj/effect/decal/cleanable/blood/tracks/shoe /obj/item/clothing/shoes/suicide_act(mob/living/carbon/user) if(rand(2)>1) @@ -91,7 +91,6 @@ /obj/item/clothing/shoes/clean_blood() ..() - blood_smear = list(BLOOD_STATE_BLOOD = 0, BLOOD_STATE_OIL = 0, BLOOD_STATE_NOT_BLOODY = 0) blood_state = BLOOD_STATE_NOT_BLOODY blood_color = null if(ismob(loc)) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index af03bf3f2f..283d2db800 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -77,7 +77,7 @@ 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 + var/obj/effect/decal/cleanable/blood/tracks/move_trail = /obj/effect/decal/cleanable/blood/tracks/shoe // What marks are left when walking /////////// // PROCS // @@ -643,9 +643,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) 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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/snake else if(H.dna.features["taur"] in GLOB.paw_taurs) - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/paw + move_trail = /obj/effect/decal/cleanable/blood/tracks/paw //END EDIT @@ -941,7 +941,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) // 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) - return /obj/effect/decal/cleanable/blood/footprints/tracks/body + return /obj/effect/decal/cleanable/blood/tracks/body if(H.shoes || (H.wear_suit && (H.wear_suit.body_parts_covered & FEET))) 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 diff --git a/code/modules/mob/living/carbon/human/species_types/angel.dm b/code/modules/mob/living/carbon/human/species_types/angel.dm index 92798c8bc7..3a9ae056c9 100644 --- a/code/modules/mob/living/carbon/human/species_types/angel.dm +++ b/code/modules/mob/living/carbon/human/species_types/angel.dm @@ -10,7 +10,7 @@ blacklisted = 1 limbs_id = "human" skinned_type = /obj/item/stack/sheet/animalhide/human - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot var/datum/action/innate/flight/fly diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index d3288e1cd1..6ebc77f0b5 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -9,7 +9,7 @@ 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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/human/qualifies_for_rank(rank, list/features) return TRUE //Pure humans are always allowed in all roles. diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index ea7a20163a..63705bca90 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -18,7 +18,7 @@ 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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/jelly/on_species_loss(mob/living/carbon/C) if(regenerate_limbs) diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index ba4d8b8781..22d7250b61 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -73,7 +73,7 @@ /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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/claw if(DIGITIGRADE in species_traits) C.Digitigrade_Leg_Swap(FALSE) return ..() @@ -81,7 +81,7 @@ /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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot if(DIGITIGRADE in species_traits) C.Digitigrade_Leg_Swap(TRUE) @@ -97,7 +97,7 @@ mutantlungs = /obj/item/organ/lungs/ashwalker burnmod = 0.9 brutemod = 0.9 - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw + move_trail = /obj/effect/decal/cleanable/blood/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 diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 4c2c360c68..6494638f0f 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -15,7 +15,7 @@ disliked_food = FRUIT | GROSS toxic_food = MEAT | RAW mutanteyes = /obj/item/organ/eyes/moth - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw + move_trail = /obj/effect/decal/cleanable/blood/tracks/claw /datum/species/moth/on_species_gain(mob/living/carbon/C) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index c556390533..fdca7b4f27 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -21,7 +21,7 @@ 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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/plasmaman/spec_life(mob/living/carbon/human/H) var/datum/gas_mixture/environment = H.loc.return_air() diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 05c52ede86..f43e3f1810 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -17,7 +17,7 @@ var/light_oxyheal = 1 var/light_burnheal = 1 var/light_bruteheal = 1 - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/pod/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 606e72839b..6d7e93f7c7 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -13,7 +13,7 @@ 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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/skeleton/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index e2c8ffb9c3..97d76e883b 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -15,7 +15,7 @@ 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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/zombie/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 946024760d..35aa0a3793 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -276,7 +276,7 @@ There are several things that need to be remembered: var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_SHOES] inv.update_icon() - if(!shoes && bloody_feet) + if(!shoes) var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyfeet", -SHOES_LAYER, color = blood_DNA_to_color()) if(dna.features["taur"] != "None") if(dna.features["taur"] in GLOB.noodle_taurs) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 97f14ce7bd..f3dfae1889 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -192,7 +192,6 @@ if(blood) target_types += /obj/effect/decal/cleanable/blood - target_types += /obj/effect/decal/cleanable/trail_holder if(pests) target_types += /mob/living/simple_animal/cockroach diff --git a/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index 3301345fcf..188aa4d913 100644 --- a/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/modular_citadel/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -13,7 +13,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/mammal liked_food = MEAT | FRIED disliked_food = TOXIC - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/paw + move_trail = /obj/effect/decal/cleanable/blood/tracks/paw //Curiosity killed the cat's wagging tail. /datum/species/mammal/spec_death(gibbed, mob/living/carbon/human/H) @@ -46,7 +46,7 @@ /datum/species/mammal/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/paw + move_trail = /obj/effect/decal/cleanable/blood/tracks/paw if(DIGITIGRADE in species_traits) C.Digitigrade_Leg_Swap(FALSE) return ..() @@ -54,7 +54,7 @@ /datum/species/mammal/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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot if(DIGITIGRADE in species_traits) C.Digitigrade_Leg_Swap(TRUE) @@ -78,7 +78,7 @@ miss_sound = 'sound/weapons/slashmiss.ogg' liked_food = MEAT | FRUIT disliked_food = TOXIC - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw + move_trail = /obj/effect/decal/cleanable/blood/tracks/claw /datum/species/avian/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -126,7 +126,7 @@ liked_food = MEAT disliked_food = TOXIC meat = /obj/item/reagent_containers/food/snacks/carpmeat/aquatic - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/foot + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot /datum/species/aquatic/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -173,7 +173,7 @@ miss_sound = 'sound/weapons/slashmiss.ogg' liked_food = MEAT | FRUIT disliked_food = TOXIC - move_trail = /obj/effect/decal/cleanable/blood/footprints/tracks/claw + move_trail = /obj/effect/decal/cleanable/blood/tracks/claw /datum/species/insect/spec_death(gibbed, mob/living/carbon/human/H) if(H) @@ -230,7 +230,7 @@ /datum/species/xeno/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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/claw if(DIGITIGRADE in species_traits) C.Digitigrade_Leg_Swap(FALSE) return ..() @@ -238,7 +238,7 @@ /datum/species/xeno/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 + move_trail = /obj/effect/decal/cleanable/blood/tracks/foot if(DIGITIGRADE in species_traits) C.Digitigrade_Leg_Swap(TRUE)