mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Added class Data::Ability and made all code use symbols for abilities instead of numbers. Also added class Data::Item but it's unused.
This commit is contained in:
@@ -181,7 +181,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
alias owned owned?
|
||||
|
||||
def abilityName; return PBAbilities.getName(@ability); end
|
||||
def abilityName; return Data::Ability.get(@ability).name; end
|
||||
def itemName; return PBItems.getName(@item); end
|
||||
|
||||
def pbThis(lowerCase=false)
|
||||
@@ -324,17 +324,12 @@ class PokeBattle_Battler
|
||||
return true
|
||||
end
|
||||
|
||||
def hasActiveAbility?(ability,ignoreFainted=false)
|
||||
def hasActiveAbility?(check_ability, ignoreFainted = false)
|
||||
return false if !abilityActive?(ignoreFainted)
|
||||
if ability.is_a?(Array)
|
||||
ability.each do |a|
|
||||
a = getID(PBAbilities,a)
|
||||
return true if a!=0 && a==@ability
|
||||
end
|
||||
return false
|
||||
if check_ability.is_a?(Array)
|
||||
return check_ability.any? { |a| a == @ability }
|
||||
end
|
||||
ability = getID(PBAbilities,ability)
|
||||
return ability!=0 && ability==@ability
|
||||
return check_ability == @ability
|
||||
end
|
||||
alias hasWorkingAbility hasActiveAbility?
|
||||
|
||||
@@ -358,10 +353,7 @@ class PokeBattle_Battler
|
||||
:COMATOSE,
|
||||
:RKSSYSTEM
|
||||
]
|
||||
abilityBlacklist.each do |a|
|
||||
return true if isConst?(abil, PBAbilities, a)
|
||||
end
|
||||
return false
|
||||
return abilityBlacklist.any? { |a| a == abil }
|
||||
end
|
||||
|
||||
# Applies to gaining the ability.
|
||||
@@ -386,10 +378,7 @@ class PokeBattle_Battler
|
||||
:COMATOSE,
|
||||
:RKSSYSTEM
|
||||
]
|
||||
abilityBlacklist.each do |a|
|
||||
return true if isConst?(abil, PBAbilities, a)
|
||||
end
|
||||
return false
|
||||
return abilityBlacklist.any? { |a| a == abil }
|
||||
end
|
||||
|
||||
def itemActive?(ignoreFainted=false)
|
||||
@@ -459,9 +448,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
|
||||
def canChangeType?
|
||||
return false if isConst?(@ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(@ability,PBAbilities,:RKSSYSTEM)
|
||||
return true
|
||||
return ![:MULTITYPE, :RKSSYSTEM].include?(@ability)
|
||||
end
|
||||
|
||||
def airborne?
|
||||
|
||||
@@ -21,7 +21,7 @@ class PokeBattle_Battler
|
||||
@level = 0
|
||||
@hp = @totalhp = 0
|
||||
@type1 = @type2 = 0
|
||||
@ability = 0
|
||||
@ability = nil
|
||||
@item = 0
|
||||
@gender = 0
|
||||
@attack = @defense = @spatk = @spdef = @speed = 0
|
||||
@@ -78,7 +78,7 @@ class PokeBattle_Battler
|
||||
@totalhp = pkmn.totalhp
|
||||
@type1 = pkmn.type1
|
||||
@type2 = pkmn.type2
|
||||
@ability = pkmn.ability
|
||||
@ability = pkmn.ability_id
|
||||
@item = pkmn.item
|
||||
@gender = pkmn.gender
|
||||
@attack = pkmn.attack
|
||||
@@ -297,7 +297,7 @@ class PokeBattle_Battler
|
||||
if fullChange
|
||||
@type1 = @pokemon.type1
|
||||
@type2 = @pokemon.type2
|
||||
@ability = @pokemon.ability
|
||||
@ability = @pokemon.ability_id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -209,7 +209,7 @@ class PokeBattle_Battler
|
||||
# Form changes upon entering battle and when the weather changes
|
||||
pbCheckFormOnWeatherChange if !endOfRound
|
||||
# Darmanitan - Zen Mode
|
||||
if isSpecies?(:DARMANITAN) && isConst?(@ability,PBAbilities,:ZENMODE)
|
||||
if isSpecies?(:DARMANITAN) && @ability == :ZENMODE
|
||||
if @hp<=@totalhp/2
|
||||
if @form!=1
|
||||
@battle.pbShowAbilitySplash(self,true)
|
||||
@@ -223,7 +223,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
end
|
||||
# Minior - Shields Down
|
||||
if isSpecies?(:MINIOR) && isConst?(@ability,PBAbilities,:SHIELDSDOWN)
|
||||
if isSpecies?(:MINIOR) && @ability == :SHIELDSDOWN
|
||||
if @hp>@totalhp/2 # Turn into Meteor form
|
||||
newForm = (@form>=7) ? @form-7 : @form
|
||||
if @form!=newForm
|
||||
@@ -240,7 +240,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
end
|
||||
# Wishiwashi - Schooling
|
||||
if isSpecies?(:WISHIWASHI) && isConst?(@ability,PBAbilities,:SCHOOLING)
|
||||
if isSpecies?(:WISHIWASHI) && @ability == :SCHOOLING
|
||||
if @level>=20 && @hp>@totalhp/4
|
||||
if @form!=1
|
||||
@battle.pbShowAbilitySplash(self,true)
|
||||
@@ -254,8 +254,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
end
|
||||
# Zygarde - Power Construct
|
||||
if isSpecies?(:ZYGARDE) && isConst?(@ability,PBAbilities,:POWERCONSTRUCT) &&
|
||||
endOfRound
|
||||
if isSpecies?(:ZYGARDE) && @ability == :POWERCONSTRUCT && endOfRound
|
||||
if @hp<=@totalhp/2 && @form<2 # Turn into Complete Forme
|
||||
newForm = @form+2
|
||||
@battle.pbDisplay(_INTL("You sense the presence of many!"))
|
||||
|
||||
@@ -75,9 +75,7 @@ class PokeBattle_Battler
|
||||
choices = []
|
||||
@battle.eachOtherSideBattler(@index) do |b|
|
||||
next if b.ungainableAbility? ||
|
||||
isConst?(b.ability, PBAbilities, :POWEROFALCHEMY) ||
|
||||
isConst?(b.ability, PBAbilities, :RECEIVER) ||
|
||||
isConst?(b.ability, PBAbilities, :TRACE)
|
||||
[:POWEROFALCHEMY, :RECEIVER, :TRACE].include?(b.ability)
|
||||
choices.push(b)
|
||||
end
|
||||
if choices.length>0
|
||||
@@ -107,16 +105,16 @@ class PokeBattle_Battler
|
||||
# Ability change
|
||||
#=============================================================================
|
||||
def pbOnAbilityChanged(oldAbil)
|
||||
if @effects[PBEffects::Illusion] && isConst?(oldAbil,PBAbilities,:ILLUSION)
|
||||
if @effects[PBEffects::Illusion] && oldAbil == :ILLUSION
|
||||
@effects[PBEffects::Illusion] = nil
|
||||
if !@effects[PBEffects::Transform]
|
||||
@battle.scene.pbChangePokemon(self,@pokemon)
|
||||
@battle.pbDisplay(_INTL("{1}'s {2} wore off!",pbThis,PBAbilities.getName(oldAbil)))
|
||||
@battle.scene.pbChangePokemon(self, @pokemon)
|
||||
@battle.pbDisplay(_INTL("{1}'s {2} wore off!", pbThis, Data::Ability.get(oldAbil).name))
|
||||
@battle.pbSetSeen(self)
|
||||
end
|
||||
end
|
||||
@effects[PBEffects::GastroAcid] = false if unstoppableAbility?
|
||||
@effects[PBEffects::SlowStart] = 0 if !isConst?(@ability,PBAbilities,:SLOWSTART)
|
||||
@effects[PBEffects::SlowStart] = 0 if @ability != :SLOWSTART
|
||||
# Revert form if Flower Gift/Forecast was lost
|
||||
pbCheckFormOnWeatherChange
|
||||
# Check for end of primordial weather
|
||||
|
||||
@@ -216,7 +216,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
end
|
||||
# Stance Change
|
||||
if isSpecies?(:AEGISLASH) && isConst?(@ability,PBAbilities,:STANCECHANGE)
|
||||
if isSpecies?(:AEGISLASH) && @ability == :STANCECHANGE
|
||||
if move.damagingMove?
|
||||
pbChangeForm(1,_INTL("{1} changed to Blade Forme!",pbThis))
|
||||
elsif isConst?(move.id,PBMoves,:KINGSSHIELD)
|
||||
|
||||
@@ -96,8 +96,7 @@ class PokeBattle_Battler
|
||||
end
|
||||
# Greninja - Battle Bond
|
||||
if !user.fainted? && !user.effects[PBEffects::Transform] &&
|
||||
user.isSpecies?(:GRENINJA) &&
|
||||
isConst?(user.ability,PBAbilities,:BATTLEBOND)
|
||||
user.isSpecies?(:GRENINJA) && user.ability == :BATTLEBOND
|
||||
if !@battle.pbAllFainted?(user.idxOpposingSide) &&
|
||||
!@battle.battleBond[user.index&1][user.pokemonIndex]
|
||||
numFainted = 0
|
||||
|
||||
@@ -165,7 +165,7 @@ class PokeBattle_Move
|
||||
end
|
||||
# Disguise will take the damage
|
||||
if !@battle.moldBreaker && target.isSpecies?(:MIMIKYU) &&
|
||||
target.form==0 && isConst?(target.ability,PBAbilities,:DISGUISE)
|
||||
target.form==0 && target.ability == :DISGUISE
|
||||
target.damageState.disguise = true
|
||||
return
|
||||
end
|
||||
|
||||
@@ -1997,7 +1997,7 @@ end
|
||||
#===============================================================================
|
||||
class PokeBattle_Move_063 < PokeBattle_Move
|
||||
def pbMoveFailed?(user,targets)
|
||||
if !hasConst?(PBAbilities,:SIMPLE) # Ability isn't defined
|
||||
if !Data::Ability.exists?(:SIMPLE)
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2005,9 +2005,7 @@ class PokeBattle_Move_063 < PokeBattle_Move
|
||||
end
|
||||
|
||||
def pbFailsAgainstTarget?(user,target)
|
||||
if target.unstoppableAbility? ||
|
||||
isConst?(target.ability, PBAbilities, :TRUANT) || # For some reason
|
||||
isConst?(target.ability, PBAbilities, :SIMPLE)
|
||||
if target.unstoppableAbility? || [:TRUANT, :SIMPLE].include?(target.ability)
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2017,7 +2015,7 @@ class PokeBattle_Move_063 < PokeBattle_Move
|
||||
def pbEffectAgainstTarget(user,target)
|
||||
@battle.pbShowAbilitySplash(target,true,false)
|
||||
oldAbil = target.ability
|
||||
target.ability = getConst(PBAbilities,:SIMPLE)
|
||||
target.ability = :SIMPLE
|
||||
@battle.pbReplaceAbilitySplash(target)
|
||||
@battle.pbDisplay(_INTL("{1} acquired {2}!",target.pbThis,target.abilityName))
|
||||
@battle.pbHideAbilitySplash(target)
|
||||
@@ -2032,7 +2030,7 @@ end
|
||||
#===============================================================================
|
||||
class PokeBattle_Move_064 < PokeBattle_Move
|
||||
def pbMoveFailed?(user,targets)
|
||||
if !hasConst?(PBAbilities,:INSOMNIA) # Ability isn't defined
|
||||
if !Data::Ability.exists?(:INSOMNIA)
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2040,9 +2038,7 @@ class PokeBattle_Move_064 < PokeBattle_Move
|
||||
end
|
||||
|
||||
def pbFailsAgainstTarget?(user,target)
|
||||
if target.unstoppableAbility? ||
|
||||
isConst?(target.ability, PBAbilities, :TRUANT) || # For some reason
|
||||
isConst?(target.ability, PBAbilities, :INSOMNIA)
|
||||
if target.unstoppableAbility? || [:TRUANT, :INSOMNIA].include?(target.ability)
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2052,7 +2048,7 @@ class PokeBattle_Move_064 < PokeBattle_Move
|
||||
def pbEffectAgainstTarget(user,target)
|
||||
@battle.pbShowAbilitySplash(target,true,false)
|
||||
oldAbil = target.ability
|
||||
target.ability = getConst(PBAbilities,:INSOMNIA)
|
||||
target.ability = :INSOMNIA
|
||||
@battle.pbReplaceAbilitySplash(target)
|
||||
@battle.pbDisplay(_INTL("{1} acquired {2}!",target.pbThis,target.abilityName))
|
||||
@battle.pbHideAbilitySplash(target)
|
||||
@@ -2082,10 +2078,7 @@ class PokeBattle_Move_065 < PokeBattle_Move
|
||||
return true
|
||||
end
|
||||
if target.ungainableAbility? ||
|
||||
isConst?(target.ability, PBAbilities, :POWEROFALCHEMY) ||
|
||||
isConst?(target.ability, PBAbilities, :RECEIVER) ||
|
||||
isConst?(target.ability, PBAbilities, :TRACE) ||
|
||||
isConst?(target.ability, PBAbilities, :WONDERGUARD)
|
||||
[:POWEROFALCHEMY, :RECEIVER, :TRACE, :WONDERGUARD].include?(target.ability)
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2117,9 +2110,7 @@ class PokeBattle_Move_066 < PokeBattle_Move
|
||||
return true
|
||||
end
|
||||
if user.ungainableAbility? ||
|
||||
isConst?(user.ability, PBAbilities, :POWEROFALCHEMY) ||
|
||||
isConst?(user.ability, PBAbilities, :RECEIVER) ||
|
||||
isConst?(user.ability, PBAbilities, :TRACE)
|
||||
[:POWEROFALCHEMY, :RECEIVER, :TRACE].include?(user.ability)
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2127,7 +2118,7 @@ class PokeBattle_Move_066 < PokeBattle_Move
|
||||
end
|
||||
|
||||
def pbFailsAgainstTarget?(user,target)
|
||||
if target.unstoppableAbility? || isConst?(target.ability, PBAbilities, :TRUANT)
|
||||
if target.unstoppableAbility? || target.ability == :TRUANT
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2163,7 +2154,7 @@ class PokeBattle_Move_067 < PokeBattle_Move
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
if user.ungainableAbility? || isConst?(user.ability, PBAbilities, :WONDERGUARD)
|
||||
if user.ungainableAbility? || user.ability == :WONDERGUARD
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
@@ -2180,7 +2171,7 @@ class PokeBattle_Move_067 < PokeBattle_Move
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
if target.ungainableAbility? || isConst?(target.ability, PBAbilities, :WONDERGUARD)
|
||||
if target.ungainableAbility? || target.ability == :WONDERGUARD
|
||||
@battle.pbDisplay(_INTL("But it failed!"))
|
||||
return true
|
||||
end
|
||||
|
||||
@@ -168,7 +168,7 @@ class PokeBattle_Battle
|
||||
@battlers[0].effects[PBEffects::Outrage]==0
|
||||
idxPartyForName = idxPartyNew
|
||||
enemyParty = pbParty(idxBattler)
|
||||
if isConst?(enemyParty[idxPartyNew].ability,PBAbilities,:ILLUSION)
|
||||
if enemyParty[idxPartyNew].ability == :ILLUSION
|
||||
idxPartyForName = pbLastInTeam(idxBattler)
|
||||
end
|
||||
if pbDisplayConfirm(_INTL("{1} is about to send in {2}. Will you switch your Pokémon?",
|
||||
@@ -254,7 +254,7 @@ class PokeBattle_Battle
|
||||
def pbMessagesOnReplace(idxBattler,idxParty)
|
||||
party = pbParty(idxBattler)
|
||||
newPkmnName = party[idxParty].name
|
||||
if isConst?(party[idxParty].ability,PBAbilities,:ILLUSION)
|
||||
if party[idxParty].ability == :ILLUSION
|
||||
newPkmnName = party[pbLastInTeam(idxBattler)].name
|
||||
end
|
||||
if pbOwnedByPlayer?(idxBattler)
|
||||
|
||||
@@ -1308,8 +1308,7 @@ class PokeBattle_AI
|
||||
end
|
||||
#---------------------------------------------------------------------------
|
||||
when "05E"
|
||||
if isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM)
|
||||
if user.ability == :MULTITYPE || user.ability == :RKSSYSTEM
|
||||
score -= 90
|
||||
else
|
||||
types = []
|
||||
@@ -1323,8 +1322,7 @@ class PokeBattle_AI
|
||||
end
|
||||
#---------------------------------------------------------------------------
|
||||
when "05F"
|
||||
if isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM)
|
||||
if user.ability == :MULTITYPE || user.ability == :RKSSYSTEM
|
||||
score -= 90
|
||||
elsif target.lastMoveUsed<=0 ||
|
||||
PBTypes.isPseudoType?(pbGetMoveData(target.lastMoveUsed,MoveData::TYPE))
|
||||
@@ -1349,8 +1347,7 @@ class PokeBattle_AI
|
||||
end
|
||||
#---------------------------------------------------------------------------
|
||||
when "060"
|
||||
if isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM)
|
||||
if user.ability == :MULTITYPE || user.ability == :RKSSYSTEM
|
||||
score -= 90
|
||||
elsif skill>=PBTrainerAI.mediumSkill
|
||||
envtypes = [
|
||||
@@ -1370,16 +1367,14 @@ class PokeBattle_AI
|
||||
#---------------------------------------------------------------------------
|
||||
when "061"
|
||||
if target.effects[PBEffects::Substitute]>0 ||
|
||||
isConst?(target.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(target.ability,PBAbilities,:RKSSYSTEM)
|
||||
target.ability == :MULTITYPE || target.ability == :RKSSYSTEM
|
||||
score -= 90
|
||||
elsif target.pbHasType?(:WATER)
|
||||
score -= 90
|
||||
end
|
||||
#---------------------------------------------------------------------------
|
||||
when "062"
|
||||
if isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM)
|
||||
if user.ability == :MULTITYPE || user.ability == :RKSSYSTEM
|
||||
score -= 90
|
||||
elsif user.pbHasType?(target.type1) &&
|
||||
user.pbHasType?(target.type2) &&
|
||||
@@ -1392,10 +1387,7 @@ class PokeBattle_AI
|
||||
if target.effects[PBEffects::Substitute]>0
|
||||
score -= 90
|
||||
elsif skill>=PBTrainerAI.mediumSkill
|
||||
if isConst?(target.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(target.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(target.ability,PBAbilities,:SIMPLE) ||
|
||||
isConst?(target.ability,PBAbilities,:TRUANT)
|
||||
if [:MULTITYPE, :RKSSYSTEM, :SIMPLE, :TRUANT].include?(target.ability)
|
||||
score -= 90
|
||||
end
|
||||
end
|
||||
@@ -1404,10 +1396,7 @@ class PokeBattle_AI
|
||||
if target.effects[PBEffects::Substitute]>0
|
||||
score -= 90
|
||||
elsif skill>=PBTrainerAI.mediumSkill
|
||||
if isConst?(target.ability,PBAbilities,:INSOMNIA) ||
|
||||
isConst?(target.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(target.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(target.ability,PBAbilities,:TRUANT)
|
||||
if [:INSOMNIA, :MULTITYPE, :RKSSYSTEM, :TRUANT].include?(target.ability)
|
||||
score -= 90
|
||||
end
|
||||
end
|
||||
@@ -1416,26 +1405,16 @@ class PokeBattle_AI
|
||||
score -= 40 # don't prefer this move
|
||||
if skill>=PBTrainerAI.mediumSkill
|
||||
if target.ability==0 || user.ability==target.ability ||
|
||||
isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(target.ability,PBAbilities,:FLOWERGIFT) ||
|
||||
isConst?(target.ability,PBAbilities,:FORECAST) ||
|
||||
isConst?(target.ability,PBAbilities,:ILLUSION) ||
|
||||
isConst?(target.ability,PBAbilities,:IMPOSTER) ||
|
||||
isConst?(target.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(target.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(target.ability,PBAbilities,:TRACE) ||
|
||||
isConst?(target.ability,PBAbilities,:WONDERGUARD) ||
|
||||
isConst?(target.ability,PBAbilities,:ZENMODE)
|
||||
[:MULTITYPE, :RKSSYSTEM].include?(user.ability) ||
|
||||
[:FLOWERGIFT, :FORECAST, :ILLUSION, :IMPOSTER, :MULTITYPE, :RKSSYSTEM,
|
||||
:TRACE, :WONDERGUARD, :ZENMODE].include?(target.ability)
|
||||
score -= 90
|
||||
end
|
||||
end
|
||||
if skill>=PBTrainerAI.highSkill
|
||||
if isConst?(target.ability,PBAbilities,:TRUANT) &&
|
||||
user.opposes?(target)
|
||||
if target.ability == :TRUANT && user.opposes?(target)
|
||||
score -= 90
|
||||
elsif isConst?(target.ability,PBAbilities,:SLOWSTART) &&
|
||||
user.opposes?(target)
|
||||
elsif target.ability == :SLOWSTART && user.opposes?(target)
|
||||
score -= 90
|
||||
end
|
||||
end
|
||||
@@ -1446,25 +1425,15 @@ class PokeBattle_AI
|
||||
score -= 90
|
||||
elsif skill>=PBTrainerAI.mediumSkill
|
||||
if user.ability==0 || user.ability==target.ability ||
|
||||
isConst?(target.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(target.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(target.ability,PBAbilities,:TRUANT) ||
|
||||
isConst?(user.ability,PBAbilities,:FLOWERGIFT) ||
|
||||
isConst?(user.ability,PBAbilities,:FORECAST) ||
|
||||
isConst?(user.ability,PBAbilities,:ILLUSION) ||
|
||||
isConst?(user.ability,PBAbilities,:IMPOSTER) ||
|
||||
isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(user.ability,PBAbilities,:TRACE) ||
|
||||
isConst?(user.ability,PBAbilities,:ZENMODE)
|
||||
[:MULTITYPE, :RKSSYSTEM, :TRUANT].include?(target.ability) ||
|
||||
[:FLOWERGIFT, :FORECAST, :ILLUSION, :IMPOSTER, :MULTITYPE, :RKSSYSTEM,
|
||||
:TRACE, :ZENMODE].include?(user.ability)
|
||||
score -= 90
|
||||
end
|
||||
if skill>=PBTrainerAI.highSkill
|
||||
if isConst?(user.ability,PBAbilities,:TRUANT) &&
|
||||
user.opposes?(target)
|
||||
if user.ability == :TRUANT && user.opposes?(target)
|
||||
score += 90
|
||||
elsif isConst?(user.ability,PBAbilities,:SLOWSTART) &&
|
||||
user.opposes?(target)
|
||||
elsif user.ability == :SLOWSTART && user.opposes?(target)
|
||||
score += 90
|
||||
end
|
||||
end
|
||||
@@ -1475,23 +1444,15 @@ class PokeBattle_AI
|
||||
if skill>=PBTrainerAI.mediumSkill
|
||||
if (user.ability==0 && target.ability==0) ||
|
||||
user.ability==target.ability ||
|
||||
isConst?(user.ability,PBAbilities,:ILLUSION) ||
|
||||
isConst?(user.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(user.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(user.ability,PBAbilities,:WONDERGUARD) ||
|
||||
isConst?(target.ability,PBAbilities,:ILLUSION) ||
|
||||
isConst?(target.ability,PBAbilities,:MULTITYPE) ||
|
||||
isConst?(target.ability,PBAbilities,:RKSSYSTEM) ||
|
||||
isConst?(target.ability,PBAbilities,:WONDERGUARD)
|
||||
[:ILLUSION, :MULTITYPE, :RKSSYSTEM, :WONDERGUARD].include?(user.ability) ||
|
||||
[:ILLUSION, :MULTITYPE, :RKSSYSTEM, :WONDERGUARD].include?(target.ability)
|
||||
score -= 90
|
||||
end
|
||||
end
|
||||
if skill>=PBTrainerAI.highSkill
|
||||
if isConst?(target.ability,PBAbilities,:TRUANT) &&
|
||||
user.opposes?(target)
|
||||
if target.ability == :TRUANT && user.opposes?(target)
|
||||
score -= 90
|
||||
elsif isConst?(target.ability,PBAbilities,:SLOWSTART) &&
|
||||
user.opposes?(target)
|
||||
elsif target.ability == :SLOWSTART && user.opposes?(target)
|
||||
score -= 90
|
||||
end
|
||||
end
|
||||
@@ -1501,10 +1462,7 @@ class PokeBattle_AI
|
||||
target.effects[PBEffects::GastroAcid]
|
||||
score -= 90
|
||||
elsif skill>=PBTrainerAI.highSkill
|
||||
score -= 90 if isConst?(target.ability,PBAbilities,:MULTITYPE)
|
||||
score -= 90 if isConst?(target.ability,PBAbilities,:RKSSYSTEM)
|
||||
score -= 90 if isConst?(target.ability,PBAbilities,:SLOWSTART)
|
||||
score -= 90 if isConst?(target.ability,PBAbilities,:TRUANT)
|
||||
score -= 90 if [:MULTITYPE, :RKSSYSTEM, :SLOWSTART, :TRUANT].include?(target.ability)
|
||||
end
|
||||
#---------------------------------------------------------------------------
|
||||
when "069"
|
||||
|
||||
@@ -2419,10 +2419,7 @@ BattleHandlers::AbilityChangeOnBattlerFainting.add(:POWEROFALCHEMY,
|
||||
proc { |ability,battler,fainted,battle|
|
||||
next if battler.opposes?(fainted)
|
||||
next if fainted.ungainableAbility? ||
|
||||
isConst?(fainted.ability, PBAbilities, :POWEROFALCHEMY) ||
|
||||
isConst?(fainted.ability, PBAbilities, :RECEIVER) ||
|
||||
isConst?(fainted.ability, PBAbilities, :TRACE) ||
|
||||
isConst?(fainted.ability, PBAbilities, :WONDERGUARD)
|
||||
[:POWEROFALCHEMY, :RECEIVER, :TRACE, :WONDERGUARD].include?(fainted.ability)
|
||||
battle.pbShowAbilitySplash(battler,true)
|
||||
battler.ability = fainted.ability
|
||||
battle.pbReplaceAbilitySplash(battler)
|
||||
|
||||
Reference in New Issue
Block a user