Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Acid Runner: Acid gen cap #7850

Open
wants to merge 35 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
ab6169d
ye
TheManWithNoHands Dec 18, 2024
49f55fc
Hud and panel + notes
TheManWithNoHands Dec 18, 2024
aee4b05
Hud tweaks
TheManWithNoHands Dec 18, 2024
d687b33
getting burn dmg in
TheManWithNoHands Dec 19, 2024
38e0562
removes burn dmg code
TheManWithNoHands Dec 19, 2024
7f402ee
remove dead code
TheManWithNoHands Dec 19, 2024
09d0275
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Dec 29, 2024
b9ffea0
requested changes
TheManWithNoHands Dec 30, 2024
022e098
Merge branch 'acid-runner-sensibel' of https://github.com/TheManWithN…
TheManWithNoHands Dec 30, 2024
650c941
Merge branch 'master' into acid-runner-sensibel
TheManWithNoHands Dec 30, 2024
48af663
acid.dm aktualisieren
TheManWithNoHands Dec 31, 2024
6e782cd
Buff migth be bad
TheManWithNoHands Jan 1, 2025
b8d2438
more reverting
TheManWithNoHands Jan 1, 2025
e689947
combat acid regen
TheManWithNoHands Jan 5, 2025
cb34081
teeny fixes
TheManWithNoHands Jan 5, 2025
67e1110
woops, forgot to update description
TheManWithNoHands Jan 5, 2025
813f4b9
combat-gen overlay
TheManWithNoHands Jan 9, 2025
78ca468
animated spreeets
TheManWithNoHands Jan 10, 2025
9e274af
New visual stuff
TheManWithNoHands Jan 11, 2025
bd6dc36
adjusted combat gen time
TheManWithNoHands Jan 17, 2025
8459e1e
update to rest overlay and notes
TheManWithNoHands Jan 17, 2025
fefc64a
small cahnge to combat acid ammount
TheManWithNoHands Jan 20, 2025
426d701
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Jan 26, 2025
44e45c5
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Jan 26, 2025
4228068
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Jan 26, 2025
dd2488c
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Jan 26, 2025
df5a9a8
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Jan 26, 2025
b2927b1
Update code/modules/mob/living/carbon/xenomorph/strains/castes/runner…
TheManWithNoHands Jan 26, 2025
e9aa798
var name
TheManWithNoHands Jan 26, 2025
3fe14c5
fix
TheManWithNoHands Jan 26, 2025
cc3bf3e
ahh
TheManWithNoHands Jan 26, 2025
c10324c
-aaa
TheManWithNoHands Jan 26, 2025
b41c125
requested changes
TheManWithNoHands Jan 28, 2025
f95d567
wupps
TheManWithNoHands Jan 28, 2025
267636e
upsy, too much
TheManWithNoHands Jan 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/Xenomorph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,6 @@
melee_damage_upper = 10
var/melee_vehicle_damage = 10
var/claw_type = CLAW_TYPE_NORMAL
var/burn_damage_lower = 0
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
var/burn_damage_upper = 0
var/plasma_stored = 10
var/plasma_max = 10
var/plasma_gain = 5
Expand Down
2 changes: 0 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/attack_alien.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
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)
Expand Down
Original file line number Diff line number Diff line change
@@ -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!"
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
flavor_description = "This one will be the last thing they hear. A martyr."
icon_state_prefix = "Acider"

Expand Down Expand Up @@ -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 after wich passive acid generation stops

var/combat_acid_regen = 1 //how much acid runners passivly generate per tick in combat
var/combat_gen_timer = 80 //deci-seconds acid gen is active after a slash/tailstab
var/combat_gen_active = FALSE //this defines if the combat acid generation is on or off
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved

var/melt_acid_cost = 100

Expand All @@ -46,16 +51,25 @@
var/caboom_burn_range_ratio = 100
var/caboom_struct_acid_type = /obj/effect/xenomorph/acid

var/drool_applied_recently = FALSE
var/mutable_appearance/drool_applied_icon
Drulikar marked this conversation as resolved.
Show resolved Hide resolved

/datum/behavior_delegate/runner_acider/proc/modify_acid(amount)
acid_amount += amount
if(acid_amount > max_acid)
acid_amount = max_acid
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.
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
. = list()
. += "Acid: [acid_amount]"
var/combat_gen_text = "Inactive"
. += "Acid: [acid_amount]/[max_acid]"
if(acid_amount >= acid_gen_cap)
. += "Passive acid generation cap ([acid_gen_cap]) reached"
if(combat_gen_active)
combat_gen_text = "Active"
. += "Battle acid generation: [combat_gen_text]"
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
if(caboom_trigger)
. += "FOR THE HIVE!: in [caboom_left] seconds"

Expand All @@ -82,8 +96,15 @@
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
drool_applied_recently = TRUE //turns the overlay on
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved

/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)
TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
modify_acid(combat_acid_regen)
if(!bound_xeno)
return
if(bound_xeno.stat == DEAD)
Expand All @@ -106,8 +127,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]
Expand Down Expand Up @@ -165,3 +189,31 @@
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() //This proc is triggerd once the combat acid timer runs out.
combat_gen_active = FALSE //turns combat acid off

TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
drool_applied_recently = FALSE //turns the drool overlay off
bound_xeno.update_icons()

/datum/behavior_delegate/runner_acider/on_update_icons()
if(!drool_applied_icon)
drool_applied_icon = mutable_appearance('icons/mob/xenos/castes/tier_1/runner_strain_overlays.dmi',"Acider Runner Walking")

TheManWithNoHands marked this conversation as resolved.
Show resolved Hide resolved
bound_xeno.overlays -= drool_applied_icon
drool_applied_icon.overlays.Cut()

if(!drool_applied_recently)
return

if(bound_xeno.stat == DEAD)
drool_applied_icon.icon_state = "Acider Runner Dead"
else if(bound_xeno.body_position == LYING_DOWN)
if(!HAS_TRAIT(bound_xeno, TRAIT_INCAPACITATED) && !HAS_TRAIT(bound_xeno, TRAIT_FLOORED))
drool_applied_icon.icon_state = "Acider Runner Sleeping"
else
drool_applied_icon.icon_state = "Acider Runner Knocked Down"
else
drool_applied_icon.icon_state = "Acider Runner Walking"

bound_xeno.overlays += drool_applied_icon
Binary file modified icons/mob/hud/hud.dmi
Binary file not shown.
Binary file not shown.
Loading