Skip to content

Soak#944

Open
Magisterium2022 wants to merge 152 commits into
DarkPack13:masterfrom
Magisterium2022:soak
Open

Soak#944
Magisterium2022 wants to merge 152 commits into
DarkPack13:masterfrom
Magisterium2022:soak

Conversation

@Magisterium2022
Copy link
Copy Markdown
Contributor

@Magisterium2022 Magisterium2022 commented Apr 20, 2026

About The Pull Request

Adds Soak mechanics.

On character spawn and transformations for Garou, alongside embraces and ghouling, soak values for Bashing, lethal, and Agg are updated depending on Stamina, depending on Character Splat, and Disciplines.

Bashing is non-projectile or sharp brute damage, and stamina damage .
Lethal is projectile and sharp brute damage, poison damage, and brain damage.
Aggravated Damage is Burn and Aggravated damage.

Humans can soak bashing with Stamina
Ghoul can soak Bashing and Lethal with Stamina (Ghouls and Revenants, v20, Page 42), and Agg with Fortitude if possessed.
Kindred can soak Bashing and Lethal, and Agg with Fortitude if possessed.
Garou can soak Bashing and Lethal in all forms, and Agg if outside of Breed form, or Metis.

Silver bullets ignore Soak values for Garou.

Currently, each soak roll success deducts 10 damage from an attack, to a minimum of 0 damage. This makes Kindred and Garou somewhat more bullet-resistant than previously, and renders Garou more fire resistant.

Adjusted direct brute and burn adjustments in the code to use the proper damage application system, alongside making unsoakable damage forced.

Added soak_difficulty variable to the human version of adjust_damage() for setting soak difficulty where applicable. This is currently only used on Levinbolt and Lure of Flames.

Stamina no longer impacts max health, as this was previously being used as a placeholder for Soak.

Removes active Fortitude.

Adjusts Visceratika 4 to provide 1 Agg and Lethal soak, and 2 bashing, alongside halved burn damage as per V20 core.

Adjusts runtimes to account for soak mechanics by setting testing target stamina to 0. This avoids false positive errors, and false negatives where soak might otherwise prevent a runtime from showing in testing properly.

Armour gives soak equal to:

Bullet / 20 rounded vs Lethal vs Bullets
Melee / 20 rounded vs Bashing
Melee / 20 rounded - 1 vs Lethal
Fire / 20 rounded vs Burn
Fire / 20 rounded - 1 vs Agg.

Why It's Good For The Game

Alongside introducing a core tabletop mechanic, this allows for more effective balancing of Disciplines such as Fortitude, and reflection of the benefits of Fortitude bonuses from Garou forms and other alternative forms.

Changelog

🆑
add: Adds Soak mechanics for various damage types. Humans can soak non-bullet or bladed brute, Kindred, Ghouls with Fortitude, and Garou can soak bullets and blades, Garou and those with Fortitude can soak Aggravated damage from Fire and the like. Silver bullets ignore Garou soak. Armour increases soak values.
balance: Stamina no longer impacts Max Health.
balance: Visceratika 4 now provides 1 Agg and Lethal soak, and 2 Bashing alongside halved burn damage.
del: Removes active Fortitude.
/:cl:

@chazzyjazzy chazzyjazzy dismissed their stale review May 9, 2026 05:48

im kinda busy with other stuff so im dismissing my own requested changes

@DorfGuy1
Copy link
Copy Markdown

how does this work with armor penetration?

var/datum/discipline/soak_fortitude = src.get_discipline(/datum/discipline/fortitude)
if(!soak_fortitude)
return
soak_dice_lethal = soak_fortitude.level //Ghouls can soak lethal and agg via fortitude.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ghouls & Revenants page 42 means they should get lethal soak via stamina.

Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ghoul soak was added as per discussion in discord about the same time as the original comment.

@Magisterium2022
Copy link
Copy Markdown
Contributor Author

As per feedback from the TFN TM, I've implemented armour soaking using the values in the description.

@github-actions
Copy link
Copy Markdown
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~7 days. Please address any outstanding review items and ensure your PR is finished - if both are true, and you have auto-staled anyway, you need to actively ask maintainers (by pinging them in the /tg/station Discord) to (re)review or merge your PR. If no maintainer responds to your request, you may wish to close this PR yourself while you seek maintainer comment, as you will later be able to reopen the PR yourself.

@github-actions github-actions Bot added the Stale label May 23, 2026
@Biplume
Copy link
Copy Markdown
Contributor

Biplume commented May 23, 2026

Random notes.

Serpentis 4 allows agg soak from claws/bites (e.g. from Garou) with stamina when active, difficulty 5:
image

Lure of Flames is soakable by Fortitude:
image

@github-actions github-actions Bot removed the Stale label May 24, 2026
@Magisterium2022
Copy link
Copy Markdown
Contributor Author

Random notes.

Serpentis 4 allows agg soak from claws/bites (e.g. from Garou) with stamina when active, difficulty 5: image

Lure of Flames is soakable by Fortitude: image

Working on a Serpentis patch. I'll likely need to do a check for it in the damage calc, since there's no seperate damage dice for different types of Agg Soak.

Lure of Flames being soakable by fortitude should be implemented - You can't soak burn except with Fort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants