mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 21:54:58 +00:00
Some bug fixes, added PriorityChange item handler
This commit is contained in:
@@ -162,6 +162,9 @@ class Battle
|
||||
if b.abilityActive?
|
||||
pri = Battle::AbilityEffects.triggerPriorityChange(b.ability, b, move, pri)
|
||||
end
|
||||
if b.itemActive?
|
||||
pri = Battle::ItemEffects.triggerPriorityChange(b.item, b, move, pri)
|
||||
end
|
||||
entry[5] = pri
|
||||
@choices[b.index][4] = pri
|
||||
end
|
||||
@@ -199,6 +202,9 @@ class Battle
|
||||
if entry[0].abilityActive?
|
||||
pri = Battle::AbilityEffects.triggerPriorityChange(entry[0].ability, entry[0], move, pri)
|
||||
end
|
||||
if entry[0].itemActive?
|
||||
pri = Battle::ItemEffects.triggerPriorityChange(entry[0].item, entry[0], move, pri)
|
||||
end
|
||||
needRearranging = true if pri != entry[5]
|
||||
entry[5] = pri
|
||||
choice[4] = pri
|
||||
|
||||
@@ -266,10 +266,12 @@ class Battle::Move
|
||||
oldHP += b.damageState.hpLost
|
||||
end
|
||||
effectiveness = 0
|
||||
if Effectiveness.resistant?(b.damageState.typeMod)
|
||||
effectiveness = 1
|
||||
elsif Effectiveness.super_effective?(b.damageState.typeMod)
|
||||
effectiveness = 2
|
||||
if !self.is_a?(Battle::Move::FixedDamageMove)
|
||||
if Effectiveness.resistant?(b.damageState.typeMod)
|
||||
effectiveness = 1
|
||||
elsif Effectiveness.super_effective?(b.damageState.typeMod)
|
||||
effectiveness = 2
|
||||
end
|
||||
end
|
||||
animArray.push([b, oldHP, effectiveness])
|
||||
end
|
||||
|
||||
@@ -71,6 +71,9 @@ class Battle::AI::AIMove
|
||||
ret = Battle::AbilityEffects.triggerPriorityChange(user.ability, user.battler, @move, ret)
|
||||
user.battler.effects[PBEffects::Prankster] = false # Untrigger this
|
||||
end
|
||||
if user.item_active?
|
||||
ret = Battle::ItemEffects.triggerPriorityChange(user.item, user.battler, @move, ret)
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ module Battle::ItemEffects
|
||||
# Battler's stat stages
|
||||
StatLossImmunity = ItemHandlerHash.new
|
||||
# Priority and turn order
|
||||
PriorityChange = ItemHandlerHash.new
|
||||
PriorityBracketChange = ItemHandlerHash.new
|
||||
PriorityBracketUse = ItemHandlerHash.new
|
||||
# Move usage failures
|
||||
@@ -91,6 +92,10 @@ module Battle::ItemEffects
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
def self.triggerPriorityChange(item, battler, move, priority)
|
||||
return trigger(PriorityChange, item, battler, move, priority, ret: priority)
|
||||
end
|
||||
|
||||
def self.triggerPriorityBracketChange(item, battler, battle)
|
||||
return trigger(PriorityBracketChange, item, battler, battle, ret: 0)
|
||||
end
|
||||
@@ -647,6 +652,12 @@ Battle::ItemEffects::StatLossImmunity.add(:CLEARAMULET,
|
||||
}
|
||||
)
|
||||
|
||||
#===============================================================================
|
||||
# PriorityChange handlers
|
||||
#===============================================================================
|
||||
|
||||
# There aren't any!
|
||||
|
||||
#===============================================================================
|
||||
# PriorityBracketChange handlers
|
||||
#===============================================================================
|
||||
|
||||
Reference in New Issue
Block a user