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 19 commits into
base: master
Choose a base branch
from

Conversation

TheManWithNoHands
Copy link
Contributor

@TheManWithNoHands TheManWithNoHands commented Dec 18, 2024

About the pull request

  • Adds acid passive generation cap of 400 accid. This stops passive acid generation once the cap is met.
  • Adds additional acid generation beyond the cap during active combat. This is done by turning on additonal passive acid generation for a few seconds every time the player slashes or tailstabs an enemy. This stacks over normal passive generation, if the player is under the cap. The acid cap itself, does not influence if this can be triggerd or not, so it can be triggerd ABOVE the cap.
  • Adds hud element to show acid generation cap being reached. This is the blue dot.
  • Adds status panel element to show current max acid gen cap
  • Adds status panel element to show if combat acid gen is active or not
  • Changes status panel to show the maximum acid next to the current acid
  • Adds UI element to show if combat acid is active or not.

Explain why it's good for the game

Acid Runner has been controversial for a while now.
The ability " For the hive" is mainly the problem. It surrounds many of the same problems OT has, such as the fact that you can gain something immensely powerful with little to no effort. But outright removing it isn't the best because "For the Hive" is very fun for the player using it.
So let's make it just fairer to get, instead of nerfing the ability itself.

Currently, it's possible to get the highest possible explosion by doing nothing.
The cap on passive generation changes that.
It stops once the threshold is met, and starts again once acid gets lower.

Furthermore there is now COMBAT ACID GENERATION!!!!
This basicly mean you gain 1 acid every tick while your figthing.
This means players have 1:1 the same acid gain while their in combat, pre cap.
Further more, it stacks ONTOP of the passive acid generation. This means players can reach the cap much faster, if they engage in combat. This should heavily reward acid runners to be more active now, while keeping the overall acid gain for active players pretty much unchanged.

The cap should be high enough though for more inexperienced players to still get enough acid. So even players that aren't that good, still have the opportunity to use Acid Runners full kit.
If 400 turns out to low, it can easily be changed. Only one value needs to be changed, and the visual indicators for it follow suit. No problems there.

(don't forget to ping me on Discord if you wanna talk balance, NHC)

Thanks to Clairion for giving me the idea with combat acid.
And BIG thanks to Awen who was so kind to guide me through coding problems for hours, and thougth me many things during it.

Testing Photographs and Procedure

grafik

grafik

grafik

https://gyazo.com/87ec5a1172540be9f1dbdb132ef16d0c

Screenshots & Videos

Changelog

🆑NHC
add: Added a passive acid generation cap of 400
add: added additional passive acid generation that triggers with each slash
code: added a timer to turn of combat acid generation after a
ui: added status panel info to show if combat acid generation is active or not
ui: added visual overlays to show acid generation cap
ui: added status panel info to show acid gen cap and max acid
imageadd: added overlays for caps, fitting energy, and armor xeno bars. Caps for 10, 20, 30, 40, 50, 60, 70, 80 and 90%
imageadd: added overlays showing runner drooling
/:cl:

@cmss13-ci cmss13-ci bot added Sprites Remove the soul from the game. Feature Feature coder badge Balance You need to be a professional veteran game maintainer to comprehend what is being done here. UI deletes nanoui/html labels Dec 19, 2024
@Red-byte3D
Copy link
Contributor

Red-byte3D commented Dec 19, 2024

#6023 same changes, denied, theres no reason for this other then all the hud changes also damage doesnt need to be decreased at all

you also didnt adress this at all #6023 (comment)

@drawsstuff
Copy link

I know this comment has a good chance of being marked off topic, but this entire PR is riddled with typos which makes it a tad bit difficult to read. The typos even extend to the changelog, which I think is the most egregious error you could make.

@TheManWithNoHands
Copy link
Contributor Author

TheManWithNoHands commented Dec 19, 2024

#6023 same changes, denied, theres no reason for this other then all the hud changes also damage doesnt need to be decreased at all

you also didnt adress this at all #6023 (comment)

  1. I Addressed the comment in your code, wrote it differently, and tested it. It works.
  2. Yes the comment saying that one runner back at hive is one removed Xeno is right. But the change isn't to discourage staying in the hive but to encourage involving yourself in the round. People do it in combat where they wait out the last 10% acid. Passive generation is a tool that encourages players to play more safely, which is not a gameplay style fitting to the size of its reward.
  3. If you want to talk balance, my ping is above. And already am going to tweak the dmg changes.

@TheManWithNoHands TheManWithNoHands changed the title Ligth acid runner rebalance Acid Runner rebalance Dec 19, 2024
@TheManWithNoHands TheManWithNoHands marked this pull request as draft December 19, 2024 05:03
@cmss13-ci cmss13-ci bot added the Code Improvement Make the code longer label Dec 19, 2024
@ihatethisengine
Copy link
Contributor

Good changes, I honestly think passive gain should be removed right away, but this is an okay middle-ground.

Not sure about the dmg, the runner's slash dmg is already very low. And you need brute to break bones and kill people. Yeah you apply acid but who really cares about burns? Half of the playerbase is on oxy 24/7 anyway. You also need to understand that due how armor works you get a lot less dmg at lower tiers than you'd expect.

Another thing I was discussing with people is being able to boom at negative health. Very strong warding makes it really easy to still explode even if people really trying to kill you. The counter point was the amount of firepower and IFF marines have, so I am not entirely sure.

@TheManWithNoHands
Copy link
Contributor Author

And you need brute to break bones.

Ahhh god damit. That i did not know. Well, gonna get rid of the dmg change then. And i was almost done making it avalibel for all mobs.

@TheManWithNoHands TheManWithNoHands changed the title Acid Runner rebalance Acid Runner, Acid gain rebalance Dec 19, 2024
@TheManWithNoHands TheManWithNoHands marked this pull request as ready for review December 19, 2024 22:08
@TheManWithNoHands TheManWithNoHands changed the title Acid Runner, Acid gain rebalance Acid Runner: Acid gain rebalance Dec 20, 2024
@Comxy
Copy link
Contributor

Comxy commented Dec 22, 2024

Comparatively speaking, regen gain from slashes increased by 2 seems to pale in comparison to the passive regen you gain normally with one each second or so. To keep it balanced to the same rate you should test it and probably increase it to around 22-28.

@TheManWithNoHands
Copy link
Contributor Author

Comparatively speaking, regen gain from slashes increased by 2 seems to pale in comparison to the passive regen you gain normally with one each second or so. To keep it balanced to the same rate you should test it and probably increase it to around 22-28.

I like you to read the sentence at the very bottom of "Explain why it's good for the game"

Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you have addressed my concerns of communicating to the player when their passive regeneration can't happen anymore.

I'm not sure if the generation from slashes will be enough but will have to be sussed out in testing.

  • However please rework the corrosive acid ability /datum/action/xeno_action/activable/acider_acid. I don't like it drawing acid from a pool that isn't passively generated. If you can't think of any interesting way to balance it, just make it cheaper or something I guess.

@Drulikar Drulikar added Testmerge Candidate we'll test this while you're asleep and the server has 10 players Needs Testing Need to test it on the guinea pigs (production server) labels Dec 28, 2024
@Drulikar Drulikar marked this pull request as draft December 28, 2024 20:25
cm13-github added a commit that referenced this pull request Jan 7, 2025
cm13-github added a commit that referenced this pull request Jan 7, 2025
cm13-github added a commit that referenced this pull request Jan 7, 2025
cm13-github added a commit that referenced this pull request Jan 7, 2025
cm13-github added a commit that referenced this pull request Jan 7, 2025
cm13-github added a commit that referenced this pull request Jan 7, 2025
cm13-github added a commit that referenced this pull request Jan 8, 2025
cm13-github added a commit that referenced this pull request Jan 8, 2025
cm13-github added a commit that referenced this pull request Jan 8, 2025
cm13-github added a commit that referenced this pull request Jan 10, 2025
@Awantje
Copy link
Contributor

Awantje commented Jan 10, 2025

I think you have addressed my concerns of communicating to the player when their passive regeneration can't happen anymore.

It might be nitpicky (and feel free to reply if you disagree), but technically, it won't tell you you are not generating acid anymore. It just tells you what the cap is. This is a straightforward thing to change. Something like:

if(acid_amount >= acid_gen_cap) . += "Passive acid generation cap ([acid_gen_cap]) reached"

The current wording implies that you will not generate acid above 400. It is ambiguous about the fact that just passive regen is disabled. If you wanted to you could also specifically list the cap. (This opens up stuff like changing the passive cap based upon maturity, leader status and even makes it clear if you want to test a higher cap for a round what that cap is.) I would at least put the word passive into what is displayed to the player.

However please rework the corrosive acid ability /datum/action/xeno_action/activable/acider_acid. I don't like it drawing acid from a pool that isn't passively generated. If you can't think of any interesting way to balance it, just make it cheaper or something I guess.

My suggestion is to have a system with a minimum amount needed and a max possible (Or a reverse % of your pool with a minimum needed). The acid effect being stronger if you have more acid in your pool. The reason I say this is because lowering the cost means you can acid more things in parallel. (Think of multiple timers running at the same time.) Keeping the max the same means you can still have the same amount of items acided in parallel if you have a full pool.

Acid from your pool used while above the cap is way harder to get back. Hence I do not mind rewarding the player with less cost/stronger acid. It might open up some (un) desirable behavior. If you just lower the cost people might be less inclined to acid. If you make the cost lower the higher your pool is you might get weird/new strats/player behaviour.

However, I am quite out of it balance-wise. I meant it as a mechanical suggestion. Both options would change acid runner balance/behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer Feature Feature coder badge Needs Testing Need to test it on the guinea pigs (production server) Sprites Remove the soul from the game. Testmerge Candidate we'll test this while you're asleep and the server has 10 players UI deletes nanoui/html
Projects
Status: Changes Requested
Development

Successfully merging this pull request may close these issues.

9 participants