From 2470380c4027931b57c96ad15fb6721d94d82e2a Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Jul 2019 03:21:57 -0400 Subject: [PATCH 1/5] Blood is now less annoying --- code/__DEFINES/misc.dm | 2 + .../effects/decals/Cleanable/aliens.dm | 2 +- .../effects/decals/Cleanable/humans.dm | 54 +++++-------------- .../objects/effects/decals/Cleanable/misc.dm | 4 +- .../effects/decals/Cleanable/robots.dm | 3 +- .../effects/decals/Cleanable/tracks.dm | 15 ++++-- code/game/objects/effects/decals/cleanable.dm | 48 +++++++++++++++++ .../mob/living/carbon/human/human_movement.dm | 6 ++- code/modules/surgery/organs/blood.dm | 5 +- 9 files changed, 86 insertions(+), 53 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 3418938d955..a322a3f90d4 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -311,6 +311,8 @@ #define BLOODY_FOOTPRINT_BASE_ALPHA 150 #define BLOOD_GAIN_PER_STEP 100 #define BLOOD_LOSS_PER_STEP 5 +#define BLOOD_LOSS_IN_SPREAD 20 +#define BLOOD_AMOUNT_PER_DECAL 20 //Bloody shoe blood states #define BLOOD_STATE_HUMAN "blood" diff --git a/code/game/objects/effects/decals/Cleanable/aliens.dm b/code/game/objects/effects/decals/Cleanable/aliens.dm index c788e934b45..f4ca5cf613a 100644 --- a/code/game/objects/effects/decals/Cleanable/aliens.dm +++ b/code/game/objects/effects/decals/Cleanable/aliens.dm @@ -3,7 +3,7 @@ desc = "It's green and acidic. It looks like... blood?" icon = 'icons/effects/blood.dmi' basecolor = "#05EE05" - bloodiness = MAX_SHOE_BLOODINESS + bloodiness = BLOOD_AMOUNT_PER_DECAL blood_state = BLOOD_STATE_XENO /obj/effect/decal/cleanable/blood/xeno/splatter diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 3c5fea2a967..c5b2d5898f3 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -17,12 +17,22 @@ var/global/list/image/splatter_cache = list() blood_DNA = list() var/base_icon = 'icons/effects/blood.dmi' var/blood_state = BLOOD_STATE_HUMAN - var/bloodiness = MAX_SHOE_BLOODINESS + bloodiness = BLOOD_AMOUNT_PER_DECAL var/basecolor = "#A10808" // Color when wet. var/amount = 5 var/dry_timer = 0 var/off_floor = FALSE + +/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C) + if(C.blood_DNA) + blood_DNA |= C.blood_DNA.Copy() + if (bloodiness) + if (C.bloodiness < MAX_SHOE_BLOODINESS) + C.bloodiness += bloodiness + return ..() + + /obj/effect/decal/cleanable/blood/Initialize() . = ..() update_icon() @@ -87,46 +97,6 @@ var/global/list/image/splatter_cache = list() /obj/effect/decal/cleanable/blood/can_bloodcrawl_in() return TRUE -//Add "bloodiness" of this blood's type, to the human's shoes -/obj/effect/decal/cleanable/blood/Crossed(atom/movable/O) - if(!off_floor && ishuman(O)) - var/mob/living/carbon/human/H = O - var/obj/item/organ/external/l_foot = H.get_organ("l_foot") - var/obj/item/organ/external/r_foot = H.get_organ("r_foot") - var/hasfeet = TRUE - if(!l_foot && !r_foot) - hasfeet = FALSE - if(H.shoes && blood_state && bloodiness) - 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 - S.bloody_shoes[blood_state] = min(MAX_SHOE_BLOODINESS, S.bloody_shoes[blood_state] + add_blood) - if(blood_DNA && blood_DNA.len) - S.add_blood(H.blood_DNA, basecolor) - S.blood_state = blood_state - S.blood_color = basecolor - update_icon() - H.update_inv_shoes() - else if(hasfeet && blood_state && bloodiness)//Or feet - var/add_blood = 0 - if(bloodiness >= BLOOD_GAIN_PER_STEP) - add_blood = BLOOD_GAIN_PER_STEP - else - add_blood = bloodiness - bloodiness -= add_blood - H.bloody_feet[blood_state] = min(MAX_SHOE_BLOODINESS, H.bloody_feet[blood_state] + add_blood) - if(!H.feet_blood_DNA) - H.feet_blood_DNA = list() - H.blood_state = blood_state - H.feet_blood_DNA |= blood_DNA.Copy() - H.feet_blood_color = basecolor - update_icon() - H.update_inv_shoes() - /obj/effect/decal/cleanable/blood/splatter random_icon_states = list("mgibbl1", "mgibbl2", "mgibbl3", "mgibbl4", "mgibbl5") amount = 2 @@ -191,6 +161,8 @@ var/global/list/image/splatter_cache = list() icon_state = "gibbl5" random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6") no_clear = TRUE + mergeable_decal = FALSE + var/fleshcolor = "#FFFFFF" /obj/effect/decal/cleanable/blood/gibs/update_icon() diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index d1ba3204bd0..60f5e6e3490 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -16,6 +16,7 @@ icon_state = "ash" anchored = TRUE scoop_reagents = list("ash" = 10) + mergeable_decal = FALSE /obj/effect/decal/cleanable/dirt name = "dirt" @@ -97,7 +98,8 @@ gender = NEUTER icon = 'icons/effects/effects.dmi' icon_state = "molten" - + mergeable_decal = FALSE + /obj/effect/decal/cleanable/molten_object/large name = "big gooey grey mass" icon_state = "big_molten" diff --git a/code/game/objects/effects/decals/Cleanable/robots.dm b/code/game/objects/effects/decals/Cleanable/robots.dm index 1c8ad706dc8..5193436295e 100644 --- a/code/game/objects/effects/decals/Cleanable/robots.dm +++ b/code/game/objects/effects/decals/Cleanable/robots.dm @@ -5,7 +5,8 @@ icon_state = "gib1" basecolor = "#030303" random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6", "gib7") - bloodiness = MAX_SHOE_BLOODINESS + bloodiness = BLOOD_AMOUNT_PER_DECAL + mergeable_decal = FALSE /obj/effect/decal/cleanable/blood/gibs/robot/can_bloodcrawl_in() return FALSE diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm index 8598381aaf1..6c304acd4ee 100644 --- a/code/game/objects/effects/decals/Cleanable/tracks.dm +++ b/code/game/objects/effects/decals/Cleanable/tracks.dm @@ -30,6 +30,7 @@ var/global/list/image/fluidtrack_cache = list() /obj/effect/decal/cleanable/blood/footprints/Crossed(atom/movable/O) + ..() if(ishuman(O)) var/mob/living/carbon/human/H = O var/obj/item/clothing/shoes/S = H.shoes @@ -40,19 +41,23 @@ var/global/list/image/fluidtrack_cache = list() hasfeet = FALSE if(S && S.bloody_shoes[blood_state] && S.blood_color == basecolor) S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) - entered_dirs |= H.dir + if (!(entered_dirs & H.dir)) + entered_dirs |= H.dir + update_icon() if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet //This will need to be changed. H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) - entered_dirs |= H.dir + if (!(entered_dirs & H.dir)) + entered_dirs |= H.dir + update_icon() if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() - update_icon() /obj/effect/decal/cleanable/blood/footprints/Uncrossed(atom/movable/O) + ..() if(ishuman(O)) var/mob/living/carbon/human/H = O var/obj/item/clothing/shoes/S = H.shoes @@ -108,14 +113,14 @@ var/global/list/image/fluidtrack_cache = list() if(ishuman(A)) var/mob/living/carbon/human/H = A FP.blood_state = H.blood_state - FP.bloodiness = H.bloody_feet[H.blood_state] + FP.bloodiness = H.bloody_feet[H.blood_state] - BLOOD_LOSS_IN_SPREAD FP.basecolor = H.feet_blood_color if(H.blood_DNA) FP.blood_DNA = H.blood_DNA.Copy() else if(istype(A, /obj/item/clothing/shoes)) var/obj/item/clothing/shoes/S = A FP.blood_state = S.blood_state - FP.bloodiness = S.bloody_shoes[S.blood_state] + FP.bloodiness = S.bloody_shoes[S.blood_state] - BLOOD_LOSS_IN_SPREAD FP.basecolor = S.blood_color if(S.blood_DNA) FP.blood_DNA = S.blood_DNA.Copy() diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 461273bccdb..e92a9405e3b 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -1,6 +1,54 @@ /obj/effect/decal/cleanable anchored = TRUE var/list/random_icon_states = list() + var/bloodiness = 0 //0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints + var/mergeable_decal = TRUE //when two of these are on a same tile or do we need to merge them into just one? + +/obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal + if(mergeable_decal) + return TRUE + +//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/blood/Crossed(atom/movable/O) + ..() + if(!off_floor && ishuman(O)) + var/mob/living/carbon/human/H = O + var/obj/item/organ/external/l_foot = H.get_organ("l_foot") + var/obj/item/organ/external/r_foot = H.get_organ("r_foot") + var/hasfeet = TRUE + if(!l_foot && !r_foot) + hasfeet = FALSE + if(H.shoes && blood_state && bloodiness) + 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 + S.bloody_shoes[blood_state] = min(MAX_SHOE_BLOODINESS, S.bloody_shoes[blood_state] + add_blood) + if(blood_DNA && blood_DNA.len) + S.add_blood(H.blood_DNA, basecolor) + S.blood_state = blood_state + S.blood_color = basecolor + update_icon() + H.update_inv_shoes() + else if(hasfeet && blood_state && bloodiness)//Or feet + var/add_blood = 0 + if(bloodiness >= BLOOD_GAIN_PER_STEP) + add_blood = BLOOD_GAIN_PER_STEP + else + add_blood = bloodiness + bloodiness -= add_blood + H.bloody_feet[blood_state] = min(MAX_SHOE_BLOODINESS, H.bloody_feet[blood_state] + add_blood) + if(!H.feet_blood_DNA) + H.feet_blood_DNA = list() + H.blood_state = blood_state + H.feet_blood_DNA |= blood_DNA.Copy() + H.feet_blood_color = basecolor + update_icon() + H.update_inv_shoes() /obj/effect/decal/cleanable/proc/can_bloodcrawl_in() return FALSE diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 925e979c11d..b0100d0b483 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -63,7 +63,8 @@ else //No oldFP or it's a different kind of blood S.bloody_shoes[S.blood_state] = max(0, S.bloody_shoes[S.blood_state] - BLOOD_LOSS_PER_STEP) - createFootprintsFrom(shoes, dir, T) + if (S.bloody_shoes[S.blood_state] > BLOOD_LOSS_IN_SPREAD) + createFootprintsFrom(shoes, dir, T) update_inv_shoes() else if(hasfeet) if(bloody_feet && bloody_feet[blood_state]) @@ -72,7 +73,8 @@ return else bloody_feet[blood_state] = max(0, bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP) - createFootprintsFrom(src, dir, T) + if (bloody_feet[blood_state] > BLOOD_LOSS_IN_SPREAD) + createFootprintsFrom(src, dir, T) update_inv_shoes() //End bloody footprints if(S) diff --git a/code/modules/surgery/organs/blood.dm b/code/modules/surgery/organs/blood.dm index 78264ca0329..265ff31d9a1 100644 --- a/code/modules/surgery/organs/blood.dm +++ b/code/modules/surgery/organs/blood.dm @@ -253,7 +253,7 @@ // Only a certain number of drips (or one large splatter) can be on a given turf. var/obj/effect/decal/cleanable/blood/drip/drop = locate() in T if(drop) - if(drop.drips < 3) + if(drop.drips < 5) drop.drips++ drop.overlays |= pick(drop.random_icon_states) drop.transfer_mob_blood_dna(src) @@ -278,7 +278,8 @@ B = locate() in bloods if(!B) B = new(T) - + if (B.bloodiness < MAX_SHOE_BLOODINESS) //add more blood, up to a limit + B.bloodiness += BLOOD_AMOUNT_PER_DECAL B.transfer_mob_blood_dna(src) //give blood info to the blood decal. if(temp_blood_DNA) B.blood_DNA |= temp_blood_DNA From fa260b62ffc80db2769390ddceab62af3833e322 Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Jul 2019 03:27:50 -0400 Subject: [PATCH 2/5] Missed some code --- code/game/objects/effects/decals/Cleanable/tracks.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm index 6c304acd4ee..34bef06de89 100644 --- a/code/game/objects/effects/decals/Cleanable/tracks.dm +++ b/code/game/objects/effects/decals/Cleanable/tracks.dm @@ -43,7 +43,6 @@ var/global/list/image/fluidtrack_cache = list() S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) if (!(entered_dirs & H.dir)) entered_dirs |= H.dir - update_icon() if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() @@ -51,11 +50,10 @@ var/global/list/image/fluidtrack_cache = list() H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) if (!(entered_dirs & H.dir)) entered_dirs |= H.dir - update_icon() if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() - + update_icon() /obj/effect/decal/cleanable/blood/footprints/Uncrossed(atom/movable/O) ..() if(ishuman(O)) @@ -68,13 +66,15 @@ var/global/list/image/fluidtrack_cache = list() hasfeet = FALSE if(S && S.bloody_shoes[blood_state] && S.blood_color == basecolor) S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) - exited_dirs |= H.dir + if (!(exited_dirs & H.dir)) + exited_dirs |= H.dir if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) - exited_dirs |= H.dir + if (!(exited_dirs & H.dir)) + exited_dirs |= H.dir if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() From dfc5c4fca3e123eb31b320894a4e383b9f308d1c Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Jul 2019 03:30:48 -0400 Subject: [PATCH 3/5] only call update_icon when entering/exiting from a new direction --- .../effects/decals/Cleanable/tracks.dm | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm index 34bef06de89..fbf604601f2 100644 --- a/code/game/objects/effects/decals/Cleanable/tracks.dm +++ b/code/game/objects/effects/decals/Cleanable/tracks.dm @@ -41,19 +41,20 @@ var/global/list/image/fluidtrack_cache = list() hasfeet = FALSE if(S && S.bloody_shoes[blood_state] && S.blood_color == basecolor) S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) - if (!(entered_dirs & H.dir)) - entered_dirs |= H.dir if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() - else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet //This will need to be changed. - H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) if (!(entered_dirs & H.dir)) entered_dirs |= H.dir + update_icon() + else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet //This will need to be changed. + H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() - update_icon() + if (!(entered_dirs & H.dir)) + entered_dirs |= H.dir + update_icon() /obj/effect/decal/cleanable/blood/footprints/Uncrossed(atom/movable/O) ..() if(ishuman(O)) @@ -66,19 +67,20 @@ var/global/list/image/fluidtrack_cache = list() hasfeet = FALSE if(S && S.bloody_shoes[blood_state] && S.blood_color == basecolor) S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) - if (!(exited_dirs & H.dir)) - exited_dirs |= H.dir if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() - else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet - H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) if (!(exited_dirs & H.dir)) exited_dirs |= H.dir + update_icon() + else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet + H.bloody_feet[blood_state] = max(H.bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP, 0) if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() - update_icon() + if (!(exited_dirs & H.dir)) + exited_dirs |= H.dir + update_icon() /obj/effect/decal/cleanable/blood/footprints/update_icon() From 18a452b53656f347875df7e5c15eabf58c763ab9 Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 7 Jul 2019 05:01:42 -0400 Subject: [PATCH 4/5] use initialize() and fixes --- code/game/objects/effects/decals/Cleanable/tracks.dm | 5 +++++ code/game/objects/effects/decals/cleanable.dm | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm index fbf604601f2..cca098b1a98 100644 --- a/code/game/objects/effects/decals/Cleanable/tracks.dm +++ b/code/game/objects/effects/decals/Cleanable/tracks.dm @@ -130,3 +130,8 @@ var/global/list/image/fluidtrack_cache = list() FP.update_icon() return FP + +/obj/effect/decal/cleanable/blood/footprints/replace_decal(obj/effect/decal/cleanable/blood/footprints/C) + if(blood_state != C.blood_state) //We only replace footprints of the same type as us + return + ..() \ No newline at end of file diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index e92a9405e3b..1d5de9688dd 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -53,7 +53,13 @@ /obj/effect/decal/cleanable/proc/can_bloodcrawl_in() return FALSE -/obj/effect/decal/cleanable/New() +/obj/effect/decal/cleanable/Initialize(mapload) + . = ..() + if(loc && isturf(loc)) + for(var/obj/effect/decal/cleanable/C in loc) + if(C != src && C.type == type && !QDELETED(C)) + if(replace_decal(C)) + return INITIALIZE_HINT_QDEL if(random_icon_states && length(src.random_icon_states) > 0) src.icon_state = pick(src.random_icon_states) if(smooth) From a42f638b737766ffa1930b8c722bb0718dd390d9 Mon Sep 17 00:00:00 2001 From: Couls Date: Sun, 25 Aug 2019 22:22:05 -0400 Subject: [PATCH 5/5] spessing --- code/game/objects/effects/decals/Cleanable/humans.dm | 4 ++-- code/game/objects/effects/decals/Cleanable/tracks.dm | 8 ++++---- code/modules/mob/living/carbon/human/human_movement.dm | 4 ++-- code/modules/surgery/organs/blood.dm | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index c5b2d5898f3..98f1387f90d 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -27,8 +27,8 @@ var/global/list/image/splatter_cache = list() /obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C) if(C.blood_DNA) blood_DNA |= C.blood_DNA.Copy() - if (bloodiness) - if (C.bloodiness < MAX_SHOE_BLOODINESS) + if(bloodiness) + if(C.bloodiness < MAX_SHOE_BLOODINESS) C.bloodiness += bloodiness return ..() diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm index cca098b1a98..e7dfb8d7dd6 100644 --- a/code/game/objects/effects/decals/Cleanable/tracks.dm +++ b/code/game/objects/effects/decals/Cleanable/tracks.dm @@ -44,7 +44,7 @@ var/global/list/image/fluidtrack_cache = list() if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() - if (!(entered_dirs & H.dir)) + if(!(entered_dirs & H.dir)) entered_dirs |= H.dir update_icon() else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet //This will need to be changed. @@ -52,7 +52,7 @@ var/global/list/image/fluidtrack_cache = list() if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() - if (!(entered_dirs & H.dir)) + if(!(entered_dirs & H.dir)) entered_dirs |= H.dir update_icon() /obj/effect/decal/cleanable/blood/footprints/Uncrossed(atom/movable/O) @@ -70,7 +70,7 @@ var/global/list/image/fluidtrack_cache = list() if(!S.blood_DNA) S.blood_DNA = list() S.blood_DNA |= blood_DNA.Copy() - if (!(exited_dirs & H.dir)) + if(!(exited_dirs & H.dir)) exited_dirs |= H.dir update_icon() else if(hasfeet && H.bloody_feet[blood_state] && H.feet_blood_color == basecolor)//Or feet @@ -78,7 +78,7 @@ var/global/list/image/fluidtrack_cache = list() if(!H.feet_blood_DNA) H.feet_blood_DNA = list() H.feet_blood_DNA |= blood_DNA.Copy() - if (!(exited_dirs & H.dir)) + if(!(exited_dirs & H.dir)) exited_dirs |= H.dir update_icon() diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index b0100d0b483..c574cf3cd53 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -63,7 +63,7 @@ else //No oldFP or it's 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) + if(S.bloody_shoes[S.blood_state] > BLOOD_LOSS_IN_SPREAD) createFootprintsFrom(shoes, dir, T) update_inv_shoes() else if(hasfeet) @@ -73,7 +73,7 @@ return else bloody_feet[blood_state] = max(0, bloody_feet[blood_state] - BLOOD_LOSS_PER_STEP) - if (bloody_feet[blood_state] > BLOOD_LOSS_IN_SPREAD) + if(bloody_feet[blood_state] > BLOOD_LOSS_IN_SPREAD) createFootprintsFrom(src, dir, T) update_inv_shoes() //End bloody footprints diff --git a/code/modules/surgery/organs/blood.dm b/code/modules/surgery/organs/blood.dm index 265ff31d9a1..6f1fb8fe293 100644 --- a/code/modules/surgery/organs/blood.dm +++ b/code/modules/surgery/organs/blood.dm @@ -99,11 +99,11 @@ /mob/living/carbon/proc/bleed_internal(amt) // Return 1 if we've coughed blood up, 2 if we're vomited it. if(blood_volume) blood_volume = max(blood_volume - amt, 0) - if (prob(10 * amt)) // +5% chance per internal bleeding site that we'll cough up blood on a given tick. + if(prob(10 * amt)) // +5% chance per internal bleeding site that we'll cough up blood on a given tick. custom_emote(1, "coughs up blood!") add_splatter_floor(loc, 1) return 1 - else if (amt >= 1 && prob(5 * amt)) // +2.5% chance per internal bleeding site that we'll cough up blood on a given tick. Must be bleeding internally in more than one place to have a chance at this. + else if(amt >= 1 && prob(5 * amt)) // +2.5% chance per internal bleeding site that we'll cough up blood on a given tick. Must be bleeding internally in more than one place to have a chance at this. vomit(0, 1) return 2 return 0 @@ -278,7 +278,7 @@ B = locate() in bloods if(!B) B = new(T) - if (B.bloodiness < MAX_SHOE_BLOODINESS) //add more blood, up to a limit + if(B.bloodiness < MAX_SHOE_BLOODINESS) //add more blood, up to a limit B.bloodiness += BLOOD_AMOUNT_PER_DECAL B.transfer_mob_blood_dna(src) //give blood info to the blood decal. if(temp_blood_DNA)