Saturday, April 5, 2014

Game Design (IX): Resistances and Vulnerabilities

A wizard casting an elemental protection spell on his allies. An skeleton shrugging off an assassin’s poisoned blade. A walking tree consumed by a fireball. Resistances, vulnerabilities and mechanics that care about types of damage in general are a great way to add flavor and variety to a game. On top of that, they open up some neat tactics and interactions: casting elemental bursts centered on top of a conveniently surrounded fighter with an Armor of Resistance, figuring out how to make the most of a few Acid Flasks when fighting a band or trolls, moving a tiefling character into flaming terrain…

And yet, not all is well with the way 4E handles these elemental rules. Figuring out attacks with multiple energy types against characters with many resistances or vulnerabilities is far from intuitive, and too favourable for the multicolored attack powers. Mundane attacks are left out of the fun, due to the lack of a way to define physical resistance. And attacks that deliver damage in multiple small packages (such as ongoing damage, or sustainable zones) are excessively affected by both resistances and vulnerabilities, which tend to make them harmless or overpowered, respectively. And don’t get me started about the unholy mess that is the immunity definition.

Veteran readers will remember that I dealt with most of these issues in a past post. Today’s installment follows the same principles, but  proposing a full redefinition for these rules (rather than a mere patch to be used with the existing books). This way, we get cleaner and more balanced mechanics, and open up some new design space, at the cost of requiring very minor tweaks to work with existing monsters and player material.

To summarize, these are the main issues that I want the new rules to deal with:

  • Remove scenarios where resistances/vulnerabilities become either too good, or irrelevant.
  • Simplify interaction between multiple resistances/vulnerabilities and multiple damage types.
  • Change balance of multiple resistances/vulnerabilities so that having attacks with multiple damage types is not always the best strategy.
  • Allow resistances/vulnerabilities to scale automatically with level
  • Enable resistances/vulnerabilities for physical damage.
  • Clarify Immunity rules.
  • Balance Insubstantial rules.

The new rules are described below.

Character Traits

Resistance

A character with Resistance takes reduced damage from attacks or effects with a certain Damage Type. A Resistance always includes the Damage Type to which it applies. Optionally, a Resistance can also include a numeric Limit for the damage it can mitigate, and a Condition that must be met to apply the resistance.

A Resistance works as follows: for each attack, if the Condition is met (or there is no Condition), damage of the specified Damage Type is reduced either by half or by the Limit, whichever value is lowest. In addition, a character can also apply a Resistance against environmental effects that deal damage but are not attacks; against such effects, damage of the specified Damage Type is reduced by the Limit or, if the Resistance has no Limit, the damage is completely negated.

From the above definition, we have four possible ways to specify a Resistance:

  • Resist Damage_Type
  • Resist Damage_Type (Condition)
  • Resist Damage_Type (Limit)
  • Resist Damage_Type (Limit) (Condition)

Designer’s Note: The way Resistances work against environmental effects is different from how they apply against attacks (or, for that matter, how Vulnerabilities work against environmental effects). The purpose of this rule is to allow creatures with elemental resistance to survive in areas of elemental hazard.

Examples of resistances:

  • Resist Fire
  • Resist Physical (No Advantage)
  • Resist Poison 5
  • Resist All 5 (Not Silvered)

The elements of a resistance are described as follows:

  • Damage Type: The damage type against which the resistance is applied. This must be a valid damage type, or “all” if the resistance applies to all damage regardless of type.
  • Limit: The maximum amount of damage that can be mitigated by this resistance. This is a number, usually a multiple of 5. If no limit is specified, the resistance always mitigates half of the damage dealt from an attack (or, if the damage is not dealt by an attack, all of the damage). Note that a resistance can never mitigate more than half the damage from an attack, regardless of its limit.
  • Condition: A resistance with a condition only applies against damage that meets that condition. The most common types of conditions are:
    • No Advantage: Damage from an attack without Combat Advantage
    • Critical: Damage from a critical hit.
    • Ongoing: Ongoing damage.
    • Not Silvered: Damage from an attack not using a Silvered weapon or implement.
    • Not Epic: Damage from an attacker of level lower than 21.
    • Not Paragon: Damage from an attacker of level lower than 11.

Vulnerability

A character with Vulnerability takes 50% extra damage from attacks or effects with a certain Damage Type. A Vulnerability always includes the damage type to which it applies. Optionally, a Vulnerability can also include a numeric Limit for the damage it can add, and a Condition that must be met to apply the Vulnerability.

A Vulnerability works as follows: for each attack, if the Condition is met (or there is no Condition), damage of the specified Damage Type is increased either by half or by the Limit, whichever value is lowest. In addition, Vulnerabilities also apply for environmental effects that deal damage but are not attacks, increasing damage of the specified Damage Type either by half or by the Limit, whichever value is lowest.

From the above definition, we have four possible ways to specify a Vulnerability:

  • Vulnerable Damage_Type
  • Vulnerable Damage_Type (Condition)
  • Vulnerable Damage_Type (Limit)
  • Vulnerable Damage_Type (Limit) (Condition)

Examples of vulnerabilities:

  • Vulnerable Fire
  • Vulnerable Cold (Advantage)
  • Vulnerable Poison 5
  • Vulnerable All 5 (Critical)

The elements of a Vulnerability are described as follows:

  • Damage Type: The damage type against which the Vulnerability is applied. This must be a valid damage type, or “all” if the Vulnerability applies to all damage regardless of type.
  • Limit: The maximum amount of damage that can be added by this Vulnerability. This is a number, usually a multiple of 5. If no limit is specified, the resistance always adds half of the damage dealt from a source. Note that a Vulnerability can never add more than half the damage from an given source, regardless of its limit.
  • Condition: A Vulnerability with a condition only applies against damage that meets that condition. The most common types of conditions are:
    • Advantage: Damage from an attack with Combat Advantage
    • Critical: Damage from a critical hit.
    • Ongoing: Ongoing damage.
    • Silvered: Damage from an attack using a Silvered weapon or implement.
    • Epic: Damage from an attacker of level 21 or higher .
    • Paragon: Damage from an attacker of level 11 or higher.

Resistance reduction

A character with Resistance Reduction can partially ignore enemy resistances against a certain Damage Type when attacking. A Resistance Reduction always includes the Damage Type to which it applies, and a Value for the amount of resistance that can be reduced. Resolve attacks with Resistance Reduction as follows.

  • If the defending character has no Resistance for the Damage Type of the Resistance Reduction, nothing happens. The attack resolves as normal.
  • If the defending character has Resistance for the Damage Type of the Resistance Reduction, and the Resistance has no Limit, the defending character becomes Vulnerable against that Damage Type. This vulnerability has a Limit equal to the Value of the Resistance Reduction.
  • If the defending character has Resistance for the Damage Type of the Resistance Reduction, and the Resistance has a Limit, the defending character becomes Vulnerable against that Damage Type. This vulnerability has a Limit equal to either the Value of the Resistance Reduction, or the Limit of the Resistance, whichever is lower.

Damage Immunity

A character with a Damage Immunity ignores damage from attacks or effects with a certain Damage Type. A Damage Immunity always includes the Damage Type to which it applies.

The elements of a Damage Immunity are described as follows:

  • Damage Type: The damage type to which the Immunity is applied. This must be a valid damage type. Note that “all” is NOT a valid type for a damage immunity.

Example of damage immunity:

  • Damage Immune: Poison

Condition Immunity

A character with a Condition Immunity ignores a negative condition. A Condition Immunity always includes the Character Condition to which it applies. Optionally, it can also include an activation Condition that must be met to apply the Immunity.

The elements of a Condition Immunity are described as follows:

  • Character Condition: The character condition against which the immunity is applied. This can be a condition from the list defined here. In addition, this can also have as a value “forced movement”, in which case it makes the character immune against push, pull and slide effects .
  • Condition: The immunity only applies against attacks or effects that meet the specified condition.

Example of condition immunity:

  • Condition Immune: Stunned
  • Condition Immune: Forced Movement (no burst/blast)

Nondamage Immunity

A character with Nondamage Immunity ignores all effects other than damage from attacks with a certain keyword. A Nondamage Immunity includes the Keyword to which it applies.

The elements of a Nondamage Immunity are described as follows:

  • Keyword: The keyword against which the immunity is applied. Attack keywords include damage type keywords, and others such as Fear, Charm, or Gaze.

Example of nondamage immunity:

  • Nondamage Immune: Poison
  • Nondamage Immune: Charm

Damage Trigger

A character with a Damage Trigger generates a special effect when receiving damage of a certain Damage Type. A Damage Trigger always includes the Damage Type which triggers it. . Unless otherwise stated, a Damage Trigger is applied after the attack or effect causing the damage is fully resolved. Damage Triggers are mandatory, and require no action to resolve.

The elements of a Damage Immunity are described as follows:

  • Damage Type: The damage type which triggers the Damage Trigger.

Example of damage trigger:

  • Damage Trigger Cold: The character is slowed until its end of its text turn.

Designer’s Note: Damage Trigger is intended to cover all previously existing Vulnerabilities that had an effect other than adding damage, e.g. Vulnerable Cold: Slowed until end of turn. Now Vulnerabilities will be limited to extra damage, and other effects will be treated as Damage Triggers.

Insubstantial

A character with Insubstantial gains the following abilities:

  • Resist physical
  • Resist non-physical (no Advantage)
  • Vulnerable all (Advantage)

Example: A creature with insubstantial would take damage as follows:

  • Physical or non-physical, no Advantage: Reduce by half
  • Physical, with Advantage: normal damage
  • Non-physical, with Advantage: Increase by half

Swarm

A character with Swarm gains the following abilities:

  • Resist all (no burst/blast)
  • Vulnerable all (burst/blast)
  • Vulnerable Poison
  • Condition Immune: Forced Movement (no burst/blast)

Example: A creature with Swarm would take damage as follows:

  • non-Poison, not a burst or blast: Reduce by half
  • Poison, not a burst or blast: normal damage
  • Any type, burst or blast: increase by half

Regiment

A character with Regiment gains the following abilities:

  • Resist all (no burst/blast)
  • Vulnerable all (burst/blast)
  • Vulnerable Psychic
  • Condition Immune: Forced Movement (no burst/blast)

Designer’s Note: Regiment is a new keyword, intended to provide swarm-like rules for huge groups of humanoid monsters. It should allow DMs to use lower level humanoids as opponents to Paragon or Epic parties, without needing to resort to Minions.

 

 

Resistances, Vulnerabilities and Immunities in combat

The base rules for Resistances, Vulnerabilities and Immunities (described above, under Character Traits) can be directly applied on most combat scenarios. However, some clarification is needed when using creatures with multiple Resistances and Vulnerabilities, or when resolving attacks with multiple damage types. This section provides guidelines for these special cases.

Default damage type: Physical Damage

When an attack or effect deals damage without specifying a damage type, that damage has the physical damage type.

An attack or effect with multiple damage types can also have physical as one of its damage types. In that case, “physical” must be explicitly listed among the damage types for that source.

Physical damage works like other damage types for the purpose of resistances, vulnerabilities, and other effects, with one important exception: whenever an ability or effect allows a player to “choose a damage type”, that player cannot choose physical damage as an option. If the ability or effect allows to “choose a damage type, including physical”, then physical becomes a valid option.

Choosing between multiple Resistances or multiple Vulnerabilities

If a creature has multiple Resistances or multiple Vulnerabilities that can apply against the same damage type, proceed as follows:

  • Discard Resistances or Vulnerabilities whose Condition is not met.
  • Of the remaining Resistances, if there is one that has no Limit, choose that one. Otherwise, choose the one with the highest Limit. If multiple Resistances are tied (with no Limit, or with the highest limit), you can choose any one of them.
  • Of the remaining Vulnerabilities, if there is one that has no Limit, choose that one. Otherwise, choose the one with the highest Limit. If multiple Vulnerabilities are tied (with no Limit, or with the highest limit), you can choose any one of them.

Example: An attack without Advantage deals 27 Fire to a creature that has the following resitances

  • Resist Fire (Advantage)
  • Resist 10 Fire
  • Resist 5 All

Of these, we discard the first one because its condition is not met. From the remaining ones, the Resist 10 Fire has the highest Limit, so we choose that one. The damage is reduced by 10 (since the Limit is lower than half of 27). If the attack had Advantage, no resistance would be discarded, and we would choose the first one, Resist Fire (Advantage), which has no Limit. The damage would then be reduced by 13.

Simultaneously Applying Resistances and Vulnerabilities

If a creature has both a Resistance and a Vulnerability that can apply against the same damage type, proceed as follows:

  • Calculate the damage mitigated by the Resistance, using the original damage as reference.
  • Calculate the damage added by the Vulnerability, using the original damage as reference.
  • The final damage is equal to the original damage, minus the damage mitigated by Resistance, plus the damage added by the Vulnerability.

If a creature has both an Immunity and a Vulnerability that can apply against the same damage type, the Immunity prevails, and the creature receives no damage of that type.

Example: An attack deals 17 Fire damage to a creature with Resist Fire, and Vulnerable 5 Fire. The Resistance mitigates 8 damage (half of 17), and the Vulnerability adds 5 damage (since the Limit of 5 is lower than half the original damage). The total final damage is 17-8+5=14 Fire damage.

  • Note that when applying a Resistance and a Vulnerability without Limits, or a Resistance and a Vulnerability with the same Limits, the final damage will be equal to the original damage.

Resolving attacks with multiple damage types

If a creature receives damage with multiple damage types, proceed as follows:

  • Make a list of all damage types for that damage source.
  • To calculate the damage added from Vulnerabilities, choose the two damage types in the list for which the creature has the highest Vulnerabilities. For each of these damage types, calculate the damage added by its corresponding Vulnerability. The total added damage is equal to the sum of the damages added by these two Vulnerabilities, divided by two.
  • To calculate damage mitigation from Resistances, choose the two damage types in the list for which the creature has the highest Resistances. As a special case, if the creature has Damage Immunity against a damage type in the list, treat it as a Resistance that mitigates damage equal to 100% of the original damage. For each of these damage types, calculate the damage mitigated by its corresponding Resistance. The total mitigation is equal to the sum of the damages mitigated by these two Resistances, divided by two.
  • The final damage is equal to the original damage, minus the damage mitigated by Resistances, plus the damage added by the Vulnerabilities.

Example 1: An attack deals 17 Fire and Cold damage to a creature with Resist Fire, and Vulnerable 5 Cold. For the Vulnerability calculation, we choose Cold (+5 damage) and Fire (+0 damage) as types, for a total of (5+0)/2=2 added damage. For the Resistance calculation, we choose Fire (8 damage) and Cold (0 damage), for a total of (8+0)/2= 4 mitigated damage. The total final damage is 17-4+2=15 damage.

Example 2: An attack deals 17 Fire, Cold and Acid damage to a creature with Damage Immune: Fire, Vulnerable 5 Cold, and Vulnerable Acid. For the Vulnerability calculation, we choose Cold (+5 damage) and Acid (+8 damage) as types, for a total of (5+8)/2=6 added damage. For the Resistance calculation, we choose Fire (17 damage) and Cold (0 damage), for a total of (17+0)/2= 8 mitigated damage. The total final damage is 17-8+6=15 damage.

Example 3:: An attack deals 17 Fire and Cold damage to a creature with Resist Fire, and Resist All 5. For the Resistance calculation, we choose Fire (8 damage) and Cold (5 damage, from Resist All 5), for a total of (8+5)/2=6 mitigated damage.

Changing the damage type of an attack

When an effect allows a character to change the damage type of an attack, resolve it as follows, depending on the text of the effect:

  • The attack gains (damage type) as an additional damage type: Add the new damage type to the list of types the attack previously had. If the attack had no explicit damage type (i.e. it dealt physical damage), the attack now has the new type and physical as its damage types.
  • The attack becomes (damage type) instead of its previous damage types: Replace all the previous damage types with the new type.

Designer’s note: By default, most game effects should add damage types rather than replace. Items like Flaming Swords should be adjusted to read as adding a new type, and replacement should be reserved to truly exceptional cases.

Adding extra damage to an attack

When an effect adds extra damage to a character’s attack, resolve it as follows depending on whether the extra damage is of a specific damage type:

  • If no damage type is indicated for the extra damage, simply add this extra damage to the damage of the original attack. The attack’s damage types remain unaffected.
  • If the extra damage has one or more damage types, add these types to the types of the original attack, and the extra damage to the damage of the original attack.
Read More......