![[PokeCommunity.com] bagdes [PokeCommunity.com] bagdes](https://data.pokecommunity.com/attachments/7/7659-6aed7053af4d466ff6926290401e2524.jpg)
class PokemonTrainerCardScene
def update
pbUpdateSpriteHash(@sprites)
end
def pbStartScene
@sprites={}
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99999
background=pbResolveBitmap(sprintf("Graphics/Pictures/trainercardbgf"))
if $Trainer.isFemale? && background
addBackgroundPlane(@sprites,"bg","trainercardbgf",@viewport)
else
addBackgroundPlane(@sprites,"bg","trainercardbg",@viewport)
end
cardexists=pbResolveBitmap(sprintf("Graphics/Pictures/trainercardf"))
@sprites["card"]=IconSprite.new(0,0,@viewport)
if $Trainer.isFemale? && cardexists
@sprites["card"].setBitmap("Graphics/Pictures/trainercardf")
else
@sprites["card"].setBitmap("Graphics/Pictures/trainercard")
end
@sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
@sprites["trainer"]=IconSprite.new(336,98,@viewport)
@sprites["trainer"].setBitmap(pbPlayerSpriteFile($Trainer.trainertype))
@sprites["trainer"].x-=(@sprites["trainer"].bitmap.width-128)/2
@sprites["trainer"].y-=(@sprites["trainer"].bitmap.height-128)
@sprites["trainer"].z=2
pbSetSystemFont(@sprites["overlay"].bitmap)
pbDrawTrainerCardFront
if $PokemonGlobal.trainerRecording
$PokemonGlobal.trainerRecording.play
end
pbFadeInAndShow(@sprites) { update }
end
def pbDrawTrainerCardFront
overlay=@sprites["overlay"].bitmap
overlay.clear
totalsec = Graphics.frame_count / Graphics.frame_rate
hour = totalsec / 60 / 60
min = totalsec / 60 % 60
time=_ISPRINTF("{1:02d}:{2:02d}",hour,min)
$PokemonGlobal.startTime=pbGetTimeNow if !$PokemonGlobal.startTime
starttime=_ISPRINTF("{1:s} {2:d}, {3:d}",
pbGetAbbrevMonthName($PokemonGlobal.startTime.mon),
$PokemonGlobal.startTime.day,
$PokemonGlobal.startTime.year)
pubid=sprintf("%05d",$Trainer.publicID($Trainer.id))
baseColor=Color.new(248,248,248)
shadowColor=Color.new(72,80,88)
textPositions=[
[_INTL("Name"),34,51,0,baseColor,shadowColor],
[_INTL("{1}",$Trainer.name),302,51,1,baseColor,shadowColor],
[_INTL("ID No."),332,51,0,baseColor,shadowColor],
[_INTL("{1}",pubid),468,51,1,baseColor,shadowColor],
[_INTL("Money"),34,98,0,baseColor,shadowColor],
[_INTL("${1}",$Trainer.money),302,98,1,baseColor,shadowColor],
[_INTL("Pok?dex"),34,148,0,baseColor,shadowColor],
[_ISPRINTF("{1:d}/{2:d}",$Trainer.pokedexOwned,$Trainer.pokedexSeen),302,148,1,baseColor,shadowColor],
[_INTL("Time"),34,194,0,baseColor,shadowColor],
[time,302,194,1,baseColor,shadowColor],
]
pbDrawTextPositions(overlay,textPositions)
x=72 # x coordinate of left most badge slot
y=243 # y coordinate of top most badge slot
imagePositions=[]
for i in 0...3 #change 3 to total number of regions
for j in 0...8
if $Trainer.badges[j+i*8]
imagePositions.push(["Graphics/Pictures/badges",x,y,j*32,i*32,32,32])
end
x+=48 # distance between the top left corners of two badge slots beside each other
end
x=72
y+=38 # distance between the top left corners of two badge slots on top of each other
end
pbDrawImagePositions(overlay,imagePositions)
end
def pbTrainerCard
loop do
Graphics.update
Input.update
self.update
if Input.trigger?(Input::B)
break
end
end
end
def pbEndScene
pbFadeOutAndHide(@sprites) { update }
pbDisposeSpriteHash(@sprites)
@viewport.dispose
end
end
class PokemonTrainerCard
def initialize(scene)
@scene=scene
end
def pbStartScreen
@scene.pbStartScene
@scene.pbTrainerCard
@scene.pbEndScene
end
end