mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-08 05:34:58 +00:00
Adds remaining ability triggers for double abilities
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -7,7 +7,7 @@ class BattleSwapScene
|
|||||||
@sprites = {}
|
@sprites = {}
|
||||||
addBackgroundPlane(@sprites, "bg", "rentbg", @viewport)
|
addBackgroundPlane(@sprites, "bg", "rentbg", @viewport)
|
||||||
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
||||||
_INTL("RENTAL POKéMON"), 0, 0, Graphics.width, 64, @viewport)
|
_INTL("RENTAL POKÉMON"), 0, 0, Graphics.width, 64, @viewport)
|
||||||
@sprites["list"] = Window_AdvancedCommandPokemonEx.newWithSize(
|
@sprites["list"] = Window_AdvancedCommandPokemonEx.newWithSize(
|
||||||
[], 0, 64, Graphics.width, Graphics.height - 128 , @viewport)
|
[], 0, 64, Graphics.width, Graphics.height - 128 , @viewport)
|
||||||
@sprites["help"] = Window_UnformattedTextPokemon.newWithSize("",
|
@sprites["help"] = Window_UnformattedTextPokemon.newWithSize("",
|
||||||
@@ -29,7 +29,7 @@ class BattleSwapScene
|
|||||||
@sprites = {}
|
@sprites = {}
|
||||||
addBackgroundPlane(@sprites, "bg", "swapbg", @viewport)
|
addBackgroundPlane(@sprites, "bg", "swapbg", @viewport)
|
||||||
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
@sprites["title"] = Window_UnformattedTextPokemon.newWithSize(
|
||||||
_INTL("POKéMON SWAP"), 0, 0, Graphics.width, 64, @viewport)
|
_INTL("POKÉMON SWAP"), 0, 0, Graphics.width, 64, @viewport)
|
||||||
@sprites["list"] = Window_AdvancedCommandPokemonEx.newWithSize(
|
@sprites["list"] = Window_AdvancedCommandPokemonEx.newWithSize(
|
||||||
[], 0, 64, Graphics.width, Graphics.height - 128, @viewport)
|
[], 0, 64, Graphics.width, Graphics.height - 128, @viewport)
|
||||||
@sprites["help"] = Window_UnformattedTextPokemon.newWithSize(
|
@sprites["help"] = Window_UnformattedTextPokemon.newWithSize(
|
||||||
|
|||||||
@@ -161,19 +161,25 @@ class Pokemon
|
|||||||
@ability2 = (value) ? GameData::Ability.get(value).id : value
|
@ability2 = (value) ? GameData::Ability.get(value).id : value
|
||||||
end
|
end
|
||||||
|
|
||||||
def ability2_id
|
|
||||||
if !@ability2
|
def ability_id
|
||||||
|
if !@ability
|
||||||
sp_data = species_data
|
sp_data = species_data
|
||||||
abil_index = ability2_index()
|
abil_index = ability_index
|
||||||
if abil_index >= 2 # Hidden ability
|
if abil_index >= 2 # Hidden ability
|
||||||
@ability2 = sp_data.hidden_abilities[abil_index - 2]
|
@ability = sp_data.hidden_abilities[abil_index - 2]
|
||||||
abil_index = (@personalID & 1) if !@ability2
|
abil_index = (@personalID & 1) if !@ability
|
||||||
end
|
end
|
||||||
if !@ability2 # Natural ability or no hidden ability defined
|
if !@ability # Natural ability or no hidden ability defined
|
||||||
@ability2 = sp_data.abilities[abil_index] || sp_data.abilities[0]
|
if $game_switches[SWITCH_NO_LEVELS_MODE]
|
||||||
|
@ability = sp_data.abilities[0] || sp_data.abilities[0]
|
||||||
|
@ability2 = sp_data.abilities[1] || sp_data.abilities[0]
|
||||||
|
else
|
||||||
|
@ability = sp_data.abilities[abil_index] || sp_data.abilities[0]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return @ability2
|
end
|
||||||
|
return @ability
|
||||||
end
|
end
|
||||||
|
|
||||||
def ability2_id
|
def ability2_id
|
||||||
|
|||||||
@@ -15,29 +15,20 @@ module BattleHandlers
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.calculateAbilitySpeedMultiplier(ability, battler, mult)
|
def self.calculateAbilitySpeedMultiplier(ability, battler, mult)
|
||||||
ret = SpeedCalcAbility.trigger(ability, battler, mult)
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = SpeedCalcAbility.trigger(ability1, battler, mult) || SpeedCalcAbility.trigger(ability2, battler, mult)
|
||||||
return (ret != nil) ? ret : mult
|
return (ret != nil) ? ret : mult
|
||||||
end
|
end
|
||||||
|
|
||||||
#
|
def self.triggerWeightCalcAbility(ability,battler,w)
|
||||||
# Weight calculation
|
|
||||||
#
|
|
||||||
def self.triggerWeightCalcAbility(ability, battler, w)
|
|
||||||
ability1 = ability
|
ability1 = ability
|
||||||
ability2 = battler.ability2
|
ability2 = battler.ability2
|
||||||
|
ret = WeightCalcAbility.trigger(ability1,battler,w) || WeightCalcAbility.trigger(ability2,battler,w)
|
||||||
calculateWeightAbilityMultiplier(ability1, battler, mult)
|
return (ret!=nil) ? ret : w
|
||||||
if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
|
||||||
calculateWeightAbilityMultiplier(ability2, battler, mult)
|
|
||||||
end
|
|
||||||
return mult
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.calculateWeightAbilityMultiplier(ability, battler, w)
|
|
||||||
ret = WeightCalcAbility.trigger(ability, battler, w)
|
|
||||||
return (ret != nil) ? ret : w
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
def self.triggerEOREffectAbility(ability,battler,battle)
|
def self.triggerEOREffectAbility(ability,battler,battle)
|
||||||
@@ -115,4 +106,284 @@ module BattleHandlers
|
|||||||
ret = RunFromBattleAbility.trigger(ability1,battler) || RunFromBattleAbility.trigger(ability2,battler)
|
ret = RunFromBattleAbility.trigger(ability1,battler) || RunFromBattleAbility.trigger(ability2,battler)
|
||||||
return (ret!=nil) ? ret : false
|
return (ret!=nil) ? ret : false
|
||||||
end
|
end
|
||||||
|
########
|
||||||
|
# FROM HERE
|
||||||
|
#
|
||||||
|
|
||||||
|
def self.triggerAbilityOnHPDroppedBelowHalf(ability,user,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
ret = AbilityOnHPDroppedBelowHalf.trigger(ability1,user,battle) || AbilityOnHPDroppedBelowHalf.trigger(ability2,user,battle)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatusCheckAbilityNonIgnorable(ability,battler,status)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatusCheckAbilityNonIgnorable.trigger(ability1,battler,status) || StatusCheckAbilityNonIgnorable.trigger(ability2,battler,status)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatusImmunityAbility(ability,battler,status)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatusImmunityAbility.trigger(ability1,battler,status) || StatusImmunityAbility.trigger(ability2,battler,status)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatusImmunityAbilityNonIgnorable(ability,battler,status)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatusImmunityAbilityNonIgnorable.trigger(ability1,battler,status) || StatusImmunityAbilityNonIgnorable.trigger(ability2,battler,status)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatusImmunityAllyAbility(ability,battler,status)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatusImmunityAllyAbility.trigger(ability1,battler,status) || StatusImmunityAllyAbility.trigger(ability2,battler,status)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerAbilityOnStatusInflicted(ability,battler,user,status)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
AbilityOnStatusInflicted.trigger(ability1,battler,user,status)
|
||||||
|
AbilityOnStatusInflicted.trigger(ability2,battler,user,status)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatusCureAbility(ability,battler)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatusCureAbility.trigger(ability1,battler) || StatusCureAbility.trigger(ability2,battler)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def self.triggerStatLossImmunityAbility(ability,battler,stat,battle,showMessages)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatLossImmunityAbility.trigger(ability1,battler,stat,battle,showMessages) || StatLossImmunityAbility.trigger(ability2,battler,stat,battle,showMessages)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatLossImmunityAbilityNonIgnorable(ability,battler,stat,battle,showMessages)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatLossImmunityAbilityNonIgnorable.trigger(ability1,battler,stat,battle,showMessages) || StatLossImmunityAbilityNonIgnorable.trigger(ability2,battler,stat,battle,showMessages)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerStatLossImmunityAllyAbility(ability,bearer,battler,stat,battle,showMessages)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = StatLossImmunityAllyAbility.trigger(ability1,bearer,battler,stat,battle,showMessages) || StatLossImmunityAllyAbility.trigger(ability2,bearer,battler,stat,battle,showMessages)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerAbilityOnStatGain(ability,battler,stat,user)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
AbilityOnStatGain.trigger(ability1,battler,stat,user)
|
||||||
|
AbilityOnStatGain.trigger(ability2,battler,stat,user)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerAbilityOnStatLoss(ability,battler,stat,user)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
AbilityOnStatLoss.trigger(ability1,battler,stat,user)
|
||||||
|
AbilityOnStatLoss.trigger(ability2,battler,stat,user)
|
||||||
|
end
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
def self.triggerPriorityChangeAbility(ability,battler,move,pri)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = PriorityChangeAbility.trigger(ability1,battler,move,pri) || PriorityChangeAbility.trigger(ability2,battler,move,pri)
|
||||||
|
return (ret!=nil) ? ret : pri
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerPriorityBracketChangeAbility(ability,battler,subPri,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
ret = PriorityBracketChangeAbility.trigger(ability1,battler,subPri,battle) || PriorityBracketChangeAbility.trigger(ability2,battler,subPri,battle)
|
||||||
|
return (ret!=nil) ? ret : subPri
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerPriorityBracketUseAbility(ability,battler,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
PriorityBracketUseAbility.trigger(ability1,battler,battle)
|
||||||
|
PriorityBracketUseAbility.trigger(ability2,battler,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerAbilityOnFlinch(ability,battler,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
AbilityOnFlinch.trigger(ability1,battler,battle)
|
||||||
|
AbilityOnFlinch.trigger(ability2,battler,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerMoveBlockingAbility(ability,bearer,user,targets,move,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = bearer.ability2
|
||||||
|
ret = MoveBlockingAbility.trigger(ability1,bearer,user,targets,move,battle) || MoveBlockingAbility.trigger(ability2,bearer,user,targets,move,battle)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerMoveImmunityTargetAbility(ability,user,target,move,type,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
ret = MoveImmunityTargetAbility.trigger(ability1,user,target,move,type,battle) || MoveImmunityTargetAbility.trigger(ability2,user,target,move,type,battle)
|
||||||
|
return (ret!=nil) ? ret : false
|
||||||
|
end
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerMoveBaseTypeModifierAbility(ability,user,move,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
ret = MoveBaseTypeModifierAbility.trigger(ability1,user,move,type) || MoveBaseTypeModifierAbility.trigger(ability2,user,move,type)
|
||||||
|
return (ret!=nil) ? ret : type
|
||||||
|
end
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerAccuracyCalcUserAbility(ability,mods,user,target,move,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
AccuracyCalcUserAbility.trigger(ability1,mods,user,target,move,type)
|
||||||
|
AccuracyCalcUserAbility.trigger(ability2,mods,user,target,move,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerAccuracyCalcUserAllyAbility(ability,mods,user,target,move,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
AccuracyCalcUserAllyAbility.trigger(ability1,mods,user,target,move,type)
|
||||||
|
AccuracyCalcUserAllyAbility.trigger(ability2,mods,user,target,move,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerAccuracyCalcTargetAbility(ability,mods,user,target,move,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
AccuracyCalcTargetAbility.trigger(ability1,mods,user,target,move,type)
|
||||||
|
AccuracyCalcTargetAbility.trigger(ability2,mods,user,target,move,type)
|
||||||
|
end
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerDamageCalcUserAbility(ability,user,target,move,mults,baseDmg,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
DamageCalcUserAbility.trigger(ability1,user,target,move,mults,baseDmg,type)
|
||||||
|
DamageCalcUserAbility.trigger(ability2,user,target,move,mults,baseDmg,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerDamageCalcUserAllyAbility(ability,user,target,move,mults,baseDmg,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
DamageCalcUserAllyAbility.trigger(ability1,user,target,move,mults,baseDmg,type)
|
||||||
|
DamageCalcUserAllyAbility.trigger(ability2,user,target,move,mults,baseDmg,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerDamageCalcTargetAbility(ability,user,target,move,mults,baseDmg,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
DamageCalcTargetAbility.trigger(ability1,user,target,move,mults,baseDmg,type)
|
||||||
|
DamageCalcTargetAbility.trigger(ability2,user,target,move,mults,baseDmg,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerDamageCalcTargetAbilityNonIgnorable(ability,user,target,move,mults,baseDmg,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
DamageCalcTargetAbilityNonIgnorable.trigger(ability1,user,target,move,mults,baseDmg,type)
|
||||||
|
DamageCalcTargetAbilityNonIgnorable.trigger(ability2,user,target,move,mults,baseDmg,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerDamageCalcTargetAllyAbility(ability,user,target,move,mults,baseDmg,type)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
DamageCalcTargetAllyAbility.trigger(ability1,user,target,move,mults,baseDmg,type)
|
||||||
|
DamageCalcTargetAllyAbility.trigger(ability2,user,target,move,mults,baseDmg,type)
|
||||||
|
end
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerCriticalCalcUserAbility(ability,user,target,c)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
ret = CriticalCalcUserAbility.trigger(ability1,user,target,c) || CriticalCalcUserAbility.trigger(ability2,user,target,c)
|
||||||
|
return (ret!=nil) ? ret : c
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerCriticalCalcTargetAbility(ability,user,target,c)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
ret = CriticalCalcTargetAbility.trigger(ability1,user,target,c) || CriticalCalcTargetAbility.trigger(ability2,user,target,c)
|
||||||
|
return (ret!=nil) ? ret : c
|
||||||
|
end
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerTargetAbilityOnHit(ability,user,target,move,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
TargetAbilityOnHit.trigger(ability1,user,target,move,battle)
|
||||||
|
TargetAbilityOnHit.trigger(ability2,user,target,move,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerUserAbilityOnHit(ability,user,target,move,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
UserAbilityOnHit.trigger(ability1,user,target,move,battle)
|
||||||
|
UserAbilityOnHit.trigger(ability2,user,target,move,battle)
|
||||||
|
end
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerUserAbilityEndOfMove(ability,user,targets,move,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = user.ability2
|
||||||
|
UserAbilityEndOfMove.trigger(ability1,user,targets,move,battle)
|
||||||
|
UserAbilityEndOfMove.trigger(ability2,user,targets,move,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerTargetAbilityAfterMoveUse(ability,target,user,move,switched,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = target.ability2
|
||||||
|
TargetAbilityAfterMoveUse.trigger(ability1,target,user,move,switched,battle)
|
||||||
|
TargetAbilityAfterMoveUse.trigger(ability2,target,user,move,switched,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
def self.triggerEORWeatherAbility(ability,weather,battler,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
EORWeatherAbility.trigger(ability1,weather,battler,battle)
|
||||||
|
EORWeatherAbility.trigger(ability2,weather,battler,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerEORHealingAbility(ability,battler,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
EORHealingAbility.trigger(ability1,battler,battle)
|
||||||
|
EORHealingAbility.trigger(ability2,battler,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerEOREffectAbility(ability,battler,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
EOREffectAbility.trigger(ability1,battler,battle)
|
||||||
|
EOREffectAbility.trigger(ability2,battler,battle)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.triggerEORGainItemAbility(ability,battler,battle)
|
||||||
|
ability1 = ability
|
||||||
|
ability2 = battler.ability2
|
||||||
|
EORGainItemAbility.trigger(ability1,battler,battle)
|
||||||
|
EORGainItemAbility.trigger(ability2,battler,battle)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user