poke moves

Author: jose-valencia

Post on 24-Feb-2018

227 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • 7/25/2019 Poke Moves

    1/128

    const_distance_delay = 56

    RollOuts = {["Voltorb"] = {lookType = 638},["Electrode"] = {lookType = 637},["Sandshrew"] = {lookType = 635},["Sandslash"] = {lookType = 636},["Phanpy"] = {lookType = 1005},["Donphan"] = {lookType = 1007},["Miltank"] = {lookType = 1006},["Golem"] = {lookType = 639},["Omastar"] = {lookType = 1579},["Shiny Electrode"] = {lookType = 1387},["Shiny Golem"] = {lookType = 1403},["Shiny Voltorb"] = {lookType = 1388},["Shiny Sandslash"] = {lookType = 1506},["Shiny Donphan"] = {lookType = 1905},["Shiny Miltank"] = {lookType = 1913},["Shiny Ninetales"] = {lookType = 1581},}

    --//////////////////////////////////////////////////////////////////////////////////////////////////////////--local function getSubName(cid, target)

    if not isCreature(cid) then return "" endif getCreatureName(cid) == "Ditto" and pokes[getPlayerStorageValue(cid, 1010)] and getPlayerStorageValue(cid, 1010) ~= "Ditto" then return getPlayerStorageValue(cid, 1010)elseif pokeHaveReflect(cid) and isCreature(target) then return getCreatureName(target)else --alterado v1.6.1 return getCreatureName(cid)endend

    local function getThingName(cid)

    if not isCreature(cid) then return "" end --alterado v1.6return getCreatureName(cid)end

    function getTableMove(cid, move) --alterado v1.6local backup = {f = 0, t = ""}if getThingName(cid) == "Ditto" and pokes[getPlayerStorageValue(cid, 1010)] andgetPlayerStorageValue(cid, 1010) ~= "Ditto" then name = getPlayerStorageValue(cid, 1010)else name = getThingName(cid)endif not isCreature(cid) or name == "" or not move then return backup end

    local x = movestable[name]if not x then return "" endlocal z = {x.move1, x.move2, x.move3, x.move4, x.move5, x.move6, x.move7, x.move8, x.move9, x.move10, x.move11, x.move12, x.passive1, x.passive2, x.passive3}if getPlayerStorageValue(cid, 21103) ~= -1 then local sto = getPlayerStorageValue(cid, 21103)

    setPlayerStorageValue(cid, 21103, -1)return {f = sto, t = ""}

    endfor j = 1, 15 do

  • 7/25/2019 Poke Moves

    2/128

    if z[j] and z[j].name == move then return z[j] endendreturn movesinfo[move]end

    function getMasterTarget(cid)if isCreature(cid) and getPlayerStorageValue(cid, 21101) ~= -1 then return getPlayerStorageValue(cid, 21101) --alterado v1.6end if isSummon(cid) then

    return getCreatureTarget(getCreatureMaster(cid))else return getCreatureTarget(cid)

    endend--////////////////////////////////////////////////////////////////////////////////////////////////////////--

    function docastspell(cid, spell, mina, maxa)

    local target = 0local getDistDelay = 0

    if not isCreature(cid) or getCreatureHealth(cid)

  • 7/25/2019 Poke Moves

    3/128

    doSendMagicEffect(getThingPosWithDebug(target), 211) doSendAnimatedText(getThingPosWithDebug(target), "TOO BAD", 215)

    doTeleportThing(target, getClosestFreeTile(target, getThingPosWithDebug(cid)), false) doSendMagicEffect(getThingPosWithDebug(target), 211) doFaceCreature(target, getThingPosWithDebug(cid))

    return false --alterado v1.8 end endend

    --- FEAR / ROAR / SILENCE ---if (isWithFear(cid) or isSilence(cid)) and getPlayerStorageValue(cid, 21100) = 0 and table ~= "" and table.f ~= 0 then--alterado v1.6

    min = min * 2max = max * 2setPlayerStorageValue(cid, 253, -1)

    end--- Shredder Team -------------------------------if getPlayerStorageValue(cid, 637501) >= 1 then

  • 7/25/2019 Poke Moves

    4/128

    if #getCreatureSummons(cid) == 1 then docastspell(getCreatureSummons(cid)[1], spell) elseif #getCreatureSummons(cid) == 2 then docastspell(getCreatureSummons(cid)[1], spell) docastspell(getCreatureSummons(cid)[2], spell) end

    elseif getPlayerStorageValue(cid, 637500) >= 1 then min = 0 max = 0end------------------Miss System--------------------------local cd = getPlayerStorageValue(cid, conds["Miss"])local cd2 = getPlayerStorageValue(cid, conds["Confusion"]) --alterado v1.5local cd3 = getPlayerStorageValue(cid, conds["Stun"])if cd >= 0 or cd2 >= 0 or cd3 >= 0 then

    --alterado v1.7 if not isInArray({"Shock-Counter", "Lava-Counter", "Counter Helix", "Demon Puncher", "Demon Kicker", "Stunning Confusion", "Electric Charge", "Melody", "Mirror Coat", "Mega Drain","Aromateraphy", "Heal Bell", "Emergency Call", "Magical Leaf", "Sunny Day", "Taunt", "Skull Bash", "Safeguard", "Rain Dance", "Spores Reaction", "Giroball", "Counter Claw", "Counter Spin", "Dragon Fury","Amnesia", "Healing Wish", "Zen Mind", "Bone Spin", "Thick Fat", "Meteor Mash"},

    spell) and getPlayerStorageValue(cid, 21100) 30 then--alterado v1.6

    doSendAnimatedText(getThingPosWithDebug(cid), "MISS", 215) return false end endend---------------GHOST DAMAGE-----------------------ghostDmg = GHOSTDAMAGEpsyDmg = PSYCHICDAMAGE

    if getPlayerStorageValue(cid, 999457) >= 1 and table ~= "" and table.f ~= 0 then

    --alterado v1.6 psyDmg = MIRACLEDAMAGE

    ghostDmg = DARK_EYEDAMAGE addEvent(setPlayerStorageValue, 50, cid, 999457, -1)end--------------------REFLECT----------------------setPlayerStorageValue(cid, 21100, -1) --alterado v1.6if not isInArray({"Psybeam", "Sand Attack", "Flamethrower", "Heal Bell"}, spell)then --alterado v1.8 setPlayerStorageValue(cid, 21101, -1)endsetPlayerStorageValue(cid, 21102, spell)

    ---------------------------------------------------

    if spell == "Reflect" or spell == "Mimic" or spell == "Magic Coat" then

    if spell == "Magic Coat" then eff = 11 else eff = 135

  • 7/25/2019 Poke Moves

    5/128

    end

    doSendMagicEffect(getThingPosWithDebug(cid), eff)setPlayerStorageValue(cid, 21099, 1)

    elseif spell == "Quick Attack" then

    doDanoWithProtect(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 111)

    elseif spell == "Razor Leaf" or spell == "Magical Leaf" then

    local eff = spell == "Razor Leaf" and 8 or 21

    local function throw(cid, target)if not isCreature(cid) or not isCreature(target) then return false end doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),eff)

    doDanoInTargetWithDelay(cid, target, GRASSDAMAGE, min, max, 245) --alterado v1.7end

    addEvent(throw, 0, cid, target)

    addEvent(throw, 100, cid, target) --alterado v1.7elseif spell == "Vine Whip" then

    local area = getThingPosWithDebug(cid)local dano = {}local effect = 255

    if mydir == 0 thenarea.x = area.x + 1area.y = area.y - 1dano = whipneffect = 80

    elseif mydir == 1 thenarea.x = area.x + 2area.y = area.y + 1dano = whipeeffect = 83

    elseif mydir == 2 thenarea.x = area.x + 1area.y = area.y + 2dano = whipseffect = 81

    elseif mydir == 3 thenarea.x = area.x - 1area.y = area.y + 1

    dano = whipweffect = 82end

    doSendMagicEffect(area, effect)doAreaCombatHealth(cid, GRASSDAMAGE, getThingPosWithDebug(cid),

    dano, -min, -max, 255)

    elseif spell == "Headbutt" then

  • 7/25/2019 Poke Moves

    6/128

    doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 118)elseif spell == "Leech Seed" then

    local ret = {} ret.id = target ret.attacker = cid ret.cd = 5 ret.check = getPlayerStorageValue(target, conds["Leech"]) ret.damage = isSummon(cid) and getMasterLevel(cid)+getPokemonBoost(cid) or getPokemonLevel(cid) ret.cond = "Leech"

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 1)

    addEvent(doMoveDano2, 1000, cid, target, GRASSDAMAGE, 0, 0, ret, spell)

    elseif spell == "Leech Life" then

    local ret = {} ret.id = target ret.attacker = cid ret.cd = 5

    ret.check = getPlayerStorageValue(target, conds["Leech"]) ret.damage = isSummon(cid) and getMasterLevel(cid)+getPokemonBoost(cid) or getPokemonLevel(cid) ret.cond = "Leech"

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 1)

    addEvent(doMoveDano2, 1000, cid, target, GRASSDAMAGE, 0, 0, ret, spell)

    elseif spell == "Protection" then

    local pos = getPosfromArea(cid, heal)

    local n = 0while n < #pos do

    n = n+1 thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253} local pid = getThingFromPosWithProtect(thing) local pospid = getThingPosWithDebug(pid) local poscid = getThingPosWithDebug(cid)

    doSendMagicEffect(pos[n], 12) for i = 0, 9 do if isCreature(pid) then if isSummon(cid) and (isSummon(pid) or isPlayer(pid)) then

    if canAttackOther(cid, pid) == "Cant" then doCreatureSetNoMove(pid, true) doCreatureSetNoMove(cid, true) setPlayerStorageValue(pid, 9658783, 1) setPlayerStorageValue(cid, 9658783, 1) addEvent(doSendMagicEffect, i*800, pospid, 117) addEvent(doSendMagicEffect, i*800, poscid, 117) addEvent(setPlayerStorageValue, 8000, pid, 9658783, -1) addEvent(setPlayerStorageValue, 8000, cid, 9658783, -1) addEvent(doCreatureSetNoMove, 8000, pid, false)

  • 7/25/2019 Poke Moves

    7/128

    addEvent(doCreatureSetNoMove, 8000, cid, false) end elseif ehMonstro(cid) and ehMonstro(pid) then doCreatureSetNoMove(pid, true) doCreatureSetNoMove(cid, true) setPlayerStorageValue(pid, 9658783, 1) setPlayerStorageValue(cid, 9658783, 1) addEvent(doSendMagicEffect, i*800, pospid, 117) addEvent(doSendMagicEffect, i*800, poscid, 117) addEvent(setPlayerStorageValue, 8000, pid, 9658783, -1) addEvent(setPlayerStorageValue, 8000, cid, 9658783, -1) addEvent(doCreatureSetNoMove, 8000, pid, false) addEvent(doCreatureSetNoMove, 8000, cid, false) end end end end

    elseif spell == "Solar Beam" then

    local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)local p = getThingPosWithDebug(cid)local t = {

    [0] = {36, {x=p.x+1, y=p.y-1, z=p.z}},[1] = {4, {x=p.x+6, y=p.y+1, z=p.z}}, --alterado v1.6[2] = {36, {x=p.x+1, y=p.y+6, z=p.z}},[3] = {4, {x=p.x-1, y=p.y+1, z=p.z}}, --alterado v1.6}

    doMoveInArea2(cid, 0, triplo6, GRASSDAMAGE, min, max, spell)doSendMagicEffect(t[a][2], t[a][1])

    elseif spell == "XDMoonblast" thendoDanoWithProtect(cid, psyDmg, getThingPosWithDebug(cid), selfarea2, 400000, 800000, 2)

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 1ret.cond = "Silence"----local p = getThingPosWithDebug(cid)doSendMagicEffect({x=p.x+1, y=p.y, z=p.z}, 9)---if isSummon(cid) then

    doCureBallStatus(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "all")end

    doCureStatus(cid, "all")setPlayerStorageValue(cid, 253, 1) --focusdoMoveInArea2(cid, 0, moon, PSYCHICDAMAGE, 0, 0, spell, ret)

    elseif spell == "Moonblast" thendoDanoWithProtect(cid, psyDmg, getThingPosWithDebug(cid), selfArea2, min, max, 2)local ret = {}ret.id = 0

  • 7/25/2019 Poke Moves

    8/128

    ret.cd = 9ret.check = 0ret.eff = 1ret.cond = "Silence"----local p = getThingPosWithDebug(cid)doSendMagicEffect({x=p.x+1, y=p.y, z=p.z}, 9)---if isSummon(cid) then

    doCureBallStatus(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "all")enddoCureStatus(cid, "all")setPlayerStorageValue(cid, 253, 1) --focusdoMoveInArea2(cid, 0, electro, FAIRYDAMAGE, 0, 0, spell, ret)

    elseif spell == "Healing Wish" then

    local min = (getCreatureMaxHealth(cid) * 80) / 100local max = (getCreatureMaxHealth(cid) * 99) / 100

    local function doHealArea(cid, min, max)

    local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid))

    end if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount) doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) end endif isSummon(cid) then

    doCureBallStatus(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "all")enddoCureStatus(cid, "all")

    local pos = getPosfromArea(cid, heal) local n = 0 doHealArea(cid, min, max)

    while n < #pos do n = n+1 thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253} local pid = getThingFromPosWithProtect(thing)

    doSendMagicEffect(pos[n], 14) doSendMagicEffect(pos[n], 13) if isCreature(pid) then if isSummon(cid) and (isSummon(pid) or isPlayer(pid)) then if canAttackOther(cid, pid) == "Cant" then doHealArea(pid, min, max) end

    elseif ehMonstro(cid) and ehMonstro(pid) then doHealArea(pid, min, max) end end

    end

    elseif spell == "Dragon Tail" then

    local function rebackSpd(cid, sss)if not isCreature(cid) then return true end

  • 7/25/2019 Poke Moves

    9/128

    doChangeSpeed(cid, sss)setPlayerStorageValue(cid, 446, -1)

    end

    local x = getCreatureSpeed(cid)doFaceOpposite(cid)doChangeSpeed(cid, -x)addEvent(rebackSpd, 400, cid, x)setPlayerStorageValue(cid, 446, 1)doAreaCombatHealth(cid, DRAGONDAMAGE, getThingPosWithDebug(target), 0, -

    min, -max, 104)

    elseif spell == "Outrage" then local config = { outfit = { --["pokemon_name"] = outfit, ["Salamence"] = 2043,

    ["Shiny Salamence"] = 2043, ["Super Salamence"] = 2043,

    ["Mega Sceptile"] = 2434,["Dark Mega Sceptile"] = 2434,["Mega Charizard X"] = 2451,["Dark Mega Charizard"] = 2451,

    }, AOE = { times = 2, --Quantas vezes o golpe AOE ser usado. interval = 3000, --Intervalo de tempo, em milsimos de segundo, entre cada golpe AOE. combat = DRAGONDAMAGE, --Elemento. spell = { --Uma tabela dever ser configurada com a rea e efeito da parte comsocos, e a outra com a parte do efeito do Draco Meteor. {area = OutrageArea1, effect = 112}, --{area = rea do dano AOE,effect = efeito} {area = OutrageArea2, effect = 248}

    },} }

    local function doOutrage(cid, times) if not isCreature(cid) then return true end for i = 1, #config.AOE.spell do doMoveInArea2(cid, config.AOE.spell[i].effect, config.AOE.spell[i].area, config.AOE.combat, min, max, spell) end times = times - 1 if times

  • 7/25/2019 Poke Moves

    10/128

    end

    local ret = {} ret.id = cid ret.cd = config.AOE.interval / 1000 * config.AOE.times ret.eff = 0 ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) doSetCreatureOutfit(cid, {lookType = config.outfit[getCreatureName(cid)]}, config.AOE.interval * config.AOE.times) addEvent(doOutrage, config.AOE.interval, cid, config.AOE.times)

    elseif spell == "Sleep Powder" then

    local ret = {}ret.id = 0ret.cd = math.random(6, 9)ret.check = 0ret.first = true --alterado v1.6ret.cond = "Sleep"

    doMoveInArea2(cid, 27, confusion, NORMALDAMAGE, 0, 0, spell, ret)

    elseif spell == "Stun Spore" then

    local ret = {} ret.id = 0 ret.cd = 9 ret.eff = 0 ret.check = 0 ret.spell = spell ret.cond = "Stun"

    doMoveInArea2(cid, 85, confusion, GRASSDAMAGE, 0, 0, spell, ret)

    elseif spell == "Poison Powder" then

    local ret = {}ret.id = 0ret.cd = math.random(6, 15) --alterado v1.6ret.check = 0local lvl = isSummon(cid) and getMasterLevel(cid) or getPokemonLevel(cid)ret.damage = math.floor((getPokemonLevel(cid)+lvl * 3)/2)ret.cond = "Poison"

    doMoveInArea2(cid, 84, confusion, NORMALDAMAGE, 0, 0, spell, ret)

    elseif spell == "Bullet Seed" then

    --cid, effDist, effDano, areaEff, areaDano, element, min, maxdoMoveInAreaMulti(cid, 1, 45, bullet, bulletDano, GRASSDAMAGE, min, max)

    elseif spell == "Body Slam" then

    doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 118)elseif spell == "Leaf Storm" or tonumber(spell) == 73 then

  • 7/25/2019 Poke Moves

    11/128

    addEvent(doDanoWithProtect, 150, cid, GRASSDAMAGE, getThingPosWithDebug(cid), grassarea, -min, -max, 0)

    local pos = getThingPosWithDebug(cid)

    local function doSendLeafStorm(cid, pos) --alterado!!if not isCreature(cid) then return true end

    doSendDistanceShoot(getThingPosWithDebug(cid), pos, 8)end

    for a = 1, 100 dolocal lugar = {x = pos.x + math.random(-6, 6), y = pos.y + math.

    random(-5, 5), z = pos.z}addEvent(doSendLeafStorm, a * 2, cid, lugar)

    endelseif spell == "Scratch" then

    doDanoWithProtect(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 142)elseif spell == "Iron Head" then

    doDanoWithProtect(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -m

    in, -max, 77)elseif spell == "Ember" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 3)

    doDanoInTargetWithDelay(cid, target, FIREDAMAGE, min, max, 15)--alterado v1.7

    elseif spell == "Flamethrower" then

    local flamepos = getThingPosWithDebug(cid)local flamepos1 = getThingPosWithDebug(cid)

    local flamepos2 = getThingPosWithDebug(cid) local effect = 255 local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)if a == 0 then---Magmortar--flamepos1.x = flamepos1.x+2

    flamepos1.y = flamepos1.y-1 flamepos2.x = flamepos2.x-1 flamepos2.y = flamepos2.y-1 ---Magmortar-- flamepos.x = flamepos.x+1 flamepos.y = flamepos.y-1

    effect = 106elseif a == 1 then---Magmortar--flamepos1.x = flamepos1.x+3

    flamepos1.y = flamepos1.y+2 flamepos2.x = flamepos2.x+3 flamepos2.y = flamepos2.y ---Magmortar-- flamepos.x = flamepos.x+3 flamepos.y = flamepos.y+1

  • 7/25/2019 Poke Moves

    12/128

    effect = 109elseif a == 2 then---Magmortar--flamepos1.x = flamepos1.x+2

    flamepos1.y = flamepos1.y+3 flamepos2.x = flamepos2.x flamepos2.y = flamepos2.y+3 ---Magmortar-- flamepos.x = flamepos.x+1 flamepos.y = flamepos.y+3 effect = 107elseif a == 3 then---Magmortar--flamepos1.x = flamepos1.x-1

    flamepos1.y = flamepos1.y+2 flamepos2.x = flamepos2.x-1 flamepos2.y = flamepos2.y ---Magmortar-- flamepos.x = flamepos.x-1 flamepos.y = flamepos.y+1 effect = 108end

    if getCreatureName(cid) == "Magmortar" or getCreatureName(cid) == "Shiny Magmo

    rtar" thendoMoveInArea2(cid, 0, flamek, FIREDAMAGE, min, max, spell) doSendMagicEffect(flamepos1, effect)doSendMagicEffect(flamepos2, effect)else

    doMoveInArea2(cid, 0, flamek, FIREDAMAGE, min, max, spell) doSendMagicEffect(flamepos, effect)end

    elseif spell == "Fireball" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(targ

    et), 3) addEvent(doDanoWithProtect, 200, cid, FIREDAMAGE, getThingPosWithDebug(target), waba, min, max, 5)

    elseif spell == "Lightning Hell" then

    local function doDivine(cid, min, max, spell, rounds, area)if not isCreature(cid) then return true endlocal ret = {}ret.id = 0ret.check = 0ret.cd = roundsret.cond = "Stun"

    for i = 1, 9 do addEvent(doMoveInArea2, i*500, cid, 207, area[i], ELECTRICDAMAGE, min, max,spell, ret) addEvent(doMoveInArea2, 1000, cid, 47, electro, ELECTRICDAMAGE, 0, 0, spell,ret)

    addEvent(doMoveInArea2, 1000, cid, 207, electro, ELECTRICDAMAGE, 0, 0, spell, ret)

    local pos = getThingPosWithDebug(cid)local areas = {rock1, rock2, rock3, rock4, rock5, rock1, rock2, rock3, rock4, ro

  • 7/25/2019 Poke Moves

    13/128

    ck5}local ret = {}ret.id = 0ret.cd = 5ret.eff = 48ret.check = 0ret.spell = spellret.cond = "Miss"for i = 0, 8 do addEvent(doMoveInArea2, i*400, cid, 47, areas[i+1], ELECTRICDAMAGE, min, max, spell, ret) addEvent(doMoveInArea2, i*410, cid, 171, areas[i+1], ELECTRICAMAGE, 0, 0, spell)endendend

    local rounds = math.random(9, 12) local area = {punish1, punish2, punish3, punish1, punish2, punish3, punish1, punish2, punish3}

    local posi = getThingPosWithDebug(cid)posi.x = posi.x+1

    posi.y = posi.y+1

    setPlayerStorageValue(cid, 2365487, 1) addEvent(setPlayerStorageValue, 6450, cid, 2365487, -1) --alterado v1.4 doDisapear(cid) doChangeSpeed(cid, -getCreatureSpeed(cid)) doSendMagicEffect(posi, 163)

    addEvent(doAppear, 6450, cid) addEvent(doRegainSpeed, 6450, cid)

    local uid = checkAreaUid(getCreaturePosition(cid), check, 1, 1) for _,pid in pairs(uid) do if isSummon(cid) and (isMonster(pid) or (isSummon(pid) and canAttackOther(cid, pid) == "Can") or (isPlayer(pid) and canAttackOther(cid, pid) ==

    "Can")) and pid ~= cid then doChangeSpeed(pid, -getCreatureSpeed(pid)) elseif isMonster(cid) and (isSummon(pid) or (isPlayer(pid) and#getCreatureSummons(pid)

  • 7/25/2019 Poke Moves

    14/128

    ret.spell = spell ret.cond = "Slow"

    addEvent(doMoveDano2, 100, cid, target, NORMALDAMAGE, 0, 0, ret, spell)doSendMagicEffect(getThingPosWithDebug(target), 223)

    doSendMagicEffect(getThingPosWithDebug(target), 224)doDanoInTargetWithDelay(cid, target, DRAGONDAMAGE, min, max, 253) --alterado

    v1.7for i = 0, 1 do

    addEvent(doDualDualChop, i * 900, cid)end

    elseif spell == "Grass Knot" then

    local function throw(cid, target)if not isCreature(cid) or not isCreature(target) then return false end doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),eff)

    doDanoInTargetWithDelay(cid, target, GRASSDAMAGE, min, max, 245)doSendMagicEffect(getThingPosWithDebug(target), 240)doSendMagicEffect(getThingPosWithDebug(target), 240)

    end

    addEvent(throw, 0, cid, target)

    addEvent(throw, 100, cid, target)

    elseif spell == "Ground Colapse" then

    local p = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    function sendAtk(cid, area, areaEff, eff)if isCreature(cid) then if not isSightClear(p, area, false) then return true end

    --testar o atk!!

    doAreaCombatHealth(cid, GROUNDDAMAGE, areaEff, 0, 0, 0, eff)doAreaCombatHealth(cid, GROUNDDAMAGE, area, whirl3, -min, -max, 255)endend

    for a = 0, 5 do

    local t = {[0] = {178, {x=p.x, y=p.y-(a+1), z=p.z}, {x=p.x+1, y=p.y-(a+1), z=p.z}},

    [1] = {178, {x=p.x+(a+1), y=p.y, z=p.z}, {x=p.x+(a+1), y=p.y+1, z=p.z}},[2] = {178, {x=p.x, y=p.y+(a+1), z=p.z}, {x=p.x+1, y=p.y+(a+1), z=p.z}},[3] = {178, {x=p.x-(a+1), y=p.y, z=p.z}, {x=p.x-(a+1), y=p.y+1, z=p.z}}

    }addEvent(sendAtk, 325*a, cid, t[d][2], t[d][3], t[d][1])end

    elseif spell == "Wood Hammer" thenlocal function doPulse(cid, eff)if not isCreature(cid) then return true end doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),10)

  • 7/25/2019 Poke Moves

    15/128

    doDanoInTargetWithDelay(cid, target, GRASSDAMAGE, min, max, 37) --alterado pokemon TESend addEvent(doPulse, 0, cid, 37)

    elseif spell == "Fire Blast" then

    local p = getThingPosWithDebug(cid)local p1 = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    function sendAtk(cid, area, eff)if isCreature(cid) then if not isSightClear(p, area, false) then return true endif getCreatureName(cid) == "Magmortar" then doAreaCombatHealth(cid, BURNEDDAMAGE, area, 0, 0, 0, eff) doAreaCombatHealth(cid, BURNEDDAMAGE, area, whirl4, -min, -max, 35) else doAreaCombatHealth(cid, BURNEDDAMAGE, area, 0, 0, 0, eff) doAreaCombatHealth(cid, BURNEDDAMAGE, area, whirl3, -min, -max, 35) endend

    endfor a = 0, 4 do

    local t = {[0] = {60, {x=p.x, y=p.y-(a+1), z=p.z}}, --alterado v1.4[1] = {61, {x=p.x+(a+1), y=p.y, z=p.z}},[2] = {62, {x=p.x, y=p.y+(a+1), z=p.z}},[3] = {63, {x=p.x-(a+1), y=p.y, z=p.z}}}local m = {[0] = {60, {x=p.x+1, y=p.y-(a+1), z=p.z}}, --alterado v1.4[1] = {61, {x=p.x+(a+1), y=p.y+1, z=p.z}},

    [2] = {62, {x=p.x+1, y=p.y+(a+1), z=p.z}},[3] = {63, {x=p.x-(a+1), y=p.y+1, z=p.z}}}local n = {[0] = {60, {x=p.x-1, y=p.y-(a+1), z=p.z}}, --alterado v1.4[1] = {61, {x=p.x+(a+1), y=p.y-1, z=p.z}},[2] = {62, {x=p.x-1, y=p.y+(a+1), z=p.z}},[3] = {63, {x=p.x-(a+1), y=p.y-1, z=p.z}}}if getCreatureName(cid) == "Magmortar" or getCreatureName(cid) == "Shiny Magmortar" thenaddEvent(sendAtk, 300*a, cid, m[d][2], m[d][1])addEvent(sendAtk, 300*a, cid, n[d][2], n[d][1])

    elseaddEvent(sendAtk, 300*a, cid, t[d][2], t[d][1])endend

    elseif spell == "Dual Fire Blast" thenlocal function doDualFireBlast(cid)

    if not isCreature(cid) then return false endlocal p = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or ge

  • 7/25/2019 Poke Moves

    16/128

    tCreatureLookDir(cid)

    function sendAtk(cid, area, eff)if isCreature(cid) then if not isSightClear(p, area, false) then return true end

    doAreaCombatHealth(cid, FIREDAMAGE, area, 0, 0, 0, eff) doAreaCombatHealth(cid, FIREDAMAGE, area, whirl3, -min, -max, 35)endend

    for a = 0, 4 do

    local t = {[0] = {60, {x=p.x, y=p.y-(a+1), z=p.z}}, --alterado v1.4[1] = {61, {x=p.x+(a+1), y=p.y, z=p.z}},[2] = {62, {x=p.x, y=p.y+(a+1), z=p.z}},[3] = {63, {x=p.x-(a+1), y=p.y, z=p.z}}}addEvent(sendAtk, 300*a, cid, t[d][2], t[d][1])endreturn trueend

    for i = 0, 1 do

    addEvent(doDualFireBlast, 900 * i, cid)enddoSetCreatureOutfit(cid, {lookType = 2045}, 1000)

    elseif spell == "Rage" then

    local ret = {} ret.id = cid ret.cd = 15 ret.eff = 13 ret.check = 0 ret.buff = spell ret.first = true

    doCondition2(ret)elseif spell == "Raging Blast" then

    --cid, effDist, effDano, areaEff, areaDano, element, min, max doMoveInAreaMulti(cid, 3, 6, bullet, bulletDano, FIREDAMAGE, min, max)

    elseif spell == "Dragon Claw" then

    doDanoWithProtect(cid, DRAGONDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 141)

    elseif spell == "Wing Attack" or spell == "Steel Wing" then

    local effectpos = getThingPosWithDebug(cid)local effect = 255local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    if a == 0 theneffect = spell == "Steel Wing" and 251 or 128effectpos.x = effectpos.x + 1

  • 7/25/2019 Poke Moves

    17/128

    effectpos.y = effectpos.y - 1 --alterado v1.4elseif a == 1 then

    effectpos.x = effectpos.x + 2effectpos.y = effectpos.y + 1effect = spell == "Steel Wing" and 253 or 129

    elseif a == 2 theneffectpos.x = effectpos.x + 1effectpos.y = effectpos.y + 2effect = spell == "Steel Wing" and 252 or 131

    elseif a == 3 theneffectpos.x = effectpos.x - 1effectpos.y = effectpos.y + 1effect = spell == "Steel Wing" and 254 or 130

    end

    doSendMagicEffect(effectpos, effect)doMoveInArea2(cid, 0, wingatk, FLYINGDAMAGE, min, max, spell)

    elseif spell == "Dragon Flight" then

    sendDistanceShootWithProtect(cid, getThingPosWithDebug(cid), getThingPosWithDebug(target), 53)doDanoInTargetWithDelay(cid, target, DRAGONDAMAGE, min, max, 143) --alterado v1

    .7doSendMagicEffect(getThingPosWithDebug(cid), 211)

    local x = getClosestFreeTile(cid, getThingPosWithDebug(target))doTeleportThing(cid, x, false)doFaceCreature(cid, getThingPosWithDebug(target))doAreaCombatHealth(cid, DRAGONDAMAGE, getThingPosWithDebug(target), 0, -

    min, -max, 143)

    elseif spell == "Magma Storm" then

    local eff = {6, 35, 35, 6}local area = {flames1, flames2, flames3, flames4}

    addEvent(doMoveInArea2, 2*450, cid, 2, flames0, FIREDAMAGE, min, max, spell)for i = 0, 3 do addEvent(doMoveInArea2, i*450, cid, eff[i+1], area[i+1], FIREDAMAGE, min, max, spell)end

    elseif spell == "Magma Storm" then

    elseif spell == "Bubbles" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(targ

    et), 2) doDanoInTargetWithDelay(cid, target, WATERDAMAGE, min, max, 68) --alterado v1.7

    elseif spell == "Clamp" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 2)

    doDanoInTargetWithDelay(cid, target, WATERDAMAGE, min, max, 53) --alterado v1.7

  • 7/25/2019 Poke Moves

    18/128

    elseif spell == "Water Gun" then

    local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)local p = getThingPosWithDebug(cid)local t = {[0] = {69, {x=p.x, y=p.y-1, z=p.z}},[1] = {70, {x=p.x+6, y=p.y, z=p.z}}, --alterado v1.8[2] = {69, {x=p.x, y=p.y+6, z=p.z}},[3] = {70, {x=p.x-1, y=p.y, z=p.z}},}

    doMoveInArea2(cid, 0, triplo6, WATERDAMAGE, min, max, spell)doSendMagicEffect(t[a][2], t[a][1])

    elseif spell == "Waterball" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),2) doDanoWithProtectWithDelay(cid, target, WATERDAMAGE, min, max, 68, waba)

    elseif spell == "Aqua Tail" then

    local function rebackSpd(cid, sss)if not isCreature(cid) then return true enddoChangeSpeed(cid, sss)setPlayerStorageValue(cid, 446, -1)

    end

    local x = getCreatureSpeed(cid)doFaceOpposite(cid)doChangeSpeed(cid, -x)addEvent(rebackSpd, 400, cid, x)setPlayerStorageValue(cid, 446, 1)doAreaCombatHealth(cid, WATERDAMAGE, getThingPosWithDebug(target), 0, -m

    in, -max, 68)

    elseif spell == "Hydro Cannon" then

    local p = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    function sendAtk(cid, area, eff)if isCreature(cid) then if not isSightClear(p, area, false) then return true endif getCreatureName(cid) == "Mega Blastoise" then

    doAreaCombatHealth(cid, WATERDAMAGE, area, 0, 0, 0, eff) doAreaCombatHealth(cid, WATERDAMAGE, area, whirl3, -min, -max, 68) else doAreaCombatHealth(cid, WATERDAMAGE, area, 0, 0, 0, eff) doAreaCombatHealth(cid, WATERDAMAGE, area, whirl3, -min, -max, 68)endendend

  • 7/25/2019 Poke Moves

    19/128

    for a = 0, 4 do

    local t = { --alterado v1.4[0] = {64, {x=p.x, y=p.y-(a+1), z=p.z}},[1] = {65, {x=p.x+(a+1), y=p.y, z=p.z}},[2] = {66, {x=p.x, y=p.y+(a+1), z=p.z}},[3] = {67, {x=p.x-(a+1), y=p.y, z=p.z}}}local m = {[0] = {64, {x=p.x+1, y=p.y-(a+1), z=p.z}}, --alterado v1.4[1] = {65, {x=p.x+(a+1), y=p.y+1, z=p.z}},[2] = {66, {x=p.x+1, y=p.y+(a+1), z=p.z}},[3] = {67, {x=p.x-(a+1), y=p.y+1, z=p.z}}}local n = {[0] = {64, {x=p.x-1, y=p.y-(a+1), z=p.z}}, --alterado v1.4[1] = {65, {x=p.x+(a+1), y=p.y-1, z=p.z}},[2] = {66, {x=p.x-1, y=p.y+(a+1), z=p.z}},[3] = {67, {x=p.x-(a+1), y=p.y-1, z=p.z}}}

    if getCreatureName(cid) == "Mega Blastoise" thenaddEvent(sendAtk, 300*a, cid, m[d][2], m[d][1])addEvent(sendAtk, 300*a, cid, n[d][2], n[d][1])

    elseaddEvent(sendAtk, 300*a, cid, t[d][2], t[d][1])endend

    elseif spell == "Thick Fat" then

    local ret = {}ret.id = 0ret.cd = 9ret.eff = 8

    ret.check = 0ret.spell = spellret.cond = "Paralyze"local ret2 = {}ret2.id = 0ret2.cd = 8ret2.check = 0ret2.eff = -1ret2.cond = "Silence"

    doMoveInArea2(cid, 182, muddy, NORMALDAMAGE, min, max, spell, ret)

    doMoveInArea2(cid, 182, muddy, NORMALDAMAGE, 0, 0, spell, ret2)

    elseif spell == "Mamaragan" then

    local eff = getSubName(cid, target) == "Shiny Electabuzz" and 29 or 207 --alterado v1.6.1local eff = getSubName(cid, target) == "Shiny Electivire" and 29 or 207

    local pos = getThingPosWithDebug(cid)local areas = {rock1, rock2, rock3, rock4, rock5, rock1, rock2, rock3, rock4, ro

  • 7/25/2019 Poke Moves

    20/128

    ck5}local ret = {}ret.id = 0ret.cd = 12ret.eff = 48ret.check = 0ret.spell = spellret.cond = "Stun"for i = 0, 8 do addEvent(doMoveInArea2, i*400, cid, eff, areas[i+1], ELECTRICDAMAGE, min, max, spell, ret) addEvent(doMoveInArea2, i*410, cid, eff, areas[i+1], ELECTRICAMAGE, 0, 0, spell)end

    elseif spell == "Harden" or spell == "Calm Mind" or spell == "Defense Curl" or spell == "Charm" then --alterado v1.4 if spell == "Calm Mind" then eff = 133 elseif spell == "Charm" then eff = 147 --efeito n eh esse.. e n sei se eh soh bonus de

    def, ou sp.def tb.. ;x elseeff = 144

    end

    local ret = {} ret.id = cid ret.cd = 8 ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true

    doCondition2(ret)

    elseif spell == "Bubble Blast" then

    --cid, effDist, effDano, areaEff, areaDano, element, min, max doMoveInAreaMulti(cid, 2, 68, bullet, bulletDano, WATERDAMAGE, min, max)elseif spell == "Skull Bash" thenlocal ret = {}ret.id = 0ret.cd = 8 --alterado v1.6ret.eff = 89ret.check = 0

    ret.first = trueret.cond = "Paralyze"local ret2 = {}ret2.id = 0ret2.cd = 8ret2.check = 0ret2.eff = -1ret2.cond = "Silence"

    doMoveInArea2(cid, 118, reto5, NORMALDAMAGE, min, max, spell, ret)

  • 7/25/2019 Poke Moves

    21/128

    doMoveInArea2(cid, 118, reto5, NORMALDAMAGE, 0, 0, spell, ret2)

    elseif spell == "Hydropump" then

    local pos = getThingPosWithDebug(cid)

    local function doSendBubble(cid, pos)if not isCreature(cid) then return true endif isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1

    then return true endif isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1

    then return true enddoSendDistanceShoot(getThingPosWithDebug(cid), pos, 2)doSendMagicEffect(pos, 53)

    end --alterado!!for a = 1, 20 do local lugar = {x = pos.x + math.random(-4, 4), y = pos.y + math.rand

    om(-3, 3), z = pos.z} addEvent(doSendBubble, a * 25, cid, lugar)endaddEvent(doDanoWithProtect, 150, cid, WATERDAMAGE, pos, waterarea, -min,

    -max, 0)elseif spell == "Giga Impact" then

    local tempo = 3 --Tempo, em segundos.local a = {}local ret1 = {} ret1.id = 0 ret1.cd = 5 ret1.eff = 0 ret1.check = 0 ret1.first = true ret1.cond = "Slow"

    local ret2 = {} ret2.id = 0 ret2.cd = 5

    ret2.eff = 0 ret2.check = 0 ret2.first = true ret2.cond = "Miss" a.speed = getCreatureSpeed(cid) doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, a.speed*2) addEvent(function() if not isCreature(cid) then return true end doRegainSpeed(cid)

    doMoveInArea2(cid, 118, quake, NORMALDAMAGE, min, max, spell, ret1) doMoveInArea2(cid, 118, quake, NORMALDAMAGE, 0, 0, spell, ret2) end, tempo*1000)

    elseif spell == "String Shot" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),23)

    local ret = {}

  • 7/25/2019 Poke Moves

    22/128

    ret.id = target ret.cd = 6 ret.eff = 137 ret.check = getPlayerStorageValue(target, conds["Stun"]) ret.spell = spell ret.cond = "Stun"

    addEvent(doMoveDano2, 100, cid, target, BUGDAMAGE, 0, 0, ret, spell)

    elseif spell == "Bug Bite" then

    doSendMagicEffect(getThingPosWithDebug(target), 2) doDanoInTargetWithDelay(cid, target, BUGDAMAGE, min, max, 8) --alterado v1.7

    elseif spell == "Super Sonic" then

    local rounds = math.random(4, 7)rounds = rounds + math.floor(getPokemonLevel(cid) / 35)

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 32)

    local ret = {}ret.id = targetret.cd = rounds

    ret.check = getPlayerStorageValue(target, conds["Confusion"])ret.cond = "Confusion"

    addEvent(doMoveDano2, 100, cid, target, NORMALDAMAGE, 0, 0, ret, spell)

    elseif spell == "Whirlwind" then

    area = {SL1, SL2, SL3, SL4}

    for i = 0, 3 do addEvent(doMoveInArea2, i*300, cid, 42, area[i+1], FLYINGDAMAGE, min, max, spell)end

    elseif spell == "Razor Wind" then

    area = {SL1, SL2, SL3, SL4}

    for i = 0, 3 do addEvent(doMoveInArea2, i*300, cid, 131, area[i+1], NORMALDAMAGE, min, max,spell)end

    elseif spell == "Psybeam" then

    local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or ge

    tCreatureLookDir(cid)local t = {[0] = 58, --alterado v1.6[1] = 234,[2] = 58,[3] = 209,}

    doMoveInArea2(cid, t[a], reto4, psyDmg, min, max, spell) --alterado v1.4

  • 7/25/2019 Poke Moves

    23/128

    elseif spell == "Sand Attack" then

    local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)local t = {[0] = 120,[1] = 121,[2] = 122,[3] = 119,}

    local ret = {}ret.id = 0ret.cd = 9ret.eff = 34ret.check = 0ret.spell = spellret.cond = "Miss"

    doCreatureSetLookDir(cid, a) --sera? '-'stopNow(cid, 1000)doMoveInArea2(cid, t[a], reto5, GROUNDDAMAGE, 0, 0, spell, ret)

    elseif spell == "Confusion" or spell == "Night Shade" then

    local rounds = math.random(4, 7) --rever area... rounds = rounds + math.floor(getPokemonLevel(cid) / 35)

    if spell == "Confusion" then dano = psyDmg --alterado v1.4 else dano = ghostDmg end

    local ret = {} ret.id = 0 ret.check = 0

    ret.cd = rounds ret.cond = "Confusion"

    doMoveInArea2(cid, 136, selfArea1, dano, min, max, spell, ret)

    elseif spell == "Horn Attack" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 15) doDanoInTargetWithDelay(cid, target, NORMALDAMAGE, min, max, 3) --alterado v1.7

    elseif spell == "Poison Sting" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 15) doDanoInTargetWithDelay(cid, target, POISONDAMAGE, min, max, 8) --alterado v1.7

    elseif spell == "Fury Cutter" or spell == "Red Fury" then

    local effectpos = getThingPosWithDebug(cid) local effect = 255

  • 7/25/2019 Poke Moves

    24/128

    local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    if a == 0 then if getSubName(cid, target) == "Scizor" then --alterado v1.6.1 effect = 236 else

    effect = 128 end

    effectpos.x = effectpos.x + 1effectpos.y = effectpos.y - 1

    elseif a == 1 theneffectpos.x = effectpos.x + 2effectpos.y = effectpos.y + 1if getSubName(cid, target) == "Scizor" then --alterado v1.6.1

    effect = 232 else

    effect = 129 endelseif a == 2 then

    effectpos.x = effectpos.x + 1effectpos.y = effectpos.y + 2if getSubName(cid, target) == "Scizor" then --alterado v1.6.1

    effect = 233

    else effect = 131 endelseif a == 3 then

    effectpos.x = effectpos.x - 1effectpos.y = effectpos.y + 1if getSubName(cid, target) == "Scizor" then --alterado v1.6.1

    effect = 224 else

    effect = 130 endend

    local function doFury(cid, effect)

    if not isCreature(cid) then return true end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end

    doSendMagicEffect(effectpos, effect) doMoveInArea2(cid, 2, wingatk, BUGDAMAGE, min, max, spell)

    end

    addEvent(doFury, 0, cid, effect) addEvent(doFury, 350, cid, effect)elseif spell == "Pin Missile" then

    doMoveInAreaMulti(cid, 13, 7, bullet, bulletDano, BUGDAMAGE, min, max)elseif spell == "Strafe" or spell == "Agility" then

    local ret = {} ret.id = cid ret.cd = 15 ret.eff = 14 ret.check = 0

  • 7/25/2019 Poke Moves

    25/128

    ret.buff = spell ret.first = true

    doCondition2(ret)elseif spell == "Gust" then

    doMoveInArea2(cid, 42, reto5, FLYINGDAMAGE, min, max, spell)

    elseif spell == "Drill Peck" then

    doDanoWithProtect(cid, FLYINGDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 148)

    elseif spell == "Tornado" then

    local pos = getThingPosWithDebug(cid)

    local function doSendTornado(cid, pos)if not isCreature(cid) then return true endif isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1

    then return true endif isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1

    then return true end

    doSendDistanceShoot(getThingPosWithDebug(cid), pos, 22)doSendMagicEffect(pos, 42)end

    for b = 1, 3 dofor a = 1, 20 do

    local lugar = {x = pos.x + math.random(-4, 4), y = pos.y+ math.random(-3, 3), z = pos.z}

    addEvent(doSendTornado, a * 75, cid, lugar)end

    enddoDanoWithProtect(cid, FLYINGDAMAGE, pos, waterarea, -min, -max, 0)

    elseif spell == "Sky Attack" then

    local pos = getThingPosWithDebug(cid)

    local function doSendTornado(cid, pos)if not isCreature(cid) then return true endif isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1

    then return true endif isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1

    then return true enddoSendDistanceShoot(getThingPosWithDebug(cid), pos, 22)doSendMagicEffect(pos, 78)

    end

    for b = 1, 3 dofor a = 1, 20 do

    local lugar = {x = pos.x + math.random(-4, 4), y = pos.y+ math.random(-3, 3), z = pos.z}

    addEvent(doSendTornado, a * 75, cid, lugar)end

    enddoDanoWithProtect(cid, FLYINGDAMAGE, pos, waterarea, -min, -max, 0)

  • 7/25/2019 Poke Moves

    26/128

    elseif spell == "Bite" or tonumber(spell) == 5 then

    doDanoWithProtect(cid, DARKDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 146)

    elseif spell == "Super Fang" then

    doDanoWithProtect(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 2)

    elseif spell == "Poison Fang" then

    doSendMagicEffect(getThingPosWithDebug(target), 2) doDanoInTargetWithDelay(cid, target, POISONDAMAGE, min, max, 114) --alteradov1.7

    elseif spell == "Sting Gun" then

    local function doGun(cid, target) if not isCreature(cid) or not isCreature(target) then return true end--alterado v1.7 doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 13) doDanoInTargetWithDelay(cid, target, POISONDAMAGE, min, max, 8) --alt

    erado v1.7 end

    setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 200, cid, 3644587, 1) for i = 0, 2 do

    addEvent(doGun, i*100, cid, target) end

    elseif spell == "Acid" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 14)

    doDanoInTargetWithDelay(cid, target, POISONDAMAGE, min, max, 20) --alterado v1.7

    elseif spell == "Fear" or spell == "Roar" then

    local ret = {} ret.id = 0 ret.cd = 5 ret.check = 0 ret.skill = spell ret.cond = "Fear"

    doMoveInArea2(cid, 0, confusion, DARKDAMAGE, 0, 0, spell, ret)

    elseif spell == "Iron Tail" then

    local function rebackSpd(cid, sss)if not isCreature(cid) then return true enddoChangeSpeed(cid, sss)setPlayerStorageValue(cid, 446, -1)

    end

    local x = getCreatureSpeed(cid)

  • 7/25/2019 Poke Moves

    27/128

    doFaceOpposite(cid)doChangeSpeed(cid, -x)addEvent(rebackSpd, 400, cid, x)setPlayerStorageValue(cid, 446, 1)doDanoWithProtect(cid, STEELDAMAGE, getThingPosWithDebug(target), 0, -mi

    n, -max, 160)

    elseif spell == "Thunder Shock" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 40)

    doDanoInTargetWithDelay(cid, target, ELECTRICDAMAGE, min, max, 48) --alterado v1.7

    elseif spell == "Thunder Bolt" then

    --alterado v1.7local function doThunderFall(cid, frompos, target)

    if not isCreature(target) or not isCreature(cid) then return true end

    local pos = getThingPosWithDebug(target)local ry = math.abs(frompos.y - pos.y)doSendDistanceShoot(frompos, getThingPosWithDebug(target), 41)addEvent(doDanoInTarget, ry * 11, cid, target, ELECTRICDAMAGE, m

    in, max, 48) --alterado v1.7end

    local function doThunderUp(cid, target)if not isCreature(target) or not isCreature(cid) then re

    turn true endlocal pos = getThingPosWithDebug(target)local mps = getThingPosWithDebug(cid)local xrg = math.floor((pos.x - mps.x) / 2)local topos = mpstopos.x = topos.x + xrglocal rd = 7topos.y = topos.y - rd

    doSendDistanceShoot(getThingPosWithDebug(cid), topos, 41)addEvent(doThunderFall, rd * 49, cid, topos, target)end

    setPlayerStorageValue(cid, 3644587, 1)addEvent(setPlayerStorageValue, 350, cid, 3644587, -1)

    for thnds = 1, 2 doaddEvent(doThunderUp, thnds * 155, cid, target)

    end

    elseif spell == "Thunder Wave" then

    local ret = {}

    ret.id = 0ret.cd = 9ret.check = 0ret.eff = 48ret.spell = spellret.cond = "Stun"

    doMoveInArea2(cid, 48, db1, ELECTRICDAMAGE, min, max, spell, ret) --alterado v1.8

  • 7/25/2019 Poke Moves

    28/128

    elseif spell == "Disarming Voice" then

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 46ret.spell = spellret.cond = "Stun"

    doMoveInArea2(cid, 46, db1, FAIRYDAMAGE, min, max, spell, ret) --alterado v1.8

    elseif spell == "Dragon Breath2" then

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 10ret.spell = spellret.cond = "Stun"

    doMoveInArea2(cid, 10, db1, DRAGONDAMAGE, min, max, spell, ret) --alterado v1.8

    elseif spell == "Thunder" thenlocal ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 48ret.spell = spellret.cond = "Stun"

    doMoveInArea2(cid, 48, thunderr, ELECTRICDAMAGE, min, max, spell, ret)

    elseif spell == "Web Shot" then

    local ret = {}ret.id = targetret.cd = 9ret.eff = 26ret.check = 0ret.spell = spellret.cond = "Paralyze"

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 23)

    addEvent(doMoveDano2, 100, cid, target, BUGDAMAGE, -min, -max, ret, spell)

    elseif spell == "Mega Kick" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),39)

    doDanoInTargetWithDelay(cid, target, FIGHTINGDAMAGE, min, max, 113) --alterado v1.7

    elseif spell == "Thunder Punch" then

  • 7/25/2019 Poke Moves

    29/128

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 39) doSendMagicEffect(getThingPosWithDebug(target), 112) doDanoInTargetWithDelay(cid, target, ELECTRICDAMAGE, min, max, 48) --alterado v1.7

    elseif spell == "Electric Storm" then

    local master = isSummon(cid) and getCreatureMaster(cid) or cid

    local function doFall(cid)for rocks = 1, 42 do addEvent(fall, rocks*35, cid, master, ELECTRICDAMAGE, 41, 48)endend

    for up = 1, 10 do addEvent(upEffect, up*75, cid, 41)endaddEvent(doFall, 450, cid)

    local ret = {}ret.id = 0ret.cd = 9

    ret.check = 0ret.eff = 48ret.spell = spellret.cond = "Stun"

    addEvent(doMoveInArea2, 1400, cid, 0, BigArea2, ELECTRICDAMAGE, min, max, spell,ret)

    elseif spell == "Grass Knot bugedo" thenlocal p = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    function sendAtk(cid, area, eff, area2)if isCreature(cid) thenif not isSightClear(p, area, false) then return true end

    if not isWalkable(area) then return true end if isInArray(waters, getTileInfo(area).itemid) then return true end doAreaCombatHealth(cid, GRASSDAMAGE, area, whirl3, -min, -max, 37) doTeleportThing(cid, area)endend

    for a = 0, 5 do

    local t = {

    [0] = {0, {x=p.x, y=p.y-(a+1), z=p.z}, {x=p.x + 1,y=p.y-(a+1), z=p.z}},[1] = {0, {x=p.x+(a+1), y=p.y, z=p.z}, {x=p.x+(a+1) + 1, y=p.y + 1, z=p.z}},[2] = {0, {x=p.x, y=p.y+(a+1), z=p.z}, {x=p.x + 1, y=p.y+(a+1) + 1, z=p.z}},[3] = {0, {x=p.x-(a+1), y=p.y, z=p.z}, {x=p.x-(a+1), y=p.y + 1, z=p.z}}}doCreatureSetNoMove(cid, true)addEvent(sendAtk, 200*a, cid, t[d][2], t[d][1], t[d][3])addEvent(doCreatureSetNoMove, 1000, cid, false)end

  • 7/25/2019 Poke Moves

    30/128

    elseif spell == "Frenzy Plant" then

    local master = isSummon(cid) and getCreatureMaster(cid) or cid

    local function doFall(cid)for rocks = 1, 42 do addEvent(fall, rocks*35, cid, master, GRASSDAMAGE, 99, 71)endend

    for up = 1, 10 do addEvent(upEffect, up*75, cid, 99)endaddEvent(doFall, 450, cid)

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 71ret.spell = spellret.cond = "Sleep"

    addEvent(doMoveInArea2, 1400, cid, 0, BigArea2, GRASSDAMAGE, min, max, spell, re

    t)elseif spell == "Web Rain" then

    local master = isSummon(cid) and getCreatureMaster(cid) or cid

    local function doFall(cid)for rocks = 1, 42 do addEvent(fall, rocks*35, cid, master, BUGDAMAGE, 23)endend

    for up = 1, 10 do

    addEvent(upEffect, up*75, cid, 23)endaddEvent(doFall, 450, cid)

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 26ret.spell = spellret.cond = "Silence"

    addEvent(doMoveInArea2, 1400, cid, 0, BigArea2, BUGDAMAGE, min, max, spell, ret)

    elseif spell == "Spider Web" then

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 26ret.cond = "Silence"

  • 7/25/2019 Poke Moves

    31/128

    doMoveInAreaMulti(cid, 23, 26, multi, multiDano, BUGDAMAGE, min, max)doMoveInArea2(cid, 0, multiDano, BUGDAMAGE, 0, 0, spell, ret)

    elseif spell == "Mud Shot" or spell == "Mud Slap" then

    if isCreature(target) then --alterado v1.8local contudion = spell == "Mud Shot" and "Miss" or "Stun"

    local ret = {}ret.id = targetret.cd = 9ret.eff = 34ret.check = getPlayerStorageValue(target, conds[contudion])ret.spell = spellret.cond = contudion

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 6)

    addEvent(doMoveDano2, 100, cid, target, GROUNDDAMAGE, -min, -max, ret, spell)end

    elseif spell == "Vines Grap" then

    local ret = {} ret.id = 0 ret.cd = 40 --Durao do silence, em milesimosdesegundos. ret.check = 0 ret.eff = 104 --Efeito do silence. ret.cond = "Silence"

    doDanoWithProtect(cid, psyDmg, getThingPosWithDebug(cid), selfArea2, min, max, 45)

    stopNow(cid, 200) --alterado v1.6 doCreatureSetLookDir(cid, 2)

    local effect = 0local pos = getThingPosWithDebug(cid)pos.x = pos.x + 1pos.y = pos.y + 1

    local effect = getSubName(cid, target) == "Mega Tangrowth" and 229 or 229 local effect = getSubName(cid, target) == "Shiny Tangela" and 213 or 229--alterado v1.6.1

    doSendMagicEffect(pos, effect)doDanoWithProtect(cid, GRASSDAMAGE, getThingPosWithDebug(cid), splash, -

    min, -max, 0)

    elseif spell == "Power Whipe" thenlocal pos = getThingPosWithDebug(cid)local areas = {rock1, rock2, rock3, rock4, rock5}local ret = {}ret.id = 0ret.cd = 3ret.eff = 7ret.check = 0ret.first = true

  • 7/25/2019 Poke Moves

    32/128

    ret.cond = "Paralyze"local ret2 = {}ret2.id = 0ret2.cd = 3ret2.check = 0ret2.eff = -1ret2.cond = "Silence" local config = { outfit = 1685, --Outfit. time = {3 , 500}, --{Durao da spell, intervalo entre cada"tick" de dano (em milsimos de segundos)}, storage = 93828, effects = { pullEffects = { distance = 167, --Distance effect do efeito de puxar pokmons. effect = 7, --Efeito de tornado. }, damageEffect = 45, --Efeito do redemoinho que aplica dano. }, } local time = os.time() + config.time[1] function Pull(cid, ret) local pos = getPosfromArea(cid, pullArea) if pos and #pos > 0 then

    for i = 1, #pos do local c = getTopCreature(pos[i]).uid if c > 0 then

    legendarios = { "Blue Tower 1", "Blue Tower 2","Blue Tower 3", "Red Tower 1", "Red Tower 2", "Red Tower 3", "Entei", "Moltres","Zapdos", "Articuno", "Celebi"} if ehMonstro(c) and not isInArray(legendarios, getCreatureName(c))then doTeleportThing(c, getClosestFreeTile(cid, getThingPos(cid))) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret, spell) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret2, spell) elseif isSummon(c) then

    local master = getCreatureMaster(c) if isSummon(cid) then if getPlayerStorageValue(master, 52480) >= 1 and getPlayerStorageValue(master, 52481) >= 0 then local masterCid = getCreatureMaster(cid) if isDuelingAgainst(masterCid, master) then doTeleportThing(c, getClosestFreeTile(cid, getThingPos(cid))) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret,spell) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret2, spell) end

    end else doTeleportThing(c, getClosestFreeTile(cid, getThingPos(cid))) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret, spell) doMoveDano2(cid, c, NORMALDAMAGE, 0, 0, ret2, spell) end end

    end -- end

  • 7/25/2019 Poke Moves

    33/128

    end end function doSendTornado(cid, pos) if not isCreature(cid) then return true end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return true end doSendDistanceShoot(getThingPos(cid), pos, config.effects.pullEffects.distance) doSendMagicEffect(pos, config.effects.pullEffects.effect) end function vortexDamage(cid) if not isCreature(cid) then return true elseif time - os.time() < 0 then return true end doDanoWithProtect(cid, GRASS, getThingPos(cid), damageArea, min, max, config.effects.damageEffect) addEvent(vortexDamage, config.time[2], cid) end for b = 1, 3 do for a = 1, 20 do

    local pos = {x = getThingPos(cid).x + math.random(-4, 4), y = getThingPos(cid).y + math.random(-3, 3), z = getThingPos(cid).z} addEvent(doSendTornado, a * 75, cid, pos) end end Pull(cid, ret) vortexDamage(cid) doCreatureSetNoMove(cid, true) doChangeSpeed(cid, -getCreatureSpeed(cid)) doSetCreatureOutfit(cid, {lookType = config.outfit}, config.time[1] * 1000) setPlayerStorageValue(cid, config.storage, time) addEvent(function() if isCreature(cid) then

    doCreatureSetNoMove(cid, false) doRegainSpeed(cid) end end, config.time[1] * 1000)

    elseif spell == "Mud Rain" then

    local ret = {} ret.id = 0 ret.cd = 200 --Durao do silence, em milesimosdesegundos. ret.check = 0 ret.eff = 34 --Efeito do silence.

    ret.cond = "Silence"doDanoWithProtect(cid, psyDmg, getThingPosWithDebug(cid), selfArea2, min, max, 34)local eff = getSubName(cid, target) == "Shiny Onix" and 179 or 127 --alterado v1.6.1

    doAreaCombatHealth(cid, GROUNDDAMAGE, getThingPosWithDebug(cid), splash,-min, -max, 255)

    local sps = getThingPosWithDebug(cid)

  • 7/25/2019 Poke Moves

    34/128

    sps.x = sps.x+1sps.y = sps.y+1doSendMagicEffect(sps, eff)

    elseif spell == "Rollout" then

    local function setOutfit(cid, outfit) if isCreature(cid) and getCreatureCondition(cid, CONDITION_OUTFIT) ==true then if getCreatureOutfit(cid).lookType == outfit then doRemoveCondition(cid, CONDITION_OUTFIT) if getCreatureName(cid) == "Ditto" and pokes[getPlayerStorageValue(cid, 1010)] and getPlayerStorageValue(cid, 1010) ~= "Ditto" then if isSummon(cid) then local item = getPlayerSlotItem(getCreatureMaster(cid), 8) doSetCreatureOutfit(cid, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1) --alterado v1.8 end end

    end end end

    if RollOuts[getSubName(cid, target)] thendoSetCreatureOutfit(cid, RollOuts[getSubName(cid, target)], -1)--alterado v1.6.1

    end

    local outfit = getCreatureOutfit(cid).lookType

    local function roll(cid, outfit) if not isCreature(cid) then return true end if isSleeping(cid) then return true end if RollOuts[getSubName(cid, target)] then doSetCreatureOutfit(cid, RollOuts[getSubName(cid, target)], -1) --alterado v1.6.1

    end doDanoWithProtect(cid, ROCKDAMAGE, getThingPosWithDebug(cid), splash, -min, -max, 0) end

    setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 9000, cid, 3644587, -1) for r = 1, 11 do --8 addEvent(roll, 750 * r, cid, outfit) end addEvent(setOutfit, 9050, cid, outfit)elseif spell == "Shockwave" then

    local p = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    function sendAtk(cid, area, areaEff, eff)if isCreature(cid) then if not isSightClear(p, area, false) then return true end

    --testar o atk!! doAreaCombatHealth(cid, GROUNDDAMAGE, areaEff, 0, 0, 0, eff)

  • 7/25/2019 Poke Moves

    35/128

    doAreaCombatHealth(cid, GROUNDDAMAGE, area, whirl3, -min, -max, 255)endend

    for a = 0, 5 do

    local t = {[0] = {126, {x=p.x, y=p.y-(a+1), z=p.z}, {x=p.x+1, y=p.y-(a+1), z=p.z}},

    [1] = {124, {x=p.x+(a+1), y=p.y, z=p.z}, {x=p.x+(a+1), y=p.y+1, z=p.z}},[2] = {125, {x=p.x, y=p.y+(a+1), z=p.z}, {x=p.x+1, y=p.y+(a+1), z=p.z}},[3] = {123, {x=p.x-(a+1), y=p.y, z=p.z}, {x=p.x-(a+1), y=p.y+1, z=p.z}}}addEvent(sendAtk, 325*a, cid, t[d][2], t[d][3], t[d][1])end

    elseif spell == "Earth Power" then

    local eff = getSubName(cid, target) == "Shiny Onix" and 179 or 127 --alterado v1.6.1local eff = getSubName(cid, target) == "Crystal Steelix" and 179 or 127

    doAreaCombatHealth(cid, GROUNDDAMAGE, getThingPosWithDebug(cid), splash,-min, -max, 255)

    local sps = getThingPosWithDebug(cid)sps.x = sps.x+1sps.y = sps.y+1doSendMagicEffect(sps, eff)

    elseif spell == "Frost Power" then

    local eff = getSubName(cid, target) == "Shiny Onix" and 179 or 179 --alterado v1.6.1

    doAreaCombatHealth(cid, GROUNDDAMAGE, getThingPosWithDebug(cid), splash,

    -min, -max, 255)

    local sps = getThingPosWithDebug(cid)sps.x = sps.x+1sps.y = sps.y+1doSendMagicEffect(sps, eff)

    elseif spell == "Sheer Cold" then

    local ret = {}ret.id = 0ret.cd = 4

    ret.eff = 43ret.check = 0ret.first = trueret.cond = "Paralyze"

    local function sendAtk(cid)if isCreature(cid) thendoRemoveCondition(cid, CONDITION_OUTFIT)setPlayerStorageValue(cid, 9658783, -1)for i = 0, 4 do

  • 7/25/2019 Poke Moves

    36/128

    addEvent(doMoveInArea2, i*400, cid, 43, areas[i+1], ICEDAMAGE, min, max, spell, ret) addEvent(doMoveInArea2, i*410, cid, 43, areas[i+1], ICEDAMAGE, 0, 0, spell)endendend

    setPlayerStorageValue(cid, 9658783, 1)addEvent(sendAtk, 2000, cid)

    elseif spell == "Earthquake" then

    local eff = getSubName(cid, target) == "Shiny Onix" and 175 or 118 --alterado v1.6.1local eff = getSubName(cid, target) == "Crystal Steelix" and 175 or 118local function doQuake(cid)if not isCreature(cid) then return false endif isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return false endif isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return trueend doMoveInArea2(cid, eff, confusion, GROUNDDAMAGE, min, max, spell)

    endtimes = {0, 500, 1000, 1500, 2300, 2800, 3300, 3800, 4600, 5100, 5600, 6100, 6900, 7400, 7900, 8400, 9200, 10000}

    setPlayerStorageValue(cid, 3644587, 1)addEvent(setPlayerStorageValue, 10000, cid, 3644587, -1)for i = 1, #times do --alterado v1.4 addEvent(doQuake, times[i], cid)end

    elseif spell == "Stomp" then

    local ret = {} ret.id = 0 ret.cd = 9 ret.check = 0 ret.eff = 34 ret.spell = spell ret.cond = "Stun"

    doMoveInArea2(cid, 118, stomp, GROUNDDAMAGE, min, max, spell, ret)elseif spell == "Toxic Spikes" then

    local function doToxic(cid, target) if not isCreature(cid) or not isCreature(target) then return true end --alterado v1.7 doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 15) doDanoInTargetWithDelay(cid, target, POISONDAMAGE, min, max, 114) --alterado v1.7 end

    setPlayerStorageValue(cid, 3644587, 1)

  • 7/25/2019 Poke Moves

    37/128

    addEvent(setPlayerStorageValue, 300, cid, 3644587, -1) addEvent(doToxic, 0, cid, target)

    addEvent(doToxic, 300, cid, target)elseif spell == "Horn Drill" then

    local function doHorn(cid, target) if not isCreature(cid) or not isCreature(target) then return true end --alterado v1.7 doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 25) doDanoInTargetWithDelay(cid, target, NORMALDAMAGE, min, max, 3) --alterado v1.7 end

    setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 300, cid, 3644587, -1)

    addEvent(doHorn, 0, cid, target) addEvent(doHorn, 300, cid, target)elseif spell == "Doubleslap" then

    doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 148)

    elseif spell == "Lovely Kiss" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 16)

    local ret = {} ret.id = target ret.cd = 9 ret.check = getPlayerStorageValue(target, conds["Stun"]) ret.eff = 147 ret.spell = spell ret.cond = "Stun"

    addEvent(doMoveDano2, 100, cid, target, NORMALDAMAGE, 0, 0, ret, spell)elseif spell == "Sing" then

    local ret = {}ret.id = 0ret.cd = math.random(6, 10)ret.check = 0ret.first = trueret.cond = "Sleep" --alterado v1.6

    doMoveInArea2(cid, 33, selfArea1, NORMALDAMAGE, 0, 0, spell, ret)

    elseif spell == "Multislap" then

    doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(cid), splash,-min, -max, 3)elseif spell == "Metronome" then

    local spells = {"Shadow Storm", "Electric Storm", "Magma Storm", "Blizzard", "Meteor Mash", "Leaf Storm", "Hydropump", "Falling Rocks"}

  • 7/25/2019 Poke Moves

    38/128

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 161)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)elseif spell == "Sketch 1" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 1) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Psy Pulse", "Shadow Ball", "Thunder Bolt", "Ember", "Rock Throw", "Razor Leaf", "Bubbles", "Ice Shards", "Egg Bomb", "Poison Bomb"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)

    endelseif spell == "Sketch 2" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 2) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Mud Bomb", "Cyber Pulse", "Dark Pulse", "Rock Slide", "MagicalLeaf", "Fireball", "Waterball", "Feather Dance"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

  • 7/25/2019 Poke Moves

    39/128

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)endelseif spell == "Sketch 3" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 3) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Poison Gas", "Earthquake", "Petal Tornado", "Electro Field", "Flame Circle"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)endelseif spell == "Sketch 4" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 4) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Thunder", "Night Slash", "Confusion", "Air Slash", "Confusion","Night Shade"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)endelseif spell == "Sketch 5" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 5) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Solar Beam", "Bullet Seed", "Raging Blast", "Fire Blast", "Bubb

  • 7/25/2019 Poke Moves

    40/128

    le Blast", "Hydro Cannon", "Pin Missile"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)end

    elseif spell == "Sketch 6" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 6) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Shockwave", "Petal Dance", "Hyper Beam", "Zap Cannon", "Aurora

    Beam", "Ice Beam", "Ground Chop"} local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill)

    endaddEvent(doMetronome, 200, cid, randommove)

    endelseif spell == "Sketch 7" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 7) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Fear", "Sunny Day", "Scary Face", "Skull Bash", "Cotton Spore","Sleep Powder","Healing Wish"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

  • 7/25/2019 Poke Moves

    41/128

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)endelseif spell == "Sketch 8" then if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then setPlayerStorageValue(cid, 18554, 8) addEvent(function() if isCreature(cid) then setPlayerStorageValue(cid, 18554, -1) end end, 3000) elselocal spells = {"Reflect", "Charm", "Agility", "Safeguard", "Synthesis", "Emergency Call", "Healarea", "Sing", "Moonblast"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)end

    elseif spell == "Sketch 9" then

    local spells = {"Psychic", "Epicenter", "Mortal Gas", "Hydropump", "Muddy Water"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)

    elseif spell == "Sketch 10" then

    local spells = {"Focus Blast", "Blizzard", "Shadow Storm", "Falling Rocks", "Meteor Mash", "Electric Storm", "Hydro Dance", "Magma Storm", "Draco Meteor", "PsyImpact"}

    local random = math.random(1, #spells)

    local randommove = spells[random]local pos = getThingPosWithDebug(cid)

  • 7/25/2019 Poke Moves

    42/128

    pos.y = pos.y - 1

    doSendMagicEffect(pos, 0)

    local function doMetronome(cid, skill)if not isCreature(cid) then return true end

    docastspell(cid, skill) end

    addEvent(doMetronome, 200, cid, randommove)elseif spell == "Focus" or spell == "Charge" or spell == "Swords Dance" then --alterado v1.4 if spell == "Charge" then doSendAnimatedText(getThingPosWithDebug(cid), "CHARGE", 168) doSendMagicEffect(getThingPosWithDebug(cid), 177) elseif spell == "Swords Dance" then doSendMagicEffect(getThingPosWithDebug(cid), 132)

    else doSendAnimatedText(getThingPosWithDebug(cid), "FOCUS", 144) doSendMagicEffect(getThingPosWithDebug(cid), 132) end setPlayerStorageValue(cid, 253, 1)

    elseif spell == "Growth" then --alterado v1.4 if spell == "Growth" then doSendAnimatedText(getThingPosWithDebug(cid), "Growth", 168) doSendMagicEffect(getThingPosWithDebug(cid), 177) end setPlayerStorageValue(cid, 253, 1)

    --[[elseif spell == "Flame Wheel" then --alterado v1.8 o atk ta lapra baixo agora...

    local function sendFireEff(cid, dir) if not isCreature(cid) then return true end if isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then returnfalse end if isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then returntrue end doDanoWithProtect(cid, FIREDAMAGE, getPosByDir(getThingPosWithDebug(cid),dir), 0, -min, -max, 15)

    end

    local function doWheel(cid)if not isCreature(cid) then return true endlocal t = {

    [1] = SOUTH, [2] = SOUTHEAST, [3] = EAST, [4] = NORTHEAST, [5] = NORTH, --alterado! [6] = NORTHWEST, [7] = WEST, [8] = SOUTHWEST,

    }for a = 1, 8 do

  • 7/25/2019 Poke Moves

    43/128

    addEvent(sendFireEff, a * 140, cid, t[a])end

    end

    doWheel(cid, false, cid) ]]elseif spell == "Hyper Voice" then

    local ret = {} ret.id = 0 ret.cd = 9 ret.check = 0 ret.eff = 22 ret.spell = spell ret.cond = "Stun"

    doMoveInArea2(cid, 22, tw1, NORMALDAMAGE, min, max, spell, ret)

    elseif spell == "Restore" or spell == "Selfheal" then

    local min = (getCreatureMaxHealth(cid) * 75) / 100local max = (getCreatureMaxHealth(cid) * 85) / 100

    local function doHealArea(cid, min, max)

    local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid)) end if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount) doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) end end

    doSendMagicEffect(getThingPosWithDebug(cid), 132) doHealArea(cid, min, max)

    elseif spell == "Aqua Ring" then

    local min = (getCreatureMaxHealth(cid) * 5) / 100local max = (getCreatureMaxHealth(cid) * 7) / 100

    local function doHealOverTime(cid) local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid))

    return false end if getCreatureHealth(cid) < getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount)

    doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65)doSendMagicEffect(getThingPosWithDebug(cid), 132) end end

    for a = 0, 24 doaddEvent(doHealOverTime, 500*a, cid) end

  • 7/25/2019 Poke Moves

    44/128

    elseif spell == "Healarea" then

    local min = (getCreatureMaxHealth(cid) * 50) / 100local max = (getCreatureMaxHealth(cid) * 60) / 100

    local function doHealArea(cid, min, max)

    local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid)) end if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount) doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) end end

    local pos = getPosfromArea(cid, heal) local n = 0 doHealArea(cid, min, max)

    while n < #pos do n = n+1 thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253}

    local pid = getThingFromPosWithProtect(thing)doSendMagicEffect(pos[n], 12)

    if isCreature(pid) then if isSummon(cid) and (isSummon(pid) or isPlayer(pid)) then if canAttackOther(cid, pid) == "Cant" then doHealArea(pid, min, max) end

    elseif ehMonstro(cid) and ehMonstro(pid) then doHealArea(pid, min, max) end end

    end

    elseif spell == "Milk Drink" then

    local min = (getCreatureMaxHealth(cid) * 50) / 100local max = (getCreatureMaxHealth(cid) * 60) / 100

    local function doHealArea(cid, min, max)

    local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid)) end if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount)

    doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) end end

    local pos = getPosfromArea(cid, heal) local n = 0 doHealArea(cid, min, max)

    while n < #pos do n = n+1

  • 7/25/2019 Poke Moves

    45/128

    thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253} local pid = getThingFromPosWithProtect(thing)

    doSendMagicEffect(pos[n], 12) if isCreature(pid) then if isSummon(cid) and (isSummon(pid) or isPlayer(pid)) then if canAttackOther(cid, pid) == "Cant" then doHealArea(pid, min, max) end

    elseif ehMonstro(cid) and ehMonstro(pid) then doHealArea(pid, min, max) end end

    endelseif spell == "Toxic" thendoMoveInArea2(cid, 114, reto5, POISONDAMAGE, min, max, spell)

    elseif spell == "Absorb" then

    local life = getCreatureHealth(target)

    doAreaCombatHealth(cid, GRASSDAMAGE, getThingPosWithDebug(target), 0, -m

    in, -max, 14)local newlife = life - getCreatureHealth(target)

    doSendMagicEffect(getThingPosWithDebug(cid), 14)if newlife >= 1 then doCreatureAddHealth(cid, newlife)

    doSendAnimatedText(getThingPosWithDebug(cid), "+"..newlife.."", 32)end

    elseif spell == "Poison Bomb" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),

    14) doDanoWithProtectWithDelay(cid, target, POISONDAMAGE, min, max, 20, bombWee2)

    elseif spell == "Poison Gas" then

    local dmg = isSummon(cid) and getMasterLevel(cid)+getPokemonBoost(cid) or getPokemonLevel(cid)

    local ret = {id = 0, cd = 13, eff = 34, check = 0, spell = spell, cond = "Miss"}local ret2 = {id = 0, cd = 13, check = 0, damage = dmg, cond = "Poison"}

    --rever isso ainda!!

    local function gas(cid) doMoveInArea2(cid, 114, confusion, POISONDAMAGE, 0, 0, spell, ret) doMoveInArea2(cid, 0, confusion, POISONDAMAGE, min, max, spel

    l)end

    times = {0, 500, 1000, 1500, 2300, 2800, 3300, 3800, 4600, 5100, 5600, 6100, 6900, 7400, 7900, 8400, 9200, 10000}

    for i = 1, #times do

  • 7/25/2019 Poke Moves

    46/128

    addEvent(gas, times[i], cid)end

    elseif spell == "Petal Dance" then

    doMoveInAreaMulti(cid, 21, 245, bullet, bulletDano, GRASSDAMAGE, min, max)

    elseif spell == "Dynamic Punch" then

    local pos = getThingPosWithDebug(cid)local areas = {rock5, rock4, rock3, rock2, rock1, rock5, rock4, rock3, rock2, rock1}

    for i = 0, 9 do addEvent(doMoveInArea2, i*400, cid, 112, areas[i+1], FIGHTINGDAMAGE, min, max, spell) addEvent(doMoveInArea2, i*410, cid, 112, areas[i+1], FIGHTINGDAMAGE, 0, 0, spell)end

    elseif spell == "Revenge" then

    local function doRevenge(cid)if not isCreature(cid) then return false endif isSleeping(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return false endif isWithFear(cid) and getPlayerStorageValue(cid, 3644587) >= 1 then return trueendlocal rev = getThingPosWithDebug(cid)rev.x = rev.x+1rev.y = rev.y+1doSendMagicEffect(rev, 99)

    doAreaCombatHealth(cid, FIGHTINGDAMAGE, getThingPosWithDebug(cid), splash, -min, -max, 255)

    end

    times = {0, 500, 1000, 1500, 2300}

    setPlayerStorageValue(cid, 3644587, 1)addEvent(setPlayerStorageValue, 10000, cid, 3644587, -1)for i = 1, #times do --alterado v1.4addEvent(doRevenge, times[i], cid)end

    elseif spell == "Close Combat" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 26)doDanoInTargetWithDelay(cid, target, FIGHTINGDAMAGE, -min, -max, 237) -

    -alterado v1.7doSendAnimatedText(getThingPosWithDebug(cid), "FOCUS", 144)setPlayerStorageValue(cid, 253, 1)

    elseif spell == "Sand Storm" then

    local master = isSummon(cid) and getCreatureMaster(cid) or cid

  • 7/25/2019 Poke Moves

    47/128

    ------------local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 34ret.cond = "Silence"---local function doFall(cid)for rocks = 1, 42 do --62 addEvent(fall, rocks*35, cid, master, GROUNDDAMAGE, 22, 158)endend---local function doRain(cid)if isSummon(cid) then

    doCureBallStatus(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "all")end --cura statusdoCureStatus(cid, "all")---setPlayerStorageValue(cid, 253, 1) --focusdoSendMagicEffect(getThingPosWithDebug(cid), 132)---doMoveInArea2(cid, 0, confusion, GROUNDDAMAGE, 0, 0, spell, ret)

    end---addEvent(doFall, 200, cid)addEvent(doRain, 1000, cid)

    elseif spell == "Powder Snow" thensnowP = getThingPosWithDebug(cid)

    local ret = {} ret.id = 0 ret.cd = 10 ret.check = 0

    ret.eff = 43 ret.spell = spell ret.cond = "Slow"

    doMoveInArea2(cid, 0, check, ICEDAMAGE, min, max, spell, ret) doSendMagicEffect({x = snowP.x + 1, y = snowP.y, z = snowP.z}, 206)

    elseif spell == "Slash" then

    doAreaCombatHealth(cid, NORMALDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 159)

    elseif spell == "X-Scissor" then

    local a = getThingPosWithDebug(cid)local X = {{{x = a.x+1, y = a.y, z = a.z}, 16}, --norte{{x = a.x+2, y = a.y+1, z = a.z}, 221}, --leste{{x = a.x+1, y = a.y+2, z = a.z}, 223}, --sul{{x = a.x, y = a.y+1, z = a.z}, 243}, --oeste}

  • 7/25/2019 Poke Moves

    48/128

    local pos = X[mydir+1]

    for b = 1, 3 do addEvent(doSendMagicEffect, b * 70, pos[1], pos[2])end

    doMoveInArea2(cid, 2, xScissor, BUGDAMAGE, min, max, spell)

    elseif spell == "Psychic" then

    doDanoWithProtect(cid, psyDmg, getThingPosWithDebug(cid), selfArea2, min, max, 133)

    elseif spell == "Pay Day" then

    --alterado v1.7local function doThunderFall(cid, frompos, target)

    if not isCreature(target) or not isCreature(cid) then return true end

    local pos = getThingPosWithDebug(target)local ry = math.abs(frompos.y - pos.y)doSendDistanceShoot(frompos, getThingPosWithDebug(target), 39)addEvent(doDanoInTarget, ry * 11, cid, target, NORMALDAMAGE, min

    , max, 28) --alterado v1.7

    endlocal function doThunderUp(cid, target)

    if not isCreature(target) or not isCreature(cid) then return true end

    local pos = getThingPosWithDebug(target)local mps = getThingPosWithDebug(cid)local xrg = math.floor((pos.x - mps.x) / 2)local topos = mpstopos.x = topos.x + xrglocal rd = 7topos.y = topos.y - rddoSendDistanceShoot(getThingPosWithDebug(cid), topos, 39)

    addEvent(doThunderFall, rd * 49, cid, topos, target)end

    setPlayerStorageValue(cid, 3644587, 1)addEvent(setPlayerStorageValue, 350, cid, 3644587, -1)

    for thnds = 1, 2 doaddEvent(doThunderUp, thnds * 155, cid, target)

    end

    elseif spell == "Psywave" then

    doMoveInArea2(cid, 133, db1, psyDmg, min, max, spell)

    elseif spell == "Triple Kick" or spell == "Triple Kick Lee" then

    doDanoWithProtect(cid, FIGHTINGDAMAGE, getThingPosWithDebug(target), 0,-min, -max, 110)

    elseif spell == "Karate Chop" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),39)

    doDanoInTargetWithDelay(cid, target, FIGHTINGDAMAGE, -min, -max, 113) -

  • 7/25/2019 Poke Moves

    49/128

    -alterado v1.7

    elseif spell == "Ground Chop" then

    local p = getThingPosWithDebug(cid)local d = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)

    function sendAtk(cid, area, area2, eff) --alterado v1.6if isCreature(cid) then if not isSightClear(p, area, false) then return true end doAreaCombatHealth(cid, FIGHTINGDAMAGE, area, 0, 0, 0, eff)

    doAreaCombatHealth(cid, FIGHTINGDAMAGE, area2, whirl3, -min, -max, 255) --alterado v1.6endend

    for a = 0, 4 do

    local t = {[0] = {99, {x=p.x+1, y=p.y-(a+1), z=p.z}, {x=p.x, y=p.y-(a+1), z=p.z}},--alterado v1.6

    [1] = {99, {x=p.x+(a+2), y=p.y+1, z=p.z}, {x=p.x+(a+1), y=p.y, z=p.z}},[2] = {99, {x=p.x+1, y=p.y+(a+2), z=p.z}, {x=p.x, y=p.y+(a+1), z=p.z}},

    [3] = {99, {x=p.x-(a+1), y=p.y+1, z=p.z}, {x=p.x-(a+1), y=p.y, z=p.z}}}addEvent(sendAtk, 270*a, cid, t[d][2], t[d][3], t[d][1]) --alterado v1.6end

    elseif spell == "Mega Punch" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), 39)

    doDanoInTargetWithDelay(cid, target, FIGHTINGDAMAGE, -min, -max, 112) --alterado v1.7elseif spell == "Tri Flames" then

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 39ret.cond = "Silence"

    doMoveInArea2(cid, 6, triflames, FIREDAMAGE, min, max, spell, ret)elseif spell == "War Dog" then

    local ret = {}

    ret.id = cid ret.cd = 15 ret.eff = 28 ret.check = 0 ret.buff = spell ret.first = true

    doCondition2(ret)elseif spell == "Hypnosis" then

  • 7/25/2019 Poke Moves

    50/128

    local ret = {}ret.id = targetret.cd = math.random(6, 9)ret.check = getPlayerStorageValue(target, conds["Sleep"])ret.first = trueret.cond = "Sleep"

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),24) addEvent(doMoveDano2, 150, cid, target, PSYCHICDAMAGE, 0, 0, ret, spell)

    elseif spell == "Dizzy Punch" then

    local rounds = getPokemonLevel(cid) / 12 rounds = rounds + 2

    local ret = {} ret.id = target ret.check = getPlayerStorageValue(target, conds["Confusion"]) ret.cd = rounds ret.cond = "Confusion"

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),

    26) doDanoWithProtect(cid, FIGHTINGDAMAGE, getThingPosWithDebug(target), 0, -min,-max, 112) addEvent(doMoveDano2, 50, cid, target, NORMALDAMAGE, 0, 0, ret, spell)

    elseif spell == "Ice Punch" thenlocal ret = {}ret.id = targetret.cd = 9ret.eff = 43ret.check = getPlayerStorageValue(target, conds["Slow"])ret.first = true

    ret.cond = "Slow"

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),28) doSendMagicEffect(getThingPosWithDebug(target), 112) doDanoWithProtectWithDelay(cid, target, ICEDAMAGE, min, max, 43) addEvent(doMoveDano2, 50, cid, target, ICEDAMAGE, 0, 0, ret, spell)

    elseif spell == "Ice Beam" then

    local a = isCreature(target) and getCreatureDirectionToTarget(cid, target) or getCreatureLookDir(cid)local p = getThingPosWithDebug(cid)

    local t = {[0] = {97, {x=p.x+1, y=p.y-1, z=p.z}},[1] = {96, {x=p.x+6, y=p.y+1, z=p.z}},[2] = {97, {x=p.x+1, y=p.y+6, z=p.z}},[3] = {96, {x=p.x-1, y=p.y+1, z=p.z}},}

    local ret = {}ret.id = 0ret.cd = 9

  • 7/25/2019 Poke Moves

    51/128

    ret.eff = 43ret.check = 0ret.first = trueret.cond = "Slow"

    doMoveInArea2(cid, 0, triplo6, ICEDAMAGE, min, max, spell, ret)doSendMagicEffect(t[a][2], t[a][1])

    elseif spell == "Psy Pulse" or spell == "Cyber Pulse" or spell == "Dark Pulse" then

    damage = skill == "Dark Pulse" and DARKDAMAGE or psyDmg

    local function doPulse(cid, eff)if not isCreature(cid) then return true end doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),3) doDanoInTargetWithDelay(cid, target, damage, min, max, eff) --alterado v1.7end

    if spell == "Cyber Pulse" then eff = 11

    elseif spell == "Dark Pulse" then eff = 222 --efeito n eh esse mas... ;p else eff = 133 end

    addEvent(doPulse, 0, cid, eff)addEvent(doPulse, 250, cid, eff)

    elseif spell == "Psyusion" then

    local rounds = math.random(4, 7) rounds = rounds + math.floor(getPokemonLevel(cid) / 35)

    local eff = {136, 133, 136, 133, 137} local area = {psy1, psy2, psy3, psy4, psy5}

    local ret = {} ret.id = 0 ret.check = 0 ret.cd = rounds ret.cond = "Confusion"

    setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 4*400, cid, 3644587, -1) for i = 0, 4 do addEvent(doMoveInArea2, i*400, cid, eff[i+1], area[i+1], psyDmg, min,

    max, spell, ret) endelseif spell == "Triple Punch" then

    doDanoWithProtect(cid, FIGHTINGDAMAGE, getThingPosWithDebug(target), 0,-min, -max, 110)

    elseif spell == "Fist Machine" then

  • 7/25/2019 Poke Moves

    52/128

    local mpos = getThingPosWithDebug(cid)local b = isCreature(target) and getCreatureDirectionToTarget(cid, targe

    t) or getCreatureLookDir(cid)local effect = 0local xvar = 0local yvar = 0

    if b == SOUTH theneffect = 218yvar = 2

    elseif b == NORTH theneffect = 217

    elseif b == WEST theneffect = 216

    elseif b == EAST theneffect = 215xvar = 2

    end

    mpos.x = mpos.x + xvarmpos.y = mpos.y + yvar

    doSendMagicEffect(mpos, effect)doMoveInArea2(cid, 0, machine, FIGHTINGDAMAGE, min, max, spell)

    elseif spell == "Destroyer Hand" then

    doMoveInAreaMulti(cid, 26, 111, bullet, bulletDano, FIGHTINGDAMAGE, min,max)elseif spell == "Rock Throw" then

    local effD = getSubName(cid, target) == "Shiny Onix" and 0 or 11local eff = getSubName(cid, target) == "Shiny Onix" and 176 or 44 --alterado v1.6.1local eff = getSubName(cid, target) == "Crystal Steelix" and 176 or 44

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target), effD)doDanoInTargetWithDelay(cid, target, ROCKDAMAGE, min, max, eff) --altera

    do v1.7

    elseif spell == "Rock Slide" or spell == "Stone Edge" then

    atk = {["Rock Slide"] = {11, 44, 0, 176},["Stone Edge"] = {11, 239}}

    local effD = getSubName(cid, target) == "Shiny Onix" and atk[spell][3] or atk[sp

    ell][1]local eff = getSubName(cid, target) == "Shiny Onix" and atk[spell][4] or atk[spell][2]local eff = getSubName(cid, target) == "Crystal Steelix" and atk[spell][5] or atk[spell][3] --alterado v1.6.1

    --alterado v1.7local function doRockFall(cid, frompos, target)

    if not isCreature(target) or not isCreature(cid) then return true end

  • 7/25/2019 Poke Moves

    53/128

    local pos = getThingPosWithDebug(target)local ry = math.abs(frompos.y - pos.y)doSendDistanceShoot(frompos, getThingPosWithDebug(target), effD)addEvent(doDanoInTarget, ry * 11, cid, target, ROCKDAMAGE, min,

    max, eff) --alterado v1.7end

    local function doRockUp(cid, target)if not isCreature(target) or not isCreature(cid) then re

    turn true endlocal pos = getThingPosWithDebug(target)local mps = getThingPosWithDebug(cid)local xrg = math.floor((pos.x - mps.x) / 2)local topos = mpstopos.x = topos.x + xrglocal rd = 7topos.y = topos.y - rddoSendDistanceShoot(getThingPosWithDebug(cid), topos, effD)addEvent(doRockFall, rd * 49, cid, topos, target)end

    setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 350, cid, 3644587, -1)

    for thnds = 1, 2 do

    addEvent(doRockUp, thnds * 155, cid, target)end

    elseif spell == "Falling Rocks" then

    local effD = getSubName(cid, target) == "Shiny Onix" and 0 or 11local eff = getSubName(cid, target) == "Shiny Onix" and 176 or 44local eff = getSubName(cid, target) == "Crystal Steelix" and 176 or 44

    local master = isSummon(cid) and getCreatureMaster(cid) or cid------------

    local function doFall(cid)

    for rocks = 1, 62 do addEvent(fall, rocks*35, cid, master, ROCKDAMAGE, effD, eff)endend

    for up = 1, 10 doaddEvent(upEffect, up*75, cid, effD)

    endaddEvent(doFall, 450, cid)addEvent(doDanoWithProtect, 1400, cid, ROCKDAMAGE, getThingPosWithDebug(cid), waterarea, -min, -max, 0)

    elseif spell == "Selfdestruct" then

    local function death(cid)if isCreature(cid) then if pokeHaveReflect(cid) then return true end --alt

    erado v1.6 doCreatureAddHealth(cid, -getCreatureMaxHealth(cid))end

    end

    doMoveInArea2(cid, 5, selfArea1, NORMALDAMAGE, min, max, spell) --alt

  • 7/25/2019 Poke Moves

    54/128

    erado v1.6 addEvent(death, 300, cid)

    elseif spell == "Crusher Stomp" thenlocal pL = getThingPosWithDebug(cid)pL.x = pL.x+5pL.y = pL.y+1-----------------local pO = getThingPosWithDebug(cid)pO.x = pO.x-3pO.y = pO.y+1------------------local pN = getThingPosWithDebug(cid)pN.x = pN.x+1pN.y = pN.y+5-----------------local pS = getThingPosWithDebug(cid)pS.x = pS.x+1pS.y = pS.y-3

    local po = {pL, pO, pN, pS}local po2 = {{x = pL.x, y = pL.y-1, z = pL.z},

    {x = pO.x, y = pO.y-1, z = pO.z},{x = pN.x-1, y = pN.y, z = pN.z},{x = pS.x-1, y = pS.y, z = pS.z},}

    local ret = {}ret.id = 0ret.cd = 9ret.check = 0ret.eff = 34ret.spell = spellret.cond = "Stun"

    for i = 1, 4 do doSendMagicEffect(po[i], 127) doAreaCombatHealth(cid, GROUNDDAMAGE, po2[i], crusher, -min, -max, 255)enddoMoveInArea2(cid, 118, stomp, GROUNDDAMAGE, min, max, spell, ret)

    elseif spell == "Water Pulse" then

    doDanoWithProtect(cid, WATERDAMAGE, getThingPosWithDebug(cid), selfArea2, min, max, 155)

    elseif spell == "Sonicboom" then

    local function doBoom(cid)if not isCreature(cid) then return true end doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),33) doDanoInTargetWithDelay(cid, target, NORMALDAMAGE, min, max, 3) --alteradov1.7end

    addEvent(doBoom, 0, cid) addEvent(doBoom, 250, cid)

  • 7/25/2019 Poke Moves

    55/128

    elseif spell == "Stickmerang" then

    doSendDistanceShoot(getThingPosWithDebug(cid), getThingPosWithDebug(target),34) doDanoInTargetWithDelay(cid, target, FLYINGDAMAGE, min, max, 212) --alteradov1.7

    elseif spell == "Stickslash" then

    local function sendStickEff(cid, dir) if not isCreature(cid) then return true end doAreaCombatHealth(cid, FLYINGDAMAGE, getPosByDir(getThingPosWithDebug(cid), dir), 0, -min, -max, 212)

    end

    local function doStick(cid)if not isCreature(cid) then return true endlocal t = { [1] = SOUTHWEST, [2] = SOUTH, [3] = SOUTHEAST, [4] = EAST, [5] = NORTHEAST,

    [6] = NORTH, [7] = NORTHWEST, [8] = WEST, [9] = SOUTHWEST,

    }for a = 1, 9 do

    addEvent(sendStickEff, a * 140, cid, t[a])end

    end

    doStick(cid, false, cid)elseif spell == "Stick Throw" then

    local area = {Throw01, Throw02, Throw03, Throw04, Throw03, Throw02, Throw01}

    for i = 0, 6 do addEvent(doMoveInArea2, i*400, cid, 212, area[i+1], FLYINGDAMAGE, min, max,spell)end

    elseif spell == "Cannon Ball" then

    local area = {Throw01, Throw02, Throw03, Throw04, Throw03, Throw02, Throw01}

    for i = 0, 6 do

    addEvent(doMoveInArea2, i*400, cid, 100, area[i+1], GROUNDDAMAGE, min, max,spell)end

    elseif spell == "Pluck" then

    doSendDistanceShoot(getThingPosWithDebug(cid), get