mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-12 07:35:00 +00:00
Coded some Gen 9 ability/item/move effects
This commit is contained in:
@@ -9,6 +9,8 @@ module Battle::ItemEffects
|
||||
OnStatLoss = ItemHandlerHash.new
|
||||
# Battler's status problem
|
||||
StatusCure = ItemHandlerHash.new
|
||||
# Battler's stat stages
|
||||
StatLossImmunity = ItemHandlerHash.new
|
||||
# Priority and turn order
|
||||
PriorityBracketChange = ItemHandlerHash.new
|
||||
PriorityBracketUse = ItemHandlerHash.new
|
||||
@@ -83,6 +85,12 @@ module Battle::ItemEffects
|
||||
|
||||
#=============================================================================
|
||||
|
||||
def self.triggerStatLossImmunity(item, battler, stat, battle, show_messages)
|
||||
return trigger(StatLossImmunity, item, battler, stat, battle, show_messages)
|
||||
end
|
||||
|
||||
#=============================================================================
|
||||
|
||||
def self.triggerPriorityBracketChange(item, battler, battle)
|
||||
return trigger(PriorityBracketChange, item, battler, battle, ret: 0)
|
||||
end
|
||||
@@ -627,6 +635,18 @@ Battle::ItemEffects::StatusCure.add(:RAWSTBERRY,
|
||||
}
|
||||
)
|
||||
|
||||
#===============================================================================
|
||||
# StatLossImmunity handlers
|
||||
#===============================================================================
|
||||
|
||||
Battle::ItemEffects::StatLossImmunity.add(:CLEARAMULET,
|
||||
proc { |item, battler, stat, battle, showMessages|
|
||||
battle.pbDisplay(_INTL("The effects of {1}'s {2} prevent its stats from being lowered!",
|
||||
battler.pbThis, GameData::Item.get(item).name)) if showMessages
|
||||
next true
|
||||
}
|
||||
)
|
||||
|
||||
#===============================================================================
|
||||
# PriorityBracketChange handlers
|
||||
#===============================================================================
|
||||
@@ -730,6 +750,8 @@ Battle::ItemEffects::DamageCalcFromUser.add(:ADAMANTORB,
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:ADAMANTORB, :ADAMANTCRYSTAL)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:BLACKBELT,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :FIGHTING
|
||||
@@ -772,6 +794,14 @@ Battle::ItemEffects::DamageCalcFromUser.add(:CHOICESPECS,
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:CORNERSTONEMASK,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if user.isSpecies?(:OGERPON)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:CORNERSTONEMASK, :HEARTHFLAMEEMASK, :WELLSPRINGMASK)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:DARKGEM,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:DARK, move, type, mults)
|
||||
@@ -858,6 +888,8 @@ Battle::ItemEffects::DamageCalcFromUser.add(:GRISEOUSORB,
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:GRISEOUSORB, :GRISEOUSCORE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:GROUNDGEM,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:GROUND, move, type, mults)
|
||||
@@ -900,6 +932,8 @@ Battle::ItemEffects::DamageCalcFromUser.add(:LUSTROUSORB,
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:LUSTROUSORB, :LUSTROUSGLOBE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:MAGNET,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :ELECTRIC
|
||||
@@ -987,6 +1021,12 @@ Battle::ItemEffects::DamageCalcFromUser.add(:PSYCHICGEM,
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:PUNCHINGGLOVE,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.1 if move.punchingMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:ROCKGEM,
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:ROCK, move, type, mults)
|
||||
@@ -1551,7 +1591,7 @@ Battle::ItemEffects::AfterMoveUseFromTarget.add(:REDCARD,
|
||||
battle.pbDisplay(_INTL("{1} held up its {2} against {3}!",
|
||||
battler.pbThis, battler.itemName, user.pbThis(true)))
|
||||
battler.pbConsumeItem
|
||||
if user.hasActiveAbility?(:SUCTIONCUPS) && !battle.moldBreaker
|
||||
if user.hasActiveAbility?(:SUCTIONCUPS) && !user.being_mold_broken?
|
||||
battle.pbShowAbilitySplash(user)
|
||||
if Battle::Scene::USE_ABILITY_SPLASH
|
||||
battle.pbDisplay(_INTL("{1} anchors itself!", user.pbThis))
|
||||
|
||||
Reference in New Issue
Block a user