This groups all the pokemon into types.
The Script is more like a Def, it will choose a pokemon based on it's tying.
-Credit
Stochastic for writing the Fire version. I just copied it repeatedly and changed a few words.
The Script is more like a Def, it will choose a pokemon based on it's tying.
-Credit
Stochastic for writing the Fire version. I just copied it repeatedly and changed a few words.
Code:
#Fire
def allFireTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :FIRE) || isConst?(type2, PBTypes, :FIRE))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Water
def allWaterTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :WATER) || isConst?(type2, PBTypes, :WATER))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Normal
def allNormalTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :NORMAL) || isConst?(type2, PBTypes, :NORMAL))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Fighting
def allFightingTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :FIGHTING) || isConst?(type2, PBTypes, :FIGHTING))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Flying
def allFlyingTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :FLYING) || isConst?(type2, PBTypes, :FLYING))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Poison
def allPoisonTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :POISON) || isConst?(type2, PBTypes, :POISON))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Ground
def allGroundTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :GROUND) || isConst?(type2, PBTypes, :GROUND))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Rock
def allRockTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :ROCK) || isConst?(type2, PBTypes, :ROCK))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Bug
def allBugTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :BUG) || isConst?(type2, PBTypes, :BUG))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Ghost
def allGhostTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :GHOST) || isConst?(type2, PBTypes, :GHOST))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Steel
def allSteelTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :STEEL) || isConst?(type2, PBTypes, :STEEL))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#???
def allQMARKSTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :QMARKS) || isConst?(type2, PBTypes, :QMARKS))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Grass
def allGrassTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :GRASS) || isConst?(type2, PBTypes, :GRASS))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Electric
def allElectricTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :ELECTRIC) || isConst?(type2, PBTypes, :ELECTRIC))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Psychic
def allPsychicTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :PSYCHIC) || isConst?(type2, PBTypes, :PHYCHIC))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Ice
def allIceTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :ICE) || isConst?(type2, PBTypes, :ICE))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Dragon
def allDragonTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :DRAGON) || isConst?(type2, PBTypes, :DRAGON))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Dark
def allDarkTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :DARK) || isConst?(type2, PBTypes, :DARK))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Shadow
def allShadowTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :SHADOW) || isConst?(type2, PBTypes, :SHADOW))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
#Fairy
def allFairyTypes
dexdata=pbOpenDexData
ret = []
for i in 1...649
pbDexDataOffset(dexdata, i, 8)
type1 = dexdata.fgetb
pbDexDataOffset(dexdata, i, 9)
type2 = dexdata.fgetb
if (isConst?(type1, PBTypes, :FAIRY) || isConst?(type2, PBTypes, :FAIRY))
ret.push(getConstantName(PBSpecies, i))
end
end
return ret
end
Last edited by a moderator: