Difference between revisions of "Combat mechanics"
(→Damage) |
(replaced mAcc and rAcc with Accuracy) |
||
(25 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
== Line of | == 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. | 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: | Attackers can "lean" to see around obstacles in some cases. Specifically: | ||
* The attacker | * The attacker considers 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, the game checks five lines to the target (or to each of the target's tiles, if it is large): from the firing position to the center of the tile and to positions offset by 0.49 to the north, south, east, and west. These are the '''target points'''. | |||
* If there is any unobstructed line from a firing position to a target point, the attacker has line of sight on the target. | |||
If there is any unobstructed line from a | |||
== Attack Strength == | == Attack Strength == | ||
Also called "Attack Roll" in some places. For basic attacks, simply | Also called "Attack Roll" in some places. For basic attacks, simply use Accuracy. | ||
== Defense Strength == | == Defense Strength == | ||
Also called "Defense Roll" in some places. The target's Block, | Also called "Defense Roll" in some places. The target's Block, Dodge, and Cover are added together to give Defense Strength. | ||
=== 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 === | ||
Dodge is straightforward. Just add Dodge to the target's Defense Strength. (The only difference between Block and Dodge is flavor.) | |||
<!-- 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 === | === Cover === | ||
A defender must be standing adjacent to cover to | A defender must be standing adjacent to cover to benefit from it. Diagonal adjacency counts. Solid walls, door frames and such also give Good Cover even though they do not say so. | ||
Partial cover is worth up to +30 Defense Strength | Partial cover is worth up to +30 Defense Strength, while Good cover is worth up to +60. However, the cover's value is reduced if part of the target's body is exposed. Attackers also automatically "lean" a small amount in whichever direction maximizes the target's exposure. | ||
Specifically, for each firing position and each target | Specifically, for each firing position and each target point described above for [[#Line_of_sight|line of sight]], the game tests the five lines from the firing position to all target points. For each line 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. If the target occupies multiple tiles, this calculation is carried out for each tile, and the attacker picks the most exposed (lowest cover) target tile. | ||
For example, this means that a defender can very rarely 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 == | == Resolution == | ||
Line 72: | Line 55: | ||
=== Misses === | === 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 | 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 the cover, dealing damage to the cover. Otherwise, Dodge or Block is selected, weighted by the target's defense ratings. | ||
== Damage == | == Damage == | ||
When an attack hits: | When an attack hits: | ||
# Determine the total attack damage, with [[ | # Determine the total attack damage, with [[bonus damage]], [[spell damage]] and [[potency]], and any additions from abilities or special effects. | ||
# If the attack is physical, take the target's [[Armor]], or if it's magical take the target's [[Stat#Warding|Warding]]. | # If the attack is physical, take the target's [[Armor (Stat)|armor]], or if it's magical take the target's [[Stat#Warding|Warding]]. | ||
#* If the defender has [[walling]], add 1 to the effective armor or 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. | #* If the attack has '''piercing''', subtract it from the effective armor or warding, minimum 0. | ||
# Subtract the remaining effective armor or warding from the attack damage to get true damage. | # Subtract the remaining effective armor or warding from the attack damage to get true damage. | ||
# If the defender has '''[[temporary health]]''', apply the damage against temporary health first. The temporary | # If the defender has '''[[temporary health]]''', apply the damage against temporary health first. The temporary health points are lost. | ||
# Add the remaining true damage to the hero's ''' | # Add the remaining true damage to the hero's '''injury'''. | ||
# If | # If '''injury''' is equal to or greater than [[Stat#Health|Health]], the defender falls. Heroes may get a [[mortal choice]]. | ||
# After evaluating the damage for this attack, | # After evaluating the damage for this attack, subtract '''shred''' from the target's armor. | ||
=== Physical / Magical === | === Types of Attacks; Physical / Magical === | ||
Normal | *Normal damage from weapons is physical and benefits from [[bonus damage]]. | ||
*Damage from interfusions benefit from [[potency]] and [[spell damage]]. Depending on the interfusion this may produce magical or physical damage | |||
*Some transformations result in attacks that benefit from [[potency]] and [[bonus damage]]. Depending on the tranformation this may produce magical (e.g. [[flamesoul]]) or physical damage (e.g. [[elmsoul]]). | |||
=== Armor / Warding === | === Armor / Warding === | ||
'''Armor''' is subtracted from incoming physical damage before inflicting injury. '''Warding''' is subtracted from incoming magic damage. | '''Armor''' is subtracted from incoming physical damage before inflicting injury. If armor reduces a physical attack's damage to zero, the attack shreds 1 point of armor instead. | ||
'''Warding''' is subtracted from incoming magic damage. Each piece of warding absorbs one damage before breaking, but all warding regenerates at the start of the unit's next turn. | |||
==== Shred ==== | ==== 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. | 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. Attacks that have their damage reduced to 0 by armor instead shred 1 armor. | ||
==== Pierce ==== | ==== Pierce ==== | ||
Line 117: | Line 104: | ||
=== Injury === | === Injury === | ||
Injury is a stat equal to the number of hitpoints a hero is missing. It's used to calculate a hero's HP in combat, and for other things, like the [[Bloodrage]] ability. Injuries heal in the [[Overland]] phase; see [[Hero#Injuries and Healing|Injuries and Healing]] for details. | |||
== Status effects == | == Status effects == |
Latest revision as of 01:28, 28 June 2023
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 considers 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, the game checks five lines to the target (or to each of the target's tiles, if it is large): from the firing position to the center of the tile and to positions offset by 0.49 to the north, south, east, and west. These are the target points.
- If there is any unobstructed line from a 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 use Accuracy.
Defense Strength
Also called "Defense Roll" in some places. The target's Block, 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. (The only difference between Block and Dodge is flavor.)
Cover
A defender must be standing adjacent to cover to benefit from it. Diagonal adjacency counts. Solid walls, door frames and such also give Good Cover even though they do not say so.
Partial cover is worth up to +30 Defense Strength, while Good cover is worth up to +60. However, the cover's value is reduced if part of the target's body is exposed. Attackers also automatically "lean" a small amount in whichever direction maximizes the target's exposure.
Specifically, for each firing position and each target point described above for line of sight, the game tests the five lines from the firing position to all target points. For each line 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. If the target occupies multiple tiles, this calculation is carried out for each tile, and the attacker picks the most exposed (lowest cover) target tile.
For example, this means that a defender can very rarely 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 the cover, dealing damage to the cover. Otherwise, Dodge or Block is selected, weighted by the target's defense ratings.
Damage
When an attack hits:
- Determine the total attack damage, with bonus damage, spell damage and potency, and any additions from abilities or special effects.
- 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.
- Subtract the remaining effective armor or warding from the attack damage to get true damage.
- If the defender has temporary health, apply the damage against temporary health first. The temporary health points are lost.
- Add the remaining true damage to the hero's injury.
- If injury is equal to or greater than Health, the defender falls. Heroes may get a mortal choice.
- After evaluating the damage for this attack, subtract shred from the target's armor.
Types of Attacks; Physical / Magical
- Normal damage from weapons is physical and benefits from bonus damage.
- Damage from interfusions benefit from potency and spell damage. Depending on the interfusion this may produce magical or physical damage
- Some transformations result in attacks that benefit from potency and bonus damage. Depending on the tranformation this may produce magical (e.g. flamesoul) or physical damage (e.g. elmsoul).
Armor / Warding
Armor is subtracted from incoming physical damage before inflicting injury. If armor reduces a physical attack's damage to zero, the attack shreds 1 point of armor instead.
Warding is subtracted from incoming magic damage. Each piece of warding absorbs one damage before breaking, but all warding regenerates at the start of the unit's next turn.
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. Attacks that have their damage reduced to 0 by armor instead shred 1 armor.
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
Injury is a stat equal to the number of hitpoints a hero is missing. It's used to calculate a hero's HP in combat, and for other things, like the Bloodrage ability. Injuries heal in the Overland phase; see Injuries and Healing for details.
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.
- See Combat Modifiers