Ir para conteúdo

[Talkaction]System Moves [15/151]


meubk

Posts Recomendados

Man Poderia explicar como add "conditions" nesse sistema novo,ja entendi como add as magias como solar beam,flametrower e talz as de dano queria saber como fazer uma de cura e uma com "conditions" tipo condition paralyze para string shot e drunken para supersonic e para que serve esse pz? "pz = false},"

Link para o comentário
Compartilhar em outros sites

O miih, pq nao entra mais no msn ???

preciso falar contigo cara.

 

___

 

edit:

se possivel manda pm ou entra no msn, pra nao dar flood.

Editado por RicardoSohnn
Link para o comentário
Compartilhar em outros sites

vc podia entao deixar 2 tipos de string shot pro povo editar de acordo com cada gosto um que de paralyze e esse de dano =X as vezes alguem quer fazer uma magia q deixe lento... sei la =X

Editado por clordleo
Link para o comentário
Compartilhar em outros sites

Pronto :

 

> String Shot Deixa lento

> Stun Spore Deixa lento

> Poison Powder Envenena

> Sleep Powder faiz dormir

> Super Sonic Deixa Confuso

 

Caso queira que hita, coloke min e max dano, pois está 0, para só deixa com condições e não hitarem.

Editado por xotservx
Link para o comentário
Compartilhar em outros sites

Awe Thanks =D ,sistema ta perfeito,bom tinha esquecido de dar as rep a um tempo ja +rep ai para vc.

ficarei no aguardo para quando chegar no rollout e ditto =D ja to no raichu xD

e tipo uma duvida

 

local atknotcritic = {"Harden", "Poison Powder", "Sleep Powder", "Super Sonic", "Stun Spore"} <<<

 

teria q adicionar hypnosis ai por ele ser sleep tbm?

Link para o comentário
Compartilhar em outros sites

xotserv, muito bom seu script REP+

 

so pra ajudar, eu adicionei mais alguns pokemons e ajustei as cooldowns pra fica melhor :weight_lift:

pode ter algumas coisinhas erradas nos golpes, nao conheço muito os golpes, mas é só arrumar xD

ta aí:

 

function getTime(s)
       local n = math.floor(s / 600)
       s = s - (600 * n)
       return n, s
end

function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers)
       local creaturesList = {}
               for x = -radiusx, radiusx do
                       for y = -radiusy, radiusy do
                               if not (x == 0 and y == 0) then
                                       creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE})
                                       if (creature.type == 1 and showPlayers == 1) or (creature.type == 2 and showMonsters == 1) then
                                               table.insert(creaturesList, creature.uid)
                                       end
                               end
                       end
               end
return creaturesList
end

-- CONDITIONS

function Confused(inconfuse, rounds)
       if rounds == 0 then return false end
       if not inconfuse then return false end
       local c = {[1] = {x = 1, y = 0}, [2] = {x = 0, y = 1}, [3] = {x = -1, y = 0}, [4] = {x = 0, y = -1}}
       local p = getCreaturePosition(inconfuse)
       doSendMagicEffect(p, 31)
       local s = math.random(4)
       doTeleportThing(inconfuse, {x = p.x + c[s].x, y = p.y + c[s].y, z = p.z})
       return addEvent(Confused, 400, inconfuse, rounds-1)
end

local paralize = createConditionObject(CONDITION_PARALYZE)
setConditionParam(paralize, CONDITION_PARAM_TICKS, 5*1000)
setConditionFormula(paralize, -0.7, 0, -0.8, 0)
function Paralize(inparalize)
       doSendAnimatedText(getCreaturePosition(inparalize), "PAZ", 210)
       doAddCondition(inparalize , paralize)
       return true
end

local sleep = createConditionObject(CONDITION_PARALYZE)
setConditionParam(sleep, CONDITION_PARAM_TICKS, 5*1000)
setConditionFormula(sleep, -1.7, 0, -1.8, 0)
function Sleep(insleep)
doAddCondition(insleep , sleep)
p = getCreaturePosition(insleep)
doSendAnimatedText(p, "SLEEP", 154)
for i = 1, 5 do
       if i == 1 then
               doSendMagicEffect(p, 32)
       else
               addEvent(doSendMagicEffect, i * 1000, p, 32)
       end
end
       return true
end

function Poison(inpoison, ef, rounds)
       if rounds == 0 then return false end
       if not inpoison then return false end
       local p = getCreaturePosition(inpoison)
       doAreaCombatHealth(pet, COMBAT_EARTHDAMAGE, p, 0, -5, -10, ef)
       return addEvent(Poison, 800, inpoison, ef, rounds-1)
end

-- END CONDITIONS

function getPosToStorm(posdecay)
b = {x = posdecay.x-20, y = posdecay.y-20, z = posdecay.z}
return b
end

local area1 = 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 area2 = 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 area3 = createCombatArea{
{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{1, 1, 2, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}
}


local areadirecion1 = {
[2] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 2, 0, 0}
},

[3] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{2, 1, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
},

[0] = createCombatArea{
{0, 0, 2, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
},

[1] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 1, 2},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
}
}

local areadirecion2 = {
[2] = createCombatArea{
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 2, 0, 0}
},

[3] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{2, 1, 1, 1, 1},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
},

[0] = createCombatArea{
{0, 0, 2, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0}
},

[1] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{1, 1, 1, 1, 2},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
}
}

local areadirecion3 = {
[2] = createCombatArea{
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 2, 0, 0}
},

[3] = createCombatArea{
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{2, 1, 1, 1, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0}
},

[0] = createCombatArea{
{0, 0, 2, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 0, 0}
},

[1] = createCombatArea{
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 1, 1, 1, 2},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0}
}
}

local areadirecion4 = {
[2] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0},
{0, 0, 2, 0, 0}
},

[3] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{2, 1, 1, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0}
},

[0] = createCombatArea{
{0, 0, 2, 0, 0},
{0, 0, 1, 0, 0},
{0, 1, 1, 1, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0}
},

[1] = createCombatArea{
{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 1, 1, 2},
{0, 0, 1, 0, 0},
{0, 0, 0, 0, 0}
}
}

local d = {
["Bulbasaur"] = {
["m1"] = {atk = "Quick Attack", minlvl = 20, st = 2000, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Razor Leaf", minlvl = 20, st = 2001, cd = 7, min = 100, max = 200, damage = COMBAT_EARTHDAMAGE, target = true, pz = false},
["m3"] = {atk = "Vine Whip", minlvl = 20, st = 2002, cd = 7, min = 100, max = 200, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m4"] = {atk = "Headbutt", minlvl = 20, st = 2003, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Leech Seed", minlvl = 20, st = 2004, cd = 7, min = 100, max = 200, damage = COMBAT_EARTHDAMAGE, target = true, pz = false},
["m6"] = {atk = "Solar Beam", minlvl = 20, st = 2005, cd = 7, min = 200, max = 400, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m7"] = {atk = "Stun Spore", minlvl = 20, st = 2006, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m8"] = {atk = "Poison Powder", minlvl = 20, st = 2007, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m9"] = {atk = "Sleep Powder", minlvl = 20, st = 2008, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
},
["Ivysaur"] = {
["m1"] = {atk = "Quick Attack", minlvl = 40, st = 2009, cd = 8, min = 300, max = 400, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Razor Leaf", minlvl = 40, st = 2010, cd = 8, min = 300, max = 400, damage = COMBAT_EARTHDAMAGE, target = true, pz = false},
["m3"] = {atk = "Vine Whip", minlvl = 40, st = 2011, cd = 8, min = 300, max = 440, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m4"] = {atk = "Headbutt", minlvl = 40, st = 2012, cd = 8, min = 300, max = 400, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Leech Seed", minlvl = 40, st = 2013, cd = 8, min =300, max = 400, damage = COMBAT_EARTHDAMAGE, target = true, pz = false},
["m6"] = {atk = "Solar Beam", minlvl = 40, st = 2014, cd = 8, min = 300, max = 400, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m7"] = {atk = "Stun Spore", minlvl = 40, st = 2015, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m8"] = {atk = "Poison Powder", minlvl = 40, st = 2016, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m9"] = {atk = "Sleep Powder", minlvl = 20, st = 2017, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
},
["Venusaur"] = {
["m1"] = {atk = "Quick Attack", minlvl = 80, st = 2018, cd = 10, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Razor Leaf", minlvl = 80, st = 2019, cd = 10, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = true, pz = false},
["m3"] = {atk = "Vine Whip", minlvl = 80, st = 2020, cd = 10, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m4"] = {atk = "Headbutt", minlvl = 80, st = 2021, cd = 10, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Leech Seed", minlvl = 80, st = 2022, cd = 10, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = true, pz = false},
["m6"] = {atk = "Solar Beam", minlvl = 80, st = 2023, cd = 10, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m7"] = {atk = "Stun Spore", minlvl = 80, st = 2024, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m8"] = {atk = "Poison Powder", minlvl = 80, st = 2025, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m9"] = {atk = "Sleep Powder", minlvl = 20, st = 2026, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m10"] = {atk = "Leaf Storm", minlvl = 80, st = 2027, cd = 10, min = 1000, max = 2000, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
},
["Charmander"] = {
["m1"] = {atk = "Scratch", minlvl = 20, st = 2028, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Ember", minlvl = 20, st = 2029, cd = 6, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m3"] = {atk = "Flamethrower", minlvl = 20, st = 2030, cd = 6, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m4"] = {atk = "Fire Ball", minlvl = 20, st = 2031, cd = 6, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = true, pz = false},
["m5"] = {atk = "Fire Blast", minlvl = 20, st = 2032, cd = 6, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m6"] = {atk = "Rage", minlvl = 20, st = 2033, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m7"] = {atk = "Fire Fang", minlvl = 20, st = 2034, cd = 6, min = 100, max = 200, damage = COMBAT_FIREDAMAGE, target = true, pz = false},
},
["Charmeleon"] = {
["m1"] = {atk = "Scratch", minlvl = 40, st = 2035, cd = 8, min = 300, max = 400, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Ember", minlvl = 40, st = 2036, cd = 8, min = 300, max = 400, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m3"] = {atk = "Flamethrower", minlvl = 40, st = 2037, cd = 8, min = 400, max = 500, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m4"] = {atk = "Fire Ball", minlvl = 40, st = 2038, cd = 7, min = 300, max =400, damage = COMBAT_FIREDAMAGE, target = true, pz = false},
["m5"] = {atk = "Fire Blast", minlvl = 40, st = 2039, cd = 7, min = 300, max = 400, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m6"] = {atk = "Rage", minlvl = 40, st = 2040, cd = 7, min = 100, max = 300, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m7"] = {atk = "Fire Fang", minlvl = 40, st = 2041, cd = 8, min = 400, max = 800, damage = COMBAT_FIREDAMAGE, target = true, pz = false},
},
["Charizard"] = {
["m1"] = {atk = "Dragon Claw", minlvl = 80, st = 2042, cd = 10, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Ember", minlvl = 80, st = 2043, cd = 10, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m3"] = {atk = "Flamethrower", minlvl = 80, st = 2044, cd = 10, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m4"] = {atk = "Fire Ball", minlvl = 80, st = 2045, cd = 10, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = true, pz = false},
["m5"] = {atk = "Fire Blast", minlvl = 80, st = 2046, cd = 10, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m6"] = {atk = "Rage", minlvl = 80, st = 2047, cd = 10, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m7"] = {atk = "Magma Storm", minlvl = 80, st = 2048, cd = 10, min = 1000, max = 2000, damage = COMBAT_FIREDAMAGE, target = false, pz = false},
["m8"] = {atk = "Wing Attack", minlvl = 80, st = 2049, cd = 10, min = 1000, max = 2000, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
},
["Squirtle"] = {
["m1"] = {atk = "Headbutt", minlvl = 20, st = 2050, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Bubbles", minlvl = 20, st = 2051, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false},
["m3"] = {atk = "Water Gun", minlvl = 20, st = 2052, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m4"] = {atk = "Waterball", minlvl = 20, st = 2053, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false},
["m5"] = {atk = "Aqua Tail", minlvl = 20, st = 2054, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m6"] = {atk = "Hydro Cannon", minlvl = 20, st = 2055, cd = 7, min = 200, max = 400, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m7"] = {atk = "Harden", minlvl = 20, st = 2056, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true},
["m8"] = {atk = "Surf", minlvl = 20, st = 2057, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
},
["Wartortle"] = {
["m1"] = {atk = "Headbutt", minlvl = 40, st = 2058, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Bubbles", minlvl = 40, st = 2059, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false},
["m3"] = {atk = "Water Gun", minlvl = 40, st = 2060, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m4"] = {atk = "Waterball", minlvl = 40, st = 2061, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false},
["m5"] = {atk = "Aqua Tail", minlvl = 40, st = 2062, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m6"] = {atk = "Hydro Cannon", minlvl = 40, st = 2063, cd = 7, min = 200, max = 400, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m7"] = {atk = "Harden", minlvl = 40, st = 2064, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true},
["m8"] = {atk = "Surf", minlvl = 40, st = 2065, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
},
["Blastoise"] = {
["m1"] = {atk = "Headbutt", minlvl = 40, st = 2066, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Bubbles", minlvl = 40, st = 2067, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false},
["m3"] = {atk = "Water Gun", minlvl = 40, st = 2068, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m4"] = {atk = "Waterball", minlvl = 40, st = 2069, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = true, pz = false},
["m5"] = {atk = "Aqua Tail", minlvl = 40, st = 2070, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m6"] = {atk = "Hydro Cannon", minlvl = 40, st = 2071, cd = 7, min = 200, max = 400, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m7"] = {atk = "Harden", minlvl = 40, st = 2072, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true},
["m8"] = {atk = "Surf", minlvl = 40, st = 2073, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
["m9"] = {atk = "Hydropump", minlvl = 40, st = 2074, cd = 6, min = 100, max = 200, damage = COMBAT_ICEDAMAGE, target = false, pz = false},
},
["Caterpie"] = {
["m1"] = {atk = "Headbutt", minlvl = 1, st = 2075, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "String Shot", minlvl = 1, st = 2076, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m3"] = {atk = "Bug Bite", minlvl = 1, st = 2077, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Metapod"] = {
["m1"] = {atk = "Headbutt", minlvl = 10, st = 2078, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "String Shot", minlvl = 10, st = 2079, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m3"] = {atk = "Bug Bite", minlvl = 10, st = 2080, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m4"] = {atk = "Harden", minlvl = 10, st = 2081, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = true},
},
["Butterfree"] = {
["m1"] = {atk = "Headbutt", minlvl = 30, st = 2082, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Whirlwind", minlvl = 30, st = 2083, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
["m3"] = {atk = "Super Sonic", minlvl = 30, st = 2084, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m4"] = {atk = "Stun Spore", minlvl = 30, st = 2085, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m5"] = {atk = "Poison Powder", minlvl = 30, st = 2086, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m6"] = {atk = "Sleep Powder", minlvl = 30, st = 2087, cd = 10, min = 0, max = 0, damage = COMBAT_EARTHDAMAGE, target = false, pz = false},
["m7"] = {atk = "Psybeam", minlvl = 30, st = 2088, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
["m8"] = {atk = "Confusion", minlvl = 30, st = 2089, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
},
["Weedle"] = {
["m1"] = {atk = "Horn Attack", minlvl = 1, st = 2090, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "String Shot", minlvl = 1, st = 2091, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m3"] = {atk = "Poison Sting", minlvl = 1, st = 2092, cd = 3, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Kakuna"] = {
["m1"] = {atk = "Bug Bite", minlvl = 10, st = 2093, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "String Shot", minlvl = 10, st = 2094, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m3"] = {atk = "Poison Sting", minlvl = 10, st = 2095, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m4"] = {atk = "Harden", minlvl = 10, st = 2096, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = true},
},
["Beedrill"] = {
["m1"] = {atk = "Fury Cutter", minlvl = 10, st = 2097, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "String Shot", minlvl = 10, st = 2098, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m3"] = {atk = "Poison Sting", minlvl = 10, st = 2099, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m4"] = {atk = "Pin Missile", minlvl = 10, st = 2100, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Rage", minlvl = 10, st = 2101, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m6"] = {atk = "Strafe", minlvl = 10, st = 2102, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Pidgey"] = {
["m1"] = {atk = "Quick Attack", minlvl = 1, st = 2103, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Sand Attack", minlvl = 1, st = 2104, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = false, pz = false},
["m3"] = {atk = "Gust", minlvl = 5, st = 2105, cd = 10, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = false, pz = false},
["m4"] = {atk = "Drill Peck", minlvl = 10, st = 2106, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Pidgeotto"] = {
["m1"] = {atk = "Quick Attack", minlvl = 20, st = 2107, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Sand Attack", minlvl = 20, st = 2108, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = false, pz = false},
["m3"] = {atk = "Whirlwind", minlvl = 20, st = 2109, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = false, pz = false},
["m4"] = {atk = "Drill Peck", minlvl = 20, st = 2110, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Wing Attack", minlvl = 28, st = 2111, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Pidgeot"] = {
["m1"] = {atk = "Quick Attack", minlvl = 65, st = 2112, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Sand Attack", minlvl = 65, st = 2113, cd = 7, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = false, pz = false},
["m3"] = {atk = "Whirlwind", minlvl = 65, st = 2114, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = false, pz = false},
["m4"] = {atk = "Drill Peck", minlvl = 65, st = 2115, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Wing Attack", minlvl = 65, st = 2116, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
["m6"] = {atk = "Tornado", minlvl = 65, st = 2117, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
["m7"] = {atk = "Strafe", minlvl = 65, st = 2118, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Rattata"] = {
["m1"] = {atk = "Quick Attack", minlvl = 1, st = 2119, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Bite", minlvl = 1, st = 2120, cd = 4, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = true, pz = false},
["m3"] = {atk = "Scratch", minlvl = 1, st = 2121, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = true, pz = false},
["m4"] = {atk = "Super Fang", minlvl = 12, st = 2122, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Raticate"] = {
["m1"] = {atk = "Quick Attack", minlvl = 20, st = 2123, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Bite", minlvl = 20, st = 2124, cd = 4, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = true, pz = false},
["m3"] = {atk = "Scratch", minlvl = 20, st = 2125, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = true, pz = false},
["m4"] = {atk = "Super Fang", minlvl = 20, st = 2126, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Spearow"] = {
["m1"] = {atk = "Quick Attack", minlvl = 5, st = 2127, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Sand Attack", minlvl = 5, st = 2128, cd = 4, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = false, pz = false},
["m3"] = {atk = "Gust", minlvl = 10, st = 2129, cd = 10, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = true, pz = false},
["m4"] = {atk = "Drill Peck", minlvl = 12, st = 2130, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Rage", minlvl = 5, st = 2131, cd = 4, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Fearow"] = {
["m1"] = {atk = "Quick Attack", minlvl = 50, st = 2132, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Sand Attack", minlvl = 50, st = 2133, cd = 6, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = false, pz = false},
["m3"] = {atk = "Whrilwind", minlvl = 50, st = 2134, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = false, pz = false},
["m4"] = {atk = "Drill Peck", minlvl = 50, st = 2135, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Wing Attack", minlvl = 50, st = 2136, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
["m6"] = {atk = "Tornado", minlvl = 60, st = 2137, cd = 6, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = false, pz = false},
["m7"] = {atk = "Rage", minlvl = 55, st = 2138, cd = 7, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Ekans"] = {
["m1"] = {atk = "Bite", minlvl = 12, st = 2139, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Poison Fang", minlvl = 14, st = 2140, cd = 5, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = true, pz = false},
["m3"] = {atk = "Sting Gun", minlvl = 18, st = 2141, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = true, pz = false},
["m4"] = {atk = "Acid", minlvl = 20, st = 2142, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Fear", minlvl = 22, st = 2143, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},
["Arbok"] = {
["m1"] = {atk = "Bite", minlvl = 12, st = 2144, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m2"] = {atk = "Poison Fang", minlvl = 14, st = 2145, cd = 5, min = 100, max = 200, damage = COMBAT_EARTHDAMAG, target = true, pz = false},
["m3"] = {atk = "Sting Gun", minlvl = 18, st = 2146, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAG, target = true, pz = false},
["m4"] = {atk = "Pin Missile", minlvl = 20, st = 2147, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m5"] = {atk = "Acid", minlvl = 22, st = 2148, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m6"] = {atk = "Iron Tail", minlvl = 24, st = 2149, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m7"] = {atk = "Fear", minlvl = 26, st = 2150, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
["m8"] = {atk = "Rage", minlvl = 28, st = 2151, cd = 5, min = 100, max = 200, damage = COMBAT_PHYSICALDAMAGE, target = true, pz = false},
},

}

function onSay(cid, words, param)

       if #getCreatureSummons(cid) == 0 then
               return doPlayerSendCancel(cid, "You do not have any pokemon.")
       end

               local poke = d[getCreatureName(getCreatureSummons(cid)[1])][words]
               if not poke then
                       return true
               end
               local storage = poke.st
               local exst = 16265
               local cdexst = 0.5
               local cd = math.ceil(poke.cd/2)
               local pet = getCreatureSummons(cid)[1]
               local target = getCreatureTarget(cid)
               local look = getCreatureLookDir(pet)
               local position = getThingPos(pet)

               if getTilePzInfo(getCreaturePosition(pet)) and poke.pz == false then
                       return doPlayerSendCancel(cid, "Not Attack in protection zone.")
               end

               if getPlayerLevel(cid) < poke.minlvl then
                       return doPlayerSendTextMessage(cid, 19, "Your need level "..poke.minlvl.." to use " ..poke.atk..".")
               end

               if os.time()-getPlayerStorageValue(cid, storage) <= cd then
                       minutes,seconds = getTime(cd-(os.time()-getPlayerStorageValue(cid, storage)))
                       return doPlayerSendTextMessage(cid, 27, "Wait "..seconds.." seconds to use "..poke.atk..".")
               end

               if target == 0 and poke.target then
                       return doPlayerSendTextMessage(cid, 19, "This Pokemon Attack need any target.")
               end

               if os.time()-getPlayerStorageValue(cid, exst) <= cdexst then
                       minutes,seconds = getTime(cdexst-(os.time()-getPlayerStorageValue(cid, exst)))
                       return doPlayerSendCancel(cid, "Poke exhausted")
               end

               local critico = math.random(100) < 10 and 2 or 1

--ATTACKS

               if poke.atk == "Quick Attack" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 148)

               elseif poke.atk == "Razor Leaf" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 4)
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 79)

               elseif poke.atk == "Vine Whip" then
                       local effects = {
                       [0] = 80,
                       [1] = 83,
                       [2] = 81,
                       [3] = 82
                       }
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion1[look], -poke.min, -poke.max * critico, effects[look])

               elseif poke.atk == "Headbutt" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 111)

               elseif poke.atk == "Leech Seed" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 6)
                       doSendAnimatedText(getCreaturePosition(target), "POISON", 66)
                       addEvent(Poison, 500, target, 45, 5)

               elseif poke.atk == "Solar Beam" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect={[1]=94,[2]=93,[3]=93,[4]=95}},
                       [1] = {x = 1,  y = 0,  effect={[1]=86,[2]=88,[3]=88,[4]=87}},
                       [2] = {x = 0,  y = 1,  effect={[1]=91,[2]=93,[3]=93,[4]=92}},
                       [3] = {x = -1, y = 0,  effect={[1]=89,[2]=88,[3]=88,[4]=90}}
                       }
                       for i = 1,4 do
                               doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i])
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion2[look], -poke.min, -poke.max * critico, 59)

               elseif poke.atk == "Stun Spore" then
                       local d = getCreaturesInRange(getThingPos(pet), 1, 1, 1, 0)
                       for _,pid in pairs(d) do
                               Paralize(pid)
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 85)

               elseif poke.atk == "Poison Powder" then
                       local d = getCreaturesInRange(getThingPos(pet), 1, 1, 1, 0)
                       for _,pid in pairs(d) do
                               doSendAnimatedText(getCreaturePosition(pid), "POISON", 66)
                               Poison(pid, 8, 5)
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 84)

               elseif poke.atk == "Sleep Powder" then
                       local d = getCreaturesInRange(getThingPos(pet), 1, 1, 1, 0)
                       for _,pid in pairs(d) do
                               Sleep(pid)
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 27)

               elseif poke.atk == "Leaf Storm" then
                       local d = getCreaturesInRange(getThingPos(pet), 3, 3, 1, 0)
                               for _,pid in pairs(d) do
                                       for i = 1, 4 do
                                               if i == 1 then
                                                       addEvent(doAreaCombatHealth, 400, pet, poke.damage, getThingPos(pid), 0, -poke.min, -poke.max * critico, 79)
                                                       doSendDistanceShoot(getPosToStorm(getCreaturePosition(pid)), getCreaturePosition(pid), 4)
                                               else
                                                       addEvent(doAreaCombatHealth, i*800 ,pet, poke.damage, getThingPos(pid), 0, -poke.min, -poke.max * critico, 79)
                                                       addEvent(doSendDistanceShoot, i*600, getPosToStorm(getCreaturePosition(pid)), getCreaturePosition(pid), 4)
                                               end
                                       end
                               end

               elseif poke.atk == "Scratch" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 142)

               elseif poke.atk == "Ember" then
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 15)

               elseif poke.atk == "Flamethrower" then
                       local effects = {
                       [0] = 55,
                       [1] = 58,
                       [2] = 56,
                       [3] = 57
                       }
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion1[look], -poke.min, -poke.max * critico, effects[look])

               elseif poke.atk == "Fire Ball" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 3)
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 5)

               elseif poke.atk == "Fire Blast" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect= 60},
                       [1] = {x = 1,  y = 0,  effect= 61},
                       [2] = {x = 0,  y = 1,  effect= 62},
                       [3] = {x = -1, y = 0,  effect= 63}
                       }
                       for i = 1,8 do
                               if i == 1 then
                                       doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect)
                                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 15)
                               else
                                       addEvent(doSendMagicEffect, i*300, {x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect)
                                       addEvent(doAreaCombatHealth, i*300, pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 15)
                               end
                       end

               elseif poke.atk == "Rage" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       for i = 1,4 do
                               if i == 1 then
                                       doSendMagicEffect(position, 168)
                                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 142)
                               else
                                       addEvent(doAreaCombatHealth, i*500, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 142)
                               end
                       end

               elseif poke.atk == "Fire Fang" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 146)
                       addEvent(doAreaCombatHealth, 200, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 15)
                       addEvent(doAreaCombatHealth, 400, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 15)

               elseif poke.atk == "Dragon Claw" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 141)

               elseif poke.atk == "Magma Storm" then
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 36)
                       addEvent(doAreaCombatHealth, 800, pet, poke.damage, getThingPos(pet), area1, -poke.min, -poke.max * critico, 6)

               elseif poke.atk == "Wing Attack" then
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 115)
                       addEvent(doAreaCombatHealth, 500, pet, poke.damage, getThingPos(pet), area1, -poke.min, -poke.max * critico, 42)

               elseif poke.atk == "Bubbles" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 2)
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 68)

               elseif poke.atk == "Water Gun" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect={[1]=74,[2]=75,[3]=75,[4]=76}},
                       [1] = {x = 1,  y = 0,  effect={[1]=69,[2]=70,[3]=70,[4]=71}},
                       [2] = {x = 0,  y = 1,  effect={[1]=77,[2]=75,[3]=75,[4]=78}},
                       [3] = {x = -1, y = 0,  effect={[1]=72,[2]=70,[3]=70,[4]=73}}
                       }
                       for i = 1,4 do
                               doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i])
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion2[look], -poke.min, -poke.max * critico, 59)

           elseif poke.atk == "Waterball" then
                       for i = 1,5 do
                               if i == 1 then
                                       addEvent(doAreaCombatHealth, 200 ,pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 68)
                                       doSendDistanceShoot(getPosToStorm(getCreaturePosition(target)), getCreaturePosition(target), 2)
                               else
                                       addEvent(doAreaCombatHealth, i*700 ,pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 68)
                                       addEvent(doSendDistanceShoot, i*500, getPosToStorm(getCreaturePosition(target)), getCreaturePosition(target), 2)
                               end
                       end

               elseif poke.atk == "Aqua Tail" then
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area2, -poke.min, -poke.max * critico, 160)

               elseif poke.atk == "Hydro Cannon" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect={[1]=74,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[8]=76}},
                       [1] = {x = 1,  y = 0,  effect={[1]=69,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=71}},
                       [2] = {x = 0,  y = 1,  effect={[1]=77,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[4]=78}},
                       [3] = {x = -1, y = 0,  effect={[1]=72,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=73}}
                       }
                       for i = 1,8 do
                               doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i])
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 59)

               elseif poke.atk == "Harden" then
                       function Harden(cid, rounds)
                               if rounds == 0 then return false end
                               if #getCreatureSummons(cid) == 0 then return false end
                               doSendMagicEffect(getCreaturePosition(getCreatureSummons(cid)[1]), 144)
                               return addEvent(Harden, 1000, cid, rounds-1)
                       end
                       addEvent(Harden, 500, cid, 40)

               elseif poke.atk == "Surf" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect= 66},
                       [1] = {x = 1,  y = 0,  effect= 67},
                       [2] = {x = 0,  y = 1,  effect= 64},
                       [3] = {x = -1, y = 0,  effect= 65}
                       }
                       for i = 1,8 do
                               if i == 1 then
                                       doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect)
                                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 68)
                               else
                                       addEvent(doSendMagicEffect, i*300, {x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect)
                                       addEvent(doAreaCombatHealth, i*300, pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 68)
                               end
                       end

               elseif poke.atk == "Hydropump" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect={[1]=74,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[8]=76}},
                       [1] = {x = 1,  y = 0,  effect={[1]=69,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=71}},
                       [2] = {x = 0,  y = 1,  effect={[1]=77,[2]=75,[3]=75,[4]=75,[5]=75,[6]=75,[7]=75,[4]=78}},
                       [3] = {x = -1, y = 0,  effect={[1]=72,[2]=70,[3]=70,[4]=70,[5]=70,[6]=70,[7]=70,[8]=73}}
                       }
                       for i = 1,8 do
                               doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i])
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 68)
                       addEvent(doAreaCombatHealth, 400, pet, poke.damage, getThingPos(pet), areadirecion3[look], -poke.min, -poke.max * critico, 33)

               elseif poke.atk == "String Shot" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 23)
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 137)
                       Paralize(target)

           elseif poke.atk == "Bug Bite" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 146)

               elseif poke.atk == "Whirlwind" then
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion4[look], -poke.min, -poke.max * critico, 42)

               elseif poke.atk == "Super Sonic" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       for i = 1, 3 do
                               if i == 1 then
                                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 24)
                               else
                                       addEvent(doSendDistanceShoot, i * 200, getCreaturePosition(pet), getCreaturePosition(target), 24)
                               end
                       end
                       addEvent(doSendAnimatedText, 500, getCreaturePosition(target), "CONF", 210)
                       addEvent(Confused, 500, target, 15)

               elseif poke.atk == "Psybeam" then
                       local a = {
                       [0] = {x = 0,  y = -1, effect={[1]=108,[2]=109,[3]=109,[4]=108}},
                       [1] = {x = 1,  y = 0,  effect={[1]=106,[2]=107,[3]=107,[4]=106}},
                       [2] = {x = 0,  y = 1,  effect={[1]=109,[2]=108,[3]=108,[4]=109}},
                       [3] = {x = -1, y = 0,  effect={[1]=107,[2]=106,[3]=106,[4]=107}}
                       }
                       for i = 1,4 do
                               doSendMagicEffect({x = position.x + a[look].x*i, y = position.y + a[look].y*i, z = position.z}, a[look].effect[i])
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), areadirecion2[look], -poke.min, -poke.max * critico, 59)

               elseif poke.atk == "Confusion" then
                       doAreaCombatHealth(pet, poke.damage, getThingPos(pet), area3, -poke.min, -poke.max * critico, 136)

               elseif poke.atk == "Horn Attack" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 111)

               elseif poke.atk == "Poison Sting" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 15)
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 9)

               elseif poke.atk == "Fury Cutter" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 110)
                       addEvent(doAreaCombatHealth, 500, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 110)

               elseif poke.atk == "Pin Missile" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 5 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       for i = 1, 3 do
                               if i == 1 then
                                       doSendDistanceShoot(getCreaturePosition(pet), getCreaturePosition(target), 13)
                                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 137)
                               else
                                       addEvent(doSendDistanceShoot, i * 200, getCreaturePosition(pet), getCreaturePosition(target), 13)
                                       addEvent(doAreaCombatHealth, i * 200, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, 137)
                               end
                       end

               elseif poke.atk == "Strafe" then
                       if getDistanceBetween(getCreaturePosition(pet), getCreaturePosition(target)) > 1 then
                               return doPlayerSendCancel(cid, "Target is far away.")
                       end
                       local dd = {142, 111, 110, 148}
                       for i = 1,6 do
                               af = math.random(4)
                               if i == 1 then
                                       doAreaCombatHealth(pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, dd[af])
                               else
                                       addEvent(doAreaCombatHealth, i*500, pet, poke.damage, getThingPos(target), 0, -poke.min, -poke.max * critico, dd[af])
                               end
                       end


               end

-- END ATTACKS

               doPlayerSay(cid, getCreatureName(pet)..", use "..poke.atk..".", 1)
               setPlayerStorageValue(cid, storage, os.time()+cd)
               setPlayerStorageValue(cid, exst, os.time()+cdexst)
               local atknotcritic = {"Harden", "Poison Powder", "Sleep Powder", "Super Sonic", "Stun Spore"}
               if critico == 2 and not isInArray(atknotcritic, poke.atk) then
                       doSendAnimatedText(getCreaturePosition(cid), "CRITICAL", 144)
               end

return true
end

Editado por Redspark
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...