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