Exedion
Active Member
- Joined
- Jun 11, 2007
- Messages
- 628
- Reaction score
- 30
Well i'm making new spells for my serv, and i remake a new animated version of the most powerfull spells what cipsoft made sometime...
*1.0 -> Renew Animated Spell
*1.1 -> New Balanced Formula and animation time
*1.2 -> Fixed Animations (one are bugged and add ring animation for make and idea of the spell range.
*1.0 -> Almost features of UE(legends in tibia says this spells have the same force of UE, no true but fun ^^), nice poisoned rain effect.
here a short video how look the animation.
YouTube - New Ultimate Explosion 1.2 & Poison Storm
Enjoy! please, rep++
Code:
local arr = {
{
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
},
{
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}
}
}
local combat = {}
for i = 1, 3 do
combat = createCombatObject()
end
setCombatArea(combat[1], createCombatArea(arr[1]))
setCombatParam(combat[1], COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat[1], COMBAT_PARAM_BLOCKSHIELD, false)
setCombatParam(combat[1], COMBAT_PARAM_BLOCKARMOR, false)
setCombatArea(combat[2], createCombatArea(arr[2]))
setCombatParam(combat[2], COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat[3], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
function spellCallbackUltimate(param)
if param.count > 0 or math.random(0, 1) == 1 then
doSendMagicEffect(param.pos, CONST_ME_EXPLOSIONHIT)
addEvent(doSendMagicEffect, 50, param.pos, CONST_ME_EXPLOSIONAREA)
end
if(param.count < 3) then
param.count = param.count + 1
addEvent(spellCallbackUltimate, math.random(0, 500), param)
end
end
function onTargetTile(cid, pos)
local param = {}
param.cid = cid
param.pos = pos
param.count = 0
spellCallbackUltimate(param)
end
function onTargetTile2(cid, pos)
doCombat(cid, combat[3], positionToVariant(pos))
end
function onGetFormulaValues(cid, level, maglevel)
local min = -((level/5)+(maglevel*15))
local max = -((level/5)+(maglevel*18))
return min, max
end
setCombatCallback(combat[1], CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
setCombatCallback(combat[1], CALLBACK_PARAM_TARGETTILE, "onTargetTile")
setCombatCallback(combat[2], CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
function onCastSpell(cid, var)
doCombat(cid, combat[1], var)
doCombat(cid, combat[2], var)
return true
end
*1.0 -> Renew Animated Spell
*1.1 -> New Balanced Formula and animation time
*1.2 -> Fixed Animations (one are bugged and add ring animation for make and idea of the spell range.
Lua:
local arr = {
{
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
},
{
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}
}
}
local combat = {}
for i = 1, 3 do
combat = createCombatObject()
end
setCombatArea(combat[1], createCombatArea(arr[1]))
setCombatParam(combat[1], COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatArea(combat[2], createCombatArea(arr[2]))
setCombatParam(combat[2], COMBAT_PARAM_EFFECT, CONST_ME_POISONAREA)
function spellCallbackStorm(param)
if param.count > 0 or math.random(0, 1) == 1 then
doSendMagicEffect(param.pos, CONST_ME_HITBYPOISON)
doSendDistanceShoot({ x = param.pos.x - 7, y = param.pos.y - 7, z = param.pos.z}, param.pos, CONST_ANI_POISON)
addEvent(doSendMagicEffect, 50, param.pos, CONST_ME_GREEN_RINGS)
end
if(param.count < 3) then
param.count = param.count + 1
addEvent(spellCallbackStorm, math.random(0, 500), param)
end
end
function onTargetTile(cid, pos)
local param = {}
param.cid = cid
param.pos = pos
param.count = 0
spellCallbackStorm(param)
end
function onTargetTile2(cid, pos)
doCombat(cid, combat[3], positionToVariant(pos))
end
function onGetFormulaValues(cid, level, maglevel)
local min = -((level/5)+(maglevel*15))
local max = -((level/5)+(maglevel*18))
return min, max
end
setCombatCallback(combat[1], CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
setCombatCallback(combat[1], CALLBACK_PARAM_TARGETTILE, "onTargetTile")
setCombatCallback(combat[2], CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
function onCastSpell(cid, var)
doCombat(cid, combat[1], var)
doCombat(cid, combat[2], var)
return true
end
*1.0 -> Almost features of UE(legends in tibia says this spells have the same force of UE, no true but fun ^^), nice poisoned rain effect.
here a short video how look the animation.
YouTube - New Ultimate Explosion 1.2 & Poison Storm
Enjoy! please, rep++
Last edited: