From The Mana World
Revision as of 20:30, 22 August 2007 by Fungos Bauux (talk | contribs)

This proposal has been accepted

The development team has discussed the contents of this article and has decided that it should be implemented as described. But the implementation is not finished yet. You can help to bring the features described here into the game.

This article has the following gaps:

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, hazard 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. 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)

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 2 (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)

When the elemental modifiers are both 1 and the willpower of the target has a similar value like the spell skill of the caster the hp loss will be about as much as the spell damage.

Hazard attacks

Hazard 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.

References

Ultima Online

Damage calculations: http://uo.stratics.com/content/skills/fencing.php http://uo.stratics.com/content/skills/macefighting.php