From b363cdd5ca713961dc8b83d2b2d2fb046046e265 Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Thu, 1 Apr 2021 04:29:35 -0700 Subject: [PATCH 1/2] fixes puddles, cultism checks, spellchecks --- code/__DEFINES/misc.dm | 5 +++-- code/datums/mutations/_mutations.dm | 15 +++++++-------- code/datums/mutations/radioactive.dm | 2 +- code/datums/mutations/space_adaptation.dm | 2 +- .../ark_of_the_clockwork_justicar.dm | 2 +- .../antagonists/clockcult/clockcult.dm | 2 +- code/modules/antagonists/cult/cult.dm | 2 +- .../carbon/human/innate_abilities/blobform.dm | 3 +++ .../mob/living/carbon/human/update_icons.dm | 19 +++++++++++++++++++ code/modules/mob/update_icons.dm | 3 +++ .../chemistry/reagents/other_reagents.dm | 2 +- 11 files changed, 41 insertions(+), 16 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index e56ab8dd24..fe139fff10 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -30,7 +30,8 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s //Human Overlays Indexes///////// //LOTS OF CIT CHANGES HERE. BE CAREFUL WHEN UPSTREAM ADDS MORE LAYERS -#define MUTATIONS_LAYER 33 //mutations. Tk headglows, cold resistance glow, etc +#define MUTATIONS_LAYER 34 //mutations. Tk headglows, cold resistance glow, etc +#define ANTAG_LAYER 33 //stuff for things like cultism indicators (clock cult glow, cultist red halos, whatever else new that comes up) #define GENITALS_BEHIND_LAYER 32 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer #define BODY_BEHIND_LAYER 31 //certain mutantrace features (tail when looking south) that must appear behind the body parts #define BODYPARTS_LAYER 30 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag @@ -63,7 +64,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define HANDS_LAYER 3 #define BODY_FRONT_LAYER 2 #define FIRE_LAYER 1 //If you're on fire -#define TOTAL_LAYERS 33 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; +#define TOTAL_LAYERS 34 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; //Human Overlay Index Shortcuts for alternate_worn_layer, layers //Because I *KNOW* somebody will think layer+1 means "above" diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index b72874c329..33a082372e 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -129,7 +129,7 @@ /datum/mutation/human/proc/get_spans() return list() -/mob/living/carbon/proc/update_mutations_overlay() +/mob/living/proc/update_mutations_overlay() return /mob/living/carbon/human/update_mutations_overlay() @@ -142,13 +142,12 @@ if(overlays_standing[CM.layer_used]) mut_overlay = overlays_standing[CM.layer_used] var/mutable_appearance/V = CM.get_visual_indicator() - if(!mut_overlay.Find(V)) //either we lack the visual indicator or we have the wrong one - remove_overlay(CM.layer_used) - for(var/mutable_appearance/MA in CM.visual_indicators[CM.type]) - mut_overlay.Remove(MA) - mut_overlay |= V - overlays_standing[CM.layer_used] = mut_overlay - apply_overlay(CM.layer_used) + remove_overlay(CM.layer_used) //trying to find its existence defeats the point because if cut_overlays is called it doesn't bother reloading it. + for(var/mutable_appearance/MA in CM.visual_indicators[CM.type]) + mut_overlay.Remove(MA) + mut_overlay |= V + overlays_standing[CM.layer_used] = mut_overlay + apply_overlay(CM.layer_used) /datum/mutation/human/proc/modify() //called when a genome is applied so we can properly update some stats without having to remove and reapply the mutation from someone if(modified || !power || !owner) diff --git a/code/datums/mutations/radioactive.dm b/code/datums/mutations/radioactive.dm index 2e6aa50d46..687f306dab 100644 --- a/code/datums/mutations/radioactive.dm +++ b/code/datums/mutations/radioactive.dm @@ -1,6 +1,6 @@ /datum/mutation/human/radioactive name = "Radioactivity" - desc = "A volatile mutation that causes the host to sent out deadly beta radiation. This affects both the hosts and their surroundings." + desc = "A volatile mutation that causes the host to send out deadly beta radiation. This affects both the hosts and their surroundings." quality = NEGATIVE text_gain_indication = "You can feel it in your bones!" time_coeff = 5 diff --git a/code/datums/mutations/space_adaptation.dm b/code/datums/mutations/space_adaptation.dm index 94c829d367..a3a2f10f2f 100644 --- a/code/datums/mutations/space_adaptation.dm +++ b/code/datums/mutations/space_adaptation.dm @@ -1,7 +1,7 @@ //Cold Resistance gives your entire body an orange halo, and makes you immune to the effects of vacuum and cold. /datum/mutation/human/space_adaptation name = "Space Adaptation" - desc = "A strange mutation that renders the host immune to the vacuum if space. Will still need an oxygen supply." + desc = "A strange mutation that renders the host immune to the vacuum of space. Will still need an oxygen supply." quality = POSITIVE difficulty = 16 text_gain_indication = "Your body feels warm!" diff --git a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm index a481415cf5..025306dae4 100644 --- a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -87,7 +87,7 @@ if(!M || !M.current) continue if(ishuman(M.current)) - M.current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER)) + M.current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -ANTAG_LAYER)) var/turf/T = get_turf(src) var/list/open_turfs = list() for(var/turf/open/OT in orange(1, T)) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index efea8ed771..6f91299cdb 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -139,7 +139,7 @@ current.throw_alert("clockinfo", /obj/screen/alert/clockwork/infodump) var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar if(G && G.active && ishuman(current)) - current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER)) + current.add_overlay(mutable_appearance('icons/effects/genetics.dmi', "servitude", -ANTAG_LAYER)) /datum/antagonist/clockcult/remove_innate_effects(mob/living/mob_override) var/mob/living/current = owner.current diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 09d8771a62..2fed9fc0d5 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -332,7 +332,7 @@ var/mob/living/carbon/human/H = cultist new /obj/effect/temp_visual/cult/sparks(get_turf(H), H.dir) var/istate = pick("halo1","halo2","halo3","halo4","halo5","halo6") - H.add_overlay(mutable_appearance('icons/effects/32x64.dmi', istate, -BODY_FRONT_LAYER)) + H.add_overlay(mutable_appearance('icons/effects/32x64.dmi', istate, -ANTAG_LAYER)) /datum/team/cult/proc/setup_objectives() //SAC OBJECTIVE , todo: move this to objective internals diff --git a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm index 1aac2fd02e..be35f6298e 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm @@ -47,6 +47,7 @@ owner.cut_overlays() //we dont show our normal sprite, we show a puddle sprite var/obj/effect/puddle_effect = new puddle_into_effect(get_turf(owner), owner.dir) puddle_effect.color = mutcolor + puddle_effect.transform = H.transform //copy mob size for consistent meltdown appearance H.Stun(in_transformation_duration, ignore_canstun = TRUE) //cant move while transforming //series of traits that make up the puddle behaviour @@ -89,6 +90,7 @@ H.cut_overlay(tracked_overlay) var/obj/effect/puddle_effect = new puddle_from_effect(get_turf(owner), owner.dir) puddle_effect.color = tracked_overlay.color + puddle_effect.transform = H.transform //copy mob size for consistent transform size H.Stun(out_transformation_duration, ignore_canstun = TRUE) sleep(out_transformation_duration) REMOVE_TRAIT(H, TRAIT_PARALYSIS_L_ARM, SLIMEPUDDLE_TRAIT) @@ -106,5 +108,6 @@ is_puddle = FALSE if(squeak) squeak.RemoveComponent() + H.regenerate_icons() transforming = FALSE UpdateButtonIcon() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f05d795ba2..5f77d25eae 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -100,10 +100,29 @@ There are several things that need to be remembered: update_mutations_overlay() //damage overlays update_damage_overlays() + //antagonism + update_antag_overlays() /* --------------------------------------- */ //vvvvvv UPDATE_INV PROCS vvvvvv + +/mob/living/carbon/human/update_antag_overlays() + remove_overlay(ANTAG_LAYER) + var/datum/antagonist/cult/D = src?.mind?.has_antag_datum(/datum/antagonist/cult) //check for cultism + if(D && D.cult_team?.cult_ascendent == TRUE) + var/istate = pick("halo1","halo2","halo3","halo4","halo5","halo6") + var/mutable_appearance/new_cult_overlay = mutable_appearance('icons/effects/32x64.dmi', istate, -ANTAG_LAYER) + overlays_standing[ANTAG_LAYER] = new_cult_overlay + var/datum/antagonist/clockcult/C = src?.mind?.has_antag_datum(/datum/antagonist/clockcult) //check for clockcultism - surely one can't be both cult and clockie, right? + if(C) + var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar + if(G && G.active && ishuman(src)) + var/mutable_appearance/new_cult_overlay = mutable_appearance('icons/effects/genetics.dmi', "servitude", -ANTAG_LAYER) + overlays_standing[ANTAG_LAYER] = new_cult_overlay + apply_overlay(ANTAG_LAYER) + + /mob/living/carbon/human/update_inv_w_uniform() if(!HAS_TRAIT(src, TRAIT_HUMAN_NO_RENDER)) remove_overlay(UNIFORM_LAYER) diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index baa849705b..47a75eb58a 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -69,3 +69,6 @@ /mob/proc/update_inv_ears() return + +/mob/proc/update_antag_overlays() + return diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index fe8f923e1a..593d77f959 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -330,7 +330,7 @@ name = "Hollow Water" description = "An ubiquitous chemical substance that is composed of hydrogen and oxygen, but it looks kinda hollow." color = "#88878777" - taste_description = "emptyiness" + taste_description = "emptiness" /datum/reagent/water/holywater From 1dac10b1eca7e7ff81386b1f580668f4dc5c7285 Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Thu, 1 Apr 2021 04:43:18 -0700 Subject: [PATCH 2/2] Might as well have it show halo stuff while puddling too --- .../modules/mob/living/carbon/human/innate_abilities/blobform.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm index be35f6298e..f2ffaec84c 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm @@ -76,6 +76,7 @@ puddle_overlay.color = mutcolor tracked_overlay = puddle_overlay owner.add_overlay(puddle_overlay) + owner.update_antag_overlays() transforming = FALSE UpdateButtonIcon()