local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 111)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 42)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 2.5, 4)
arr2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 3, 0, 3, 0, 3, 0, 0, 0},
{0, 0, 0, 3, 0, 3, 0, 3, 0, 0, 0},
{0, 0, 0, 0, 3, 3, 3, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 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, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area2 = createCombatArea(arr2)
setCombatArea(combat2, area2)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 142)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -100, -1000, -100, -2000, 500, 500, 100.400, 200.1)
local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_EFFECT, 141)
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, -10, 5, 5, 0.85, 1.95, -20, -40)
local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_EFFECT, 16)
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, -10, 5, 5, 0.85, 1.95, -20, -40)
local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat6, COMBAT_PARAM_EFFECT, 137)
setCombatParam(combat6, COMBAT_PARAM_DISTANCEEFFECT, 23)
setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat7 = createCombatObject()
setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat7, COMBAT_PARAM_EFFECT, 59)
setCombatParam(combat7, COMBAT_PARAM_DISTANCEEFFECT, 23)
setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat8 = createCombatObject()
setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat8, COMBAT_PARAM_EFFECT, 138)
setCombatParam(combat8, COMBAT_PARAM_DISTANCEEFFECT, 138)
setCombatFormula(combat8, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat9 = createCombatObject()
setCombatParam(combat9, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat9, COMBAT_PARAM_EFFECT, 112)
setCombatFormula(combat9, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat10 = createCombatObject()
setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat10, COMBAT_PARAM_EFFECT, 79)
setCombatParam(combat10, COMBAT_PARAM_DISTANCEEFFECT, 5)
setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local combat11 = createCombatObject()
setCombatParam(combat11, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat11, COMBAT_PARAM_EFFECT, 68)
setCombatParam(combat11, COMBAT_PARAM_DISTANCEEFFECT, 2)
setCombatFormula(combat11, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local combat12 = createCombatObject()
setCombatParam(combat12, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat12, COMBAT_PARAM_EFFECT, 137)
setCombatParam(combat12, COMBAT_PARAM_DISTANCEEFFECT, 23)
setCombatFormula(combat12, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat13 = createCombatObject()
setCombatParam(combat13, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat13, COMBAT_PARAM_EFFECT, 9)
setCombatParam(combat13, COMBAT_PARAM_DISTANCEEFFECT, 25)
setCombatFormula(combat13, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)
local combat14 = createCombatObject()
setCombatParam(combat14, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat14, COMBAT_PARAM_EFFECT, 22)
setCombatParam(combat14, COMBAT_PARAM_DISTANCEEFFECT, 24)
setCombatFormula(combat14, COMBAT_FORMULA_LEVELMAGIC, -2.5, 0, -3.0, 0)
local combat15 = createCombatObject()
setCombatParam(combat15, COMBAT_PARAM_EFFECT, 122)
setCombatParam(combat15, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat15, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, -10, 5, 5, 0.85, 1.95, -20, -40)
arr15 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 3, 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, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
local area15 = createCombatArea(arr15)
setCombatArea(combat15, area15)
local c = {
["Bulbasaur"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 20
}
},
["Ivysaur"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 40
}
},
["Ivysaur"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 40
}
},
["Venusaur"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 85
}
},
["Pidgey"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 5
}
},
["Pidgeotto"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 20
}
},
["Pidgeotto"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 20
}
},
["Pidgeot"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 65
}
},
["Rattata"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 1
}
},
["Raticate"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 25
}
},
["Spearow"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 10
}
},
["Fearow"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 50
}
},
["Pikachu"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 20
}
},
["Nidoran Femea"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 10
}
},
["Nidorina"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 30
}
},
["Nidoqueen"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 65
}
},
["Nidoran Macho"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 10
}
},
["Nidorino"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 30
}
},
["Nidoking"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 65
}
},
["Vulpix"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 15
}
},
["Ninetales"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 70
}
},
["Ponyta"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 20
}
},
["Rapidash"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 55
}
},
["Scyther"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 80
}
},
["Electabuzz"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 80
}
},
["Vaporeon"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 55
}
},
["Jolteon"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 55
}
},
["Flareon"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 55
}
},
["Shiny Venusaur"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 100
}
},
["Shiny Rattata"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 1
}
},
["Shiny Raticate"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 25
}
},
["Shiny Scyther"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 100
}
},
["Shiny Scyther"] = {x = {
m1 = combat1,
spell = "Quick Attack",
minLv = 100
}
},
["Zapdos"] = {x = {
m1 = combat2,
spell = "Whirlwind",
minLv = 100
}
},
["Articuno"] = {x = {
m1 = combat2,
spell = "Whirlwind",
minLv = 150
}
},
["Charmander"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 20
}
},
["Charmeleon"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 40
}
},
["Paras"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 5
}
},
["Mankey"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 15
}
},
["Primeape"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 50
}
},
["Magmar"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 80
}
},
["Pinsir"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 45
}
},
["Kabuto"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 20
}
},
["Kabutops"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 80
}
},
["Snorlax"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 1
}
},
["Shiny Paras"] = {x = {
m1 = combat3,
spell = "Scratch",
minLv = 5
}
},
["Charizard"] = {x = {
m1 = combat4,
spell = "Dragon Claw",
minLv = 85
}
},
["Elder Charizard"] = {x = {
m1 = combat4,
spell = "Dragon Claw",
minLv = 100
}
},
["Squirtle"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 20
}
},
["Wartortle"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 40
}
},
["Blastoise"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 85
}
},
["Caterpie"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 1
}
},
["Seel"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 20
}
},
["Drowzee"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 25
}
},
["Hypno"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 55
}
},
["Cubone"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 20
}
},
["Marowak"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 55
}
},
["Tauros"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 45
}
},
["Dragonair"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 60
}
},
["Dragonite"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 100
}
},
["Shiny Blastoise"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 100
}
},
["Shiny Dratini"] = {x = {
m1 = combat5,
spell = "Headbutt",
minLv = 20
}
},
["Metapod"] = {x = {
m1 = combat6,
spell = "String Shot",
minLv = 15,
distance = 3
}
},
["Butterfree"] = {x = {
m1 = combat6,
spell = "String Shot",
minLv = 30,
distance = 3
}
},
["Kakuna"] = {x = {
m1 = combat6,
spell = "String Shot",
minLv = 15,
distance = 3
}
},
["Beedrill"] = {x = {
m1 = combat6,
spell = "String Shot",
minLv = 25,
distance = 3
}
},
["Shiny Beedrill"] = {x = {
m1 = combat6,
spell = "String Shot",
minLv = 25,
distance = 3
}
},
["Weedle"] = {x = {
m1 = combat7,
spell = "Horn Attack",
minLv = 1,
distance = 3
}
},
["Goldeen"] = {x = {
m1 = combat7,
spell = "Horn Attack",
minLv = 10,
distance = 3
}
},
["Seaking"] = {x = {
m1 = combat7,
spell = "Horn Attack",
minLv = 35,
distance = 3
}
},
["Lapras"] = {x = {
m1 = combat7,
spell = "Horn Attack",
minLv = 80,
distance = 3
}
},
["Ekans"] = {x = {
m1 = combat8,
spell = "Bite",
minLv = 15,
distance = 3
}
},
["Ekans"] = {x = {
m1 = combat8,
spell = "Bite",
minLv = 15,
distance = 3
}
},
["Arbok"] = {x = {
m1 = combat8,
spell = "Bite",
minLv = 35,
distance = 3
}
},
["Kangaskhan"] = {x = {
m1 = combat8,
spell = "Bite",
minLv = 80,
distance = 3
}
},
["Omanyte"] = {x = {
m1 = combat8,
spell = "Bite",
minLv = 20,
distance = 3
}
},
["Omastar"] = {x = {
m1 = combat8,
spell = "Bite",
minLv = 80,
distance = 3
}
},
["Raichu"] = {x = {
m1 = combat9,
spell = "Mega Kick",
minLv = 50
}
},
["Shiny Raichu"] = {x = {
m1 = combat9,
spell = "Mega Kick",
minLv = 80
}
},
["Bulbasaur"] = {x = {
m1 = combat10,
spell = "Razor Leaf",
minLv = 20
}
},
["Ivysaur"] = {x = {
m1 = combat10,
spell = "Razor Leaf",
minLv = 40
}
},
["Venusaur"] = {x = {
m1 = combat10,
spell = "Razor Leaf",
minLv = 85
}
},
["Squirtle"] = {x = {
m1 = combat11,
spell = "Bubbles",
minLv = 20
}
},
["Wartortle"] = {x = {
m1 = combat11,
spell = "Bubbles",
minLv = 40
}
},
["Blastoise"] = {x = {
m1 = combat11,
spell = "Bubbles",
minLv = 85
}
},
["Caterpie"] = {x = {
m1 = combat12,
spell = "String Shot",
minLv = 1
}
},
["Metapod"] = {x = {
m1 = combat12,
spell = "String Shot",
minLv = 15
}
},
["Butterfree"] = {x = {
m1 = combat12,
spell = "String Shot",
minLv = 30
}
},
["Weedle"] = {x = {
m1 = combat13,
spell = "Horn Attack",
minLv = 1
}
},
["Kakuna"] = {x = {
m1 = combat13,
spell = "Horn Attack",
minLv = 15
}
},
["Beedrill"] = {x = {
m1 = combat13,
spell = "Horn Attack",
minLv = 30
}
},
["Zubat"] = {x = {
m1 = combat14,
spell = "Super Sonic",
minLv = 10
}
},
["Golbat"] = {x = {
m1 = combat14,
spell = "Super Sonic",
minLv = 30
}
},
["Sandshrew"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 20
}
},
["Sandslash"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 55
}
},
["Diglett"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 10
}
},
["Dugtrio"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 35
}
},
["Farfetchd"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 40
}
},
["Doduo"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 15
}
},
["Dodrio"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 45
}
},
["Onix"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 50
}
},
["Eevee"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 20
}
},
["Eevee"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 20
}
},
["Shiny Farfetchd"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 80
}
},
["Crystal Onix"] = {x = {
m1 = combat15,
spell = "Sand Attack",
minLv = 80
}
},
["Mew"] = {x = {
m1 = combat1,
spell = "Test",
minLv = 1,
distance = 3
}
},
["Minotaur"] = {x = {
m1 = combat1,
spell = "Tesurmomt",
minLv = 1,
distance = 3
}
}
}
function onCastSpell(cid, var)
local summ = getCreatureSummons(cid)
if #summ == 0 then
return doPlayerSendCancel(cid, "Sorry, but you need a pokemon.")
end
for i = 1, #summ do
for name, _ in pairs(c) do
if getCreatureName(summ[i]):lower() == name:lower() then
local con = c[name].x
if getPlayerLevel(cid) < con.minLv then
return doPlayerSendCancel(cid, "Sorry, but you must be level " .. con.minLv .. " or higher to cast.") and doSendMagicEffect(getThingPos(cid), 2)
end
local distance = (not con.distance) and 1 or con.distance
if not isCreature(getCreatureTarget(cid)) or getCreatureTarget(cid) == summ[i] then
return doPlayerSendCancel(cid, "Invalid target.") and doSendMagicEffect(getThingPos(cid), 2)
end
if getDistanceBetween(getThingPos(summ[i]), getThingPos(getCreatureTarget(cid))) > distance then
return doPlayerSendCancel(cid, "Sorry, your pokemon is too far away.") and doSendMagicEffect(getThingPos(cid), 2)
end
if getPlayerStorageValue(cid, 23000) <= os.time() then
doPlayerSetStorageValue(cid, 23000, os.time()+5)
doCombat(summ[i], con.m1, numberToVariant(getCreatureTarget(cid)))
doCreatureSay(cid, name .. ", " .. con.spell .. ".")
end
doPlayerSendCancel(cid, "Cooldown: "..(getPlayerStorageValue(cid, 23000)-os.time()).." sec.")
doSendMagicEffect(getThingPos(cid), 2)
end
end
end
return true
end