• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

RevScripts help converting rune to last tfs 1.3 revs

miguelshta

Member
Joined
Mar 21, 2009
Messages
351
Solutions
1
Reaction score
13
Location
Toronto, Canada
Lua:
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 10)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 4)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -10.1, -99, -10.5, -98)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 10)
setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 4)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -10.1, -99, -10.5, -98)

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 10)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -10.3, -97, -11.5, -99)

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 10)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -10.6, -99, -11.3, -97)

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 43)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -10.3, -89, -10.9, -95)

local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 48)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -10.2, -91, -10.6, -90)

local combat7 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 43)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -10.9, -97, -10.7, -89)

local combat8 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 48)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -10.4, -95, -10.1, -93)

local combat9 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 48)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -10.8, -98, -10.2, -94)

local combat10 = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 11)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

local combat11 = createCombatObject()
setCombatParam(combat11, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat11, COMBAT_PARAM_EFFECT, 47)
setCombatFormula(combat11, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

local combat12 = createCombatObject()
setCombatParam(combat12, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat12, COMBAT_PARAM_EFFECT, 37)
setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

local combat13 = createCombatObject()
setCombatParam(combat13, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat13, COMBAT_PARAM_EFFECT, 15)
setCombatFormula(combat13, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

local combat14 = createCombatObject()
setCombatParam(comba14, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat14, COMBAT_PARAM_EFFECT, 15)
setCombatFormula(combat14, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

local combat15 = createCombatObject()
setCombatParam(combat15, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat15, COMBAT_PARAM_EFFECT, 15)
setCombatFormula(combat15, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

local combat16 = createCombatObject()
setCombatParam(combat16, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat16, COMBAT_PARAM_EFFECT, 15)
setCombatFormula(combat16, COMBAT_FORMULA_LEVELMAGIC, -10.4, -94, -10.3, -98)

arr1 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr3 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr4 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr5 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr6 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr7 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr8 = {
{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
{0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
{1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
{1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
{0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
{0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
{1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
{1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1},
}

arr9 = {
{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
{0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
{1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
{1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
{0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
{0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
{1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
{1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1},
}

arr10 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr11 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr12 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}

arr13 = {
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
}

arr14 = {
{1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
{0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
}

arr15 = {
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 1, 0, 0, 1, 3, 1, 0, 0, 1, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0},
{0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1},
}

arr16 = {
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
{0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)
local area3 = createCombatArea(arr3)
local area4 = createCombatArea(arr4)
local area5 = createCombatArea(arr5)
local area6 = createCombatArea(arr6)
local area7 = createCombatArea(arr7)
local area8 = createCombatArea(arr8)
local area9 = createCombatArea(arr9)
local area10 = createCombatArea(arr10)
local area11 = createCombatArea(arr11)
local area12 = createCombatArea(arr12)
local area13 = createCombatArea(arr13)
local area14 = createCombatArea(arr14)
local area15 = createCombatArea(arr15)
local area16 = createCombatArea(arr16)
setCombatArea(combat1, area1)
setCombatArea(combat2, area2)
setCombatArea(combat3, area3)
setCombatArea(combat4, area4)
setCombatArea(combat5, area5)
setCombatArea(combat6, area6)
setCombatArea(combat7, area7)
setCombatArea(combat8, area8)
setCombatArea(combat9, area9)
setCombatArea(combat10, area10)
setCombatArea(combat11, area11)
setCombatArea(combat12, area12)
setCombatArea(combat13, area13)
setCombatArea(combat14, area14)
setCombatArea(combat15, area15)
setCombatArea(combat16, area16)

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end

local function onCastSpell2(parameters)
doCombat(parameters.cid, parameters.combat2, parameters.var)
end

local function onCastSpell3(parameters)
doCombat(parameters.cid, parameters.combat3, parameters.var)
end

local function onCastSpell4(parameters)
doCombat(parameters.cid, parameters.combat4, parameters.var)
end

local function onCastSpell5(parameters)
doCombat(parameters.cid, parameters.combat5, parameters.var)
end

local function onCastSpell6(parameters)
doCombat(parameters.cid, parameters.combat6, parameters.var)
end

local function onCastSpell7(parameters)
doCombat(parameters.cid, parameters.combat7, parameters.var)
end

local function onCastSpell8(parameters)
doCombat(parameters.cid, parameters.combat8, parameters.var)
end

local function onCastSpell9(parameters)
doCombat(parameters.cid, parameters.combat9, parameters.var)
end

local function onCastSpell10(parameters)
doCombat(parameters.cid, parameters.combat10, parameters.var)
end

local function onCastSpell11(parameters)
doCombat(parameters.cid, parameters.combat11, parameters.var)
end

local function onCastSpell12(parameters)
doCombat(parameters.cid, parameters.combat12, parameters.var)
end

local function onCastSpell13(parameters)
doCombat(parameters.cid, parameters.combat13, parameters.var)
end

local function onCastSpell14(parameters)
doCombat(parameters.cid, parameters.combat14, parameters.var)
end

local function onCastSpell15(parameters)
doCombat(parameters.cid, parameters.combat15, parameters.var)
end

local function onCastSpell16(parameters)
doCombat(parameters.cid, parameters.combat16, parameters.var)
end

function onCastSpell(cid, var)
local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, combat6 = combat6, combat7 = combat7, combat8 = combat8, combat9 = combat9, combat10 = combat10, combat11 = combat11, combat12 = combat12, combat13 = combat13, combat14 = combat14, combat15 = combat15, combat16 = combat16 }
addEvent(onCastSpell1, 0, parameters)
addEvent(onCastSpell2, 200, parameters)
addEvent(onCastSpell3, 400, parameters)
addEvent(onCastSpell4, 600, parameters)
addEvent(onCastSpell5, 800, parameters)
addEvent(onCastSpell6, 1000, parameters)
addEvent(onCastSpell7, 1200, parameters)
addEvent(onCastSpell8, 1800, parameters)
addEvent(onCastSpell9, 1801, parameters)
addEvent(onCastSpell10, 1802, parameters)
addEvent(onCastSpell11, 2000, parameters)
addEvent(onCastSpell12, 2400, parameters)
addEvent(onCastSpell13, 3100, parameters)
addEvent(onCastSpell14, 3800, parameters)
addEvent(onCastSpell15, 4500, parameters)
addEvent(onCastSpell16, 5200, parameters)
return TRUE
end
 
data/scripts/test_spell.lua
Lua:
local configSpell = {
    name = "Test Spell",
    words = "test spell",
    group = "attack",
    vocations = {"sorcerer", "master sorcerer"},
    id = 10,
    cooldown = 2000,
    groupCooldown = 2000,
    level = 10,
    mana = 1000,
    premium = true
}

local configCombats = {
    { type = COMBAT_ICEDAMAGE, effect = 10, distanceEffect = 4, formula = {-10.1, -99, -10.5, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 10, distanceEffect = 4, formula = {-10.1, -99, -10.5, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 10, formula = {-10.3, -97, -11.5, -99} },
    { type = COMBAT_ICEDAMAGE, effect = 10, formula = {-10.6, -99, -11.3, -97} },
    { type = COMBAT_ICEDAMAGE, effect = 43, formula = {-10.3, -89, -10.9, -95} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.2, -91, -10.6, -90} },
    { type = COMBAT_ICEDAMAGE, effect = 43, formula = {-10.9, -97, -10.7, -89} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.4, -95, -10.1, -93} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.8, -98, -10.2, -94} },
    { type = COMBAT_ICEDAMAGE, effect = 11, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 47, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 37, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} }
}


local arrays = {
    -- Area 1
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 2
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 3
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 4
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 5
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 6
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 7
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 8
    {{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
    {1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
    {0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
    {1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 9
    {{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
    {1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
    {0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
    {1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 10
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 11
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 12
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 13
    {{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 14
    {{1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}},
    -- Area 15
    {{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 1, 0, 0, 1, 3, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0},
    {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 16
    {{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}}
}

local combats = {}
for index, info in pairs(configCombats) do
    combats[index] = Combat()
    combats[index]:setParameter(COMBAT_PARAM_TYPE, info.type)
    combats[index]:setParameter(COMBAT_PARAM_EFFECT, info.effect)
    if info.distanceEffect then
        combats[index]:setParameter(COMBAT_PARAM_DISTANCEEFFECT, info.distanceEffect)
    end
    combats[index]:setFormula(COMBAT_FORMULA_LEVELMAGIC, unpack(info.formula))
    combats[index]:setArea(createCombatArea(arrays[index]))
end

local spell = Spell(SPELL_INSTANT)
function spell.onCastSpell(creature, variant)
    if combats[1]:execute(creature, variant) then
        local creatureId = creature:getId()
        for index = 2, #combats do
            addEvent(function (cid, index)
                local creature = Creature(cid)
                if creature then
                    combats[index]:execute(creature, Variant(creature:getPosition()))
                end
            end, 200 * (index-1), creatureId, index)
        end
        return true
    end
    return false
end

spell:name(configSpell.name)
spell:words(configSpell.words)
spell:group(configSpell.group)
spell:vocation(unpack(configSpell.vocations))
spell:id(configSpell.id)
spell:cooldown(configSpell.cooldown)
spell:groupCooldown(configSpell.groupCooldown)
spell:level(configSpell.level)
spell:mana(configSpell.mana)
spell:isPremium(configSpell.premium)
spell:register()
GIF 03-03-2022 11-36-58 p. m..gif
 
data/scripts/test_spell.lua
Lua:
local configSpell = {
    name = "Test Spell",
    words = "test spell",
    group = "attack",
    vocations = {"sorcerer", "master sorcerer"},
    id = 10,
    cooldown = 2000,
    groupCooldown = 2000,
    level = 10,
    mana = 1000,
    premium = true
}

local configCombats = {
    { type = COMBAT_ICEDAMAGE, effect = 10, distanceEffect = 4, formula = {-10.1, -99, -10.5, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 10, distanceEffect = 4, formula = {-10.1, -99, -10.5, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 10, formula = {-10.3, -97, -11.5, -99} },
    { type = COMBAT_ICEDAMAGE, effect = 10, formula = {-10.6, -99, -11.3, -97} },
    { type = COMBAT_ICEDAMAGE, effect = 43, formula = {-10.3, -89, -10.9, -95} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.2, -91, -10.6, -90} },
    { type = COMBAT_ICEDAMAGE, effect = 43, formula = {-10.9, -97, -10.7, -89} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.4, -95, -10.1, -93} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.8, -98, -10.2, -94} },
    { type = COMBAT_ICEDAMAGE, effect = 11, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 47, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 37, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} }
}


local arrays = {
    -- Area 1
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 2
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 3
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 4
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 5
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 6
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 7
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 8
    {{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
    {1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
    {0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
    {1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 9
    {{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
    {1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
    {0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
    {1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 10
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 11
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 12
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 13
    {{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 14
    {{1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}},
    -- Area 15
    {{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 1, 0, 0, 1, 3, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0},
    {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 16
    {{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}}
}

local combats = {}
for index, info in pairs(configCombats) do
    combats[index] = Combat()
    combats[index]:setParameter(COMBAT_PARAM_TYPE, info.type)
    combats[index]:setParameter(COMBAT_PARAM_EFFECT, info.effect)
    if info.distanceEffect then
        combats[index]:setParameter(COMBAT_PARAM_DISTANCEEFFECT, info.distanceEffect)
    end
    combats[index]:setFormula(COMBAT_FORMULA_LEVELMAGIC, unpack(info.formula))
    combats[index]:setArea(createCombatArea(arrays[index]))
end

local spell = Spell(SPELL_INSTANT)
function spell.onCastSpell(creature, variant)
    if combats[1]:execute(creature, variant) then
        local creatureId = creature:getId()
        for index = 2, #combats do
            addEvent(function (cid, index)
                local creature = Creature(cid)
                if creature then
                    combats[index]:execute(creature, Variant(creature:getPosition()))
                end
            end, 200 * (index-1), creatureId, index)
        end
        return true
    end
    return false
end

spell:name(configSpell.name)
spell:words(configSpell.words)
spell:group(configSpell.group)
spell:vocation(unpack(configSpell.vocations))
spell:id(configSpell.id)
spell:cooldown(configSpell.cooldown)
spell:groupCooldown(configSpell.groupCooldown)
spell:level(configSpell.level)
spell:mana(configSpell.mana)
spell:isPremium(configSpell.premium)
spell:register()
View attachment 65964
how to use it as a rune?
 
how to use it as a rune?

Rune version:
Lua:
local configSpell = {
    name = "Test Spell",
    runeId = 2294,
    group = "attack",
    vocations = {"sorcerer", "master sorcerer"},
    id = 10,
    cooldown = 2000,
    groupCooldown = 2000,
    level = 10,
    magicLevel = 10,
    mana = 1000,
    premium = true
}

local configCombats = {
    { type = COMBAT_ICEDAMAGE, effect = 10, distanceEffect = 4, formula = {-10.1, -99, -10.5, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 10, distanceEffect = 4, formula = {-10.1, -99, -10.5, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 10, formula = {-10.3, -97, -11.5, -99} },
    { type = COMBAT_ICEDAMAGE, effect = 10, formula = {-10.6, -99, -11.3, -97} },
    { type = COMBAT_ICEDAMAGE, effect = 43, formula = {-10.3, -89, -10.9, -95} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.2, -91, -10.6, -90} },
    { type = COMBAT_ICEDAMAGE, effect = 43, formula = {-10.9, -97, -10.7, -89} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.4, -95, -10.1, -93} },
    { type = COMBAT_ICEDAMAGE, effect = 48, formula = {-10.8, -98, -10.2, -94} },
    { type = COMBAT_ICEDAMAGE, effect = 11, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 47, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 37, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} },
    { type = COMBAT_ICEDAMAGE, effect = 15, formula = {-10.4, -94, -10.3, -98} }
}


local arrays = {
    -- Area 1
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 2
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 3
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 4
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 5
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 6
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 7
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 8
    {{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
    {1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
    {0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
    {1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 9
    {{1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1},
    {0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0},
    {1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0},
    {1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 1, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1},
    {0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1},
    {0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0},
    {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1},
    {1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 10
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 11
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 12
    {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0},
    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 13
    {{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}},
    -- Area 14
    {{1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},
    {0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}},
    -- Area 15
    {{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 1, 0, 0, 1, 3, 1, 0, 0, 1, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
    {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0},
    {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1}},
    -- Area 16
    {{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 1},
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0},
    {0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
    {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}}
}

local combats = {}
for index, info in pairs(configCombats) do
    combats[index] = Combat()
    combats[index]:setParameter(COMBAT_PARAM_TYPE, info.type)
    combats[index]:setParameter(COMBAT_PARAM_EFFECT, info.effect)
    if info.distanceEffect then
        combats[index]:setParameter(COMBAT_PARAM_DISTANCEEFFECT, info.distanceEffect)
    end
    combats[index]:setFormula(COMBAT_FORMULA_LEVELMAGIC, unpack(info.formula))
    combats[index]:setArea(createCombatArea(arrays[index]))
end

local rune = Spell(SPELL_RUNE)

function rune.onCastSpell(creature, variant)
    if combats[1]:execute(creature, variant) then
        local creatureId = creature:getId()
        for index = 2, #combats do
            addEvent(function (cid, variant, index)
                local creature = Creature(cid)
                if creature then
                    combats[index]:execute(creature, variant)
                end
            end, 200 * (index-1), creatureId, variant, index)
        end
        return true
    end
    return true
end

rune:name(configSpell.name)
rune:runeId(configSpell.runeId)
rune:allowFarUse(true)
rune:charges(1)
rune:group(configSpell.group)
rune:vocation(unpack(configSpell.vocations))
rune:id(configSpell.id)
rune:cooldown(configSpell.cooldown)
rune:groupCooldown(configSpell.groupCooldown)
rune:level(configSpell.level)
rune:magicLevel(configSpell.magicLevel)
rune:mana(configSpell.mana)
rune:isPremium(configSpell.premium)
rune:register()
 
Back
Top