def pbDreamStart @briefmessage=false @sprites["battlebox0"]=DreamWorldDataBox.new(@battle.battlers[0],@battle.doublebattle,@viewport) @sprites["battlebox0"].appear loop do @sprites["battlebox0"].update pbGraphicsUpdate pbInputUpdate pbFrameUpdate break if !@sprites["battlebox0"].appearing end pbRefresh end def pbStartDreamBattle(battle) # Called whenever the battle begins $lowHPbattle=false @battle=battle @lastcmd=[0,0,0,0] @lastmove=[0,0,0,0] @showingplayer=true @showingenemy=true @sprites.clear @viewport=Viewport.new(0,Graphics.height/2,Graphics.width,0) @viewport.z=99999 #@sprites["weather"] = RPG::BattleWeather.new(@viewport) if !@safaribattle @traineryoffset=(Graphics.height-320) # Adjust player's side for screen size @foeyoffset=(@traineryoffset*3/4).floor # Adjust foe's side for screen size pbBackdrop pbAddSprite("partybarfoe", PokeBattle_SceneConstants::FOEPARTYBAR_X, PokeBattle_SceneConstants::FOEPARTYBAR_Y, "Graphics/Pictures/battleLineup",@viewport) pbAddSprite("partybarplayer", PokeBattle_SceneConstants::PLAYERPARTYBAR_X, PokeBattle_SceneConstants::PLAYERPARTYBAR_Y, "Graphics/Pictures/battleLineup",@viewport) @sprites["partybarfoe"].x-=@sprites["partybarfoe"].bitmap.width @sprites["partybarplayer"].mirror=true @sprites["partybarfoe"].z=40 @sprites["partybarplayer"].z=40 @sprites["partybarfoe"].visible=false @sprites["partybarplayer"].visible=false if @battle.player.is_a?(Array) trainerfile=pbPlayerSpriteBackFile(@battle.player[0].trainertype) pbAddSprite("player", PokeBattle_SceneConstants::PLAYERTRAINERD1_X, PokeBattle_SceneConstants::PLAYERTRAINERD1_Y,trainerfile,@viewport) trainerfile=pbTrainerSpriteBackFile(@battle.player[1].trainertype) pbAddSprite("playerB", PokeBattle_SceneConstants::PLAYERTRAINERD2_X, PokeBattle_SceneConstants::PLAYERTRAINERD2_Y,trainerfile,@viewport) if @sprites["player"].bitmap if @sprites["player"].bitmap.width>@sprites["player"].bitmap.height @sprites["player"].src_rect.x=0 @sprites["player"].src_rect.width=@sprites["player"].bitmap.width/5 end @sprites["player"].x-=(@sprites["player"].src_rect.width/2) @sprites["player"].y-=@sprites["player"].bitmap.height @sprites["player"].z=30 end if @sprites["playerB"].bitmap if @sprites["playerB"].bitmap.width>@sprites["playerB"].bitmap.height @sprites["playerB"].src_rect.x=0 @sprites["playerB"].src_rect.width=@sprites["playerB"].bitmap.width/5 end @sprites["playerB"].x-=(@sprites["playerB"].src_rect.width/2) @sprites["playerB"].y-=@sprites["playerB"].bitmap.height @sprites["playerB"].z=31 end else trainerfile=pbPlayerSpriteBackFile(@battle.player.trainertype) pbAddSprite("player", PokeBattle_SceneConstants::PLAYERTRAINER_X, PokeBattle_SceneConstants::PLAYERTRAINER_Y,trainerfile,@viewport) if @sprites["player"].bitmap if @sprites["player"].bitmap.width>@sprites["player"].bitmap.height @sprites["player"].src_rect.x=0 @sprites["player"].src_rect.width=@sprites["player"].bitmap.width/5 end @sprites["player"].x-=(@sprites["player"].src_rect.width/2) @sprites["player"].y-=@sprites["player"].bitmap.height @sprites["player"].z=30 end end if @battle.opponent if @battle.opponent.is_a?(Array) trainerfile=pbTrainerSpriteFile(@battle.opponent[1].trainertype) pbAddSprite("trainer2", PokeBattle_SceneConstants::FOETRAINERD2_X, PokeBattle_SceneConstants::FOETRAINERD2_Y,trainerfile,@viewport) trainerfile=pbTrainerSpriteFile(@battle.opponent[0].trainertype) pbAddSprite("trainer", PokeBattle_SceneConstants::FOETRAINERD1_X, PokeBattle_SceneConstants::FOETRAINERD1_Y,trainerfile,@viewport) else trainerfile=pbTrainerSpriteFile(@battle.opponent.trainertype) pbAddSprite("trainer", PokeBattle_SceneConstants::FOETRAINER_X, PokeBattle_SceneConstants::FOETRAINER_Y,trainerfile,@viewport) end else trainerfile="Graphics/Characters/trfront" pbAddSprite("trainer", PokeBattle_SceneConstants::FOETRAINER_X, PokeBattle_SceneConstants::FOETRAINER_Y,trainerfile,@viewport) end if @sprites["trainer"].bitmap @sprites["trainer"].x-=(@sprites["trainer"].bitmap.width/2) @sprites["trainer"].y-=@sprites["trainer"].bitmap.height @sprites["trainer"].z=8 end if @sprites["trainer2"] && @sprites["trainer2"].bitmap @sprites["trainer2"].x-=(@sprites["trainer2"].bitmap.width/2) @sprites["trainer2"].y-=@sprites["trainer2"].bitmap.height @sprites["trainer2"].z=7 end @sprites["shadow0"]=IconSprite.new(0,0,@viewport) @sprites["shadow0"].z=3 pbAddSprite("shadow1",0,0,"Graphics/Pictures/battleShadow",@viewport) @sprites["shadow1"].z=3 @sprites["shadow1"].visible=false @sprites["pokemon0"]=PokemonBattlerSprite.new(battle.doublebattle,0,@viewport) @sprites["pokemon0"].z=21 @sprites["pokemon1"]=PokemonBattlerSprite.new(battle.doublebattle,1,@viewport) @sprites["pokemon1"].z=16 if battle.doublebattle @sprites["shadow2"]=IconSprite.new(0,0,@viewport) @sprites["shadow2"].z=3 pbAddSprite("shadow3",0,0,"Graphics/Pictures/battleShadow",@viewport) @sprites["shadow3"].z=3 @sprites["shadow3"].visible=false @sprites["pokemon2"]=PokemonBattlerSprite.new(battle.doublebattle,2,@viewport) @sprites["pokemon2"].z=26 @sprites["pokemon3"]=PokemonBattlerSprite.new(battle.doublebattle,3,@viewport) @sprites["pokemon3"].z=11 end @sprites["battlebox0"]=PokemonDataBox.new(battle.battlers[0],battle.doublebattle,@viewport) @sprites["battlebox1"]=PokemonDataBox.new(battle.battlers[1],battle.doublebattle,@viewport) if battle.doublebattle @sprites["battlebox2"]=PokemonDataBox.new(battle.battlers[2],battle.doublebattle,@viewport) @sprites["battlebox3"]=PokemonDataBox.new(battle.battlers[3],battle.doublebattle,@viewport) end pbAddSprite("messagebox",0,Graphics.height-96,"Graphics/Pictures/battleMessage",@viewport) @sprites["messagebox"].z=90 @sprites["helpwindow"]=Window_UnformattedTextPokemon.newWithSize("",0,0,32,32,@viewport) @sprites["helpwindow"].visible=false @sprites["helpwindow"].z=90 @sprites["messagewindow"]=Window_AdvancedTextPokemon.new("") @sprites["messagewindow"].letterbyletter=true @sprites["messagewindow"].viewport=@viewport @sprites["messagewindow"].z=100 @sprites["commandwindow"]=CommandMenuDisplay.new(@viewport) @sprites["commandwindow"].z=100 @sprites["fightwindow"]=FightMenuDisplay.new(nil,@viewport) @sprites["fightwindow"].z=100 pbShowWindow(MESSAGEBOX) pbSetMessageMode(false) playersprite1=@sprites["player"] playersprite2=@sprites["playerB"] trainersprite1=@sprites["trainer"] trainersprite2=@sprites["trainer2"] if @battle.party1.length>=1 if @battle.party1.length==1 @sprites["player"].visible=false species=@battle.party1[0].species @sprites["pokemon0"].setPokemonBitmap(@battle.party1[0],true) @sprites["pokemon0"].tone=Tone.new(-128,-128,-128,-128) @sprites["pokemon0"].x=PokeBattle_SceneConstants::PLAYERBATTLER_X @sprites["pokemon0"].x-=@sprites["pokemon0"].width/2 @sprites["pokemon0"].y=PokeBattle_SceneConstants::PLAYERBATTLER_Y #@sprites["pokemon0"].y=PokeBattle_SceneConstants::PLAYERBATTLER_Y_TOTEM if @battle.party2[0].isTotem? @sprites["pokemon0"].y+=adjustBattleSpriteY(@sprites["pokemon0"],species,0) @sprites["pokemon0"].visible=true @sprites["shadow0"].x=PokeBattle_SceneConstants::PLAYERBATTLER_X @sprites["shadow0"].y=PokeBattle_SceneConstants::PLAYERBATTLER_Y @sprites["shadow0"].x-=@sprites["shadow0"].bitmap.width/2 if @sprites["shadow0"].bitmap!=nil @sprites["shadow0"].y-=@sprites["shadow0"].bitmap.height/2 if @sprites["shadow0"].bitmap!=nil @sprites["shadow0"].visible=showShadow?(species) playersprite1=@sprites["pokemon0"] elsif @battle.party1.length==2 @sprites["player"].visible=false @sprites["playerB"].visible=false species=@battle.party1[0].species @sprites["pokemon0"].setPokemonBitmap(@battle.party1[0],true) @sprites["pokemon0"].tone=Tone.new(-128,-128,-128,-128) @sprites["pokemon0"].x=PokeBattle_SceneConstants::PLAYERBATTLERD1_X @sprites["pokemon0"].x-=@sprites["pokemon1"].width/2 @sprites["pokemon0"].y=PokeBattle_SceneConstants::PLAYERBATTLERD1_Y @sprites["pokemon0"].y+=adjustBattleSpriteY(@sprites["pokemon0"],species,0) @sprites["pokemon0"].visible=true @sprites["shadow0"].x=PokeBattle_SceneConstants::PLAYERBATTLERD1_X @sprites["shadow0"].y=PokeBattle_SceneConstants::PLAYERBATTLERD1_Y @sprites["shadow0"].x-=@sprites["shadow0"].bitmap.width/2 if @sprites["shadow0"].bitmap!=nil @sprites["shadow0"].y-=@sprites["shadow0"].bitmap.height/2 if @sprites["shadow0"].bitmap!=nil @sprites["shadow0"].visible=showShadow?(species) playersprite1=@sprites["pokemon0"] species=@battle.party1[1].species @sprites["pokemon2"].setPokemonBitmap(@battle.party1[1],true) @sprites["pokemon2"].tone=Tone.new(-128,-128,-128,-128) @sprites["pokemon2"].x=PokeBattle_SceneConstants::PLAYERBATTLERD2_X @sprites["pokemon2"].x-=@sprites["pokemon2"].width/2 @sprites["pokemon2"].y=PokeBattle_SceneConstants::PLAYERBATTLERD2_Y @sprites["pokemon2"].y+=adjustBattleSpriteY(@sprites["pokemon2"],species,2) @sprites["pokemon2"].visible=true @sprites["shadow2"].x=PokeBattle_SceneConstants::PLAYERBATTLERD2_X @sprites["shadow2"].y=PokeBattle_SceneConstants::PLAYERBATTLERD2_Y @sprites["shadow2"].x-=@sprites["shadow2"].bitmap.width/2 if @sprites["shadow2"].bitmap!=nil @sprites["shadow2"].y-=@sprites["shadow2"].bitmap.height/2 if @sprites["shadow2"].bitmap!=nil @sprites["shadow2"].visible=showShadow?(species) playersprite2=@sprites["pokemon2"] end end if !@battle.opponent @sprites["trainer"].visible=false if @battle.party2.length>=1 if @battle.party2.length==1 species=@battle.party2[0].species @sprites["pokemon1"].setPokemonBitmap(@battle.party2[0],false) @sprites["pokemon1"].tone=Tone.new(-128,-128,-128,-128) @sprites["pokemon1"].x=PokeBattle_SceneConstants::FOEBATTLER_X @sprites["pokemon1"].x-=@sprites["pokemon1"].width/2 @sprites["pokemon1"].y=PokeBattle_SceneConstants::FOEBATTLER_Y @sprites["pokemon1"].y=PokeBattle_SceneConstants::FOEBATTLER_Y_TOTEM if @battle.party2[0].isTotem? @sprites["pokemon1"].y+=adjustBattleSpriteY(@sprites["pokemon1"],species,1) @sprites["pokemon1"].visible=true @sprites["shadow1"].x=PokeBattle_SceneConstants::FOEBATTLER_X @sprites["shadow1"].y=PokeBattle_SceneConstants::FOEBATTLER_Y @sprites["shadow1"].x-=@sprites["shadow1"].bitmap.width/2 if @sprites["shadow1"].bitmap!=nil @sprites["shadow1"].y-=@sprites["shadow1"].bitmap.height/2 if @sprites["shadow1"].bitmap!=nil @sprites["shadow1"].visible=showShadow?(species) trainersprite1=@sprites["pokemon1"] elsif @battle.party2.length==2 species=@battle.party2[0].species @sprites["pokemon1"].setPokemonBitmap(@battle.party2[0],false) @sprites["pokemon1"].tone=Tone.new(-128,-128,-128,-128) @sprites["pokemon1"].x=PokeBattle_SceneConstants::FOEBATTLERD1_X @sprites["pokemon1"].x-=@sprites["pokemon1"].width/2 @sprites["pokemon1"].y=PokeBattle_SceneConstants::FOEBATTLERD1_Y @sprites["pokemon1"].y+=adjustBattleSpriteY(@sprites["pokemon1"],species,1) @sprites["pokemon1"].visible=true @sprites["shadow1"].x=PokeBattle_SceneConstants::FOEBATTLERD1_X @sprites["shadow1"].y=PokeBattle_SceneConstants::FOEBATTLERD1_Y @sprites["shadow1"].x-=@sprites["shadow1"].bitmap.width/2 if @sprites["shadow1"].bitmap!=nil @sprites["shadow1"].y-=@sprites["shadow1"].bitmap.height/2 if @sprites["shadow1"].bitmap!=nil @sprites["shadow1"].visible=showShadow?(species) trainersprite1=@sprites["pokemon1"] species=@battle.party2[1].species @sprites["pokemon3"].setPokemonBitmap(@battle.party2[1],false) @sprites["pokemon3"].tone=Tone.new(-128,-128,-128,-128) @sprites["pokemon3"].x=PokeBattle_SceneConstants::FOEBATTLERD2_X @sprites["pokemon3"].x-=@sprites["pokemon3"].width/2 @sprites["pokemon3"].y=PokeBattle_SceneConstants::FOEBATTLERD2_Y @sprites["pokemon3"].y+=adjustBattleSpriteY(@sprites["pokemon3"],species,3) @sprites["pokemon3"].visible=true @sprites["shadow3"].x=PokeBattle_SceneConstants::FOEBATTLERD2_X @sprites["shadow3"].y=PokeBattle_SceneConstants::FOEBATTLERD2_Y @sprites["shadow3"].x-=@sprites["shadow3"].bitmap.width/2 if @sprites["shadow3"].bitmap!=nil @sprites["shadow3"].y-=@sprites["shadow3"].bitmap.height/2 if @sprites["shadow3"].bitmap!=nil @sprites["shadow3"].visible=showShadow?(species) trainersprite2=@sprites["pokemon3"] end end end ################# # Move trainers/bases/etc. off-screen oldx=[] oldx[0]=@sprites["playerbase"].x; @sprites["playerbase"].x+=Graphics.width oldx[1]=playersprite1.x; playersprite1.x+=Graphics.width if playersprite2 oldx[2]=playersprite2.x; playersprite2.x+=Graphics.width end oldx[3]=@sprites["enemybase"].x; @sprites["enemybase"].x-=Graphics.width oldx[4]=trainersprite1.x; trainersprite1.x-=Graphics.width if trainersprite2 oldx[5]=trainersprite2.x; trainersprite2.x-=Graphics.width end oldx[6]=@sprites["shadow1"].x; @sprites["shadow1"].x-=Graphics.width if @sprites["shadow3"] oldx[7]=@sprites["shadow3"].x; @sprites["shadow3"].x-=Graphics.width end @sprites["partybarfoe"].x-=PokeBattle_SceneConstants::FOEPARTYBAR_X @sprites["partybarplayer"].x+=Graphics.width-PokeBattle_SceneConstants::PLAYERPARTYBAR_X ################# appearspeed=12 (1+Graphics.width/appearspeed).times do tobreak=true if @viewport.rect.y>0 @viewport.rect.y-=appearspeed/2 @viewport.rect.y=0 if @viewport.rect.y<0 @viewport.rect.height+=appearspeed @viewport.rect.height=Graphics.height if @viewport.rect.height>Graphics.height tobreak=false end if !tobreak for i in @sprites i[1].ox=@viewport.rect.x i[1].oy=@viewport.rect.y end end if @sprites["playerbase"].x>oldx[0] @sprites["playerbase"].x-=appearspeed; tobreak=false @sprites["playerbase"].x=oldx[0] if @sprites["playerbase"].xoldx[1] playersprite1.x-=appearspeed; tobreak=false playersprite1.x=oldx[1] if @sprites["player"].xoldx[2] playersprite2.x-=appearspeed; tobreak=false playersprite2.x=oldx[2] if @sprites["playerB"].xoldx[3] end if trainersprite1.xoldx[4] end if trainersprite2 && trainersprite2.xoldx[5] end if @sprites["shadow1"].xoldx[6] end if @sprites["shadow3"] && @sprites["shadow3"].xoldx[7] end pbGraphicsUpdate pbInputUpdate pbFrameUpdate break if tobreak end ################# if @battle.opponent @enablePartyAnim=true @partyAnimPhase=0 @sprites["partybarfoe"].visible=true @sprites["partybarplayer"].visible=true else pbPlayCry(@battle.party2[0]) # Play cry for wild Pokémon @sprites["battlebox1"].appear @sprites["battlebox3"].appear if @battle.party2.length==2 appearing=true begin pbGraphicsUpdate pbInputUpdate pbFrameUpdate @sprites["pokemon0"].tone.red+=8 if @sprites["pokemon0"].tone.red<0 @sprites["pokemon0"].tone.blue+=8 if @sprites["pokemon0"].tone.blue<0 @sprites["pokemon0"].tone.green+=8 if @sprites["pokemon0"].tone.green<0 @sprites["pokemon0"].tone.gray+=8 if @sprites["pokemon0"].tone.gray<0 appearing=@sprites["battlebox0"].appearing @sprites["pokemon1"].tone.red+=8 if @sprites["pokemon1"].tone.red<0 @sprites["pokemon1"].tone.blue+=8 if @sprites["pokemon1"].tone.blue<0 @sprites["pokemon1"].tone.green+=8 if @sprites["pokemon1"].tone.green<0 @sprites["pokemon1"].tone.gray+=8 if @sprites["pokemon1"].tone.gray<0 appearing=@sprites["battlebox1"].appearing if @battle.party2.length==2 @sprites["pokemon2"].tone.red+=8 if @sprites["pokemon2"].tone.red<0 @sprites["pokemon2"].tone.blue+=8 if @sprites["pokemon2"].tone.blue<0 @sprites["pokemon2"].tone.green+=8 if @sprites["pokemon2"].tone.green<0 @sprites["pokemon2"].tone.gray+=8 if @sprites["pokemon2"].tone.gray<0 appearing=(appearing || @sprites["battlebox3"].appearing) @sprites["pokemon3"].tone.red+=8 if @sprites["pokemon3"].tone.red<0 @sprites["pokemon3"].tone.blue+=8 if @sprites["pokemon3"].tone.blue<0 @sprites["pokemon3"].tone.green+=8 if @sprites["pokemon3"].tone.green<0 @sprites["pokemon3"].tone.gray+=8 if @sprites["pokemon3"].tone.gray<0 appearing=(appearing || @sprites["battlebox3"].appearing) end end while appearing # Show shiny animation for wild Pokémon if @battle.battlers[1].isShiny? && @battle.battlescene pbCommonAnimation("Shiny",@battle.battlers[1],nil) end if @battle.party2.length==2 if @battle.battlers[3].isShiny? && @battle.battlescene pbCommonAnimation("Shiny",@battle.battlers[3],nil) end end end pbAddSprite("EffectFoe",0,90,"Graphics/Pictures/battleEffectFoe",@viewport) pbAddSprite("EffectPlayer",Graphics.width-192,158,"Graphics/Pictures/battleEffectPlayer",@viewport) @sprites["EffectFoe"].visible=false @sprites["EffectFoe"].z=95 @sprites["EffectPlayer"].visible=false @sprites["EffectPlayer"].z=95 end def pbDreamItemMenu(index) ret=0 retindex=-1 pkmnid=-1 endscene=true oldsprites=pbFadeOutAndHide(@sprites) itemscene=PokemonBag_Scene.new itemscene.pbStartScene($Trainer.dreambag) loop do item=itemscene.pbChooseItem break if item==0 usetype=$ItemData[item][ITEMBATTLEUSE] cmdUse=-1 commands=[] if usetype==0 commands[commands.length]=_INTL("Cancel") else commands[cmdUse=commands.length]=_INTL("Use") commands[commands.length]=_INTL("Cancel") end itemname=PBItems.getName(item) command=itemscene.pbShowCommands(_INTL("{1} is selected.",itemname),commands) if cmdUse>=0 && command==cmdUse if usetype==1 || usetype==3 modparty=[] for i in 0...6 modparty.push(@battle.party1[@battle.party1order[i]]) end pkmnlist=PokemonScreen_Scene.new pkmnscreen=PokemonScreen.new(pkmnlist,modparty) itemscene.pbEndScene pkmnscreen.pbStartScene(_INTL("Use on which Pokémon?"),@battle.doublebattle) activecmd=pkmnscreen.pbChoosePokemon pkmnid=@battle.party1order[activecmd] if activecmd>=0 && pkmnid>=0 && ItemHandlers.hasBattleUseOnPokemon(item) pkmnlist.pbEndScene ret=item retindex=pkmnid endscene=false break end pkmnlist.pbEndScene itemscene.pbStartScene($Trainer.dreambag) elsif usetype==2 || usetype==4 if ItemHandlers.hasBattleUseOnBattler(item) ret=item retindex=index break end end end end pbConsumeItemInBattle($Trainer.dreambag,ret) if ret>0 itemscene.pbEndScene if endscene pbFadeInAndShow(@sprites,oldsprites) return [ret,retindex] end def pbDreamCommandMenu(index) pbCommandMenuEx(index,[ _INTL("What will\n{1} do?",@battle.pbPlayer.name), _INTL("Fight"), _INTL("Bag"), _INTL("Ball"), _INTL("Run") ],4) end # Must go under class PokemonDataBox, remember to remove the old one class DreamWorldDataBox < PokemonDataBox def refresh self.bitmap.clear return if !@battler.pokemon self.bitmap.blt(0,0,@databox.bitmap,Rect.new(0,0,@databox.width,@databox.height)) base=PokeBattle_SceneConstants::BOXTEXTBASECOLOR shadow=PokeBattle_SceneConstants::BOXTEXTSHADOWCOLOR pokename=@battler.name pbSetSystemFont(self.bitmap) textpos=[ [pokename,@spritebaseX+8,6,false,base,shadow] ] genderX=self.bitmap.text_size(pokename).width genderX+=@spritebaseX+14 case @battler.displayGender when 0 # Male textpos.push([_INTL("♂"),genderX,6,false,Color.new(48,96,216),shadow]) when 1 # Female textpos.push([_INTL("♀"),genderX,6,false,Color.new(248,88,40),shadow]) end textpos.push([_INTL("Dream Balls"),30,8,false,base,shadow]) textpos.push([_INTL("Left: {1}",@battler.battle.ballcount),30,38,false,base,shadow]) # Edit pbDrawTextPositions(self.bitmap,textpos) pbSetSmallFont(self.bitmap) textpos=[ [_INTL("Lv{1}",@battler.level),@spritebaseX+202,8,true,base,shadow] ] if @showhp hpstring=_ISPRINTF("{1: 2d}/{2: 2d}",self.hp,@battler.totalhp) textpos.push([hpstring,@spritebaseX+188,48,true,base,shadow]) end pbDrawTextPositions(self.bitmap,textpos) imagepos=[] if @battler.isShiny? shinyX=206 shinyX=-6 if (@battler.index&1)==0 # If player's Pokémon imagepos.push(["Graphics/Pictures/shiny.png",@spritebaseX+shinyX,36,0,0,-1,-1]) end if @battler.isDelta? deltaX=206 deltaX=-6 if (@battler.index&1)==0 # If player's Pokémon deltaX+=18 if @battler.isShiny? disptype1=@battler.type1 disptype2=@battler.type2 if @battler.effects[PBEffects::Illusion] != nil disptype1=illusionpoke.effects[PBEffects::Illusion].type1 disptype2=illusionpoke.effects[PBEffects::Illusion].type2 end if disptype1==disptype2 imagepos.push(["Graphics/Pictures/delta.png",@spritebaseX+deltaX,36,20*disptype1,0,20,-1]) else imagepos.push(["Graphics/Pictures/delta.png",@spritebaseX+deltaX-4,30,20*disptype1,0,20,-1]) imagepos.push(["Graphics/Pictures/delta.png",@spritebaseX+deltaX+4,34+4,20*disptype2,0,20,-1]) end end if @battler.isMega? imagepos.push(["Graphics/Pictures/battleMegaEvoBox.png",@spritebaseX+8,34,0,0,-1,-1]) elsif @battler.isPrimal? if isConst?(@battler.pokemon.species,PBSpecies,:KYOGRE) imagepos.push(["Graphics/Pictures/battlePrimalKyogreBox.png",@spritebaseX+140,4,0,0,-1,-1]) elsif isConst?(@battler.pokemon.species,PBSpecies,:GROUDON) imagepos.push(["Graphics/Pictures/battlePrimalGroudonBox.png",@spritebaseX+140,4,0,0,-1,-1]) elsif isConst?(@battler.pokemon.species,PBSpecies,:DIALGA) imagepos.push(["Graphics/Pictures/battlePrimalDialgaBox.png",@spritebaseX+140,4,0,0,-1,-1]) end end if @battler.owned && (@battler.index&1)==1 imagepos.push(["Graphics/Pictures/battleBoxOwned.png",@spritebaseX+8,36,0,0,-1,-1]) end pbDrawImagePositions(self.bitmap,imagepos) if @battler.status>0 self.bitmap.blt(@spritebaseX+24,36,@statuses.bitmap, Rect.new(0,(@battler.status-1)*16,44,16)) end hpGaugeSize=PokeBattle_SceneConstants::HPGAUGESIZE hpgauge=@battler.totalhp==0 ? 0 : (self.hp*hpGaugeSize/@battler.totalhp) hpgauge=2 if hpgauge==0 && self.hp>0 hpzone=0 hpzone=1 if self.hp<=(@battler.totalhp/2).floor hpzone=2 if self.hp<=(@battler.totalhp/4).floor hpcolors=[ PokeBattle_SceneConstants::HPCOLORGREENDARK, PokeBattle_SceneConstants::HPCOLORGREEN, PokeBattle_SceneConstants::HPCOLORYELLOWDARK, PokeBattle_SceneConstants::HPCOLORYELLOW, PokeBattle_SceneConstants::HPCOLORREDDARK, PokeBattle_SceneConstants::HPCOLORRED ] # fill with black (shows what the HP used to be) hpGaugeX=PokeBattle_SceneConstants::HPGAUGE_X hpGaugeY=PokeBattle_SceneConstants::HPGAUGE_Y if @animatingHP && self.hp>0 self.bitmap.fill_rect(@spritebaseX+hpGaugeX,hpGaugeY, @starthp*hpGaugeSize/@battler.totalhp,6,Color.new(0,0,0)) end # fill with HP color self.bitmap.fill_rect(@spritebaseX+hpGaugeX,hpGaugeY,hpgauge,2,hpcolors[hpzone*2]) self.bitmap.fill_rect(@spritebaseX+hpGaugeX,hpGaugeY+2,hpgauge,4,hpcolors[hpzone*2+1]) if @showexp # fill with EXP color expGaugeX=PokeBattle_SceneConstants::EXPGAUGE_X expGaugeY=PokeBattle_SceneConstants::EXPGAUGE_Y self.bitmap.fill_rect(@spritebaseX+expGaugeX,expGaugeY,self.exp,2, PokeBattle_SceneConstants::EXPCOLORSHADOW) self.bitmap.fill_rect(@spritebaseX+expGaugeX,expGaugeY+2,self.exp,2, PokeBattle_SceneConstants::EXPCOLORBASE) end end end