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

[CR] Electrical damage has a chance to temporarily incapacitate bionics #29485

Merged
merged 8 commits into from
May 24, 2019
Merged

[CR] Electrical damage has a chance to temporarily incapacitate bionics #29485

merged 8 commits into from
May 24, 2019

Conversation

thquinn
Copy link
Contributor

@thquinn thquinn commented Apr 12, 2019

Summary

SUMMARY: Balance "Electrical damage has a chance to temporarily incapacitate bionics"

Purpose of change

Gives a little more flavor to electrical attacks, and lays the framework for additional electrical effects like unintentionally activating bionics. Cyborgs should think twice before going up against shocker zombies!

ss

Describe the solution

I added Character::on_damage_of_type(), which serves as a counterpart to Creature::deal_damage_handle_type() for character effects. Also added incapacitated_time to bionics.

The duration of incapacitation is randomized, but on average scales linearly with the amount of damage. The chance to incapacitate is based on the percentage of the affected body part's HP removed by the attack.

TO-DO

  • don't allow incapacitated bionics to be (a)ctivated
  • display incapacitated bionics as such in UI
  • bionics like Monomolecular Blade, Bionic Claws, and Fingertip Razors: if incapacitated when extended, should be stuck extended
  • more testing/balance

Looking for feedback on all aspects.

@thquinn thquinn changed the title electrical damage has a chance to temporarily incapacitate bionics [CR] Electrical damage has a chance to temporarily incapacitate bionics Apr 12, 2019
@ifreund ifreund added <Enhancement / Feature> New features, or enhancements on existing [C++] Changes (can be) made in C++. Previously named `Code` Bionics CBM (Compact Bionic Modules) Mechanics: Character / Player Character / Player mechanics Game: Balance Balancing of (existing) in-game features. labels Apr 12, 2019
@Ilysen
Copy link
Contributor

Ilysen commented Apr 12, 2019

Doesn't seem too horribly imbalanced and makes sense with how they work. The only thing I'd suggest is a json flag that prevents them from being shorted out by electricity on some bionics, but I'm not sure which ones would have that.

@thquinn
Copy link
Contributor Author

thquinn commented Apr 12, 2019

@Ilysen Good idea. I added it to a number of appropriate bionics; let me know if you spot others that should have it.

@Reclusive-reptile
Copy link
Contributor

bio_faraday definitely shouldn't be disabled by electricity. It prevents shock damage while active.

@Mecares
Copy link
Contributor

Mecares commented Apr 15, 2019

Could we make the faraday bionic "eat" the first shock in a certain timeframe and protect the other bionics from being deactivated but then deactivate it if another shock hits the player in a too short time frame after the first one? I do not like the have the right bionic and be completely immune to a type of damage mechanism from a gameplay point of view.

@kevingranade
Copy link
Member

Faraday cages don't work like that. However there a number of other side effects that could happen based on the presence of the faraday cage.

@thquinn thquinn marked this pull request as ready for review April 15, 2019 22:32
@thquinn
Copy link
Contributor Author

thquinn commented Apr 15, 2019

Did some testing and increased the effects accordingly. Also confirmed that it works with toggleable bionics.

@ZhilkinSerg
Copy link
Contributor

Can you resolve conflicts please?

@kevingranade kevingranade merged commit 35f8c60 into CleverRaven:master May 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bionics CBM (Compact Bionic Modules) [C++] Changes (can be) made in C++. Previously named `Code` <Enhancement / Feature> New features, or enhancements on existing Game: Balance Balancing of (existing) in-game features. Mechanics: Character / Player Character / Player mechanics
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants