mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 13:44:59 +00:00
Added effects of Ripen/Gorilla Tactics/Steam Engine, fixed SE move-weakening berries working on normal effectiveness moves as well
This commit is contained in:
@@ -145,7 +145,7 @@ class PokeBattle_Battler
|
|||||||
# permanent is whether the item is lost even after battle. Is false for Knock
|
# permanent is whether the item is lost even after battle. Is false for Knock
|
||||||
# Off.
|
# Off.
|
||||||
def pbRemoveItem(permanent = true)
|
def pbRemoveItem(permanent = true)
|
||||||
@effects[PBEffects::ChoiceBand] = nil
|
@effects[PBEffects::ChoiceBand] = nil if ability_id != :GORILLATACTICS
|
||||||
@effects[PBEffects::Unburden] = true if self.item
|
@effects[PBEffects::Unburden] = true if self.item
|
||||||
setInitialItem(nil) if permanent && self.item == self.initialItem
|
setInitialItem(nil) if permanent && self.item == self.initialItem
|
||||||
self.item = nil
|
self.item = nil
|
||||||
|
|||||||
@@ -108,7 +108,8 @@ class PokeBattle_Battler
|
|||||||
def pbEndTurn(_choice)
|
def pbEndTurn(_choice)
|
||||||
@lastRoundMoved = @battle.turnCount # Done something this round
|
@lastRoundMoved = @battle.turnCount # Done something this round
|
||||||
if !@effects[PBEffects::ChoiceBand] &&
|
if !@effects[PBEffects::ChoiceBand] &&
|
||||||
hasActiveItem?([:CHOICEBAND,:CHOICESPECS,:CHOICESCARF])
|
(hasActiveItem?([:CHOICEBAND,:CHOICESPECS,:CHOICESCARF]) ||
|
||||||
|
hasActiveAbility?(:GORILLATACTICS))
|
||||||
if @lastMoveUsed && pbHasMove?(@lastMoveUsed)
|
if @lastMoveUsed && pbHasMove?(@lastMoveUsed)
|
||||||
@effects[PBEffects::ChoiceBand] = @lastMoveUsed
|
@effects[PBEffects::ChoiceBand] = @lastMoveUsed
|
||||||
elsif @lastRegularMoveUsed && pbHasMove?(@lastRegularMoveUsed)
|
elsif @lastRegularMoveUsed && pbHasMove?(@lastRegularMoveUsed)
|
||||||
@@ -726,6 +727,17 @@ class PokeBattle_Battler
|
|||||||
@battle.pbDisplay(_INTL("The {1} weakened the damage to {2}!",b.itemName,b.pbThis(true)))
|
@battle.pbDisplay(_INTL("The {1} weakened the damage to {2}!",b.itemName,b.pbThis(true)))
|
||||||
b.pbConsumeItem
|
b.pbConsumeItem
|
||||||
end
|
end
|
||||||
|
# Steam Engine (goes here because it should be after stat changes caused by
|
||||||
|
# the move)
|
||||||
|
if [:FIRE, :WATER].include?(move.calcType)
|
||||||
|
targets.each do |b|
|
||||||
|
next if b.damageState.unaffected
|
||||||
|
next if b.damageState.calcDamage == 0 || b.damageState.substitute
|
||||||
|
next if !b.hasActiveAbility?(:STEAMENGINE)
|
||||||
|
b.pbRaiseStatStageByAbility(:SPEED, 6, b) if b.pbCanRaiseStatStage?(:SPEED, b)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# Fainting
|
||||||
targets.each { |b| b.pbFaint if b && b.fainted? }
|
targets.each { |b| b.pbFaint if b && b.fainted? }
|
||||||
user.pbFaint if user.fainted?
|
user.pbFaint if user.fainted?
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -40,20 +40,22 @@ class PokeBattle_Battler
|
|||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
# Choice Band
|
# Choice Band/Gorilla Tactics
|
||||||
if @effects[PBEffects::ChoiceBand]
|
@effects[PBEffects::ChoiceBand] = nil if !pbHasMove?(@effects[PBEffects::ChoiceBand])
|
||||||
if hasActiveItem?([:CHOICEBAND,:CHOICESPECS,:CHOICESCARF]) &&
|
if @effects[PBEffects::ChoiceBand] && move.id != @effects[PBEffects::ChoiceBand]
|
||||||
pbHasMove?(@effects[PBEffects::ChoiceBand])
|
choiced_move_name = GameData::Move.get(@effects[PBEffects::ChoiceBand]).name
|
||||||
if move.id!=@effects[PBEffects::ChoiceBand]
|
if hasActiveItem?([:CHOICEBAND, :CHOICESPECS, :CHOICESCARF])
|
||||||
if showMessages
|
if showMessages
|
||||||
msg = _INTL("{1} allows the use of only {2}!",itemName,
|
msg = _INTL("The {1} only allows the use of {2}!",itemName, choiced_move_name)
|
||||||
GameData::Move.get(@effects[PBEffects::ChoiceBand]).name)
|
(commandPhase) ? @battle.pbDisplayPaused(msg) : @battle.pbDisplay(msg)
|
||||||
(commandPhase) ? @battle.pbDisplayPaused(msg) : @battle.pbDisplay(msg)
|
|
||||||
end
|
|
||||||
return false
|
|
||||||
end
|
end
|
||||||
else
|
return false
|
||||||
@effects[PBEffects::ChoiceBand] = nil
|
elsif hasActiveAbility?(:GORILLATACTICS)
|
||||||
|
if showMessages
|
||||||
|
msg = _INTL("{1} can only use {2}!", pbThis, choiced_move_name)
|
||||||
|
(commandPhase) ? @battle.pbDisplayPaused(msg) : @battle.pbDisplay(msg)
|
||||||
|
end
|
||||||
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# Taunt
|
# Taunt
|
||||||
|
|||||||
@@ -487,12 +487,20 @@ def pbBattleConfusionBerry(battler,battle,item,forced,flavor,confuseMsg)
|
|||||||
return false if !forced && !battler.canHeal?
|
return false if !forced && !battler.canHeal?
|
||||||
return false if !forced && !battler.canConsumePinchBerry?(Settings::MECHANICS_GENERATION >= 7)
|
return false if !forced && !battler.canConsumePinchBerry?(Settings::MECHANICS_GENERATION >= 7)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
|
||||||
fraction_to_heal = 8 # Gens 6 and lower
|
fraction_to_heal = 8 # Gens 6 and lower
|
||||||
if Settings::MECHANICS_GENERATION == 7; fraction_to_heal = 2
|
if Settings::MECHANICS_GENERATION == 7; fraction_to_heal = 2
|
||||||
elsif Settings::MECHANICS_GENERATION >= 8; fraction_to_heal = 3
|
elsif Settings::MECHANICS_GENERATION >= 8; fraction_to_heal = 3
|
||||||
end
|
end
|
||||||
amt = battler.pbRecoverHP(battler.totalhp / fraction_to_heal)
|
amt = battler.totalhp / fraction_to_heal
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
|
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
||||||
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
amt = battler.pbRecoverHP(amt)
|
||||||
if amt>0
|
if amt>0
|
||||||
if forced
|
if forced
|
||||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||||
@@ -515,12 +523,17 @@ def pbBattleStatIncreasingBerry(battler,battle,item,forced,stat,increment=1)
|
|||||||
return false if !forced && !battler.canConsumePinchBerry?
|
return false if !forced && !battler.canConsumePinchBerry?
|
||||||
return false if !battler.pbCanRaiseStatStage?(stat,battler)
|
return false if !battler.pbCanRaiseStatStage?(stat,battler)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
if forced
|
ripening = false
|
||||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
return battler.pbRaiseStatStage(stat,increment,battler)
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
increment *= 2
|
||||||
|
ripening = true
|
||||||
end
|
end
|
||||||
battle.pbCommonAnimation("EatBerry",battler)
|
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
||||||
return battler.pbRaiseStatStageByCause(stat,increment,battler,itemName)
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
return battler.pbRaiseStatStageByCause(stat, increment, battler, itemName) if !forced
|
||||||
|
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||||
|
return battler.pbRaiseStatStage(stat, increment, battler)
|
||||||
end
|
end
|
||||||
|
|
||||||
# For abilities that grant immunity to moves of a particular type, and raises
|
# For abilities that grant immunity to moves of a particular type, and raises
|
||||||
@@ -585,10 +598,17 @@ end
|
|||||||
|
|
||||||
def pbBattleTypeWeakingBerry(type,moveType,target,mults)
|
def pbBattleTypeWeakingBerry(type,moveType,target,mults)
|
||||||
return if moveType != type
|
return if moveType != type
|
||||||
return if Effectiveness.resistant?(target.damageState.typeMod) && moveType != :NORMAL
|
return if !Effectiveness.super_effective?(target.damageState.typeMod) && moveType != :NORMAL
|
||||||
mults[:final_damage_multiplier] /= 2
|
mults[:final_damage_multiplier] /= 2
|
||||||
target.damageState.berryWeakened = true
|
target.damageState.berryWeakened = true
|
||||||
|
ripening = false
|
||||||
|
if target.hasActiveAbility?(:RIPEN)
|
||||||
|
target.battle.pbShowAbilitySplash(target)
|
||||||
|
mults[:final_damage_multiplier] /= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
target.battle.pbCommonAnimation("EatBerry",target)
|
target.battle.pbCommonAnimation("EatBerry",target)
|
||||||
|
target.battle.pbHideAbilitySplash(target) if ripening
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbBattleWeatherAbility(weather,battler,battle,ignorePrimal=false)
|
def pbBattleWeatherAbility(weather,battler,battle,ignorePrimal=false)
|
||||||
|
|||||||
@@ -3342,10 +3342,10 @@ class PokeBattle_Move_0F2 < PokeBattle_Move
|
|||||||
oldUserItem = user.item; oldUserItemName = user.itemName
|
oldUserItem = user.item; oldUserItemName = user.itemName
|
||||||
oldTargetItem = target.item; oldTargetItemName = target.itemName
|
oldTargetItem = target.item; oldTargetItemName = target.itemName
|
||||||
user.item = oldTargetItem
|
user.item = oldTargetItem
|
||||||
user.effects[PBEffects::ChoiceBand] = nil
|
user.effects[PBEffects::ChoiceBand] = nil if user.ability_id != :GORILLATACTICS
|
||||||
user.effects[PBEffects::Unburden] = (!user.item && oldUserItem)
|
user.effects[PBEffects::Unburden] = (!user.item && oldUserItem)
|
||||||
target.item = oldUserItem
|
target.item = oldUserItem
|
||||||
target.effects[PBEffects::ChoiceBand] = nil
|
target.effects[PBEffects::ChoiceBand] = nil if target.ability_id != :GORILLATACTICS
|
||||||
target.effects[PBEffects::Unburden] = (!target.item && oldTargetItem)
|
target.effects[PBEffects::Unburden] = (!target.item && oldTargetItem)
|
||||||
# Permanently steal the item from wild Pokémon
|
# Permanently steal the item from wild Pokémon
|
||||||
if @battle.wildBattle? && target.opposes? && !user.initialItem &&
|
if @battle.wildBattle? && target.opposes? && !user.initialItem &&
|
||||||
|
|||||||
@@ -146,8 +146,16 @@ BattleHandlers::HPHealItem.add(:ORANBERRY,
|
|||||||
proc { |item,battler,battle,forced|
|
proc { |item,battler,battle,forced|
|
||||||
next false if !battler.canHeal?
|
next false if !battler.canHeal?
|
||||||
next false if !forced && !battler.canConsumePinchBerry?(false)
|
next false if !forced && !battler.canConsumePinchBerry?(false)
|
||||||
|
amt = 10
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||||
battler.pbRecoverHP(10)
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
battler.pbRecoverHP(amt)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
if forced
|
if forced
|
||||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||||
@@ -175,8 +183,16 @@ BattleHandlers::HPHealItem.add(:SITRUSBERRY,
|
|||||||
proc { |item,battler,battle,forced|
|
proc { |item,battler,battle,forced|
|
||||||
next false if !battler.canHeal?
|
next false if !battler.canHeal?
|
||||||
next false if !forced && !battler.canConsumePinchBerry?(false)
|
next false if !forced && !battler.canConsumePinchBerry?(false)
|
||||||
|
amt = battler.totalhp / 4
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||||
battler.pbRecoverHP(battler.totalhp/4)
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
battler.pbRecoverHP(amt)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
if forced
|
if forced
|
||||||
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
PBDebug.log("[Item triggered] Forced consuming of #{itemName}")
|
||||||
@@ -1037,9 +1053,17 @@ BattleHandlers::TargetItemOnHit.add(:JABOCABERRY,
|
|||||||
next if !target.canConsumeBerry?
|
next if !target.canConsumeBerry?
|
||||||
next if !move.physicalMove?
|
next if !move.physicalMove?
|
||||||
next if !user.takesIndirectDamage?
|
next if !user.takesIndirectDamage?
|
||||||
battle.pbCommonAnimation("EatBerry",target)
|
amt = user.totalhp / 8
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
|
battle.pbCommonAnimation("EatBerry", target)
|
||||||
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
battle.scene.pbDamageAnimation(user)
|
battle.scene.pbDamageAnimation(user)
|
||||||
user.pbReduceHP(user.totalhp/8,false)
|
user.pbReduceHP(amt, false)
|
||||||
battle.pbDisplay(_INTL("{1} consumed its {2} and hurt {3}!",target.pbThis,
|
battle.pbDisplay(_INTL("{1} consumed its {2} and hurt {3}!",target.pbThis,
|
||||||
target.itemName,user.pbThis(true)))
|
target.itemName,user.pbThis(true)))
|
||||||
target.pbHeldItemTriggered(item)
|
target.pbHeldItemTriggered(item)
|
||||||
@@ -1099,9 +1123,17 @@ BattleHandlers::TargetItemOnHit.add(:ROWAPBERRY,
|
|||||||
next if !target.canConsumeBerry?
|
next if !target.canConsumeBerry?
|
||||||
next if !move.specialMove?
|
next if !move.specialMove?
|
||||||
next if !user.takesIndirectDamage?
|
next if !user.takesIndirectDamage?
|
||||||
battle.pbCommonAnimation("EatBerry",target)
|
amt = user.totalhp / 8
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
|
battle.pbCommonAnimation("EatBerry", target)
|
||||||
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
battle.scene.pbDamageAnimation(user)
|
battle.scene.pbDamageAnimation(user)
|
||||||
user.pbReduceHP(user.totalhp/8,false)
|
user.pbReduceHP(amt, false)
|
||||||
battle.pbDisplay(_INTL("{1} consumed its {2} and hurt {3}!",target.pbThis,
|
battle.pbDisplay(_INTL("{1} consumed its {2} and hurt {3}!",target.pbThis,
|
||||||
target.itemName,user.pbThis(true)))
|
target.itemName,user.pbThis(true)))
|
||||||
target.pbHeldItemTriggered(item)
|
target.pbHeldItemTriggered(item)
|
||||||
@@ -1167,8 +1199,16 @@ BattleHandlers::TargetItemOnHitPositiveBerry.add(:ENIGMABERRY,
|
|||||||
next false if !forced && !battler.canConsumeBerry?
|
next false if !forced && !battler.canConsumeBerry?
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}") if forced
|
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}") if forced
|
||||||
|
amt = battler.totalhp / 4
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
battle.pbCommonAnimation("EatBerry",battler) if !forced
|
||||||
battler.pbRecoverHP(battler.totalhp/4)
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
battler.pbRecoverHP(amt)
|
||||||
if forced
|
if forced
|
||||||
battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis))
|
battle.pbDisplay(_INTL("{1}'s HP was restored.",battler.pbThis))
|
||||||
else
|
else
|
||||||
@@ -1184,12 +1224,18 @@ BattleHandlers::TargetItemOnHitPositiveBerry.add(:KEEBERRY,
|
|||||||
next false if !forced && !battler.canConsumeBerry?
|
next false if !forced && !battler.canConsumeBerry?
|
||||||
next false if !battler.pbCanRaiseStatStage?(:DEFENSE,battler)
|
next false if !battler.pbCanRaiseStatStage?(:DEFENSE,battler)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
if !forced
|
amt = 1
|
||||||
battle.pbCommonAnimation("EatBerry",battler)
|
ripening = false
|
||||||
next battler.pbRaiseStatStageByCause(:DEFENSE,1,battler,itemName)
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
end
|
end
|
||||||
|
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
||||||
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
next battler.pbRaiseStatStageByCause(:DEFENSE, amt, battler, itemName) if !forced
|
||||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||||
next battler.pbRaiseStatStage(:DEFENSE,1,battler)
|
next battler.pbRaiseStatStage(:DEFENSE, amt, battler)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1198,12 +1244,18 @@ BattleHandlers::TargetItemOnHitPositiveBerry.add(:MARANGABERRY,
|
|||||||
next false if !forced && !battler.canConsumeBerry?
|
next false if !forced && !battler.canConsumeBerry?
|
||||||
next false if !battler.pbCanRaiseStatStage?(:SPECIAL_DEFENSE,battler)
|
next false if !battler.pbCanRaiseStatStage?(:SPECIAL_DEFENSE,battler)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
if !forced
|
amt = 1
|
||||||
battle.pbCommonAnimation("EatBerry",battler)
|
ripening = false
|
||||||
next battler.pbRaiseStatStageByCause(:SPECIAL_DEFENSE,1,battler,itemName)
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
end
|
end
|
||||||
|
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
||||||
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
|
next battler.pbRaiseStatStageByCause(:SPECIAL_DEFENSE, amt, battler, itemName) if !forced
|
||||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}")
|
||||||
next battler.pbRaiseStatStage(:SPECIAL_DEFENSE,1,battler)
|
next battler.pbRaiseStatStage(:SPECIAL_DEFENSE, amt, battler)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1292,11 +1344,19 @@ BattleHandlers::EndOfMoveItem.add(:LEPPABERRY,
|
|||||||
next false if found_empty_moves.empty? && (!forced || found_partial_moves.empty?)
|
next false if found_empty_moves.empty? && (!forced || found_partial_moves.empty?)
|
||||||
itemName = GameData::Item.get(item).name
|
itemName = GameData::Item.get(item).name
|
||||||
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}") if forced
|
PBDebug.log("[Item triggered] #{battler.pbThis}'s #{itemName}") if forced
|
||||||
|
amt = 10
|
||||||
|
ripening = false
|
||||||
|
if battler.hasActiveAbility?(:RIPEN)
|
||||||
|
battle.pbShowAbilitySplash(battler, forced)
|
||||||
|
amt *= 2
|
||||||
|
ripening = true
|
||||||
|
end
|
||||||
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
battle.pbCommonAnimation("EatBerry", battler) if !forced
|
||||||
|
battle.pbHideAbilitySplash(battler) if ripening
|
||||||
choice = found_empty_moves.first
|
choice = found_empty_moves.first
|
||||||
choice = found_partial_moves.first if forced && choice.nil?
|
choice = found_partial_moves.first if forced && choice.nil?
|
||||||
pkmnMove = battler.pokemon.moves[choice]
|
pkmnMove = battler.pokemon.moves[choice]
|
||||||
pkmnMove.pp += 10
|
pkmnMove.pp += amt
|
||||||
pkmnMove.pp = pkmnMove.total_pp if pkmnMove.pp > pkmnMove.total_pp
|
pkmnMove.pp = pkmnMove.total_pp if pkmnMove.pp > pkmnMove.total_pp
|
||||||
battler.moves[choice].pp = pkmnMove.pp
|
battler.moves[choice].pp = pkmnMove.pp
|
||||||
moveName = pkmnMove.name
|
moveName = pkmnMove.name
|
||||||
|
|||||||
@@ -324,27 +324,20 @@ BattleHandlers::EORWeatherAbility.add(:ICEFACE,
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
BattleHandlers::DamageCalcUserAbility.add(:GORILLATACTICS,
|
||||||
|
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||||
|
mults[:attack_multiplier] *= 1.5
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
Steam Engine
|
|
||||||
When bearer is hit by a Fire- or Water-type move, bearer gets +6 Speed (after
|
|
||||||
the effect of that move is applied). Outside of battle, makes eggs hatch twice
|
|
||||||
as fast (doesn't stack with other such abilities).
|
|
||||||
|
|
||||||
Gorilla Tactics
|
|
||||||
Boosts bearer's Attack by 50%, but restricts bearer to one move (cf. Choice
|
|
||||||
Band). Power boost stacks with Choice Band.
|
|
||||||
|
|
||||||
Mirror Armor
|
Mirror Armor
|
||||||
If a move/ability tries to lower the bearer's stat(s), the effect is reflected
|
If a move/ability tries to lower the bearer's stat(s), the effect is reflected
|
||||||
back at the causer.
|
back at the causer.
|
||||||
|
|
||||||
Ripen
|
|
||||||
Doubles the effects of the bearer's held berries.
|
|
||||||
|
|
||||||
Neutralizing Gas
|
Neutralizing Gas
|
||||||
Suppresses all other abilities. Once this ability stops applying, triggers all
|
Suppresses all other abilities. Once this ability stops applying, triggers all
|
||||||
abilities that activate when gained (if this happens because bearer switches
|
abilities that activate when gained (if this happens because bearer switches
|
||||||
|
|||||||
Reference in New Issue
Block a user