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:
Maruno17
2020-11-01 20:10:28 +00:00
parent c4e69d0a2e
commit 213347b938
34 changed files with 590 additions and 345 deletions

View File

@@ -167,28 +167,26 @@ def pbIsHiddenMove?(move)
end
def pbIsUnlosableItem?(item,species,ability)
return false if isConst?(species,PBSpecies,:ARCEUS) &&
!isConst?(ability,PBAbilities,:MULTITYPE)
return false if isConst?(species,PBSpecies,:SILVALLY) &&
!isConst?(ability,PBAbilities,:RKSSYSTEM)
return false if isConst?(species,PBSpecies,:ARCEUS) && ability != :MULTITYPE
return false if isConst?(species,PBSpecies,:SILVALLY) && ability != :RKSSYSTEM
combos = {
:ARCEUS => [:FISTPLATE,:FIGHTINIUMZ,
:SKYPLATE,:FLYINIUMZ,
:TOXICPLATE,:POISONIUMZ,
:EARTHPLATE,:GROUNDIUMZ,
:STONEPLATE,:ROCKIUMZ,
:INSECTPLATE,:BUGINIUMZ,
:SPOOKYPLATE,:GHOSTIUMZ,
:IRONPLATE,:STEELIUMZ,
:FLAMEPLATE,:FIRIUMZ,
:SPLASHPLATE,:WATERIUMZ,
:MEADOWPLATE,:GRASSIUMZ,
:ZAPPLATE,:ELECTRIUMZ,
:MINDPLATE,:PSYCHIUMZ,
:ICICLEPLATE,:ICIUMZ,
:DRACOPLATE,:DRAGONIUMZ,
:DREADPLATE,:DARKINIUMZ,
:PIXIEPLATE,:FAIRIUMZ],
:ARCEUS => [:FISTPLATE, :FIGHTINIUMZ,
:SKYPLATE, :FLYINIUMZ,
:TOXICPLATE, :POISONIUMZ,
:EARTHPLATE, :GROUNDIUMZ,
:STONEPLATE, :ROCKIUMZ,
:INSECTPLATE, :BUGINIUMZ,
:SPOOKYPLATE, :GHOSTIUMZ,
:IRONPLATE, :STEELIUMZ,
:FLAMEPLATE, :FIRIUMZ,
:SPLASHPLATE, :WATERIUMZ,
:MEADOWPLATE, :GRASSIUMZ,
:ZAPPLATE, :ELECTRIUMZ,
:MINDPLATE, :PSYCHIUMZ,
:ICICLEPLATE, :ICIUMZ,
:DRACOPLATE, :DRAGONIUMZ,
:DREADPLATE, :DARKINIUMZ,
:PIXIEPLATE, :FAIRIUMZ],
:SILVALLY => [:FIGHTINGMEMORY,
:FLYINGMEMORY,
:POISONMEMORY,

View File

@@ -1086,23 +1086,22 @@ ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene|
ItemHandlers::UseOnPokemon.add(:ABILITYCAPSULE,proc { |item,pkmn,scene|
abils = pkmn.getAbilityList
abil1 = 0; abil2 = 0
abil1 = nil; abil2 = nil
for i in abils
abil1 = i[0] if i[1]==0
abil2 = i[0] if i[1]==1
end
if abil1<=0 || abil2<=0 || pkmn.hasHiddenAbility? || pkmn.isSpecies?(:ZYGARDE)
if abil1.nil? || abil2.nil? || pkmn.hasHiddenAbility? || pkmn.isSpecies?(:ZYGARDE)
scene.pbDisplay(_INTL("It won't have any effect."))
next false
end
newabil = (pkmn.abilityIndex+1)%2
newabilname = PBAbilities.getName((newabil==0) ? abil1 : abil2)
newabilname = Data::Ability.get((newabil==0) ? abil1 : abil2).name
if scene.pbConfirm(_INTL("Would you like to change {1}'s Ability to {2}?",
pkmn.name,newabilname))
pkmn.setAbility(newabil)
scene.pbRefresh
scene.pbDisplay(_INTL("{1}'s Ability changed to {2}!",pkmn.name,
PBAbilities.getName(pkmn.ability)))
scene.pbDisplay(_INTL("{1}'s Ability changed to {2}!",pkmn.name,newabilname))
next true
end
next false