• 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!

TFS 0.X Scale healing spell by level

rudger

Active Member
Joined
Oct 1, 2010
Messages
255
Solutions
1
Reaction score
34
Location
The Netherlands
I have a level 1014 sorcerer with 5k hp and I only heal about 1000 with exura vita, how can I scale exura vita with level so I heal more at a higher level?

My exura vita spell:

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)
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 12)
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
 
Last edited:
Solution
Try this:
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_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, magLevel)
    return (((level * 2) + (magLevel * 5)) * 1.0), (((level * 2) + (magLevel * 5)) * 1.2)
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
Try this:
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_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, magLevel)
    return (((level * 2) + (magLevel * 5)) * 1.0), (((level * 2) + (magLevel * 5)) * 1.2)
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end
 
Solution
Lua:
-- return min, max
return (((level * 2) + (magLevel * 5)) * 1.0), (((level * 2) + (magLevel * 5)) * 1.2)

The formula is simple:
( level * 2 ) + ( magLevel * 5 ) * 1.0

Suppose your level is 100 and your magic level is 200:
( 100 * 2 ) = 200
( 200 * 5 ) = 1000
( (200 + 1000) * 1.0 ) = 1200
 
Back
Top Bottom