From fdd0ae9db0029dbf86cbbae0696edf8d00833b4a Mon Sep 17 00:00:00 2001 From: Arturlang <24881678+Arturlang@users.noreply.github.com> Date: Sun, 1 Dec 2024 11:31:43 +0200 Subject: [PATCH] Can't kinetic crusher mark a space dragon anymore (#2591) ## About The Pull Request Makes dragons unable to be marked by a kinetic crusher. ## Why It's Good For The Game Kinetic crushers get kinda whack amounts of damage with mark because they're balanced for megafauna health. ## Proof Of Testing https://github.com/user-attachments/assets/9f62107b-f9c7-41d4-99e0-82bf8e35c17c ## Changelog :cl: balance: Can't kinetic crusher mark space dragons anymore /:cl: --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> --- code/__DEFINES/~~bubber_defines/traits/declarations.dm | 4 ++++ code/_globalvars/traits/_traits.dm | 3 ++- .../mob/living/basic/space_fauna/space_dragon/space_dragon.dm | 2 +- .../code/datums/status_effects/debuffs/debuffs.dm | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/~~bubber_defines/traits/declarations.dm b/code/__DEFINES/~~bubber_defines/traits/declarations.dm index 2492e6856ab..31dc4193e6c 100644 --- a/code/__DEFINES/~~bubber_defines/traits/declarations.dm +++ b/code/__DEFINES/~~bubber_defines/traits/declarations.dm @@ -29,3 +29,7 @@ #define TRAIT_PET_SKILLCHIP "mkii_ultra" #define TRAIT_SIGN_LANGUAGE_BLOCKED "sign_language_blocked" + +// makes the mob immune to crusher marks even if they are within the required mob size +#define TRAIT_CRUSHER_MARK_IMMUNE "crusher_mark_immune" + diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index ef5fa69138e..1f767f6aac7 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -561,7 +561,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SPEECH_BOOSTER" = TRAIT_SPEECH_BOOSTER, "TRAIT_MINING_PARRYING" = TRAIT_MINING_PARRYING, "TRAIT_ILLUSORY_EFFECT" = TRAIT_ILLUSORY_EFFECT, - "TRAIT_SIGN_LANGUAGE_BLOCKED" = TRAIT_SIGN_LANGUAGE_BLOCKED + "TRAIT_SIGN_LANGUAGE_BLOCKED" = TRAIT_SIGN_LANGUAGE_BLOCKED, + "TRAIT_CRUSHER_MARK_IMMUNE" = TRAIT_CRUSHER_MARK_IMMUNE, // BUBBER EDIT ADDITION ), /obj/item = list( "TRAIT_APC_SHOCKING" = TRAIT_APC_SHOCKING, diff --git a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm index b1acd8f9631..dac119e843b 100644 --- a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm +++ b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm @@ -69,7 +69,7 @@ /mob/living/basic/space_dragon/Initialize(mapload) . = ..() - add_traits(list(TRAIT_SPACEWALK, TRAIT_FREE_HYPERSPACE_MOVEMENT, TRAIT_NO_FLOATING_ANIM, TRAIT_HEALS_FROM_CARP_RIFTS), INNATE_TRAIT) + add_traits(list(TRAIT_SPACEWALK, TRAIT_FREE_HYPERSPACE_MOVEMENT, TRAIT_NO_FLOATING_ANIM, TRAIT_HEALS_FROM_CARP_RIFTS, TRAIT_CRUSHER_MARK_IMMUNE), INNATE_TRAIT) // BUBBER EDIT - ADDED TRAIT_CRUSHER_MARK_IMMUNE AddElement(/datum/element/simple_flying) AddElement(/datum/element/content_barfer) AddElement(/datum/element/wall_tearer, tear_time = 4 SECONDS, reinforced_multiplier = 3, do_after_key = DOAFTER_SOURCE_SPACE_DRAGON_INTERACTION) diff --git a/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm b/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm index 39a80eaa574..5dcbba23467 100644 --- a/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm +++ b/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm @@ -11,7 +11,7 @@ return ..() /datum/status_effect/crusher_mark/on_apply() - if(owner.mob_size >= MOB_SIZE_LARGE) + if(owner.mob_size >= MOB_SIZE_LARGE && !HAS_TRAIT(owner, TRAIT_CRUSHER_MARK_IMMUNE)) marked_underlay = mutable_appearance('icons/effects/effects.dmi', "shield2") marked_underlay.pixel_x = -owner.pixel_x marked_underlay.pixel_y = -owner.pixel_y