Difference between revisions of "Combat mechanics"

From Wildermyth Wiki
Line 20: Line 20:
=== Block ===
=== Block ===


Block is straightforward. Just add Block to Defense Strength.
Block is straightforward. Just add Block to the target's Defense Strength. (The only difference between Block and Dodge is flavor.)


=== Dodge ===
=== Dodge ===

Revision as of 08:04, 21 June 2021

Line of Sight

Ranged attacks require line of sight, which is blocked by other enemies and by solid walls. For some attacks such as Discus, Cover objects also block line of sight. Crevasses in the map do not block line of sight.

Attackers can "lean" to see around obstacles in some cases. Specifically:

  • The attacker consider five possible firing positions: the center of their current tile and positions offset by 0.7 to the north, south, east and west.
    • For each firing position, check the line of sight to each tile of the target.
      • For each target tile, check five lines to the target (or to each of the target's tiles, if it is large): from the firing position to the midpoint of the tile and to just inside the midpoint of each edge—technically, to offsets (0,0), (-0.49,0), (0.49,0), (0,-0.49), and (0,0.49). These are the target points.

If there is any unobstructed line from a valid firing position to a target point, the attacker has line of sight on the target.

Attack Strength

Also called "Attack Roll" in some places. For basic attacks, simply pick one of Melee Accuracy or Range Accuracy.

Defense Strength

Also called "Defense Roll" in some places. The target's Block, Effective Dodge, and Cover are added together to give Defense Strength.

Block

Block is straightforward. Just add Block to the target's Defense Strength. (The only difference between Block and Dodge is flavor.)

Dodge

Dodge is straightforward. Just add Dodge to the target's Defense Strength.

(Dodge used to be modified by a stat called Wield, but Wield was removed from the game in version 0.11+103 Opellia Bluster.)

Cover

A defender must be standing adjacent to cover to get benefit from it. Diagonal adjacency counts. Solid walls, door frames and the like also give Good Cover though they do not say so.

Partial cover is worth up to +30 Defense Strength; Good cover is worth up to +60. It is reduced if the attacker is firing from an angle, and they can "lean" to further improve their shot.

Specifically, for each firing position and each target tile as described above for line of sight, test the five lines from the firing position to the target points. For each one that passes through any part of the cover tile, the target gets 20% of the potential cover value. The attacker picks their best firing position and the most exposed (lowest cover) tile of the target.

This means a defender very rarely can get full cover value from a single-tile cover object. (They would have to be diagonally adjacent to it with an attacker on the far diagonal.)

Resolution

Subtract Defense Strength from Attack Strength to get hit strength. If the result is -75 or below, the attack cannot hit. Above that, the hit chance increases by +1% per point of hit strength until it reaches 85% at hit strength +10. Then it increases by +0.5% per point of hit strength until hit chance reaches 100% at hit strength +40.

Technically, interpolate hit chance on this table:

Hit Strength Hit Chance
-75 0%
0 75%
10 85%
40 100%

Misses

If the attack fails, the system will randomly determine whether the target Dodged, Blocked, or Took Cover. Cover is the first line of defense—if the hit strength is less than the cover value, the shot hits and does damage to the cover. Otherwise, Dodge or Block is selected, weighted by the target's defense ratings. (Sometimes this matters for triggering Abilities like Riposte.)

Damage

When an attack hits:

  1. Determine the total attack damage, with Bonus Damage or Potency, and any additions from abilities or special effects.
  2. If the attack is physical, take the target's Armor, or if it's magical take the target's Warding.
    • If the defender has walling, add 1 to the effective armor or warding.
    • If the attack has piercing, subtract it from the effective armor or warding, minimum 0.
  3. Subtract the remaining effective armor or warding from the attack damage to get true damage.
  4. If the defender has temporary health, apply the damage against temporary health first. The temporary hp are lost.
  5. Add the remaining true damage to the hero's Injury.
  6. If Injury is equal or greater than Health, the defender falls. Heroes may get a mortal choice.
  7. After evaluating the damage for this attack, [[subtract shred from the target's armor or warding.

Physical / Magical

Normal damage is physical and is benefited by bonus damage. Magic damage is benefited by potency.

Armor / Warding

Armor is subtracted from incoming physical damage before inflicting injury. Warding is subtracted from incoming magic damage. If armor or warding reduces damage to zero, the attack destroys 1 armor or warding instead.

Shred

Attacks can have shred effects. Each point of shred removes one point of armor for the remainder of the mission. Shred is applied after damage for the current attack is calculated; for instance, if a monster with 6 hp and 2 armor gets hit by an attack doing 7 dmg and 1 shred, the monster takes (7 - 2) = 5 hp damage, and survives with 1 hp and 1 armor remaining.

Pierce

An attack with a pierce value ignores up to that amount of armor or warding. For instance, if a monster with 6 hp and 3 armor gets hit by an attack doing 7 dmg and 1 pierce, the monster takes (7 - (3-1)) = 5 hp damage, and survives with 1 hp and 3 armor remaining.

Attacks from grayplane ignore armor entirely.

Walling

When two heroes are next to each other, both reduce the damage they take by 1. This effect works against both physical and magic damage. It does not stack. Adjacency must be orthogonal; diagonal is not close enough.

The power of friendship! Or, at least, being near an ally.

Temporary Health

Characters can gain temporary hit points from abilities, buffs from pre-combat events, and other sources. Incoming damage is applied to temporary health first. Temporary health is lost at the end of the combat. A character does not have to be injured before gaining temporary health; they can exceed their base hit point total.

Injury

Injuries heal as days pass in the Overland phase.

Status effects

Various debuffs can be inflicted upon opponents.

Combat Modifiers

Various modifiers to stats (good and bad) for a single hero, the entire party, and/or all enemies.