diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 3c68b3c986ab..76bd5bdd7f5c 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -89,8 +89,6 @@ melee_damage_upper = 10 var/melee_vehicle_damage = 10 var/claw_type = CLAW_TYPE_NORMAL - var/burn_damage_lower = 0 - var/burn_damage_upper = 0 var/plasma_stored = 10 var/plasma_max = 10 var/plasma_gain = 5 diff --git a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm index cfed6878a9f4..ced70f95be4b 100644 --- a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm +++ b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm @@ -69,8 +69,6 @@ attacking_xeno.track_slashes(attacking_xeno.caste_type) //Adds to slash stat. var/damage = rand(attacking_xeno.melee_damage_lower, attacking_xeno.melee_damage_upper) + dam_bonus var/acid_damage = 0 - if(attacking_xeno.burn_damage_lower) - acid_damage = rand(attacking_xeno.burn_damage_lower, attacking_xeno.burn_damage_upper) //Frenzy auras stack in a way, then the raw value is multipled by two to get the additive modifier if(attacking_xeno.frenzy_aura > 0) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/runner/acid.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/runner/acid.dm index 0fb4a17190a1..cbf6ada78b20 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/runner/acid.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/runner/acid.dm @@ -1,6 +1,6 @@ /datum/xeno_strain/acider name = RUNNER_ACIDER - description = "At the cost of a little bit of your speed and all of your current abilities, you gain a considerable amount of health, some armor, and a new organ that fills with volatile acid over time. Your Tail Stab and slashes apply acid to living lifeforms that slowly burns them, and slashes against targets with acid stacks fill your acid glands. You also gain Corrosive Acid equivalent to that of a boiler that you can deploy more quickly than any other caste, at the cost of a chunk of your acid reserves with each use. Finally, after a twenty second windup, you can force your body to explode, covering everything near you with acid. The more acid you have stored, the more devastating the explosion will be, but during those twenty seconds before detonation you are slowed and give off several warning signals which give talls an opportunity to end you before you can detonate. If you successfully explode, you will reincarnate as a larva again!" + description = "At the cost of a little bit of your speed and all of your current abilities, you gain a considerable amount of health, some armor, and a new organ that fills with volatile acid over time up to a certain amount. Your Tail Stab and slashes apply acid to living lifeforms that slowly burns them, and slashes against targets with acid stacks fill your acid glands. As you are in combat, your glands become active and produce passivly more acid until the figth is over. You also gain Corrosive Acid equivalent to that of a boiler that you can deploy more quickly than any other caste, at the cost of a chunk of your acid reserves with each use. Finally, after a twenty second windup, you can force your body to explode, covering everything near you with acid. The more acid you have stored, the more devastating the explosion will be, but during those twenty seconds before detonation you are slowed and give off several warning signals which give talls an opportunity to end you before you can detonate. If you successfully explode, you will reincarnate as a larva again!" flavor_description = "This one will be the last thing they hear. A martyr." icon_state_prefix = "Acider" @@ -35,6 +35,11 @@ var/acid_slash_regen_lying = 8 var/acid_slash_regen_standing = 14 var/acid_passive_regen = 1 + var/acid_gen_cap = 400 //Ammount of acid from wich passive acid generation stops + + var/combat_acid_regen = 1 //how much acid runners passivly generate per tick in combat + var/combat_gen_timer = 30 //deci-seconds acid gen is active after a slash + var/combat_gen_active = FALSE //this defines if the combat acid generation is on or off var/melt_acid_cost = 100 @@ -53,9 +58,14 @@ if(acid_amount < 0) acid_amount = 0 -/datum/behavior_delegate/runner_acider/append_to_stat() +/datum/behavior_delegate/runner_acider/append_to_stat() //The status pannel info for Acid Runner is handelt here. . = list() - . += "Acid: [acid_amount]" + var/combat_gen_text = "Inactive" + . += "Acid: [acid_amount]/[max_acid]" + . += "Acid generation cap: [acid_gen_cap]" + if(combat_gen_active) + combat_gen_text = "Active" + . += "Battle acid generation: [combat_gen_text]" if(caboom_trigger) . += "FOR THE HIVE!: in [caboom_left] seconds" @@ -82,8 +92,14 @@ return modify_acid(acid_slash_regen_standing) + addtimer(CALLBACK(src, PROC_REF(combat_gen_end)), combat_gen_timer, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //this calls for the proc to turn combat acid gen off after a set time passes + combat_gen_active = TRUE //turns combat acid regen on + /datum/behavior_delegate/runner_acider/on_life() - modify_acid(acid_passive_regen) + if(acid_amount < acid_gen_cap) + modify_acid(acid_passive_regen) + if(combat_gen_active == TRUE) + modify_acid(combat_acid_regen) if(!bound_xeno) return if(bound_xeno.stat == DEAD) @@ -106,8 +122,11 @@ var/image/holder = bound_xeno.hud_list[PLASMA_HUD] holder.overlays.Cut() var/percentage_acid = round((acid_amount / max_acid) * 100, 10) + var/percentage_acid_cap = round((acid_gen_cap /max_acid) * 100, 10) if(percentage_acid) holder.overlays += image('icons/mob/hud/hud.dmi', "xenoenergy[percentage_acid]") + if(acid_amount >= acid_gen_cap) + holder.overlays += image('icons/mob/hud/hud.dmi', "cap[percentage_acid_cap]") /datum/behavior_delegate/runner_acider/handle_death(mob/M) var/image/holder = bound_xeno.hud_list[PLASMA_HUD] @@ -165,3 +184,6 @@ to_chat(src, SPAN_XENOWARNING("You cannot ventcrawl when you are about to explode!")) return FALSE return ..() + +/datum/behavior_delegate/runner_acider/proc/combat_gen_end() + combat_gen_active = FALSE diff --git a/icons/mob/hud/hud.dmi b/icons/mob/hud/hud.dmi index 1c943375216a..30d6c0630db7 100644 Binary files a/icons/mob/hud/hud.dmi and b/icons/mob/hud/hud.dmi differ