mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Fixed not getting berry's effect at full HP or under Heal Block when using Bug Bite/Pluck
This commit is contained in:
@@ -8,7 +8,7 @@ class PokeBattle_Battler
|
||||
amt = 1 if amt<1 && !fainted?
|
||||
oldHP = @hp
|
||||
self.hp -= amt
|
||||
PBDebug.log("[HP change] #{pbThis} lost #{amt} HP (#{oldHP}=>#{@hp})")
|
||||
PBDebug.log("[HP change] #{pbThis} lost #{amt} HP (#{oldHP}=>#{@hp})") if amt>0
|
||||
raise _INTL("HP less than 0") if @hp<0
|
||||
raise _INTL("HP greater than total HP") if @hp>@totalhp
|
||||
@battle.scene.pbHPChanged(self,oldHP,anim) if anyAnim && amt>0
|
||||
@@ -22,7 +22,7 @@ class PokeBattle_Battler
|
||||
amt = 1 if amt<1 && @hp<@totalhp
|
||||
oldHP = @hp
|
||||
self.hp += amt
|
||||
PBDebug.log("[HP change] #{pbThis} gained #{amt} HP (#{oldHP}=>#{@hp})")
|
||||
PBDebug.log("[HP change] #{pbThis} gained #{amt} HP (#{oldHP}=>#{@hp})") if amt>0
|
||||
raise _INTL("HP less than 0") if @hp<0
|
||||
raise _INTL("HP greater than total HP") if @hp>@totalhp
|
||||
@battle.scene.pbHPChanged(self,oldHP,anim) if anyAnim && amt>0
|
||||
|
||||
@@ -245,10 +245,9 @@ class PokeBattle_Battler
|
||||
end
|
||||
end
|
||||
|
||||
# forcedItem is an item ID for Pluck/Fling, and 0 otherwise. fling is for
|
||||
# Fling only.
|
||||
# forcedItem is an item ID for Bug Bite/Pluck/Fling, and 0 otherwise.
|
||||
# fling is for Fling only.
|
||||
def pbItemHPHealCheck(forcedItem=0,fling=false)
|
||||
return if !canHeal?
|
||||
return if forcedItem==0 && !itemActive?
|
||||
thisItem = (forcedItem>0) ? forcedItem : @item
|
||||
if BattleHandlers.triggerHPHealItem(thisItem,self,@battle,(forcedItem!=0))
|
||||
|
||||
@@ -490,13 +490,14 @@ DEF_MULT = 2
|
||||
FINAL_DMG_MULT = 3
|
||||
|
||||
def pbBattleConfusionBerry(battler,battle,item,forced,flavor,confuseMsg)
|
||||
return false if !forced && !battler.canHeal?
|
||||
return false if !forced && !battler.pbCanConsumeBerry?(item,false)
|
||||
itemName = PBItems.getName(item)
|
||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||
amt = (NEWEST_BATTLE_MECHANICS) ? battler.pbRecoverHP(battler.totalhp/2) : battler.pbRecoverHP(battler.totalhp/8)
|
||||
if amt>0
|
||||
if forced
|
||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||
battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis))
|
||||
else
|
||||
battle.pbDisplay(_INTL("{1} restored its health using its {2}!",battler.pbThis,itemName))
|
||||
@@ -515,12 +516,12 @@ def pbBattleStatIncreasingBerry(battler,battle,item,forced,stat,increment=1)
|
||||
return false if !forced && !battler.pbCanConsumeBerry?(item)
|
||||
return false if !battler.pbCanRaiseStatStage?(stat,battler)
|
||||
itemName = PBItems.getName(item)
|
||||
if !forced
|
||||
battle.pbCommonAnimation("EatBerry",battler)
|
||||
return battler.pbRaiseStatStageByCause(stat,increment,battler,itemName)
|
||||
if forced
|
||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||
return battler.pbRaiseStatStage(stat,increment,battler)
|
||||
end
|
||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||
return battler.pbRaiseStatStage(stat,increment,battler)
|
||||
battle.pbCommonAnimation("EatBerry",battler)
|
||||
return battler.pbRaiseStatStageByCause(stat,increment,battler,itemName)
|
||||
end
|
||||
|
||||
# For abilities that grant immunity to moves of a particular type, and raises
|
||||
|
||||
@@ -60,16 +60,16 @@ BattleHandlers::HPHealItem.add(:APICOTBERRY,
|
||||
|
||||
BattleHandlers::HPHealItem.add(:BERRYJUICE,
|
||||
proc { |item,battler,battle,forced|
|
||||
next false if !battler.canHeal?
|
||||
next false if !forced && battler.hp>battler.totalhp/2
|
||||
itemName = PBItems.getName(item)
|
||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}") if forced
|
||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}") if forced
|
||||
battle.pbCommonAnimation("UseItem",battler) if !forced
|
||||
battler.pbRecoverHP(20)
|
||||
if forced
|
||||
battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis))
|
||||
else
|
||||
battle.pbDisplay(_INTL("{1} restored its health using its {2}!",battler.pbThis,
|
||||
itemName))
|
||||
battle.pbDisplay(_INTL("{1} restored its health using its {2}!",battler.pbThis,itemName))
|
||||
end
|
||||
next true
|
||||
}
|
||||
@@ -102,7 +102,11 @@ BattleHandlers::HPHealItem.add(:LANSATBERRY,
|
||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||
battler.effects[PBEffects::FocusEnergy] = 2
|
||||
itemName = PBItems.getName(item)
|
||||
battle.pbDisplay(_INTL("{1} used its {2} to get pumped!",battler.pbThis,itemName))
|
||||
if forced
|
||||
battle.pbDisplay(_INTL("{1} got pumped from the {2}!",battler.pbThis,itemName))
|
||||
else
|
||||
battle.pbDisplay(_INTL("{1} used its {2} to get pumped!",battler.pbThis,itemName))
|
||||
end
|
||||
next true
|
||||
}
|
||||
)
|
||||
@@ -128,7 +132,7 @@ BattleHandlers::HPHealItem.add(:MICLEBERRY,
|
||||
battler.effects[PBEffects::MicleBerry] = true
|
||||
itemName = PBItems.getName(item)
|
||||
if forced
|
||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||
battle.pbDisplay(_INTL("{1} boosted the accuracy of its next move!",battler.pbThis))
|
||||
else
|
||||
battle.pbDisplay(_INTL("{1} boosted the accuracy of its next move using its {2}!",
|
||||
@@ -140,17 +144,17 @@ BattleHandlers::HPHealItem.add(:MICLEBERRY,
|
||||
|
||||
BattleHandlers::HPHealItem.add(:ORANBERRY,
|
||||
proc { |item,battler,battle,forced|
|
||||
next false if !battler.canHeal?
|
||||
next false if !forced && battle.pbCheckOpposingAbility(:UNNERVE,battler.index)
|
||||
next false if !forced && battler.hp>battler.totalhp/2
|
||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||
battler.pbRecoverHP(10)
|
||||
itemName = PBItems.getName(item)
|
||||
if forced
|
||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||
battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis))
|
||||
else
|
||||
battle.pbDisplay(_INTL("{1} restored a little HP using its {2}!",battler.pbThis,
|
||||
itemName))
|
||||
battle.pbDisplay(_INTL("{1} restored a little HP using its {2}!",battler.pbThis,itemName))
|
||||
end
|
||||
next true
|
||||
}
|
||||
@@ -170,17 +174,17 @@ BattleHandlers::HPHealItem.add(:SALACBERRY,
|
||||
|
||||
BattleHandlers::HPHealItem.add(:SITRUSBERRY,
|
||||
proc { |item,battler,battle,forced|
|
||||
next false if !battler.canHeal?
|
||||
next false if !forced && battle.pbCheckOpposingAbility(:UNNERVE,battler.index)
|
||||
next false if !forced && battler.hp>battler.totalhp/2
|
||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||
battler.pbRecoverHP(battler.totalhp/4)
|
||||
itemName = PBItems.getName(item)
|
||||
if forced
|
||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||
battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis))
|
||||
else
|
||||
battle.pbDisplay(_INTL("{1} restored its health using its {2}!",battler.pbThis,
|
||||
itemName))
|
||||
battle.pbDisplay(_INTL("{1} restored its health using its {2}!",battler.pbThis,itemName))
|
||||
end
|
||||
next true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user