• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Formula (Runes/Spells)

Exura ATS

New Member
Joined
Feb 5, 2017
Messages
72
Reaction score
4
Hey guys, it's me again.

Today I was making some tests on my otserver's runes, and I've got a problem with the line:
Lua:
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, -10, 5, 5, 1.2, 2, -20, -40)

I want to make some changes on this formula. But, first I'll need to understand what those values represent.
So, does someone know and can explain me how this line works?
 
Hey guys, it's me again.

Today I was making some tests on my otserver's runes, and I've got a problem with the line:
Lua:
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, -10, 5, 5, 1.2, 2, -20, -40)

I want to make some changes on this formula. But, first I'll need to understand what those values represent.
So, does someone know and can explain me how this line works?

There's an easier way of doing it:
Lua:
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
and use:
Lua:
function onGetFormulaValues(cid, level, maglevel)
   min = -(level * 0.25 + maglevel * 0.85)
   max = -(level * 0.30 + maglevel * 1.7)
   return min, max
end

This is a HMM Rune:
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)

function onGetFormulaValues(cid, level, maglevel)
    min = -(level * 0.25 + maglevel * 0.85)
    max = -(level * 0.30 + maglevel * 1.7)
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

And this is an UH Rune:
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
    min = (level * 0.62 + maglevel * 7.72)
    max = (level * 1.1 + maglevel * 13.30)
    return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

Using that way, it's a lot easier to read and edit :)
 
Back
Top