Skip to content

Combat Formulas

peonso edited this page Aug 19, 2016 · 2 revisions

Combat Formulas

Combat factor

source - 1 / 1.2 / 2

It's the multiplier based on combat instance, respectively full attack, balanced and full defense.

####Armor source - minArmorReduction = (armorValue * 0.475),

maxArmorReduction = (((armorValue * 0.475) - 1) + minArmorReduction)

It's a value subtracted from total damage, first one to be applied, if it reduces the total damage to 0 a spark animation is applied. It's a random value between the minimum and maximum formulas values defined by the formula. Where armorValue is the sum of the armor values of all items wielded by the player.

####Shielding source - (((defenseSkill * (defenseValue * 0.015)) + (defenseValue * 0.1)) * defenseFactor)

It's a value subtracted from total damage after armor is applied, if a hit is reduced to 0 because of it there is a puff animation. It's a random value between 0 to the maximum block value defined by the formula. Where defenseSkill is the player shielding skill, defenseValue is the shield item defense value, and defenseFactor is the combat factor multiplier.

####Distance hit chance source

Distance weapons chance to hit will depends on the weapon, players skill and also distance from monsters. While at melee range it's the lowest, with 1sqm difference it's the best, and slowly decreases as the target get distance.

####Distance minimum damage source - (playerLevel * 0.2)

Distance weapons damage are a random value between the value from this formula and the one below. playerLevel is simply the level of the player.

####Melee/Distance source - ((attackValue * attackSkill * 0.075 + level * 0.3) / attackFactor)

For melee weapons the damage is a random number between 0 and the value from this formula, for distance weapons the damage is a random number between the value from the previous formula (Distance minimum damage) and this one. Where attackValue is the weapon item wielded attack value, attackSkill is the player skill level with the weapon used, level is the player level, and attackFactor is the combat factor multiplier. You should change this formula to the ones below depending of what you seek with your server.

  • a) real 7.x = ((attackValue * attackSkill * 0.065) / attackFactor)
  • b) otserv = (2 * (attackValue * (attackSkill + 5.8) / 25 + (level - 1) / 10.)) / attackFactor)
  • c) otserv reduced = (1.5 * (attackValue * (attackSkill + 5.8) / 25 + (level - 1) / 10.)) / attackFactor)
  • d) balanced = ((attackValue * attackSkill * 0.075 + level * 0.3) / attackFactor)

Exemples:

    lvl 27 skill 68 weapon 28
    a 124
    b 170
    c 128
    d 151

    lvl 50 skill 75 weapon 38
    a 186
    b 255
    c 192
    d 229
   
    lvl 70 skill 85 weapon 46
    a 255
    b 347
    c 261
    d 315

    lvl 100 skill 90 weapon 50
    a 293
    b 403
    c 303
    d 368