Script com spells de alguns pokes... vo colocar ateh o 5 pq o resto n coube!
Talkactions.xml:
<talkaction words="m1" case-sensitive="no" event="script" value="move1.lua"/>
<talkaction words="m2" case-sensitive="no" event="script" value="move2.lua"/>
<talkaction words="m3" case-sensitive="no" event="script" value="move3.lua"/>
<talkaction words="m4" case-sensitive="no" event="script" value="move4.lua"/>
<talkaction words="m5" case-sensitive="no" event="script" value="move5.lua"/>
Talkactions/scripts
move1.lua
local dynpun1 = createCombatArea{
{1, 0, 0},
{0, 2, 0},
{0, 0, 0},
}
local dynpun2 = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 0, 1},
}
local dynpun3 = createCombatArea{
{0, 0, 0},
{1, 2, 0},
{0, 0, 0},
}
local dynpun4 = createCombatArea{
{0, 0, 1},
{0, 2, 0},
{0, 0, 0},
}
local dynpun5 = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local confusion = createCombatArea{
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 2, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
}
local waterspout = createCombatArea{
{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}
}
local c = {
[30] = {x = {
pok = pidgey,
spell = "Quick Attack",
minLv = 1,
ex = 1600001,
base1 = 20,
base2 = 21,
dista = 1,
bonus = 2,
type = "normal",
cd = 7
}
},
[5] = {x = {
pok = pidgeotto,
spell = "Quick Attack",
minLv = 1,
ex = 1700001,
base1 = 100,
base2 = 101,
dista = 1,
bonus = 2.5,
type = "normal",
cd = 7
}
},
[80] = {x = {
pok = pidgeot,
spell = "Quick Attack",
minLv = 1,
ex = 1800001,
base1 = 200,
base2 = 201,
dista = 1,
bonus = 3,
type = "normal",
cd = 7
}
},
[36] = {x = {
pok = rattata,
spell = "Quick Attack",
minLv = 1,
ex = 1900001,
base1 = 20,
base2 = 21,
dista = 1,
bonus = 2,
type = "normal",
cd = 7
}
},
[69] = {x = {
pok = raticate,
spell = "Quick Attack",
minLv = 1,
ex = 2000001,
base1 = 100,
base2 = 101,
dista = 1,
bonus = 3,
type = "normal",
cd = 7
}
},
[44] = {x = {
pok = zubat,
spell = "Bite",
minLv = 1,
ex = 4100001,
base1 = 20,
base2 = 21,
dista = 1,
bonus = 1.7,
type = "normal",
cd = 11
}
},
[122] = {x = {
pok = golbat,
spell = "Bite",
minLv = 1,
ex = 4200001,
base1 = 100,
base2 = 101,
dista = 1,
bonus = 5.4,
type = "normal",
cd = 11
}
},
[250] = {x = {
pok = bellsprout,
spell = "Slash",
minLv = 1,
ex = 6900001,
base1 = 20,
base2 = 21,
dista = 1,
bonus = 2,
type = "normal",
cd = 11
}
},
[37] = {x = {
pok = weepinbell,
spell = "Slash",
minLv = 1,
ex = 7000001,
base1 = 100,
base2 = 101, -- 150
dista = 1, -- 3
bonus = 2.7, -- 3
type = "grass",
cd = 11 -- 11
}
},
[240] = {x = {
pok = victreebel,
spell = "Slash",
minLv = 1,
ex = 7100001,
base1 = 200,
base2 = 220,
dista = 1,
bonus = 4,
type = "normal",
cd = 11
}
},
[19] = {x = {
pok = magikarp,
spell = "Splash",
minLv = 1,
ex = 1290001,
base1 = 280,
base2 = 300,
dista = 1,
bonus = 4,
type = "normal",
target = "no",
cd = 6
}
},
[111] = {x = {
pok = poliwag,
spell = "Doubleslap",
minLv = 1,
ex = 6000001,
base1 = 10,
base2 = 11,
dista = 1,
bonus = 1.2,
type = "normal",
cd = 7
}
},
[212] = {x = {
pok = poliwhirl,
spell = "Doubleslap",
minLv = 1,
ex = 6100001,
base1 = 48,
base2 = 53,
dista = 1,
bonus = 2.2,
type = "normal",
cd = 7
}
},
[104] = {x = {
pok = poliwrath,
spell = "Mega Punch",
minLv = 1,
ex = 6200001,
base1 = 190,
base2 = 205,
dista = 1,
bonus = 5.4,
type = "fighting",
cd = 12
}
},
[262] = {x = {
pok = abra,
spell = "Confusion",
minLv = 1,
ex = 6300001,
base1 = 35,
base2 = 45,
dista = 5,
bonus = 5,
type = "psychic",
target = "no",
cd = 12
}
},
[56] = {x = {
pok = oddish,
spell = "Absorb",
minLv = 1,
ex = 4300001,
base1 = 25,
base2 = 30,
dista = 1,
bonus = 2,
type = "grass",
cd = 10
}
},
[74] = {x = {
pok = gloom,
spell = "Absorb",
minLv = 1,
ex = 4400001,
base1 = 35,
base2 = 45,
dista = 1,
bonus = 3.5,
type = "grass",
cd = 10
}
},
[86] = {x = {
pok = vileplume,
spell = "Absorb",
minLv = 1,
ex = 4500001,
base1 = 55,
base2 = 65,
dista = 1,
bonus = 5,
type = "grass",
cd = 10
}
},
[33] = {x = {
pok = horsea,
spell = "Bubbles",
minLv = 1,
ex = 1160001,
base1 = 20,
base2 = 21,
dista = 4,
bonus = 2.4,
type = "water",
cd = 10
}
},
[276] = {x = {
pok = seadra,
spell = "Water Spout",
minLv = 1,
ex = 1170001,
base1 = 100,
base2 = 105,
dista = 5,
bonus = 3.4,
target = "no",
type = "water",
cd = 14
}
},
[214] = {x = {
pok = grimer,
spell = "Mud Shot",
minLv = 1,
ex = 8800001,
base1 = 35,
base2 = 40,
dista = 5,
bonus = 2.9,
type = "ground",
cd = 10
}
},
[47] = {x = {
pok = Muk,
spell = "Mud Shot",
minLv = 1,
ex = 8900001,
base1 = 101,
base2 = 105,
dista = 5,
bonus = 5,
type = "ground",
cd = 10
}
},
[21] = {x = {
pok = weedle,
spell = "Horn Attack",
minLv = 1,
ex = 1300001,
base1 = 30,
base2 = 35,
dista = 1,
bonus = 2.4,
type = "normal",
cd = 9
}
},
[60] = {x = {
nome = Kakuna,
spell = "Headbutt",
minLv = 1,
ex = 1400001,
base1 = 80,
base2 = 85,
dista = 1,
bonus = 3.4,
type = "normal",
cd = 9
}
},
[45] = {x = {
pok = beedrill,
spell = "Fury Attack",
minLv = 1,
ex = 1500001,
base1 = 60,
base2 = 65,
dista = 3,
bonus = 2,
type = "normal",
cd = 11
}
},
[26] = {x = {
pok = doduo,
spell = "Quick Attack",
minLv = 1,
ex = 8400001,
base1 = 82,
base2 = 97,
dista = 1,
bonus = 2,
type = "normal",
cd = 8
}
},
[120] = {x = {
pok = dodrio,
spell = "Rapid Hit",
minLv = 1,
ex = 8500001,
base1 = 222,
base2 = 237,
dista = 1,
bonus = 3,
type = "normal",
cd = 6
}
},
[217] = {x = {
pok = magnemite,
spell = "Super Sonic",
minLv = 1,
ex = 8100001,
base1 = 0,
base2 = 0,
dista = 5,
bonus = 0,
type = "normal",
cd = 15
}
},
[223] = {x = {
pok = magneton,
spell = "Super Sonic",
minLv = 1,
ex = 8200001,
base1 = 0,
base2 = 0,
dista = 5,
bonus = 0,
type = "normal",
cd = 15
}
},
[123] = {x = {
pok = voltorb,
spell = "Slam",
minLv = 1,
ex = 1000001,
base1 = 85,
base2 = 95,
dista = 1,
bonus = 2.2,
type = "normal",
cd = 16
}
},
[287] = {x = {
pok = voltorbroll,
spell = "Slam",
minLv = 1,
ex = 1000001,
base1 = 185,
base2 = 195,
dista = 1,
bonus = 4,
type = "normal",
cd = 16
}
},
[125] = {x = {
pok = electrode,
spell = "Slam",
minLv = 1,
ex = 1010001,
base1 = 185,
base2 = 195,
dista = 1,
bonus = 4,
type = "normal",
cd = 16
}
},
[286] = {x = {
pok = electroderoll,
spell = "Slam",
minLv = 1,
ex = 1010001,
base1 = 355,
base2 = 365,
dista = 1,
bonus = 5,
type = "normal",
cd = 16
}
},
[196] = {x = {
pok = geodude,
spell = "Rock Throw",
minLv = 1,
ex = 7400001,
base1 = 35,
base2 = 40,
dista = 5,
bonus = 2.6,
type = "rock",
cd = 14
}
},
[247] = {x = {
pok = graveler,
spell = "Rock Throw",
minLv = 1,
ex = 7500001,
base1 = 105,
base2 = 106,
dista = 5,
bonus = 3.9,
type = "rock",
cd = 14
}
},
[116] = {x = {
pok = golem,
spell = "Rock Throw",
minLv = 1,
ex = 7600001,
base1 = 205,
base2 = 210,
dista = 5,
bonus = 5,
type = "rock",
cd = 14
}
},
[288] = {x = {
pok = golemroll,
spell = "Rock Throw",
minLv = 1,
ex = 7600001,
base1 = 105,
base2 = 106,
dista = 5,
bonus = 2.5,
type = "rock",
cd = 14
}
},
[43] = {x = {
pok = sandshrew,
spell = "Scratch",
minLv = 1,
ex = 2700001,
base1 = 15,
base2 = 25,
dista = 1,
bonus = 2.2,
type = "normal",
cd = 12
}
},
[284] = {x = {
pok = sandshrew,
spell = "Scratch",
minLv = 1,
ex = 2700001,
base1 = 5,
base2 = 7,
dista = 1,
bonus = 1,
type = "normal",
cd = 12
}
},
[115] = {x = {
pok = sandslash,
spell = "Slash",
minLv = 1,
ex = 2800001,
base1 = 105,
base2 = 106,
dista = 1,
bonus = 5,
type = "normal",
cd = 16
}
},
[285] = {x = {
pok = sandslash,
spell = "Slash",
minLv = 1,
ex = 2800001,
base1 = 75,
base2 = 105,
dista = 1,
bonus = 3,
type = "normal",
cd = 16
}
},
}
function onSay(cid)
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Kade seu poke?")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getPlayerLevel(cid) < c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.minLv then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda n tem level.")
return 0
end
if exhaustion.get(cid, pokemon.x.ex) then
seconds = math.floor(((exhaustion.get(cid, pokemon.x.ex)) + 1))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spera + "..seconds.." segundos para soltar de novo.")
return 0
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 3) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "MISS", 215)
setPlayerStorageValue(getCreatureSummons(cid)[1], 3, -1)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "SELF HIT", 180)
local levels = getPlayerLevel(cid)
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
return true
end
end
if pokemon.x.target ~= "no" then
if not isMonster(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Selecione.")
return 0
end
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > pokemon.x.dista then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ta longe.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
end
if pokemon.x.type == "flying" then
elementa = FLYDAMAGE
elseif pokemon.x.type == "ground" then
elementa = GROUNDDAMAGE
elseif pokemon.x.type == "electric" then
elementa = ELECTRICDAMAGE
elseif pokemon.x.type == "ghost" then
elementa = GHOSTDAMAGE
elseif pokemon.x.type == "normal" then
elementa = NORMALDAMAGE
elseif pokemon.x.type == "fighting" then
elementa = FIGHTINGDAMAGE
elseif pokemon.x.type == "poison" then
elementa = POISONDAMAGE
elseif pokemon.x.type == "rock" then
elementa = ROCKDAMAGE
elseif pokemon.x.type == "bug" then
elementa = BUGDAMAGE
elseif pokemon.x.type == "fire" then
elementa = FIREDAMAGE
elseif pokemon.x.type == "water" then
elementa = WATERDAMAGE
elseif pokemon.x.type == "grass" then
elementa = GRASSDAMAGE
elseif pokemon.x.type == "psychic" then
elementa = PSYCHICDAMAGE
elseif pokemon.x.type == "ice" then
elementa = ICEDAMAGE
elseif pokemon.x.type == "dragon" then
elementa = DRAGONDAMAGE
end
local element = elementa
local num1 = (pokemon.x.base1)
local num2 = (pokemon.x.base2)
local num3 = (pokemon.x.bonus)
setPlayerStorageValue(getCreatureSummons(cid)[1], 1000, ((num1)+(getPlayerLevel(cid)*(num3))))
if pokemon.x.spell == "Dynamic Punch" then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 112)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), dynpun1, 0, 0, 17)
addEvent(doAreaCombatHealth, 105, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), dynpun1, 0, 0, 17)
addEvent(doAreaCombatHealth, 250, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), dynpun2, 0, 0, 17)
addEvent(doAreaCombatHealth, 400, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), dynpun3, 0, 0, 17)
addEvent(doAreaCombatHealth, 555, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), dynpun4, 0, 0, 17)
addEvent(doAreaCombatHealth, 700, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), dynpun5, 0, 0, 17)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Quick Attack" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Slam" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Rapid Hit" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
local hitalvo = getCreatureTarget(cid)
local function hit(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
if isCreature(getCreatureTarget(params.cid)) then
if getCreatureTarget(params.cid) == params.hitalvo then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], NORMALDAMAGE, getThingPos(getCreatureTarget(params.cid)), 0, -0, -0, 3)
end
end
end
end
addEvent(hit, 80, {cid = cid, hitalvo = hitalvo})
addEvent(hit, 280, {cid = cid, hitalvo = hitalvo})
addEvent(hit, 480, {cid = cid, hitalvo = hitalvo})
addEvent(hit, 680, {cid = cid, hitalvo = hitalvo})
return 0
elseif pokemon.x.spell == "Bite" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 146)
return 0
elseif pokemon.x.spell == "Slash" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 160)
return 0
elseif pokemon.x.spell == "Splash" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 53)
return 0
elseif pokemon.x.spell == "Doubleslap" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function slap(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(params.cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
else
end
end
addEvent(slap, 0, {cid = cid})
addEvent(slap, 600, {cid = cid})
return 0
elseif pokemon.x.spell == "Mega Punch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 112)
return 0
elseif pokemon.x.spell == "Scratch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 142)
return 0
elseif pokemon.x.spell == "Confusion" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), confusion, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 133)
return 0
elseif pokemon.x.spell == "Absorb" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local life = getCreatureHealth(getCreatureTarget(cid))
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 14)
local newlife = life - getCreatureHealth(getCreatureTarget(cid))
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
doCreatureAddHealth(getCreatureSummons(cid)[1], newlife)
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..newlife.."", 35)
return 0
elseif pokemon.x.spell == "Mud Shot" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
setPlayerStorageValue(getCreatureTarget(cid), 3, 1)
local mudalvo = getCreatureTarget(cid)
local function ver(params)
if isCreature(params.mudalvo) then
if getPlayerStorageValue(params.mudalvo, 3) >= 1 then
setPlayerStorageValue(params.mudalvo, 3, -1)
end
end
end
addEvent(ver, 4500, {mudalvo = mudalvo})
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 1)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 34)
return 0
elseif pokemon.x.spell == "Bubbles" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 25)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Water Spout" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), {x=getThingPos(getCreatureSummons(cid)[1]).x, y=getThingPos(getCreatureSummons(cid)[1]).y-5, z=getThingPos(getCreatureSummons(cid)[1]).z}, 2)
local function spout(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
for x = -2,2 do
for y = -2,2 do
local newpos = getThingPos(getCreatureSummons(params.cid)[1])
newpos.x = newpos.x+x
newpos.y = newpos.y+y
doSendDistanceShoot({x=getThingPos(getCreatureSummons(params.cid)[1]).x, y=getThingPos(getCreatureSummons(params.cid)[1]).y-5, z=getThingPos(getCreatureSummons(params.cid)[1]).z}, newpos, 2)
end
end
end
end
local function spdmg(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureSummons(params.cid)[1]), waterspout, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
end
end
addEvent(spout, 300, {cid = cid})
addEvent(spdmg, 450, {cid = cid})
return 0
elseif pokemon.x.spell == "Horn Attack" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 15)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Rock Throw" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 11)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Headbutt" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Super Sonic" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local t = getCreatureTarget(cid)
setPlayerStorageValue(t, 5, 1)
local function confused(params)
if isCreature(params.t) then
local spdc = getCreatureSpeed(params.t)
if getCreatureLookDir(params.t) == 0 then
confs = math.random(1,3)
elseif getCreatureLookDir(params.t) == 1 then
confurandom = math.random(1,99)
if confurandom <= 33 then
confs = 0
elseif confurandom >= 67 then
confs = 2
else
confs = 3
end
elseif getCreatureLookDir(params.t) == 2 then
confurandom = math.random(1,99)
if confurandom <= 33 then
confs = 3
elseif confurandom >= 67 then
confs = 0
else
confs = 1
end
elseif getCreatureLookDir(params.t) == 3 then
confs = math.random(0,2)
end
doPushCreature(params.t, confs, 1, 0)
doSendMagicEffect(getThingPos(params.t), 31)
end
end
local function nonc(params)
if isCreature(params.t) then
doChangeSpeed(params.t, -getCreatureSpeed(params.t))
doChangeSpeed(params.t, getCreatureBaseSpeed(params.t))
setPlayerStorageValue(params.t, 5, -1)
end
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 32)
doChangeSpeed(t, -( getCreatureSpeed(t)/3))
doSendMagicEffect(getThingPos(t), 31)
for i = 1, math.random(6,7) do
addEvent(confused, 1000*i, {cid = cid, t = t})
end
addEvent(nonc, 7100, {cid - cid, t = t})
return 0
elseif pokemon.x.spell == "Fury Attack" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local namezito = getCreatureName(getCreatureSummons(cid)[1])
local namezin = getCreatureName(getCreatureTarget(cid))
local function pee(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
if isCreature(getCreatureTarget(params.cid)) then
if getCreatureName(getCreatureSummons(params.cid)[1]) == namezito then
if getCreatureName(getCreatureTarget(params.cid)) == namezin then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 15)
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(params.cid)), 0, -((num1)+(getPlayerLevel(params.cid)*(num3))), -((num2)+(getPlayerLevel(params.cid)*(num3))), 3)
end
end
end
end
end
local delay = 200
randnee = math.random(1,100)
if randnee >= 1 and randnee <= 37 then
a = 2
elseif randnee >= 38 and randnee <= 74 then
a = 3
elseif randnee >= 75 and randnee <= 88 then
a = 4
else
a = 5
end
local times = a
for i = 1,a do
addEvent(pee, delay, {cid = cid})
delay = delay + 600
end
local function msg(params)
if #getCreatureSummons(params.cid) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(params.cid)[1]), ""..times.." HITS", 35)
end
end
addEvent(msg, 580*a, {cid = cid})
return 0
end
return 0
end
move2.lua
-- WATER GUN
local wg1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local waba = createCombatArea{
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
}
local pluck = createCombatArea{
{0, 0, 0, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 3, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 0, 0, 0}
}
local spark = createCombatArea{
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{0, 1, 2, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 0, 0, 0}
}
local wg2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
}
local wg3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local wg1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local wg2s = createCombatArea{
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg1e = createCombatArea{
{0, 0, 0},
{1, 2, 0},
{0, 0, 0},
}
local wg2e = createCombatArea{
{1, 1, 1, 0, 2},
}
local wg3e = createCombatArea{
{1, 0, 0, 0, 0, 2},
}
local wg1w = createCombatArea{
{0, 0, 0},
{0, 2, 1},
{0, 0, 0},
}
local wg2w = createCombatArea{
{2, 0, 1, 1, 1},
}
local wg3w = createCombatArea{
{2, 0, 0, 0, 0, 1},
}
-- WATER GUN END
-- SAND ATTACK
local sa1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local sa2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa4n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local sa2s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa4s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa1w = createCombatArea{
{2, 1, 0, 0, 0, 0},
}
local sa2w = createCombatArea{
{2, 0, 1, 0, 0, 0},
}
local sa3w = createCombatArea{
{2, 0, 0, 1, 0, 0},
}
local sa4w = createCombatArea{
{2, 0, 0, 0, 1, 0},
}
local sa1e = createCombatArea{
{0, 0, 0, 0, 1, 2},
}
local sa2e = createCombatArea{
{0, 0, 0, 1, 0, 2},
}
local sa3e = createCombatArea{
{0, 0, 1, 0, 0, 2},
}
local sa4e = createCombatArea{
{0, 1, 0, 0, 0, 2},
}
-- SAND ATTACK END
local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash'}
local c = {
[30] = {x = {
pok = pidgey,
spell = "Peck",
minLv = 1,
ex = 1600002,
base1 = 35,
base2 = 45,
dista = 1,
bonus = 3,
type = "flying",
cd = 9
}
},
[5] = {x = {
pok = pidgeotto,
spell = "Peck",
minLv = 1,
ex = 1700002,
base1 = 100,
base2 = 140,
dista = 1,
bonus = 3,
type = "flying",
cd = 9
}
},
[80] = {x = {
pok = pidgeot,
spell = "Peck",
minLv = 1,
ex = 1800002,
base1 = 260,
base2 = 300,
dista = 1,
bonus = 5,
type = "flying",
cd = 9
}
},
[36] = {x = {
pok = rattata,
spell = "Scratch",
minLv = 1,
ex = 1900002,
base1 = 40,
base2 = 50,
dista = 1,
bonus = 2,
type = "normal",
cd = 9
}
},
[69] = {x = {
pok = raticate,
spell = "Scratch",
minLv = 1,
ex = 2000002,
base1 = 140,
base2 = 150,
dista = 1,
bonus = 3,
type = "normal",
cd = 9
}
},
[44] = {x = {
pok = zubat,
spell = "Absorb",
minLv = 7,
ex = 4100002,
base1 = 20,
base2 = 25,
dista = 1,
bonus = 3,
type = "grass",
cd = 14
}
},
[122] = {x = {
pok = golbat,
spell = "Absorb",
minLv = 30,
ex = 4200002,
base1 = 150,
base2 = 180,
dista = 1,
bonus = 5,
type = "grass",
cd = 14
}
},
[250] = {x = {
pok = bellsprout,
spell = "Razor Leaf",
minLv = 7,
ex = 6900002,
base1 = 15,
base2 = 22,
dista = 4,
bonus = 2,
type = "grass",
cd = 12 --12
}
},
[37] = {x = {
pok = weepinbell,
spell = "Razor Leaf",
minLv = 20,
ex = 7000002,
base1 = 55,
base2 = 65,
dista = 4,
bonus = 2.8,
type = "grass",
cd = 12
}
},
[240] = {x = {
pok = victreebel,
spell = "Razor Leaf",
minLv = 20,
ex = 7100002,
base1 = 100,
base2 = 101,
dista = 4,
bonus = 3.8,
type = "grass",
cd = 12
}
},
[111] = {x = {
pok = poliwag,
spell = "Bubbles",
minLv = 6,
ex = 6000002,
base1 = 20,
base2 = 30,
dista = 4,
bonus = 2,
type = "water",
cd = 10
}
},
[212] = {x = {
pok = poliwhirl,
spell = "Bubbles",
minLv = 20,
ex = 6100002,
base1 = 80,
base2 = 90,
dista = 4,
bonus = 3,
type = "water",
cd = 10
}
},
[104] = {x = {
pok = poliwrath,
spell = "Waterball",
minLv = 20,
ex = 6200002,
base1 = 200,
base2 = 201,
dista = 4,
bonus = 5,
type = "water",
cd = 16
}
},
[262] = {x = {
pok = abra,
spell = "Restore",
minLv = 13,
ex = 6300002,
base1 = 70,
base2 = 140,
dista = 100,
bonus = 5,
target = "no",
type = "normal",
cd = 26
}
},
[56] = {x = {
pok = oddish,
spell = "Acid",
minLv = 7,
ex = 4300002,
base1 = 54,
base2 = 64,
dista = 4,
bonus = 2.7,
type = "poison",
cd = 14
}
},
[74] = {x = {
pok = gloom,
spell = "Acid",
minLv = 7,
ex = 4400002,
base1 = 114,
base2 = 134,
dista = 4,
bonus = 3.8,
type = "poison",
cd = 14
}
},
[86] = {x = {
pok = vileplume,
spell = "Acid",
minLv = 7,
ex = 4500002,
base1 = 214,
base2 = 234,
dista = 4,
bonus = 5.4,
type = "poison",
cd = 14
}
},
[33] = {x = {
pok = horsea,
spell = "Water Pulse",
minLv = 10,
ex = 1160002,
base1 = 50,
base2 = 55,
dista = 4,
bonus = 3.5,
type = "water",
cd = 13
}
},
[276] = {x = {
pok = seadra,
spell = "Water Pulse",
minLv = 6,
ex = 1170002,
base1 = 210,
base2 = 215,
dista = 4,
bonus = 5,
type = "water",
cd = 13
}
},
[214] = {x = {
pok = grimer,
spell = "Acid",
minLv = 6,
ex = 8800002,
base1 = 60,
base2 = 70,
dista = 5,
bonus = 5,
type = "poison",
cd = 14
}
},
[47] = {x = {
pok = muk,
spell = "Acid",
minLv = 6,
ex = 8900002,
base1 = 110,
base2 = 120,
dista = 5,
bonus = 5.5,
type = "poison",
cd = 14
}
},
[21] = {x = {
pok = weedle,
spell = "String Shot",
minLv = 1,
ex = 1300002,
base1 = 45,
base2 = 50,
dista = 3,
bonus = 3,
type = "bug",
cd = 9
}
},
[60] = {x = {
pok = kakuna,
spell = "String Shot",
minLv = 1,
ex = 1400002,
base1 = 85,
base2 = 90,
dista = 3,
bonus = 4,
type = "bug",
cd = 9
}
},
[45] = {x = {
pok = beedrill,
spell = "String Shot",
minLv = 1,
ex = 1500002,
base1 = 165,
base2 = 170,
dista = 3,
bonus = 5,
type = "bug",
cd = 10
}
},
[26] = {x = {
pok = doduo,
spell = "Pluck",
minLv = 1,
ex = 8400002,
base1 = 91,
base2 = 98,
dista = 1,
bonus = 4,
type = "flying",
cd = 13
}
},
[120] = {x = {
pok = dodrio,
spell = "Pluck",
minLv = 1,
ex = 8500002,
base1 = 191,
base2 = 218,
dista = 1,
bonus = 4,
type = "flying",
cd = 13
}
},
[217] = {x = {
pok = magnemite,
spell = "Thundershock",
minLv = 1,
ex = 8100002,
base1 = 49,
base2 = 62,
dista = 5,
bonus = 3.4,
type = "electric",
cd = 14
}
},
[223] = {x = {
pok = magneton,
spell = "Thundershock",
minLv = 1,
ex = 8200002,
base1 = 100,
base2 = 118,
dista = 5,
bonus = 4.8,
type = "electric",
cd = 14
}
},
[123] = {x = {
pok = voltorb,
spell = "Spark",
minLv = 1,
ex = 1000002,
base1 = 95,
base2 = 112,
target = "no",
dista = 5,
bonus = 4,
type = "electric",
cd = 16
}
},
[287] = {x = {
pok = voltorbroll,
spell = "Spark",
minLv = 1,
ex = 1000002,
base1 = 45,
base2 = 52,
dista = 5,
target = "no",
bonus = 2,
type = "electric",
cd = 16
}
},
[125] = {x = {
pok = electrode,
spell = "Spark",
minLv = 1,
ex = 1010002,
base1 = 105,
base2 = 152,
dista = 5,
target = "no",
bonus = 6,
type = "electric",
cd = 16
}
},
[286] = {x = {
pok = electroderoll,
spell = "Spark",
minLv = 1,
ex = 1010002,
base1 = 45,
base2 = 52,
dista = 5,
target = "no",
bonus = 3,
type = "electric",
cd = 16
}
},
[196] = {x = {
pok = geodude,
spell = "Sand Attack",
minLv = 1,
ex = 7400002,
base1 = 55,
base2 = 62,
dista = 10,
bonus = 3,
target = "no",
type = "ground",
cd = 16
}
},
[247] = {x = {
pok = graveler,
spell = "Sand Attack",
minLv = 1,
ex = 7500002,
base1 = 115,
base2 = 122,
dista = 1,
bonus = 4,
type = "ground",
cd = 16
}
},
[116] = {x = {
pok = golem,
spell = "Sand Attack",
minLv = 1,
ex = 7600002,
base1 = 215,
base2 = 222,
dista = 1,
bonus = 5,
target = "no",
type = "ground",
cd = 16
}
},
[288] = {x = {
pok = golemroll,
spell = "Sand Attack",
minLv = 1,
ex = 7600002,
base1 = 115,
base2 = 122,
dista = 1,
bonus = 4,
target = "no",
type = "ground",
cd = 16
}
},
[43] = {x = {
pok = sandshrew,
spell = "Sand Attack",
minLv = 1,
ex = 2700002,
base1 = 45,
base2 = 55,
dista = 1,
bonus = 3,
target = "no",
type = "ground",
cd = 16
}
},
[284] = {x = {
pok = sandshrew,
spell = "Sand Attack",
minLv = 1,
ex = 2700002,
base1 = 75,
base2 = 85,
dista = 1,
bonus = 4,
target = "no",
type = "ground",
cd = 16
}
},
[115] = {x = {
pok = sandslash,
spell = "Sand Attack",
minLv = 1,
ex = 2800002,
base1 = 155,
base2 = 205,
dista = 1,
target = "no",
bonus = 6.2,
type = "ground",
cd = 16
}
},
[285] = {x = {
pok = sandslash,
spell = "Slash",
minLv = 1,
ex = 2800002,
base1 = 100,
target = "no",
base2 = 105,
dista = 1,
bonus = 3,
type = "ground",
cd = 16
}
},
}
function onSay(cid)
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Kade seu pokemon?")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if not isInArray(pokeis, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu poke nao reconhece este ataque.")
return 0
end
if getPlayerLevel(cid) < c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.minLv then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao tem level.")
return 0
end
if exhaustion.get(cid, pokemon.x.ex) then
seconds = math.floor(((exhaustion.get(cid, pokemon.x.ex)) + 1))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spera + "..seconds.." segundos para soltar de novo.")
return 0
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 3) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "MISS", 215)
setPlayerStorageValue(getCreatureSummons(cid)[1], 3, -1)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "SELF HIT", 180)
local levels = getPlayerLevel(cid)
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
return true
end
end
if pokemon.x.target ~= "no" then
if not isMonster(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > pokemon.x.dista then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
else
end
if pokemon.x.type == "flying" then
elementa = FLYDAMAGE
elseif pokemon.x.type == "ground" then
elementa = GROUNDDAMAGE
elseif pokemon.x.type == "electric" then
elementa = ELECTRICDAMAGE
elseif pokemon.x.type == "ghost" then
elementa = GHOSTDAMAGE
elseif pokemon.x.type == "normal" then
elementa = NORMALDAMAGE
elseif pokemon.x.type == "fighting" then
elementa = FIGHTINGDAMAGE
elseif pokemon.x.type == "poison" then
elementa = POISONDAMAGE
elseif pokemon.x.type == "rock" then
elementa = ROCKDAMAGE
elseif pokemon.x.type == "bug" then
elementa = BUGDAMAGE
elseif pokemon.x.type == "fire" then
elementa = FIREDAMAGE
elseif pokemon.x.type == "water" then
elementa = WATERDAMAGE
elseif pokemon.x.type == "grass" then
elementa = GRASSDAMAGE
elseif pokemon.x.type == "psychic" then
elementa = PSYCHICDAMAGE
elseif pokemon.x.type == "ice" then
elementa = ICEDAMAGE
elseif pokemon.x.type == "dragon" then
elementa = DRAGONDAMAGE
end
local element = elementa
local num1 = (pokemon.x.base1)
local num2 = (pokemon.x.base2)
local num3 = (pokemon.x.bonus)
setPlayerStorageValue(getCreatureSummons(cid)[1], 1000, ((num1)+(getPlayerLevel(cid)*(num3))))
if pokemon.x.spell == "Water Gun" then
alvo = getCreatureName(getCreatureTarget(cid))
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Peck" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Scratch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 142)
return 0
elseif pokemon.x.spell == "Pluck" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), pluck, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 2)
return 0
elseif pokemon.x.spell == "Sand Attack" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function sandattack(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, sand1, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), params.ef)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}, ef = 120})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}, ef = 120})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}, ef = 120})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}, ef = 122})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}, ef = 122})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}, ef = 122})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}, ef = 121})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}, ef = 121})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}, ef = 121})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}, ef = 119})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}, ef = 119})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}, ef = 119})
end
elseif pokemon.x.spell == "Spark" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function spark(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), params.cidpos, 40)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, params.cidpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
end
end
end
for a = -1, 1 do
for b = -1, 1 do
cidpos = getThingPos(getCreatureSummons(cid)[1])
cidpos.x = cidpos.x+a
cidpos.y = cidpos.y+b
addEvent(spark, math.abs(a)*350 + math.abs(b)*650, {cid = cid, cidpos = cidpos})
end
end
return 0
elseif pokemon.x.spell == "Absorb" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 14)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
if element == COMBAT_EARTHDAMAGE then
els = 2
elseif element == COMBAT_FIREDAMAGE then
els = 0.5
else
els = 1
end
doCreatureAddHealth(getCreatureSummons(cid)[1], ((num2)+((getPlayerLevel(cid))*(num3))*els))
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..((num2)+((getPlayerLevel(cid))*(num3))).."", 35)
return 0
elseif pokemon.x.spell == "Razor Leaf" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 8)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 79)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(damage, 600, {cid = cid})
addEvent(throw, 0, {cid = cid})
addEvent(throw, 550, {cid = cid})
return 0
elseif pokemon.x.spell == "Bubbles" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 25)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Waterball" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), waba, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(throw, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Restore" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
doCreatureAddHealth(getCreatureSummons(cid)[1], ((num2)+((getPlayerLevel(cid))*(num3))))
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..((num2)+((getPlayerLevel(cid))*(num3))).."", 35)
return 0
elseif pokemon.x.spell == "Acid" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 14)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 20)
return 0
elseif pokemon.x.spell == "Thundershock" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 40)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
return 0
elseif pokemon.x.spell == "Water Pulse" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 33)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Mega Punch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 112)
return 0
elseif pokemon.x.spell == "String Shot" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
setPlayerStorageValue(getCreatureTarget(cid), 3, 1)
local alvo = getCreatureTarget(cid)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 23)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 137)
local function string(params)
if isCreature(params.alvo) then
if getPlayerStorageValue(params.alvo, 3) >= 1 then
doSendMagicEffect(getThingPos(params.alvo), 137)
end
end
end
local function normalstr(params)
if isCreature(params.alvo) then
if getPlayerStorageValue(params.alvo, 3) >= 1 then
setPlayerStorageValue(params.alvo, 3, -1)
end
end
end
addEvent(string, 250, {alvo = alvo})
addEvent(string, 500, {alvo = alvo})
addEvent(string, 750, {alvo = alvo})
addEvent(string, 1000, {alvo = alvo})
addEvent(string, 1250, {alvo = alvo})
addEvent(string, 1500, {alvo = alvo})
addEvent(string, 1750, {alvo = alvo})
addEvent(string, 2000, {alvo = alvo})
addEvent(string, 2250, {alvo = alvo})
addEvent(string, 2500, {alvo = alvo})
addEvent(string, 2750, {alvo = alvo})
addEvent(string, 3000, {alvo = alvo})
addEvent(normalstr, 3050, {alvo = alvo})
return 0
end
return 0
end
move3.lua
-- WATER GUN
local wg1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local waba = createCombatArea{
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
}
local pluck = createCombatArea{
{0, 0, 0, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 3, 0, 0},
{0, 1, 0, 1, 0},
{0, 0, 0, 0, 0}
}
local spark = createCombatArea{
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{0, 1, 2, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 0, 0, 0}
}
local wg2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
}
local wg3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local wg1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local wg2s = createCombatArea{
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg1e = createCombatArea{
{0, 0, 0},
{1, 2, 0},
{0, 0, 0},
}
local wg2e = createCombatArea{
{1, 1, 1, 0, 2},
}
local wg3e = createCombatArea{
{1, 0, 0, 0, 0, 2},
}
local wg1w = createCombatArea{
{0, 0, 0},
{0, 2, 1},
{0, 0, 0},
}
local wg2w = createCombatArea{
{2, 0, 1, 1, 1},
}
local wg3w = createCombatArea{
{2, 0, 0, 0, 0, 1},
}
-- WATER GUN END
-- SAND ATTACK
local sa1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local sa2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa4n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local sa1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local sa2s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa4s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local sa1w = createCombatArea{
{2, 1, 0, 0, 0, 0},
}
local sa2w = createCombatArea{
{2, 0, 1, 0, 0, 0},
}
local sa3w = createCombatArea{
{2, 0, 0, 1, 0, 0},
}
local sa4w = createCombatArea{
{2, 0, 0, 0, 1, 0},
}
local sa1e = createCombatArea{
{0, 0, 0, 0, 1, 2},
}
local sa2e = createCombatArea{
{0, 0, 0, 1, 0, 2},
}
local sa3e = createCombatArea{
{0, 0, 1, 0, 0, 2},
}
local sa4e = createCombatArea{
{0, 1, 0, 0, 0, 2},
}
-- SAND ATTACK END
local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash'}
local c = {
[30] = {x = {
pok = pidgey,
spell = "Peck",
minLv = 1,
ex = 1600002,
base1 = 35,
base2 = 45,
dista = 1,
bonus = 3,
type = "flying",
cd = 9
}
},
[5] = {x = {
pok = pidgeotto,
spell = "Peck",
minLv = 1,
ex = 1700002,
base1 = 100,
base2 = 140,
dista = 1,
bonus = 3,
type = "flying",
cd = 9
}
},
[80] = {x = {
pok = pidgeot,
spell = "Peck",
minLv = 1,
ex = 1800002,
base1 = 260,
base2 = 300,
dista = 1,
bonus = 5,
type = "flying",
cd = 9
}
},
[36] = {x = {
pok = rattata,
spell = "Scratch",
minLv = 1,
ex = 1900002,
base1 = 40,
base2 = 50,
dista = 1,
bonus = 2,
type = "normal",
cd = 9
}
},
[69] = {x = {
pok = raticate,
spell = "Scratch",
minLv = 1,
ex = 2000002,
base1 = 140,
base2 = 150,
dista = 1,
bonus = 3,
type = "normal",
cd = 9
}
},
[44] = {x = {
pok = zubat,
spell = "Absorb",
minLv = 7,
ex = 4100002,
base1 = 20,
base2 = 25,
dista = 1,
bonus = 3,
type = "grass",
cd = 14
}
},
[122] = {x = {
pok = golbat,
spell = "Absorb",
minLv = 30,
ex = 4200002,
base1 = 150,
base2 = 180,
dista = 1,
bonus = 5,
type = "grass",
cd = 14
}
},
[250] = {x = {
pok = bellsprout,
spell = "Razor Leaf",
minLv = 7,
ex = 6900002,
base1 = 15,
base2 = 22,
dista = 4,
bonus = 2,
type = "grass",
cd = 12 --12
}
},
[37] = {x = {
pok = weepinbell,
spell = "Razor Leaf",
minLv = 20,
ex = 7000002,
base1 = 55,
base2 = 65,
dista = 4,
bonus = 2.8,
type = "grass",
cd = 12
}
},
[240] = {x = {
pok = victreebel,
spell = "Razor Leaf",
minLv = 20,
ex = 7100002,
base1 = 100,
base2 = 101,
dista = 4,
bonus = 3.8,
type = "grass",
cd = 12
}
},
[111] = {x = {
pok = poliwag,
spell = "Bubbles",
minLv = 6,
ex = 6000002,
base1 = 20,
base2 = 30,
dista = 4,
bonus = 2,
type = "water",
cd = 10
}
},
[212] = {x = {
pok = poliwhirl,
spell = "Bubbles",
minLv = 20,
ex = 6100002,
base1 = 80,
base2 = 90,
dista = 4,
bonus = 3,
type = "water",
cd = 10
}
},
[104] = {x = {
pok = poliwrath,
spell = "Waterball",
minLv = 20,
ex = 6200002,
base1 = 200,
base2 = 201,
dista = 4,
bonus = 5,
type = "water",
cd = 16
}
},
[262] = {x = {
pok = abra,
spell = "Restore",
minLv = 13,
ex = 6300002,
base1 = 70,
base2 = 140,
dista = 100,
bonus = 5,
target = "no",
type = "normal",
cd = 26
}
},
[56] = {x = {
pok = oddish,
spell = "Acid",
minLv = 7,
ex = 4300002,
base1 = 54,
base2 = 64,
dista = 4,
bonus = 2.7,
type = "poison",
cd = 14
}
},
[74] = {x = {
pok = gloom,
spell = "Acid",
minLv = 7,
ex = 4400002,
base1 = 114,
base2 = 134,
dista = 4,
bonus = 3.8,
type = "poison",
cd = 14
}
},
[86] = {x = {
pok = vileplume,
spell = "Acid",
minLv = 7,
ex = 4500002,
base1 = 214,
base2 = 234,
dista = 4,
bonus = 5.4,
type = "poison",
cd = 14
}
},
[33] = {x = {
pok = horsea,
spell = "Water Pulse",
minLv = 10,
ex = 1160002,
base1 = 50,
base2 = 55,
dista = 4,
bonus = 3.5,
type = "water",
cd = 13
}
},
[276] = {x = {
pok = seadra,
spell = "Water Pulse",
minLv = 6,
ex = 1170002,
base1 = 210,
base2 = 215,
dista = 4,
bonus = 5,
type = "water",
cd = 13
}
},
[214] = {x = {
pok = grimer,
spell = "Acid",
minLv = 6,
ex = 8800002,
base1 = 60,
base2 = 70,
dista = 5,
bonus = 5,
type = "poison",
cd = 14
}
},
[47] = {x = {
pok = muk,
spell = "Acid",
minLv = 6,
ex = 8900002,
base1 = 110,
base2 = 120,
dista = 5,
bonus = 5.5,
type = "poison",
cd = 14
}
},
[21] = {x = {
pok = weedle,
spell = "String Shot",
minLv = 1,
ex = 1300002,
base1 = 45,
base2 = 50,
dista = 3,
bonus = 3,
type = "bug",
cd = 9
}
},
[60] = {x = {
pok = kakuna,
spell = "String Shot",
minLv = 1,
ex = 1400002,
base1 = 85,
base2 = 90,
dista = 3,
bonus = 4,
type = "bug",
cd = 9
}
},
[45] = {x = {
pok = beedrill,
spell = "String Shot",
minLv = 1,
ex = 1500002,
base1 = 165,
base2 = 170,
dista = 3,
bonus = 5,
type = "bug",
cd = 10
}
},
[26] = {x = {
pok = doduo,
spell = "Pluck",
minLv = 1,
ex = 8400002,
base1 = 91,
base2 = 98,
dista = 1,
bonus = 4,
type = "flying",
cd = 13
}
},
[120] = {x = {
pok = dodrio,
spell = "Pluck",
minLv = 1,
ex = 8500002,
base1 = 191,
base2 = 218,
dista = 1,
bonus = 4,
type = "flying",
cd = 13
}
},
[217] = {x = {
pok = magnemite,
spell = "Thundershock",
minLv = 1,
ex = 8100002,
base1 = 49,
base2 = 62,
dista = 5,
bonus = 3.4,
type = "electric",
cd = 14
}
},
[223] = {x = {
pok = magneton,
spell = "Thundershock",
minLv = 1,
ex = 8200002,
base1 = 100,
base2 = 118,
dista = 5,
bonus = 4.8,
type = "electric",
cd = 14
}
},
[123] = {x = {
pok = voltorb,
spell = "Spark",
minLv = 1,
ex = 1000002,
base1 = 95,
base2 = 112,
target = "no",
dista = 5,
bonus = 4,
type = "electric",
cd = 16
}
},
[287] = {x = {
pok = voltorbroll,
spell = "Spark",
minLv = 1,
ex = 1000002,
base1 = 45,
base2 = 52,
dista = 5,
target = "no",
bonus = 2,
type = "electric",
cd = 16
}
},
[125] = {x = {
pok = electrode,
spell = "Spark",
minLv = 1,
ex = 1010002,
base1 = 105,
base2 = 152,
dista = 5,
target = "no",
bonus = 6,
type = "electric",
cd = 16
}
},
[286] = {x = {
pok = electroderoll,
spell = "Spark",
minLv = 1,
ex = 1010002,
base1 = 45,
base2 = 52,
dista = 5,
target = "no",
bonus = 3,
type = "electric",
cd = 16
}
},
[196] = {x = {
pok = geodude,
spell = "Sand Attack",
minLv = 1,
ex = 7400002,
base1 = 55,
base2 = 62,
dista = 10,
bonus = 3,
target = "no",
type = "ground",
cd = 16
}
},
[247] = {x = {
pok = graveler,
spell = "Sand Attack",
minLv = 1,
ex = 7500002,
base1 = 115,
base2 = 122,
dista = 1,
bonus = 4,
type = "ground",
cd = 16
}
},
[116] = {x = {
pok = golem,
spell = "Sand Attack",
minLv = 1,
ex = 7600002,
base1 = 215,
base2 = 222,
dista = 1,
bonus = 5,
target = "no",
type = "ground",
cd = 16
}
},
[288] = {x = {
pok = golemroll,
spell = "Sand Attack",
minLv = 1,
ex = 7600002,
base1 = 115,
base2 = 122,
dista = 1,
bonus = 4,
target = "no",
type = "ground",
cd = 16
}
},
[43] = {x = {
pok = sandshrew,
spell = "Sand Attack",
minLv = 1,
ex = 2700002,
base1 = 45,
base2 = 55,
dista = 1,
bonus = 3,
target = "no",
type = "ground",
cd = 16
}
},
[284] = {x = {
pok = sandshrew,
spell = "Sand Attack",
minLv = 1,
ex = 2700002,
base1 = 75,
base2 = 85,
dista = 1,
bonus = 4,
target = "no",
type = "ground",
cd = 16
}
},
[115] = {x = {
pok = sandslash,
spell = "Sand Attack",
minLv = 1,
ex = 2800002,
base1 = 155,
base2 = 205,
dista = 1,
target = "no",
bonus = 6.2,
type = "ground",
cd = 16
}
},
[285] = {x = {
pok = sandslash,
spell = "Slash",
minLv = 1,
ex = 2800002,
base1 = 100,
target = "no",
base2 = 105,
dista = 1,
bonus = 3,
type = "ground",
cd = 16
}
},
}
function onSay(cid)
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Kade seu pokemon?")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if not isInArray(pokeis, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu poke nao reconhece este ataque.")
return 0
end
if getPlayerLevel(cid) < c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.minLv then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao tem level.")
return 0
end
if exhaustion.get(cid, pokemon.x.ex) then
seconds = math.floor(((exhaustion.get(cid, pokemon.x.ex)) + 1))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spera + "..seconds.." segundos para soltar de novo.")
return 0
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 3) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "MISS", 215)
setPlayerStorageValue(getCreatureSummons(cid)[1], 3, -1)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "SELF HIT", 180)
local levels = getPlayerLevel(cid)
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
return true
end
end
if pokemon.x.target ~= "no" then
if not isMonster(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > pokemon.x.dista then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
else
end
if pokemon.x.type == "flying" then
elementa = FLYDAMAGE
elseif pokemon.x.type == "ground" then
elementa = GROUNDDAMAGE
elseif pokemon.x.type == "electric" then
elementa = ELECTRICDAMAGE
elseif pokemon.x.type == "ghost" then
elementa = GHOSTDAMAGE
elseif pokemon.x.type == "normal" then
elementa = NORMALDAMAGE
elseif pokemon.x.type == "fighting" then
elementa = FIGHTINGDAMAGE
elseif pokemon.x.type == "poison" then
elementa = POISONDAMAGE
elseif pokemon.x.type == "rock" then
elementa = ROCKDAMAGE
elseif pokemon.x.type == "bug" then
elementa = BUGDAMAGE
elseif pokemon.x.type == "fire" then
elementa = FIREDAMAGE
elseif pokemon.x.type == "water" then
elementa = WATERDAMAGE
elseif pokemon.x.type == "grass" then
elementa = GRASSDAMAGE
elseif pokemon.x.type == "psychic" then
elementa = PSYCHICDAMAGE
elseif pokemon.x.type == "ice" then
elementa = ICEDAMAGE
elseif pokemon.x.type == "dragon" then
elementa = DRAGONDAMAGE
end
local element = elementa
local num1 = (pokemon.x.base1)
local num2 = (pokemon.x.base2)
local num3 = (pokemon.x.bonus)
setPlayerStorageValue(getCreatureSummons(cid)[1], 1000, ((num1)+(getPlayerLevel(cid)*(num3))))
if pokemon.x.spell == "Water Gun" then
alvo = getCreatureName(getCreatureTarget(cid))
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Peck" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 3)
return 0
elseif pokemon.x.spell == "Scratch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 142)
return 0
elseif pokemon.x.spell == "Pluck" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), pluck, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 2)
return 0
elseif pokemon.x.spell == "Sand Attack" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function sandattack(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, sand1, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), params.ef)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}, ef = 120})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}, ef = 120})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}, ef = 120})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}, ef = 122})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}, ef = 122})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}, ef = 122})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}, ef = 121})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}, ef = 121})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}, ef = 121})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(sandattack, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}, ef = 119})
addEvent(sandattack, 400, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}, ef = 119})
addEvent(sandattack, 800, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}, ef = 119})
end
elseif pokemon.x.spell == "Spark" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function spark(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), params.cidpos, 40)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, params.cidpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
end
end
end
for a = -1, 1 do
for b = -1, 1 do
cidpos = getThingPos(getCreatureSummons(cid)[1])
cidpos.x = cidpos.x+a
cidpos.y = cidpos.y+b
addEvent(spark, math.abs(a)*350 + math.abs(b)*650, {cid = cid, cidpos = cidpos})
end
end
return 0
elseif pokemon.x.spell == "Absorb" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 14)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
if element == COMBAT_EARTHDAMAGE then
els = 2
elseif element == COMBAT_FIREDAMAGE then
els = 0.5
else
els = 1
end
doCreatureAddHealth(getCreatureSummons(cid)[1], ((num2)+((getPlayerLevel(cid))*(num3))*els))
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..((num2)+((getPlayerLevel(cid))*(num3))).."", 35)
return 0
elseif pokemon.x.spell == "Razor Leaf" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 8)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 79)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(damage, 600, {cid = cid})
addEvent(throw, 0, {cid = cid})
addEvent(throw, 550, {cid = cid})
return 0
elseif pokemon.x.spell == "Bubbles" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 25)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Waterball" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), waba, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(throw, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Restore" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 14)
doCreatureAddHealth(getCreatureSummons(cid)[1], ((num2)+((getPlayerLevel(cid))*(num3))))
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "+"..((num2)+((getPlayerLevel(cid))*(num3))).."", 35)
return 0
elseif pokemon.x.spell == "Acid" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 14)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 20)
return 0
elseif pokemon.x.spell == "Thundershock" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 40)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
return 0
elseif pokemon.x.spell == "Water Pulse" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 33)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(throw, 0, {cid = cid})
addEvent(damage, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Mega Punch" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 112)
return 0
elseif pokemon.x.spell == "String Shot" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
setPlayerStorageValue(getCreatureTarget(cid), 3, 1)
local alvo = getCreatureTarget(cid)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 23)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 137)
local function string(params)
if isCreature(params.alvo) then
if getPlayerStorageValue(params.alvo, 3) >= 1 then
doSendMagicEffect(getThingPos(params.alvo), 137)
end
end
end
local function normalstr(params)
if isCreature(params.alvo) then
if getPlayerStorageValue(params.alvo, 3) >= 1 then
setPlayerStorageValue(params.alvo, 3, -1)
end
end
end
addEvent(string, 250, {alvo = alvo})
addEvent(string, 500, {alvo = alvo})
addEvent(string, 750, {alvo = alvo})
addEvent(string, 1000, {alvo = alvo})
addEvent(string, 1250, {alvo = alvo})
addEvent(string, 1500, {alvo = alvo})
addEvent(string, 1750, {alvo = alvo})
addEvent(string, 2000, {alvo = alvo})
addEvent(string, 2250, {alvo = alvo})
addEvent(string, 2500, {alvo = alvo})
addEvent(string, 2750, {alvo = alvo})
addEvent(string, 3000, {alvo = alvo})
addEvent(normalstr, 3050, {alvo = alvo})
return 0
end
return 0
end
move4.lua
local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'}
local imp = {'919', '4468', '4469', '4470', '4471', '4472', '4473', '4474', '4475', '4476',
'4477', '4478', '4479', '4480', '4481', '4482', '4483', '4484', '4485', '4486', '4487', '4488',
'4489', '4490', '4491', '4492', '4493', '4494', '4495', '4496', '4497', '4498', '4499', '4500',
'4501', '4502', '4503', '4504', '4505', '4506', '4507', '4508', '4509', '4510', '4511', '4512',
'4513', '4826', '4827', '873', '874', '875', '876', '877', '878', '903', '904', '905', '906',
'907', '908', '909', '910', '911', '912', '913'}
local waba = createCombatArea{
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
}
local rollout = createCombatArea{
{1, 1, 1},
{1, 2, 1},
{1, 1, 1},
}
local golem = {lookType = 288}
local sandslash = {lookType = 285}
local sandshrew = {lookType = 284}
local electrode = {lookType = 286}
local voltorb = {lookType = 287}
-- WATER GUN
local bomb = createCombatArea{
{0, 1, 0},
{1, 3, 1},
{0, 1, 0},
}
local wg1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local wg2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
}
local wg3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local wg1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local wg2s = createCombatArea{
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg1e = createCombatArea{
{0, 0, 0},
{1, 2, 0},
{0, 0, 0},
}
local wg2e = createCombatArea{
{1, 1, 1, 0, 2},
}
local wg3e = createCombatArea{
{1, 0, 0, 0, 0, 2},
}
local wg1w = createCombatArea{
{0, 0, 0},
{0, 2, 1},
{0, 0, 0},
}
local wg2w = createCombatArea{
{2, 0, 1, 1, 1},
}
local wg3w = createCombatArea{
{2, 0, 0, 0, 0, 1},
}
-- WATER GUN END
local vinen = createCombatArea{
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
{1, 0, 0}
}
local vines = createCombatArea{
{0, 0, 0},
{1, 0, 0},
{0, 0, 0},
{0, 2, 0}
}
local vinee = createCombatArea{
{0, 0, 0},
{1, 0, 0},
{0, 0, 2},
{0, 0, 0}
}
local vinew = createCombatArea{
{0, 0, 0},
{0, 0, 3},
{0, 2, 0},
{0, 0, 0}
}
local whipn = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{1, 1, 1},
{1, 1, 1}
}
local whips = createCombatArea{
{1, 1, 1},
{1, 1, 1},
{0, 2, 0},
{0, 0, 0}
}
local whipe = createCombatArea{
{1, 1, 0},
{1, 1, 2},
{1, 1, 0},
{0, 0, 0}
}
local whipw = createCombatArea{
{0, 1, 1},
{2, 1, 1},
{0, 1, 1},
{0, 0, 0}
}
local sand1 = createCombatArea{
{0, 0, 0},
{0, 3, 0},
{0, 0, 0},
}
local whirl3 = createCombatArea{
{0, 0, 0},
{1, 3, 1},
{0, 0, 0},
}
local whirl5 = createCombatArea{
{0, 0, 0, 0, 0},
{1, 1, 3, 1, 1},
{0, 0, 0, 0, 0},
}
local whirl32 = createCombatArea{
{0, 0, 0},
{1, 3, 1},
{0, 0, 0},
}
local whirl52 = createCombatArea{
{0, 0, 0, 0, 0},
{1, 1, 3, 1, 1},
{0, 0, 0, 0, 0},
}
local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Golbat', 'Bellsprout',
'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Gloom', 'Vileplume',
'Horsea', 'Seadra', 'Grimer', 'Muk', 'Kakuna', 'Beedrill', 'Zubat', 'Magnemite', 'Magneton', 'Voltorb',
'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew', 'Sandslash'}
local c = {
[30] = {x = {
pok = pidgey,
spell = "Gust",
minLv = 12,
ex = 1600004,
base1 = 40,
base2 = 50,
dista = 50,
bonus = 4,
target = "no",
type = "flying",
cd = 15
}
},
[5] = {x = {
pok = pidgeotto,
spell = "Whirlwind",
minLv = 22,
ex = 1700004,
base1 = 100,
base2 = 101,
dista = 50,
bonus = 4,
target = "no",
type = "flying",
cd = 17
}
},
[80] = {x = {
pok = pidgeot,
spell = "Whirlwind",
minLv = 65,
ex = 1800004,
base1 = 200,
base2 = 210,
dista = 4,
target = "no",
bonus = 5.5,
type = "flying",
cd = 17
}
},
[36] = {x = {
pok = rattata,
spell = "Hyper Fang",
minLv = 11,
ex = 1900004,
base1 = 40,
base2 = 50,
dista = 1,
bonus = 4,
type = "normal",
cd = 19
}
},
[69] = {x = {
pok = raticate,
spell = "Hyper Fang",
minLv = 23,
ex = 2000004,
base1 = 150,
base2 = 160,
dista = 1,
bonus = 5,
type = "normal",
cd = 19
}
},
[122] = {x = {
pok = golbat,
spell = "Whirlwind",
minLv = 32,
ex = 4200004,
base1 = 200,
base2 = 220,
dista = 4,
target = "no",
bonus = 50,
type = "flying",
cd = 20
}
},
[250] = {x = {
pok = bellsprout,
spell = "Vine Whip",
minLv = 12,
ex = 6900004,
base1 = 50,
base2 = 60,
dista = 2,
target = "no",
bonus = 3.5,
type = "grass",
cd = 19
}
},
[37] = {x = {
pok = weepinbell,
spell = "Vine Whip",
minLv = 20,
ex = 7000004,
base1 = 120,
base2 = 150,
target = "no",
dista = 2,
bonus = 4.5,
type = "grass",
cd = 19
}
},
[240] = {x = {
pok = bictreebel,
spell = "Vine Whip",
minLv = 50,
ex = 7100004,
base1 = 230,
base2 = 280,
dista = 2,
target = "no",
bonus = 6.5,
type = "grass",
cd = 19
}
},
[111] = {x = {
pok = poliwag,
spell = "Water Gun",
minLv = 13,
ex = 6000004,
base1 = 45,
base2 = 50,
target = "no",
dista = 2,
bonus = 4,
type = "water",
cd = 19
}
},
[212] = {x = {
pok = poliwhirl,
spell = "Water Gun",
minLv = 25,
ex = 6100004,
base1 = 185,
target = "no",
base2 = 200,
dista = 2,
bonus = 5,
type = "water",
cd = 19
}
},
[104] = {x = {
pok = poliwrath,
spell = "Water Gun",
minLv = 25,
ex = 6200004,
base1 = 685,
base2 = 700,
dista = 2,
bonus = 6,
target = "no",
type = "water",
cd = 19
}
},
[262] = {x = {
pok = abra,
spell = "Psycho Shift",
minLv = 24,
ex = 6300004,
base1 = 115,
base2 = 120,
dista = 10,
bonus = 5,
type = "psychic",
cd = 24
}
},
[74] = {x = {
pk = gloom,
spell = "Poison Bomb",
minLv = 22,
ex = 4400004,
base1 = 101,
base2 = 103,
dista = 4,
bonus = 5,
type = "poison",
cd = 25
}
},
[86] = {x = {
pok = vileplume,
spell = "Poison Bomb",
minLv = 50,
ex = 4500004,
base1 = 200,
base2 = 201,
dista = 4,
bonus = 6,
type = "poison",
cd = 25
}
},
[33] = {x = {
pok = horsea,
spell = "Waterball",
minLv = 16,
ex = 1160004,
base1 = 50,
base2 = 60,
dista = 4,
bonus = 4.7,
type = "water",
cd = 17
}
},
[276] = {x = {
pok = seadra,
spell = "Waterball",
minLv = 46,
ex = 1170004,
base1 = 190,
base2 = 200,
dista = 4,
bonus = 5.7,
type = "water",
cd = 17
}
},
[214] = {x = {
pok = grimer,
spell = "Poison Bomb",
minLv = 16,
ex = 8800004,
base1 = 85,
base2 = 92,
dista = 4,
bonus = 6,
type = "poison",
cd = 17
}
},
[47] = {x = {
pok = muk,
spell = "Poison Bomb",
minLv = 32,
ex = 8900004,
base1 = 285,
base2 = 292,
dista = 4,
bonus = 6,
type = "poison",
cd = 17
}
},
[60] = {x = {
pok = kakuna,
spell = "Harden",
minLv = 10,
ex = 1400004,
lpl = 32,
life = 900,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[45] = {x = {
pok = beedrill,
spell = "Toxic Needle",
minLv = 32,
ex = 1500004,
base1 = 100,
base2 = 110,
dista = 4,
bonus = 5,
type = "poison",
cd = 16
}
},
[44] = {x = {
pok = zubat,
spell = "Super Sonic",
minLv = 11,
ex = 4100004,
base1 = 0,
base2 = 0,
dista = 4,
bonus = 0,
type = "normal",
cd = 16
}
},
[217] = {x = {
pok = magnemite,
spell = "Thunderbolt",
minLv = 17,
ex = 8100004,
base1 = 65,
base2 = 85,
dista = 5,
bonus = 5.4,
type = "electric",
cd = 18
}
},
[223] = {x = {
pok = magneton,
spell = "Thunderbolt",
minLv = 1,
ex = 8200004,
base1 = 160,
base2 = 180,
dista = 5,
bonus = 7,
type = "electric",
cd = 18
}
},
[123] = {x = {
pok = voltorb,
spell = "Rollout",
minLv = 17,
ex = 1000004,
base1 = 30,
base2 = 31,
dista = 2,
target = "no",
bonus = 0.4,
type = "ground",
cd = 33
}
},
[287] = {x = {
pok = voltorb,
spell = "Rollout",
minLv = 17,
ex = 1000004,
base1 = 20,
base2 = 21,
dista = 2,
target = "no",
bonus = 0.5,
type = "ground",
cd = 33
}
},
[125] = {x = {
pok = electrode,
spell = "Rollout",
minLv = 39,
ex = 1010004,
base1 = 45,
base2 = 46,
dista = 2,
target = "no",
bonus = 1,
type = "ground",
cd = 33
}
},
[286] = {x = {
pok = electroderoll,
spell = "Rollout",
minLv = 39,
ex = 1010004,
base1 = 45,
base2 = 46,
dista = 2,
target = "no",
bonus = 1,
type = "ground",
cd = 33
}
},
[196] = {x = {
pok = Geodude,
spell = "Harden",
minLv = 17,
ex = 7400004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[247] = {x = {
pok = Graveler,
spell = "Harden",
minLv = 17,
ex = 7500004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[116] = {x = {
pok = Golem,
spell = "Harden",
minLv = 17,
ex = 7600004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[288] = {x = {
pok = Golem,
spell = "Harden",
minLv = 17,
ex = 7600004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[43] = {x = {
pok = sandshrew,
spell = "Rollout",
minLv = 1,
ex = 2700004,
base1 = 40,
base2 = 41,
dista = 1,
target = "no",
bonus = 0.6,
type = "ground",
cd = 28
}
},
[284] = {x = {
pok = sandshrew,
spell = "Rollout",
minLv = 1,
ex = 2700004,
base1 = 40,
base2 = 41,
dista = 1,
target = "no",
bonus = 0.6,
type = "ground",
cd = 28
}
},
[115] = {x = {
pok = sandslash,
spell = "Rollout",
minLv = 57,
ex = 2800004,
base1 = 60,
base2 = 61,
dista = 1,
target = "no",
bonus = 1.6,
type = "ground",
cd = 28
}
},
[285] = {x = {
pok = sandslash,
spell = "Rollout",
minLv = 57,
ex = 2800004,
base1 = 60,
base2 = 61,
dista = 1,
target = "no",
bonus = 1.6,
type = "ground",
cd = 28
}
},
}
function onSay(cid)
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Kade seu pokemon?")
return 0
end
if not isInArray(pokeis, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu poke nao reconhece este ataque.")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getPlayerLevel(cid) < c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.minLv then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao tem level.")
return 0
end
if exhaustion.get(cid, pokemon.x.ex) then
seconds = math.floor(((exhaustion.get(cid, pokemon.x.ex)) + 1))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spera + "..seconds.." segundos para soltar de novo.")
return 0
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 3) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "MISS", 215)
setPlayerStorageValue(getCreatureSummons(cid)[1], 3, -1)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "SELF HIT", 180)
local levels = getPlayerLevel(cid)
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
return true
end
end
if pokemon.x.target ~= "no" then
if not isMonster(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
return 0
end
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > pokemon.x.dista then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
end
if pokemon.x.type == "flying" then
elementa = FLYDAMAGE
elseif pokemon.x.type == "ground" then
elementa = GROUNDDAMAGE
elseif pokemon.x.type == "electric" then
elementa = ELECTRICDAMAGE
elseif pokemon.x.type == "ghost" then
elementa = GHOSTDAMAGE
elseif pokemon.x.type == "normal" then
elementa = NORMALDAMAGE
elseif pokemon.x.type == "fighting" then
elementa = FIGHTINGDAMAGE
elseif pokemon.x.type == "poison" then
elementa = POISONDAMAGE
elseif pokemon.x.type == "rock" then
elementa = ROCKDAMAGE
elseif pokemon.x.type == "bug" then
elementa = BUGDAMAGE
elseif pokemon.x.type == "fire" then
elementa = FIREDAMAGE
elseif pokemon.x.type == "water" then
elementa = WATERDAMAGE
elseif pokemon.x.type == "grass" then
elementa = GRASSDAMAGE
elseif pokemon.x.type == "psychic" then
elementa = PSYCHICDAMAGE
elseif pokemon.x.type == "ice" then
elementa = ICEDAMAGE
elseif pokemon.x.type == "dragon" then
elementa = DRAGONDAMAGE
end
local element = elementa
local num1 = (pokemon.x.base1)
local num2 = (pokemon.x.base2)
local num3 = (pokemon.x.bonus)
setPlayerStorageValue(getCreatureSummons(cid)[1], 1000, ((num1)+(getPlayerLevel(cid)*(num3))))
if pokemon.x.spell == "Water Gun" then
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Gust" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function gust(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, sand1, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 42)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y-4, z=posicao.z}})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y+4, z=posicao.z}})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x+4, y=posicao.y, z=posicao.z}})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x-4, y=posicao.y, z=posicao.z}})
end
return 0
elseif pokemon.x.spell == "Whirlwind" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function gust(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, params.br, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 42)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}, br = whirl3})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}, br = whirl5})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y-4, z=posicao.z}, br = whirl5})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}, br = whirl3})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}, br = whirl5})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y+4, z=posicao.z}, br = whirl5})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}, br = whirl32})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}, br = whirl52})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x+4, y=posicao.y, z=posicao.z}, br = whirl52})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}, br = whirl32})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}, br = whirl52})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x-4, y=posicao.y, z=posicao.z}, br = whirl52})
end
return 0
elseif pokemon.x.spell == "Hyper Fang" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), 159)
return 0
elseif pokemon.x.spell == "Rollout" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
if getCreatureName(getCreatureSummons(cid)[1]) == "Voltorb" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], voltorb, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 85)
elseif getCreatureName(getCreatureSummons(cid)[1]) == "Electrode" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], electrode, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 101)
elseif getCreatureName(getCreatureSummons(cid)[1]) == "Sandshrew" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], sandshrew, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 93)
elseif getCreatureName(getCreatureSummons(cid)[1]) == "Sandslash" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], sandslash, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 143)
end
setPlayerStorageValue(getCreatureSummons(cid)[1], 4, 1)
local function roll(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureCondition(getCreatureSummons(params.cid)[1], CONDITION_OUTFIT) == true then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), rollout, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), 255)
end
end
end
end
for r = 1, 8 do
addEvent(roll, 1000*r, {cid = cid})
end
local function stoproll(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
doChangeSpeed(getCreatureSummons(params.cid)[1], -101)
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 4) >= 1 then
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 4, 0)
end
end
end
end
addEvent(stoproll, 8300, {cid = cid})
return 0
elseif pokemon.x.spell == "Vine Whip" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
area = vinen
dano = whipn
effect = 80
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
area = vinee
dano = whipe
effect = 83
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
area = vines
dano = whips
effect = 81
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
area = vinew
dano = whipw
effect = 82
end
doAreaCombatHealth(getCreatureSummons(cid)[1], null, getThingPos(getCreatureSummons(cid)[1]), area, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), effect)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), dano, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), 255)
return 0
elseif pokemon.x.spell == "Water Gun" then
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Psycho Shift" then
targetpos = getThingPos(getCreatureTarget(cid))
targetposss = getThingPos(getCreatureTarget(cid))
if math.random(1,100) >= 51 then
targetpos.x = targetpos.x+2
else
targetpos.x = targetpos.x-2
end
if math.random(1,100) >= 51 then
targetpos.y = targetpos.y-2
else
targetpos.y = targetpos.y+2
end
local tile = getTileThingByPos(targetpos).itemid
if getThingPos(cid).z > 7 then
if isWalkable(targetpos, cid, 0, 0) then
doTeleportThing(getCreatureTarget(cid), targetpos)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetpos, 12)
else
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetposss, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetposss, 12)
end
else
if not isInArray(imp, tile) then
if not isInArray(imp, getTileThingByPos(targetpos).itemid) then
doTeleportThing(getCreatureTarget(cid), targetpos)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetpos, 12)
else
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetposss, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetposss, 12)
end
else
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetposss, 12)
end
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Poison Bomb" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
addEvent(doAreaCombatHealth, 100, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), bomb, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 114)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 14)
return 0
elseif pokemon.x.spell == "Waterball" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), waba, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(throw, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Harden" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local hardname = getCreatureName(getCreatureSummons(cid)[1])
setPlayerStorageValue(getCreatureSummons(cid)[1], 4, 1)
local oldpos = getThingPos(getCreatureSummons(cid)[1])
local function efect(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 4) >= 1 then
doSendMagicEffect(getThingPos(getCreatureSummons(params.cid)[1]), 144)
end
end
end
local function chard(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 4) >= 1 then
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 4, -1)
end
end
end
addEvent(efect, 100, {cid = cid, hardname = hardname})
addEvent(efect, 1600, {cid = cid, hardname = hardname})
addEvent(efect, 3100, {cid = cid, hardname = hardname})
addEvent(efect, 4600, {cid = cid, hardname = hardname})
addEvent(efect, 6100, {cid = cid, hardname = hardname})
addEvent(efect, 7600, {cid = cid, hardname = hardname})
addEvent(efect, 9100, {cid = cid, hardname = hardname})
addEvent(efect, 10600, {cid = cid, hardname = hardname})
addEvent(chard, 11000, {cid = cid})
return 0
elseif pokemon.x.spell == "Toxic Needle" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 15)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 8)
return 0
elseif pokemon.x.spell == "Thunderbolt" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local posalvo = getThingPos(getCreatureTarget(cid))
local boltalvo = getCreatureTarget(cid)
posalvo.x = posalvo.x-2
posalvo.y = posalvo.y-6
doSendDistanceShoot(posalvo, getThingPos(getCreatureTarget(cid)), 41)
local function bolt(params)
if isCreature(params.cid) then
if isCreature(getCreatureTarget(cid)) then
if getCreatureTarget(params.cid) == params.boltalvo then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
end
end
end
end
addEvent(bolt, 200, {cid = cid, boltalvo = boltalvo})
return 0
elseif pokemon.x.spell == "Super Sonic" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local t = getCreatureTarget(cid)
setPlayerStorageValue(t, 5, 1)
local function confused(params)
if isCreature(params.t) then
local spdc = getCreatureSpeed(params.t)
if getCreatureLookDir(params.t) == 0 then
confs = math.random(1,3)
elseif getCreatureLookDir(params.t) == 1 then
confurandom = math.random(1,99)
if confurandom <= 33 then
confs = 0
elseif confurandom >= 67 then
confs = 2
else
confs = 3
end
elseif getCreatureLookDir(params.t) == 2 then
confurandom = math.random(1,99)
if confurandom <= 33 then
confs = 3
elseif confurandom >= 67 then
confs = 0
else
confs = 1
end
elseif getCreatureLookDir(params.t) == 3 then
confs = math.random(0,2)
end
doPushCreature(params.t, confs, 1, 0)
doSendMagicEffect(getThingPos(params.t), 31)
end
end
local function nonc(params)
if isCreature(params.t) then
doChangeSpeed(params.t, -getCreatureSpeed(params.t))
doChangeSpeed(params.t, getCreatureBaseSpeed(params.t))
setPlayerStorageValue(params.t, 5, -1)
end
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 32)
doChangeSpeed(t, -( getCreatureSpeed(t)/3))
doSendMagicEffect(getThingPos(t), 31)
for i = 1, math.random(6,7) do
addEvent(confused, 1000*i, {cid = cid, t = t})
end
addEvent(nonc, 7100, {cid - cid, t = t})
return 0
end
return 0
end
move5.lua
local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'}
local imp = {'919', '4468', '4469', '4470', '4471', '4472', '4473', '4474', '4475', '4476',
'4477', '4478', '4479', '4480', '4481', '4482', '4483', '4484', '4485', '4486', '4487', '4488',
'4489', '4490', '4491', '4492', '4493', '4494', '4495', '4496', '4497', '4498', '4499', '4500',
'4501', '4502', '4503', '4504', '4505', '4506', '4507', '4508', '4509', '4510', '4511', '4512',
'4513', '4826', '4827', '873', '874', '875', '876', '877', '878', '903', '904', '905', '906',
'907', '908', '909', '910', '911', '912', '913'}
local waba = createCombatArea{
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0}
}
local rollout = createCombatArea{
{1, 1, 1},
{1, 2, 1},
{1, 1, 1},
}
local golem = {lookType = 288}
local sandslash = {lookType = 285}
local sandshrew = {lookType = 284}
local electrode = {lookType = 286}
local voltorb = {lookType = 287}
-- WATER GUN
local bomb = createCombatArea{
{0, 1, 0},
{1, 3, 1},
{0, 1, 0},
}
local wg1n = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{0, 1, 0},
}
local wg2n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
}
local wg3n = createCombatArea{
{0, 2, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 1, 0},
}
local wg1s = createCombatArea{
{0, 1, 0},
{0, 2, 0},
{0, 0, 0},
}
local wg2s = createCombatArea{
{0, 1, 0},
{0, 1, 0},
{0, 1, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg3s = createCombatArea{
{0, 1, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
}
local wg1e = createCombatArea{
{0, 0, 0},
{1, 2, 0},
{0, 0, 0},
}
local wg2e = createCombatArea{
{1, 1, 1, 0, 2},
}
local wg3e = createCombatArea{
{1, 0, 0, 0, 0, 2},
}
local wg1w = createCombatArea{
{0, 0, 0},
{0, 2, 1},
{0, 0, 0},
}
local wg2w = createCombatArea{
{2, 0, 1, 1, 1},
}
local wg3w = createCombatArea{
{2, 0, 0, 0, 0, 1},
}
-- WATER GUN END
local vinen = createCombatArea{
{0, 0, 0},
{0, 0, 0},
{0, 2, 0},
{1, 0, 0}
}
local vines = createCombatArea{
{0, 0, 0},
{1, 0, 0},
{0, 0, 0},
{0, 2, 0}
}
local vinee = createCombatArea{
{0, 0, 0},
{1, 0, 0},
{0, 0, 2},
{0, 0, 0}
}
local vinew = createCombatArea{
{0, 0, 0},
{0, 0, 3},
{0, 2, 0},
{0, 0, 0}
}
local whipn = createCombatArea{
{0, 0, 0},
{0, 2, 0},
{1, 1, 1},
{1, 1, 1}
}
local whips = createCombatArea{
{1, 1, 1},
{1, 1, 1},
{0, 2, 0},
{0, 0, 0}
}
local whipe = createCombatArea{
{1, 1, 0},
{1, 1, 2},
{1, 1, 0},
{0, 0, 0}
}
local whipw = createCombatArea{
{0, 1, 1},
{2, 1, 1},
{0, 1, 1},
{0, 0, 0}
}
local sand1 = createCombatArea{
{0, 0, 0},
{0, 3, 0},
{0, 0, 0},
}
local whirl3 = createCombatArea{
{0, 0, 0},
{1, 3, 1},
{0, 0, 0},
}
local whirl5 = createCombatArea{
{0, 0, 0, 0, 0},
{1, 1, 3, 1, 1},
{0, 0, 0, 0, 0},
}
local whirl32 = createCombatArea{
{0, 0, 0},
{1, 3, 1},
{0, 0, 0},
}
local whirl52 = createCombatArea{
{0, 0, 0, 0, 0},
{1, 1, 3, 1, 1},
{0, 0, 0, 0, 0},
}
local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Golbat', 'Bellsprout',
'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Gloom', 'Vileplume',
'Horsea', 'Seadra', 'Grimer', 'Muk', 'Kakuna', 'Beedrill', 'Zubat', 'Magnemite', 'Magneton', 'Voltorb',
'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew', 'Sandslash'}
local c = {
[30] = {x = {
pok = pidgey,
spell = "Gust",
minLv = 12,
ex = 1600004,
base1 = 40,
base2 = 50,
dista = 50,
bonus = 4,
target = "no",
type = "flying",
cd = 15
}
},
[5] = {x = {
pok = pidgeotto,
spell = "Whirlwind",
minLv = 22,
ex = 1700004,
base1 = 100,
base2 = 101,
dista = 50,
bonus = 4,
target = "no",
type = "flying",
cd = 17
}
},
[80] = {x = {
pok = pidgeot,
spell = "Whirlwind",
minLv = 65,
ex = 1800004,
base1 = 200,
base2 = 210,
dista = 4,
target = "no",
bonus = 5.5,
type = "flying",
cd = 17
}
},
[36] = {x = {
pok = rattata,
spell = "Hyper Fang",
minLv = 11,
ex = 1900004,
base1 = 40,
base2 = 50,
dista = 1,
bonus = 4,
type = "normal",
cd = 19
}
},
[69] = {x = {
pok = raticate,
spell = "Hyper Fang",
minLv = 23,
ex = 2000004,
base1 = 150,
base2 = 160,
dista = 1,
bonus = 5,
type = "normal",
cd = 19
}
},
[122] = {x = {
pok = golbat,
spell = "Whirlwind",
minLv = 32,
ex = 4200004,
base1 = 200,
base2 = 220,
dista = 4,
target = "no",
bonus = 50,
type = "flying",
cd = 20
}
},
[250] = {x = {
pok = bellsprout,
spell = "Vine Whip",
minLv = 12,
ex = 6900004,
base1 = 50,
base2 = 60,
dista = 2,
target = "no",
bonus = 3.5,
type = "grass",
cd = 19
}
},
[37] = {x = {
pok = weepinbell,
spell = "Vine Whip",
minLv = 20,
ex = 7000004,
base1 = 120,
base2 = 150,
target = "no",
dista = 2,
bonus = 4.5,
type = "grass",
cd = 19
}
},
[240] = {x = {
pok = bictreebel,
spell = "Vine Whip",
minLv = 50,
ex = 7100004,
base1 = 230,
base2 = 280,
dista = 2,
target = "no",
bonus = 6.5,
type = "grass",
cd = 19
}
},
[111] = {x = {
pok = poliwag,
spell = "Water Gun",
minLv = 13,
ex = 6000004,
base1 = 45,
base2 = 50,
target = "no",
dista = 2,
bonus = 4,
type = "water",
cd = 19
}
},
[212] = {x = {
pok = poliwhirl,
spell = "Water Gun",
minLv = 25,
ex = 6100004,
base1 = 185,
target = "no",
base2 = 200,
dista = 2,
bonus = 5,
type = "water",
cd = 19
}
},
[104] = {x = {
pok = poliwrath,
spell = "Water Gun",
minLv = 25,
ex = 6200004,
base1 = 685,
base2 = 700,
dista = 2,
bonus = 6,
target = "no",
type = "water",
cd = 19
}
},
[262] = {x = {
pok = abra,
spell = "Psycho Shift",
minLv = 24,
ex = 6300004,
base1 = 115,
base2 = 120,
dista = 10,
bonus = 5,
type = "psychic",
cd = 24
}
},
[74] = {x = {
pk = gloom,
spell = "Poison Bomb",
minLv = 22,
ex = 4400004,
base1 = 101,
base2 = 103,
dista = 4,
bonus = 5,
type = "poison",
cd = 25
}
},
[86] = {x = {
pok = vileplume,
spell = "Poison Bomb",
minLv = 50,
ex = 4500004,
base1 = 200,
base2 = 201,
dista = 4,
bonus = 6,
type = "poison",
cd = 25
}
},
[33] = {x = {
pok = horsea,
spell = "Waterball",
minLv = 16,
ex = 1160004,
base1 = 50,
base2 = 60,
dista = 4,
bonus = 4.7,
type = "water",
cd = 17
}
},
[276] = {x = {
pok = seadra,
spell = "Waterball",
minLv = 46,
ex = 1170004,
base1 = 190,
base2 = 200,
dista = 4,
bonus = 5.7,
type = "water",
cd = 17
}
},
[214] = {x = {
pok = grimer,
spell = "Poison Bomb",
minLv = 16,
ex = 8800004,
base1 = 85,
base2 = 92,
dista = 4,
bonus = 6,
type = "poison",
cd = 17
}
},
[47] = {x = {
pok = muk,
spell = "Poison Bomb",
minLv = 32,
ex = 8900004,
base1 = 285,
base2 = 292,
dista = 4,
bonus = 6,
type = "poison",
cd = 17
}
},
[60] = {x = {
pok = kakuna,
spell = "Harden",
minLv = 10,
ex = 1400004,
lpl = 32,
life = 900,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[45] = {x = {
pok = beedrill,
spell = "Toxic Needle",
minLv = 32,
ex = 1500004,
base1 = 100,
base2 = 110,
dista = 4,
bonus = 5,
type = "poison",
cd = 16
}
},
[44] = {x = {
pok = zubat,
spell = "Super Sonic",
minLv = 11,
ex = 4100004,
base1 = 0,
base2 = 0,
dista = 4,
bonus = 0,
type = "normal",
cd = 16
}
},
[217] = {x = {
pok = magnemite,
spell = "Thunderbolt",
minLv = 17,
ex = 8100004,
base1 = 65,
base2 = 85,
dista = 5,
bonus = 5.4,
type = "electric",
cd = 18
}
},
[223] = {x = {
pok = magneton,
spell = "Thunderbolt",
minLv = 1,
ex = 8200004,
base1 = 160,
base2 = 180,
dista = 5,
bonus = 7,
type = "electric",
cd = 18
}
},
[123] = {x = {
pok = voltorb,
spell = "Rollout",
minLv = 17,
ex = 1000004,
base1 = 30,
base2 = 31,
dista = 2,
target = "no",
bonus = 0.4,
type = "ground",
cd = 33
}
},
[287] = {x = {
pok = voltorb,
spell = "Rollout",
minLv = 17,
ex = 1000004,
base1 = 20,
base2 = 21,
dista = 2,
target = "no",
bonus = 0.5,
type = "ground",
cd = 33
}
},
[125] = {x = {
pok = electrode,
spell = "Rollout",
minLv = 39,
ex = 1010004,
base1 = 45,
base2 = 46,
dista = 2,
target = "no",
bonus = 1,
type = "ground",
cd = 33
}
},
[286] = {x = {
pok = electroderoll,
spell = "Rollout",
minLv = 39,
ex = 1010004,
base1 = 45,
base2 = 46,
dista = 2,
target = "no",
bonus = 1,
type = "ground",
cd = 33
}
},
[196] = {x = {
pok = Geodude,
spell = "Harden",
minLv = 17,
ex = 7400004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[247] = {x = {
pok = Graveler,
spell = "Harden",
minLv = 17,
ex = 7500004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[116] = {x = {
pok = Golem,
spell = "Harden",
minLv = 17,
ex = 7600004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[288] = {x = {
pok = Golem,
spell = "Harden",
minLv = 17,
ex = 7600004,
base1 = 0,
target = "no",
base2 = 0,
dista = 100,
bonus = 0,
type = "normal",
cd = 17
}
},
[43] = {x = {
pok = sandshrew,
spell = "Rollout",
minLv = 1,
ex = 2700004,
base1 = 40,
base2 = 41,
dista = 1,
target = "no",
bonus = 0.6,
type = "ground",
cd = 28
}
},
[284] = {x = {
pok = sandshrew,
spell = "Rollout",
minLv = 1,
ex = 2700004,
base1 = 40,
base2 = 41,
dista = 1,
target = "no",
bonus = 0.6,
type = "ground",
cd = 28
}
},
[115] = {x = {
pok = sandslash,
spell = "Rollout",
minLv = 57,
ex = 2800004,
base1 = 60,
base2 = 61,
dista = 1,
target = "no",
bonus = 1.6,
type = "ground",
cd = 28
}
},
[285] = {x = {
pok = sandslash,
spell = "Rollout",
minLv = 57,
ex = 2800004,
base1 = 60,
base2 = 61,
dista = 1,
target = "no",
bonus = 1.6,
type = "ground",
cd = 28
}
},
}
function onSay(cid)
if #getCreatureSummons(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Kade seu pokemon?")
return 0
end
if not isInArray(pokeis, getCreatureName(getCreatureSummons(cid)[1])) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu poke nao reconhece este ataque.")
return 0
end
pokemon = c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
if getPlayerLevel(cid) < c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.minLv then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao tem level.")
return 0
end
if exhaustion.get(cid, pokemon.x.ex) then
seconds = math.floor(((exhaustion.get(cid, pokemon.x.ex)) + 1))
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Spera + "..seconds.." segundos para soltar de novo.")
return 0
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 3) >= 1 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "MISS", 215)
setPlayerStorageValue(getCreatureSummons(cid)[1], 3, -1)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 5) >= 1 then
if math.random(1,100) <= 33 then
doSendAnimatedText(getThingPos(getCreatureSummons(cid)[1]), "SELF HIT", 180)
local levels = getPlayerLevel(cid)
doTargetCombatHealth(cid, getCreatureSummons(cid)[1], COMBAT_PHYSICALDAMAGE, -(math.random((levels*3),(levels*5))), -((math.random((levels*3),(levels*5))+10)), 3)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
return true
end
end
if pokemon.x.target ~= "no" then
if not isMonster(getCreatureTarget(cid)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")
return 0
end
if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > pokemon.x.dista then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")
return 0
end
if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then
return 0
end
end
if pokemon.x.type == "flying" then
elementa = FLYDAMAGE
elseif pokemon.x.type == "ground" then
elementa = GROUNDDAMAGE
elseif pokemon.x.type == "electric" then
elementa = ELECTRICDAMAGE
elseif pokemon.x.type == "ghost" then
elementa = GHOSTDAMAGE
elseif pokemon.x.type == "normal" then
elementa = NORMALDAMAGE
elseif pokemon.x.type == "fighting" then
elementa = FIGHTINGDAMAGE
elseif pokemon.x.type == "poison" then
elementa = POISONDAMAGE
elseif pokemon.x.type == "rock" then
elementa = ROCKDAMAGE
elseif pokemon.x.type == "bug" then
elementa = BUGDAMAGE
elseif pokemon.x.type == "fire" then
elementa = FIREDAMAGE
elseif pokemon.x.type == "water" then
elementa = WATERDAMAGE
elseif pokemon.x.type == "grass" then
elementa = GRASSDAMAGE
elseif pokemon.x.type == "psychic" then
elementa = PSYCHICDAMAGE
elseif pokemon.x.type == "ice" then
elementa = ICEDAMAGE
elseif pokemon.x.type == "dragon" then
elementa = DRAGONDAMAGE
end
local element = elementa
local num1 = (pokemon.x.base1)
local num2 = (pokemon.x.base2)
local num3 = (pokemon.x.bonus)
setPlayerStorageValue(getCreatureSummons(cid)[1], 1000, ((num1)+(getPlayerLevel(cid)*(num3))))
if pokemon.x.spell == "Water Gun" then
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Gust" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function gust(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, sand1, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 42)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y-4, z=posicao.z}})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y+4, z=posicao.z}})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x+4, y=posicao.y, z=posicao.z}})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x-4, y=posicao.y, z=posicao.z}})
end
return 0
elseif pokemon.x.spell == "Whirlwind" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
posit = getThingPos(getCreatureSummons(cid)[1])
local function gust(params)
if #getCreatureSummons(params.cid) >= 1 then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, params.ar, params.br, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 42)
else
end
end
local posicao = getThingPos(getCreatureSummons(cid)[1])
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y-1, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y-2, z=posicao.z}, br = whirl3})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y-3, z=posicao.z}, br = whirl5})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y-4, z=posicao.z}, br = whirl5})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x, y=posicao.y+1, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x, y=posicao.y+2, z=posicao.z}, br = whirl3})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x, y=posicao.y+3, z=posicao.z}, br = whirl5})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x, y=posicao.y+4, z=posicao.z}, br = whirl5})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x+1, y=posicao.y, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x+2, y=posicao.y, z=posicao.z}, br = whirl32})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x+3, y=posicao.y, z=posicao.z}, br = whirl52})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x+4, y=posicao.y, z=posicao.z}, br = whirl52})
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
addEvent(gust, 0, {cid = cid, ar = {x=posicao.x-1, y=posicao.y, z=posicao.z}, br = sand1})
addEvent(gust, 500, {cid = cid, ar = {x=posicao.x-2, y=posicao.y, z=posicao.z}, br = whirl32})
addEvent(gust, 1000, {cid = cid, ar = {x=posicao.x-3, y=posicao.y, z=posicao.z}, br = whirl52})
addEvent(gust, 1500, {cid = cid, ar = {x=posicao.x-4, y=posicao.y, z=posicao.z}, br = whirl52})
end
return 0
elseif pokemon.x.spell == "Hyper Fang" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), 159)
return 0
elseif pokemon.x.spell == "Rollout" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
if getCreatureName(getCreatureSummons(cid)[1]) == "Voltorb" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], voltorb, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 85)
elseif getCreatureName(getCreatureSummons(cid)[1]) == "Electrode" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], electrode, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 101)
elseif getCreatureName(getCreatureSummons(cid)[1]) == "Sandshrew" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], sandshrew, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 93)
elseif getCreatureName(getCreatureSummons(cid)[1]) == "Sandslash" then
doSetCreatureOutfit(getCreatureSummons(cid)[1], sandslash, 8300)
doChangeSpeed(getCreatureSummons(cid)[1], 143)
end
setPlayerStorageValue(getCreatureSummons(cid)[1], 4, 1)
local function roll(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureCondition(getCreatureSummons(params.cid)[1], CONDITION_OUTFIT) == true then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), rollout, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), 255)
end
end
end
end
for r = 1, 8 do
addEvent(roll, 1000*r, {cid = cid})
end
local function stoproll(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
doChangeSpeed(getCreatureSummons(params.cid)[1], -101)
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 4) >= 1 then
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 4, 0)
end
end
end
end
addEvent(stoproll, 8300, {cid = cid})
return 0
elseif pokemon.x.spell == "Vine Whip" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
area = vinen
dano = whipn
effect = 80
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
area = vinee
dano = whipe
effect = 83
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
area = vines
dano = whips
effect = 81
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
area = vinew
dano = whipw
effect = 82
end
doAreaCombatHealth(getCreatureSummons(cid)[1], null, getThingPos(getCreatureSummons(cid)[1]), area, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), effect)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), dano, -((num1)+(getPlayerLevel(cid)*(num3))), -((num1)+(getPlayerLevel(cid)*(num3))), 255)
return 0
elseif pokemon.x.spell == "Water Gun" then
if getCreatureLookDir(getCreatureSummons(cid)[1]) == 0 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 74)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3n, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 76)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 2 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 77)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 75)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3s, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 78)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 1 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 69)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3e, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 71)
elseif getCreatureLookDir(getCreatureSummons(cid)[1]) == 3 then
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg1w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 72)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg2w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 70)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureSummons(cid)[1]), wg3w, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 73)
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Psycho Shift" then
targetpos = getThingPos(getCreatureTarget(cid))
targetposss = getThingPos(getCreatureTarget(cid))
if math.random(1,100) >= 51 then
targetpos.x = targetpos.x+2
else
targetpos.x = targetpos.x-2
end
if math.random(1,100) >= 51 then
targetpos.y = targetpos.y-2
else
targetpos.y = targetpos.y+2
end
local tile = getTileThingByPos(targetpos).itemid
if getThingPos(cid).z > 7 then
if isWalkable(targetpos, cid, 0, 0) then
doTeleportThing(getCreatureTarget(cid), targetpos)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetpos, 12)
else
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetposss, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetposss, 12)
end
else
if not isInArray(imp, tile) then
if not isInArray(imp, getTileThingByPos(targetpos).itemid) then
doTeleportThing(getCreatureTarget(cid), targetpos)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetpos, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetpos, 12)
else
doAreaCombatHealth(getCreatureSummons(cid)[1], element, targetposss, 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetposss, 12)
end
else
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 134)
doSendMagicEffect(targetposss, 12)
end
end
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
return 0
elseif pokemon.x.spell == "Poison Bomb" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
addEvent(doAreaCombatHealth, 100, getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), bomb, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 114)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 14)
return 0
elseif pokemon.x.spell == "Waterball" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local function throw(params)
if isMonster(getCreatureTarget(params.cid)) then
doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 2)
else
end
end
local function damage(params)
if isMonster(getCreatureTarget(params.cid)) then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), waba, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 68)
else
end
end
addEvent(damage, 100, {cid = cid})
addEvent(throw, 0, {cid = cid})
return 0
elseif pokemon.x.spell == "Harden" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local hardname = getCreatureName(getCreatureSummons(cid)[1])
setPlayerStorageValue(getCreatureSummons(cid)[1], 4, 1)
local oldpos = getThingPos(getCreatureSummons(cid)[1])
local function efect(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 4) >= 1 then
doSendMagicEffect(getThingPos(getCreatureSummons(params.cid)[1]), 144)
end
end
end
local function chard(params)
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 4) >= 1 then
setPlayerStorageValue(getCreatureSummons(params.cid)[1], 4, -1)
end
end
end
addEvent(efect, 100, {cid = cid, hardname = hardname})
addEvent(efect, 1600, {cid = cid, hardname = hardname})
addEvent(efect, 3100, {cid = cid, hardname = hardname})
addEvent(efect, 4600, {cid = cid, hardname = hardname})
addEvent(efect, 6100, {cid = cid, hardname = hardname})
addEvent(efect, 7600, {cid = cid, hardname = hardname})
addEvent(efect, 9100, {cid = cid, hardname = hardname})
addEvent(efect, 10600, {cid = cid, hardname = hardname})
addEvent(chard, 11000, {cid = cid})
return 0
elseif pokemon.x.spell == "Toxic Needle" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 15)
doAreaCombatHealth(getCreatureSummons(cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 8)
return 0
elseif pokemon.x.spell == "Thunderbolt" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local posalvo = getThingPos(getCreatureTarget(cid))
local boltalvo = getCreatureTarget(cid)
posalvo.x = posalvo.x-2
posalvo.y = posalvo.y-6
doSendDistanceShoot(posalvo, getThingPos(getCreatureTarget(cid)), 41)
local function bolt(params)
if isCreature(params.cid) then
if isCreature(getCreatureTarget(cid)) then
if getCreatureTarget(params.cid) == params.boltalvo then
doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(cid)), 0, -((num1)+(getPlayerLevel(cid)*(num3))), -((num2)+(getPlayerLevel(cid)*(num3))), 48)
end
end
end
end
addEvent(bolt, 200, {cid = cid, boltalvo = boltalvo})
return 0
elseif pokemon.x.spell == "Super Sonic" then
doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)
doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)
exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)
local t = getCreatureTarget(cid)
setPlayerStorageValue(t, 5, 1)
local function confused(params)
if isCreature(params.t) then
local spdc = getCreatureSpeed(params.t)
if getCreatureLookDir(params.t) == 0 then
confs = math.random(1,3)
elseif getCreatureLookDir(params.t) == 1 then
confurandom = math.random(1,99)
if confurandom <= 33 then
confs = 0
elseif confurandom >= 67 then
confs = 2
else
confs = 3
end
elseif getCreatureLookDir(params.t) == 2 then
confurandom = math.random(1,99)
if confurandom <= 33 then
confs = 3
elseif confurandom >= 67 then
confs = 0
else
confs = 1
end
elseif getCreatureLookDir(params.t) == 3 then
confs = math.random(0,2)
end
doPushCreature(params.t, confs, 1, 0)
doSendMagicEffect(getThingPos(params.t), 31)
end
end
local function nonc(params)
if isCreature(params.t) then
doChangeSpeed(params.t, -getCreatureSpeed(params.t))
doChangeSpeed(params.t, getCreatureBaseSpeed(params.t))
setPlayerStorageValue(params.t, 5, -1)
end
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), 32)
doChangeSpeed(t, -( getCreatureSpeed(t)/3))
doSendMagicEffect(getThingPos(t), 31)
for i = 1, math.random(6,7) do
addEvent(confused, 1000*i, {cid = cid, t = t})
end
addEvent(nonc, 7100, {cid - cid, t = t})
return 0
end
return 0
end