mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Created setting MAX_PARTY_SIZE, fixed some bugs
This commit is contained in:
@@ -50,6 +50,8 @@ MAX_MONEY = 999_999
|
||||
MAX_COINS = 99_999
|
||||
# The maximum length, in characters, that the player's name can be.
|
||||
MAX_PLAYER_NAME_SIZE = 10
|
||||
# The maximum number of Pokémon that can be in the party.
|
||||
MAX_PARTY_SIZE = 6
|
||||
|
||||
#===============================================================================
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ module GameData
|
||||
#===========================================================================
|
||||
|
||||
def self.egg_icon_filename(species, form)
|
||||
ret = self.check_egg_graphic_file("Graphics/Pokemon/Icons", species, form, "_icon")
|
||||
ret = self.check_egg_graphic_file("Graphics/Pokemon/Eggs/", species, form, "_icon")
|
||||
return (ret) ? ret : pbResolveBitmap("Graphics/Pokemon/Eggs/000_icon")
|
||||
end
|
||||
|
||||
@@ -198,14 +198,14 @@ module GameData
|
||||
return nil if species_data.nil?
|
||||
species_id = self.get(species_data.species).id_number
|
||||
if form > 0
|
||||
ret = sprintf("Cries/%sCry_%d", species_data.species, form)
|
||||
ret = sprintf("Cries/%s_%d", species_data.species, form)
|
||||
return ret if pbResolveAudioSE(ret)
|
||||
ret = sprintf("Cries/%03dCry_%d", species_id, form)
|
||||
ret = sprintf("Cries/%03d_%d", species_id, form)
|
||||
return ret if pbResolveAudioSE(ret)
|
||||
end
|
||||
ret = sprintf("Cries/%sCry", species_data.species)
|
||||
ret = sprintf("Cries/%s", species_data.species)
|
||||
return ret if pbResolveAudioSE(ret)
|
||||
ret = sprintf("Cries/%03dCry", species_id)
|
||||
ret = sprintf("Cries/%03d", species_id)
|
||||
return (pbResolveAudioSE(ret)) ? ret : nil
|
||||
end
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ module PokeBattle_SceneConstants
|
||||
MESSAGE_SHADOW_COLOR = Color.new(160, 160, 168)
|
||||
|
||||
# The number of party balls to show in each side's lineup.
|
||||
NUM_BALLS = 6
|
||||
NUM_BALLS = MAX_PARTY_SIZE
|
||||
|
||||
# Centre bottom of the player's side base graphic
|
||||
PLAYER_BASE_X = 128
|
||||
|
||||
@@ -7,7 +7,7 @@ class PokeBattle_NullBattlePeer
|
||||
def pbOnLeavingBattle(battle,pkmn,usedInBattle,endBattle=false); end
|
||||
|
||||
def pbStorePokemon(player,pkmn)
|
||||
player.party[player.party.length] = pkmn if player.party.length<6
|
||||
player.party[player.party.length] = pkmn if player.party.length < MAX_PARTY_SIZE
|
||||
return -1
|
||||
end
|
||||
|
||||
@@ -23,7 +23,7 @@ end
|
||||
#===============================================================================
|
||||
class PokeBattle_RealBattlePeer
|
||||
def pbStorePokemon(player,pkmn)
|
||||
if player.party.length<6
|
||||
if player.party.length < MAX_PARTY_SIZE
|
||||
player.party[player.party.length] = pkmn
|
||||
return -1
|
||||
end
|
||||
|
||||
@@ -65,7 +65,7 @@ end
|
||||
def pbDayCareWithdraw(index)
|
||||
if !$PokemonGlobal.daycare[index][0]
|
||||
raise _INTL("There's no Pokémon here...")
|
||||
elsif $Trainer.party.length>=6
|
||||
elsif $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
raise _INTL("Can't store the Pokémon...")
|
||||
else
|
||||
$Trainer.party[$Trainer.party.length] = $PokemonGlobal.daycare[index][0]
|
||||
@@ -154,7 +154,7 @@ end
|
||||
#===============================================================================
|
||||
def pbDayCareGenerateEgg
|
||||
return if pbDayCareDeposited != 2
|
||||
raise _INTL("Can't store the egg.") if $Trainer.party.length >= 6
|
||||
raise _INTL("Can't store the egg.") if $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pkmn0 = $PokemonGlobal.daycare[0][0]
|
||||
pkmn1 = $PokemonGlobal.daycare[1][0]
|
||||
mother = nil
|
||||
|
||||
@@ -985,7 +985,7 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS,proc { |item,pkmn,scene|
|
||||
next true
|
||||
end
|
||||
# Unfusing
|
||||
if $Trainer.party.length>=6
|
||||
if $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
|
||||
next false
|
||||
end
|
||||
@@ -1034,7 +1034,7 @@ ItemHandlers::UseOnPokemon.add(:NSOLARIZER,proc { |item,pkmn,scene|
|
||||
next true
|
||||
end
|
||||
# Unfusing
|
||||
if $Trainer.party.length>=6
|
||||
if $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
|
||||
next false
|
||||
end
|
||||
@@ -1083,7 +1083,7 @@ ItemHandlers::UseOnPokemon.add(:NLUNARIZER,proc { |item,pkmn,scene|
|
||||
next true
|
||||
end
|
||||
# Unfusing
|
||||
if $Trainer.party.length>=6
|
||||
if $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
scene.pbDisplay(_INTL("You have no room to separate the Pokémon."))
|
||||
next false
|
||||
end
|
||||
|
||||
@@ -23,7 +23,7 @@ ItemHandlers::CanUseInBattle.copy(:POKEDOLL,:FLUFFYTAIL,:POKETOY)
|
||||
|
||||
ItemHandlers::CanUseInBattle.addIf(proc { |item| GameData::Item.get(item).is_poke_ball? }, # Poké Balls
|
||||
proc { |item,pokemon,battler,move,firstAction,battle,scene,showMessages|
|
||||
if battle.pbPlayer.party.length>=6 && $PokemonStorage.full?
|
||||
if battle.pbPlayer.party.length >= MAX_PARTY_SIZE && $PokemonStorage.full?
|
||||
scene.pbDisplay(_INTL("There is no room left in the PC!")) if showMessages
|
||||
next false
|
||||
end
|
||||
|
||||
@@ -452,7 +452,7 @@ PBEvolution.register(:Ninjask, {
|
||||
PBEvolution.register(:Shedinja, {
|
||||
"parameterType" => nil,
|
||||
"afterEvolution" => proc { |pkmn, new_species, parameter, evo_species|
|
||||
next false if $Trainer.party.length>=6
|
||||
next false if $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
next false if !$PokemonBag.pbHasItem?(:POKEBALL)
|
||||
PokemonEvolutionScene.pbDuplicatePokemon(pkmn, new_species)
|
||||
$PokemonBag.pbDeleteItem(:POKEBALL)
|
||||
|
||||
@@ -3,7 +3,11 @@ class PokemonBox
|
||||
attr_accessor :name
|
||||
attr_accessor :background
|
||||
|
||||
def initialize(name,maxPokemon=30)
|
||||
BOX_WIDTH = 6
|
||||
BOX_HEIGHT = 5
|
||||
BOX_SIZE = BOX_WIDTH * BOX_HEIGHT
|
||||
|
||||
def initialize(name, maxPokemon = BOX_SIZE)
|
||||
@pokemon = []
|
||||
@name = name
|
||||
@background = 0
|
||||
@@ -17,15 +21,17 @@ class PokemonBox
|
||||
end
|
||||
|
||||
def nitems
|
||||
return @pokemon.nitems
|
||||
ret = 0
|
||||
@pokemon.each { |pkmn| ret += 1 if !pkmn.nil? }
|
||||
return ret
|
||||
end
|
||||
|
||||
def full?
|
||||
return (@pokemon.nitems==self.length)
|
||||
return nitems == self.length
|
||||
end
|
||||
|
||||
def empty?
|
||||
return (@pokemon.nitems==0)
|
||||
return nitems == 0
|
||||
end
|
||||
|
||||
def [](i)
|
||||
@@ -53,7 +59,7 @@ class PokemonStorage
|
||||
attr_writer :unlockedWallpapers
|
||||
BASICWALLPAPERQTY = 16
|
||||
|
||||
def initialize(maxBoxes=NUM_STORAGE_BOXES,maxPokemon=30)
|
||||
def initialize(maxBoxes = NUM_STORAGE_BOXES, maxPokemon = PokemonBox::BOX_SIZE)
|
||||
@boxes = []
|
||||
for i in 0...maxBoxes
|
||||
@boxes[i] = PokemonBox.new(_INTL("Box {1}",i+1),maxPokemon)
|
||||
@@ -121,7 +127,7 @@ class PokemonStorage
|
||||
|
||||
def maxPokemon(box)
|
||||
return 0 if box >= self.maxBoxes
|
||||
return (box<0) ? 6 : self[box].length
|
||||
return (box < 0) ? MAX_PARTY_SIZE : self[box].length
|
||||
end
|
||||
|
||||
def full?
|
||||
@@ -133,15 +139,14 @@ class PokemonStorage
|
||||
|
||||
def pbFirstFreePos(box)
|
||||
if box==-1
|
||||
ret = self.party.nitems
|
||||
return (ret==6) ? -1 : ret
|
||||
else
|
||||
ret = self.party.length
|
||||
return (ret >= MAX_PARTY_SIZE) ? -1 : ret
|
||||
end
|
||||
for i in 0...maxPokemon(box)
|
||||
return i if !self[box,i]
|
||||
end
|
||||
return -1
|
||||
end
|
||||
end
|
||||
|
||||
def [](x,y=nil)
|
||||
if y==nil
|
||||
@@ -174,7 +179,7 @@ class PokemonStorage
|
||||
return false if !found
|
||||
end
|
||||
if boxDst==-1 # Copying into party
|
||||
return false if self.party.nitems>=6
|
||||
return false if self.party.length >= MAX_PARTY_SIZE
|
||||
self.party[self.party.length] = self[boxSrc,indexSrc]
|
||||
self.party.compact!
|
||||
else # Copying into box
|
||||
@@ -195,7 +200,7 @@ class PokemonStorage
|
||||
end
|
||||
|
||||
def pbMoveCaughtToParty(pkmn)
|
||||
return false if self.party.nitems>=6
|
||||
return false if self.party.length >= MAX_PARTY_SIZE
|
||||
self.party[self.party.length] = pkmn
|
||||
end
|
||||
|
||||
|
||||
@@ -139,8 +139,8 @@ class PokemonPartyBlankPanel < SpriteWrapper
|
||||
|
||||
def initialize(_pokemon,index,viewport=nil)
|
||||
super(viewport)
|
||||
self.x = [0, Graphics.width/2][index%2]
|
||||
self.y = [0, 16, 96, 112, 192, 208][index]
|
||||
self.x = (index % 2) * Graphics.width / 2
|
||||
self.y = 16 * (index % 2) + 96 * (index / 2)
|
||||
@panelbgsprite = AnimatedBitmap.new("Graphics/Pictures/Party/panel_blank")
|
||||
self.bitmap = @panelbgsprite.bitmap
|
||||
@text = nil
|
||||
@@ -176,8 +176,8 @@ class PokemonPartyPanel < SpriteWrapper
|
||||
@pokemon = pokemon
|
||||
@active = (index==0) # true = rounded panel, false = rectangular panel
|
||||
@refreshing = true
|
||||
self.x = [0, Graphics.width/2][index%2]
|
||||
self.y = [0, 16, 96, 112, 192, 208][index]
|
||||
self.x = (index % 2) * Graphics.width / 2
|
||||
self.y = 16 * (index % 2) + 96 * (index / 2)
|
||||
@panelbgsprite = ChangelingSprite.new(0,0,viewport)
|
||||
@panelbgsprite.z = self.z
|
||||
if @active # Rounded panel
|
||||
@@ -448,7 +448,7 @@ class PokemonParty_Scene
|
||||
pbBottomLeftLines(@sprites["helpwindow"],1)
|
||||
pbSetHelpText(starthelptext)
|
||||
# Add party Pokémon sprites
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
if @party[i]
|
||||
@sprites["pokemon#{i}"] = PokemonPartyPanel.new(@party[i],i,@viewport)
|
||||
else
|
||||
@@ -457,10 +457,10 @@ class PokemonParty_Scene
|
||||
@sprites["pokemon#{i}"].text = annotations[i] if annotations
|
||||
end
|
||||
if @multiselect
|
||||
@sprites["pokemon6"] = PokemonPartyConfirmSprite.new(@viewport)
|
||||
@sprites["pokemon7"] = PokemonPartyCancelSprite2.new(@viewport)
|
||||
@sprites["pokemon#{MAX_PARTY_SIZE}"] = PokemonPartyConfirmSprite.new(@viewport)
|
||||
@sprites["pokemon#{MAX_PARTY_SIZE + 1}"] = PokemonPartyCancelSprite2.new(@viewport)
|
||||
else
|
||||
@sprites["pokemon6"] = PokemonPartyCancelSprite.new(@viewport)
|
||||
@sprites["pokemon#{MAX_PARTY_SIZE}"] = PokemonPartyCancelSprite.new(@viewport)
|
||||
end
|
||||
# Select first Pokémon
|
||||
@activecmd = 0
|
||||
@@ -573,14 +573,14 @@ class PokemonParty_Scene
|
||||
end
|
||||
|
||||
def pbAnnotate(annot)
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@sprites["pokemon#{i}"].text = (annot) ? annot[i] : nil
|
||||
end
|
||||
end
|
||||
|
||||
def pbSelect(item)
|
||||
@activecmd = item
|
||||
numsprites = (@multiselect) ? 8 : 7
|
||||
numsprites = MAX_PARTY_SIZE + ((@multiselect) ? 2 : 1)
|
||||
for i in 0...numsprites
|
||||
@sprites["pokemon#{i}"].selected = (i==@activecmd)
|
||||
end
|
||||
@@ -620,7 +620,7 @@ class PokemonParty_Scene
|
||||
Input.update
|
||||
self.update
|
||||
end
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@sprites["pokemon#{i}"].preselected = false
|
||||
@sprites["pokemon#{i}"].switching = false
|
||||
end
|
||||
@@ -628,7 +628,7 @@ class PokemonParty_Scene
|
||||
end
|
||||
|
||||
def pbClearSwitching
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@sprites["pokemon#{i}"].preselected = false
|
||||
@sprites["pokemon#{i}"].switching = false
|
||||
end
|
||||
@@ -674,7 +674,7 @@ class PokemonParty_Scene
|
||||
end
|
||||
|
||||
def pbChoosePokemon(switching=false,initialsel=-1,canswitch=0)
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@sprites["pokemon#{i}"].preselected = (switching && i==@activecmd)
|
||||
@sprites["pokemon#{i}"].switching = switching
|
||||
end
|
||||
@@ -695,12 +695,12 @@ class PokemonParty_Scene
|
||||
end
|
||||
if @activecmd!=oldsel # Changing selection
|
||||
pbPlayCursorSE
|
||||
numsprites = (@multiselect) ? 8 : 7
|
||||
numsprites = MAX_PARTY_SIZE + ((@multiselect) ? 2 : 1)
|
||||
for i in 0...numsprites
|
||||
@sprites["pokemon#{i}"].selected = (i==@activecmd)
|
||||
end
|
||||
end
|
||||
cancelsprite = (@multiselect) ? 7 : 6
|
||||
cancelsprite = MAX_PARTY_SIZE + ((@multiselect) ? 1 : 0)
|
||||
if Input.trigger?(Input::A) && canswitch==1 && @activecmd!=cancelsprite
|
||||
pbPlayDecisionSE
|
||||
return [1,@activecmd]
|
||||
@@ -722,13 +722,13 @@ class PokemonParty_Scene
|
||||
end
|
||||
|
||||
def pbChangeSelection(key,currentsel)
|
||||
numsprites = (@multiselect) ? 8 : 7
|
||||
numsprites = MAX_PARTY_SIZE + ((@multiselect) ? 2 : 1)
|
||||
case key
|
||||
when Input::LEFT
|
||||
begin
|
||||
currentsel -= 1
|
||||
end while currentsel > 0 && currentsel < @party.length && !@party[currentsel]
|
||||
if currentsel>=@party.length && currentsel<6
|
||||
if currentsel >= @party.length && currentsel < MAX_PARTY_SIZE
|
||||
currentsel = @party.length - 1
|
||||
end
|
||||
currentsel = numsprites - 1 if currentsel < 0
|
||||
@@ -737,12 +737,12 @@ class PokemonParty_Scene
|
||||
currentsel += 1
|
||||
end while currentsel < @party.length && !@party[currentsel]
|
||||
if currentsel == @party.length
|
||||
currentsel = 6
|
||||
currentsel = MAX_PARTY_SIZE
|
||||
elsif currentsel == numsprites
|
||||
currentsel = 0
|
||||
end
|
||||
when Input::UP
|
||||
if currentsel>=6
|
||||
if currentsel >= MAX_PARTY_SIZE
|
||||
begin
|
||||
currentsel -= 1
|
||||
end while currentsel > 0 && !@party[currentsel]
|
||||
@@ -751,19 +751,19 @@ class PokemonParty_Scene
|
||||
currentsel -= 2
|
||||
end while currentsel > 0 && !@party[currentsel]
|
||||
end
|
||||
if currentsel>=@party.length && currentsel<6
|
||||
if currentsel >= @party.length && currentsel < MAX_PARTY_SIZE
|
||||
currentsel = @party.length-1
|
||||
end
|
||||
currentsel = numsprites - 1 if currentsel < 0
|
||||
when Input::DOWN
|
||||
if currentsel>=5
|
||||
if currentsel >= MAX_PARTY_SIZE - 1
|
||||
currentsel += 1
|
||||
else
|
||||
currentsel += 2
|
||||
currentsel = 6 if currentsel<6 && !@party[currentsel]
|
||||
currentsel = MAX_PARTY_SIZE if currentsel < MAX_PARTY_SIZE && !@party[currentsel]
|
||||
end
|
||||
if currentsel>=@party.length && currentsel<6
|
||||
currentsel = 6
|
||||
if currentsel >= @party.length && currentsel < MAX_PARTY_SIZE
|
||||
currentsel = MAX_PARTY_SIZE
|
||||
elsif currentsel >= numsprites
|
||||
currentsel = 0
|
||||
end
|
||||
@@ -774,14 +774,14 @@ class PokemonParty_Scene
|
||||
def pbHardRefresh
|
||||
oldtext = []
|
||||
lastselected = -1
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
oldtext.push(@sprites["pokemon#{i}"].text)
|
||||
lastselected = i if @sprites["pokemon#{i}"].selected
|
||||
@sprites["pokemon#{i}"].dispose
|
||||
end
|
||||
lastselected = @party.length-1 if lastselected>=@party.length
|
||||
lastselected = 0 if lastselected<0
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
if @party[i]
|
||||
@sprites["pokemon#{i}"] = PokemonPartyPanel.new(@party[i],i,@viewport)
|
||||
else
|
||||
@@ -793,7 +793,7 @@ class PokemonParty_Scene
|
||||
end
|
||||
|
||||
def pbRefresh
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
sprite = @sprites["pokemon#{i}"]
|
||||
if sprite
|
||||
if sprite.is_a?(PokemonPartyPanel)
|
||||
@@ -967,17 +967,17 @@ class PokemonPartyScreen
|
||||
def pbPokemonMultipleEntryScreenEx(ruleset)
|
||||
annot = []
|
||||
statuses = []
|
||||
ordinals = [
|
||||
_INTL("INELIGIBLE"),
|
||||
_INTL("NOT ENTERED"),
|
||||
_INTL("BANNED"),
|
||||
_INTL("FIRST"),
|
||||
_INTL("SECOND"),
|
||||
_INTL("THIRD"),
|
||||
_INTL("FOURTH"),
|
||||
_INTL("FIFTH"),
|
||||
_INTL("SIXTH")
|
||||
]
|
||||
ordinals = [_INTL("INELIGIBLE"), _INTL("NOT ENTERED"), _INTL("BANNED")]
|
||||
positions = [_INTL("FIRST"), _INTL("SECOND"), _INTL("THIRD"), _INTL("FOURTH"),
|
||||
_INTL("FIFTH"), _INTL("SIXTH"), _INTL("SEVENTH"), _INTL("EIGHTH"),
|
||||
_INTL("NINTH"), _INTL("TENTH"), _INTL("ELEVENTH"), _INTL("TWELFTH")]
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
if i < positions.length
|
||||
ordinals.push(positions[i])
|
||||
else
|
||||
ordinals.push("#{i + 1}th")
|
||||
end
|
||||
end
|
||||
return nil if !ruleset.hasValidTeam?(@party)
|
||||
ret = nil
|
||||
addedEntry = false
|
||||
@@ -1006,12 +1006,12 @@ class PokemonPartyScreen
|
||||
end
|
||||
@scene.pbAnnotate(annot)
|
||||
if realorder.length==ruleset.number && addedEntry
|
||||
@scene.pbSelect(6)
|
||||
@scene.pbSelect(MAX_PARTY_SIZE)
|
||||
end
|
||||
@scene.pbSetHelpText(_INTL("Choose Pokémon and confirm."))
|
||||
pkmnid = @scene.pbChoosePokemon
|
||||
addedEntry = false
|
||||
if pkmnid==6 # Confirm was chosen
|
||||
if pkmnid == MAX_PARTY_SIZE # Confirm was chosen
|
||||
ret = []
|
||||
for i in realorder; ret.push(@party[i]); end
|
||||
error = []
|
||||
|
||||
@@ -291,6 +291,7 @@ end
|
||||
class PokemonBoxSprite < SpriteWrapper
|
||||
attr_accessor :refreshBox
|
||||
attr_accessor :refreshSprites
|
||||
|
||||
def initialize(storage,boxnumber,viewport=nil)
|
||||
super(viewport)
|
||||
@storage = storage
|
||||
@@ -298,7 +299,7 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
@refreshBox = true
|
||||
@refreshSprites = true
|
||||
@pokemonsprites = []
|
||||
for i in 0...30
|
||||
for i in 0...PokemonBox::BOX_SIZE
|
||||
@pokemonsprites[i] = nil
|
||||
pokemon = @storage[boxnumber,i]
|
||||
@pokemonsprites[i] = PokemonBoxIcon.new(pokemon,viewport)
|
||||
@@ -312,7 +313,7 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
|
||||
def dispose
|
||||
if !disposed?
|
||||
for i in 0...30
|
||||
for i in 0...PokemonBox::BOX_SIZE
|
||||
@pokemonsprites[i].dispose if @pokemonsprites[i]
|
||||
@pokemonsprites[i] = nil
|
||||
end
|
||||
@@ -335,7 +336,7 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
def color=(value)
|
||||
super
|
||||
if @refreshSprites
|
||||
for i in 0...30
|
||||
for i in 0...PokemonBox::BOX_SIZE
|
||||
if @pokemonsprites[i] && !@pokemonsprites[i].disposed?
|
||||
@pokemonsprites[i].color = value
|
||||
end
|
||||
@@ -346,7 +347,7 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
|
||||
def visible=(value)
|
||||
super
|
||||
for i in 0...30
|
||||
for i in 0...PokemonBox::BOX_SIZE
|
||||
if @pokemonsprites[i] && !@pokemonsprites[i].disposed?
|
||||
@pokemonsprites[i].visible = value
|
||||
end
|
||||
@@ -413,10 +414,10 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
@refreshBox = false
|
||||
end
|
||||
yval = self.y+30
|
||||
for j in 0...5
|
||||
for j in 0...PokemonBox::BOX_HEIGHT
|
||||
xval = self.x+10
|
||||
for k in 0...6
|
||||
sprite = @pokemonsprites[j*6+k]
|
||||
for k in 0...PokemonBox::BOX_WIDTH
|
||||
sprite = @pokemonsprites[j * PokemonBox::BOX_WIDTH + k]
|
||||
if sprite && !sprite.disposed?
|
||||
sprite.viewport = self.viewport
|
||||
sprite.x = xval
|
||||
@@ -431,7 +432,7 @@ class PokemonBoxSprite < SpriteWrapper
|
||||
|
||||
def update
|
||||
super
|
||||
for i in 0...30
|
||||
for i in 0...PokemonBox::BOX_SIZE
|
||||
if @pokemonsprites[i] && !@pokemonsprites[i].disposed?
|
||||
@pokemonsprites[i].update
|
||||
end
|
||||
@@ -448,7 +449,7 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
@party = party
|
||||
@boxbitmap = AnimatedBitmap.new("Graphics/Pictures/Storage/overlay_party")
|
||||
@pokemonsprites = []
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@pokemonsprites[i] = nil
|
||||
pokemon = @party[i]
|
||||
if pokemon
|
||||
@@ -464,7 +465,7 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
end
|
||||
|
||||
def dispose
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@pokemonsprites[i].dispose if @pokemonsprites[i]
|
||||
end
|
||||
@boxbitmap.dispose
|
||||
@@ -484,7 +485,7 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
|
||||
def color=(value)
|
||||
super
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
if @pokemonsprites[i] && !@pokemonsprites[i].disposed?
|
||||
@pokemonsprites[i].color = pbSrcOver(@pokemonsprites[i].color,value)
|
||||
end
|
||||
@@ -493,7 +494,7 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
|
||||
def visible=(value)
|
||||
super
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
if @pokemonsprites[i] && !@pokemonsprites[i].disposed?
|
||||
@pokemonsprites[i].visible = value
|
||||
end
|
||||
@@ -532,14 +533,17 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
pbDrawTextPositions(self.bitmap,[
|
||||
[_INTL("Back"), 86, 240, 2, Color.new(248, 248, 248), Color.new(80, 80, 80), 1]
|
||||
])
|
||||
|
||||
xvalues = [18,90,18,90,18,90]
|
||||
yvalues = [2,18,66,82,130,146]
|
||||
for j in 0...6
|
||||
xvalues = [] # [18, 90, 18, 90, 18, 90]
|
||||
yvalues = [] # [2, 18, 66, 82, 130, 146]
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
xvalues.push(18 + 72 * (i % 2))
|
||||
yvalues.push(2 + 16 * (i % 2) + 64 * (i / 2))
|
||||
end
|
||||
for j in 0...MAX_PARTY_SIZE
|
||||
@pokemonsprites[j] = nil if @pokemonsprites[j] && @pokemonsprites[j].disposed?
|
||||
end
|
||||
@pokemonsprites.compact!
|
||||
for j in 0...6
|
||||
for j in 0...MAX_PARTY_SIZE
|
||||
sprite = @pokemonsprites[j]
|
||||
if sprite && !sprite.disposed?
|
||||
sprite.viewport = self.viewport
|
||||
@@ -552,7 +556,7 @@ class PokemonBoxPartySprite < SpriteWrapper
|
||||
|
||||
def update
|
||||
super
|
||||
for i in 0...6
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
@pokemonsprites[i].update if @pokemonsprites[i] && !@pokemonsprites[i].disposed?
|
||||
end
|
||||
end
|
||||
@@ -702,8 +706,8 @@ class PokemonStorageScene
|
||||
arrow.x = 207*2
|
||||
arrow.y = 139*2
|
||||
else
|
||||
arrow.x = (97+24*(selection%6))*2
|
||||
arrow.y = (8+24*(selection/6))*2
|
||||
arrow.x = (97 + 24 * (selection % PokemonBox::BOX_WIDTH)) * 2
|
||||
arrow.y = (8 + 24 * (selection / PokemonBox::BOX_WIDTH)) * 2
|
||||
end
|
||||
end
|
||||
|
||||
@@ -713,24 +717,29 @@ class PokemonStorageScene
|
||||
if selection==-1 # Box name
|
||||
selection = -2
|
||||
elsif selection==-2 # Party
|
||||
selection = 25
|
||||
selection = PokemonBox::BOX_SIZE - 1 - PokemonBox::BOX_WIDTH * 2 / 3 # 25
|
||||
elsif selection==-3 # Close Box
|
||||
selection = 28
|
||||
selection = PokemonBox::BOX_SIZE - PokemonBox::BOX_WIDTH / 3 # 28
|
||||
else
|
||||
selection -= 6
|
||||
selection -= PokemonBox::BOX_WIDTH
|
||||
selection = -1 if selection < 0
|
||||
end
|
||||
when Input::DOWN
|
||||
if selection==-1 # Box name
|
||||
selection = 2
|
||||
selection = PokemonBox::BOX_WIDTH / 3 # 2
|
||||
elsif selection==-2 # Party
|
||||
selection = -1
|
||||
elsif selection==-3 # Close Box
|
||||
selection = -1
|
||||
else
|
||||
selection += 6
|
||||
selection = -2 if selection==30 || selection==31 || selection==32
|
||||
selection = -3 if selection==33 || selection==34 || selection==35
|
||||
selection += PokemonBox::BOX_WIDTH
|
||||
if selection >= PokemonBox::BOX_SIZE
|
||||
if selection < PokemonBox::BOX_SIZE + PokemonBox::BOX_WIDTH / 2
|
||||
selection = -2 # Party
|
||||
else
|
||||
selection = -3 # Close Box
|
||||
end
|
||||
end
|
||||
end
|
||||
when Input::LEFT
|
||||
if selection==-1 # Box name
|
||||
@@ -739,9 +748,10 @@ class PokemonStorageScene
|
||||
selection = -3
|
||||
elsif selection==-3
|
||||
selection = -2
|
||||
elsif (selection % PokemonBox::BOX_WIDTH) == 0 # Wrap around
|
||||
selection += PokemonBox::BOX_WIDTH - 1
|
||||
else
|
||||
selection -= 1
|
||||
selection += 6 if selection==-1 || selection%6==5
|
||||
end
|
||||
when Input::RIGHT
|
||||
if selection==-1 # Box name
|
||||
@@ -750,48 +760,54 @@ class PokemonStorageScene
|
||||
selection = -3
|
||||
elsif selection==-3
|
||||
selection = -2
|
||||
elsif (selection % PokemonBox::BOX_WIDTH) == PokemonBox::BOX_WIDTH - 1 # Wrap around
|
||||
selection -= PokemonBox::BOX_WIDTH - 1
|
||||
else
|
||||
selection += 1
|
||||
selection -= 6 if selection%6==0
|
||||
end
|
||||
end
|
||||
return selection
|
||||
end
|
||||
|
||||
def pbPartySetArrow(arrow,selection)
|
||||
if selection>=0
|
||||
xvalues = [100,136,100,136,100,136,118]
|
||||
yvalues = [1,9,33,41,65,73,110]
|
||||
return if selection < 0
|
||||
xvalues = [] # [200, 272, 200, 272, 200, 272, 236]
|
||||
yvalues = [] # [2, 18, 66, 82, 130, 146, 220]
|
||||
for i in 0...MAX_PARTY_SIZE
|
||||
xvalues.push(200 + 72 * (i % 2))
|
||||
yvalues.push(2 + 16 * (i % 2) + 64 * (i / 2))
|
||||
end
|
||||
xvalues.push(236)
|
||||
yvalues.push(220)
|
||||
arrow.angle = 0
|
||||
arrow.mirror = false
|
||||
arrow.ox = 0
|
||||
arrow.oy = 0
|
||||
arrow.x = xvalues[selection]*2
|
||||
arrow.y = yvalues[selection]*2
|
||||
end
|
||||
arrow.x = xvalues[selection]
|
||||
arrow.y = yvalues[selection]
|
||||
end
|
||||
|
||||
def pbPartyChangeSelection(key,selection)
|
||||
case key
|
||||
when Input::LEFT
|
||||
selection -= 1
|
||||
selection = 6 if selection<0
|
||||
selection = MAX_PARTY_SIZE if selection < 0
|
||||
when Input::RIGHT
|
||||
selection += 1
|
||||
selection = 0 if selection>6
|
||||
selection = 0 if selection > MAX_PARTY_SIZE
|
||||
when Input::UP
|
||||
if selection==6
|
||||
selection = 5
|
||||
if selection == MAX_PARTY_SIZE
|
||||
selection = MAX_PARTY_SIZE - 1
|
||||
else
|
||||
selection -= 2
|
||||
selection = 6 if selection<0
|
||||
selection = MAX_PARTY_SIZE if selection < 0
|
||||
end
|
||||
when Input::DOWN
|
||||
if selection==6
|
||||
if selection == MAX_PARTY_SIZE
|
||||
selection = 0
|
||||
else
|
||||
selection += 2
|
||||
selection = 6 if selection>6
|
||||
selection = MAX_PARTY_SIZE if selection > MAX_PARTY_SIZE
|
||||
end
|
||||
end
|
||||
return selection
|
||||
@@ -936,10 +952,10 @@ class PokemonStorageScene
|
||||
@selection = selection
|
||||
return -1
|
||||
elsif Input.trigger?(Input::C)
|
||||
if selection>=0 && selection<6
|
||||
if selection >= 0 && selection < MAX_PARTY_SIZE
|
||||
@selection = selection
|
||||
return selection
|
||||
elsif selection==6 # Close Box
|
||||
elsif selection == MAX_PARTY_SIZE # Close Box
|
||||
@selection = selection
|
||||
return (depositing) ? -3 : -1
|
||||
end
|
||||
@@ -1665,7 +1681,7 @@ class PokemonStorageScreen
|
||||
if box==-1
|
||||
raise _INTL("Can't withdraw from party...");
|
||||
end
|
||||
if @storage.party.nitems>=6
|
||||
if @storage.party.length >= MAX_PARTY_SIZE
|
||||
pbDisplay(_INTL("Your party's full!"))
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -48,7 +48,7 @@ class StorageSystemPC
|
||||
)
|
||||
if command>=0 && command<3
|
||||
if command==1 # Withdraw
|
||||
if $PokemonStorage.party.length>=6
|
||||
if $PokemonStorage.party.length >= MAX_PARTY_SIZE
|
||||
pbMessage(_INTL("Your party is full!"))
|
||||
next
|
||||
end
|
||||
|
||||
@@ -868,7 +868,7 @@ def pbBattleFactoryPokemon(rule,numwins,numswaps,_rentals)
|
||||
party=[]
|
||||
loop do
|
||||
party.clear
|
||||
while party.length<6
|
||||
while party.length < MAX_PARTY_SIZE
|
||||
rnd=pokemonNumbers[0]+rand(pokemonNumbers[1]-pokemonNumbers[0]+1)
|
||||
rndpoke=btpokemon[rnd]
|
||||
indvalue=(party.length<ivgroups[0]) ? ivs[0] : ivs[1]
|
||||
|
||||
@@ -995,8 +995,8 @@ def pbTrainerInfo(pokemonlist,trfile,rules)
|
||||
end
|
||||
end
|
||||
numbers|=[]
|
||||
if (numbers.length<6 ||
|
||||
!rulesetTeam.hasValidTeam?(numbersPokemon))
|
||||
if numbers.length < MAX_PARTY_SIZE ||
|
||||
!rulesetTeam.hasValidTeam?(numbersPokemon)
|
||||
for index in 0...pokemonlist.length
|
||||
pkmn=pokemonlist[index]
|
||||
next if !validities[index]
|
||||
@@ -1013,11 +1013,11 @@ def pbTrainerInfo(pokemonlist,trfile,rules)
|
||||
end
|
||||
}
|
||||
end
|
||||
break if numbers.length>=6 && rules.ruleset.hasValidTeam?(numbersPokemon)
|
||||
break if numbers.length >= MAX_PARTY_SIZE && rules.ruleset.hasValidTeam?(numbersPokemon)
|
||||
end
|
||||
if numbers.length<6 || !rules.ruleset.hasValidTeam?(numbersPokemon)
|
||||
if numbers.length < MAX_PARTY_SIZE || !rules.ruleset.hasValidTeam?(numbersPokemon)
|
||||
while numbers.length<pokemonlist.length &&
|
||||
(numbers.length<6 || !rules.ruleset.hasValidTeam?(numbersPokemon))
|
||||
(numbers.length < MAX_PARTY_SIZE || !rules.ruleset.hasValidTeam?(numbersPokemon))
|
||||
index=rand(pokemonlist.length)
|
||||
if !numbers.include?(index)
|
||||
numbers.push(index)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Nicknaming and storing Pokémon
|
||||
#===============================================================================
|
||||
def pbBoxesFull?
|
||||
return ($Trainer.party.length == 6 && $PokemonStorage.full?)
|
||||
return ($Trainer.party.length >= MAX_PARTY_SIZE && $PokemonStorage.full?)
|
||||
end
|
||||
|
||||
def pbNickname(pkmn)
|
||||
@@ -21,7 +21,7 @@ def pbStorePokemon(pkmn)
|
||||
return
|
||||
end
|
||||
pkmn.pbRecordFirstMoves
|
||||
if $Trainer.party.length < 6
|
||||
if $Trainer.party.length < MAX_PARTY_SIZE
|
||||
$Trainer.party[$Trainer.party.length] = pkmn
|
||||
else
|
||||
oldcurbox = $PokemonStorage.currentBox
|
||||
@@ -85,7 +85,7 @@ def pbAddPokemonSilent(pkmn, level = 1, see_form = true)
|
||||
$Trainer.owned[pkmn.species] = true
|
||||
pbSeenForm(pkmn) if see_form
|
||||
pkmn.pbRecordFirstMoves
|
||||
if $Trainer.party.length < 6
|
||||
if $Trainer.party.length < MAX_PARTY_SIZE
|
||||
$Trainer.party[$Trainer.party.length] = pkmn
|
||||
else
|
||||
$PokemonStorage.pbStoreCaught(pkmn)
|
||||
@@ -97,7 +97,7 @@ end
|
||||
# Giving Pokémon/eggs to the player (can only add to party)
|
||||
#===============================================================================
|
||||
def pbAddToParty(pkmn, level = 1, see_form = true)
|
||||
return false if !pkmn || $Trainer.party.length >= 6
|
||||
return false if !pkmn || $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pkmn = Pokemon.new(pkmn, level) if !pkmn.is_a?(Pokemon)
|
||||
species_name = pkmn.speciesName
|
||||
pbMessage(_INTL("{1} obtained {2}!\\me[Pkmn get]\\wtnp[80]\1", $Trainer.name, species_name))
|
||||
@@ -107,7 +107,7 @@ def pbAddToParty(pkmn, level = 1, see_form = true)
|
||||
end
|
||||
|
||||
def pbAddToPartySilent(pkmn, level = nil, see_form = true)
|
||||
return false if !pkmn || $Trainer.party.length >= 6
|
||||
return false if !pkmn || $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pkmn = Pokemon.new(pkmn, level) if !pkmn.is_a?(Pokemon)
|
||||
$Trainer.seen[pkmn.species] = true
|
||||
$Trainer.owned[pkmn.species] = true
|
||||
@@ -118,7 +118,7 @@ def pbAddToPartySilent(pkmn, level = nil, see_form = true)
|
||||
end
|
||||
|
||||
def pbAddForeignPokemon(pkmn, level = 1, owner_name = nil, nickname = nil, owner_gender = 0, see_form = true)
|
||||
return false if !pkmn || $Trainer.party.length>=6
|
||||
return false if !pkmn || $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pkmn = Pokemon.new(pkmn, level) if !pkmn.is_a?(Pokemon)
|
||||
# Set original trainer to a foreign one
|
||||
pkmn.owner = Pokemon::Owner.new_foreign(owner_name || "", owner_gender)
|
||||
@@ -139,7 +139,7 @@ def pbAddForeignPokemon(pkmn, level = 1, owner_name = nil, nickname = nil, owner
|
||||
end
|
||||
|
||||
def pbGenerateEgg(pkmn, text = "")
|
||||
return false if !pkmn || $Trainer.party.length >= 6
|
||||
return false if !pkmn || $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pkmn = Pokemon.new(pkmn, EGG_LEVEL) if !pkmn.is_a?(Pokemon)
|
||||
# Set egg's details
|
||||
pkmn.name = _INTL("Egg")
|
||||
|
||||
@@ -605,7 +605,7 @@ DebugMenuCommands.register("fillboxes", {
|
||||
else # Both male and female
|
||||
$Trainer.formseen[sp][0][f] = true
|
||||
$Trainer.formseen[sp][1][f] = true
|
||||
$Trainer.formlastseen[i] = [0, f] if f == 0
|
||||
$Trainer.formlastseen[sp] = [0, f] if f == 0
|
||||
end
|
||||
elsif species_data.real_form_name && !species_data.real_form_name.empty?
|
||||
g = (species_data.gender_rate == PBGenderRates::AlwaysFemale) ? 1 : 0
|
||||
|
||||
@@ -291,7 +291,7 @@ def pbDebugDayCare
|
||||
when 0 # Withdraw Pokémon 1
|
||||
if !$PokemonGlobal.daycare[0][0]
|
||||
pbPlayBuzzerSE
|
||||
elsif $Trainer.party.length>=6
|
||||
elsif $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pbPlayBuzzerSE
|
||||
pbMessage(_INTL("Party is full, can't withdraw Pokémon."))
|
||||
else
|
||||
@@ -303,7 +303,7 @@ def pbDebugDayCare
|
||||
when 1 # Withdraw Pokémon 2
|
||||
if !$PokemonGlobal.daycare[1][0]
|
||||
pbPlayBuzzerSE
|
||||
elsif $Trainer.party.length>=6
|
||||
elsif $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pbPlayBuzzerSE
|
||||
pbMessage(_INTL("Party is full, can't withdraw Pokémon."))
|
||||
else
|
||||
@@ -344,7 +344,7 @@ def pbDebugDayCare
|
||||
when 4 # Collect egg
|
||||
if $PokemonGlobal.daycareEgg!=1
|
||||
pbPlayBuzzerSE
|
||||
elsif $Trainer.party.length>=6
|
||||
elsif $Trainer.party.length >= MAX_PARTY_SIZE
|
||||
pbPlayBuzzerSE
|
||||
pbMessage(_INTL("Party is full, can't collect the egg."))
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user