TheShinyMew
Wild Challenger appeared!
- 123
- Posts
- 15
- Years
- she/her
- Unavailable
- Seen Mar 14, 2025
Hey, I'm back! I have a new problem here.
I am going to add a new variant of a Pokémon called a Mirage Pokémon, and when I modified the PSystem_Utilities within a mirage Pokemon sprite, It came up with this:
Here's a code:
I think I permanently messed up. but is there a way to fix it?
I am going to add a new variant of a Pokémon called a Mirage Pokémon, and when I modified the PSystem_Utilities within a mirage Pokemon sprite, It came up with this:
Code:
---------------------------
Pokémon ColdIce
---------------------------
Script 'PSystem_Utilities' line 761: SystemStackError occurred.
stack level too deep
---------------------------
OK
---------------------------
Here's a code:
Code:
################################################################################
# Loads Pokémon/item/trainer graphics
################################################################################
def pbLoadPokemonBitmap(pokemon, back=false)
return pbLoadPokemonBitmapSpecies(pokemon,pokemon.species,back)
end
# Note: Returns an AnimatedBitmap, not a Bitmap
def pbLoadPokemonBitmapSpecies(pokemon, species, back=false)
ret=nil
if pokemon.isEgg?
bitmapFileName=sprintf("Graphics/Battlers/%segg",getConstantName(PBSpecies,species)) rescue nil
if !pbResolveBitmap(bitmapFileName)
bitmapFileName=sprintf("Graphics/Battlers/%03degg",species)
if !pbResolveBitmap(bitmapFileName)
bitmapFileName=sprintf("Graphics/Battlers/egg")
end
end
bitmapFileName=pbResolveBitmap(bitmapFileName)
else
bitmapFileName=pbCheckPokemonBitmapFiles([species,back,
(pokemon.isFemale?),
pokemon.isShiny?,
pokemon.isDelta?,
pokemon.isFreeDelta?,
pokemon.isGolden?,
pokemon.isCrystal?,
pokemon.isMirage?,
(pokemon.form rescue 0),
(pokemon.isShadow? rescue false)])
# Alter bitmap if supported
alterBitmap=(MultipleForms.getFunction(species,"alterBitmap") rescue nil)
end
if bitmapFileName && alterBitmap
animatedBitmap=AnimatedBitmap.new(bitmapFileName)
copiedBitmap=animatedBitmap.copy
animatedBitmap.dispose
copiedBitmap.each {|bitmap|
alterBitmap.call(pokemon,bitmap)
}
ret=copiedBitmap
elsif bitmapFileName
ret=AnimatedBitmap.new(bitmapFileName)
end
return ret
end
# Note: Returns an AnimatedBitmap, not a Bitmap
def pbLoadSpeciesBitmap(species,female=false,form=0,shiny=false,delta=false,
delta2=false,golden=false,crystal=false,mirage=false,
shadow=false,back=false,egg=false)
ret=nil
if egg
bitmapFileName=sprintf("Graphics/Battlers/%segg",getConstantName(PBSpecies,species)) rescue nil
if !pbResolveBitmap(bitmapFileName)
bitmapFileName=sprintf("Graphics/Battlers/%03degg",species)
if !pbResolveBitmap(bitmapFileName)
bitmapFileName=sprintf("Graphics/Battlers/egg")
end
end
bitmapFileName=pbResolveBitmap(bitmapFileName)
else
bitmapFileName=pbCheckPokemonBitmapFiles([species,back,female,shiny,delta,delta2,golden,crystal,mirage,form,shadow])
end
if bitmapFileName
ret=AnimatedBitmap.new(bitmapFileName)
end
return ret
end
def pbCheckPokemonBitmapFiles(params)
species=params[0]
back=params[1]
factors=[]
factors.push([5,params[5],false]) if params[5] && params[5]!=false # shadow
factors.push([2,params[2],false]) if params[2] && params[2]!=false # gender
factors.push([3,params[3],false]) if params[3] && params[3]!=false # shiny
factors.push([6,params[6],false]) if params[6] && params[6]!=false # delta
factors.push([7,params[7],false]) if params[7] && params[7]!=false # delta2
factors.push([8,params[8],false]) if params[8] && params[8]!=false # golden
factors.push([9,params[9],false]) if params[9] && params[9]!=false # crystal
factors.push([10,params[10],false]) if params[10] && params[10]!=false # mirage
factors.push([4,params[4].to_s,""]) if params[4] && params[4].to_s!="" &&
params[4].to_s!="0" # form
tshadow=false
tgender=false
tshiny=false
tdelta=false
tdelta2=false
tgolden=false
tcrystal=false
tmirage=false
tform=""
for i in 0...2**factors.length
for j in 0...factors.length
case factors[j][0]
when 2 # gender
tgender=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 3 # shiny
tshiny=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 4 # form
tform=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 5 # shadow
tshadow=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 6 # delta
delta=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 7 # delta2
delta2=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 8 # golden
golden=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 9 # crystal
crystal=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 10 # mirage
mirage=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
end
end
bitmapFileName=sprintf("Graphics/Battlers/%s%s%s%s%s%s%s%s%s%s%s",
getConstantName(PBSpecies,species),
tgender ? "f" : "",
tshiny ? "s" : "",
tdelta ? "d" : "",
tdelta2 ? "d2" : "",
tgolden ? "g" : "",
tcrystal ? "c" : "",
tmirage ? "m" : "",
back ? "b" : "",
(tform!="" ? "_"+tform : ""),
tshadow ? "_shadow" : "") rescue nil
ret=pbResolveBitmap(bitmapFileName)
return ret if ret
bitmapFileName=sprintf("Graphics/Battlers/%03d%s%s%s%s%s%s%s%s%s%s",
species,
tgender ? "f" : "",
tshiny ? "s" : "",
tdelta ? "d" : "",
tdelta2 ? "d2" : "",
tgolden ? "g" : "",
tcrystal ? "c" : "",
tmirage ? "m" : "",
back ? "b" : "",
(tform!="" ? "_"+tform : ""),
tshadow ? "_shadow" : "")
ret=pbResolveBitmap(bitmapFileName)
return ret if ret
end
return nil
end
def pbLoadPokemonIcon(pokemon)
return AnimatedBitmap.new(pbPokemonIconFile(pokemon)).deanimate
end
def pbPokemonIconFile(pokemon)
bitmapFileName=nil
bitmapFileName=pbCheckPokemonIconFiles([pokemon.species,
(pokemon.isFemale?),
pokemon.isShiny?,
pokemon.isDelta?,
pokemon.isFreeDelta?,
pokemon.isGolden?,
pokemon.isCrystal?,
pokemon.isMirage?,
(pokemon.form rescue 0),
(pokemon.isShadow? rescue false)],
pokemon.isEgg?)
return bitmapFileName
end
def pbCheckPokemonIconFiles(params,egg=false)
species=params[0]
if egg
bitmapFileName=sprintf("Graphics/Icons/icon%segg",getConstantName(PBSpecies,species)) rescue nil
if !pbResolveBitmap(bitmapFileName)
bitmapFileName=sprintf("Graphics/Icons/icon%03degg",species)
if !pbResolveBitmap(bitmapFileName)
bitmapFileName=sprintf("Graphics/Icons/iconEgg")
end
end
return pbResolveBitmap(bitmapFileName)
else
factors=[]
factors.push([4,params[4],false]) if params[4] && params[4]!=false # shadow
factors.push([1,params[1],false]) if params[1] && params[1]!=false # gender
factors.push([2,params[2],false]) if params[2] && params[2]!=false # shiny
factors.push([5,params[5],false]) if params[5] && params[5]!=false # delta
factors.push([6,params[6],false]) if params[6] && params[6]!=false # delta2
factors.push([7,params[7],false]) if params[7] && params[7]!=false # golden
factors.push([8,params[8],false]) if params[8] && params[8]!=false # crystal
factors.push([9,params[9],false]) if params[9] && params[9]!=false # mirage
factors.push([3,params[3].to_s,""]) if params[3] && params[3].to_s!="" &&
params[3].to_s!="0" # form
tshadow=false
tgender=false
tshiny=false
tdelta=false
tdelta2=false
tgolden=false
tcrystal=false
tmirage=false
tform=""
for i in 0...2**factors.length
for j in 0...factors.length
case factors[j][0]
when 1 # gender
tgender=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 2 # shiny
tshiny=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 3 # form
tform=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 4 # shadow
tshadow=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 5 # delta
tdelta=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 6 # delta2
tdelta2=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 7 # golden
tgolden=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 8 # crystal
tcrystal=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
when 9 # mirage
tmirage=((i/(2**j))%2==0) ? factors[j][1] : factors[j][2]
end
end
bitmapFileName=sprintf("Graphics/Icons/icon%s%s%s%s%s%s%s%s%s%s",
getConstantName(PBSpecies,species),
tgender ? "f" : "",
tshiny ? "s" : "",
tdelta ? "d" : "",
tdelta2 ? "d2" : "",
tgolden ? "g" : "",
tcrystal ? "c" : "",
tmirage ? "m" : "",
(tform!="" ? "_"+tform : ""),
tshadow ? "_shadow" : "") rescue nil
ret=pbResolveBitmap(bitmapFileName)
return ret if ret
bitmapFileName=sprintf("Graphics/Icons/icon%03d%s%s%s%s%s%s%s%s%s",
species,
tgender ? "f" : "",
tshiny ? "s" : "",
tdelta ? "d" : "",
tdelta2 ? "d2" : "",
tgolden ? "g" : "",
tcrystal ? "c" : "",
tmirage ? "m" : "",
(tform!="" ? "_"+tform : ""),
tshadow ? "_shadow" : "")
ret=pbResolveBitmap(bitmapFileName)
return ret if ret
end
end
return nil
end
I think I permanently messed up. but is there a way to fix it?
Last edited by a moderator: