Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #=====================================================================================
- #* Summary Screens by shiney570. (Originally written for the Essentials BW2 Mod)
- #=================================================================================
- # skew method by Luka S.J (written for the EBS)
- class Sprite
- def skew(angle=90)
- return false if !self.bitmap
- angle=angle*(Math::PI/180)
- bitmap=self.bitmap
- rect=Rect.new(0,0,bitmap.width,bitmap.height)
- width=rect.width+((rect.height-1)/Math.tan(angle))
- self.bitmap=Bitmap.new(width,rect.height)
- for i in 0...rect.height
- y=rect.height-i
- x=i/Math.tan(angle)
- self.bitmap.blt(x+rect.x,y+rect.y,bitmap,Rect.new(0,y,rect.width,1))
- end
- end
- end
- class MoveSelectionSprite < SpriteWrapper
- attr_reader :preselected
- attr_reader :index
- def initialize(viewport=nil,fifthmove=false)
- super(viewport)
- @movesel=AnimatedBitmap.new("Graphics/Pictures/Summary/movesel_1")
- @frame=0
- @index=0
- @fifthmove=fifthmove
- @preselected=false
- @updating=false
- @spriteVisible=true
- refresh
- end
- def dispose
- @movesel.dispose
- super
- end
- def index=(value)
- @index=value
- refresh
- end
- def preselected=(value)
- @preselected=value
- refresh
- end
- def visible=(value)
- super
- @spriteVisible=value if !@updating
- end
- def refresh
- w=@movesel.width
- h=@movesel.height#/2
- if @index==0
- @movesel=AnimatedBitmap.new("Graphics/Pictures/Summary/movesel_1")
- elsif @index==1
- @movesel=AnimatedBitmap.new("Graphics/Pictures/Summary/movesel_2")
- elsif @index==2
- @movesel=AnimatedBitmap.new("Graphics/Pictures/Summary/movesel_3")
- elsif @index==3
- @movesel=AnimatedBitmap.new("Graphics/Pictures/Summary/movesel_4")
- else
- @movesel=AnimatedBitmap.new("Graphics/Pictures/Summary/movesel_5")
- end
- self.x=5
- self.y=0
- self.y=15 if self.index==0
- self.y=79 if self.index==1
- self.y=143 if self.index==2
- self.y=207 if self.index==3
- self.y=317 if @fifthmove && self.index==4
- self.bitmap=@movesel.bitmap
- if self.preselected
- self.src_rect.set(0,h,w,h)
- else
- self.src_rect.set(0,0,w,h)
- end
- end
- def update
- @updating=true
- super
- @movesel.update
- @updating=false
- refresh
- end
- end
- class PokemonSummaryScene
- def pbPokerus(pkmn)
- return pkmn.pokerusStage
- end
- def pbUpdate
- pbUpdateSpriteHash(@sprites)
- end
- def pbStartScene(party,partyindex)
- @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z=99999
- @party=party
- @partyindex=partyindex
- @pokemon=@party[@partyindex]
- @sprites={}
- @typebitmap=AnimatedBitmap.new(_INTL("Graphics/Pictures/types"))
- @sprites["bg"]=IconSprite.new(0,0,@viewport)
- @sprites["bg"].setBitmap("Graphics/Pictures/Summary/bg")
- @sprites["background"]=IconSprite.new(0,0,@viewport)
- @sprites["hpbar"]=IconSprite.new(0,0,@viewport)
- @sprites["hpbar"].setBitmap("Graphics/Pictures/Party/hp_bar")
- @sprites["hpbar"].x=240
- @sprites["hpbar"].y=96
- @sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
- @sprites["overlay"].z=999999
- @sprites["pokemonshadow"]=PokemonSprite.new(@viewport)
- @sprites["pokemonshadow"].setPokemonBitmap(@pokemon)
- @sprites["pokemonshadow"].mirror=false
- @sprites["pokemonshadow"].color=Color.new(0,0,0)
- #@sprites["pokemonshadow"].angle=45
- @sprites["pokemonshadow"].skew(90)
- @sprites["pokemonshadow"].opacity=30
- @sprites["pokemonshadow"].zoom_x=0.75
- @sprites["pokemonshadow"].zoom_y=1.5
- #pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+80,140)
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335,129)
- @sprites["pokemon"]=PokemonSprite.new(@viewport)
- @sprites["pokemon"].setPokemonBitmap(@pokemon)
- @sprites["pokemon"].mirror=false
- @sprites["pokemon"].color=Color.new(0,0,0,0)
- pbPositionPokemonSprite(@sprites["pokemon"],335,129)
- @sprites["pokeicon"]=PokemonBoxIcon.new(@pokemon,@viewport)
- @sprites["pokeicon"].x=14
- @sprites["pokeicon"].y=52
- @sprites["pokeicon"].mirror=false
- @sprites["pokeicon"].visible=false
- @sprites["movepresel"]=MoveSelectionSprite.new(@viewport)
- @sprites["movepresel"].visible=false
- @sprites["movepresel"].preselected=true
- @sprites["movesel"]=MoveSelectionSprite.new(@viewport)
- @sprites["movesel"].visible=false
- @sprites["box"]=IconSprite.new(0,0,@viewport)
- @sprites["box"].setBitmap("Graphics/Pictures/Universal/box")
- @sprites["box"].x=248
- @sprites["box"].y=344
- @sprites["updown"]=IconSprite.new(0,0,@viewport)
- @sprites["updown"].setBitmap("Graphics/Pictures/Universal/updown")
- @sprites["updown"].x=298
- @sprites["updown"].y=342
- @sprites["exit"]=IconSprite.new(0,0,@viewport)
- @sprites["exit"].setBitmap("Graphics/Pictures/Universal/exit")
- @sprites["exit"].x=410
- @sprites["exit"].y=346
- @sprites["return"]=IconSprite.new(0,0,@viewport)
- @sprites["return"].setBitmap("Graphics/Pictures/Universal/return")
- @sprites["return"].x=474
- @sprites["return"].y=346
- @page=0
- drawPageOne(@pokemon)
- pbFadeInAndShow(@sprites) { pbUpdate }
- end
- def pbStartForgetScene(party,partyindex,moveToLearn)
- @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
- @viewport.z=99999
- @party=party
- @partyindex=partyindex
- @pokemon=@party[@partyindex]
- @sprites={}
- @page=3
- @typebitmap=AnimatedBitmap.new(_INTL("Graphics/Pictures/types"))
- @sprites["background"]=IconSprite.new(0,0,@viewport)
- @sprites["overlay"]=BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
- @sprites["pokeicon"]=PokemonBoxIcon.new(@pokemon,@viewport)
- @sprites["pokeicon"].x=14
- @sprites["pokeicon"].y=52
- @sprites["pokeicon"].mirror=false
- @sprites["movesel"]=MoveSelectionSprite.new(@viewport,moveToLearn>0)
- @sprites["movesel"].visible=false
- @sprites["movesel"].visible=true
- @sprites["movesel"].index=0
- drawSelectedMove(@pokemon,moveToLearn,@pokemon.moves[0].id)
- pbFadeInAndShow(@sprites)
- end
- def pbEndScene
- pbFadeOutAndHide(@sprites) { pbUpdate }
- pbDisposeSpriteHash(@sprites)
- @typebitmap.dispose
- @viewport.dispose
- end
- def drawMarkings(bitmap,x,y,width,height,markings)
- totaltext=""
- oldfontname=bitmap.font.name
- oldfontsize=bitmap.font.size
- oldfontcolor=bitmap.font.color
- bitmap.font.size=24
- bitmap.font.name="Arial"
- PokemonStorage::MARKINGCHARS.each{|item| totaltext+=item }
- totalsize=bitmap.text_size(totaltext)
- realX=x+(width/2)-(totalsize.width/2)
- realY=y+(height/2)-(totalsize.height/2)
- i=0
- PokemonStorage::MARKINGCHARS.each{|item|
- marked=(markings&(1<<i))!=0
- bitmap.font.color=(marked) ? Color.new(72,64,56) : Color.new(184,184,160)
- itemwidth=bitmap.text_size(item).width
- bitmap.draw_text(realX,realY,itemwidth+2,totalsize.height,item)
- realX+=itemwidth
- i+=1
- }
- bitmap.font.name=oldfontname
- bitmap.font.size=oldfontsize
- bitmap.font.color=oldfontcolor
- end
- # Draws the page one.
- def drawPageOne(pokemon)
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+80,140)
- @sprites["pokemon"].visible=true
- @sprites["pokemonshadow"].visible=true
- @sprites["box"].visible=true
- @sprites["return"].visible=true
- @sprites["exit"].visible=true
- @sprites["updown"].visible=true
- @sprites["hpbar"].visible=false
- if pokemon.isEgg?
- drawPageOneEgg(pokemon)
- return
- end
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_1")
- imagepos=[]
- if pbPokerus(pokemon)==1 || pokemon.hp==0 || @pokemon.status>0
- status=6 if pbPokerus(pokemon)==1
- status=@pokemon.status-1 if @pokemon.status>0
- status=5 if pokemon.hp==0
- imagepos.push(["Graphics/Pictures/statuses",124,100,0,16*status,44,16])
- end
- if pokemon.isShiny?
- imagepos.push([sprintf("Graphics/Pictures/shiny"),304,256,0,0,-1,-1])
- end
- if pbPokerus(pokemon)==2
- imagepos.push([sprintf("Graphics/Pictures/summaryPokerus"),176,100,0,0,-1,-1])
- end
- ballused=@pokemon.ballused ? @pokemon.ballused : 0
- ballimage=sprintf("Graphics/Pictures/summaryball%02d",@pokemon.ballused)
- imagepos.push([ballimage,320,2,0,0,-1,-1])
- if (pokemon.isShadow? rescue false)
- imagepos.push(["Graphics/Pictures/summaryShadow",224,240,0,0,-1,-1])
- shadowfract=pokemon.heartgauge*1.0/PokeBattle_Pokemon::HEARTGAUGESIZE
- imagepos.push(["Graphics/Pictures/summaryShadowBar",242,280,0,0,(shadowfract*248).floor,-1])
- end
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(255,255,255)
- shadow=Color.new(165,165,173)
- base2=Color.new(90,82,82)
- shiny=Color.new(198,0,0)
- shiny2=Color.new(255,115,115)
- pbSetSystemFont(overlay)
- numberbase=(pokemon.isShiny?) ? Color.new(248,56,32) : Color.new(64,64,64)
- numbershadow=(pokemon.isShiny?) ? Color.new(224,152,144) : Color.new(176,176,176)
- publicID=pokemon.publicID
- speciesname=PBSpecies.getName(pokemon.species)
- itemname=pokemon.hasItem? ? PBItems.getName(pokemon.item) : _INTL("None")
- growthrate=pokemon.growthrate
- startexp=PBExperience.pbGetStartExperience(pokemon.level,growthrate)
- endexp=PBExperience.pbGetStartExperience(pokemon.level+1,growthrate)
- pokename=@pokemon.name
- textpos=[
- [_INTL("Name"),34,54-4,0,base,shadow],
- [pokename,354,6,0,base2,shadow],
- [_INTL("Lv. {1}",pokemon.level.to_s),322,38-4,0,base2,shadow],
- [_INTL("Item"),326,278-4,0,base2,shadow],
- [itemname,316,310-4,0,base2,shadow],
- [_ISPRINTF("Dex No."),34,22-4,0,base,shadow],
- [sprintf("%03d",pokemon.species),162,22-4,0,shiny,shiny2],
- [sprintf("%03d",pokemon.species),162,22-4,0,base2,shadow],
- [speciesname,162,54-4,0,base2,shadow],
- [_INTL("Type"),34,86-4,0,base,shadow],
- [_INTL("OT"),34,118-4,0,base,shadow],
- [_INTL("ID No."),36,150-4,0,base,shadow],
- (pokemon.isShiny? ?
- [sprintf("%03d",pokemon.species),162,22-4,0,shiny,shiny2] :
- [sprintf("%03d",pokemon.species),162,22-4,0,base2,shadow])
- ]
- if (pokemon.isShadow? rescue false)
- textpos.push([_INTL("Heart Gauge"),34,182,0,base,shadow])
- heartmessage=[_INTL("The door to its heart is open! Undo the final lock!"),
- _INTL("The door to its heart is almost fully open."),
- _INTL("The door to its heart is nearly open."),
- _INTL("The door to its heart is opening wider."),
- _INTL("The door to its heart is opening up."),
- _INTL("The door to its heart is tightly shut.")
- ][pokemon.heartStage]
- memo=sprintf("<c3=404040,B0B0B0>%s\n",heartmessage)
- drawFormattedTextEx(overlay,238,304,276,memo)
- else
- textpos.push([_INTL("Exp. Points"),34,182-4,0,base,shadow])
- textpos.push([sprintf("%d",pokemon.exp),164,214-4,0,base2,shadow])
- textpos.push([_INTL("To Next Lv."),34,246-4,0,base,shadow])
- textpos.push([sprintf("%d",endexp-pokemon.exp),162,278-4,0,base2,shadow])
- end
- idno=(pokemon.ot=="") ? "?????" : sprintf("%05d",publicID)
- textpos.push([idno,162,150-4,0,base2,shadow])
- if pokemon.ot==""
- textpos.push([_INTL("RENTAL"),162,150-4,0,base2,shadow])
- else
- ownerbase=Color.new(0,0,214)
- ownershadow=Color.new(115,148,255)
- if pokemon.otgender==0 # male OT
- ownerbase=Color.new(0,0,214)
- ownershadow=Color.new(115,148,255)
- elsif pokemon.otgender==1 # female OT
- ownerbase=Color.new(198,0,0)
- ownershadow=Color.new(255,115,115)
- end
- textpos.push([pokemon.ot,162,118-4,0,ownerbase,ownershadow])
- end
- if pokemon.isMale?
- textpos.push([_INTL("♂"),482,8-4,0,Color.new(0,0,214),Color.new(115,148,255)])
- elsif pokemon.isFemale?
- textpos.push([_INTL("♀"),482,8-4,0,Color.new(248,56,32),Color.new(224,152,144)])
- end
- pbDrawTextPositions(overlay,textpos)
- drawMarkings(overlay,360,256-4,72,20,pokemon.markings)
- type1rect=Rect.new(0,pokemon.type1*24,64,24)
- type2rect=Rect.new(0,pokemon.type2*24,64,24)
- if pokemon.type1==pokemon.type2
- overlay.blt(161,84,@typebitmap.bitmap,type1rect)
- else
- overlay.blt(161,84,@typebitmap.bitmap,type1rect)
- overlay.blt(230,84,@typebitmap.bitmap,type2rect)
- end
- if pokemon.level<PBExperience::MAXLEVEL
- overlay.fill_rect(160,310,(pokemon.exp-startexp)*128/(endexp-startexp),6,Color.new(0,0,214))
- end
- end
- # Draws the Page one for Eggs.
- def drawPageOneEgg(pokemon)
- @sprites["pokemon"].visible=true
- @sprites["pokemonshadow"].visible=true
- @sprites["box"].visible=true
- @sprites["return"].visible=true
- @sprites["exit"].visible=true
- @sprites["updown"].visible=true
- @sprites["hpbar"].visible=false
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+70,140+25)
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_egg")
- imagepos=[]
- ballused=@pokemon.ballused ? @pokemon.ballused : 0
- ballimage=sprintf("Graphics/Pictures/summaryball%02d",@pokemon.ballused)
- imagepos.push([ballimage,320,2,0,0,-1,-1])
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(90,82,82)
- shadow=Color.new(165,165,173)
- pbSetSystemFont(overlay)
- itemname=pokemon.hasItem? ? PBItems.getName(pokemon.item) : _INTL("None")
- textpos=[
- [pokemon.name,354,6-4,0,base,shadow],
- [_INTL("Item"),326,278-4,0,base,shadow],
- [itemname,316,310-4,0,base,shadow],
- ]
- pbDrawTextPositions(overlay,textpos)
- drawMarkings(overlay,360,256-4,72,20,pokemon.markings)
- end
- # draws the page two for eggs.
- def drawPageTwoEgg(pokemon)
- @sprites["pokemon"].visible=false
- @sprites["pokemonshadow"].visible=false
- @sprites["box"].visible=false
- @sprites["return"].visible=false
- @sprites["exit"].visible=false
- @sprites["updown"].visible=false
- @sprites["hpbar"].visible=false
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_2")
- imagepos=[]
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(90,82,82)
- shadow=Color.new(165,165,173)
- pbSetSystemFont(overlay)
- memo=""
- if pokemon.timeReceived
- month=pbGetAbbrevMonthName(pokemon.timeReceived.mon)
- date=pokemon.timeReceived.day
- year=pokemon.timeReceived.year
- memo+=_INTL("<c3=404040,B0B0B0>{1} {2}, {3}\n",month,date,year)
- end
- mapname=pbGetMapNameFromId(pokemon.obtainMap)
- if (pokemon.obtainText rescue false) && pokemon.obtainText!=""
- mapname=pokemon.obtainText
- end
- if mapname && mapname!=""
- memo+=_INTL("<c3=404040,B0B0B0>A mysterious Pokémon Egg received from <c3=F83820,E09890>{1}<c3=404040,B0B0B0>.\n",mapname)
- end
- memo+="<c3=404040,B0B0B0>\n"
- memo+=_INTL("<c3=404040,B0B0B0>\"The Egg Watch\"\n")
- eggstate=_INTL("It looks like this Egg will take a long time to hatch.")
- eggstate=_INTL("What will hatch from this? It doesn't seem close to hatching.") if pokemon.eggsteps<10200
- eggstate=_INTL("It appears to move occasionally. It may be close to hatching.") if pokemon.eggsteps<2550
- eggstate=_INTL("Sounds can be heard coming from inside! It will hatch soon!") if pokemon.eggsteps<1275
- memo+=sprintf("<c3=404040,B0B0B0>%s\n",eggstate)
- drawFormattedTextEx(overlay,66,86-4,276,memo)
- end
- # draws the page two.
- def drawPageTwo(pokemon)
- @sprites["pokemon"].visible=false
- @sprites["pokemonshadow"].visible=false
- @sprites["box"].visible=false
- @sprites["return"].visible=false
- @sprites["exit"].visible=false
- @sprites["updown"].visible=false
- @sprites["hpbar"].visible=false
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_2")
- imagepos=[]
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(248,248,248)
- shadow=Color.new(104,104,104)
- pbSetSystemFont(overlay)
- naturename=PBNatures.getName(pokemon.nature)
- itemname=pokemon.hasItem? ? PBItems.getName(pokemon.item) : _INTL("None")
- pokename=@pokemon.name
- memo=""
- shownature=(!(pokemon.isShadow? rescue false)) || pokemon.heartStage<=3
- if shownature
- memo+=_INTL("<c3=F83820,E09890>{1}<c3=404040,B0B0B0> nature.\n",naturename)
- end
- if pokemon.timeReceived
- month=pbGetAbbrevMonthName(pokemon.timeReceived.mon)
- date=pokemon.timeReceived.day
- year=pokemon.timeReceived.year
- memo+=_INTL("<c3=404040,B0B0B0>{1} {2}, {3}\n",month,date,year)
- end
- mapname=pbGetMapNameFromId(pokemon.obtainMap)
- if (pokemon.obtainText rescue false) && pokemon.obtainText!=""
- mapname=pokemon.obtainText
- end
- if mapname && mapname!=""
- memo+=sprintf("<c3=F83820,E09890>%s\n",mapname)
- else
- memo+=_INTL("<c3=F83820,E09890>Faraway place\n")
- end
- if pokemon.obtainMode
- mettext=[_INTL("Met at Lv. {1}.",pokemon.obtainLevel),
- _INTL("Egg received."),
- _INTL("Traded at Lv. {1}.",pokemon.obtainLevel),
- "",
- _INTL("Had a fateful encounter at Lv. {1}.",pokemon.obtainLevel)
- ][pokemon.obtainMode]
- memo+=sprintf("<c3=404040,B0B0B0>%s\n",mettext)
- if pokemon.obtainMode==1 # hatched
- if pokemon.timeEggHatched
- month=pbGetAbbrevMonthName(pokemon.timeEggHatched.mon)
- date=pokemon.timeEggHatched.day
- year=pokemon.timeEggHatched.year
- memo+=_INTL("<c3=404040,B0B0B0>{1} {2}, {3}\n",month,date,year)
- end
- mapname=pbGetMapNameFromId(pokemon.hatchedMap)
- if mapname && mapname!=""
- memo+=sprintf("<c3=F83820,E09890>%s\n",mapname)
- else
- memo+=_INTL("<c3=F83820,E09890>Faraway place\n")
- end
- memo+=_INTL("<c3=404040,B0B0B0>Egg hatched.\n")
- else
- memo+="<c3=404040,B0B0B0>\n"
- end
- end
- if shownature
- bestiv=0
- tiebreaker=pokemon.personalID%6
- for i in 0...6
- if pokemon.iv[i]==pokemon.iv[bestiv]
- bestiv=i if i>=tiebreaker && bestiv<tiebreaker
- elsif pokemon.iv[i]>pokemon.iv[bestiv]
- bestiv=i
- end
- end
- characteristic=[_INTL("Loves to eat."),
- _INTL("Often dozes off."),
- _INTL("Often scatters things."),
- _INTL("Scatters things often."),
- _INTL("Likes to relax."),
- _INTL("Proud of its power."),
- _INTL("Likes to thrash about."),
- _INTL("A little quick tempered."),
- _INTL("Likes to fight."),
- _INTL("Quick tempered."),
- _INTL("Sturdy body."),
- _INTL("Capable of taking hits."),
- _INTL("Highly persistent."),
- _INTL("Good endurance."),
- _INTL("Good perseverance."),
- _INTL("Likes to run."),
- _INTL("Alert to sounds."),
- _INTL("Impetuous and silly."),
- _INTL("Somewhat of a clown."),
- _INTL("Quick to flee."),
- _INTL("Highly curious."),
- _INTL("Mischievous."),
- _INTL("Thoroughly cunning."),
- _INTL("Often lost in thought."),
- _INTL("Very finicky."),
- _INTL("Strong willed."),
- _INTL("Somewhat vain."),
- _INTL("Strongly defiant."),
- _INTL("Hates to lose."),
- _INTL("Somewhat stubborn.")
- ][bestiv*5+pokemon.iv[bestiv]%5]
- memo+=sprintf("<c3=404040,B0B0B0>%s\n",characteristic)
- end
- drawFormattedTextEx(overlay,66,86-4,276,memo)
- end
- # draws the page three.
- def drawPageThree(pokemon)
- @sprites["pokemon"].visible=false
- @sprites["pokemonshadow"].visible=false
- @sprites["box"].visible=false
- @sprites["return"].visible=false
- @sprites["exit"].visible=false
- @sprites["updown"].visible=false
- @sprites["hpbar"].visible=true
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_3")
- imagepos=[]
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(90,82,82)
- shadow=Color.new(165,165,173)
- base2=Color.new(255,255,255)
- statshadows=[]
- for i in 0...5; statshadows[i]=shadow; end
- if !(pokemon.isShadow? rescue false) || pokemon.heartStage<=3
- natup=(pokemon.nature/5).floor
- natdn=(pokemon.nature%5).floor
- statshadows[natup]=Color.new(136,96,72) if natup!=natdn
- statshadows[natdn]=Color.new(64,120,152) if natup!=natdn
- end
- pbSetSystemFont(overlay)
- abilityname=PBAbilities.getName(pokemon.ability)
- abilitydesc=pbGetMessage(MessageTypes::AbilityDescs,pokemon.ability)
- itemname=pokemon.hasItem? ? PBItems.getName(pokemon.item) : _INTL("None")
- pokename=@pokemon.name
- textpos=[
- [_INTL("HP"),178,70-4,0,base2,shadow],
- [sprintf("%3d / %3d",pokemon.hp,pokemon.totalhp),328,70-4,2,base,shadow],
- [_INTL("Attack"),130,118-4,0,base2,Color.new(206,148,156)],
- [sprintf("%d",pokemon.attack),328,118-4,2,base,shadow],
- [_INTL("Defense"),130,150-4,0,base2,shadow],
- [sprintf("%d",pokemon.defense),328,150-4,2,base,shadow],
- [_INTL("Sp. Atk"),130,182-4,0,base2,Color.new(148,148,214)],
- [sprintf("%d",pokemon.spatk),328,182-4,2,base,shadow],
- [_INTL("Sp. Def"),130,214-4,0,base2,shadow],
- [sprintf("%d",pokemon.spdef),328,214-4,2,base,shadow],
- [_INTL("Speed"),130,246-4,0,base2,shadow],
- [sprintf("%d",pokemon.speed),328,246-4,2,base,shadow],
- [_INTL("Ability"),106,294-4,0,base2,shadow],
- [abilityname,226,294-4,0,base,shadow],
- ]
- pbDrawTextPositions(overlay,textpos)
- drawTextEx(overlay,106,326-4,282,0,abilitydesc,base,shadow)
- if pokemon.hp>0
- hpcolors=[
- Color.new(99,255,99),Color.new(24,198,33), # Green
- Color.new(255,222,0),Color.new(239,173,0), # Orange
- Color.new(255,156,156),Color.new(255,74,57) # Red
- ]
- hpzone=0
- hpzone=1 if pokemon.hp<=(@pokemon.totalhp/2).floor
- hpzone=2 if pokemon.hp<=(@pokemon.totalhp/4).floor
- overlay.fill_rect(272,102,pokemon.hp*94/pokemon.totalhp,2,hpcolors[hpzone*2+1])
- overlay.fill_rect(272,104,pokemon.hp*94/pokemon.totalhp,2,hpcolors[hpzone*2])
- end
- end
- # draws the page four.
- def drawPageFour(pokemon)
- @sprites["box"].visible=true
- @sprites["return"].y=346 if @sprites["return"].y != 346
- @sprites["return"].visible=true
- @sprites["exit"].visible=true
- @sprites["updown"].visible=true
- @sprites["hpbar"].visible=false
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_4")
- @sprites["pokemon"].visible=true
- @sprites["pokemonshadow"].visible=true
- @sprites["pokeicon"].visible=false
- imagepos=[]
- if pbPokerus(pokemon)==1 || pokemon.hp==0 || @pokemon.status>0
- status=6 if pbPokerus(pokemon)==1
- status=@pokemon.status-1 if @pokemon.status>0
- status=5 if pokemon.hp==0
- imagepos.push(["Graphics/Pictures/statuses",124,100,0,16*status,44,16])
- end
- if pokemon.isShiny?
- imagepos.push([sprintf("Graphics/Pictures/shiny"),304,256-4,0,0,-1,-1])
- end
- if pbPokerus(pokemon)==2
- imagepos.push([sprintf("Graphics/Pictures/summaryPokerus"),176,100,0,0,-1,-1])
- end
- ballused=@pokemon.ballused ? @pokemon.ballused : 0
- ballimage=sprintf("Graphics/Pictures/summaryball%02d",@pokemon.ballused)
- imagepos.push([ballimage,320,2,0,0,-1,-1])
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(90,82,82)
- shadow=Color.new(165,165,173)
- base2=Color.new(255,255,255)
- pbSetSystemFont(overlay)
- itemname=pokemon.hasItem? ? PBItems.getName(pokemon.item) : _INTL("None")
- pokename=@pokemon.name
- textpos=[
- [pokename,354,6,0,base,shadow],
- [_INTL("Lv. {1}",pokemon.level.to_s),322,38-4,0,base,shadow],
- [_INTL("Item"),326,278-4,0,base,shadow],
- [itemname,316,310-4,0,base,shadow],
- ]
- if pokemon.isMale?
- textpos.push([_INTL("♂"),482,8-4,0,Color.new(0,0,214),Color.new(115,148,255)])
- elsif pokemon.isFemale?
- textpos.push([_INTL("♀"),482,8-4,0,Color.new(248,56,32),Color.new(224,152,144)])
- end
- pbDrawTextPositions(overlay,textpos)
- imagepos=[]
- yPos=40-4
- for i in 0...pokemon.moves.length
- if pokemon.moves[i].id>0
- imagepos.push(["Graphics/Pictures/types",36,yPos+2,0,
- pokemon.moves[i].type*24,64,24])
- textpos.push([PBMoves.getName(pokemon.moves[i].id),102,yPos,0,
- base2,shadow])
- if pokemon.moves[i].totalpp>0
- textpos.push([_ISPRINTF("PP"),122,yPos+30,0,
- base2,shadow])
- textpos.push([sprintf("%d/%d",pokemon.moves[i].pp,pokemon.moves[i].totalpp),
- 250,yPos+30,1,base2,shadow])
- end
- else
- textpos.push(["-----",102,yPos,0,base2,shadow])
- textpos.push(["--",194,yPos+30,0,base2,shadow])
- end
- yPos+=64
- end
- pbDrawTextPositions(overlay,textpos)
- pbDrawImagePositions(overlay,imagepos)
- drawMarkings(overlay,360,256-4,72,20,pokemon.markings)
- end
- # draws the selected move page.
- def drawSelectedMove(pokemon,moveToLearn,moveid)
- if !@sprites["bg"]
- @sprites["bg"]=IconSprite.new(0,0,@viewport)
- @sprites["bg"].setBitmap("Graphics/Pictures/Summary/bg")
- @sprites["bg"].z-=1
- end
- overlay=@sprites["overlay"].bitmap
- @sprites["overlay"].z=999999
- @sprites["pokemon"].visible=false if @sprites["pokemon"]
- @sprites["pokemonshadow"].visible=false if @sprites["pokemonshadow"]
- @sprites["box"].visible=false if @sprites["box"]
- @sprites["return"].visible=true if @sprites["return"]
- @sprites["exit"].visible=false if @sprites["exit"]
- @sprites["updown"].visible=false if @sprites["updown"]
- movedata=PBMoveData.new(moveid)
- basedamage=movedata.basedamage
- type=movedata.type
- accuracy=movedata.accuracy
- drawMoveSelection(pokemon,moveToLearn)
- pbSetSystemFont(overlay)
- base=Color.new(90,82,82)
- base2=Color.new(255,255,255)
- shadow=Color.new(165,165,173)
- move=moveid
- textpos=[
- [basedamage<=1 ? basedamage==1 ? "???" : "---" : sprintf("%d",basedamage),
- 294+168,134-4,0,base,shadow],
- [accuracy==0 ? "---" : sprintf("%d",accuracy),
- 294+168,166-4,0,base,shadow]
- ]
- pbDrawTextPositions(overlay,textpos)
- category=Bitmap.new("Graphics/Pictures/category")
- @sprites["overlay"].bitmap.blt(284+168,99,category,
- Rect.new(0,movedata.category*28,64,28))
- #imagepos=[["Graphics/Pictures/category",307+160,98,0,category*28,64,28]]
- #pbDrawImagePositions(overlay,imagepos)
- drawTextEx(overlay,18,282-4,512-18*2,3,
- pbGetMessage(MessageTypes::MoveDescriptions,moveid),
- base,shadow) if moveToLearn==0
- end
- def drawMoveSelection(pokemon,moveToLearn)
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- base=Color.new(90,82,82)
- base2=Color.new(255,255,255)
- shadow=Color.new(165,165,173)
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_5")
- if moveToLearn!=0
- @sprites["background"].setBitmap("Graphics/Pictures/Summary/summary_learnmove")
- end
- pbSetSystemFont(overlay)
- textpos=[
- [_INTL("CATEGORY"),307,104-4,0,base2,shadow],
- [_INTL("POWER"),307,136-4,0,base2,shadow],
- [_INTL("ACCURACY"),307,168-4,0,base2,shadow]
- ]
- type1rect=Rect.new(0,pokemon.type1*24,64,24)
- type2rect=Rect.new(0,pokemon.type2*24,64,24)
- imagepos=[]
- yPos=23-4
- #yPos-=76 if moveToLearn!=0
- for i in 0...5
- moveobject=nil
- if i==4
- moveobject=PBMove.new(moveToLearn) if moveToLearn!=0
- yPos+=44
- else
- moveobject=pokemon.moves[i]
- end
- if moveobject
- if moveobject.id!=0
- imagepos.push(["Graphics/Pictures/types",25,yPos+2,0,
- moveobject.type*24,64,24])#pokemon.moves[i]
- textpos.push([PBMoves.getName(moveobject.id),102,yPos,0,
- base2,shadow])
- if moveobject.totalpp>0
- textpos.push([_ISPRINTF("PP"),122,yPos+30,0,
- base2,shadow])
- textpos.push([sprintf("%d/%d",moveobject.pp,moveobject.totalpp),
- 250,yPos+30,1,base2,shadow])
- end
- else
- textpos.push(["-----",102,yPos,0,base2,shadow])
- textpos.push(["--",194,yPos+30,0,base2,shadow])
- end
- end
- yPos+=64
- end
- pbDrawTextPositions(overlay,textpos)
- pbDrawImagePositions(overlay,imagepos)
- end
- # draws the fith page.
- def drawPageFive(pokemon)
- overlay=@sprites["overlay"].bitmap
- overlay.clear
- @sprites["background"].setBitmap("Graphics/Pictures/summary5")
- imagepos=[]
- if pbPokerus(pokemon)==1 || pokemon.hp==0 || @pokemon.status>0
- status=6 if pbPokerus(pokemon)==1
- status=@pokemon.status-1 if @pokemon.status>0
- status=5 if pokemon.hp==0
- imagepos.push(["Graphics/Pictures/statuses",124,100,0,16*status,44,16])
- end
- if pokemon.isShiny?
- imagepos.push([sprintf("Graphics/Pictures/shiny"),2,134,0,0,-1,-1])
- end
- if pbPokerus(pokemon)==2
- imagepos.push([sprintf("Graphics/Pictures/summaryPokerus"),176,100,0,0,-1,-1])
- end
- ballused=@pokemon.ballused ? @pokemon.ballused : 0
- ballimage=sprintf("Graphics/Pictures/summaryball%02d",@pokemon.ballused)
- imagepos.push([ballimage,14,60,0,0,-1,-1])
- pbDrawImagePositions(overlay,imagepos)
- base=Color.new(248,248,248)
- shadow=Color.new(104,104,104)
- pbSetSystemFont(overlay)
- itemname=pokemon.hasItem? ? PBItems.getName(pokemon.item) : _INTL("None")
- pokename=@pokemon.name
- textpos=[
- [_INTL("RIBBONS"),26,16,0,base,shadow],
- [pokename,46,62,0,base,shadow],
- [pokemon.level.to_s,46,92,0,Color.new(64,64,64),Color.new(176,176,176)],
- [_INTL("Item"),16,320,0,base,shadow],
- [itemname,16,352,0,Color.new(64,64,64),Color.new(176,176,176)],
- [_INTL("No. of Ribbons:"),234,342,0,Color.new(64,64,64),Color.new(176,176,176)],
- [pokemon.ribbonCount.to_s,450,342,1,Color.new(64,64,64),Color.new(176,176,176)],
- ]
- if pokemon.isMale?
- textpos.push([_INTL("♂"),178,62,0,Color.new(24,112,216),Color.new(136,168,208)])
- elsif pokemon.isFemale?
- textpos.push([_INTL("♀"),178,62,0,Color.new(248,56,32),Color.new(224,152,144)])
- end
- pbDrawTextPositions(overlay,textpos)
- imagepos=[]
- coord=0
- if pokemon.ribbons
- for i in pokemon.ribbons
- ribn=i-1
- imagepos.push(["Graphics/Pictures/ribbons",236+64*(coord%4),86+80*(coord/4).floor,
- 64*(ribn%8),64*(ribn/8).floor,64,64])
- coord+=1
- break if coord>=12
- end
- end
- pbDrawImagePositions(overlay,imagepos)
- drawMarkings(overlay,15,291,72,20,pokemon.markings)
- end
- def pbChooseMoveToForget(moveToLearn)
- selmove=0
- ret=0
- maxmove=(moveToLearn>0) ? 4 : 3
- loop do
- Graphics.update
- Input.update
- @sprites["bg"].ox+=1
- @sprites["bg"].oy+=1
- @sprites["bg"].ox=0 if @sprites["bg"].ox>64
- @sprites["bg"].oy=0 if @sprites["bg"].oy>64
- pbUpdate
- if Input.trigger?(Input::B)
- ret=4
- break
- end
- if Input.trigger?(Input::C)
- break
- end
- if Input.trigger?(Input::DOWN)
- selmove+=1
- if selmove<4 && selmove>=@pokemon.numMoves
- selmove=(moveToLearn>0) ? maxmove : 0
- end
- selmove=0 if selmove>maxmove
- @sprites["movesel"].index=selmove
- newmove=(selmove==4) ? moveToLearn : @pokemon.moves[selmove].id
- drawSelectedMove(@pokemon,moveToLearn,newmove)
- ret=selmove
- end
- if Input.trigger?(Input::UP)
- selmove-=1
- selmove=maxmove if selmove<0
- if selmove<4 && selmove>=@pokemon.numMoves
- selmove=@pokemon.numMoves-1
- end
- @sprites["movesel"].index=selmove
- newmove=(selmove==4) ? moveToLearn : @pokemon.moves[selmove].id
- drawSelectedMove(@pokemon,moveToLearn,newmove)
- ret=selmove
- end
- end
- return (ret==4) ? -1 : ret
- end
- def waitAndUpdateMoveSelection(frames)
- frames.times do
- pbUpdate
- @sprites["bg"].ox+=1
- @sprites["bg"].oy+=1
- @sprites["bg"].ox=0 if @sprites["bg"].ox>64
- @sprites["bg"].oy=0 if @sprites["bg"].oy>64
- pbWait(1)
- end
- end
- def pbMoveSelection(move)
- @sprites["return"].y-=4
- @sprites["movesel"].visible=true
- @sprites["movesel"].index=move
- selmove=0
- oldselmove=0
- switching=false
- drawSelectedMove(@pokemon,0,@pokemon.moves[selmove].id)
- loop do
- Graphics.update
- Input.update
- pbUpdate
- @sprites["bg"].ox+=1
- @sprites["bg"].oy+=1
- @sprites["bg"].ox=0 if @sprites["bg"].ox>64
- @sprites["bg"].oy=0 if @sprites["bg"].oy>64
- if @sprites["movepresel"].index==@sprites["movesel"].index
- @sprites["movepresel"].z=@sprites["movesel"].z+1
- else
- @sprites["movepresel"].z=@sprites["movesel"].z
- end
- if Input.trigger?(Input::B)
- @sprites["return"].bitmap=Bitmap.new("Graphics/Pictures/Universal/return2")
- waitAndUpdateMoveSelection(10)
- @sprites["return"].bitmap=Bitmap.new("Graphics/Pictures/Universal/return")
- waitAndUpdateMoveSelection(5)
- break if !switching
- @sprites["movepresel"].visible=false
- switching=false
- end
- if Input.trigger?(Input::C)
- if selmove==4
- break if !switching
- @sprites["movepresel"].visible=false
- switching=false
- else
- if !(@pokemon.isShadow? rescue false)
- if !switching
- @sprites["movepresel"].index=selmove
- oldselmove=selmove
- @sprites["movepresel"].visible=true
- switching=true
- else
- tmpmove=@pokemon.moves[oldselmove]
- @pokemon.moves[oldselmove]=@pokemon.moves[selmove]
- @pokemon.moves[selmove]=tmpmove
- @sprites["movepresel"].visible=false
- switching=false
- drawSelectedMove(@pokemon,0,@pokemon.moves[selmove].id) #0
- end
- end
- end
- end
- if Input.trigger?(Input::DOWN)
- selmove+=1
- selmove=0 if selmove<4 && selmove>=@pokemon.numMoves
- selmove=0 if selmove>=4
- selmove=4 if selmove<0
- @sprites["movesel"].index=selmove
- newmove=@pokemon.moves[selmove].id
- pbPlayCursorSE()
- drawSelectedMove(@pokemon,0,newmove)
- end
- if Input.trigger?(Input::UP)
- selmove-=1
- if selmove<4 && selmove>=@pokemon.numMoves
- selmove=@pokemon.numMoves-1
- end
- selmove=0 if selmove>=4
- selmove=@pokemon.numMoves-1 if selmove<0
- @sprites["movesel"].index=selmove
- newmove=@pokemon.moves[selmove].id
- pbPlayCursorSE()
- drawSelectedMove(@pokemon,0,newmove)
- end
- if defined?($mouse)
- # Makes clicking on a move possible.
- for i in 0..3
- y=13+64*i
- if $mouse.inAreaLeft?(5,y,272,64)
- selmove=i
- @sprites["movesel"].index=selmove
- newmove=@pokemon.moves[selmove].id
- pbPlayCursorSE()
- drawSelectedMove(@pokemon,0,newmove)
- end
- end
- if $mouse.leftClick?(@sprites["return"])
- @sprites["return"].bitmap=Bitmap.new("Graphics/Pictures/Universal/return2")
- waitAndUpdateMoveSelection(10)
- @sprites["return"].bitmap=Bitmap.new("Graphics/Pictures/Universal/return")
- waitAndUpdateMoveSelection(5)
- break if !switching
- @sprites["movepresel"].visible=false
- switching=false
- end
- end
- end
- @sprites["movesel"].visible=false
- end
- def pbGoToPrevious
- if @page!=0
- newindex=@partyindex
- while newindex>0
- newindex-=1
- if @party[newindex] && !@party[newindex].isEgg?
- @partyindex=newindex
- break
- end
- end
- else
- newindex=@partyindex
- while newindex>0
- newindex-=1
- if @party[newindex]
- @partyindex=newindex
- break
- end
- end
- end
- end
- def pbGoToNext
- if @page!=0
- newindex=@partyindex
- while newindex<@party.length-1
- newindex+=1
- if @party[newindex] && !@party[newindex].isEgg?
- @partyindex=newindex
- break
- end
- end
- else
- newindex=@partyindex
- while newindex<@party.length-1
- newindex+=1
- if @party[newindex]
- @partyindex=newindex
- break
- end
- end
- end
- end
- def pbScene
- pbPlayCry(@pokemon)
- @box=0
- loop do
- @sprites["bg"].ox+=1
- @sprites["bg"].oy+=1
- @sprites["bg"].ox=0 if @sprites["bg"].ox>64
- @sprites["bg"].oy=0 if @sprites["bg"].oy>64
- Graphics.update
- Input.update
- pbUpdate
- if Input.trigger?(Input::B)
- @sprites["exit"].setBitmap("Graphics/Pictures/Universal/exit2")
- pbWait(10)
- @sprites["exit"].setBitmap("Graphics/Pictures/Universal/exit")
- pbWait(5)
- break
- end
- dorefresh=false
- if Input.trigger?(Input::C)
- # if @page==0
- # break
- # end
- if @page==3
- pbMoveSelection(0)
- dorefresh=true
- drawPageFour(@pokemon)
- end
- end
- if @page==0 || @page==3
- if defined?($mouse)
- for i in 0..3
- if $mouse.inAreaLeft?(16,30+i*64,272,64)
- pbMoveSelection(i)
- dorefresh=true
- drawPageFour(@pokemon)
- end
- end
- if $mouse.leftClick?(@sprites["exit"])
- @sprites["exit"].setBitmap("Graphics/Pictures/Universal/exit2")
- pbWait(10)
- @sprites["exit"].setBitmap("Graphics/Pictures/Universal/exit")
- pbWait(5)
- break
- end
- if $mouse.leftClick?(@sprites["return"])
- @sprites["return"].setBitmap("Graphics/Pictures/Universal/return2")
- pbWait(10)
- @sprites["return"].setBitmap("Graphics/Pictures/Universal/return")
- pbWait(5)
- $MenuClose=true
- break
- end
- if $mouse.leftClick?(@sprites["box"])
- @box+=1
- @sprites["box"].setBitmap("Graphics/Pictures/Universal/box_check")
- @sprites["box"].setBitmap("Graphics/Pictures/Universal/box") if @box%2==1
- 5.times do
- Graphics.update
- Input.update
- @sprites["bg"].ox+=1
- @sprites["bg"].oy+=1
- @sprites["bg"].ox=0 if @sprites["bg"].ox>64
- @sprites["bg"].oy=0 if @sprites["bg"].oy>64
- end
- end
- end
- end
- if @page==0 && defined?($mouse)
- if $mouse.inAreaLeft?(85,340,68,40) && !@pokemon.isEgg?
- @page=3
- pbPlayCursorSE()
- dorefresh=true
- end
- end
- if @page==3 && defined?($mouse)
- if $mouse.inAreaLeft?(6,340,68,40) && !@pokemon.isEgg?
- @page=0
- pbPlayCursorSE()
- dorefresh=true
- end
- end
- if Input.trigger?(Input::UP) && @partyindex>0
- oldindex=@partyindex
- pbGoToPrevious
- if @partyindex!=oldindex
- @pokemon=@party[@partyindex]
- @sprites["pokemon"].setPokemonBitmap(@pokemon)
- @sprites["pokemon"].color=Color.new(0,0,0,0)
- pbPositionPokemonSprite(@sprites["pokemon"],335,129)
- @sprites["pokemonshadow"].setPokemonBitmap(@pokemon)
- @sprites["pokemonshadow"].mirror=false
- @sprites["pokemonshadow"].color=Color.new(0,0,0)
- @sprites["pokemonshadow"].skew(angle=90)
- @sprites["pokemonshadow"].opacity=30
- @sprites["pokemonshadow"].zoom_x=0.75
- @sprites["pokemonshadow"].zoom_y=1.5
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+80,140)
- dorefresh=true
- pbPlayCry(@pokemon)
- end
- end
- if defined?($mouse) && @partyindex>0
- if $mouse.inAreaLeft?(289,342,28,34) && (@page==0 || @page==3)
- @sprites["updown"].setBitmap("Graphics/Pictures/Universal/updown_2")
- pbWait(10)
- @sprites["updown"].setBitmap("Graphics/Pictures/Universal/updown")
- pbWait(5)
- oldindex=@partyindex
- pbGoToPrevious
- if @partyindex!=oldindex
- @pokemon=@party[@partyindex]
- @sprites["pokemon"].setPokemonBitmap(@pokemon)
- @sprites["pokemon"].color=Color.new(0,0,0,0)
- pbPositionPokemonSprite(@sprites["pokemon"],335,129)
- @sprites["pokemonshadow"].setPokemonBitmap(@pokemon)
- @sprites["pokemonshadow"].mirror=false
- @sprites["pokemonshadow"].color=Color.new(0,0,0)
- @sprites["pokemonshadow"].skew(angle=90)
- @sprites["pokemonshadow"].opacity=30
- @sprites["pokemonshadow"].zoom_x=0.75
- @sprites["pokemonshadow"].zoom_y=1.5
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+80,140)
- dorefresh=true
- pbPlayCry(@pokemon)
- end
- end
- end
- if defined?($mouse) && @partyindex<@party.length-1
- if $mouse.inAreaLeft?(337,344,28,34) && (@page==0 || @page==3)
- @sprites["updown"].setBitmap("Graphics/Pictures/Universal/updown_3")
- pbWait(10)
- @sprites["updown"].setBitmap("Graphics/Pictures/Universal/updown")
- pbWait(5)
- oldindex=@partyindex
- pbGoToNext
- if @partyindex!=oldindex
- @pokemon=@party[@partyindex]
- @sprites["pokemon"].setPokemonBitmap(@pokemon)
- @sprites["pokemon"].color=Color.new(0,0,0,0)
- pbPositionPokemonSprite(@sprites["pokemon"],335,129)
- @sprites["pokemonshadow"].setPokemonBitmap(@pokemon)
- @sprites["pokemonshadow"].mirror=false
- @sprites["pokemonshadow"].color=Color.new(0,0,0)
- @sprites["pokemonshadow"].skew(angle=90)
- @sprites["pokemonshadow"].opacity=30
- @sprites["pokemonshadow"].zoom_x=0.75
- @sprites["pokemonshadow"].zoom_y=1.5
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+80,140)
- dorefresh=true
- pbPlayCry(@pokemon)
- end
- end
- end
- if Input.trigger?(Input::DOWN) && @partyindex<@party.length-1
- oldindex=@partyindex
- pbGoToNext
- if @partyindex!=oldindex
- @pokemon=@party[@partyindex]
- @sprites["pokemon"].setPokemonBitmap(@pokemon)
- @sprites["pokemon"].color=Color.new(0,0,0,0)
- pbPositionPokemonSprite(@sprites["pokemon"],335,129)
- @sprites["pokemonshadow"].setPokemonBitmap(@pokemon)
- @sprites["pokemonshadow"].mirror=false
- @sprites["pokemonshadow"].color=Color.new(0,0,0)
- @sprites["pokemonshadow"].skew(angle=90)
- @sprites["pokemonshadow"].opacity=30
- @sprites["pokemonshadow"].zoom_x=0.75
- @sprites["pokemonshadow"].zoom_y=1.5
- pbPositionPokemonSprite(@sprites["pokemonshadow"],335/2+80,140)
- dorefresh=true
- pbPlayCry(@pokemon)
- end
- end
- if Input.trigger?(Input::LEFT) && !@pokemon.isEgg?
- oldpage=@page
- @page-=1
- @page=0 if @page<0
- @page=4 if @page>4
- dorefresh=true
- if @page!=oldpage # Move to next page
- pbPlayCursorSE()
- dorefresh=true
- end
- end
- if Input.trigger?(Input::LEFT) && @pokemon.isEgg?
- oldpage=@page
- @page-=1 if @page==1
- if @page!=oldpage # Move to next page
- pbPlayCursorSE()
- dorefresh=true
- end
- end
- #if $mouse.inAreaLeft?(337,344,28,34)
- if Input.trigger?(Input::RIGHT) && @pokemon.isEgg?
- oldpage=@page
- @page+=1 if @page==0
- if @page!=oldpage # Move to next page
- pbPlayCursorSE()
- dorefresh=true
- end
- end
- if Input.trigger?(Input::RIGHT) && !@pokemon.isEgg?
- oldpage=@page
- @page+=1
- @page=0 if @page<0
- @page=3 if @page>3
- if @page!=oldpage # Move to next page
- pbPlayCursorSE()
- dorefresh=true
- end
- end
- if dorefresh
- case @page
- when 0
- if @pokemon.isEgg?
- drawPageOneEgg(@pokemon)
- else
- drawPageOne(@pokemon)
- end
- when 1
- if @pokemon.isEgg?
- drawPageTwoEgg(@pokemon)
- else
- drawPageTwo(@pokemon)
- end
- when 2
- drawPageThree(@pokemon)
- when 3
- drawPageFour(@pokemon)
- when 4
- drawPageFive(@pokemon)
- end
- end
- end
- return @partyindex
- end
- end
- class PokemonSummary
- def initialize(scene)
- @scene=scene
- end
- def pbStartScreen(party,partyindex)
- @scene.pbStartScene(party,partyindex)
- ret=@scene.pbScene
- @scene.pbEndScene
- return ret
- end
- def pbStartForgetScreen(party,partyindex,moveToLearn)
- ret=-1
- @scene.pbStartForgetScene(party,partyindex,moveToLearn)
- loop do
- ret=@scene.pbChooseMoveToForget(moveToLearn)
- if ret>=0 && moveToLearn!=0 && pbIsHiddenMove?(party[partyindex].moves[ret].id) && !$DEBUG
- Kernel.pbMessage(_INTL("HM moves can't be forgotten now.")){ @scene.pbUpdate }
- else
- break
- end
- end
- @scene.pbEndScene
- return ret
- end
- def pbStartChooseMoveScreen(party,partyindex,message)
- ret=-1
- @scene.pbStartForgetScene(party,partyindex,0)
- Kernel.pbMessage(message){ @scene.pbUpdate }
- loop do
- ret=@scene.pbChooseMoveToForget(0)
- if ret<0
- Kernel.pbMessage(_INTL("You must choose a move!")){ @scene.pbUpdate }
- else
- break
- end
- end
- @scene.pbEndScene
- return ret
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement