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

Include the Ability to Set a Minimum Damage on Weapons #1480

Open
LivinBreezy opened this issue Jan 18, 2024 · 0 comments
Open

Include the Ability to Set a Minimum Damage on Weapons #1480

LivinBreezy opened this issue Jan 18, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@LivinBreezy
Copy link

Description.

It appears that currently there's no way for a weapon to do a preset minimum damage if the roll's calculated value goes below a threshold. This makes some of the creatures in the Keeper and Malleus Monstrorum books strange to implement.

I haven't been able to track down whether or not there is an option for this in the game system and my own attempts to circumvent the system itself are half-fixes rather than full solutions.

I saw #274 was opened and looked similar, but this appears to be asking for additional options to be added to the actual damage card after all the damage is rolled. I think my issue is mechanically prior to the card being created and needs an associated minimum value as an integer to function properly.

Rule Source

While this does not directly apply to a rule source, the "Bird, Vulture" entry from Malleus Monstrorum Volume 1 contains an instance of a minimum damage requirement. I have included narrow images from the book as to show the existence without providing full rules.

The vulture's Damage Bonus (DB) is -2 in the rules, as seen in the second column here:
image

And its damage calculation is 1d4-DB, which is in itself technically an error because that would make it 1d4+2, but in this case I think they intended it to be 1d4-2 and just knew its DB was negative ahead of time:
image

Context.

If I roll the damage directly from the Vulture's Creature sheet here:
image

It's possible for my 1d4 roll to be 1 or 2, which would give me a result of 0 or -1:
image

Which means we can't use the damage card to apply damage about half of the time (in this example), which isn't ideal for the game system when it comes to creature damage.

Possible Implementation.

Just to add additional context, I've tried a few things on the user-side to fix it, although they're usually only partial fixes:

  1. The Foundry dice system has a keyword minX where X is an integer so that if you roll something like 1d4 and want a minimum of 2, you would write it 1d4min2. In this case of the Vulture above, with DB = -2 and damage of 1d4-2 in practice, me setting the damage field of its Bite weapon to 1d4min3 would technically fix the problem in its default state (and is likely the best short-term solution), but isn't a full solution because if the DB of the Vulture changes, then the damage calculation will break and need to be manually adjusted. This keyword can also not be used on a roll calculation and must be applied to the XdY part explicitly. That means 1d4min3 is valid, but 1d4-2min3 is not. Uses parentheses/braces does not seem to provide extra functionality.
  2. Javascript (and Foundry) technically provides max(x, y) in rolling formulas, but it will not capture the weapon's +DB in its calculation, as I assume the damage box's roll formula is braced in practice, so it's not suited for applying directly.

On the system side, it's likely a simple implementation to add a Minimum Damage box somewhere to weapons (perhaps similar to the Special tag) such that if it's empty or a minimum flag isn't enabled, it calculates damage normally, otherwise it just performs a max(finalDamage, minimumDamage) calculation in the damage-handling process.

@LivinBreezy LivinBreezy added the enhancement New feature or request label Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant