Fala, galera!
Aqui estou eu, Oneshot, de volta à minha primeira casa.
E para comemorar programei essa magia aqui que dei o nome de Meteor Rain.
Uma magia baseada no "famoso" servidor alternativo Kingdom Age, bem legal que causa muitos hits. Considero ela apelativa e não recomendo para servidores de multiplicadores altos.
Crie um arquivo chamado meteor rain.lua na sua pasta \data\spells\scripts. Insira este conteúdo nele.
local spellConfig = {
{effect = CONST_ME_FIREATTACK,
area = createCombatArea({
{1, 0, 1},
{0, 2, 0},
{0, 1, 0}})
},
{effect = CONST_ME_FIREAREA,
area = createCombatArea({
{0, 1, 0, 0, 0},
{1, 0, 0, 1, 0},
{0, 0, 2, 0, 0},
{0, 0, 1, 0, 1},
{1, 0, 0, 1, 0}})
},
{effect = CONST_ME_FIREATTACK,
area = createCombatArea({
{0, 0, 1, 0, 1},
{1, 0, 0, 0, 1},
{0, 0, 2, 1, 0},
{0, 1, 0, 0, 1},
{1, 0, 1, 0, 0}})
},
{effect = CONST_ME_HITBYFIRE,
area = createCombatArea({
{0, 0, 1, 0, 1},
{1, 0, 0, 0, 1},
{0, 0, 2, 1, 0},
{0, 1, 0, 0, 1},
{1, 0, 1, 0, 0}})
},
{effect = CONST_ME_FIREAREA,
area = createCombatArea({
{0, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 1},
{0, 0, 1, 2, 1, 0, 0},
{1, 0, 0, 0, 0, 0, 1},
{0, 0, 1, 0, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0}})
},
{effect = CONST_ME_HITBYFIRE,
area = createCombatArea({
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 1, 0, 1, 0},
{1, 0, 1, 0, 0, 0, 1},
{0, 0, 0, 2, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 1},
{1, 0, 0, 1, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 0}})
},
{effect = CONST_ME_FIREAREA,
area = createCombatArea({
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 1, 0, 1, 0},
{1, 0, 1, 0, 0, 0, 1},
{0, 0, 0, 2, 1, 0, 0},
{0, 1, 0, 0, 0, 0, 1},
{1, 0, 0, 1, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 0}})
}
}
local combats = {}
for k, config in ipairs(spellConfig) do
combats[k] = createCombatObject()
onTargetTile = function(cid, pos)
local basePos = getThingPosition(cid)
local fromPos = {x=basePos.x-6, y=basePos.y-8, z=basePos.z}
doSendDistanceShoot(fromPos, pos, CONST_ANI_FIRE)
end
setCombatCallback(combats[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile")
setCombatParam(combats[k], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combats[k], COMBAT_PARAM_EFFECT, config.effect)
setCombatFormula(combats[k], COMBAT_FORMULA_LEVELMAGIC, -0.593, -50, -0.929, -100)
setCombatArea(combats[k], config.area)
end
local function castingSpellTime(p)
if(isCreature(p[1]) == TRUE) then
doCombat(unpack(p))
end
end
function onCastSpell(cid, var)
for k, combat in ipairs(combats) do
addEvent(castingSpellTime, (250*k), {cid, combat, var})
end
return true
end
Insira essa tag no seu documento spells.xml localizado em \data\spells. <instant name="Meteor Rain" words="meteor rain" lvl="80" mana="860" prem="1" exhaustion="2000" needlearn="0" event="script" value="meteor rain.lua"/>
Sinta-se livre para editar as vocações da magia.
Agora é só aproveitar-la
Abraços.