diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index 18d4908c9df7..b23389da4fb8 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -522,6 +522,9 @@ // Hive Pylon protection range #define XENO_HIVE_PYLON_PROTECTION_RANGE 8 +// Fire damage multiplier +#define XENO_FIRE_DAMAGE_MULT_VERY_LARGE 3 + ///////////////////////////////////////////////////////////////////////////////////// // // Default scaling values diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index adfb65169c88..89676114f48b 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -206,6 +206,7 @@ var/evasion_modifier = 0 var/attack_speed_modifier = 0 var/armor_integrity_modifier = 0 + var/fire_vulnerability_mult_modifier = 0 var/list/modifier_sources diff --git a/code/modules/mob/living/carbon/xenomorph/life.dm b/code/modules/mob/living/carbon/xenomorph/life.dm index 15367d9c5d61..21d63a212e35 100644 --- a/code/modules/mob/living/carbon/xenomorph/life.dm +++ b/code/modules/mob/living/carbon/xenomorph/life.dm @@ -83,8 +83,8 @@ G.die() drop_inv_item_on_ground(G) if(!caste || !(caste.fire_immunity & FIRE_IMMUNITY_NO_DAMAGE) || fire_reagent.fire_penetrating) - if(caste.fire_immunity & FIRE_VULNERABILITY && caste.fire_vulnerability_mult >= 1) - apply_damage(PASSIVE_BURN_DAM_CALC(fire_reagent.intensityfire, fire_reagent.durationfire, fire_stacks) * caste.fire_vulnerability_mult, BURN) + if(caste.fire_immunity & FIRE_VULNERABILITY && (caste.fire_vulnerability_mult + fire_vulnerability_mult_modifier) >= 1) + apply_damage(PASSIVE_BURN_DAM_CALC(fire_reagent.intensityfire, fire_reagent.durationfire, fire_stacks) * (caste.fire_vulnerability_mult + fire_vulnerability_mult_modifier), BURN) else apply_damage(armor_damage_reduction(GLOB.xeno_fire, PASSIVE_BURN_DAM_CALC(fire_reagent.intensityfire, fire_reagent.durationfire, fire_stacks)), BURN) INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), pick("roar", "needhelp")) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/boiler/trapper.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/boiler/trapper.dm index f64bfd6b500f..8f170a5138b4 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/boiler/trapper.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/boiler/trapper.dm @@ -33,6 +33,7 @@ boiler.health_modifier -= XENO_HEALTH_MOD_MED boiler.speed_modifier += XENO_SPEED_SLOWMOD_TIER_5 // compensating for base buffs + boiler.fire_vulnerability_mult_modifier -= XENO_FIRE_DAMAGE_MULT_VERY_LARGE // Default is 0, not 1 for some reason boiler.recalculate_everything() /datum/behavior_delegate/boiler_trapper