mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +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)
|
return @pokemon.isFusionOf(check_species)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def isFusion?()
|
||||||
|
return @pokemon.isFusion?()
|
||||||
|
end
|
||||||
|
|
||||||
# Returns the active types of this Pokémon. The array should not include the
|
# 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
|
# same type more than once, and should not include any invalid type numbers
|
||||||
# (e.g. -1).
|
# (e.g. -1).
|
||||||
|
|||||||
@@ -61,8 +61,10 @@ class PokeBattle_Scene
|
|||||||
# Ability splash bars
|
# Ability splash bars
|
||||||
if PokeBattle_SceneConstants::USE_ABILITY_SPLASH
|
if PokeBattle_SceneConstants::USE_ABILITY_SPLASH
|
||||||
@sprites["abilityBar_#{side}"] = AbilitySplashBar.new(side,@viewport)
|
@sprites["abilityBar_#{side}"] = AbilitySplashBar.new(side,@viewport)
|
||||||
@sprites["ability2Bar_#{side}"] = AbilitySplashBar.new(side,@viewport,true) if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
if $game_switches[SWITCH_DOUBLE_ABILITIES]
|
||||||
@sprites["ability2Bar_#{side}"].y = @sprites["ability2Bar_#{side}"].y+30
|
@sprites["ability2Bar_#{side}"] = AbilitySplashBar.new(side,@viewport,true)
|
||||||
|
@sprites["ability2Bar_#{side}"].y = @sprites["ability2Bar_#{side}"].y+30
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# Player's and partner trainer's back sprite
|
# 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|
|
proc { |value|
|
||||||
$game_switches[SWITCH_NO_LEVELS_MODE] = value == 0
|
$game_switches[SWITCH_NO_LEVELS_MODE] = value == 0
|
||||||
}, "All Pokémon use their base stats, regardless of levels."
|
}, "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
|
return options
|
||||||
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