foundryvtt / dnd5e

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

SRD Review #4553

Open davidR1974 opened 1 month ago

davidR1974 commented 1 month ago

Stumbled up on odd things while reviewing SRD monster data & features

i sum up first the use cases will add creatures in the comments after..

  1. Many "Poisonous" creatures have the poison damage of their "Save" activity repeating the base damage and with the mod coming from the ability of the save. Example : Wyvern Stinger > Save activity is 2d6+CON mod (because DC is based on CON) instead of 7d6

  2. Saves activities that apply conditions have the damage repeated (this may be intentional). Example : Boar > Charge > Save has 1d6 as damage when the rule for that save is just "knock prone"

  3. Swarm creatures : bites for swarm creatures includes a mod when the rules says they don't. Could include a 1/2 damage activity on the swarm to take into account their 1/2 HP status

  4. Attacks that deals 1 damage sometimes includes a mod Example : Weasel > Attack deals 5 damage instead of 1

Others : Ankheg Bite > Miss Save Activity against grappled Spirit Naga > Correct Poison damage correctly in the Attack (but without Save) and not in the Save Winter Wolf > Cold Breath > Has Attack and Save (Save should be enough) Specter > Life Drain is odd

davidR1974 commented 1 month ago
  1. Wrong damage for "poison" activity

Otyugh Tentacle Slam > Save Activity has damage based on Con modifiier (should be Str) Giant Centipede => Bite / Save wrong damage (should be 3d6 not 1d4+mod) Giant Poisonous Snake => Bite / Save wrong damage (should be 3d6 not 1d4+mod) Giant Scorpion => Sting / Save wrong damage (4d10 poison not 1d10+mod) Giant Spider => Bite / Save (2d8 not 1d8+mod) Giant Wolf Spider => Bite / Save (2d6 not 1d6+mod) Poisonous Snake => Bite / Save (2d4 not 1) Scorpion => Sting / Save (1d8 not 1) Swarm of Poisonous Snakes => Bites > Save (4d6 not 2d6) Wyvern => Stinger > Save (7d6 not 2d6+mod) Imp => Sting > Save (3d6 not 1d4+mod) Imp => Bite > Save (3d6 not 1d4+mod) Pit Fiend => Bite > Save (6d6 not 4d6+mod) Succubus => Draining Kiss Save > Mod should be base on Dex (not Con) Assassin > Light Crossbow > Save (7d6 not 1d6+mod) Assassin > Shortsword > Save (7d6 not 1d6+mod) Guardian Naga > Bite > Save (10d8 not 1d8+mod) Phase Spider > Bite > Save (4d8 not 1d10+mod) Purple Worm > Bite > Save (6d6 not 3d8+mod) Purple Worm > Tail Stinger > Save (12d6 not 3d8+mod) Mummy > Rotting Fist > Save (3d6 not 2d6+mod) Mummy Lord > Rotting Fist > Save (3d6 not 3d6+mod)

davidR1974 commented 1 month ago
  1. Save with damage (when they only should apply conditions)

Aboleth => Tentacle > Save (Disease / special) Otyugh => Bite > Save (Poisoned / special) Boar => Charge > Save (Prone) Dire Wolf => Bite > Save (Prone) Elk => Charge > Save (Prone) Giant Boar => Charge > Save (Prone) Giant Crocodile => Tail > Save (Prone) Giant Elk => Charge > Save (Prone) Giant Goat => Charge > Save (Prone) Giant Rat (Diseased) => Bite > Save (Disease / special) Giant Sea Horse => Charge => Save (Prone) Mastiff => Bite / Save (Prone) Rhinoceros => Charge / Save (Prone) Wolf => Bite > Save (Prone) Couatl > Bite > Save (Poisoned / special) Solar => Slaying Longbow > Save (Die / special) Clay Golem => Slam > Save (Reduce HP Max / special) Air Elemental => Whirlwind > Save (Damage + prone) Balor => Whip > Save (Pulled / special) Bearded Devil => Beard / save (poisoned / special) Bearded Devil => Glaive / save (infernal wound / special) Bone Devil => Sting / Save (Poisoned) Erynies => Longbow / Save (Poisoned) Horned Devil => Tail / Save (+ Utility should be Damage ?) (Lose HP / special) Ice Devil => Wall of Ice => Save inflict 10d6 damage (+ utility should be damage ?) (Damage) Quasit => Claw / Save (poisoned) Deep Gnome > Poisoned Dart > Save (Poisoned) Drow > Hand Crossbow > Save (Poisoned + unconscious) Gladiator > Shield Bash > Save (Prone) Bulette > Deadly Leap > Save (Prone + push / special) Cockatrice > Bite > Save (restrained + petrified) Darkmantle > Crush > Save (blinded / special) Death Dog > Bite > Save (poisoned / special) Minotaur > Charge > Save (prone + push / special) Tarrasque > Tail > Save (prone) Winter Wolf > Bite > Save (prone) Lich > Paralyzing Touch > Save (paralyzed) Minotaur Skeleton > Charge > Save (prone + push / special)

davidR1974 commented 1 month ago
  1. 1 damage includes mod Weasel > Bite Homonculus > Bite 5 (+ includes a save action that should apply poisoned) Sprite > Shortbow (and includes a save action)
JPMeehan commented 1 month ago

These all highlight issues with the 4.0 migrations. Honestly, the migrations really could use an update with how many people haven't transitioned, it's an opportunity to save more pain and data loss.

arbron commented 1 month ago

These all highlight issues with the 4.0 migrations. Honestly, the migrations really could use an update with how many people haven't transitioned, it's an opportunity to save more pain and data loss.

Unfortunately there isn't a lot we an do in most of these cases, because the old data model lacked the necessary information to make a proper decision, so we erred on the side of avoiding data loss.

For example, if you have a feature with the "Attack" action type, some piercing and some poison damage, and a save, we don't know how that damage is associated with the save.

Is this a creature that does the weapon damage on attack, and then the poison damage is only applied if you fail your save? Or is this a creature that does all the damage if the attack hits and then the save is for the poisoned condition? Is something else happening? There simply isn't enough information in the original item to know (which is why activities were added).

davidR1974 commented 1 month ago

totally agree with the huge work done and difficulties to automatiza this approach with such a big change in data model.. That's why i did a manual review (and i probably also may have missed or misunderstood some things)..

from what i sorted out :

Case 1 : Damage on Save activity needs to be updated to reflect poison damage from rules.. there's not a lot of cases so i can update with correct damage on each activity if needed..

Case 2 : Damage on Save needs to be removed. Ideally effect applying condition needs to be added (same i can add the condition for each creature not a long work if i can automate this)

Case 3 and 4 : @mod modifier on swarm and 1-damage attacks needs to be removed.

others => each is a different case

arbron commented 1 month ago

From @Bradeck in https://github.com/foundryvtt/dnd5e/issues/4609

After upgrading a world from v3.3.1 to v4.0.4, I checked everything. Whenever an SRD actor had some problems, I checked the actor in the compendium, and whenever they also had the errors, I write what I did, so here it is. It may not be the "proper" way to implement the features / activities, but at least it points out the monsters I found that had problems. I'm sorry I don't know how to contribute, otherwise I would have implemented all of this myself.

SRD monsters (2014) for Dungeons and Dragons system v4

All dragons

Air Elemental

Bulette

Cloaker

Chain Devil

Couatl

Darkmantle

Death Dog

Deep Gnome

Djinni

Drider

Dust Mephit

Ettercap

Fire Elemental

Flesh Golem

Gargoyle

Gelatinous Cube

Ghoul

Giant Boar

Giant Crocodile

Giant Frog

Giant Scorpion

Ghast

Ghoul

Ghost

Gorgon

Imp

Manticore

Otyugh

Quasit

Remorhaz

Rug of Smothering

Shadow

Spirit Naga

Sprite

Swarm of Instects, possibly all swarms

Shambling Mound

Triceratops

Will-o-Wisp

Winter Wolf

Wraith

Wyvern

SPELLS

Color Spray

ITEMS

Nine Lives Stealer weapons