mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Adds double ability triggers
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.
@@ -318,6 +318,10 @@ class PokeBattle_Battler
|
||||
return @pokemon.isFusionOf(check_species)
|
||||
end
|
||||
|
||||
def isFusion?()
|
||||
return @pokemon.isFusion?()
|
||||
end
|
||||
|
||||
# Returns the active types of this Pokémon. The array should not include the
|
||||
# same type more than once, and should not include any invalid type numbers
|
||||
# (e.g. -1).
|
||||
|
||||
@@ -61,8 +61,10 @@ class PokeBattle_Scene
|
||||
# Ability splash bars
|
||||
if PokeBattle_SceneConstants::USE_ABILITY_SPLASH
|
||||
@sprites["abilityBar_#{side}"] = AbilitySplashBar.new(side,@viewport)
|
||||
@sprites["ability2Bar_#{side}"] = AbilitySplashBar.new(side,@viewport,true) if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
||||
@sprites["ability2Bar_#{side}"].y = @sprites["ability2Bar_#{side}"].y+30
|
||||
if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
||||
@sprites["ability2Bar_#{side}"] = AbilitySplashBar.new(side,@viewport,true)
|
||||
@sprites["ability2Bar_#{side}"].y = @sprites["ability2Bar_#{side}"].y+30
|
||||
end
|
||||
end
|
||||
end
|
||||
# Player's and partner trainer's back sprite
|
||||
|
||||
118
Data/Scripts/050_AddOns/DoubleAbilitiesHandlersOverrides.rb
Normal file
118
Data/Scripts/050_AddOns/DoubleAbilitiesHandlersOverrides.rb
Normal file
@@ -0,0 +1,118 @@
|
||||
|
||||
module BattleHandlers
|
||||
#
|
||||
# Speed calculation
|
||||
#
|
||||
|
||||
def self.triggerSpeedCalcAbility(ability, battler, mult)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
calculateAbilitySpeedMultiplier(ability1, battler, mult)
|
||||
if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
||||
calculateAbilitySpeedMultiplier(ability2, battler, mult)
|
||||
end
|
||||
return mult
|
||||
end
|
||||
|
||||
def self.calculateAbilitySpeedMultiplier(ability, battler, mult)
|
||||
ret = SpeedCalcAbility.trigger(ability, battler, mult)
|
||||
return (ret != nil) ? ret : mult
|
||||
end
|
||||
|
||||
#
|
||||
# Weight calculation
|
||||
#
|
||||
def self.triggerWeightCalcAbility(ability, battler, w)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
|
||||
calculateWeightAbilityMultiplier(ability1, battler, mult)
|
||||
if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
||||
calculateWeightAbilityMultiplier(ability2, battler, mult)
|
||||
end
|
||||
return mult
|
||||
|
||||
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)
|
||||
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
|
||||
|
||||
def self.triggerCertainSwitchingUserAbility(ability,switcher,battle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
|
||||
ret = CertainSwitchingUserAbility.trigger(ability1,switcher,battle) || CertainSwitchingUserAbility.trigger(ability2,switcher,battle)
|
||||
return (ret!=nil) ? ret : false
|
||||
end
|
||||
|
||||
def self.triggerCertainSwitchingUserAbility(ability,switcher,battle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
|
||||
ret = CertainSwitchingUserAbility.trigger(ability1,switcher,battle) || CertainSwitchingUserAbility.trigger(ability2,switcher,battle)
|
||||
return (ret!=nil) ? ret : false
|
||||
end
|
||||
|
||||
def self.triggerTrappingTargetAbility(ability,switcher,bearer,battle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
ret = TrappingTargetAbility.trigger(ability1,switcher,bearer,battle) || TrappingTargetAbility.trigger(ability2,switcher,bearer,battle)
|
||||
return (ret!=nil) ? ret : false
|
||||
end
|
||||
|
||||
def self.triggerAbilityOnSwitchIn(ability,battler,battle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
AbilityOnSwitchIn.trigger(ability1,battler,battle)
|
||||
AbilityOnSwitchIn.trigger(ability2,battler,battle)
|
||||
end
|
||||
|
||||
def self.triggerAbilityOnSwitchOut(ability,battler,endOfBattle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
AbilityOnSwitchOut.trigger(ability1,battler,endOfBattle)
|
||||
AbilityOnSwitchOut.trigger(ability2,battler,endOfBattle)
|
||||
end
|
||||
|
||||
def self.triggerAbilityChangeOnBattlerFainting(ability,battler,fainted,battle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
AbilityChangeOnBattlerFainting.trigger(ability1,battler,fainted,battle)
|
||||
AbilityChangeOnBattlerFainting.trigger(ability2,battler,fainted,battle)
|
||||
|
||||
end
|
||||
|
||||
def self.triggerAbilityOnBattlerFainting(ability,battler,fainted,battle)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
AbilityOnBattlerFainting.trigger(ability1,battler,fainted,battle)
|
||||
AbilityOnBattlerFainting.trigger(ability2,battler,fainted,battle)
|
||||
end
|
||||
|
||||
|
||||
def self.triggerRunFromBattleAbility(ability,battler)
|
||||
ability1 = ability
|
||||
ability2 = battler.ability2
|
||||
ret = RunFromBattleAbility.trigger(ability1,battler) || RunFromBattleAbility.trigger(ability2,battler)
|
||||
return (ret!=nil) ? ret : false
|
||||
end
|
||||
end
|
||||
@@ -36,7 +36,16 @@ class ExperimentalOptionsScene < PokemonOption_Scene
|
||||
proc { |value|
|
||||
$game_switches[SWITCH_NO_LEVELS_MODE] = value == 0
|
||||
}, "All Pokémon use their base stats, regardless of levels."
|
||||
)
|
||||
),
|
||||
EnumOption.new(_INTL("Double abilities"), [_INTL("On"), _INTL("Off")],
|
||||
proc {
|
||||
$game_switches[SWITCH_DOUBLE_ABILITIES] ? 0 : 1
|
||||
},
|
||||
proc { |value|
|
||||
$game_switches[SWITCH_DOUBLE_ABILITIES] = value == 0
|
||||
}, "Fused Pokémon have two abilities at the same time"
|
||||
)
|
||||
|
||||
]
|
||||
return options
|
||||
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