Login.lua
local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
--alterado v1.6 tabelas soh em configuration.lua;
function onLogin(cid)
if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 149 then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
else
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 30)
end
doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0)
if getPlayerStorageValue(cid, 53502) >= 1 then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
doPlayerSendTextMessage(cid, 27, "You have a Master Bless.")
end
doCreatureSetDropLoot(cid, false)
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
str = "Seu Personagem sera salvo a cada 30 segundos para evitar rollbacks"
else
str = str
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
if getCreatureName(cid) == "Account Manager" then
local outfit = {}
if accountManagerRandomPokemonOutfit then
outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}
else
outfit = accountManagerOutfit
end
doSetCreatureOutfit(cid, outfit, -1)
return true
end
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
local outfit = {}
if getPlayerVocation(cid) == 0 then
doPlayerSetMaxCapacity(cid, 0)
doPlayerSetVocation(cid, 1)
setCreatureMaxMana(cid, 6)
doPlayerAddSoul(cid, -getPlayerSoul(cid))
setPlayerStorageValue(cid, 19898, 0)
if getCreatureOutfit(cid).lookType == 128 then
outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}
elseif getCreatureOutfit(cid).lookType == 136 then
outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}
end
doCreatureChangeOutfit(cid, outfit)
end
registerCreatureEvent(cid, "dropStone")
registerCreatureEvent(cid, "ShowPokedex") --alterado v1.6
registerCreatureEvent(cid, "ClosePokedex") --alterado v1.6
registerCreatureEvent(cid, "WatchTv")
registerCreatureEvent(cid, "StopWatchingTv")
registerCreatureEvent(cid, "WalkTv")
registerCreatureEvent(cid, "RecordTv")
registerCreatureEvent(cid, "PlayerLogout")
registerCreatureEvent(cid, "WildAttack")
registerCreatureEvent(cid, "Idle")
registerCreatureEvent(cid, "PokemonIdle")
registerCreatureEvent(cid, "EffectOnAdvance")
registerCreatureEvent(cid, "GeneralConfiguration")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "LookSystem")
registerCreatureEvent(cid, "T1")
registerCreatureEvent(cid, "T2")
registerCreatureEvent(cid, "task_count")
registerCreatureEvent(cid, "pokemons")
addEvent(doSendAnimatedText, 500, getThingPosWithDebug(cid), "Bem Vindo!!", COLOR_BURN)
if getPlayerStorageValue(cid, 99284) == 1 then
setPlayerStorageValue(cid, 99284, -1)
end
if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then
setPlayerStorageValue(cid, 6598754, -1)
setPlayerStorageValue(cid, 6598755, -1)
doRemoveCondition(cid, CONDITION_OUTFIT) --alterado v1.9 \/
doTeleportThing(cid, posBackPVP, false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
end
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
--///////////////////////////////////////////////////////////////////////////--
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
if not tonumber(getPlayerStorageValue(cid, storages)) then
if s == 3 then
setPlayerStorageValue(cid, storages, 1)
elseif s == 4 then
setPlayerStorageValue(cid, storages, -1)
else
if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then
setPlayerStorageValue(cid, storages, 1)
else
setPlayerStorageValue(cid, storages, -1)
end
end
doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright")
end
end
--/////////////////////////////////////////////////////////////////////////--
if getPlayerStorageValue(cid, 17000) >= 1 then -- fly
local item = getPlayerSlotItem(cid, 8)
local poke = getItemAttribute(item.uid, "poke")
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
doRemoveCondition(cid, CONDITION_OUTFIT)
doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1)
local apos = getFlyingMarkedPos(cid)
apos.stackpos = 0
if getTileThingByPos(apos).itemid <= 2 then
doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE)
doCreateItem(460, 1, getFlyingMarkedPos(cid))
end
doTeleportThing(cid, apos, false)
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then
sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8
end
local posicao = getTownTemplePosition(getPlayerTown(cid))
markFlyingPos(cid, posicao)
elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf
local item = getPlayerSlotItem(cid, 8)
local poke = getItemAttribute(item.uid, "poke")
doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v1.6
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then
sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8
end
elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride
local item = getPlayerSlotItem(cid, 8)
local poke = getItemAttribute(item.uid, "poke")
if rides[poke] then
doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
doRemoveCondition(cid, CONDITION_OUTFIT)
doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1)
if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then
sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v1.8
end
else
setPlayerStorageValue(cid, 17001, -1)
doRegainSpeed(cid)
end
local posicao2 = getTownTemplePosition(getPlayerTown(cid))
markFlyingPos(cid, posicao2)
elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive
if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then
setPlayerStorageValue(cid, 13008, 0)
doRegainSpeed(cid)
doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end
if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)
else
doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)
end
doChangeSpeed(cid, 800)
elseif getPlayerStorageValue(cid, 5700) > 0 then --bike
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, getPlayerStorageValue(cid, 5700)) --alterado v1.8
if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = 1394}, -1)
else
doSetCreatureOutfit(cid, {lookType = 1393}, -1)
end
elseif getPlayerStorageValue(cid, 75846) >= 1 then --alterado v1.9 \/
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
setPlayerStorageValue(cid, 75846, -1)
sendMsgToPlayer(cid, 20, "You have been moved to your town!")
else
doRegainSpeed(cid)
end
if getPlayerStorageValue(cid, 22545) >= 1 then
setPlayerStorageValue(cid, 22545, -1)
doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)
setPlayerRecordWaves(cid)
end
if useKpdoDlls then
doUpdateMoves(cid)
doUpdatePokemonsBar(cid)
onPokeHealthChange(cid)
end
doPlayerChangeModeIcon(cid)
return true
end
Exp2.0.lua
local combats = { --alterado v1.6 \/
[PSYCHICDAMAGE] = {cor = COLOR_PSYCHIC},
[GRASSDAMAGE] = {cor = COLOR_GRASS},
[POISONEDDAMAGE] = {cor = COLOR_GRASS},
[FIREDAMAGE] = {cor = COLOR_FIRE2},
[BURNEDDAMAGE] = {cor = COLOR_BURN},
[WATERDAMAGE] = {cor = COLOR_WATER},
[ICEDAMAGE] = {cor = COLOR_ICE},
[NORMALDAMAGE] = {cor = COLOR_NORMAL},
[FLYDAMAGE] = {cor = COLOR_FLYING},
[GHOSTDAMAGE] = {cor = COLOR_GHOST},
[GROUNDDAMAGE] = {cor = COLOR_GROUND},
[ELECTRICDAMAGE] = {cor = COLOR_ELECTRIC},
[ROCKDAMAGE] = {cor = COLOR_ROCK},
[BUGDAMAGE] = {cor = COLOR_BUG},
[FIGHTDAMAGE] = {cor = COLOR_FIGHTING},
[DRAGONDAMAGE] = {cor = COLOR_DRAGON},
[POISONDAMAGE] = {cor = COLOR_POISON},
[DARKDAMAGE] = {cor = COLOR_DARK},
[STEELDAMAGE] = {cor = COLOR_STEEL},
[MIRACLEDAMAGE] = {cor = COLOR_PSYCHIC},
[DARK_EYEDAMAGE] = {cor = COLOR_GHOST},
[SEED_BOMBDAMAGE] = {cor = COLOR_GRASS},
[SACREDDAMAGE] = {cor = COLOR_FIRE2},
[MUDBOMBDAMAGE] = {cor = COLOR_GROUND}
}
--alterado v1.5 tabelas agora estao em lib/configuration.lua
local function sendPlayerDmgMsg(cid, text)
if not isCreature(cid) then return true end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, text)
end
local races = {
[4] = {cor = COLOR_FIRE2},
[6] = {cor = COLOR_WATER},
[7] = {cor = COLOR_NORMAL},
[8] = {cor = COLOR_FIRE2},
[9] = {cor = COLOR_FIGHTING},
[10] = {cor = COLOR_FLYING},
[11] = {cor = COLOR_GRASS},
[12] = {cor = COLOR_POISON},
[13] = {cor = COLOR_ELECTRIC},
[14] = {cor = COLOR_GROUND},
[15] = {cor = COLOR_PSYCHIC},
[16] = {cor = COLOR_ROCK},
[17] = {cor = COLOR_ICE},
[18] = {cor = COLOR_BUG},
[19] = {cor = COLOR_DRAGON},
[20] = {cor = COLOR_GHOST},
[21] = {cor = COLOR_STEEL},
[22] = {cor = COLOR_DARK},
[1] = {cor = 180},
[2] = {cor = 180},
[3] = {cor = 180},
[5] = {cor = 180},
}
local damages = {GROUNDDAMAGE, ELECTRICDAMAGE, ROCKDAMAGE, FLYDAMAGE, BUGDAMAGE, FIGHTINGDAMAGE, DRAGONDAMAGE, POISONDAMAGE, DARKDAMAGE, STEELDAMAGE}
local fixdmgs = {PSYCHICDAMAGE, COMBAT_PHYSICALDAMAGE, GRASSDAMAGE, FIREDAMAGE, WATERDAMAGE, ICEDAMAGE, NORMALDAMAGE, GHOSTDAMAGE}
local ignored = {POISONEDDAMAGE, BURNEDDAMAGE} --alterado v1.6
local cannotkill = {BURNEDDAMAGE, POISONEDDAMAGE}
function onStatsChange(cid, attacker, type, combat, value)
if combat == FLYSYSTEMDAMAGE then return false end
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
if not isCreature(attacker) then --alterado v1.5 cid == attacker
if not isInArray(fixdamages, combat) and combats[combat] then
doSendAnimatedText(getThingPos(cid), value, combats[combat].cor)
end
return true
end
local damageCombat = combat
--------------------------------------------------
--alterado v1.6 retirado os combats sleep_powder e poison_powder daki!
--------------------------------------------------
if type == STATSCHANGE_HEALTHGAIN then
if cid == attacker then
return true
end
if isSummon(cid) and isSummon(attacker) and canAttackOther(cid, attacker) == "Cant" then
return false
end
return true
end
--------------------------------------------------
if isMonster(cid) then
local valor = value
if not pokes[getCreatureName(cid)] and damageCombat == COMBAT_PHYSICALDAMAGE then
valor = getOffense(attacker) * playerDamageReduction
doCreatureAddHealth(cid, -math.abs(valor), 3, races[7].cor) --alterado v1.6 dano nos npcs
return false
elseif not pokes[getCreatureName(cid)] and damageCombat ~= COMBAT_PHYSICALDAMAGE then
doCreatureAddHealth(cid, -math.abs(valor), 3, combats[damageCombat].cor)
return false
end
end
--------------------------------------------------
if isPlayer(attacker) then
local valor = value
if valor > getCreatureHealth(cid) then
valor = getCreatureHealth(cid)
end
if combat == COMBAT_PHYSICALDAMAGE then
return false
end
if combat == PHYSICALDAMAGE then
doSendMagicEffect(getThingPos(cid), 3)
doSendAnimatedText(getThingPos(cid), valor, races[getMonsterInfo(getCreatureName(cid)).race].cor)
end
if combats[damageCombat] and not isInArray(fixdmgs, damageCombat) then
doSendAnimatedText(getThingPos(cid), valor, combats[damageCombat].cor)
end
if #getCreatureSummons(attacker) >= 1 and not isInArray({POISONEDDAMAGE, BURNEDDAMAGE}, combat) then
--doPlayerSendTextMessage(attacker, cid, 20, "Seu "..getPokeName(getCreatureSummons(attacker)[1]).." causou "..valor.." de dano no "..getSomeoneDescription(cid)..".")
end
return true
end
--------------------------------------------------
if isPlayer(cid) and #getCreatureSummons(cid) >= 1 and type == STATSCHANGE_HEALTHLOSS then
--if ehMonstro(attacker) and getClosestFreeTile(getCreatureSummons(cid)[1]) >= 1 then
--doSendAnimatedText(getThingPosWithDebug(attacker), "Hmpfg!", 215)
--doMonsterSetTarget(attacker, getCreatureSummons(cid)[1])
--end
return false
end
--if isPlayer(cid) and #getCreatureSummons(cid) >= 1 and type == STATSCHANGE_HEALTHLOSS then
--if ehMonstro(attacker) and getClosestFreeTile(getCreatureSummons(cid)[1]) <= 0 then
--doSendAnimatedText(getThingPosWithDebug(attacker), "Grrr!", 215)
--doMonsterSetTarget(attacker, cid)
--end
--return true
--end
--------------------------------------------------
if isPlayer(cid) and #getCreatureSummons(cid) <= 0 and type == STATSCHANGE_HEALTHLOSS then
if isSummon(attacker) or isPlayer(attacker) then
if canAttackOther(cid, attacker) == "Cant" then return false end
end
local valor = 0
if combat == COMBAT_PHYSICALDAMAGE then
valor = getOffense(attacker)
else
valor = getSpecialAttack(attacker)
end
valor = valor * playerDamageReduction
valor = valor * math.random(83, 117) / 100
if valor >= getCreatureHealth(cid) then
valor = getCreatureHealth(cid)
end
valor = math.floor(valor)
if valor >= getCreatureHealth(cid) then
if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then
setPlayerStorageValue(cid, 6598754, -1)
setPlayerStorageValue(cid, 6598755, -1)
doRemoveCondition(cid, CONDITION_OUTFIT)
doTeleportThing(cid, {x = 1001, y = 1026, z = 14}, false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
return false --alterado v1.8
elseif getPlayerStorageValue(cid, 577869) >= 1 then
setPlayerStorageValue(cid, 577869, 0)
doTeleportThing(cid, {x = 1009, y = 1084, z = 14}, false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
return false
elseif getPlayerStorageValue(cid, 20000) >= 1 then
setPlayerStorageValue(cid, 20000, 0)
setPlayerStorageValue(cid,30,0)
doTeleportThing(cid, {x = 1172, y = 1366, z = 7}, false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doPlayerSendTextMessage(cid, 20, "Você morreu no Saffari por Favor volte mais tarde!")
return false
elseif getPlayerStorageValue(cid, 20001) >= 1 then
setPlayerStorageValue(cid,20001,0)
doTeleportThing(cid, {x = 1371, y = 1240, z = 7}, false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
doRemoveCondition(cid, CONDITION_OUTFIT)
doPlayerSendTextMessage(cid, 20, "You are died in demon room, please come back!")
return false
end
------------------------------------------- ---
if getPlayerStorageValue(cid, 18) >= 1 then
setPlayerStorageValue(cid,18,0)
doRemoveCondition(cid, CONDITION_OUTFIT)
end
------------Saffari----------------------------------
if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 17000, 0)
setPlayerStorageValue(cid, 17001, 0)
setPlayerStorageValue(cid, 63215, -1)
doChangeSpeed(cid, PlayerSpeed)
local item = getPlayerSlotItem(cid, 8)
local btype = getPokeballType(item.itemid)
if #getCreatureSummons(cid) <= 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
end
end
end
------------Edited Golden Arena------------------
if getPlayerStorageValue(cid, 22545) == 1 then
if getGlobalStorageValue(22550) == 1 then
doPlayerSendTextMessage(cid, 20, "Você foi o último sobrevivente da Golden Arena! Tome sua recompensa!")
doPlayerAddItem(cid, 2160, getPlayerStorageValue(cid, 22551)*30/4)
doPlayerAddExperience(cid, 1000, getPlayerStorageValue(cid, 22551)*30)
setPlayerStorageValue(cid, 22545, -1)
doTeleportThing(cid, getClosestFreeTile(cid, getClosestFreeTile(cid, posBackGolden)), false)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
--setPlayerRecordWaves(cid)
endGoldenArena()
return false --alterado v1.8
else
setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)
setPlayerStorageValue(cid, 22545, -1)
doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)
doPlayerAddItem(cid, 2152, getPlayerStorageValue(cid, 22551)*5)
doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
--setPlayerRecordWaves(cid)
return true
end
end
----------------------------------
if getPlayerSex(cid) == 1 then
local corpse = doCreateItem(3058, 1, getThingPos(cid))
doDecayItem(corpse)
doItemSetAttribute(corpse, "name", "dead human (Vol:8). You recognize ".. getCreatureName(cid) ..". He was killed by a ".. getCreatureName(attacker) .."")
elseif getPlayerSex(cid) == 0 then
local corpse = doCreateItem(3065, 1, getThingPos(cid))
doDecayItem(corpse)
doItemSetAttribute(corpse, "name", "dead human (Vol:8). You recognize ".. getCreatureName(cid) ..". She was killed by a ".. getCreatureName(attacker) .."")
end
end
doCreatureAddHealth(cid, -valor, 3, 180)
if not isPlayer(cid) then
addEvent(sendPlayerDmgMsg, 5, cid, "Você perdeu "..valor.." em pontos de vida por um attack de "..getSomeoneDescription(attacker)..".")
end
return false
end
--------------------------------------------------
--if isMonster(attacker) and getPlayerStorageValue(attacker, 201) ~= -1 then
-- if isPlayer(cid) then
-- return false
-- end
-- if getPlayerStorageValue(getCreatureMaster(cid), ginasios[getPlayerStorageValue(attacker, 201)].storage) ~= 1 then
-- return false
-- end
--end
---------------------------------------------------
--if isMonster(cid) and getPlayerStorageValue(cid, 201) ~= -1 then
-- if getPlayerStorageValue(getCreatureMaster(attacker), ginasios[getPlayerStorageValue(cid, 201)].storage) ~= 1 then
-- return false
-- end
--end
--------------------------------------------------
if ehMonstro(cid) and ehMonstro(attacker) then
return false --edited monstro nao atacar monstro
end
--------------------------------------------------
--------------------REFLECT-----------------------
if getPlayerStorageValue(cid, 21099) >= 1 and combat ~= COMBAT_PHYSICALDAMAGE then
if not isInArray({"Team Claw", "Team Slice"}, getPlayerStorageValue(attacker, 21102)) then
doSendMagicEffect(getThingPosWithDebug(cid), 135)
doSendAnimatedText(getThingPosWithDebug(cid), "REFLECT", COLOR_GRASS)
addEvent(docastspell, 100, cid, getPlayerStorageValue(attacker, 21102))
if getCreatureName(cid) == "Wobbuffet" then
doRemoveCondition(cid, CONDITION_OUTFIT)
end
setPlayerStorageValue(cid, 21099, -1) --alterado v1.6
setPlayerStorageValue(cid, 21100, 1)
setPlayerStorageValue(cid, 21101, attacker)
setPlayerStorageValue(cid, 21103, getTableMove(attacker, getPlayerStorageValue(attacker, 21102)).f)
setPlayerStorageValue(cid, 21104, getCreatureOutfit(attacker).lookType)
return false
end
end
-------------------------------------------------
local multiplier = 1
if isCreature(cid) then
poketype1 = pokes[getCreatureName(cid)].type --alterado v1.6
poketype2 = pokes[getCreatureName(cid)].type2
end
if not poketype1 or not poketype2 then return false end --alterado v1.6
if getCreatureCondition(cid, CONDITION_INVISIBLE) then
return false
end
if damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignored, damageCombat) then
if isInArray(effectiveness[damageCombat].super, poketype1) then
multiplier = multiplier + 0.5
end
if isInArray(effectiveness[damageCombat].super, poketype2) then
multiplier = multiplier + 0.5
end
if isInArray(effectiveness[damageCombat].weak, poketype1) then --Edited effetivenes = pxg... ;p
multiplier = multiplier - 0.25
end
if isInArray(effectiveness[damageCombat].weak, poketype2) then
multiplier = multiplier - 0.25
end
if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then
if isInArray(specialabilities["foresight"], getCreatureName(attacker)) then --alterado v1.5
multiplier = 0.5
end --alterado v1.6
end
-- X-Attack --
if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
local TierArray = {8, 9, 10, 11, 12, 13, 14}
local Tiers = {
[8] = {bonus = AtkBonus1},
[9] = {bonus = AtkBonus2},
[10] = {bonus = AtkBonus3},
[11] = {bonus = AtkBonus4},
[12] = {bonus = AtkBonus5},
[13] = {bonus = AtkBonus6},
[14] = {bonus = AtkBonus7},
}
local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local Tier = getItemAttribute(ball.uid, "heldx")
local bonusatk = {}
if isInArray(TierArray, getItemAttribute(ball.uid, "heldx")) then
bonusatk = Tiers[Tier].bonus
else
bonusatk = 1
end
multiplier = multiplier * bonusatk
end
if isSummon(cid) and isPlayer(getCreatureMaster(cid))then
local TierEle = {
[78] = {chance = Elemen1},
[79] = {chance = Elemen2},
[80] = {chance = Elemen3},
[81] = {chance = Elemen4},
[82] = {chance = Elemen5},
[83] = {chance = Elemen6},
[84] = {chance = Elemen7},
}
local Tier = getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "heldx")
if Tier and Tier > 77 and Tier < 85 and getPlayerStorageValue(cid, 22666) ~= 5 then
if math.random(1,100) <= TierEle[Tier].chance then
docastspell(cid, "Elemental", -1000, -5000)
setPlayerStorageValue(cid, 22666, 5)
addEvent(function() setPlayerStorageValue(cid, 22666, 0) end, 1 * 1800)
end
end
end
-- X-Attack --
elseif combat == COMBAT_PHYSICALDAMAGE then
if isGhostPokemon(cid) then --alterado v1.3
if not isInArray(specialabilities["foresight"], getCreatureName(attacker)) then --passiva Foresight!!
doSendMagicEffect(getThingPos(cid), 3)
return false
end
end
local cd = getPlayerStorageValue(attacker, conds["Miss"])
local cd2 = getPlayerStorageValue(attacker, conds["Confusion"])
local cd3 = getPlayerStorageValue(attacker, conds["Stun"])
if cd >= 0 or cd2 >= 0 or cd3 >= 0 then
if math.random(1, 100) > 50 then --Edited miss system -- 50% chance de da miss no atk fisico
doSendMagicEffect(getThingPos(cid), 211)
doSendAnimatedText(getThingPos(attacker), "MISS", 215) --alterado v1.5
return false
end
end
end
--------------------------------------------------
local valor = value
if multiplier == 1.5 and poketype2 == "no type" then
multiplier = 2 --alterado v1.6
elseif multiplier == 1.5 and poketype2 ~= "no type" then
multiplier = 1.75
elseif multiplier == 1.25 then --edited effetivines = pxg
multiplier = 1
end
--------------------------------------------------
if isSummon(cid) and isSummon(attacker) then
if getCreatureMaster(cid) == getCreatureMaster(attacker) then
return false
end
if canAttackOther(cid, attacker) == "Cant" then
return false
end
end
valor = valor * multiplier
if isSummon(attacker) then
valor = valor * getHappinessRate(attacker)
else
valor = valor * summonReduction
end
valor = math.floor(valor)
if combat == COMBAT_PHYSICALDAMAGE then
block = 1 - (getDefense(cid) / (getOffense(attacker) + getDefense(cid)))
valor = getOffense(attacker) * block
if isInArray(specialabilities["counter"], getCreatureName(cid)) then
if math.random(1, 100) <= 10 then
doCreatureAddHealth(attacker, -valor, 3, 180)
valor = 0
doSendAnimatedText(getThingPosWithDebug(cid), "COUNTER", 215)
end
end
-- Return --
if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then
local returnbonus = {}
local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
local Tiers = {
[15] = {bonus = DmgReturn1},
[16] = {bonus = DmgReturn2},
[17] = {bonus = DmgReturn3},
[18] = {bonus = DmgReturn4},
[19] = {bonus = DmgReturn5},
[20] = {bonus = DmgReturn6},
[21] = {bonus = DmgReturn7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 14 and Tier < 22 then
returnbonus = math.floor((valor * Tiers[Tier].bonus))
elseif not isInArray(Tiers, Tier) then
returnbonus = 0
end
doCreatureAddHealth(attacker, -returnbonus)
end
-- Return --
else
-- Return --
if isSummon(cid) and isPlayer(getCreatureMaster(cid)) then
local returnbonus = {}
local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
local Tiers = {
[15] = {bonus = DmgReturn1},
[16] = {bonus = DmgReturn2},
[17] = {bonus = DmgReturn3},
[18] = {bonus = DmgReturn4},
[19] = {bonus = DmgReturn5},
[20] = {bonus = DmgReturn6},
[21] = {bonus = DmgReturn7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 14 and Tier < 22 then
returnbonus = math.floor((valor * Tiers[Tier].bonus))
elseif not isInArray(Tiers, Tier) then
returnbonus = 0
end
doCreatureAddHealth(attacker, -returnbonus)
end
-- Return --
-- Critical --
if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
local Tiers = {
[85] = {chance = Critical1},
[86] = {chance = Critical2},
[87] = {chance = Critical3},
[88] = {chance = Critical4},
[89] = {chance = Critical5},
[90] = {chance = Critical6},
[91] = {chance = Critical7},
}
local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 84 and Tier < 92 then
if math.random(1,100) <= Tiers[Tier].chance then
valor = valor * 2
doSendAnimatedText(getThingPos(cid), "STK "..(valor * 0.25), 115)
end
end
end
-- Critical --
valor = valor / getDefense(cid)
end
-------------------------Edited CLAN SYSTEM-----------------------------------
if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then
valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk") --alterado v1.3
elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then
valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2))
end
-----------------------------------------------------------------------
---------------------- FEAR / ROAR ------------------------------------
if getPlayerStorageValue(attacker, conds["Fear"]) >= 1 then --alterado!!
return true
end
--------------------------------------------------------------------------
if damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignored, damageCombat) then
if isInArray(effectiveness[damageCombat].non, poketype1) or isInArray(effectiveness[damageCombat].non, poketype2) then
if not isInArray(specialabilities["foresight"], getCreatureName(attacker)) then --alterado v1.6
valor = valor * 0 --alterado v1.5
end
end
end
if damageCombat == GROUNDDAMAGE then
if isInArray(specialabilities["levitate"], getCreatureName(cid)) then
valor = 0 --alterado v1.5
end
end
-----------------------------------------------------------------------------
local p = getThingPos(cid)
if p.x == 1 and p.y == 1 and p.z == 10 then
return false
end
if getPlayerStorageValue(cid, 9658783) == 1 then
return false --imune
end
-----------------------------------------------------------------------------
local config = {
sturdy = { --Pokémons que possuem a habilidade Sturdy. Configuração: ["nome_do_pokemon"] = lookType,
["Aggron"] = 1685,
["Mega Aggron"] = 1798,
},
cd = 30, --Cooldown da habilidade.
duration = 8, --Duração, em segundos, do Sturdy.
storage = 8402,
}
if getPlayerStorageValue(cid, config.storage) > -1 then
return false
end
local hp = getCreatureHealth(cid) - valor
if not isPlayer(cid) and hp <= 1 and config.sturdy[getCreatureName(cid)] then
local b = true
if isSummon(cid) then
local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
if ball and getCD(ball.uid, "sturdy") > 0 then
b = false
end
end
if b then
if hp < 1 then
doCreatureAddHealth(cid, hp < 0 and (hp * -1) + 1 or 1)
end
setPlayerStorageValue(cid, config.storage, 1)
if isSummon(cid) then
local ball = getPlayerSlotItem(getCreatureMaster(cid), 8)
if ball then
setCD(ball.uid, "sturdy", config.duration + config.cd)
end
end
doSetCreatureOutfit(cid, {lookType = config.sturdy[getCreatureName(cid)]}, config.duration * 1000)
addEvent(function()
if isCreature(cid) and getPlayerStorageValue(cid, config.storage) > -1 then
setPlayerStorageValue(cid, config.storage, -1)
doCreatureAddHealth(cid, -getCreatureHealth(cid))
end
end, config.duration * 1000)
end
end
if valor >= getCreatureHealth(cid) then
if isInArray(cannotKill, combat) and isPlayer(cid) then
valor = getCreatureHealth(cid) - 1
else
valor = getCreatureHealth(cid)
end
end
------------------ SKILLs Q CURAM O ATTACKER ---------------------------------
local function doHeal(cid, amount)
if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then
amount = math.abs(getCreatureHealth(cid)-getCreatureMaxHealth(cid))
end
if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then --alterado v1.6
doCreatureAddHealth(cid, amount)
doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65)
end
end
if damageCombat == PSYCHICDAMAGE or damageCombat == MIRACLEDAMAGE then
if getPlayerStorageValue(attacker, 95487) >= 1 then
doHeal(attacker, valor)
setPlayerStorageValue(attacker, 95487, -1) --alterado v1.6
end
elseif damageCombat == SEED_BOMBDAMAGE then
doHeal(attacker, valor)
end
--------------------------------------------
----------SACRED FIRE-----------------------
if combat == SACREDDAMAGE and not ehNPC(cid) then --alterado v1.6
local ret = {}
ret.id = cid
ret.cd = 9
ret.check = getPlayerStorageValue(cid, conds["Silence"])
ret.eff = 39
ret.cond = "Silence"
doCondition2(ret)
end
---------------------------------------------
--------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
if getCreatureName(attacker) == "Crobat" then --alterado v1.4
doCreatureAddHealth(attacker, math.floor(valor))
doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
end
end
--------------------------------------------
--- X-Agility/X-Strafe/X-Rage/X-Harden ---
if combat == COMBAT_PHYSICALDAMAGE then
local TierAgi = {
[43] = {chance = Agility1},
[44] = {chance = Agility2},
[45] = {chance = Agility3},
[46] = {chance = Agility4},
[47] = {chance = Agility5},
[48] = {chance = Agility6},
[49] = {chance = Agility7},
}
local TierStra = {
[50] = {chance = Strafe1},
[51] = {chance = Strafe2},
[52] = {chance = Strafe3},
[53] = {chance = Strafe4},
[54] = {chance = Strafe5},
[55] = {chance = Strafe6},
[56] = {chance = Strafe7},
}
local TierRage = {
[57] = {chance = Rage1},
[58] = {chance = Rage2},
[59] = {chance = Rage3},
[60] = {chance = Rage4},
[61] = {chance = Rage5},
[62] = {chance = Rage6},
[63] = {chance = Rage7},
}
if isPlayer(getCreatureMaster(attacker)) and isSummon(attacker) then
local Tier = getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "heldx")
if Tier and Tier > 42 and Tier < 50 and getPlayerStorageValue(attacker, 22666) ~= 1 then
if math.random(1,100) <= TierAgi[Tier].chance then
docastspell(attacker, "Agility")
setPlayerStorageValue(attacker, 22666, 1)
addEvent(function() setPlayerStorageValue(attacker, 22666, 0) end, 15 * 1000)
end
elseif Tier and Tier > 49 and Tier < 57 and getPlayerStorageValue(attacker, 22666) ~= 2 then
if math.random(1,100) <= TierStra[Tier].chance then
docastspell(attacker, "Strafe")
setPlayerStorageValue(attacker, 22666, 2)
addEvent(function() setPlayerStorageValue(attacker, 22666, 0) end, 15 * 1000)
end
elseif Tier and Tier > 56 and Tier < 64 and getPlayerStorageValue(attacker, 22666) ~= 3 then
if math.random(1,100) <= TierRage[Tier].chance then
docastspell(attacker, "Rage")
setPlayerStorageValue(attacker, 22666, 3)
addEvent(function() setPlayerStorageValue(attacker, 22666, 0) end, 15 * 1000)
end
end
end
if isPlayer(getCreatureMaster(cid)) and isSummon(cid) then
local TierHarden = {
[64] = {chance = Harden1},
[65] = {chance = Harden2},
[66] = {chance = Harden3},
[67] = {chance = Harden4},
[68] = {chance = Harden5},
[69] = {chance = Harden6},
[70] = {chance = Harden7},
}
local TierEle = {
[78] = {chance = Elemen1},
[79] = {chance = Elemen2},
[80] = {chance = Elemen3},
[81] = {chance = Elemen4},
[82] = {chance = Elemen5},
[83] = {chance = Elemen6},
[84] = {chance = Elemen7},
}
local Tier = getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "heldx")
if Tier and Tier > 63 and Tier < 71 and getPlayerStorageValue(cid, 22666) ~= 4 then
if math.random(1,100) <= TierHarden[Tier].chance then
docastspell(cid, "Harden")
setPlayerStorageValue(cid, 22666, 4)
addEvent(function() setPlayerStorageValue(cid, 22666, 0) end, 8 * 1000)
end
end
end
end
--- X-Agility/Strafe/Rage/Harden ---
if Tier and Tier > 77 and Tier < 85 and getPlayerStorageValue(cid, 22666) ~= 5 then
if math.random(1,100) <= TierEle[Tier].chance then
docastspell(cid, "Elemental", -1000, -5000)
setPlayerStorageValue(cid, 22666, 5)
addEvent(function() setPlayerStorageValue(cid, 22666, 0) end, 1 * 1800)
end
end
--------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
if getCreatureName(attacker) == "Golbat" then --alterado v1.4
doCreatureAddHealth(attacker, math.floor(valor))
doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
end
end
--------------------------------------------
--------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
if getCreatureName(attacker) == "Zubat" then --alterado v1.4
doCreatureAddHealth(attacker, math.floor(valor))
doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
end
end
--------------------------------------------
--------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
if getCreatureName(attacker) == "Shiny Crobat" then --alterado v1.4
doCreatureAddHealth(attacker, math.floor(valor))
doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
end
end
--------------------------------------------
--------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
if getCreatureName(attacker) == "Shiny Golbat" then --alterado v1.4
doCreatureAddHealth(attacker, math.floor(valor))
doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
end
end
--------------------------------------------
--------------Passiva Lifesteal Clobat------------
if combat == COMBAT_PHYSICALDAMAGE then
if getCreatureName(attacker) == "Shiny Zubat" then --alterado v1.4
doCreatureAddHealth(attacker, math.floor(valor))
doSendAnimatedText(getThingPos(attacker), "+ "..math.floor(valor), 30)
end
end
--------------------------------------------
valor = math.abs(valor) --alterado v1.9
if isSummon(cid) and valor >= getCreatureHealth(cid) then
onPokeHealthChange(getCreatureMaster(cid), true)
elseif isSummon(cid) then
onPokeHealthChange(getCreatureMaster(cid))
end
if isSummon(attacker) then
if combat == COMBAT_PHYSICALDAMAGE then
doTargetCombatHealth(getCreatureMaster(attacker), cid, PHYSICALDAMAGE, -valor, -valor, 255)
addEvent(doDoubleHit, 1000, attacker, cid, valor, races) --alterado v1.6
else
doTargetCombatHealth(getCreatureMaster(attacker), cid, damageCombat, -valor, -valor, 255)
end
else
if combat ~= COMBAT_PHYSICALDAMAGE then
doCreatureAddHealth(cid, -math.abs(valor), 3, combats[damageCombat].cor)
else
doCreatureAddHealth(cid, -math.abs(valor), 3, races[getMonsterInfo(getCreatureName(cid)).race].cor)
addEvent(doDoubleHit, 1000, attacker, cid, valor, races) --alterado v1.6
end
if isSummon(cid) and valor ~= 0 then
--addEvent(sendPlayerDmgMsg, 5, getCreatureMaster(cid), "Seu "..getCreatureName(cid).." perdeu "..valor.." de vida pelo attack do "..getSomeoneDescription(attacker)..".")
end
end
if damageCombat == FIREDAMAGE and not isBurning(cid) then
-- Helfire --
local hellfire = {}
if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local TierArray = {22, 23, 24, 25, 26, 27, 28}
local Tiers = {
[22] = {bonus = HellBonus1},
[23] = {bonus = HellBonus2},
[24] = {bonus = HellBonus3},
[25] = {bonus = HellBonus4},
[26] = {bonus = HellBonus5},
[27] = {bonus = HellBonus6},
[28] = {bonus = HellBonus7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 21 and Tier < 29 then
hellfire = Tiers[Tier].bonus
else
hellfire = 1
end
end
-- Hellfire --
local ret = {}
ret.id = cid
ret.cd = math.random(5, 12)
ret.check = getPlayerStorageValue(cid, conds["Burn"])
ret.damage = isSummon(attacker) and (getMasterLevel(attacker)+getPokemonBoost(attacker)) * hellfire or getPokemonLevel(attacker)
ret.cond = "Burn"
doCondition2(ret)
elseif damageCombat == POISONDAMAGE and not isPoisoned(cid) then
-- Poison --
local xpoison = {}
if isSummon(attacker) and isPlayer(getCreatureMaster(attacker)) then
local ball = getPlayerSlotItem(getCreatureMaster(attacker), 8)
local TierArray = {29, 30, 31, 32, 33, 34, 35}
local Tiers = {
[29] = {bonus = PoisonBonus1},
[30] = {bonus = PoisonBonus2},
[31] = {bonus = PoisonBonus3},
[32] = {bonus = PoisonBonus4},
[33] = {bonus = PoisonBonus5},
[34] = {bonus = PoisonBonus6},
[35] = {bonus = PoisonBonus7},
}
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 28 and Tier < 36 then
xpoison = Tiers[Tier].bonus
elseif not isInArray(TierArray, getItemAttribute(ball.uid, "heldx")) then
xpoison = 1
end
end
-- Poison --
local ret = {}
ret.id = cid
ret.cd = math.random(6, 15)
ret.check = getPlayerStorageValue(cid, conds["Poison"])
local lvl = isSummon(attacker) and (getMasterLevel(attacker)) * xpoison or getPokemonLevel(attacker)
ret.damage = math.floor((getPokemonLevel(attacker)+lvl)/2)
ret.cond = "Poison"
doCondition2(ret)
end
--[[---------------CD BAR-----------------------
if isSummon(cid) then
doCreatureExecuteTalkAction(getCreatureMaster(cid), "/pokeread")
end ]]
------------------------------------POTIONS-------------------------------------------
if isSummon(cid) and type == STATSCHANGE_HEALTHLOSS then
if getPlayerStorageValue(cid, 173) >= 1 then
if damageCombat ~= BURNEDDAMAGE and damageCombat ~= POISONEDDAMAGE then
setPlayerStorageValue(cid, 173, -1) --alterado v1.6
doSendAnimatedText(getThingPos(cid), "LOST HEAL", 144)
end
end
end
----------------------------------------PASSIVAS------------------------------------- --alterado v1.6 \/ todas as passivas agora estao em lib/pokemon moves.lua
-------------------------------------------Counter Helix------------------------------------
if passivesChances["Helix"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Helix"][getCreatureName(cid)] then
docastspell(cid, "Counter Helix")
end
-------------------------------------------Lava-Counter----------------------------
if passivesChances["Lava"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Lava"][getCreatureName(cid)] then
docastspell(cid, "Lava-Counter")
end
-------------------------------------------Shock-Counter----------------------------
if passivesChances["Shock"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Shock"][getCreatureName(cid)] then
docastspell(cid, "Shock-Counter")
end
-------------------------------------------Bone Spin----------------------------
if passivesChances["Bone"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Bone"][getCreatureName(cid)] then
docastspell(cid, "Bone-Spin")
end
---------------------------------------Stunning Confusion-----------------------------------------
if passivesChances["Stunning"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Stunning"][getCreatureName(cid)] then
docastspell(cid, "Stunning Confusion")
end
--------------------------------------Electric Charge---------------------------------------------
if passivesChances["Electric Charge"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Electric Charge"][getCreatureName(cid)] then
docastspell(cid, "Electric Charge", 0, 0)
end
-------------------------------------Melody------------------------------------
if passivesChances["Melody"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Melody"][getCreatureName(cid)] then
docastspell(cid, "Melody")
end
------------------------------------- Dragon Fury / Fury ---------------------------------------
if passivesChances["Dragon Fury"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Dragon Fury"][getCreatureName(cid)] then
docastspell(cid, "Dragon Fury", 0, 0)
end
------------------------------------- Mega Drain ---------------------------------------
if passivesChances["Mega Drain"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Mega Drain"][getCreatureName(cid)] then
docastspell(cid, "Mega Drain")
end
------------------------------------- Spores Reaction ---------------------------------------
if passivesChances["Spores Reaction"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Spores Reaction"][getCreatureName(cid)] then
docastspell(cid, "Spores Reaction")
end
------------------------------------ Amnesia ----------------------------------------
if passivesChances["Amnesia"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Amnesia"][getCreatureName(cid)] then
docastspell(cid, "Amnesia", 0, 0)
end
----------------------------------- Zen Mind -----------------------------------------
if passivesChances["Zen Mind"][getCreatureName(cid)] and isWithCondition(cid) and math.random(1, 100) <= passivesChances["Zen Mind"][getCreatureName(cid)] then
docastspell(cid, "Zen Mind", 0, 0)
end
---------------------------------- Mirror Coat ---------------------------------------
if passivesChances["Mirror Coat"][getCreatureName(cid)] and math.random(1, 80) <= passivesChances["Mirror Coat"][getCreatureName(cid)] then
docastspell(cid, "Mirror Coat", 0, 0)
end
--------------------------------- Illusion -----------------------------------------
return false
end
Pokeexp.lua
local function playerAddExp(cid, exp)
local Tiers = {
[71] = {bonus = Exp1},
[72] = {bonus = Exp2},
[73] = {bonus = Exp3},
[74] = {bonus = Exp4},
[75] = {bonus = Exp5},
[76] = {bonus = Exp6},
[77] = {bonus = Exp7},
}
local ball = getPlayerSlotItem(cid, 8)
local Tier = getItemAttribute(ball.uid, "heldx")
if Tier and Tier > 70 and Tier < 78 then
doPlayerAddExp(cid, math.floor(exp * Tiers[Tier].bonus))
doSendAnimatedText(getThingPos(cid), exp * Tiers[Tier].bonus, 215)
else
doPlayerAddExp(cid, exp)
doSendAnimatedText(getThingPos(cid), exp, 215)
end
end
function onDeath(cid, corpse, deathList)
--if not isCreature(cid) then return true end
if isSummon(cid) or not deathList or getCreatureName(cid) == "Evolution" then return true end --alterado v1.8
-------------Edited Golden Arena------------------------- --alterado v1.7 \/\/
if getPlayerStorageValue(cid, 22546) == 1 then
setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
if corpse.itemid ~= 0 then doItemSetAttribute(corpse.uid, "golden", 1) end --alterado v1.8
end
if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) == 0 then
local wave = getGlobalStorageValue(22547)
for _, sid in ipairs(getPlayersOnline()) do
if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then
if getGlobalStorageValue(22547) < #wavesGolden+1 then
doPlayerSendTextMessage(sid, 20, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")
doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")
addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true)
addEvent(doWave, timeToWaves*1000)
elseif getGlobalStorageValue(22547) == #wavesGolden+1 then
doPlayerSendTextMessage(sid, 20, "Você foi o último sobrevivente da Golden arena tome sua recompensa!")
doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --premio
setPlayerStorageValue(sid, 22545, -1)
doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false)
setPlayerRecordWaves(sid)
end
end
end
if getGlobalStorageValue(22547) == #wavesGolden+1 then
endGoldenArena()
end
end
--------------------------------------------------- /\/\
local givenexp = getWildPokemonExp(cid)
---local killer = getItemAttribute(corpse.uid, "corpseowner")
if givenexp > 0 then
for a = 1, #deathList do
local pk = deathList[a]
---
local list = getSpectators(getThingPosWithDebug(pk), 30, 30, false)
if isCreature(pk) then
local expTotal = math.floor(givenexp * getDamageMapPercent(pk, cid))
local party = getPartyMembers(pk)
if isInParty(pk) and getPlayerStorageValue(pk, 4875498) <= -1 then
expTotal = math.floor(expTotal/#party) --alterado v1.6.1
for i = 1, #party do
if isInArray(list, party) then
if getPlayerLevel(pk) <= 50 then
playerAddExp(party, expTotal * 200)
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(party, expTotal * 130)
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(party, expTotal * 80)
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(party, expTotal * 40)
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(party, expTotal * 20)
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(party, expTotal * 10)
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(party, expTotal * 5)
end
end
end
elseif not isInParty(pk) then
if getPlayerLevel(pk) <= 50 then
playerAddExp(pk, math.floor(200 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 51 and getPlayerLevel(pk) <= 75 then
playerAddExp(pk, math.floor(130 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 76 and getPlayerLevel(pk) <= 100 then
playerAddExp(pk, math.floor(80 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 101 and getPlayerLevel(pk) <= 150 then
playerAddExp(pk, math.floor(40 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 151 and getPlayerLevel(pk) <= 250 then
playerAddExp(pk, math.floor(20 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 251 and getPlayerLevel(pk) <= 350 then
playerAddExp(pk, math.floor(10 * givenexp * getDamageMapPercent(pk, cid)))
elseif getPlayerLevel(pk) >= 351 then
playerAddExp(pk, math.floor(5 * givenexp * getDamageMapPercent(pk, cid)))
return true end
end
end
end
end
if isNpcSummon(cid) then
local master = getCreatureMaster(cid)
doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 10000))
doCreatureSay(master, getPlayerStorageValue(cid, 10001), 1)
doRemoveCreature(cid)
return false
end
if corpse.itemid ~= 0 then --alterado v1.8
doItemSetAttribute(corpse.uid, "level", getPokemonLevel(cid))
doItemSetAttribute(corpse.uid, "gender", getPokemonGender(cid))
end
return true
end
Iconsys.lua
function doPlayerChangeModeIcon(cid)
if getPlayerStorageValue(cid, 8955) >= 1 then
local x = icons[getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")]
local y = icons[getItemAttribute(getPlayerSlotItem(cid, 3).uid, "poke")]
if x and getPlayerSlotItem(cid, 8).itemid == 11826 then -- Pokeball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11828 then -- Pokeball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11827 then -- Pokeball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11829 then -- Ultraball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11831 then -- Ultraball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11830 then -- Ultraball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11835 then -- Superball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11837 then -- Superball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11836 then -- Superball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11832 then -- Greatball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11834 then -- Greatball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11833 then -- Greatball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 10975 then -- Saffariball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 10977 then -- Saffariball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 10976 then -- Saffariball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12826 then -- Darkball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12828 then -- Darkball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12827 then -- Darkball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11740 then -- Shiny Greatball
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11742 then -- Shiny Greatball Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11741 then -- Shiny Greatball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11743 then -- Shiny Super
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11745 then -- Shiny Super Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11744 then -- Shiny Superball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11746 then -- Shiny Ultra
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11748 then -- Shiny Ultra Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11747 then -- Shiny Ultraball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11737 then -- Shiny Poke
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11739 then -- Shiny Poke Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 11738 then -- Shiny Pokeball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12621 then -- Shiny Saffari
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12623 then -- Shiny Saffari Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12622 then -- Shiny Saffariball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12829 then -- Shiny Dark
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.on)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12831 then -- Shiny Dark Morta
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.off)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
elseif x and getPlayerSlotItem(cid, 8).itemid == 12830 then -- Shiny Darkball Usada
doTransformItem(getPlayerSlotItem(cid, 8).uid, x.use)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "ball", "Icone")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "morta", "no")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "yes")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "shiny", "yes")
end
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
local balls = getItemsInContainerById(bp.uid, 11826) ------ Pokeball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11828) --- Pokeball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
--------------------------------
local balls = getItemsInContainerById(bp.uid, 11829) ------ Ultraball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11831) --- Ultraball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
------------------------------
local balls = getItemsInContainerById(bp.uid, 11835) ------ Superball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11837) --- Superball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
-----------------------------
local balls = getItemsInContainerById(bp.uid, 11834) ------ Greatball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(balll, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11832) --- Greatball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
-----------------------------
local balls = getItemsInContainerById(bp.uid, 10975) ------ Saffariball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(balll, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 10977) --- Saffariball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
-----------------------------
local balls = getItemsInContainerById(bp.uid, 12826) ------ Darkball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(balll, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 12828) --- Darkball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
-----------------------------------
local balls = getItemsInContainerById(bp.uid, 11740) ------ Shiny Great
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11742) ------ Shiny Greatball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11746) ------ Shiny Ultraball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11748) ------ Shiny Ultraball morta
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
---------------------------------------------------
local balls = getItemsInContainerById(bp.uid, 11737) -- Shiny Pokeball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11739) -- Shiny Pokeball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
--doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
---------------------------------------------------
local balls = getItemsInContainerById(bp.uid, 11740) -- Shiny Greatball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11742) -- Shiny Greatball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
---------------------------------------------------
local balls = getItemsInContainerById(bp.uid, 11743) -- Shiny Superball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 11745) -- Shiny Super
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
---------------------------------------------------
local balls = getItemsInContainerById(bp.uid, 12621) -- Shiny Saffariball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 12623) -- Shiny Saffari
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
---------------------------------------------------
local balls = getItemsInContainerById(bp.uid, 12829) -- Shiny Darkball
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.on)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
end
end
local balls = getItemsInContainerById(bp.uid, 12831) -- Shiny Dark
if #balls >= 1 then
for _, ball in pairs (balls) do
local x = icons[getItemAttribute(ball, "poke")]
doTransformItem(ball, x.off)
doItemSetAttribute(ball, "ball", "Icone")
doItemSetAttribute(ball, "morta", "yes")
doItemSetAttribute(ball, "Icone", "yes")
end
end
else
local pokeball = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "ball")
local mortano = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "morta")
local y = icons[getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")]
if pokeball == "normal" and mortano == "no" then -- Pokeball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11826)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "normal" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11828)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Pokeball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11829)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11831)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Pokeball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11835)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11837)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Pokeball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11832)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11834)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- saffariball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 10975)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 10977)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- darkball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 12826)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 12828)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- saffariball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11737)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11739)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Pokeball
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11746)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11748)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Shiny super
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11743)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11745) --- Shiny superr
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Shiny great
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11740)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 11742)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Shiny saffari
doTransformItem(getPlayerSlotItem(cid, 8).uid, 12621)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 12623)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then -- Shiny dark
doTransformItem(getPlayerSlotItem(cid, 8).uid, 12829)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(getPlayerSlotItem(cid, 8).uid, 12831)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "Icone", "no")
end
local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
x = { }
for a = 1, #x do
local balls = getItemsInContainerById(bp.uid, x[a])
for _, ball in pairs (balls) do
local pokeball = getItemAttribute(ball, "ball")
local mortano = getItemAttribute(ball, "morta")
if getItemAttribute(ball, "ball") == "Icone" and getItemAttribute(ball, "morta") == "no" then -- Ultra ball
doTransformItem(ball, 11829)
doItemSetAttribute(ball, "Icone", "no")
elseif getItemAttribute(ball, "ball") == "Icone" and getItemAttribute(ball, "morta") == "yes" then -- Ultra ball morta
doTransformItem(ball, 11831)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11826)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11828)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11835)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11837)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11832)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11834)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 10975)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 10977)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 12826)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 12828)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11737)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11739)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11740)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11742)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11743)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11745)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 11746)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 11748)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 12621)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 12623)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "no" then
doTransformItem(ball, 12829)
doItemSetAttribute(ball, "Icone", "no")
elseif pokeball == "Icone" and mortano == "yes" then
doTransformItem(ball, 12831)
doItemSetAttribute(ball, "Icone", "no")
end
end
end
end
end