Implemented GameData::Move

This commit is contained in:
Maruno17
2020-11-19 21:00:29 +00:00
parent 52ffae9e8a
commit 3cd8d59918
71 changed files with 1443 additions and 1584 deletions

View File

@@ -941,10 +941,10 @@ class PokemonPartyScreen
movenames = []
for i in pokemon.moves
break if i.id==0
if i.totalpp<=0
movenames.push(_INTL("{1} (PP: ---)",PBMoves.getName(i.id)))
if i.total_pp<=0
movenames.push(_INTL("{1} (PP: ---)",i.name))
else
movenames.push(_INTL("{1} (PP: {2}/{3})",PBMoves.getName(i.id),i.pp,i.totalpp))
movenames.push(_INTL("{1} (PP: {2}/{3})",i.name,i.pp,i.total_pp))
end
end
return @scene.pbShowCommands(helptext,movenames,index)
@@ -1129,20 +1129,20 @@ class PokemonPartyScreen
commands = []
cmdSummary = -1
cmdDebug = -1
cmdMoves = [-1,-1,-1,-1]
cmdMoves = [-1] * pkmn.numMoves
cmdSwitch = -1
cmdMail = -1
cmdItem = -1
# Build the commands
commands[cmdSummary = commands.length] = _INTL("Summary")
commands[cmdDebug = commands.length] = _INTL("Debug") if $DEBUG
for i in 0...pkmn.moves.length
move = pkmn.moves[i]
if !pkmn.egg?
# Check for hidden moves and add any that were found
if !pkmn.egg? && (isConst?(move.id,PBMoves,:MILKDRINK) ||
isConst?(move.id,PBMoves,:SOFTBOILED) ||
HiddenMoveHandlers.hasHandler(move.id))
commands[cmdMoves[i] = commands.length] = [PBMoves.getName(move.id),1]
pkmn.moves.each_with_index do |m, i|
if [:MILKDRINK, :SOFTBOILED].include?(m.id) ||
HiddenMoveHandlers.hasHandler(m.id)
commands[cmdMoves[i] = commands.length] = [m.name, 1]
end
end
end
commands[cmdSwitch = commands.length] = _INTL("Switch") if @party.length>1
@@ -1156,60 +1156,56 @@ class PokemonPartyScreen
commands[commands.length] = _INTL("Cancel")
command = @scene.pbShowCommands(_INTL("Do what with {1}?",pkmn.name),commands)
havecommand = false
for i in 0...4
if cmdMoves[i]>=0 && command==cmdMoves[i]
havecommand = true
if isConst?(pkmn.moves[i].id,PBMoves,:SOFTBOILED) ||
isConst?(pkmn.moves[i].id,PBMoves,:MILKDRINK)
amt = [(pkmn.totalhp/5).floor,1].max
if pkmn.hp<=amt
pbDisplay(_INTL("Not enough HP..."))
cmdMoves.each_with_index do |cmd, i|
next if cmd < 0 || cmd != command
havecommand = true
if [:MILKDRINK, :SOFTBOILED].include?(pkmn.moves[i].id)
amt = [(pkmn.totalhp/5).floor,1].max
if pkmn.hp<=amt
pbDisplay(_INTL("Not enough HP..."))
break
end
@scene.pbSetHelpText(_INTL("Use on which Pokémon?"))
oldpkmnid = pkmnid
loop do
@scene.pbPreSelect(oldpkmnid)
pkmnid = @scene.pbChoosePokemon(true,pkmnid)
break if pkmnid<0
newpkmn = @party[pkmnid]
movename = pkmn.moves[i].name
if pkmnid==oldpkmnid
pbDisplay(_INTL("{1} can't use {2} on itself!",pkmn.name,movename))
elsif newpkmn.egg?
pbDisplay(_INTL("{1} can't be used on an Egg!",movename))
elsif newpkmn.hp==0 || newpkmn.hp==newpkmn.totalhp
pbDisplay(_INTL("{1} can't be used on that Pokémon.",movename))
else
pkmn.hp -= amt
hpgain = pbItemRestoreHP(newpkmn,amt)
@scene.pbDisplay(_INTL("{1}'s HP was restored by {2} points.",newpkmn.name,hpgain))
pbRefresh
end
break if pkmn.hp<=amt
end
@scene.pbSelect(oldpkmnid)
pbRefresh
break
elsif pbCanUseHiddenMove?(pkmn,pkmn.moves[i].id)
if pbConfirmUseHiddenMove(pkmn,pkmn.moves[i].id)
@scene.pbEndScene
if pkmn.moves[i].id == :FLY
scene = PokemonRegionMap_Scene.new(-1,false)
screen = PokemonRegionMapScreen.new(scene)
ret = screen.pbStartFlyScreen
if ret
$PokemonTemp.flydata=ret
return [pkmn,pkmn.moves[i].id]
end
@scene.pbStartScene(@party,
(@party.length>1) ? _INTL("Choose a Pokémon.") : _INTL("Choose Pokémon or cancel."))
break
end
@scene.pbSetHelpText(_INTL("Use on which Pokémon?"))
oldpkmnid = pkmnid
loop do
@scene.pbPreSelect(oldpkmnid)
pkmnid = @scene.pbChoosePokemon(true,pkmnid)
break if pkmnid<0
newpkmn = @party[pkmnid]
movename = PBMoves.getName(pkmn.moves[i].id)
if pkmnid==oldpkmnid
pbDisplay(_INTL("{1} can't use {2} on itself!",pkmn.name,movename))
elsif newpkmn.egg?
pbDisplay(_INTL("{1} can't be used on an Egg!",movename))
elsif newpkmn.hp==0 || newpkmn.hp==newpkmn.totalhp
pbDisplay(_INTL("{1} can't be used on that Pokémon.",movename))
else
pkmn.hp -= amt
hpgain = pbItemRestoreHP(newpkmn,amt)
@scene.pbDisplay(_INTL("{1}'s HP was restored by {2} points.",newpkmn.name,hpgain))
pbRefresh
end
break if pkmn.hp<=amt
end
@scene.pbSelect(oldpkmnid)
pbRefresh
break
elsif pbCanUseHiddenMove?(pkmn,pkmn.moves[i].id)
if pbConfirmUseHiddenMove(pkmn,pkmn.moves[i].id)
@scene.pbEndScene
if isConst?(pkmn.moves[i].id,PBMoves,:FLY)
scene = PokemonRegionMap_Scene.new(-1,false)
screen = PokemonRegionMapScreen.new(scene)
ret = screen.pbStartFlyScreen
if ret
$PokemonTemp.flydata=ret
return [pkmn,pkmn.moves[i].id]
end
@scene.pbStartScene(@party,
(@party.length>1) ? _INTL("Choose a Pokémon.") : _INTL("Choose Pokémon or cancel."))
break
end
return [pkmn,pkmn.moves[i].id]
end
else
break
return [pkmn,pkmn.moves[i].id]
end
end
end

View File

@@ -34,7 +34,7 @@ class MoveSelectionSprite < SpriteWrapper
self.x = 240
self.y = 92+(self.index*64)
self.y -= 76 if @fifthmove
self.y += 20 if @fifthmove && self.index==4
self.y += 20 if @fifthmove && self.index==Pokemon::MAX_MOVES # Add a gap
self.bitmap = @movesel.bitmap
if self.preselected
self.src_rect.set(0,h,w,h)
@@ -166,7 +166,7 @@ class PokemonSummary_Scene
pbFadeInAndShow(@sprites) { pbUpdate }
end
def pbStartForgetScene(party,partyindex,moveToLearn)
def pbStartForgetScene(party,partyindex,move_to_learn)
@viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z = 99999
@party = party
@@ -182,11 +182,12 @@ class PokemonSummary_Scene
@sprites["pokeicon"].setOffset(PictureOrigin::Center)
@sprites["pokeicon"].x = 46
@sprites["pokeicon"].y = 92
@sprites["movesel"] = MoveSelectionSprite.new(@viewport,moveToLearn>0)
@sprites["movesel"] = MoveSelectionSprite.new(@viewport,!move_to_learn.nil?)
@sprites["movesel"].visible = false
@sprites["movesel"].visible = true
@sprites["movesel"].index = 0
drawSelectedMove(moveToLearn,@pokemon.moves[0].id)
new_move = (move_to_learn) ? PBMove.new(move_to_learn) : nil
drawSelectedMove(new_move,@pokemon.moves[0])
pbFadeInAndShow(@sprites)
end
@@ -678,19 +679,19 @@ class PokemonSummary_Scene
imagepos = []
# Write move names, types and PP amounts for each known move
yPos = 98
for i in 0...@pokemon.moves.length
for i in 0...Pokemon::MAX_MOVES
move=@pokemon.moves[i]
if move.id>0
if move
imagepos.push(["Graphics/Pictures/types",248,yPos+2,0,move.type*28,64,28])
textpos.push([PBMoves.getName(move.id),316,yPos,0,moveBase,moveShadow])
if move.totalpp>0
textpos.push([move.name,316,yPos,0,moveBase,moveShadow])
if move.total_pp>0
textpos.push([_INTL("PP"),342,yPos+32,0,moveBase,moveShadow])
ppfraction = 0
if move.pp==0; ppfraction = 3
elsif move.pp*4<=move.totalpp; ppfraction = 2
elsif move.pp*2<=move.totalpp; ppfraction = 1
if move.pp==0; ppfraction = 3
elsif move.pp*4<=move.total_pp; ppfraction = 2
elsif move.pp*2<=move.total_pp; ppfraction = 1
end
textpos.push([sprintf("%d/%d",move.pp,move.totalpp),460,yPos+32,1,ppBase[ppfraction],ppShadow[ppfraction]])
textpos.push([sprintf("%d/%d",move.pp,move.total_pp),460,yPos+32,1,ppBase[ppfraction],ppShadow[ppfraction]])
end
else
textpos.push(["-",316,yPos,0,moveBase,moveShadow])
@@ -703,47 +704,7 @@ class PokemonSummary_Scene
pbDrawImagePositions(overlay,imagepos)
end
def drawSelectedMove(moveToLearn,moveid)
# Draw all of page four, except selected move's details
drawMoveSelection(moveToLearn)
# Set various values
overlay = @sprites["overlay"].bitmap
base = Color.new(64,64,64)
shadow = Color.new(176,176,176)
@sprites["pokemon"].visible = false if @sprites["pokemon"]
@sprites["pokeicon"].pokemon = @pokemon
@sprites["pokeicon"].visible = true
@sprites["itemicon"].visible = false if @sprites["itemicon"]
# Get data for selected move
moveData = pbGetMoveData(moveid)
basedamage = moveData[MoveData::BASE_DAMAGE]
category = moveData[MoveData::CATEGORY]
accuracy = moveData[MoveData::ACCURACY]
textpos = []
# Write power and accuracy values for selected move
if basedamage==0 # Status move
textpos.push(["---",216,154,1,base,shadow])
elsif basedamage==1 # Variable power move
textpos.push(["???",216,154,1,base,shadow])
else
textpos.push([sprintf("%d",basedamage),216,154,1,base,shadow])
end
if accuracy==0
textpos.push(["---",216,186,1,base,shadow])
else
textpos.push([sprintf("%d%",accuracy),216+overlay.text_size("%").width,186,1,base,shadow])
end
# Draw all text
pbDrawTextPositions(overlay,textpos)
# Draw selected move's damage category icon
imagepos = [["Graphics/Pictures/category",166,124,0,category*28,64,28]]
pbDrawImagePositions(overlay,imagepos)
# Draw selected move's description
drawTextEx(overlay,4,218,230,5,
pbGetMessage(MessageTypes::MoveDescriptions,moveid),base,shadow)
end
def drawMoveSelection(moveToLearn)
def drawPageFourSelecting(move_to_learn)
overlay = @sprites["overlay"].bitmap
overlay.clear
base = Color.new(248,248,248)
@@ -759,7 +720,7 @@ class PokemonSummary_Scene
Color.new(144,72,24), # 1/4 of total PP or less
Color.new(136,48,48)] # Zero PP
# Set background image
if moveToLearn!=0
if move_to_learn
@sprites["background"].setBitmap("Graphics/Pictures/Summary/bg_learnmove")
else
@sprites["background"].setBitmap("Graphics/Pictures/Summary/bg_movedetail")
@@ -774,24 +735,25 @@ class PokemonSummary_Scene
imagepos = []
# Write move names, types and PP amounts for each known move
yPos = 98
yPos -= 76 if moveToLearn!=0
for i in 0...5
yPos -= 76 if move_to_learn
limit = (move_to_learn) ? Pokemon::MAX_MOVES + 1 : Pokemon::MAX_MOVES
for i in 0...limit
move = @pokemon.moves[i]
if i==4
move = PBMove.new(moveToLearn) if moveToLearn!=0
if i==Pokemon::MAX_MOVES
move = move_to_learn
yPos += 20
end
if move && move.id>0
if move
imagepos.push(["Graphics/Pictures/types",248,yPos+2,0,move.type*28,64,28])
textpos.push([PBMoves.getName(move.id),316,yPos,0,moveBase,moveShadow])
if move.totalpp>0
textpos.push([move.name,316,yPos,0,moveBase,moveShadow])
if move.total_pp>0
textpos.push([_INTL("PP"),342,yPos+32,0,moveBase,moveShadow])
ppfraction = 0
if move.pp==0; ppfraction = 3
elsif move.pp*4<=move.totalpp; ppfraction = 2
elsif move.pp*2<=move.totalpp; ppfraction = 1
if move.pp==0; ppfraction = 3
elsif move.pp*4<=move.total_pp; ppfraction = 2
elsif move.pp*2<=move.total_pp; ppfraction = 1
end
textpos.push([sprintf("%d/%d",move.pp,move.totalpp),460,yPos+32,1,ppBase[ppfraction],ppShadow[ppfraction]])
textpos.push([sprintf("%d/%d",move.pp,move.total_pp),460,yPos+32,1,ppBase[ppfraction],ppShadow[ppfraction]])
end
else
textpos.push(["-",316,yPos,0,moveBase,moveShadow])
@@ -813,6 +775,38 @@ class PokemonSummary_Scene
end
end
def drawSelectedMove(move_to_learn, selected_move)
# Draw all of page four, except selected move's details
drawPageFourSelecting(move_to_learn)
# Set various values
overlay = @sprites["overlay"].bitmap
base = Color.new(64, 64, 64)
shadow = Color.new(176, 176, 176)
@sprites["pokemon"].visible = false if @sprites["pokemon"]
@sprites["pokeicon"].pokemon = @pokemon
@sprites["pokeicon"].visible = true
@sprites["itemicon"].visible = false if @sprites["itemicon"]
textpos = []
# Write power and accuracy values for selected move
case selected_move.base_damage
when 0 then textpos.push(["---", 216, 154, 1, base, shadow]) # Status move
when 1 then textpos.push(["???", 216, 154, 1, base, shadow]) # Variable power move
else textpos.push([selected_move.base_damage.to_s, 216, 154, 1, base, shadow])
end
if selected_move.accuracy == 0
textpos.push(["---", 216, 186, 1, base, shadow])
else
textpos.push([sprintf("%d%", selected_move.accuracy), 216 + overlay.text_size("%").width, 186, 1, base, shadow])
end
# Draw all text
pbDrawTextPositions(overlay, textpos)
# Draw selected move's damage category icon
imagepos = [["Graphics/Pictures/category", 166, 124, 0, selected_move.category * 28, 64, 28]]
pbDrawImagePositions(overlay, imagepos)
# Draw selected move's description
drawTextEx(overlay, 4, 218, 230, 5, selected_move.description, base, shadow)
end
def drawPageFive
overlay = @sprites["overlay"].bitmap
@sprites["uparrow"].visible = false
@@ -903,7 +897,7 @@ class PokemonSummary_Scene
selmove = 0
oldselmove = 0
switching = false
drawSelectedMove(0,@pokemon.moves[selmove].id)
drawSelectedMove(nil,@pokemon.moves[selmove])
loop do
Graphics.update
Input.update
@@ -920,7 +914,7 @@ class PokemonSummary_Scene
switching = false
elsif Input.trigger?(Input::C)
pbPlayDecisionSE
if selmove==4
if selmove==Pokemon::MAX_MOVES
break if !switching
@sprites["movepresel"].visible = false
switching = false
@@ -937,30 +931,28 @@ class PokemonSummary_Scene
@pokemon.moves[selmove] = tmpmove
@sprites["movepresel"].visible = false
switching = false
drawSelectedMove(0,@pokemon.moves[selmove].id)
drawSelectedMove(nil,@pokemon.moves[selmove])
end
end
end
elsif Input.trigger?(Input::UP)
selmove -= 1
if selmove<4 && selmove>=@pokemon.numMoves
if selmove<Pokemon::MAX_MOVES && selmove>=@pokemon.numMoves
selmove = @pokemon.numMoves-1
end
selmove = 0 if selmove>=4
selmove = 0 if selmove>=Pokemon::MAX_MOVES
selmove = @pokemon.numMoves-1 if selmove<0
@sprites["movesel"].index = selmove
newmove = @pokemon.moves[selmove].id
pbPlayCursorSE
drawSelectedMove(0,newmove)
drawSelectedMove(nil,@pokemon.moves[selmove])
elsif Input.trigger?(Input::DOWN)
selmove += 1
selmove = 0 if selmove<4 && selmove>=@pokemon.numMoves
selmove = 0 if selmove>=4
selmove = 4 if selmove<0
selmove = 0 if selmove<Pokemon::MAX_MOVES && selmove>=@pokemon.numMoves
selmove = 0 if selmove>=Pokemon::MAX_MOVES
selmove = Pokemon::MAX_MOVES if selmove<0
@sprites["movesel"].index = selmove
newmove = @pokemon.moves[selmove].id
pbPlayCursorSE
drawSelectedMove(0,newmove)
drawSelectedMove(nil,@pokemon.moves[selmove])
end
end
@sprites["movesel"].visible=false
@@ -1194,16 +1186,17 @@ class PokemonSummary_Scene
return dorefresh
end
def pbChooseMoveToForget(moveToLearn)
def pbChooseMoveToForget(move_to_learn)
new_move = (move_to_learn) ? PBMove.new(move_to_learn) : nil
selmove = 0
maxmove = (moveToLearn>0) ? 4 : 3
maxmove = (new_move) ? Pokemon::MAX_MOVES : Pokemon::MAX_MOVES - 1
loop do
Graphics.update
Input.update
pbUpdate
if Input.trigger?(Input::B)
selmove = 4
pbPlayCloseMenuSE if moveToLearn>0
selmove = Pokemon::MAX_MOVES
pbPlayCloseMenuSE if new_move
break
elsif Input.trigger?(Input::C)
pbPlayDecisionSE
@@ -1211,24 +1204,24 @@ class PokemonSummary_Scene
elsif Input.trigger?(Input::UP)
selmove -= 1
selmove = maxmove if selmove<0
if selmove<4 && selmove>=@pokemon.numMoves
if selmove<Pokemon::MAX_MOVES && selmove>=@pokemon.numMoves
selmove = @pokemon.numMoves-1
end
@sprites["movesel"].index = selmove
newmove = (selmove==4) ? moveToLearn : @pokemon.moves[selmove].id
drawSelectedMove(moveToLearn,newmove)
selected_move = (selmove==Pokemon::MAX_MOVES) ? new_move : @pokemon.moves[selmove]
drawSelectedMove(new_move,selected_move)
elsif Input.trigger?(Input::DOWN)
selmove += 1
selmove = 0 if selmove>maxmove
if selmove<4 && selmove>=@pokemon.numMoves
selmove = (moveToLearn>0) ? maxmove : 0
if selmove<Pokemon::MAX_MOVES && selmove>=@pokemon.numMoves
selmove = (new_move) ? maxmove : 0
end
@sprites["movesel"].index = selmove
newmove = (selmove==4) ? moveToLearn : @pokemon.moves[selmove].id
drawSelectedMove(moveToLearn,newmove)
selected_move = (selmove==Pokemon::MAX_MOVES) ? new_move : @pokemon.moves[selmove]
drawSelectedMove(new_move,selected_move)
end
end
return (selmove==4) ? -1 : selmove
return (selmove==Pokemon::MAX_MOVES) ? -1 : selmove
end
def pbScene
@@ -1317,16 +1310,14 @@ class PokemonSummaryScreen
return ret
end
def pbStartForgetScreen(party,partyindex,moveToLearn)
def pbStartForgetScreen(party,partyindex,move_to_learn)
ret = -1
@scene.pbStartForgetScene(party,partyindex,moveToLearn)
@scene.pbStartForgetScene(party,partyindex,move_to_learn)
loop do
ret = @scene.pbChooseMoveToForget(moveToLearn)
if ret>=0 && moveToLearn!=0 && pbIsHiddenMove?(party[partyindex].moves[ret].id) && !$DEBUG
pbMessage(_INTL("HM moves can't be forgotten now.")) { @scene.pbUpdate }
else
break
end
ret = @scene.pbChooseMoveToForget(move_to_learn)
break if ret < 0 || !move_to_learn
break if $DEBUG || !party[partyindex].moves[ret].hidden_move?
pbMessage(_INTL("HM moves can't be forgotten now.")) { @scene.pbUpdate }
end
@scene.pbEndScene
return ret
@@ -1334,15 +1325,12 @@ class PokemonSummaryScreen
def pbStartChooseMoveScreen(party,partyindex,message)
ret = -1
@scene.pbStartForgetScene(party,partyindex,0)
@scene.pbStartForgetScene(party,partyindex,nil)
pbMessage(message) { @scene.pbUpdate }
loop do
ret = @scene.pbChooseMoveToForget(0)
if ret<0
pbMessage(_INTL("You must choose a move!")) { @scene.pbUpdate }
else
break
end
ret = @scene.pbChooseMoveToForget(nil)
break if ret >= 0
pbMessage(_INTL("You must choose a move!")) { @scene.pbUpdate }
end
@scene.pbEndScene
return ret

View File

@@ -236,7 +236,7 @@ class PokemonReadyMenu
def pbStartReadyMenu(moves,items)
commands = [[],[]] # Moves, items
for i in moves
commands[0].push([i[0], PBMoves.getName(i[0]), true, i[1]])
commands[0].push([i[0], GameData::Move.get(i[0]).name, true, i[1]])
end
commands[0].sort! { |a,b| a[1]<=>b[1] }
for i in items
@@ -250,7 +250,7 @@ class PokemonReadyMenu
if command[0]==0 # Use a move
move = commands[0][command[1]][0]
user = $Trainer.party[commands[0][command[1]][3]]
if isConst?(move,PBMoves,:FLY)
if move == :FLY
ret = nil
pbFadeOutInWithUpdate(99999,@scene.sprites) {
pbHideMenu
@@ -299,30 +299,26 @@ def pbUseKeyItem
moves = [:CUT, :DEFOG, :DIG, :DIVE, :FLASH, :FLY, :HEADBUTT, :ROCKCLIMB,
:ROCKSMASH, :SECRETPOWER, :STRENGTH, :SURF, :SWEETSCENT, :TELEPORT,
:WATERFALL, :WHIRLPOOL]
realmoves = []
for i in moves
move = getID(PBMoves,i)
next if move==0
for j in 0...$Trainer.party.length
next if $Trainer.party[j].egg?
next if !$Trainer.party[j].hasMove?(move)
realmoves.push([move,j]) if pbCanUseHiddenMove?($Trainer.party[j],move,false)
break
real_moves = []
moves.each do |move|
$Trainer.pokemonParty.each_with_index do |pkmn, i|
next if !pkmn.hasMove?(move)
real_moves.push([move, i]) if pbCanUseHiddenMove?(pkmn, move, false)
end
end
realitems = []
real_items = []
for i in $PokemonBag.registeredItems
itm = GameData::Item.get(i).id
realitems.push(itm) if $PokemonBag.pbHasItem?(itm)
real_items.push(itm) if $PokemonBag.pbHasItem?(itm)
end
if realitems.length==0 && realmoves.length==0
if real_items.length == 0 && real_moves.length == 0
pbMessage(_INTL("An item in the Bag can be registered to this key for instant use."))
else
$game_temp.in_menu = true
$game_map.update
sscene = PokemonReadyMenu_Scene.new
sscreen = PokemonReadyMenu.new(sscene)
sscreen.pbStartReadyMenu(realmoves,realitems)
sscreen.pbStartReadyMenu(real_moves, real_items)
$game_temp.in_menu = false
end
end

View File

@@ -1839,11 +1839,10 @@ class PokemonStorageScreen
def pbChooseMove(pkmn,helptext,index=0)
movenames = []
for i in pkmn.moves
break if i.id==0
if i.totalpp<=0
movenames.push(_INTL("{1} (PP: ---)",PBMoves.getName(i.id)))
if i.total_pp<=0
movenames.push(_INTL("{1} (PP: ---)",i.name))
else
movenames.push(_INTL("{1} (PP: {2}/{3})",PBMoves.getName(i.id),i.pp,i.totalpp))
movenames.push(_INTL("{1} (PP: {2}/{3})",i.name,i.pp,i.total_pp))
end
end
return @scene.pbShowCommands(helptext,movenames,index)

View File

@@ -51,7 +51,7 @@ class MoveRelearner_Scene
@pokemon=pokemon
@moves=moves
moveCommands=[]
moves.each { |m| moveCommands.push(PBMoves.getName(m)) }
moves.each { |m| moveCommands.push(GameData::Move.get(m).name) }
# Create sprite hash
@viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
@viewport.z=99999
@@ -81,7 +81,6 @@ class MoveRelearner_Scene
end
def pbDrawMoveList
movesData = pbLoadMovesData
overlay=@sprites["overlay"].bitmap
overlay.clear
type1rect=Rect.new(0,@pokemon.type1*28,64,28)
@@ -100,19 +99,13 @@ class MoveRelearner_Scene
for i in 0...VISIBLEMOVES
moveobject=@moves[@sprites["commands"].top_item+i]
if moveobject
moveData=movesData[moveobject]
if moveData
imagepos.push(["Graphics/Pictures/types",12,yPos+2,0,
moveData[MoveData::TYPE]*28,64,28])
textpos.push([PBMoves.getName(moveobject),80,yPos,0,
Color.new(248,248,248),Color.new(0,0,0)])
if moveData[MoveData::TOTAL_PP]>0
textpos.push([_INTL("PP"),112,yPos+32,0,
Color.new(64,64,64),Color.new(176,176,176)])
textpos.push([_INTL("{1}/{2}",
moveData[MoveData::TOTAL_PP],moveData[MoveData::TOTAL_PP]),230,yPos+32,1,
Color.new(64,64,64),Color.new(176,176,176)])
end
moveData=GameData::Move.get(moveobject)
imagepos.push(["Graphics/Pictures/types",12,yPos+2,0,moveData.type*28,64,28])
textpos.push([moveData.name,80,yPos,0,Color.new(248,248,248),Color.new(0,0,0)])
if moveData.total_pp>0
textpos.push([_INTL("PP"),112,yPos+32,0,Color.new(64,64,64),Color.new(176,176,176)])
textpos.push([_INTL("{1}/{1}",moveData.total_pp),230,yPos+32,1,
Color.new(64,64,64),Color.new(176,176,176)])
else
textpos.push(["-",80,yPos,0,Color.new(64,64,64),Color.new(176,176,176)])
textpos.push(["--",228,yPos+32,1,Color.new(64,64,64),Color.new(176,176,176)])
@@ -123,10 +116,10 @@ class MoveRelearner_Scene
imagepos.push(["Graphics/Pictures/reminderSel",
0,78+(@sprites["commands"].index-@sprites["commands"].top_item)*64,
0,0,258,72])
selMoveData=movesData[@moves[@sprites["commands"].index]]
basedamage=selMoveData[MoveData::BASE_DAMAGE]
category=selMoveData[MoveData::CATEGORY]
accuracy=selMoveData[MoveData::ACCURACY]
selMoveData=GameData::Move.get(@moves[@sprites["commands"].index])
basedamage=selMoveData.base_damage
category=selMoveData.category
accuracy=selMoveData.accuracy
textpos.push([_INTL("CATEGORY"),272,114,0,Color.new(248,248,248),Color.new(0,0,0)])
textpos.push([_INTL("POWER"),272,146,0,Color.new(248,248,248),Color.new(0,0,0)])
textpos.push([basedamage<=1 ? basedamage==1 ? "???" : "---" : sprintf("%d",basedamage),
@@ -143,8 +136,7 @@ class MoveRelearner_Scene
imagepos.push(["Graphics/Pictures/reminderButtons",134,350,76,0,76,32])
end
pbDrawImagePositions(overlay,imagepos)
drawTextEx(overlay,272,210,230,5,
pbGetMessage(MessageTypes::MoveDescriptions,@moves[@sprites["commands"].index]),
drawTextEx(overlay,272,210,230,5,selMoveData.description,
Color.new(64,64,64),Color.new(176,176,176))
end
@@ -193,19 +185,16 @@ class MoveRelearnerScreen
@scene.pbStartScene(pokemon,moves)
loop do
move=@scene.pbChooseMove
if move<=0
if @scene.pbConfirm(
_INTL("Give up trying to teach a new move to {1}?",pokemon.name))
@scene.pbEndScene
return false
end
else
if @scene.pbConfirm(_INTL("Teach {1}?",PBMoves.getName(move)))
if move
if @scene.pbConfirm(_INTL("Teach {1}?",GameData::Move.get(move).name))
if pbLearnMove(pokemon,move)
@scene.pbEndScene
return true
end
end
elsif @scene.pbConfirm(_INTL("Give up trying to teach a new move to {1}?",pokemon.name))
@scene.pbEndScene
return false
end
end
end

View File

@@ -26,7 +26,7 @@ class PokemonMartAdapter
item_name = getName(item)
if GameData::Item.get(item).is_machine?
machine = GameData::Item.get(item).move
item_name = _INTL("{1} {2}", item_name, PBMoves.getName(machine))
item_name = _INTL("{1} {2}", item_name, GameData::Move.get(machine).name)
end
return item_name
end

View File

@@ -412,7 +412,8 @@ def pbReceiveMysteryGift(id)
if item == :LEFTOVERS
pbMessage(_INTL("\\me[Item get]You obtained some \\c[1]{1}\\c[0]!\\wtnp[30]",itemname))
elsif itm.is_machine? # TM or HM
pbMessage(_INTL("\\me[Item get]You obtained \\c[1]{1} {2}\\c[0]!\\wtnp[30]",itemname,PBMoves.getName(itm.move)))
pbMessage(_INTL("\\me[Item get]You obtained \\c[1]{1} {2}\\c[0]!\\wtnp[30]",itemname,
GameData::Move.get(itm.move).name))
elsif qty>1
pbMessage(_INTL("\\me[Item get]You obtained {1} \\c[1]{2}\\c[0]!\\wtnp[30]",qty,itemname))
elsif itemname.starts_with_vowel?