multitype ABILITY

This commit is contained in:
infinitefusion
2021-12-26 14:03:38 -05:00
parent 72d804163e
commit 12bbd2084b
3 changed files with 82 additions and 34 deletions

View File

@@ -312,11 +312,17 @@ class Pokemon
# @return [Symbol] this Pokémon's first type # @return [Symbol] this Pokémon's first type
def type1 def type1
if @ability == :MULTITYPE && species_data.type1 == :NORMAL
return getHeldPlateType()
end
return species_data.type1 return species_data.type1
end end
# @return [Symbol] this Pokémon's second type, or the first type if none is defined # @return [Symbol] this Pokémon's second type, or the first type if none is defined
def type2 def type2
if @ability == :MULTITYPE && species_data.type2 == :NORMAL
return getHeldPlateType()
end
sp_data = species_data sp_data = species_data
return sp_data.type2 || sp_data.type1 return sp_data.type2 || sp_data.type1
end end
@@ -336,6 +342,10 @@ class Pokemon
return self.types.include?(type) return self.types.include?(type)
end end
def getHeldPlateType()
return getArceusPlateType(@item)
end
#============================================================================= #=============================================================================
# Gender # Gender
#============================================================================= #=============================================================================

View File

@@ -87,7 +87,6 @@ def pbCheckPokemonIconFiles(speciesNum,egg=false, dna=false)
return pbResolveBitmap("Graphics/Icons/iconDNA.png") return pbResolveBitmap("Graphics/Icons/iconDNA.png")
end end
def getDexNumberForSpecies(species) def getDexNumberForSpecies(species)
return species if species.is_a?(Integer) return species if species.is_a?(Integer)
if species.is_a?(Symbol) if species.is_a?(Symbol)
@@ -204,8 +203,6 @@ def obtainBadgeMessage(badgeName)
Kernel.pbMessage(_INTL("\\me[Badge get]{1} obtained the {2}!", $Trainer.name, badgeName)) Kernel.pbMessage(_INTL("\\me[Badge get]{1} obtained the {2}!", $Trainer.name, badgeName))
end end
def getAllNonLegendaryPokemon() def getAllNonLegendaryPokemon()
list = [] list = []
for i in 1..143 for i in 1..143
@@ -284,7 +281,6 @@ def Kernel.setRocketPassword(variableNum)
pbSet(variableNum, password) pbSet(variableNum, password)
end end
def getGenericPokemonCryText(pokemonSpecies) def getGenericPokemonCryText(pokemonSpecies)
case pokemonSpecies case pokemonSpecies
when 25 when 25
@@ -318,5 +314,47 @@ def obtainPokemonSpritePath(bodyId, headId,include_customs=true)
return picturePath return picturePath
end end
def getArceusPlateType(heldItem)
return :NORMAL if heldItem == nil
case heldItem
when :FISTPLATE
return :FIGHTING
when :SKYPLATE
return :FLYING
when :TOXICPLATE
return :POISON
when :EARTHPLATE
return :GROUND
when :STONEPLATE
return :ROCK
when :INSECTPLATE
return :BUG
when :SPOOKYPLATE
return :GHOST
when :IRONPLATE
return :STEEL
when :FLAMEPLATE
return :FIRE
when :SPLASHPLATE
return :WATER
when :MEADOWPLATE
return :GRASS
when :ZAPPLATE
return :ELECTRIC
when :MINDPLATE
return :PSYCHIC
when :ICICLEPLATE
return :ICE
when :DRACOPLATE
return :DRAGON
when :DREADPLATE
return :DARK
when :PIXIEPLATE
return :FAIRY
else
return :NORMAL
end
end

Binary file not shown.