foundryvtt / dnd5e

An implementation of the 5th Edition game system for Foundry Virtual Tabletop (http://foundryvtt.com).
MIT License
336 stars 224 forks source link

Some monster attacks are calculated incorrectly #2735

Open chuckhazard opened 10 months ago

chuckhazard commented 10 months ago

https://5thsrd.org/gamemaster_rules/monsters/flying_snake/

Melee Weapon Attack:+6 to hit

Attack is calculated with -1 to hit (-3 str +2 hd). Adding the finesse property results in +6 (+4 dex + 2hd).

I've made and tested this change, and will open a PR shortly.

MaxPat931 commented 10 months ago

This is likely more widespread across the Monster compendium, Spider's Bite also has this issue, potentially all Natural weapons should have finesse?

image

krbz999 commented 10 months ago

Rather than setting the items to be 'Finesse', I feel it's more correct to simply set them to use Dexterity. However, generally it seems that monsters use the highest of Strength and Dexterity without any such rule being written down anywhere. Maybe the code should simply make all attacks from an npc use the highest of STR and DEX when the item is set to 'Default'?

chuckhazard commented 10 months ago

That reminds me of a weird outlier - the black bear - which has +3 to hit but 15str and 10dex. It doesn't use either, just a special formula. Not sure if that should be wrapped in here or raised separately.

Freeze023 commented 10 months ago

There has been a monster manual errata that corrects the black bear attack bonusses to +4 (+2 from Str and +2 from proficiency). https://media.wizards.com/2018/dnd/downloads/MM-Errata.pdf

chuckhazard commented 10 months ago

There has been a monster manual errata that corrects the black bear attack bonusses to +4 (+2 from Str and +2 from proficiency). https://media.wizards.com/2018/dnd/downloads/MM-Errata.pdf

Ah I didn't realize it was updated in MM; I only checked SRD. I can confirm SRD is still +3 though.

MaxPat931 commented 9 months ago

Rather than setting the items to be 'Finesse', I feel it's more correct to simply set them to use Dexterity. However, generally it seems that monsters use the highest of Strength and Dexterity without any such rule being written down anywhere. Maybe the code should simply make all attacks from an npc use the highest of STR and DEX when the item is set to 'Default'?

Checked the DMG's "Creating a Monster" info and in the Attack Bonuses section, it some guidance regarding STR/DEX:

Calculate Attack Bonuses. Alternatively, you can calculate a monster’s attack bonuses the same way players calculate the attack bonuses of a character. When a monster has an action that requires an attack roll, its attack bonus is equal to its proficiency bonus + its Strength or Dexterity modifier. A monster usually applies its Strength modifier to melee attacks and its Dexterity modifier to ranged attacks, although smaller monsters sometimes use Dexterity for both.

So, I think it would be appropriate for NPCs to use the highest between the two when the items are set to default

chuckhazard commented 9 months ago

Analysis below, but in summary, it seems like the following is appropriate:

This leaves 16 creatures that don't follow any rules for calculating THB, but those can be addressed separately.

Analysis

I put together a script to parse the monster data and compare the To Hit Bonus from the description against the calculated value, and tests all other modifiers There are several categories of issue. I've attached a table of results if you want to see. To summarize:

  1. Negative Ability Modifiers. First several tiny beasts should have a THB of 0, but are calculated as negative. See Bat.

  2. Wrong ability. 14 monsters (16 weapons) would be fixed just by changing the weapon ability to str/dex.

  3. Unique formula. 11 monsters (15 weapons) have a THB that is unique, and can't be calculated using any of their ability modifiers. 6/8 would be fixed by setting weapon ability to one of con/cha/int/wis, but I'm not sure there's precedent for that...

  4. All good. Five monsters have some discrepancy in the description, but the calculated THB matches DND Beyond.

monster_thb_chart.txt