Notice something wrong, missing, or unsatisfactory? Feel free to fix it yourself, or contact Support

Battle Engine

From Medieval Europe
Revision as of 15:20, 26 January 2016 by Sunchaser (Talk | contribs)

Jump to: navigation, search

Contents

Battle Engine Explained

Definitions

Match A complete fight between two characters. A match has n rounds.
Round A round includes two turns, one for the attacker and one for defender
Turn A turn includes n hits with n between 1 and 3
Armor Encumbrance Ratio between the Equipped Armor weight and the base transportable weight
Armor Penetration Armor penetration represents a weapon's ability to overcome armor to deliver cutting damage. The values reflect what percentage of a weapon’s cutting damage is inflicted on the opponent wearing armor with rating of AC 1. Thicker armor deflects more of the cutting damage.

How it works

Battle Engine-1.png

Initiative Computation

Initiative determine who will attack first and is computed at the start of every round. It will depend on the reach attribute of each character’s weapon. A character using a weapon with a longer reach than his/her opponent will have better odds of gaining the initiative. If the weapons have the same reach, each character has a equal chance of gaining the initiative.

  Initiative = f( Attacker_Weapon_Length, Defender_Weapon_Length )

Consecutive Hits Computation

Range: 1-3

After initiative has been computed, the engine computer how many consecutive hits the attacker will deal.

Negative Variables

  • Weapon Reach
  • Weapon Weight
  • Armor Encumbrance

Positive Variables

  • Energy
  • Constitution
  • Strength

The variables values will be normalized and summed.

strength + energy + constitution (normalized) (normalized)
weapon reach +
weapon weight +
armor encumberance

(normalized)

0 0,5 1 1,5 2 2,5 3
0 1 1 2 3 3 3 3
0,5 1 1 2 3 3 3 3
1 1 1 1 2 3 3 3
1,5 1 1 1 1 2 3 3
2 1 1 1 1 2 3 3
2,5 1 1 1 1 1 2 3
3 1 1 1 1 1 2 3

Hit and Miss Chance Computation

Logic to hit or miss depends on the ratio between Attacker and Defender Dexterities.

  Hit_chance = f( Attacker_Dexterity, Defender_Dexterity )

If a character is stunned the attacker has a 100% chance to hit the opponent.

Example:

  • Attacker has dex 20, defender has dex 15. Hit_Chance will be about 71%.
  • Attacker has dex 20, defender has dex 2. Hit_Chance will be about 97%.
  • Attacker has dex 10, defender has dex 18. Hit_Chance will be about 55%.
  • Attacker has dex 1, defender has dex 18. Hit_Chance will be about 26%.

Damage Computation

Dealt damage depends from the following factors:

  • Weapon Damage
  • Weapon Condition
  • Strength
  • Energy
  • Defender AC

Base Damage

The Base Damage is randomly selected within the range of damage values for the equipped weapon. With a Strength value of 10, an energy value of 50%, and a weapon condition of 50%, the damage will be randomly selected using a Normal (Gaussian) distribution centered on the mean of the weapon’s damage range. Thus, if the range is 1-7, a 4 will have the best odds of being rolled and a 1 and a 7 would have the worst odds of being rolled.

  • With increasing Strength, Energy and Weapon Condition, the distribution is skewed more toward the maximum of the range.
  • With decreasing Strength, Energy and Weapon Condition, the distribution is skewed more toward the minimum of the range.
Figure showing how the Normal curve of damages is skewed depending on Strength, Energy, and Weapon condition.
  Base Damage = max(1, Weapon Damage + (Weapon Damage * Character Strength / 23) )

Example

Attacker hits with a longsword, Computed Weapon Damage is 6. Attacker has strength 18.

  Base Damage = 6 + 6 * (18/23) = 10.7

The Base Damage is then partitioned in Blunt Damage and Cutting Damage accordingly to the weapon Cutting Damage/Blunt Damage.

Example

  Base Damage of longsword = 10.7. Longsword has Blunt 20% and Cut 80%. Blunt Damage = 2.14 and Cut Damage = 8.56

Base Damage is split in Blunt and Cutting Damage.

Blunt Damage and Armor Consumption

Blunt damage is the damage inflicted by the inertia of a weapon impacting an opponent and it depends from the choosen weapon. Weapons with high blunt damage are meant to destroy and consume opponent armor.

In addition, blunt damage brings a chance to stun an opponent, which causes the character to:be unable to attack or defend. The chance of stunning an opponent is proportional to the amount of blunt damage inflicted.

Armor is consumed accordingly to the following formula:

If bluntdamage is >= than equipment defense:

  bluntdamage = bluntdamage - equipment_defense
  consumption = max(1, equipment_defense)/wearfactor

If bluntdamage is < than equipment defense:

  bluntdamage = 0
  consumption = bluntdamage

Wearfactor is always 1 except Punisher equipment.

  Note: Shield absorb all the damage

Example 1

Attacker hits with a longsword for a damage 10 and hits the shield with defense 2

BEFORE DEFENSE

Bluntdamage = 8.56, Cut Damage = 2.14, Total Damage = 10.7

AFTER DEFENSE

Damage = 0, Shield wears off by 6.56% (bluntdamage - shield defense)

Example 2

Attacker hits with a longsword for a damage 10.7 and hits the shield with defense 10

BEFORE DEFENSE

Bluntdamage = 8.57, Cut Damage = 2.16, Total Damage = 10.7

AFTER DEFENSE

Damage = 0, Shield wears off by 10%

Stun Effects

If a character is stunned, he can be stunned for n turns, where the number of turns for which the opponent is stunned depends on opponent constitution:

  Rounds_stunned = f (constitution);

When the player is stunned:

  1. The player is unable to attack the opponent and to defend himself;
  2. All of the opponent’s attack swings are successfully dealt;
  3. Basic damage incurred from the opponent is increased by 150%

Cutting Damage

Cutting damage is the damage inflicted by the weapon slicing into flesh of an opponent. Cutting damage causes the initial damage but also bleed damage, which is inflicted each turn until the battle is terminated.

  Cuttingdamage After Defense = cuttingdamage / ( 1 - (equipmentdefense * 3.5)/Armor penetration)
  Bleed Damage = cuttingdamage * 0.05

Example:

Attacker uses a longsword. Base Damage = 10,7. Cutting Damage = 8.57

Mario hits Paolo for 8.57 cutting damage. This will result in about 1.714 HP Bleed Damage. ... Mario hits Paolo for 8.57 cutting damage. This will result in about 1.714+1.714 = 3.42 HP Bleed Damage.

Weapon Consumption

Weapon is consumed accordingly to the following formula:

If the hit part had an equipment with defense:

  Weapon Consumption = max(1, equipment_defense * 0,5)/wearfactor * 0.25

else

Weapon Consumption = 1/wearfactor * 0.25

Example 1

Attacker hits with a longsword for a damage 10 and hits the shield with defense 10

BEFORE DEFENSE

Bluntdamage = 8, Cut Damage = 2, Total Damage = 10

AFTER DEFENSE Damage = 0, Longsword wears off by 1.25%

Example 2

Attacker hits with a longsword for a damage 10 and hits the head (no armor)

BEFORE DEFENSE

Bluntdamage = 8, Cut Damage = 2, Total Damage = 10

AFTER DEFENSE

Damage = 10, Longsword wears off by 0.25%

The Critical Hit

Once established that a character hits the opponent, a check is done for a critical hit. The chance to deal a critical hit depends on:

  • Used weapon
  • Attacker intelligence vs Defender intelligence
  Critical chance = f (IntelligenceAttacker, Intelligencedefender)

A critical hit multiplies the damage for a factor related to the used weapon.

Example

Guglielmo uses a Fauchard and deal a basic damage 8. Fauchard has a Critical Factor 20-4. This means that a 20-faces dices must score 20 in order to deal a Critical Hits. If 20 is scored the basic damage is multiplied by 4, and becomes 32. The Basic Damage is then splitted to 16 blunt damage and 16 cut damage.

Energy consumption

Energy is very important in battle (for example you see in the previous formula that impacts the number of consecutive hits). The Energy depletion formula will depends on the following variables

Negative variables

  • Weapon Reach
  • Weapon Weight
  • Armor Encumbrance

Positive variables

  • Constitution

The above variables values will been normalized as per the following theory: How to Normalize Data so thwy will be converted to values between 0 to 1.

weapon reach + weapon weight + armor encumbrance (normalized)
constitution (Normalized) 0 0,5 1 1,5 2 2,5 3
0 1,33 1,50 1,67 1,83 2,00 2,17 2,33
0,5 1,17 1,33 1,50 1,67 1,83 2,00 2,17
1 1,00 1,17 1,33 1,50 1,67 1,83 2,00
1,5 0,83 1,00 1,17 1,33 1,50 1,67 1,83
2 0,67 0,83 1,00 1,17 1,33 1,50 1,67
2,5 0,50 0,67 0,83 1,00 1,17 1,33 1,50
3 0,33 0,50 0,67 0,83 1,00 1,17 1,33

Armor Encumbrance

Armor Encumbrance is computed as follows:

  Armor Encumbrance = (Equipped items weight (weapon excluded)/Base_Transportable_Weight

where

  Base_transportable_weight =  100 - power(abs(  strength  - 23 ), 1.3) Kg
Personal tools