Caduceus
Unknown Member
- Joined
- May 10, 2010
- Messages
- 321
- Solutions
- 2
- Reaction score
- 24
I am having issues with the spell all executing at once. Not sure how to setup the execute for this situation.
Code:
-- Areas/Combat for 0ms
local combat0 = Combat()
combat0:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat0:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat0:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat0:setArea(createCombatArea({{1},
{1},
{0},
{2}}))
combat0:setFormula(COMBAT_FORMULA_LEVELMAGIC, 0, 200, 0, 200)
local condition0 = Condition(CONDITION_POISON)
condition0:setParameter(CONDITION_PARAM_DELAYED, true)
condition0:addDamage(4, 4000, -3)
condition0:addDamage(9, 4000, -2)
condition0:addDamage(20, 4000, -1)
combat0:setCondition(condition)
-- Areas/Combat for 200ms
local combat2 = Combat()
combat2:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat2:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat2:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat2:setArea(createCombatArea({{1, 0, 1},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0}}))
combat2:setFormula(COMBAT_FORMULA_LEVELMAGIC, 0, 200, 0, 200)
-- Areas/Combat for 400ms
local combat4 = Combat()
combat4:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat4:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat4:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat4:setArea(createCombatArea({{1, 0, 1, 0, 1},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 2, 0, 0}}))
combat4:setFormula(COMBAT_FORMULA_LEVELMAGIC, 0, 200, 0, 200)
-- Areas/Combat for 600ms
local combat6 = Combat()
combat6:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat6:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat6:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat6:setArea(createCombatArea({{1, 0, 1},
{1, 0, 1},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0}}))
combat6:setFormula(COMBAT_FORMULA_LEVELMAGIC, 0, 200, 0, 200)
-- Areas/Combat for 500ms
local combat5 = Combat()
combat5:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat5:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat5:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat5:setArea(createCombatArea({{1, 0, 1},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0}}))
combat5:setFormula(COMBAT_FORMULA_LEVELMAGIC, 0, 200, 0, 200)
-- Areas/Combat for 800ms
local combat8 = Combat()
combat8:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT)
combat8:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
combat8:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat8:setArea(createCombatArea({{1},
{1},
{0},
{0},
{0},
{2}}))
combat8:setFormula(COMBAT_FORMULA_LEVELMAGIC, 0, 200, 0, 200)
function executeCombat(p, i)
if not p.creature then
return false
end
combat0:execute(p.creature, p.var)
combat2:execute(p.creature, p.var)
combat4:execute(p.creature, p.var)
combat6:execute(p.creature, p.var)
combat5:execute(p.creature, p.var)
combat8:execute(p.creature, p.var)
end
function onCastSpell(creature, var)
local p = {creature = creature, var = var, combat = combat}
local time_ = {100, 200, 500, 800, 1000, 1200}
for t, _ in ipairs(time_) do
addEvent(executeCombat, time_[t], p, t)
return true
end
end