LucasFerraz
Systems Analyst
Today I made this spells with cooldown works with 8.6 version using storages.
Working 100% with dev0.4, 3777 and 3884.
annihilation
brutal strike
curse
electrify
envenom
front sweep
holy flash
ignite
inflict wound
lightning
physical strike
strong energy strike
strong ethereal spear
strong flame strike
strong ice strike
strong ice wave
strong terra strike
ultimate energy strike
ultimate flame strike
ultimate ice strike
ultimate terra strike
Working 100% with dev0.4, 3777 and 3884.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<spells>
<!-- Attack Spells -->
<instant name="Strong Flame Strike" words="exori gran flam" lvl="70" mana="60" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/strong flame strike.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Ultimate Flame Strike" words="exori max flam" lvl="90" mana="100" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/ultimate flame strike.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Strong Energy Strike" words="exori gran vis" lvl="80" mana="60" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/strong energy strike.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Ultimate Energy Strike" words="exori max vis" lvl="100" mana="100" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/ultimate energy strike.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Strong Ethereal Spear" words="exori gran con" lvl="90" mana="55" prem="1" range="5" needtarget="1" exhaustion="2000" blockwalls="1" needlearn="0" event="script" value="attack/strong ethereal spear.lua">
<vocation id="3"/>
<vocation id="7"/>
</instant>
<instant name="Annihilation" words="exori gran ico" lvl="110" mana="300" prem="1" needweapon="1" exhaustion="2000" needlearn="0" needtarget="1" event="script" value="attack/annihilation.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Brutal Strike" words="exori ico" lvl="16" mana="30" prem="1" range="1" needtarget="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/brutal strike.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Front Sweep" words="exori min" lvl="70" mana="200" prem="1" needweapon="1" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/front sweep.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Inflict Wound" words="utori kor" lvl="40" mana="30" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/inflict wound.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Ignite" words="utori flam" lvl="26" mana="30" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/ignite.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Lightning" words="exori amp vis" lvl="55" mana="160" prem="1" range="4" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/lightning.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Cursed" words="utori mort" lvl="75" mana="30" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/curse.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Electrify" words="utori vis" lvl="34" mana="30" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/electrify.lua">
<vocation id="1"/>
<vocation id="5"/>
</instant>
<instant name="Holy Flash" words="utori san" lvl="70" mana="50" prem="1" range="5" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/holy flash.lua">
<vocation id="3"/>
<vocation id="7"/>
</instant>
<instant name="Physical Strike" words="exori moe ico" lvl="16" mana="20" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/physical strike.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Strong Ice Strike" words="exori gran frigo" lvl="80" mana="60" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/strong ice strike.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Ultimate Ice Strike" words="exori max frigo" lvl="100" mana="100" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/ultimate ice strike.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Strong Ice Wave" words="exevo gran frigo hur" lvl="40" mana="170" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/strong ice wave.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Envenom" words="utori pox" lvl="50" mana="30" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/envenom.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Strong Terra Strike" words="exori gran tera" lvl="70" mana="60" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/strong terra strike.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Ultimate Terra Strike" words="exori max tera" lvl="90" mana="100" prem="1" range="3" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="attack/ultimate terra strike.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<!-- Healing Spells -->
<instant name="Wound Cleansing" words="exura ico" lvl="10" mana="40" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/wound cleansing.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Intense Wound Cleansing" words="exura gran ico" lvl="80" mana="200" prem="1" selftarget="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/intense wound cleansing.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Cure Bleeding" words="exana kor" lvl="30" mana="30" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/cure bleeding.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
<instant name="Cure Electrification" words="exana vis" lvl="22" mana="30" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/cure electrification.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Cure Burning" words="exana flam" lvl="30" mana="30" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/cure burning.lua">
<vocation id="2"/>
<vocation id="6"/>
</instant>
<instant name="Cure Curse" words="exana mort" lvl="80" mana="40" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="healing/cure curse.lua">
<vocation id="3"/>
<vocation id="7"/>
</instant>
<instant name="Recovery" words="utura" lvl="50" mana="75" prem="1" selftarget="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/recovery.lua">
<vocation id="4"/>
<vocation id="8"/>
<vocation id="3"/>
<vocation id="7"/>
</instant>
<instant name="Intense Recovery" words="utura gran" lvl="100" mana="165" prem="1" selftarget="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/intense recovery.lua">
<vocation id="4"/>
<vocation id="8"/>
<vocation id="3"/>
<vocation id="7"/>
</instant>
<instant name="Salvation" words="exura gran san" lvl="60" mana="210" prem="1" selftarget="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="healing/salvation.lua">
<vocation id="3"/>
<vocation id="7"/>
</instant>
</spells>
Attack Spells
annihilation
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill * attack, level / 5
return -(skillTotal * 0.0408 + levelTotal)/2, -(skillTotal * 0.0408 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3201) <= 0 then
setPlayerStorageValue(cid, 3201, os.time()+6000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
brutal strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill * attack, level / 5
return -(skillTotal * 0.0408 + levelTotal)/2, -(skillTotal * 0.0408 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3201) <= 0 then
setPlayerStorageValue(cid, 3201, os.time()+6000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
curse
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
local condition = createConditionObject(CONDITION_CURSED)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -45)
addDamageCondition(condition, 1, 3000, -40)
addDamageCondition(condition, 1, 3000, -35)
addDamageCondition(condition, 1, 3000, -34)
addDamageCondition(condition, 2, 3000, -33)
addDamageCondition(condition, 2, 3000, -32)
addDamageCondition(condition, 2, 3000, -31)
addDamageCondition(condition, 2, 3000, -30)
addDamageCondition(condition, 3, 3000, -29)
addDamageCondition(condition, 3, 3000, -25)
addDamageCondition(condition, 3, 3000, -24)
addDamageCondition(condition, 4, 3000, -23)
addDamageCondition(condition, 4, 3000, -20)
addDamageCondition(condition, 5, 3000, -19)
addDamageCondition(condition, 5, 3000, -15)
addDamageCondition(condition, 6, 3000, -10)
addDamageCondition(condition, 10, 3000, -5)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3202) <= 0 then
setPlayerStorageValue(cid, 3202, os.time()+50000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
electrify
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
local condition = createConditionObject(CONDITION_ENERGY)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 25, 3000, -45)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3203) <= 0 then
setPlayerStorageValue(cid, 3203, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
envenom
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_POISONAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)
local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 5, 3000, -45)
addDamageCondition(condition, 10, 3000, -35)
addDamageCondition(condition, 15, 3000, -25)
addDamageCondition(condition, 20, 3000, -15)
addDamageCondition(condition, 25, 3000, -5)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3204) <= 0 then
setPlayerStorageValue(cid, 3204, os.time()+40000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
front sweep
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
local area = createCombatArea(AREA_WAVE6, AREADIAGONAL_WAVE6)
setCombatArea(combat, area)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill * attack, level / 5
return -(skillTotal * 0.0854 + levelTotal)/2, -(skillTotal * 0.0854 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3205) <= 0 then
setPlayerStorageValue(cid, 3205, os.time()+6000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
holy flash
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY)
local condition = createConditionObject(CONDITION_DAZZLED)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, math.random(7,11), 3000, -20)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3206) <= 0 then
setPlayerStorageValue(cid, 3206, os.time()+40000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
ignite
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 25, 3000, -45)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3207) <= 0 then
setPlayerStorageValue(cid, 3207, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
inflict wound
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 0)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE)
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 10)
addDamageCondition(condition, 15, 2000, -50)
setCombatCondition(combat, condition)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3208) <= 0 then
setPlayerStorageValue(cid, 3208, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
lightning
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/2.49))/1.75 -- 1.75
local max = -(((level/5)+(maglevel)+(maglevel*10)/2.49))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3209) <= 0 then
setPlayerStorageValue(cid, 3209, os.time()+8000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
physical strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EXPLOSION)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/6.97))/1.5
local max = -(((level/5)+(maglevel)+(maglevel*10)/6.97))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3210) <= 0 then
setPlayerStorageValue(cid, 3210, os.time()+2000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
strong energy strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/2.62))/1.45 -- old: 1.75
local max = -(((level/5)+(maglevel)+(maglevel*10)/2.62))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3211) <= 0 then
setPlayerStorageValue(cid, 3211, os.time()+8000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
strong ethereal spear
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)
function onGetFormulaValues(cid, level, skill, attack, factor)
local level = getPlayerLevel(cid)
local min = -((skill*attack/10)*0.25+(level/5))/1.75 -- 1.75
local max = -((skill*attack/10)*0.25+(level/5))
-- local min = -((skill * attack / 10) * 0.25 + (level / 5))/1.75
-- Divisor = 1.75
-- local min = -((skill * attack / 1.75) / ? + (level / 5))/1.75
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3212) <= 0 then
setPlayerStorageValue(cid, 3212, os.time()+8000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
strong flame strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/2.62))/1.45 -- old: 1.75
local max = -(((level/5)+(maglevel)+(maglevel*10)/2.62))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3213) <= 0 then
setPlayerStorageValue(cid, 3213, os.time()+8000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
strong ice strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/2.62))/1.45 -- old: 1.75
local max = -(((level/5)+(maglevel)+(maglevel*10)/2.62))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3214) <= 0 then
setPlayerStorageValue(cid, 3214, os.time()+8000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
strong ice wave
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/1.366))/2 -- divisor: (/2); dobro do dano do Ice Wave: (2.371); dobro do dano *2:
local max = -(((level/5)+(maglevel)+(maglevel*10)/1.366)) -- fórmula do Energy Wave: (1.366);
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local area = createCombatArea(AREA_WAVE4, AREADIAGONAL_WAVE4)
-- local area = createCombatArea(AREA_WAVE3, AREADIAGONAL_WAVE4)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3215) <= 0 then
setPlayerStorageValue(cid, 3215, os.time()+6000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
strong terra strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_CARNIPHILA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLEARTH)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/2.62))/1.45 -- old: 1.75
local max = -(((level/5)+(maglevel)+(maglevel*10)/2.62))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3216) <= 0 then
setPlayerStorageValue(cid, 3216, os.time()+8000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
ultimate energy strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/0.954))/2
local max = -(((level/5)+(maglevel)+(maglevel*10)/0.954))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3217) <= 0 then
setPlayerStorageValue(cid, 3217, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
ultimate flame strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/1.464))/1.45 -- old: 2
local max = -(((level/5)+(maglevel)+(maglevel*10)/1.464))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3218) <= 0 then
setPlayerStorageValue(cid, 3218, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
ultimate ice strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLICE)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/1.464))/1.45 -- old: 2
local max = -(((level/5)+(maglevel)+(maglevel*10)/1.464))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3219) <= 0 then
setPlayerStorageValue(cid, 3219, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
ultimate terra strike
Lua:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_CARNIPHILA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLEARTH)
function onGetFormulaValues(cid, level, maglevel)
local min = -(((level/5)+(maglevel)+(maglevel*10)/0.954))/2
local max = -(((level/5)+(maglevel)+(maglevel*10)/0.954))
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 3220) <= 0 then
setPlayerStorageValue(cid, 3220, os.time()+30000)
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
end
Attachments
-
spells.rar15.8 KB · Views: 183 · VirusTotal
Last edited: