From 73098574b7bc0738fabcc503d3ef74fb3d4e169b Mon Sep 17 00:00:00 2001 From: Poojawa Date: Wed, 17 Apr 2019 01:18:21 -0500 Subject: [PATCH] what to do when footprints are being a bitch. why, we get rid of them :honk: --- code/game/atoms.dm | 31 ++++++++++-------- .../effects/decals/cleanable/humans.dm | 14 ++++---- .../effects/decals/cleanable/tracks.dm | 0 .../mob/living/carbon/human/human_movement.dm | 7 ++-- icons/effects/fluidtracks.dmi | Bin 0 -> 10964 bytes icons/effects/footprints.dmi | Bin 2389 -> 0 bytes 6 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 code/game/objects/effects/decals/cleanable/tracks.dm create mode 100644 icons/effects/fluidtracks.dmi delete mode 100644 icons/effects/footprints.dmi diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 14f00e25a6..438ff5cc6b 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -324,18 +324,14 @@ return list("ANIMAL DNA" = "Y-") /mob/living/carbon/get_blood_dna_list() - for(var/bluhduh in GLOB.blood_types) - if(get_blood_id() != bluhduh) //are we a null for blood type? - var/list/dna_to_add - dna_to_add = list("Non-human DNA" = random_blood_type()) //generate a random bloodtype for it. - return dna_to_add - - var/list/blood_dna = list() - if(dna) - blood_dna[dna.unique_enzymes] = dna.blood_type - else - blood_dna["UNKNOWN DNA"] = "X*" - return blood_dna + if(get_blood_id() != "blood") + return + var/list/blood_dna = list() + if(dna) + blood_dna[dna.unique_enzymes] = dna.blood_type + else + blood_dna["UNKNOWN DNA"] = "X*" + return blood_dna /mob/living/carbon/alien/get_blood_dna_list() return list("UNKNOWN DNA" = "X*") @@ -343,7 +339,7 @@ //to add a mob's dna info into an object's blood_DNA list. /atom/proc/transfer_mob_blood_dna(mob/living/L) // Returns 0 if we have that blood already - var/list/new_blood_dna = L.get_blood_dna_list() + var/new_blood_dna = L.get_blood_dna_list() if(!new_blood_dna) return FALSE var/old_length = blood_DNA_length() @@ -352,6 +348,15 @@ return FALSE return TRUE +//to add blood dna info to the object's blood_DNA list +/atom/proc/transfer_blood_dna(list/blood_dna) + if(!blood_DNA) + blood_DNA = list() + var/old_length = blood_DNA_length() + blood_DNA |= blood_dna + if(blood_DNA_length() > old_length) + return TRUE//some new blood DNA was added + //to add blood from a mob onto something, and transfer their dna info /atom/proc/add_mob_blood(mob/living/M) var/list/blood_dna = M.get_blood_dna_list() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 9f3fecc0d9..e19e25293f 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -98,7 +98,7 @@ sleep(2) if(i > 0) var/obj/effect/decal/cleanable/blood/splatter/splat = new(loc) - splat.transfer_mob_blood_dna(blood_DNA) + splat.transfer_blood_dna(blood_DNA) if(!step_to(src, get_step(src, direction), 0)) break @@ -158,16 +158,16 @@ random_icon_states = null var/entered_dirs = 0 var/exited_dirs = 0 + var/foot_state blood_state = BLOOD_STATE_BLOOD //the icon state to load images from var/list/shoe_types = 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 if(S && S.bloody_shoes[blood_state]) - if(color != bloodtype_to_color(S.last_bloodtype)) - return S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) shoe_types |= S.type if (!(entered_dirs & H.dir)) @@ -175,20 +175,19 @@ 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 if(S && S.bloody_shoes[blood_state]) - if(color != bloodtype_to_color(S.last_bloodtype))//last entry - we check its color - return S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0) shoe_types |= S.type if (!(exited_dirs & H.dir)) exited_dirs |= H.dir update_icon() + /obj/effect/decal/cleanable/blood/footprints/update_icon() - ..() cut_overlays() for(var/Ddir in GLOB.cardinals) @@ -203,8 +202,7 @@ GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"] = bloodstep_overlay = image(icon, "[blood_state]2", dir = Ddir) add_overlay(bloodstep_overlay) - alpha = BLOODY_FOOTPRINT_BASE_ALPHA + bloodiness - + alpha = BLOODY_FOOTPRINT_BASE_ALPHA+bloodiness /obj/effect/decal/cleanable/blood/footprints/examine(mob/user) . = ..() diff --git a/code/game/objects/effects/decals/cleanable/tracks.dm b/code/game/objects/effects/decals/cleanable/tracks.dm new file mode 100644 index 0000000000..e69de29bb2 diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 1addb3615c..a753df95bf 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -56,17 +56,18 @@ //Bloody footprints var/turf/T = get_turf(src) if(S.bloody_shoes && S.bloody_shoes[S.blood_state]) - for(var/obj/effect/decal/cleanable/blood/footprints/oldFP in T) + for(var/obj/effect/decal/cleanable/blood/tracks/oldFP in T) if (oldFP.blood_state == S.blood_state) 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/FP = new /obj/effect/decal/cleanable/blood/footprints(T) + var/obj/effect/decal/cleanable/blood/tracks/FP = new /obj/effect/decal/cleanable/blood/tracks(T) FP.blood_state = S.blood_state FP.entered_dirs |= dir FP.bloodiness = S.bloody_shoes[S.blood_state] - BLOOD_LOSS_IN_SPREAD - FP.add_blood_DNA(S.return_blood_DNA()) + FP.transfer_blood_dna(S.blood_DNA) + FP.color = blood_DNA_to_color() //Color the blood with our dna stuff FP.update_icon() update_inv_shoes() //End bloody footprints diff --git a/icons/effects/fluidtracks.dmi b/icons/effects/fluidtracks.dmi new file mode 100644 index 0000000000000000000000000000000000000000..54f08c705a908e42b531dbf7629582d80fc185d8 GIT binary patch literal 10964 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 JtHg`~{|B?(Amac4 literal 0 HcmV?d00001 diff --git a/icons/effects/footprints.dmi b/icons/effects/footprints.dmi deleted file mode 100644 index 61658e5ea7063a2d430abcef454c14892eaa823f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmV-b399yqP)hVmV=>fQks4l$=A1Q6N=>%_=EM%*-i{ zM>5U=uRH1f<Z6tc*o(AH!TaM4zsJ9Ez5zd3K_^`%uXC*;k&bIzP|=FFKh-@WfK=1sM}870~& z`epdaJv0wULjzA?U=Ms_unELPzl;*q+Wj(oTAgOpaIdfL2f|$dC%|V+#MJdN6Q8Q7P@Mm{Q=oS3t134pk3I z>wu&MtC>*spp*$k4+c=6J*ZBhs(_dRMUGXd^=4;kC`R2=K}@+!YW9_jW4}q%1)+j_ zPNF6rQ_K*VY*54Q54N4LM3P0j$R+vOGv-3cUOzXb&>Ek_W}`&@sruU5dfLdEipxn2>B8`9&kRoA0*Oi&RGQER(2uP@M$f0feg( z150@AF`yUBH%}Zys`1sogQ^FYxAHQ8^Qw! zRwV|O;M!wAQ6I~@l?hv!@IcA`U5A}`qTB5RKP37q)JzBi25wQRU zJ(~oO{Dne-omx{^n^?|s4~3IPK`6JMHnd0N#V8eb-YLB@O+gR>A(l^hA$4Jjs*v@F+?5j@)Q9Qb^#YY;6LC+ zVi)kn2Mr@o42laMgebm0bILJ=hccdTUeWN|2Ok_y&~K@!J|&+Y zBr@UaN}Crxz*LK+VICx>o2ZY4<6ih6z;(KTJ}{}G_hoZ69d^Jn z6zp}(9Dth8J`b(3Filp83O-;jLYtp1?{QRD@B!Kq^cbrr6@1Vqkq==`%cb_d&-qQn z2Lf7Gc^4ET(aq7sF_3(&1jZ=A4)DQrjc|cq)$Jr@0H^j2C9tBK2K6Q^fs2Ebf_dHK zieH{WRKQ6<3H6*>SBwGuYz@UWCIp61K{q5O*;XUtal(aqq8+UNM$TbF2~fv;6M#qk zn+ZaK|E@k)>`YU5f;Hk`iG#mYJ1=ZsR7cr^$5|>BBVD;CrbM9|PQ0H?$16pCHvSmQ zzI(kOF{uqUO-D<0WHOi_V=Xv**3YL*Q}!EL?*b0tQ7Oz#Sl{hqAhD`;!x*Byv5mB! z=N_#_4$J!ma~tY$VSG;e8eLM!{?Z0iU0t>LW&FaEi*!MvJB4{FI1&SX5uIpS=e1>X>Z&*-Fsxj@ywM!S#v6 zRVoG(Y;h@ME7E@J>+h1;c{YjVf7cQh3uhAyolKxveno52_rbc<7kw*gKa1wo@g02e ziyxQPTHWVN{&jg*KA7k5W}KaFNNQ3m@QaI+qZ9 z>?iSo7T~`ME7t=b0PQFGo%jHkk22uG2LgW+L;do(o@hH1K8QrKw~H=(P)}OvNKPOO zH$Di&q&i@x#Y&N(C+vX_0<|y08@$Aafo^;N;ol1nY2`iT#s^RW<-l776AgXm#s|0^ z!|VmKqHW5c8y{p&>)mA1q1jPP4}5?MYD#i0!rxqX)z79p@ImnyIDf4n^e^=EsyOjM zm@BWTpHVmHOv|{)7}of*4?Z}tnw!e8btd>9>!YpiXu_JGz2<`t7CX66%uUJiFxMS< z`}Ay^wZ4oz@B!9DuHHwe2d9Jb4E;O}M8ZArfjqEvtMGve=)8=+0^q_6AE3sTR&STXjE34W`00000NkvXX Hu0mjf`tDwO