-- SpellCreator generated.
-- =============== COMBAT VARS ===============
-- Areas/Combat for 700ms
local combat7_Healing_Effect = createCombatObject()
setCombatParam(combat7_Healing_Effect, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat7_Healing_Effect, COMBAT_PARAM_TYPE, COMBAT_NONE)
setCombatArea(combat7_Healing_Effect,createCombatArea({{3}}))
-- Areas/Combat for 600ms
local combat6_Drain_Effect = createCombatObject()
setCombatParam(combat6_Drain_Effect, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
setCombatParam(combat6_Drain_Effect, COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN)
setCombatParam(combat6_Drain_Effect, COMBAT_PARAM_BLOCKARMOR, true)
setCombatArea(combat6_Drain_Effect,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
function getDmg_Drain_Effect(cid, level, maglevel)
return (75),(125)
end
setCombatCallback(combat6_Drain_Effect, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Drain_Effect")
-- Areas/Combat for 500ms
local combat5_Axe_Effect = createCombatObject()
setCombatParam(combat5_Axe_Effect, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDAXE)
setCombatParam(combat5_Axe_Effect, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat5_Axe_Effect, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat5_Axe_Effect,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
setCombatFormula(combat5_Axe_Effect, COMBAT_FORMULA_SKILL, 75, 10, 75, 10)
local con___combat5_Axe_Effect = createConditionObject(0)
setCombatCondition(combat5_Axe_Effect, con___combat5_Axe_Effect)
local con_Live_Drain__combat5_Axe_Effect = createConditionObject(0+CONDITION_BLEEDING+CONDITION_ATTRIBUTES+CONDITION_SPELLCOOLDOWN)
addDamageCondition(con_Live_Drain__combat5_Axe_Effect, 3, 2500, -25)
setCombatCondition(combat5_Axe_Effect, con_Live_Drain__combat5_Axe_Effect)
local dfcombat5_Axe_Effect = {CONST_ANI_WHIRLWINDAXE,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0}
-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end
function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
addEvent(RunPart,700,combat7_Healing_Effect,cid,var)
addEvent(RunPart,600,combat6_Drain_Effect,cid,var)
addEvent(RunPart,500,combat5_Axe_Effect,cid,var,dfcombat5_Axe_Effect,startPos)
return true
end