Ir para conteúdo

Posts Recomendados

Ola, tentei fazer algumas alterações no meu potion system mais parece que não esta dando lost heal quando o pokemon ataca, segue meu exp.lua e potion.lua

 

potion.lua


 

 

function setStorage(cid, storage, valor)
if isCreature(cid) then
if getPlayerStorageValue(cid, storage) >= 1 then
setPlayerStorageValue(cid, storage, valor)
end
end
end
 
function doHealOverTime(cid, div, turn, effect)
if not isCreature(cid) then return true end
if turn <= 0 then return true end
if getCreatureHealth(cid) == getCreatureMaxHealth(cid) then return true end
if getPlayerStorageValue(cid, 174) >= 1 then
setPlayerStorageValue(cid, 174, 0)
setPlayerStorageValue(cid, 173, 0)
return true
end
 
local d = div / 10000
local amount = math.floor(getCreatureMaxHealth(cid) * d)
doCreatureAddHealth(cid, amount)
if math.floor(turn/10) == turn/10 then
doSendMagicEffect(getThingPos(cid), effect)
end
addEvent(doHealOverTime, 100, cid, div, turn - 1, effect)
end
 
local potions = {
[2272] = {effect = 13, div = 15}, -- Small Potion
[2274] = {effect = 13, div = 30}, -- Great Potion           
[2270] = {effect = 12, div = 45}, -- Ultra Potion
[12201] = {effect = 14, div = 60}, -- Hyper Potion
[12200] = {effect = 14, div = 80}, -- Ultimate Potion
}
 
function onUse(cid, item, frompos, item2, topos)
if isPlayer(item2.uid) then
return doPlayerSendCancel(cid, "You can only use potions on pokemons!")
end
 
if not isCreature(item2.uid) then
return doPlayerSendCancel(cid, "You can only use potions on pokemons!")
end
 
if not isPlayer(getCreatureMaster(item2.uid)) then
return doPlayerSendCancel(cid, "You cant use potions on wild pokemons.")
end
 
if getCreatureHealth(item2.uid) == getCreatureMaxHealth(item2.uid) then
return doPlayerSendCancel(cid, "This pokemon is already at full health.")
end
 
if getPlayerStorageValue(item2.uid, 173) >= 1 then
return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.")
end
 
if getCreatureMaster(item2.uid) ~= cid then
return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!")
end
 
doCreatureSay(cid, ""..getCreatureName(item2.uid)..", take this potion!", TALKTYPE_SAY)
doSendMagicEffect(getThingPos(item2.uid), 172)
setPlayerStorageValue(item2.uid, 173, 1)
doRemoveItem(item.uid, 1)
 
local sid = item2.uid
local a = potions[item.itemid]
doHealOverTime(item2.uid, a.div, 100, a.effect)
addEvent(setStorage, 10000, sid, 173, 0)
 
return true
end

 

 

 

exp.lua:

if isSummon(cid) and type == STATSCHANGE_HEALTHLOSS then
if getPlayerStorageValue(cid, 173) >= 1 then
setPlayerStorageValue(cid, 174, 1)
doSendAnimatedText(getThingPos(cid), "Lost Heal", 144)
end
end
---------------------------------------------------------
local expcond = createConditionObject(CONDITION_INFIGHT)
setConditionParam(expcond, CONDITION_PARAM_TICKS, 4500)
 
function onStatsChange(cid, attacker, enps, combatee, value)
if isSummon(cid) and enps == STATSCHANGE_HEALTHLOSS then
-------------------------------- Passivas -----------------------------------
--------- Eletric charges ---------
local charge = {"Pikachu", "Raichu", "Shiny Raichu"}
if isInArray(charge, getCreatureName(cid)) and math.random(1, 100) <= 15 then
   if getPlayerStorageValue(cid, 62530) >= 1 then return false end
   setPlayerStorageValue(cid, 62530, 5)
   doSendMagicEffectInSenconds(cid, 207, ELECTRICDAMAGE)
end
--------- Eletric charges ---------
-------------------------------------------Counter Helix------------------------------------
local helix = {"Alakazam", "Gengar", "Tentacruel", "Shiny Tentacruel","Haunter", "Scyther", "Scizor", "Shiny Scyther", "Hitmontop", "Shiny Hitmontop", "Pineco", "Forretress"}
if isInArray(helix, getCreatureName(cid)) and math.random(1, 100) <= 15 then
   doCounterHelix(cid)
end
-------------------------------------------Counter Helix------------------------------------
---------------------------------------Stunning Confusion-----------------------------------------
local ducks = {"Golduck", "Psyduck", "Wobbuffet"}    
 
if isInArray(ducks, getCreatureName(cid)) and math.random(1, 100) <= 20 then  
   doStingConfusion(cid)
end
---------------------------------------Stunning Confusion-----------------------------------------
local hits = {"Hitmonlee", "Shiny Hitmonlee", "Hitmonchan", "Shiny Hitmonchan"}    
 
if isInArray(hits, getCreatureName(cid)) and math.random(1, 100) <= 20 then  
   doHitmonAttacks(cid)
end
-------------------------------- Passivas -----------------------------------
end
------------------- Evento sudenAttacke --------------------------
if isZumbie(cid) and enps == STATSCHANGE_HEALTHLOSS  or isHuman(cid) and enps == STATSCHANGE_HEALTHLOSS  then
   if value >= getCreatureHealth(cid) and isZumbie(cid) then
      doTeleportThing(cid, {x = 1030, y =1040, z = 7}, false)
      doSendMagicEffect(getThingPos(cid), 21)
      doPlayerSendTextMessage(cid, 20, "Sorry, you loosed the event.")
      doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) setPlayerStorageValue(cid, 300, 0) 
      if getGlobalStorageValue(3602) == 1 then
       setGlobalStorageValue(3602, getGlobalStorageValue(3602) +9) -- Aumenta o dano dos vampiros em 10% a mais.
      elseif getGlobalStorageValue(3602) >= 10 and getGlobalStorageValue(3602) <= 50 then 
      setGlobalStorageValue(3602, getGlobalStorageValue(3602) +10) -- Aumenta o dano dos vampiros em 10% a mais.
      end
      doSendStatusDanger()
      doRemoveCondition(cid, CONDITION_OUTFIT)
   elseif value >= getCreatureHealth(cid) and isHuman(cid) then
      doPlayerSetVocation(cid, 1)
      doTeleportThing(cid, {x = 1030, y =1040, z = 7}, false)
      doSendMagicEffect(getThingPos(cid), 21)
      doPlayerSendTextMessage(cid, 20, "Sorry, you loosed the event.")
      doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) setPlayerStorageValue(cid, 301, 0)
       if getGlobalStorageValue(3602) > 1 then
          setGlobalStorageValue(3602, 1)
       end
      doSendStatusDanger() 
      doRemoveCondition(cid, CONDITION_OUTFIT)
   end
end
if isZumbie(cid) and isZumbie(attacker) or isHuman(cid) and isHuman(attacker) then
return false  -- Pra não atacar um player da mesma raça.
end
if isZumbie(cid) and isHuman(attacker) then  -- Pra tirar life
   doCreatureAddHealth(cid, -(math.floor(value*EventPlayerReduction*getGlobalStorageValue(3602))))
   doSendAnimatedText(getThingPos(cid), (math.floor(value*EventPlayerReduction*getGlobalStorageValue(3602))), 180)
   doSendMagicEffect(getThingPos(cid), 9)
elseif isZumbie(attacker) and isHuman(cid) then
   doCreatureAddHealth(cid, -(math.floor(value*EventPlayerReduction)))
   doSendAnimatedText(getThingPos(cid), math.floor(value*EventPlayerReduction), 180)
   doSendMagicEffect(getThingPos(cid), 209)
end
------------------- Evento sudenAttacke --------------------------
------------------- Para pokemon selvagem não atackar o outro --------------------------
if ehMonstro(cid) and ehMonstro(attacker) then 
   return false                                     
end
------------------- Para pokemon selvagem não atackar o outro --------------------------
 
------------------- Sleep Powder --------------------------
if isMonster(attacker) and isSleeping(attacker) then
   doSendMagicEffect(getThingPos(attacker), 32)
   return false
elseif not isSleeping(cid) and getCreatureSpeed(cid) <= 0 then
doChangeSpeed(cid, getCreatureBaseSpeed(cid))
setPlayerStorageValue(cid, 898, 0)
end
------------------- Sleep Powder --------------------------
if getPlayerStorageValue(cid, 33) >= 1 then
if isCreature(attacker) then
return false
end
return true
end
if getPlayerStorageValue(cid, 34) >= 1 then
if combatee ~= COMBAT_PHYSICALDAMAGE then
if isCreature(attacker) then
doSendMagicEffect(getThingPos(cid), 135)
doSendMagicEffect(getThingPos(attacker), 3)
doSendAnimatedText(getThingPos(cid), "REFLECT", 215)
doCreatureAddHealth(attacker, -value)
setPlayerStorageValue(cid, 34, 0)
doSendAnimatedText(getThingPos(attacker), -value, 191)
 
return false
end
end
end
if getPlayerStorageValue(cid, 35) >= 1 then
if isCreature(attacker) or isSummon(attacker) then
doSendAnimatedText(getThingPos(cid), "MISS", 215)
setPlayerStorageValue(cid, 35, 0)
return false
end
end
if not isCreature(attacker) then
return true
end
if isPlayer(attacker) and ehMonstro(cid) then
return true
end
if enps == STATSCHANGE_HEALTHGAIN then
return true
end
if enps == STATSCHANGE_HEALTHLOSS then
if getCreatureHealth(cid) <= value then
if isPlayer(cid) then
if #getCreatureSummons(cid) == 0 then
return true
end
return false
end
if isPlayer(getCreatureMaster(attacker)) then
doTargetCombatHealth(getCreatureMaster(attacker), cid, combatee, -(getCreatureHealth(cid)), -(getCreatureHealth(cid)), 3)
return false
end
return true
end
if isPlayer(getCreatureMaster(cid)) then
doAddCondition(getCreatureMaster(cid), expcond)
end
if not isPlayer(cid) then
if combatee == ELECTRICDAMAGE then
if isInArray(electric2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(electric1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(electric0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == WATERDAMAGE then
if isInArray(water2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(water1, getCreatureName(cid)) then  
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(water0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == GRASSDAMAGE then
if isInArray(grass2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 0.50
 end
elseif isInArray(grass1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(grass0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == FLYDAMAGE then
if isInArray(flying2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(flying1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(flying0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == FIREDAMAGE then
if isInArray(fire2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(fire1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(fire0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == ROCKDAMAGE then
if isInArray(rock2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(rock1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(rock0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == GROUNDDAMAGE then
if isInArray(ground2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(ground1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(ground0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == GHOSTDAMAGE then
if isInArray(ghost2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(ghost1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(ghost0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == BUGDAMAGE then
if isInArray(bug2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(bug1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(bug0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == NORMALDAMAGE then
if isInArray(normal2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(normal1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(normal0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == FIGHTDAMAGE then
if isInArray(fighting2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(fighting1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(fighting0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == POISONDAMAGE then
if isInArray(poison2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x =1
 else
    x = 2
 end
elseif isInArray(poison1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(poison0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == PSYCHICDAMAGE then
if isInArray(psychic2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(psychic1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(psychic0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == ICEDAMAGE then
if isInArray(ice2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(ice1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(ice0, getCreatureName(cid)) then
x = 0
else
x = 1
end
elseif combatee == DRAGONDAMAGE then
if isInArray(dragon2, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 1
 else
    x = 2
 end
elseif isInArray(dragon1, getCreatureName(cid)) then
 if getPlayerStorageValue(cid, 4) >= 1 then
    x = 0.20
 else
    x = 0.50
 end
elseif isInArray(dragon0, getCreatureName(cid)) then
x = 0
else
x = 1
end
else
x = 1
end
else
x = 1
end
local xx = x 
  if isSummon(cid)  and getPokemonFeed(getCreatureMaster(cid)) <= configsFoodSystem.muitaFome.id then
  xx = math.floor(xx * 2.5) - getPokemonDefBoost(getPlayerSlotItem(getCreatureMaster(cid),8).uid)
  elseif isSummon(cid) and getPokemonFeed(getCreatureMaster(cid)) > configsFoodSystem.muitaFome.id and getPokemonFeed(getCreatureMaster(cid)) <= configsFoodSystem.comfome.id then
  xx = math.floor(xx * 2.2) - getPokemonDefBoost(getPlayerSlotItem(getCreatureMaster(cid),8).uid)
  elseif isSummon(cid) and getPokemonFeed(getCreatureMaster(cid)) > configsFoodSystem.comfome.id and getPokemonFeed(getCreatureMaster(cid)) <= configsFoodSystem.normal.id then
  xx = math.floor(xx * 2.0) - getPokemonDefBoost(getPlayerSlotItem(getCreatureMaster(cid),8).uid)
  elseif isSummon(cid) and getPokemonFeed(getCreatureMaster(cid)) > configsFoodSystem.normal.id and getPokemonFeed(getCreatureMaster(cid)) <= configsFoodSystem.semfome.id then
 xx = math.floor(xx * 1.2) - getPokemonDefBoost(getPlayerSlotItem(getCreatureMaster(cid),8).uid)
  elseif isSummon(cid) and getPokemonFeed(getCreatureMaster(cid)) > configsFoodSystem.semfome.id and getPokemonFeed(getCreatureMaster(cid)) <= configsFoodSystem.feliz.id then
  xx = math.floor(xx * 1) - getPokemonDefBoost(getPlayerSlotItem(getCreatureMaster(cid),8).uid)
  elseif isSummon(cid) and getPokemonFeed(getCreatureMaster(cid)) > configsFoodSystem.feliz.id and getPokemonFeed(getCreatureMaster(cid)) <= configsFoodSystem.superfeliz.id then
  xx = xx
  else
  xx = xx
  end
  if isSummon(cid) and getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost") >= 1 then
    xx = math.floor(getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(cid),8).uid)/10) - xx
  end
if combatee == PSYCHICDAMAGE then
cor = COLOR_PSYCHIC
elseif combatee == GRASSDAMAGE then
cor = COLOR_GRASS
elseif combatee == FIREDAMAGE then
cor = COLOR_FIRE2
elseif combatee == WATERDAMAGE then
cor = COLOR_WATER
elseif combatee == ICEDAMAGE then
cor = COLOR_ICE
elseif combatee == NORMALDAMAGE then
cor = COLOR_NORMAL
elseif combatee == FLYDAMAGE then
cor = COLOR_FLYING
elseif combatee == GHOSTDAMAGE then
cor = COLOR_GHOST
elseif combatee == GROUNDDAMAGE then
cor = COLOR_GROUND
elseif combatee == ELECTRICDAMAGE then
cor = COLOR_ELECTRIC
elseif combatee == ROCKDAMAGE then
cor = COLOR_ROCK
elseif combatee == BUGDAMAGE then
cor = COLOR_BUG
elseif combatee == FIGHTDAMAGE then
cor = COLOR_FIGHTING
elseif combatee == DRAGONDAMAGE then
cor = COLOR_DRAGON
elseif combatee == POISONDAMAGE then
cor = COLOR_POISON
elseif getCreatureName(cid) == "Kakuna" or getCreatureName(cid) == "Metapod" then
cor = COLOR_BUG
elseif getCreatureName(cid) == "Golem" or getCreatureName(cid) == "Graveler" or getCreatureName(cid) == "Geodude" then
cor = COLOR_ROCK
else
cor = NONE
end
local cores = cor
if not isSummon(attacker) then
if not isPlayer(cid) and not isPlayer(getCreatureMaster(cid)) then
return false
end
if isSummon(cid) and getCreatureHealth(cid) <= (getCreatureMaxHealth(cid)*0.15) and not exhaustion.get(getCreatureMaster(cid), 88726) then
exhaustion.set(getCreatureMaster(cid), 88726, 6)
doSendMagicEffect(getThingPos(cid), 178)
end
if isPlayer(cid) then
if #getCreatureSummons(cid) >= 1 then
return false
end
doCreatureAddHealth(cid, -(math.floor(value*PlayerReduction))) -- Aqui é o valor que o playerleva
doSendAnimatedText(getThingPos(cid), (math.floor(value*PlayerReduction)), 180)
--doPlayerSendTextMessage(getCreatureMaster(cid), 27, "".. factor .."")
doSendMagicEffect(getThingPos(cid), 3)
return false
end
if getPlayerStorageValue(cid, 4) >= 1 then
if getPlayerStorageValue(attacker, 898) >= 1 then
return false
end
local damage = value
--doSendMagicEffect(getThingPos(cid), 2)
--doCreatureAddHealth(cid, -((math.floor(damage/2))*xx))
--doSendAnimatedText(getThingPos(cid), (math.floor((damage)/2)*xx), cores)
else
local damage = value
if cor == NONE then
return true
end
-------------------------------------------------------------------
if isSummon(cid) then  -- Sumoner atacado
 if getPlayerStorageValue(attacker, 202) >= 1 then
   doCreatureAddHealth(cid, -(math.floor(xx+damage-getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost")+ginasios[getPlayerStorageValue(attacker, 201)].healths)))  --- MOnster atacado
   doSendAnimatedText(getThingPos(cid), (math.floor(xx+damage-getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost")+ginasios[getPlayerStorageValue(attacker, 201)].healths)), cores)
 else
 doCreatureAddHealth(cid, -(math.floor(xx+damage-getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost"))))  --- MOnster atacado
 doSendAnimatedText(getThingPos(cid), (math.floor(xx+damage-getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost"))), cores)
 end
doSendMagicEffect(getThingPos(cid), 3)
elseif ehMonstro(cid) then --- Monster atacado
doCreatureAddHealth(cid, -(math.floor(xx+damage*getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost")*MonsterReduction)))  
doSendAnimatedText(getThingPos(cid), (math.floor(xx+damage+getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid),8).uid, "boost"))), cores)
doSendMagicEffect(getThingPos(cid), 3)
end
-------------------------------------------------------------------
return false
end
return false
end
if isSummon(attacker) then  --pokemon do player
if isSummon(cid) then
return false
end
combatx = combatee
local factor = value
------------------------------------------------------------------------------------------------------------------------
  if isSummon(attacker) and ehMonstro(cid) and getPokemonFeed(getCreatureMaster(attacker)) <= configsFoodSystem.muitaFome.id then
  factor = factor * 0.4  + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  elseif isSummon(attacker) and ehMonstro(cid) and getPokemonFeed(getCreatureMaster(attacker)) > configsFoodSystem.muitaFome.id and getPokemonFeed(getCreatureMaster(attacker)) <= configsFoodSystem.comfome.id then
  factor = factor * 0.10 + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  elseif isSummon(attacker) and ehMonstro(cid) and getPokemonFeed(getCreatureMaster(attacker)) > configsFoodSystem.comfome.id and getPokemonFeed(getCreatureMaster(attacker)) <= configsFoodSystem.normal.id then
  factor = factor * 0.25 + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  elseif isSummon(attacker) and ehMonstro(cid) and getPokemonFeed(getCreatureMaster(attacker)) > configsFoodSystem.normal.id and getPokemonFeed(getCreatureMaster(attacker)) <= configsFoodSystem.semfome.id then
 factor = factor * 0.50  + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  elseif isSummon(attacker) and ehMonstro(cid) and getPokemonFeed(getCreatureMaster(attacker)) > configsFoodSystem.semfome.id and getPokemonFeed(getCreatureMaster(attacker)) <= configsFoodSystem.feliz.id then
  factor = factor * 0.60 + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  elseif isSummon(attacker) and ehMonstro(cid) and getPokemonFeed(getCreatureMaster(attacker)) > configsFoodSystem.feliz.id and getPokemonFeed(getCreatureMaster(attacker)) <= configsFoodSystem.superfeliz.id then
  factor = factor * 0.85 + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  else
  factor = factor + getPokemonBoostHit(getPlayerSlotItem(getCreatureMaster(attacker),8).uid)*MonsterReduction
  end
    if getPlayerStorageValue(cid, 202) >= 1 then
       factor = factor * 0.50 -- Para os pokemons de duel apanharem.
    end
------------------------------------------------------------------------------------------------------------------------
if getPlayerStorageValue(cid, 4) >= 1 then    
doTargetCombatHealth(getCreatureMaster(attacker), cid, combatx, -((factor / 2)*x), -(((factor / 2)+10)*x), 255)
if not isPlayer(cid) then
doSendAnimatedText(getThingPos(cid), math.floor(((factor / 2)*x), -(((factor / 2)+10)*x)), cores)
end
else
doTargetCombatHealth(getCreatureMaster(attacker), cid, combatx, -((factor)*x), -((factor+10)*x), 255)
if not isPlayer(cid) then
doSendAnimatedText(getThingPos(cid), math.floor(((factor)*x), -((factor+10)*x)), cores)
end
end
end
end
end

.


..


...

Editado por Techrlz
Link para o comentário
https://xtibia.com/forum/topic/231413-duvida-potion-lost-heal/
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...