mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-09 22:24:58 +00:00
Removed deprecated code, renamed "base_damage"/"baseDamage"/"baseDmg" to "power"
This commit is contained in:
@@ -185,24 +185,24 @@ module Battle::AbilityEffects
|
||||
|
||||
#=============================================================================
|
||||
|
||||
def self.triggerDamageCalcFromUser(ability, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromUser.trigger(ability, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromUser(ability, user, target, move, mults, power, type)
|
||||
DamageCalcFromUser.trigger(ability, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerDamageCalcFromAlly(ability, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromAlly.trigger(ability, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromAlly(ability, user, target, move, mults, power, type)
|
||||
DamageCalcFromAlly.trigger(ability, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerDamageCalcFromTarget(ability, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromTarget.trigger(ability, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromTarget(ability, user, target, move, mults, power, type)
|
||||
DamageCalcFromTarget.trigger(ability, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerDamageCalcFromTargetNonIgnorable(ability, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromTargetNonIgnorable.trigger(ability, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromTargetNonIgnorable(ability, user, target, move, mults, power, type)
|
||||
DamageCalcFromTargetNonIgnorable.trigger(ability, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerDamageCalcFromTargetAlly(ability, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromTargetAlly.trigger(ability, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromTargetAlly(ability, user, target, move, mults, power, type)
|
||||
DamageCalcFromTargetAlly.trigger(ability, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerCriticalCalcFromUser(ability, user, target, crit_stage)
|
||||
@@ -1195,15 +1195,15 @@ Battle::AbilityEffects::AccuracyCalcFromTarget.add(:WONDERSKIN,
|
||||
#===============================================================================
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:AERILATE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if move.powerBoost
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if move.powerBoost
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.copy(:AERILATE, :PIXILATE, :REFRIGERATE, :GALVANIZE, :NORMALIZE)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:ANALYTIC,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
# NOTE: In the official games, if another battler faints earlier in the
|
||||
# round but it would have moved after the user, then Analytic does not
|
||||
# power up the move. However, this makes the determination so much
|
||||
@@ -1213,13 +1213,13 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:ANALYTIC,
|
||||
# "power up the move if all other battlers on the field right now have
|
||||
# already moved".
|
||||
if move.pbMoveFailedLastInRound?(user, false)
|
||||
mults[:base_damage_multiplier] *= 1.3
|
||||
mults[:power_multiplier] *= 1.3
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:BLAZE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.hp <= user.totalhp / 3 && type == :FIRE
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1227,25 +1227,25 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:BLAZE,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:DEFEATIST,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] /= 2 if user.hp <= user.totalhp / 2
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:DRAGONSMAW,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 1.5 if type == :DRAGON
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:FLAREBOOST,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.5 if user.burned? && move.specialMove?
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.5 if user.burned? && move.specialMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:FLASHFIRE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.effects[PBEffects::FlashFire] && type == :FIRE
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1253,7 +1253,7 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:FLASHFIRE,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:FLOWERGIFT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if move.physicalMove? && [:Sun, :HarshSun].include?(user.effectiveWeather)
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1261,13 +1261,13 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:FLOWERGIFT,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:GORILLATACTICS,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 1.5 if move.physicalMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:GUTS,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.pbHasAnyStatus? && move.physicalMove?
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1275,7 +1275,7 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:GUTS,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:HUGEPOWER,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 2 if move.physicalMove?
|
||||
}
|
||||
)
|
||||
@@ -1283,25 +1283,25 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:HUGEPOWER,
|
||||
Battle::AbilityEffects::DamageCalcFromUser.copy(:HUGEPOWER, :PUREPOWER)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:HUSTLE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 1.5 if move.physicalMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:IRONFIST,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if move.punchingMove?
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if move.punchingMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:MEGALAUNCHER,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.5 if move.pulseMove?
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.5 if move.pulseMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:MINUS,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
next if !move.specialMove?
|
||||
if user.allAllies.any? { |b| b.hasActiveAbility?([:MINUS, :PLUS]) }
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
@@ -1312,7 +1312,7 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:MINUS,
|
||||
Battle::AbilityEffects::DamageCalcFromUser.copy(:MINUS, :PLUS)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:NEUROFORCE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if Effectiveness.super_effective?(target.damageState.typeMod)
|
||||
mults[:final_damage_multiplier] *= 1.25
|
||||
end
|
||||
@@ -1320,7 +1320,7 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:NEUROFORCE,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:OVERGROW,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.hp <= user.totalhp / 3 && type == :GRASS
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1328,52 +1328,52 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:OVERGROW,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:PUNKROCK,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 1.3 if move.soundMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:RECKLESS,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if move.recoilMove?
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if move.recoilMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:RIVALRY,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.gender != 2 && target.gender != 2
|
||||
if user.gender == target.gender
|
||||
mults[:base_damage_multiplier] *= 1.25
|
||||
mults[:power_multiplier] *= 1.25
|
||||
else
|
||||
mults[:base_damage_multiplier] *= 0.75
|
||||
mults[:power_multiplier] *= 0.75
|
||||
end
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:SANDFORCE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.effectiveWeather == :Sandstorm &&
|
||||
[:ROCK, :GROUND, :STEEL].include?(type)
|
||||
mults[:base_damage_multiplier] *= 1.3
|
||||
mults[:power_multiplier] *= 1.3
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:SHEERFORCE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.3 if move.addlEffect > 0
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.3 if move.addlEffect > 0
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:SLOWSTART,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] /= 2 if user.effects[PBEffects::SlowStart] > 0 && move.physicalMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:SOLARPOWER,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if move.specialMove? && [:Sun, :HarshSun].include?(user.effectiveWeather)
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1381,37 +1381,37 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:SOLARPOWER,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:SNIPER,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 1.5 if target.damageState.critical
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:STAKEOUT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 2 if target.battle.choices[target.index][0] == :SwitchOut
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:STEELWORKER,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 1.5 if type == :STEEL
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:STEELYSPIRIT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 1.5 if type == :STEEL
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:STRONGJAW,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.5 if move.bitingMove?
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.5 if move.bitingMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:SWARM,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.hp <= user.totalhp / 3 && type == :BUG
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1419,22 +1419,22 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:SWARM,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:TECHNICIAN,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.index != target.index && move && move.id != :STRUGGLE &&
|
||||
baseDmg * mults[:base_damage_multiplier] <= 60
|
||||
mults[:base_damage_multiplier] *= 1.5
|
||||
power * mults[:power_multiplier] <= 60
|
||||
mults[:power_multiplier] *= 1.5
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:TINTEDLENS,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 2 if Effectiveness.resistant?(target.damageState.typeMod)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:TORRENT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.hp <= user.totalhp / 3 && type == :WATER
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1442,27 +1442,27 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:TORRENT,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:TOUGHCLAWS,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 4 / 3.0 if move.contactMove?
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 4 / 3.0 if move.contactMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:TOXICBOOST,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if user.poisoned? && move.physicalMove?
|
||||
mults[:base_damage_multiplier] *= 1.5
|
||||
mults[:power_multiplier] *= 1.5
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:TRANSISTOR,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 1.5 if type == :ELECTRIC
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromUser.add(:WATERBUBBLE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 2 if type == :WATER
|
||||
}
|
||||
)
|
||||
@@ -1472,14 +1472,14 @@ Battle::AbilityEffects::DamageCalcFromUser.add(:WATERBUBBLE,
|
||||
#===============================================================================
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromAlly.add(:BATTERY,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
next if !move.specialMove?
|
||||
mults[:final_damage_multiplier] *= 1.3
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromAlly.add(:FLOWERGIFT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if move.physicalMove? && [:Sun, :HarshSun].include?(user.effectiveWeather)
|
||||
mults[:attack_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1487,13 +1487,13 @@ Battle::AbilityEffects::DamageCalcFromAlly.add(:FLOWERGIFT,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromAlly.add(:POWERSPOT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 1.3
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromAlly.add(:STEELYSPIRIT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 1.5 if type == :STEEL
|
||||
}
|
||||
)
|
||||
@@ -1503,13 +1503,13 @@ Battle::AbilityEffects::DamageCalcFromAlly.add(:STEELYSPIRIT,
|
||||
#===============================================================================
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:DRYSKIN,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.25 if type == :FIRE
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.25 if type == :FIRE
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:FILTER,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if Effectiveness.super_effective?(target.damageState.typeMod)
|
||||
mults[:final_damage_multiplier] *= 0.75
|
||||
end
|
||||
@@ -1519,7 +1519,7 @@ Battle::AbilityEffects::DamageCalcFromTarget.add(:FILTER,
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.copy(:FILTER, :SOLIDROCK)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:FLOWERGIFT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if move.specialMove? && [:Sun, :HarshSun].include?(target.effectiveWeather)
|
||||
mults[:defense_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1527,39 +1527,39 @@ Battle::AbilityEffects::DamageCalcFromTarget.add(:FLOWERGIFT,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:FLUFFY,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 2 if move.calcType == :FIRE
|
||||
mults[:final_damage_multiplier] /= 2 if move.pbContactMove?(user)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:FURCOAT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:defense_multiplier] *= 2 if move.physicalMove? ||
|
||||
move.function == "UseTargetDefenseInsteadOfTargetSpDef" # Psyshock
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:GRASSPELT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:defense_multiplier] *= 1.5 if user.battle.field.terrain == :Grassy
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:HEATPROOF,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] /= 2 if type == :FIRE
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] /= 2 if type == :FIRE
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:ICESCALES,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] /= 2 if move.specialMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:MARVELSCALE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if target.pbHasAnyStatus? && move.physicalMove?
|
||||
mults[:defense_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1567,25 +1567,25 @@ Battle::AbilityEffects::DamageCalcFromTarget.add(:MARVELSCALE,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:MULTISCALE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] /= 2 if target.hp == target.totalhp
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:PUNKROCK,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] /= 2 if move.soundMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:THICKFAT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] /= 2 if [:FIRE, :ICE].include?(type)
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] /= 2 if [:FIRE, :ICE].include?(type)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTarget.add(:WATERBUBBLE,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] /= 2 if type == :FIRE
|
||||
}
|
||||
)
|
||||
@@ -1595,7 +1595,7 @@ Battle::AbilityEffects::DamageCalcFromTarget.add(:WATERBUBBLE,
|
||||
#===============================================================================
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTargetNonIgnorable.add(:PRISMARMOR,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if Effectiveness.super_effective?(target.damageState.typeMod)
|
||||
mults[:final_damage_multiplier] *= 0.75
|
||||
end
|
||||
@@ -1603,7 +1603,7 @@ Battle::AbilityEffects::DamageCalcFromTargetNonIgnorable.add(:PRISMARMOR,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTargetNonIgnorable.add(:SHADOWSHIELD,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] /= 2 if target.hp == target.totalhp
|
||||
}
|
||||
)
|
||||
@@ -1613,7 +1613,7 @@ Battle::AbilityEffects::DamageCalcFromTargetNonIgnorable.add(:SHADOWSHIELD,
|
||||
#===============================================================================
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTargetAlly.add(:FLOWERGIFT,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
if move.specialMove? && [:Sun, :HarshSun].include?(target.effectiveWeather)
|
||||
mults[:defense_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1621,7 +1621,7 @@ Battle::AbilityEffects::DamageCalcFromTargetAlly.add(:FLOWERGIFT,
|
||||
)
|
||||
|
||||
Battle::AbilityEffects::DamageCalcFromTargetAlly.add(:FRIENDGUARD,
|
||||
proc { |ability, user, target, move, mults, baseDmg, type|
|
||||
proc { |ability, user, target, move, mults, power, type|
|
||||
mults[:final_damage_multiplier] *= 0.75
|
||||
}
|
||||
)
|
||||
@@ -2739,7 +2739,7 @@ Battle::AbilityEffects::OnSwitchIn.add(:FOREWARN,
|
||||
forewarnMoves = []
|
||||
battle.allOtherSideBattlers(battler.index).each do |b|
|
||||
b.eachMove do |m|
|
||||
power = m.baseDamage
|
||||
power = m.power
|
||||
power = 160 if ["OHKO", "OHKOIce", "OHKOHitsUndergroundTarget"].include?(m.function)
|
||||
power = 150 if ["PowerHigherWithUserHP"].include?(m.function) # Eruption
|
||||
# Counter, Mirror Coat, Metal Burst
|
||||
|
||||
@@ -109,12 +109,12 @@ module Battle::ItemEffects
|
||||
|
||||
#=============================================================================
|
||||
|
||||
def self.triggerDamageCalcFromUser(item, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromUser.trigger(item, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromUser(item, user, target, move, mults, power, type)
|
||||
DamageCalcFromUser.trigger(item, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerDamageCalcFromTarget(item, user, target, move, mults, base_damage, type)
|
||||
DamageCalcFromTarget.trigger(item, user, target, move, mults, base_damage, type)
|
||||
def self.triggerDamageCalcFromTarget(item, user, target, move, mults, power, type)
|
||||
DamageCalcFromTarget.trigger(item, user, target, move, mults, power, type)
|
||||
end
|
||||
|
||||
def self.triggerCriticalCalcFromUser(item, user, target, crit_stage)
|
||||
@@ -724,63 +724,63 @@ Battle::ItemEffects::AccuracyCalcFromTarget.copy(:BRIGHTPOWDER, :LAXINCENSE)
|
||||
#===============================================================================
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:ADAMANTORB,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if user.isSpecies?(:DIALGA) && [:DRAGON, :STEEL].include?(type)
|
||||
mults[:base_damage_multiplier] *= 1.2
|
||||
mults[:power_multiplier] *= 1.2
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:BLACKBELT,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :FIGHTING
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :FIGHTING
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:BLACKBELT, :FISTPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:BLACKGLASSES,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :DARK
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :DARK
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:BLACKGLASSES, :DREADPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:BUGGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:BUG, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:CHARCOAL,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :FIRE
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :FIRE
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:CHARCOAL, :FLAMEPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:CHOICEBAND,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.5 if move.physicalMove?
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.5 if move.physicalMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:CHOICESPECS,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.5 if move.specialMove?
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.5 if move.specialMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:DARKGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:DARK, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:DEEPSEATOOTH,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if user.isSpecies?(:CLAMPERL) && move.specialMove?
|
||||
mults[:attack_multiplier] *= 2
|
||||
end
|
||||
@@ -788,27 +788,27 @@ Battle::ItemEffects::DamageCalcFromUser.add(:DEEPSEATOOTH,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:DRAGONFANG,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :DRAGON
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :DRAGON
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:DRAGONFANG, :DRACOPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:DRAGONGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:DRAGON, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:ELECTRICGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:ELECTRIC, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:EXPERTBELT,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if Effectiveness.super_effective?(target.damageState.typeMod)
|
||||
mults[:final_damage_multiplier] *= 1.2
|
||||
end
|
||||
@@ -816,71 +816,71 @@ Battle::ItemEffects::DamageCalcFromUser.add(:EXPERTBELT,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:FAIRYGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:FAIRY, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:FIGHTINGGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:FIGHTING, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:FIREGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:FIRE, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:FLYINGGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:FLYING, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:GHOSTGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:GHOST, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:GRASSGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:GRASS, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:GRISEOUSORB,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if user.isSpecies?(:GIRATINA) && [:DRAGON, :GHOST].include?(type)
|
||||
mults[:base_damage_multiplier] *= 1.2
|
||||
mults[:power_multiplier] *= 1.2
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:GROUNDGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:GROUND, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:HARDSTONE,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :ROCK
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :ROCK
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:HARDSTONE, :STONEPLATE, :ROCKINCENSE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:ICEGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:ICE, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:LIFEORB,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if !move.is_a?(Battle::Move::Confusion)
|
||||
mults[:final_damage_multiplier] *= 1.3
|
||||
end
|
||||
@@ -888,142 +888,142 @@ Battle::ItemEffects::DamageCalcFromUser.add(:LIFEORB,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:LIGHTBALL,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:attack_multiplier] *= 2 if user.isSpecies?(:PIKACHU)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:LUSTROUSORB,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if user.isSpecies?(:PALKIA) && [:DRAGON, :WATER].include?(type)
|
||||
mults[:base_damage_multiplier] *= 1.2
|
||||
mults[:power_multiplier] *= 1.2
|
||||
end
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:MAGNET,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :ELECTRIC
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :ELECTRIC
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:MAGNET, :ZAPPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:METALCOAT,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :STEEL
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :STEEL
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:METALCOAT, :IRONPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:METRONOME,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
met = 1 + (0.2 * [user.effects[PBEffects::Metronome], 5].min)
|
||||
mults[:final_damage_multiplier] *= met
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:MIRACLESEED,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :GRASS
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :GRASS
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:MIRACLESEED, :MEADOWPLATE, :ROSEINCENSE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:MUSCLEBAND,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.1 if move.physicalMove?
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.1 if move.physicalMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:MYSTICWATER,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :WATER
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :WATER
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:MYSTICWATER, :SPLASHPLATE, :SEAINCENSE, :WAVEINCENSE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:NEVERMELTICE,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :ICE
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :ICE
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:NEVERMELTICE, :ICICLEPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:NORMALGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:NORMAL, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:PIXIEPLATE,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :FAIRY
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :FAIRY
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:POISONBARB,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :POISON
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :POISON
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:POISONBARB, :TOXICPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:POISONGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:POISON, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:PSYCHICGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:PSYCHIC, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:ROCKGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:ROCK, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:SHARPBEAK,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :FLYING
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :FLYING
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:SHARPBEAK, :SKYPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:SILKSCARF,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :NORMAL
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :NORMAL
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:SILVERPOWDER,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :BUG
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :BUG
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:SILVERPOWDER, :INSECTPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:SOFTSAND,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :GROUND
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :GROUND
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:SOFTSAND, :EARTHPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:SOULDEW,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
next if !user.isSpecies?(:LATIAS) && !user.isSpecies?(:LATIOS)
|
||||
if Settings::SOUL_DEW_POWERS_UP_TYPES
|
||||
mults[:final_damage_multiplier] *= 1.2 if [:DRAGON, :PSYCHIC].include?(type)
|
||||
@@ -1034,21 +1034,21 @@ Battle::ItemEffects::DamageCalcFromUser.add(:SOULDEW,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:SPELLTAG,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :GHOST
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :GHOST
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:SPELLTAG, :SPOOKYPLATE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:STEELGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:STEEL, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:THICKCLUB,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if (user.isSpecies?(:CUBONE) || user.isSpecies?(:MAROWAK)) && move.physicalMove?
|
||||
mults[:attack_multiplier] *= 2
|
||||
end
|
||||
@@ -1056,22 +1056,22 @@ Battle::ItemEffects::DamageCalcFromUser.add(:THICKCLUB,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:TWISTEDSPOON,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.2 if type == :PSYCHIC
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.2 if type == :PSYCHIC
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.copy(:TWISTEDSPOON, :MINDPLATE, :ODDINCENSE)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:WATERGEM,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
user.pbMoveTypePoweringUpGem(:WATER, move, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromUser.add(:WISEGLASSES,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
mults[:base_damage_multiplier] *= 1.1 if move.specialMove?
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:power_multiplier] *= 1.1 if move.specialMove?
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1083,49 +1083,49 @@ Battle::ItemEffects::DamageCalcFromUser.add(:WISEGLASSES,
|
||||
#===============================================================================
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:ASSAULTVEST,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
mults[:defense_multiplier] *= 1.5 if move.specialMove?
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:BABIRIBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:STEEL, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:CHARTIBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:ROCK, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:CHILANBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:NORMAL, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:CHOPLEBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:FIGHTING, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:COBABERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:FLYING, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:COLBURBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:DARK, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:DEEPSEASCALE,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if target.isSpecies?(:CLAMPERL) && move.specialMove?
|
||||
mults[:defense_multiplier] *= 2
|
||||
end
|
||||
@@ -1133,7 +1133,7 @@ Battle::ItemEffects::DamageCalcFromTarget.add(:DEEPSEASCALE,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:EVIOLITE,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
# NOTE: Eviolite cares about whether the Pokémon itself can evolve, which
|
||||
# means it also cares about the Pokémon's form. Some forms cannot
|
||||
# evolve even if the species generally can, and such forms are not
|
||||
@@ -1145,25 +1145,25 @@ Battle::ItemEffects::DamageCalcFromTarget.add(:EVIOLITE,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:HABANBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:DRAGON, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:KASIBBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:GHOST, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:KEBIABERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:POISON, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:METALPOWDER,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
if target.isSpecies?(:DITTO) && !target.effects[PBEffects::Transform]
|
||||
mults[:defense_multiplier] *= 1.5
|
||||
end
|
||||
@@ -1171,43 +1171,43 @@ Battle::ItemEffects::DamageCalcFromTarget.add(:METALPOWDER,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:OCCABERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:FIRE, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:PASSHOBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:WATER, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:PAYAPABERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:PSYCHIC, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:RINDOBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:GRASS, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:ROSELIBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:FAIRY, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:SHUCABERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:GROUND, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:SOULDEW,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
next if Settings::SOUL_DEW_POWERS_UP_TYPES
|
||||
next if !target.isSpecies?(:LATIAS) && !target.isSpecies?(:LATIOS)
|
||||
if move.specialMove? && !user.battle.rules["souldewclause"]
|
||||
@@ -1217,19 +1217,19 @@ Battle::ItemEffects::DamageCalcFromTarget.add(:SOULDEW,
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:TANGABERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:BUG, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:WACANBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:ELECTRIC, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Battle::ItemEffects::DamageCalcFromTarget.add(:YACHEBERRY,
|
||||
proc { |item, user, target, move, mults, baseDmg, type|
|
||||
proc { |item, user, target, move, mults, power, type|
|
||||
target.pbMoveTypeWeakeningBerry(:ICE, type, mults)
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user