From The Mana World
 
m (added reference articles)
Line 1: Line 1:
{{Status_red}}
{{Status_red}}
This article is a draft about how damage calculation could be done. It is based on the new [[Attributes|Attribute]] system and the [[Skill system 2]] (although the other skill system proposals [[Skill system|Skill system 1]] and [[Skills 6 A|Skill system 3]] should be compatible)


Each hit has the following attributes:
Each hit has the following attributes:

Revision as of 18:59, 30 December 2006

This article is currently only a proposal

The features or design guidelines described in this article are only a proposal made by one or some persons. It has not been evaluated or accepted by the core development team yet. Feel free to add your personal opinion about them or make counter proposals.

This article is a draft about how damage calculation could be done. It is based on the new Attribute system and the Skill system 2 (although the other skill system proposals Skill system 1 and Skill system 3 should be compatible)

Each hit has the following attributes:

  • Type of attack (Physical, magical, biological or other) determining how the targets defence is calculated
  • Element (neutral or one of the 8 Elements)
  • Damage value


Physical attacks

Physical attacks are usually the results of normal attacks with melee weapons. In that case the following stats are interesting for calculating attacks:

  • Damage rating of attackers weapon (usually between 0 and 100)
  • Attackers strength (usually between 1 and 100)
  • Attackers skill with the used weapon type (usually between 1 and 100)
  • Elemental property of attackers weapon
  • Elemental modifier of the target against the elemental property of the weapon (usually 1 but can be a floating point value between 0 (immune) and 2 (double damage))

Damage is calculated:

damage = weapon_damage * ( strength + rand(0, weapon_skill))

Special attacks or other situations might use other formulas for calculation. Assuming that weapon damage, strength and skill level are usually 2-digit values this formula gives results in the thousands where characters based on strength have more regular results than characters based on skill (strength based characters just hit as hard as they can while skill based characters try to hit a vulnerable spot what doesn't work every time). This makes skill less important than strength for damage calculation, but the skill level should also be important for calculating the hit probability.

The hp loss of the victim of a physical attack is calculated like that:

HP Loss = (Damage * element_modifier) / (vitality + equip_defence)

The equip defence will usually be in the same size category as the weapon damage. This means hp loss values in the hundreds.

Magical attacks

Magical attacks are usually spells. Their damage is calculated out of:

  • Damage rating of the spell (can differ very much)
  • Attackers skill with the used magic element (usually between 1 and 100)
  • Elemental property of the spell
  • Elemental modifier of the caster against the elemental property of the spell (usually 1 but can be a floating point value between 0 (very good affinity to the element) and 2 (can't use element))
  • Willpower of the target (usually between 1 and 100)
  • Elemental modifier of the target against the elemental property of the spell (usually 1 but can be a floating point value between 0 (immune) and 2 (double damage))

An elemental modifier of the caster of 2 or higher should be threated as 0 (resulting in no damage at all) to avoid the weird situation of magic attacks that heal the targets instead of hurting them.

damage = spell_damage * spell_skill * (2 - element_modifier)

The hp loss of the target is calculated the following:

HP loss = (damage * element_modifier) / (1 + willpower)

Biological attacks

Biological attacks are attacks that attack the body of the character but damage it from the inside. Examples are poisons, diseases, environmental hazards (heat or cold not caused by magic) and so on. That means that armor won't help. But a high vitality can help the character to withstand such effects.

HP Loss = (Damage * element_modifier) / (1 + vitality)

Other attacks

Other attacks are attacks that cause a fixed hp loss and ignore the usual damage calculation rules. So the hp loss is always equal the damage value.