[RPG] How are Fireball attacks on Iron Golems resolved

damagednd-5emonsterssimultaneous-effectsspells

The party was in Curse of Strahd this evening and encountered two iron golems.

A helpful NPC first cast lightning bolt, damaging both of the golems.

The PC evoker then cast fireball on the golems, potentially healing them, but for how much?

Each creature in a 20-foot-radius sphere centered on that point must make a Dexterity saving throw. A target takes 8d6 fire damage on a failed save, or half as much damage on a successful one.

The golems have:

Damage Immunities Fire

and

Fire Absorption. Whenever the golem is subjected to fire damage, it takes no damage and instead regains a number of hit points equal to the fire damage dealt.

Between these three effects (saving throw against spell damage, immunity to damage, and absorption of damage), what is the order of application?

Was there no effect from the fireball, did it heal them for its full rolled damage amount, or did the amount it healed them by depend on whether or not they made their saves?

Why should the Golem have both Immunity and Absorption, doesn't each obviate the other? If the Immunity is applied first, the Golem takes no damage and so Absorption is not triggered. If Absorption is applied first, the Golem takes no damage and so Immunity is not triggered.

If Immunity is applied before Absorption, the ordering of the Saving Throw does not matter. But if Absorption is applied before Immunity, how much the Golems will heal depends on whether the saving throw is applied before or after the Absorption.

Absorption says that it is triggered whenever the golem is "subjected to fire damage". I do not think that "subjected to damage" is a defined game term. The natural English definition of "subjected to" could be interpreted as "whenever it actually takes damage [after the saving throw]" or "whenever it is at risk of taking damage [before the saving throw]", so no help there.

For a saving throw (emphasis mine)

A saving throw–also called a save–represents an attempt to resist a spell, a trap, a poison, a disease, or a similar threat. You don’t normally decide to make a saving throw; you are forced to make one because your character or monster is at risk of harm.

If you make a saving throw when you are "at risk" of harm, that to me implies the save is made before the damage is applied, or in this case, absorbed.

So, my interpretation would be:

  1. Fireball damage is rolled.
  2. Golems attempt their saves. Successful saves halve the damage.
  3. Absorption means no damage is taken, and instead hp are regained. More hp are regained if the save failed than if it succeeded.
  4. Immunity is never triggered since they did not take damage.

Is this correct?

Best Answer

Your Interpretation is Correct

In D&D 5e specific beats general. That is:

If a specific rule contradicts a general rule, the specific rule wins.

In this case Damage Immunity: Fire is a general rule that applies to many creatures, allowing them to take no damage from fire. Fire Absorption is given in the monster's statblock and specifically describes how Iron Golems interact with fire damage. This is the more specific rule and the one your should follow:

Whenever the golem is subjected to fire damage, it takes no damage and instead regains a number of hit points equal to the fire damage dealt.

What about the saving throw?

Immune creatures still make savings throws so the Iron Golem would make a saving throw as normal. It would benefit the Iron Golem to fail this save, however technically they aren't allowed to do this, but many tables allow it (see: Can you choose to fail a saving throw?). Additionally the saving throw will actually be made at Advantage due to the Iron Golem's Magic Resistance feature:

The golem has advantage on saving throws against spells and other magical effects.

The wording of the fireball spell gives us the order of events:

(...) A target must make a Dexterity saving throw. A target takes 8d6 fire damage on a failed save, or half as much damage on a successful one.

So first the Golem makes a dexterity saving throw (at advantage), then the damage (8d6) is calculated. On a failed save the target is 'subjected to' the full amount. On a successful save they are subjected to' half as much damage. In either case the Golem takes no damage and instead regains HP equal to the damage they would have taken due to Fire Absorption.

Also note that the order of the saving throw and damage calculation do not actually matter. The damage applied/taken/subjected upon the target occurs after the saving throw is made and Fire Absorption kicks in upon the applied damage.

Regarding the dual listing, my assumption is that the immunity is listed in addition to Fire Absorption to make it less likely DMs will forget about it. I would often only check the Damage Immunities/Resistances section of a stat block, having it there is useful although slightly redundant.