From 851c5a5df95d61feebfb8d42abc49a775ff2cb2a Mon Sep 17 00:00:00 2001 From: Lucy Date: Sat, 1 Feb 2025 15:21:44 -0500 Subject: [PATCH] Convert all traits given by status effects to use `TRAIT_STATUS_EFFECT(id)` (#89291) ## About The Pull Request This makes (almost?) all traits given by status effects use `TRAIT_STATUS_EFFECT(id)` as their source, rather than the previous mix of `id`, `type`, `REF(src)`, or some bespoke thing. ## Why It's Good For The Game Consistency is good. ## Changelog No user-facing changes --- code/__DEFINES/traits/sources.dm | 5 ---- code/datums/elements/organ_set_bonus.dm | 4 +-- code/datums/status_effects/buffs.dm | 10 +++---- .../status_effects/buffs/food/grant_trait.dm | 8 +++--- .../status_effects/buffs/stop_drop_roll.dm | 4 +-- code/datums/status_effects/debuffs/debuffs.dm | 16 +++++------ .../datums/status_effects/debuffs/pacifism.dm | 4 +-- .../datums/status_effects/debuffs/silenced.dm | 4 +-- .../status_effects/debuffs/staggered.dm | 8 +++--- .../status_effects/debuffs/tower_of_babel.dm | 4 ++- code/datums/status_effects/drug_effects.dm | 4 +-- code/datums/status_effects/gas.dm | 4 +-- code/datums/status_effects/neutral.dm | 4 +-- code/datums/status_effects/song_effects.dm | 4 +-- .../dna_infuser/organ_sets/fish_organs.dm | 6 ++-- .../sacrifice_knowledge/sacrifice_buff.dm | 4 +-- .../antagonists/heretic/magic/realignment.dm | 4 +-- .../antagonists/heretic/magic/shadow_cloak.dm | 4 +-- .../antagonists/heretic/magic/void_conduit.dm | 4 +-- .../antagonists/heretic/magic/void_prison.dm | 4 +-- .../heretic/status_effects/buffs.dm | 12 ++++---- .../heretic/status_effects/debuffs.dm | 4 +-- .../heretic/status_effects/ghoul.dm | 8 +++--- .../heretic/status_effects/mark_effects.dm | 6 ++-- .../heretic/status_effects/void_chill.dm | 4 +-- .../voidwalker/voidwalker_status_effects.dm | 4 +-- .../lavaland/watcher/watcher_overwatch.dm | 4 +-- .../crossbreeding/_status_effects.dm | 28 +++++++++---------- .../spell_types/shapeshift/_shape_status.dm | 4 +-- 29 files changed, 90 insertions(+), 93 deletions(-) diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index e713feb0773..9e407eeecae 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -40,8 +40,6 @@ ///A trait given by a held item #define HELD_ITEM_TRAIT "held-item-trait" #define ABSTRACT_ITEM_TRAIT "abstract-item" -/// A trait given by any status effect -#define STATUS_EFFECT_TRAIT "status-effect" /// Trait from light debugging #define LIGHT_DEBUG_TRAIT "light-debug" @@ -124,7 +122,6 @@ #define MEGAFAUNA_TRAIT "megafauna" #define CLOWN_NUKE_TRAIT "clown-nuke" #define STICKY_MOUSTACHE_TRAIT "sticky-moustache" -#define CHAINSAW_FRENZY_TRAIT "chainsaw-frenzy" #define CHRONO_GUN_TRAIT "chrono-gun" #define REVERSE_BEAR_TRAP_TRAIT "reverse-bear-trap" #define CURSED_MASK_TRAIT "cursed-mask" @@ -211,8 +208,6 @@ #define BEAUTY_ELEMENT_TRAIT "beauty_element" #define MOOD_DATUM_TRAIT "mood_datum" #define DRONE_SHY_TRAIT "drone_shy" -/// Trait given by stabilized light pink extracts -#define STABILIZED_LIGHT_PINK_EXTRACT_TRAIT "stabilized_light_pink" /// Trait given by adamantine extracts #define ADAMANTINE_EXTRACT_TRAIT "adamantine_extract" /// Given by the multiple_lives component to the previous body of the mob upon death. diff --git a/code/datums/elements/organ_set_bonus.dm b/code/datums/elements/organ_set_bonus.dm index a8d1d3c7ad7..db35a2ef866 100644 --- a/code/datums/elements/organ_set_bonus.dm +++ b/code/datums/elements/organ_set_bonus.dm @@ -86,7 +86,7 @@ bonus_active = TRUE // Add traits if(length(bonus_traits)) - owner.add_traits(bonus_traits, REF(src)) + owner.add_traits(bonus_traits, TRAIT_STATUS_EFFECT(id)) // Add biotype if(owner.mob_biotypes & bonus_biotype) @@ -113,7 +113,7 @@ // Remove traits if(length(bonus_traits)) - owner.remove_traits(bonus_traits, REF(src)) + owner.remove_traits(bonus_traits, TRAIT_STATUS_EFFECT(id)) // Remove biotype (if added) if(biotype_added) owner.mob_biotypes &= ~bonus_biotype diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index e4471f2f4db..851d9784e49 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -428,7 +428,7 @@ if(iscarbon(owner)) chainsaw = new(get_turf(owner)) - ADD_TRAIT(chainsaw, TRAIT_NODROP, CHAINSAW_FRENZY_TRAIT) + ADD_TRAIT(chainsaw, TRAIT_NODROP, TRAIT_STATUS_EFFECT(id)) owner.put_in_hands(chainsaw, forced = TRUE) chainsaw.attack_self(owner) owner.reagents.add_reagent(/datum/reagent/medicine/adminordrazine, 25) @@ -559,7 +559,7 @@ owner.AddElement(/datum/element/simple_flying) owner.add_stun_absorption(source = id, priority = 4) owner.add_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) - ADD_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, id) + ADD_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, TRAIT_STATUS_EFFECT(id)) owner.playsound_local(get_turf(owner), 'sound/effects/chemistry/ahaha.ogg', vol = 100, vary = TRUE, use_reverb = TRUE) return TRUE @@ -577,7 +577,7 @@ owner.RemoveElement(/datum/element/simple_flying) owner.remove_stun_absorption(id) owner.remove_movespeed_mod_immunities(id, /datum/movespeed_modifier/damage_slowdown) - REMOVE_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, id) + REMOVE_TRAIT(owner, TRAIT_FREE_HYPERSPACE_MOVEMENT, TRAIT_STATUS_EFFECT(id)) /// Gives you a brief period of anti-gravity /datum/status_effect/jump_jet @@ -600,11 +600,11 @@ alert_type = null /datum/status_effect/radiation_immunity/on_apply() - ADD_TRAIT(owner, TRAIT_RADIMMUNE, type) + ADD_TRAIT(owner, TRAIT_RADIMMUNE, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/radiation_immunity/on_remove() - REMOVE_TRAIT(owner, TRAIT_RADIMMUNE, type) + REMOVE_TRAIT(owner, TRAIT_RADIMMUNE, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/radiation_immunity/radnebula alert_type = /atom/movable/screen/alert/status_effect/radiation_immunity diff --git a/code/datums/status_effects/buffs/food/grant_trait.dm b/code/datums/status_effects/buffs/food/grant_trait.dm index f25be3b0b3b..46d4b060739 100644 --- a/code/datums/status_effects/buffs/food/grant_trait.dm +++ b/code/datums/status_effects/buffs/food/grant_trait.dm @@ -3,16 +3,16 @@ var/trait = TRAIT_DUMB // You need to override this /datum/status_effect/food/trait/on_apply() - if(!HAS_TRAIT_FROM(owner, trait, type)) // Check if trait was already applied - ADD_TRAIT(owner, trait, type) + if(!HAS_TRAIT_FROM(owner, trait, TRAIT_STATUS_EFFECT(id))) // Check if trait was already applied + ADD_TRAIT(owner, trait, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/food/trait/be_replaced() - REMOVE_TRAIT(owner, trait, type) + REMOVE_TRAIT(owner, trait, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/food/trait/on_remove() - REMOVE_TRAIT(owner, trait, type) + REMOVE_TRAIT(owner, trait, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/food/trait/shockimmune diff --git a/code/datums/status_effects/buffs/stop_drop_roll.dm b/code/datums/status_effects/buffs/stop_drop_roll.dm index 7a671892798..96db96372dd 100644 --- a/code/datums/status_effects/buffs/stop_drop_roll.dm +++ b/code/datums/status_effects/buffs/stop_drop_roll.dm @@ -15,7 +15,7 @@ RegisterSignal(owner, COMSIG_MOVABLE_MOVED, PROC_REF(stop_rolling)) RegisterSignal(owner, COMSIG_LIVING_SET_BODY_POSITION, PROC_REF(body_position_changed)) - ADD_TRAIT(owner, TRAIT_HANDS_BLOCKED, id) // they're kinda busy! + ADD_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) // they're kinda busy! owner.visible_message( span_danger("[owner] rolls on the floor, trying to put [owner.p_them()]self out!"), @@ -31,7 +31,7 @@ /datum/status_effect/stop_drop_roll/on_remove() UnregisterSignal(owner, list(COMSIG_MOVABLE_MOVED, COMSIG_LIVING_SET_BODY_POSITION)) - REMOVE_TRAIT(owner, TRAIT_HANDS_BLOCKED, id) + REMOVE_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/stop_drop_roll/tick(seconds_between_ticks) if(HAS_TRAIT(owner, TRAIT_IMMOBILIZED) || HAS_TRAIT(owner, TRAIT_INCAPACITATED)) diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 76be7e0bcd1..03b0775d72d 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -550,13 +550,13 @@ /datum/status_effect/gonbola_pacify/on_apply() . = ..() - owner.add_traits(list(TRAIT_PACIFISM, TRAIT_MUTE), CLOTHING_TRAIT) - owner.add_mood_event(type, /datum/mood_event/gondola) + owner.add_traits(list(TRAIT_PACIFISM, TRAIT_MUTE), REF(src)) + owner.add_mood_event(REF(src), /datum/mood_event/gondola) to_chat(owner, span_notice("You suddenly feel at peace and feel no need to make any sudden or rash actions...")) /datum/status_effect/gonbola_pacify/on_remove() - owner.remove_traits(list(TRAIT_PACIFISM, TRAIT_MUTE), CLOTHING_TRAIT) - owner.clear_mood_event(type) + owner.remove_traits(list(TRAIT_PACIFISM, TRAIT_MUTE), REF(src)) + owner.clear_mood_event(REF(src)) return ..() /datum/status_effect/trance @@ -581,7 +581,7 @@ if(!iscarbon(owner)) return FALSE RegisterSignal(owner, COMSIG_MOVABLE_HEAR, PROC_REF(hypnotize)) - ADD_TRAIT(owner, TRAIT_MUTE, STATUS_EFFECT_TRAIT) + ADD_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id)) owner.add_client_colour(/datum/client_colour/monochrome/trance) owner.visible_message("[stun ? span_warning("[owner] stands still as [owner.p_their()] eyes seem to focus on a distant point.") : ""]", \ span_warning(pick("You feel your thoughts slow down...", "You suddenly feel extremely dizzy...", "You feel like you're in the middle of a dream...","You feel incredibly relaxed..."))) @@ -594,7 +594,7 @@ /datum/status_effect/trance/on_remove() UnregisterSignal(owner, COMSIG_MOVABLE_HEAR) - REMOVE_TRAIT(owner, TRAIT_MUTE, STATUS_EFFECT_TRAIT) + REMOVE_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id)) owner.remove_status_effect(/datum/status_effect/dizziness) owner.remove_client_colour(/datum/client_colour/monochrome/trance) to_chat(owner, span_warning("You snap out of your trance!")) @@ -978,11 +978,11 @@ icon_state = "convulsing" /datum/status_effect/discoordinated/on_apply() - ADD_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER, "[type]") + ADD_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/discoordinated/on_remove() - REMOVE_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER, "[type]") + REMOVE_TRAIT(owner, TRAIT_DISCOORDINATED_TOOL_USER, TRAIT_STATUS_EFFECT(id)) return ..() ///Maddly teleports the victim around all of space for 10 seconds diff --git a/code/datums/status_effects/debuffs/pacifism.dm b/code/datums/status_effects/debuffs/pacifism.dm index ef186113dc6..8307d68ca95 100644 --- a/code/datums/status_effects/debuffs/pacifism.dm +++ b/code/datums/status_effects/debuffs/pacifism.dm @@ -7,8 +7,8 @@ return ..() /datum/status_effect/pacify/on_apply() - ADD_TRAIT(owner, TRAIT_PACIFISM, id) + ADD_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/pacify/on_remove() - REMOVE_TRAIT(owner, TRAIT_PACIFISM, id) + REMOVE_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) diff --git a/code/datums/status_effects/debuffs/silenced.dm b/code/datums/status_effects/debuffs/silenced.dm index 50dab3b6da0..ed939a3ab48 100644 --- a/code/datums/status_effects/debuffs/silenced.dm +++ b/code/datums/status_effects/debuffs/silenced.dm @@ -9,12 +9,12 @@ /datum/status_effect/silenced/on_apply() RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(clear_silence)) - ADD_TRAIT(owner, TRAIT_MUTE, id) + ADD_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/silenced/on_remove() UnregisterSignal(owner, COMSIG_LIVING_DEATH) - REMOVE_TRAIT(owner, TRAIT_MUTE, id) + REMOVE_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id)) /// Signal proc that clears any silence we have (self-deletes). /datum/status_effect/silenced/proc/clear_silence(mob/living/source) diff --git a/code/datums/status_effects/debuffs/staggered.dm b/code/datums/status_effects/debuffs/staggered.dm index 88dd91c00e0..dcb5dc54888 100644 --- a/code/datums/status_effects/debuffs/staggered.dm +++ b/code/datums/status_effects/debuffs/staggered.dm @@ -71,7 +71,7 @@ COMSIG_LIVING_STATUS_STUN, COMSIG_LIVING_STATUS_IMMOBILIZE), PROC_REF(clear_stun_vulnverability) ) - ADD_TRAIT(owner, TRAIT_STUN_ON_NEXT_SHOVE, STATUS_EFFECT_TRAIT) + ADD_TRAIT(owner, TRAIT_STUN_ON_NEXT_SHOVE, TRAIT_STATUS_EFFECT(id)) vulnverability_overlay = mutable_appearance(icon = 'icons/effects/effects.dmi', icon_state = "dazed") owner.add_overlay(vulnverability_overlay) return TRUE @@ -83,7 +83,7 @@ COMSIG_LIVING_STATUS_IMMOBILIZE, COMSIG_LIVING_DEATH, )) - REMOVE_TRAIT(owner, TRAIT_STUN_ON_NEXT_SHOVE, STATUS_EFFECT_TRAIT) + REMOVE_TRAIT(owner, TRAIT_STUN_ON_NEXT_SHOVE, TRAIT_STATUS_EFFECT(id)) if(vulnverability_overlay) clear_stun_vulnverability_overlay() @@ -123,12 +123,12 @@ if(owner.stat == DEAD) return FALSE RegisterSignal(owner, COMSIG_LIVING_DEATH, PROC_REF(clear_on_death)) - ADD_TRAIT(owner, TRAIT_NO_SIDE_KICK, STATUS_EFFECT_TRAIT) + ADD_TRAIT(owner, TRAIT_NO_SIDE_KICK, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/no_side_kick/on_remove() UnregisterSignal(owner, list(COMSIG_LIVING_DEATH)) - REMOVE_TRAIT(owner, TRAIT_NO_SIDE_KICK, STATUS_EFFECT_TRAIT) + REMOVE_TRAIT(owner, TRAIT_NO_SIDE_KICK, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/no_side_kick/proc/clear_on_death(mob/living/source) SIGNAL_HANDLER diff --git a/code/datums/status_effects/debuffs/tower_of_babel.dm b/code/datums/status_effects/debuffs/tower_of_babel.dm index bd2d38e7546..fb6f61a5536 100644 --- a/code/datums/status_effects/debuffs/tower_of_babel.dm +++ b/code/datums/status_effects/debuffs/tower_of_babel.dm @@ -2,10 +2,12 @@ id = "tower_of_babel" status_type = STATUS_EFFECT_UNIQUE alert_type = /atom/movable/screen/alert/status_effect/tower_of_babel - var/trait_source = STATUS_EFFECT_TRAIT + var/trait_source /datum/status_effect/tower_of_babel/on_creation(mob/living/new_owner, duration = 15 SECONDS) src.duration = duration + if(isnull(trait_source)) + trait_source = TRAIT_STATUS_EFFECT(id) return ..() /datum/status_effect/tower_of_babel/on_apply() diff --git a/code/datums/status_effects/drug_effects.dm b/code/datums/status_effects/drug_effects.dm index 7e8466f3372..71739ade181 100644 --- a/code/datums/status_effects/drug_effects.dm +++ b/code/datums/status_effects/drug_effects.dm @@ -72,7 +72,7 @@ var/mob/living/carbon/human/human_owner = owner human_owner.add_movespeed_modifier(/datum/movespeed_modifier/reagent/cannabis) //slows you down human_owner.add_eye_color(BLOODCULT_EYE, EYE_COLOR_WEED_PRIORITY) //makes cult eyes less obvious - human_owner.add_traits(list(TRAIT_CLUMSY, TRAIT_BLOODSHOT_EYES), type) // impairs motor coordination and dilates blood vessels in eyes + human_owner.add_traits(list(TRAIT_CLUMSY, TRAIT_BLOODSHOT_EYES), TRAIT_STATUS_EFFECT(id)) // impairs motor coordination and dilates blood vessels in eyes human_owner.add_mood_event("stoned", /datum/mood_event/stoned) //improves mood human_owner.sound_environment_override = SOUND_ENVIRONMENT_DRUGGED //not realistic but very immersive return TRUE @@ -83,7 +83,7 @@ var/mob/living/carbon/human/human_owner = owner human_owner.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/cannabis) human_owner.remove_eye_color(EYE_COLOR_WEED_PRIORITY) - human_owner.remove_traits(list(TRAIT_CLUMSY, TRAIT_BLOODSHOT_EYES), type) + human_owner.remove_traits(list(TRAIT_CLUMSY, TRAIT_BLOODSHOT_EYES), TRAIT_STATUS_EFFECT(id)) human_owner.clear_mood_event("stoned") human_owner.sound_environment_override = SOUND_ENVIRONMENT_NONE diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index 1dc39e81bf2..61142c73a8c 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -76,7 +76,7 @@ CRASH("[type] status effect added to non-human owner: [owner ? owner.type : "null owner"]") var/mob/living/carbon/human/human_owner = owner human_owner.add_movespeed_modifier(/datum/movespeed_modifier/reagent/hypernoblium) //small slowdown as a tradeoff - ADD_TRAIT(human_owner, TRAIT_NOFIRE, type) + ADD_TRAIT(human_owner, TRAIT_NOFIRE, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/hypernob_protection/on_remove() @@ -84,4 +84,4 @@ stack_trace("[type] status effect being removed from non-human owner: [owner ? owner.type : "null owner"]") var/mob/living/carbon/human/human_owner = owner human_owner.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/hypernoblium) - REMOVE_TRAIT(human_owner, TRAIT_NOFIRE, type) + REMOVE_TRAIT(human_owner, TRAIT_NOFIRE, TRAIT_STATUS_EFFECT(id)) diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index cf43ff53c04..29843b16adf 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -101,11 +101,11 @@ /datum/status_effect/throat_soothed/on_apply() . = ..() - ADD_TRAIT(owner, TRAIT_SOOTHED_THROAT, "[STATUS_EFFECT_TRAIT]_[id]") + ADD_TRAIT(owner, TRAIT_SOOTHED_THROAT, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/throat_soothed/on_remove() . = ..() - REMOVE_TRAIT(owner, TRAIT_SOOTHED_THROAT, "[STATUS_EFFECT_TRAIT]_[id]") + REMOVE_TRAIT(owner, TRAIT_SOOTHED_THROAT, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/bounty id = "bounty" diff --git a/code/datums/status_effects/song_effects.dm b/code/datums/status_effects/song_effects.dm index d846f47f169..4bb3ffa9887 100644 --- a/code/datums/status_effects/song_effects.dm +++ b/code/datums/status_effects/song_effects.dm @@ -24,12 +24,12 @@ aura_desc = "dull" /datum/status_effect/song/antimagic/on_apply() - ADD_TRAIT(owner, TRAIT_ANTIMAGIC, MAGIC_TRAIT) + ADD_TRAIT(owner, TRAIT_ANTIMAGIC, TRAIT_STATUS_EFFECT(id)) playsound(owner, 'sound/items/weapons/fwoosh.ogg', 75, FALSE) return ..() /datum/status_effect/song/antimagic/on_remove() - REMOVE_TRAIT(owner, TRAIT_ANTIMAGIC, MAGIC_TRAIT) + REMOVE_TRAIT(owner, TRAIT_ANTIMAGIC, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/song/antimagic/get_examine_text() diff --git a/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm index 9c885f38628..27e6bf23902 100644 --- a/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm @@ -42,7 +42,7 @@ if(!HAS_TRAIT(owner, TRAIT_IS_WET)) apply_debuff() else - ADD_TRAIT(owner, TRAIT_GRABRESISTANCE, REF(src)) + ADD_TRAIT(owner, TRAIT_GRABRESISTANCE, TRAIT_STATUS_EFFECT(id)) owner.add_mood_event("fish_organs_bonus", /datum/mood_event/fish_water) if(HAS_TRAIT(owner, TRAIT_IS_WET) && istype(owner.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL), /obj/item/organ/tail/fish)) add_speed_buff() @@ -62,7 +62,7 @@ if(!HAS_TRAIT(owner, TRAIT_IS_WET)) remove_debuff() else - REMOVE_TRAIT(owner, TRAIT_GRABRESISTANCE, REF(src)) + REMOVE_TRAIT(owner, TRAIT_GRABRESISTANCE, TRAIT_STATUS_EFFECT(id)) owner.clear_mood_event("fish_organs_bonus") if(ishuman(owner)) var/mob/living/carbon/human/human = owner @@ -117,7 +117,7 @@ human.physiology.damage_resistance -= 16 //from +8% to -8% /datum/status_effect/organ_set_bonus/fish/proc/remove_debuff() - ADD_TRAIT(owner, TRAIT_GRABRESISTANCE, REF(src)) //harder to grab when wet. + ADD_TRAIT(owner, TRAIT_GRABRESISTANCE, TRAIT_STATUS_EFFECT(id)) //harder to grab when wet. owner.remove_movespeed_modifier(/datum/movespeed_modifier/fish_waterless) owner.add_mood_event("fish_organs_bonus", /datum/mood_event/fish_water) if(!ishuman(owner)) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm index 618ee9e6f66..2f99e1fd556 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -21,11 +21,11 @@ return ..() /datum/status_effect/unholy_determination/on_apply() - owner.add_traits(list(TRAIT_COAGULATING, TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), type) + owner.add_traits(list(TRAIT_COAGULATING, TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/unholy_determination/on_remove() - owner.remove_traits(list(TRAIT_COAGULATING, TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), type) + owner.remove_traits(list(TRAIT_COAGULATING, TRAIT_NOCRITDAMAGE, TRAIT_NOSOFTCRIT), TRAIT_STATUS_EFFECT(id)) /datum/status_effect/unholy_determination/tick(seconds_between_ticks) // The amount we heal of each damage type per tick. If we're missing legs we heal better because we can't dodge. diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm index 86d2ff78c54..12d751be83a 100644 --- a/code/modules/antagonists/heretic/magic/realignment.dm +++ b/code/modules/antagonists/heretic/magic/realignment.dm @@ -61,7 +61,7 @@ return span_notice("[owner.p_Theyre()] glowing a soft white.") /datum/status_effect/realignment/on_apply() - owner.add_traits(realignment_traits, id) + owner.add_traits(realignment_traits, TRAIT_STATUS_EFFECT(id)) owner.add_filter(id, 2, list("type" = "outline", "color" = "#d6e3e7", "size" = 2)) var/filter = owner.get_filter(id) animate(filter, alpha = 127, time = 1 SECONDS, loop = -1) @@ -69,7 +69,7 @@ return TRUE /datum/status_effect/realignment/on_remove() - owner.remove_traits(realignment_traits, id) + owner.remove_traits(realignment_traits, TRAIT_STATUS_EFFECT(id)) owner.remove_filter(id) /datum/status_effect/realignment/tick(seconds_between_ticks) diff --git a/code/modules/antagonists/heretic/magic/shadow_cloak.dm b/code/modules/antagonists/heretic/magic/shadow_cloak.dm index 8b068fbefa1..0012495867a 100644 --- a/code/modules/antagonists/heretic/magic/shadow_cloak.dm +++ b/code/modules/antagonists/heretic/magic/shadow_cloak.dm @@ -141,7 +141,7 @@ animate(cloak_image, alpha = 255, 0.2 SECONDS) owner.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, id, cloak_image) // Add the relevant traits and modifiers - owner.add_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), id) + owner.add_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), TRAIT_STATUS_EFFECT(id)) owner.add_movespeed_modifier(/datum/movespeed_modifier/shadow_cloak) owner.add_actionspeed_modifier(/datum/actionspeed_modifier/shadow_cloak) // Register signals to cause effects @@ -157,7 +157,7 @@ owner.remove_alt_appearance(id) QDEL_NULL(cloak_image) // Remove traits and modifiers - owner.remove_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), id) + owner.remove_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), TRAIT_STATUS_EFFECT(id)) owner.remove_movespeed_modifier(/datum/movespeed_modifier/shadow_cloak) owner.remove_actionspeed_modifier(/datum/actionspeed_modifier/shadow_cloak) // Clear signals diff --git a/code/modules/antagonists/heretic/magic/void_conduit.dm b/code/modules/antagonists/heretic/magic/void_conduit.dm index 16faf3b1a38..65b433440f8 100644 --- a/code/modules/antagonists/heretic/magic/void_conduit.dm +++ b/code/modules/antagonists/heretic/magic/void_conduit.dm @@ -122,8 +122,8 @@ alert_type = null /datum/status_effect/void_conduit/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, type) + ADD_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/void_conduit/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, type) + REMOVE_TRAIT(owner, TRAIT_RESISTLOWPRESSURE, TRAIT_STATUS_EFFECT(id)) diff --git a/code/modules/antagonists/heretic/magic/void_prison.dm b/code/modules/antagonists/heretic/magic/void_prison.dm index cfd85c92b6e..517fdc2984c 100644 --- a/code/modules/antagonists/heretic/magic/void_prison.dm +++ b/code/modules/antagonists/heretic/magic/void_prison.dm @@ -56,7 +56,7 @@ owner.apply_status_effect(/datum/status_effect/void_chill, 3) if(stasis_overlay) //Free our prisoner - owner.remove_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) + owner.remove_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), TRAIT_STATUS_EFFECT(id)) owner.forceMove(get_turf(stasis_overlay)) stasis_overlay.forceMove(owner) owner.vis_contents += stasis_overlay @@ -71,7 +71,7 @@ /datum/status_effect/void_prison/proc/enter_prison(mob/living/prisoner) stasis_overlay.forceMove(prisoner.loc) prisoner.forceMove(stasis_overlay) - prisoner.add_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) + prisoner.add_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), TRAIT_STATUS_EFFECT(id)) ///Makes sure to clear the ref in case the voidball ever suddenly disappears /datum/status_effect/void_prison/proc/clear_overlay() diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm index d42626871bb..345b3f85c6e 100644 --- a/code/modules/antagonists/heretic/status_effects/buffs.dm +++ b/code/modules/antagonists/heretic/status_effects/buffs.dm @@ -52,12 +52,12 @@ alert_type =/atom/movable/screen/alert/status_effect/duskndawn /datum/status_effect/duskndawn/on_apply() - ADD_TRAIT(owner, TRAIT_XRAY_VISION, STATUS_EFFECT_TRAIT) + ADD_TRAIT(owner, TRAIT_XRAY_VISION, TRAIT_STATUS_EFFECT(id)) owner.update_sight() return TRUE /datum/status_effect/duskndawn/on_remove() - REMOVE_TRAIT(owner, TRAIT_XRAY_VISION, STATUS_EFFECT_TRAIT) + REMOVE_TRAIT(owner, TRAIT_XRAY_VISION, TRAIT_STATUS_EFFECT(id)) owner.update_sight() // WOUNDED SOLDIER @@ -215,7 +215,7 @@ if(HAS_TRAIT(source, TRAIT_BEING_BLADE_SHIELDED)) return - ADD_TRAIT(source, TRAIT_BEING_BLADE_SHIELDED, type) + ADD_TRAIT(source, TRAIT_BEING_BLADE_SHIELDED, TRAIT_STATUS_EFFECT(id)) var/obj/effect/floating_blade/to_remove = blades[1] @@ -228,7 +228,7 @@ qdel(to_remove) - addtimer(TRAIT_CALLBACK_REMOVE(source, TRAIT_BEING_BLADE_SHIELDED, type), 0.1 SECONDS) + addtimer(TRAIT_CALLBACK_REMOVE(source, TRAIT_BEING_BLADE_SHIELDED, TRAIT_STATUS_EFFECT(id)), 0.1 SECONDS) return SUCCESSFUL_BLOCK @@ -338,11 +338,11 @@ alert_type = /atom/movable/screen/alert/status_effect/moon_grasp_hide /datum/status_effect/moon_grasp_hide/on_apply() - owner.add_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), id) + owner.add_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), TRAIT_STATUS_EFFECT(id)) return TRUE /datum/status_effect/moon_grasp_hide/on_remove() - owner.remove_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), id) + owner.remove_traits(list(TRAIT_UNKNOWN, TRAIT_SILENT_FOOTSTEPS), TRAIT_STATUS_EFFECT(id)) /atom/movable/screen/alert/status_effect/moon_grasp_hide name = "Blessing of The Moon" diff --git a/code/modules/antagonists/heretic/status_effects/debuffs.dm b/code/modules/antagonists/heretic/status_effects/debuffs.dm index 7bb2ebbd0e7..363a1f91339 100644 --- a/code/modules/antagonists/heretic/status_effects/debuffs.dm +++ b/code/modules/antagonists/heretic/status_effects/debuffs.dm @@ -216,7 +216,7 @@ to_chat(owner, span_hypnophrase(("THE MOON SHOWS YOU THE TRUTH AND THE LIARS WISH TO COVER IT, SLAY THEM ALL!!!"))) owner.balloon_alert(owner, "they lie..THEY ALL LIE!!!") owner.AdjustUnconscious(7 SECONDS, ignore_canstun = FALSE) - ADD_TRAIT(owner, TRAIT_MUTE, REF(src)) + ADD_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id)) RegisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(update_owner_overlay)) owner.update_appearance(UPDATE_OVERLAYS) owner.cause_hallucination(/datum/hallucination/delusion/preset/moon, "[id] status effect", duration = duration, affects_us = FALSE, affects_others = TRUE) @@ -243,7 +243,7 @@ /datum/status_effect/moon_converted/on_remove() // Span warning and unconscious so they realize they aren't evil anymore to_chat(owner, span_warning("Your mind is cleared from the effect of the mansus, your alligiences are as they were before")) - REMOVE_TRAIT(owner, TRAIT_MUTE, REF(src)) + REMOVE_TRAIT(owner, TRAIT_MUTE, TRAIT_STATUS_EFFECT(id)) owner.AdjustUnconscious(5 SECONDS, ignore_canstun = FALSE) owner.log_message("[owner] is no longer insane.", LOG_GAME) UnregisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS) diff --git a/code/modules/antagonists/heretic/status_effects/ghoul.dm b/code/modules/antagonists/heretic/status_effects/ghoul.dm index 34778d380fb..0ab04955a03 100644 --- a/code/modules/antagonists/heretic/status_effects/ghoul.dm +++ b/code/modules/antagonists/heretic/status_effects/ghoul.dm @@ -60,8 +60,8 @@ human_target.health = new_max_health on_made_callback?.Invoke(human_target) - ADD_TRAIT(human_target, TRAIT_FAKEDEATH, REF(src)) - human_target.become_husk(MAGIC_TRAIT) + ADD_TRAIT(human_target, TRAIT_FAKEDEATH, TRAIT_STATUS_EFFECT(id)) + human_target.become_husk(TRAIT_STATUS_EFFECT(id)) human_target.faction |= FACTION_HERETIC if(human_target.mind) @@ -89,8 +89,8 @@ human_target.setMaxHealth(initial(human_target.maxHealth)) on_lost_callback?.Invoke(human_target) - REMOVE_TRAIT(human_target, TRAIT_FAKEDEATH, REF(src)) - human_target.cure_husk(MAGIC_TRAIT) + REMOVE_TRAIT(human_target, TRAIT_FAKEDEATH, TRAIT_STATUS_EFFECT(id)) + human_target.cure_husk(TRAIT_STATUS_EFFECT(id)) human_target.faction -= FACTION_HERETIC human_target.mind?.remove_antag_datum(/datum/antagonist/heretic_monster) diff --git a/code/modules/antagonists/heretic/status_effects/mark_effects.dm b/code/modules/antagonists/heretic/status_effects/mark_effects.dm index ba8a86340d7..65fb804991a 100644 --- a/code/modules/antagonists/heretic/status_effects/mark_effects.dm +++ b/code/modules/antagonists/heretic/status_effects/mark_effects.dm @@ -256,7 +256,7 @@ . = ..() if(owner.can_block_magic(MAGIC_RESISTANCE_MIND)) return FALSE - ADD_TRAIT(owner, TRAIT_PACIFISM, id) + ADD_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) owner.emote(pick("giggle", "laugh")) owner.balloon_alert(owner, "you feel unable to hurt a soul!") RegisterSignal (owner, COMSIG_MOB_APPLY_DAMAGE, PROC_REF(on_damaged)) @@ -276,7 +276,7 @@ return // Removes the trait in here since we don't wanna destroy the mark before its detonated or allow detonation triggers with other weapons - REMOVE_TRAIT(owner, TRAIT_PACIFISM, id) + REMOVE_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) owner.balloon_alert(owner, "you feel able to once again strike!") /datum/status_effect/eldritch/moon/on_effect() @@ -291,4 +291,4 @@ UnregisterSignal (owner, COMSIG_MOB_APPLY_DAMAGE) // In case the trait was not removed earlier - REMOVE_TRAIT(owner, TRAIT_PACIFISM, id) + REMOVE_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.dm b/code/modules/antagonists/heretic/status_effects/void_chill.dm index c286fcd2982..ce302e21c3a 100644 --- a/code/modules/antagonists/heretic/status_effects/void_chill.dm +++ b/code/modules/antagonists/heretic/status_effects/void_chill.dm @@ -33,7 +33,7 @@ owner.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_BLUE_LIGHT) owner.remove_movespeed_modifier(/datum/movespeed_modifier/void_chill) owner.remove_alt_appearance("heretic_status") - REMOVE_TRAIT(owner, TRAIT_HYPOTHERMIC, REF(src)) + REMOVE_TRAIT(owner, TRAIT_HYPOTHERMIC, TRAIT_STATUS_EFFECT(id)) UnregisterSignal(owner, COMSIG_ATOM_UPDATE_OVERLAYS) /datum/status_effect/void_chill/tick(seconds_between_ticks) @@ -74,7 +74,7 @@ stacks = max(0, min(stack_limit, stacks + new_stacks)) update_movespeed(stacks) if(stacks >= 5) - ADD_TRAIT(owner, TRAIT_HYPOTHERMIC, REF(src)) + ADD_TRAIT(owner, TRAIT_HYPOTHERMIC, TRAIT_STATUS_EFFECT(id)) ///Updates the movespeed of owner based on the amount of stacks of the debuff /datum/status_effect/void_chill/proc/update_movespeed(stacks) diff --git a/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm b/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm index 6fbe461543a..b63e1bea2f8 100644 --- a/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm +++ b/code/modules/antagonists/voidwalker/voidwalker_status_effects.dm @@ -39,8 +39,8 @@ /datum/status_effect/void_eatered/on_apply() . = ..() - ADD_TRAIT(owner, TRAIT_NODEATH, type) + ADD_TRAIT(owner, TRAIT_NODEATH, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/void_eatered/on_remove() . = ..() - REMOVE_TRAIT(owner, TRAIT_NODEATH, type) + REMOVE_TRAIT(owner, TRAIT_NODEATH, TRAIT_STATUS_EFFECT(id)) diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm index f88624ce125..d084850c057 100644 --- a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm @@ -96,7 +96,7 @@ . = ..() if (!.) return FALSE - owner.add_traits(list(TRAIT_OVERWATCHED, TRAIT_OVERWATCH_IMMUNE), TRAIT_STATUS_EFFECT(id)) + owner.add_traits(list(TRAIT_OVERWATCHED, TRAIT_OVERWATCH_IMMUNE), REF(src)) owner.do_alert_animation() owner.Immobilize(0.25 SECONDS) // Just long enough that they don't trigger it by mistake owner.playsound_local(owner, 'sound/machines/chime.ogg', 50, TRUE) @@ -109,7 +109,7 @@ /datum/status_effect/overwatch/on_remove() UnregisterSignal(owner, forbidden_actions + list(COMSIG_QDELETING, COMSIG_LIVING_DEATH)) QDEL_NULL(link) - owner.remove_traits(list(TRAIT_OVERWATCHED, TRAIT_OVERWATCH_IMMUNE), TRAIT_STATUS_EFFECT(id)) + owner.remove_traits(list(TRAIT_OVERWATCHED, TRAIT_OVERWATCH_IMMUNE), REF(src)) if (!QDELETED(owner)) owner.apply_status_effect(/datum/status_effect/overwatch_immune) return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 7888056e751..2a0d5544ba1 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -247,12 +247,12 @@ duration = 100 /datum/status_effect/firecookie/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") + ADD_TRAIT(owner, TRAIT_RESISTCOLD, TRAIT_STATUS_EFFECT(id)) owner.adjust_bodytemperature(110) return ..() /datum/status_effect/firecookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") + REMOVE_TRAIT(owner, TRAIT_RESISTCOLD, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/watercookie id = "watercookie" @@ -261,7 +261,7 @@ duration = 100 /datum/status_effect/watercookie/on_apply() - ADD_TRAIT(owner, TRAIT_NO_SLIP_WATER,"watercookie") + ADD_TRAIT(owner, TRAIT_NO_SLIP_WATER, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/watercookie/tick(seconds_between_ticks) @@ -269,7 +269,7 @@ T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) /datum/status_effect/watercookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_NO_SLIP_WATER,"watercookie") + REMOVE_TRAIT(owner, TRAIT_NO_SLIP_WATER, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/metalcookie id = "metalcookie" @@ -314,11 +314,11 @@ duration = 600 /datum/status_effect/toxincookie/on_apply() - ADD_TRAIT(owner, TRAIT_TOXINLOVER,"toxincookie") + ADD_TRAIT(owner, TRAIT_TOXINLOVER, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/toxincookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_TOXINLOVER,"toxincookie") + REMOVE_TRAIT(owner, TRAIT_TOXINLOVER, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/timecookie id = "timecookie" @@ -411,11 +411,11 @@ duration = 30 /datum/status_effect/plur/on_apply() - ADD_TRAIT(owner, TRAIT_PACIFISM, "peacecookie") + ADD_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/plur/on_remove() - REMOVE_TRAIT(owner, TRAIT_PACIFISM, "peacecookie") + REMOVE_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/adamantinecookie id = "adamantinecookie" @@ -543,11 +543,11 @@ colour = SLIME_TYPE_BLUE /datum/status_effect/stabilized/blue/on_apply() - ADD_TRAIT(owner, TRAIT_NO_SLIP_WATER, "slimestatus") + ADD_TRAIT(owner, TRAIT_NO_SLIP_WATER, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/stabilized/blue/on_remove() - REMOVE_TRAIT(owner, TRAIT_NO_SLIP_WATER, "slimestatus") + REMOVE_TRAIT(owner, TRAIT_NO_SLIP_WATER, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/stabilized/metal id = "stabilizedmetal" @@ -608,7 +608,7 @@ var/obj/item/hothands/fire /datum/status_effect/stabilized/darkpurple/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTHEATHANDS, "slimestatus") + ADD_TRAIT(owner, TRAIT_RESISTHEATHANDS, TRAIT_STATUS_EFFECT(id)) fire = new(owner) return ..() @@ -622,7 +622,7 @@ return ..() /datum/status_effect/stabilized/darkpurple/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTHEATHANDS, "slimestatus") + REMOVE_TRAIT(owner, TRAIT_RESISTHEATHANDS, TRAIT_STATUS_EFFECT(id)) qdel(fire) /datum/status_effect/stabilized/darkpurple/get_examine_text() @@ -1007,7 +1007,7 @@ /datum/status_effect/stabilized/lightpink/on_apply() owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - ADD_TRAIT(owner, TRAIT_PACIFISM, STABILIZED_LIGHT_PINK_EXTRACT_TRAIT) + ADD_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) return ..() /datum/status_effect/stabilized/lightpink/tick(seconds_between_ticks) @@ -1019,7 +1019,7 @@ /datum/status_effect/stabilized/lightpink/on_remove() owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - REMOVE_TRAIT(owner, TRAIT_PACIFISM, STABILIZED_LIGHT_PINK_EXTRACT_TRAIT) + REMOVE_TRAIT(owner, TRAIT_PACIFISM, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/stabilized/adamantine id = "stabilizedadamantine" diff --git a/code/modules/spells/spell_types/shapeshift/_shape_status.dm b/code/modules/spells/spell_types/shapeshift/_shape_status.dm index 9e1284d27f6..5074412ce28 100644 --- a/code/modules/spells/spell_types/shapeshift/_shape_status.dm +++ b/code/modules/spells/spell_types/shapeshift/_shape_status.dm @@ -32,7 +32,7 @@ /datum/status_effect/shapechange_mob/on_apply() caster_mob.mind?.transfer_to(owner) caster_mob.forceMove(owner) - ADD_TRAIT(caster_mob, TRAIT_NO_TRANSFORM, REF(src)) + ADD_TRAIT(caster_mob, TRAIT_NO_TRANSFORM, TRAIT_STATUS_EFFECT(id)) caster_mob.apply_status_effect(/datum/status_effect/grouped/stasis, STASIS_SHAPECHANGE_EFFECT) RegisterSignal(owner, COMSIG_LIVING_PRE_WABBAJACKED, PROC_REF(on_pre_wabbajack)) @@ -86,7 +86,7 @@ UnregisterSignal(owner, list(COMSIG_LIVING_PRE_WABBAJACKED, COMSIG_LIVING_DEATH)) UnregisterSignal(caster_mob, list(COMSIG_QDELETING, COMSIG_LIVING_DEATH)) - REMOVE_TRAIT(caster_mob, TRAIT_NO_TRANSFORM, REF(src)) + REMOVE_TRAIT(caster_mob, TRAIT_NO_TRANSFORM, TRAIT_STATUS_EFFECT(id)) caster_mob.remove_status_effect(/datum/status_effect/grouped/stasis, STASIS_SHAPECHANGE_EFFECT) var/atom/former_loc = owner.loc