mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Fixed animations played by an event command being mispositioned, fixed Geomancy, removed $PokemonGlobal.playerID, tweaked player/bag object creation, overrode type effectiveness for Shadow moves, bug fixes
This commit is contained in:
@@ -188,9 +188,9 @@ class SpriteAnimation
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
sprite_x = self.x - self.ox + self.src_rect.width / 2
|
sprite_x = self.x - self.ox + self.src_rect.width / 2
|
||||||
sprite_y = self.y - self.oy + self.src_rect.height / 2
|
sprite_y = self.y - self.oy
|
||||||
sprite_y -= self.src_rect.height / 4 if position == 0
|
sprite_y += self.src_rect.height / 2 if position == 1
|
||||||
sprite_y += self.src_rect.height / 4 if position == 2
|
sprite_y += self.src_rect.height if position == 2
|
||||||
end
|
end
|
||||||
for i in 0..15
|
for i in 0..15
|
||||||
sprite = sprites[i]
|
sprite = sprites[i]
|
||||||
|
|||||||
@@ -4,6 +4,11 @@ SaveData.register(:player) do
|
|||||||
ensure_class :Player
|
ensure_class :Player
|
||||||
save_value { $Trainer }
|
save_value { $Trainer }
|
||||||
load_value { |value| $Trainer = value }
|
load_value { |value| $Trainer = value }
|
||||||
|
new_game_value {
|
||||||
|
trainer_type = nil # Get the first defined trainer type as a placeholder
|
||||||
|
GameData::TrainerType.each { |t| trainer_type = t.id; break }
|
||||||
|
Player.new("Unnamed", trainer_type)
|
||||||
|
}
|
||||||
from_old_format { |old_format| old_format[0] }
|
from_old_format { |old_format| old_format[0] }
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -100,6 +105,7 @@ SaveData.register(:bag) do
|
|||||||
ensure_class :PokemonBag
|
ensure_class :PokemonBag
|
||||||
save_value { $PokemonBag }
|
save_value { $PokemonBag }
|
||||||
load_value { |value| $PokemonBag = value }
|
load_value { |value| $PokemonBag = value }
|
||||||
|
new_game_value { PokemonBag.new }
|
||||||
from_old_format { |old_format| old_format[13] }
|
from_old_format { |old_format| old_format[13] }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ SaveData.register_conversion(:v19_move_global_data_to_player) do
|
|||||||
to_all do |save_data|
|
to_all do |save_data|
|
||||||
global = save_data[:global_metadata]
|
global = save_data[:global_metadata]
|
||||||
player = save_data[:player]
|
player = save_data[:player]
|
||||||
|
player.character_ID = global.playerID
|
||||||
|
global.playerID = nil
|
||||||
global.pokedexUnlocked.each_with_index do |value, i|
|
global.pokedexUnlocked.each_with_index do |value, i|
|
||||||
if value
|
if value
|
||||||
player.pokedex.unlock(i)
|
player.pokedex.unlock(i)
|
||||||
@@ -57,17 +59,17 @@ SaveData.register_conversion(:v19_move_global_data_to_player) do
|
|||||||
player.pokedex.lock(i)
|
player.pokedex.lock(i)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
trainer.coins = global.coins
|
player.coins = global.coins
|
||||||
global.coins = nil
|
global.coins = nil
|
||||||
trainer.soot = global.sootsack
|
player.soot = global.sootsack
|
||||||
global.sootsack = nil
|
global.sootsack = nil
|
||||||
trainer.has_running_shoes = global.runningShoes
|
player.has_running_shoes = global.runningShoes
|
||||||
global.runningShoes = nil
|
global.runningShoes = nil
|
||||||
trainer.seen_storage_creator = global.seenStorageCreator
|
player.seen_storage_creator = global.seenStorageCreator
|
||||||
global.seenStorageCreator = nil
|
global.seenStorageCreator = nil
|
||||||
trainer.has_snag_machine = global.snagMachine
|
player.has_snag_machine = global.snagMachine
|
||||||
global.snagMachine = nil
|
global.snagMachine = nil
|
||||||
trainer.seen_purify_chamber = global.seenPurifyChamber
|
player.seen_purify_chamber = global.seenPurifyChamber
|
||||||
global.seenPurifyChamber = nil
|
global.seenPurifyChamber = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -417,11 +417,11 @@ def pbGetPlayerCharset(meta,charset,trainer=nil,force=false)
|
|||||||
trainer = $Trainer if !trainer
|
trainer = $Trainer if !trainer
|
||||||
outfit = (trainer) ? trainer.outfit : 0
|
outfit = (trainer) ? trainer.outfit : 0
|
||||||
if $game_player && $game_player.charsetData && !force
|
if $game_player && $game_player.charsetData && !force
|
||||||
return nil if $game_player.charsetData[0]==$PokemonGlobal.playerID &&
|
return nil if $game_player.charsetData[0]==$Trainer.character_ID &&
|
||||||
$game_player.charsetData[1]==charset &&
|
$game_player.charsetData[1]==charset &&
|
||||||
$game_player.charsetData[2]==outfit
|
$game_player.charsetData[2]==outfit
|
||||||
end
|
end
|
||||||
$game_player.charsetData = [$PokemonGlobal.playerID,charset,outfit] if $game_player
|
$game_player.charsetData = [$Trainer.character_ID,charset,outfit] if $game_player
|
||||||
ret = meta[charset]
|
ret = meta[charset]
|
||||||
ret = meta[1] if !ret || ret==""
|
ret = meta[1] if !ret || ret==""
|
||||||
if pbResolveBitmap("Graphics/Characters/"+ret+"_"+outfit.to_s)
|
if pbResolveBitmap("Graphics/Characters/"+ret+"_"+outfit.to_s)
|
||||||
@@ -431,7 +431,7 @@ def pbGetPlayerCharset(meta,charset,trainer=nil,force=false)
|
|||||||
end
|
end
|
||||||
|
|
||||||
def pbUpdateVehicle
|
def pbUpdateVehicle
|
||||||
meta = GameData::Metadata.get_player($PokemonGlobal.playerID)
|
meta = GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
if meta
|
if meta
|
||||||
charset = 1 # Regular graphic
|
charset = 1 # Regular graphic
|
||||||
if $PokemonGlobal.diving; charset = 5 # Diving graphic
|
if $PokemonGlobal.diving; charset = 5 # Diving graphic
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ class Game_Player < Game_Character
|
|||||||
def character_name
|
def character_name
|
||||||
@defaultCharacterName = "" if !@defaultCharacterName
|
@defaultCharacterName = "" if !@defaultCharacterName
|
||||||
return @defaultCharacterName if @defaultCharacterName!=""
|
return @defaultCharacterName if @defaultCharacterName!=""
|
||||||
if !@move_route_forcing && $PokemonGlobal.playerID>=0
|
if !@move_route_forcing && $Trainer.character_ID>=0
|
||||||
meta = GameData::Metadata.get_player($PokemonGlobal.playerID)
|
meta = GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
if meta && !$PokemonGlobal.bicycle && !$PokemonGlobal.diving && !$PokemonGlobal.surfing
|
if meta && !$PokemonGlobal.bicycle && !$PokemonGlobal.diving && !$PokemonGlobal.surfing
|
||||||
charset = 1 # Display normal character sprite
|
charset = 1 # Display normal character sprite
|
||||||
if pbCanRun? && (moving? || @wasmoving) && Input.dir4!=0 && meta[4] && meta[4]!=""
|
if pbCanRun? && (moving? || @wasmoving) && Input.dir4!=0 && meta[4] && meta[4]!=""
|
||||||
|
|||||||
@@ -750,7 +750,7 @@ class PokemonEntryScene
|
|||||||
addBackgroundPlane(@sprites,"background","Naming/bg_2",@viewport)
|
addBackgroundPlane(@sprites,"background","Naming/bg_2",@viewport)
|
||||||
case subject
|
case subject
|
||||||
when 1 # Player
|
when 1 # Player
|
||||||
meta=GameData::Metadata.get_player($PokemonGlobal.playerID)
|
meta=GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
if meta
|
if meta
|
||||||
@sprites["shadow"]=IconSprite.new(0,0,@viewport)
|
@sprites["shadow"]=IconSprite.new(0,0,@viewport)
|
||||||
@sprites["shadow"].setBitmap("Graphics/Pictures/Naming/icon_shadow")
|
@sprites["shadow"].setBitmap("Graphics/Pictures/Naming/icon_shadow")
|
||||||
@@ -1028,7 +1028,7 @@ class PokemonEntryScene2
|
|||||||
@sprites["bg"].setBitmap("Graphics/Pictures/Naming/bg")
|
@sprites["bg"].setBitmap("Graphics/Pictures/Naming/bg")
|
||||||
case subject
|
case subject
|
||||||
when 1 # Player
|
when 1 # Player
|
||||||
meta=GameData::Metadata.get_player($PokemonGlobal.playerID)
|
meta=GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
if meta
|
if meta
|
||||||
@sprites["shadow"]=IconSprite.new(0,0,@viewport)
|
@sprites["shadow"]=IconSprite.new(0,0,@viewport)
|
||||||
@sprites["shadow"].setBitmap("Graphics/Pictures/Naming/icon_shadow")
|
@sprites["shadow"].setBitmap("Graphics/Pictures/Naming/icon_shadow")
|
||||||
|
|||||||
@@ -780,7 +780,7 @@ module Transitions
|
|||||||
when 2 then k = @numtiles-1-(i*cx+(cx-1-j)) # Bottom left
|
when 2 then k = @numtiles-1-(i*cx+(cx-1-j)) # Bottom left
|
||||||
when 3 then k = @numtiles-1-k # Bottom right
|
when 3 then k = @numtiles-1-k # Bottom right
|
||||||
end
|
end
|
||||||
@frame[k] = ((0.6*j*width+0.8*i*height)*(@numframes/50)/l).floor
|
@frame[k] = ((0.6*j*width+0.8*i*height)*(@numframes/50.0)/l).floor
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@addzoom = 0.125*50/@numframes
|
@addzoom = 0.125*50/@numframes
|
||||||
@@ -876,7 +876,7 @@ module Transitions
|
|||||||
@bubblesuby = @height*2/@numframes
|
@bubblesuby = @height*2/@numframes
|
||||||
@splashsuby = @bubblesuby*2
|
@splashsuby = @bubblesuby*2
|
||||||
@blacksuby = @height/(@numframes*0.1).floor
|
@blacksuby = @height/(@numframes*0.1).floor
|
||||||
@angmult = 2/(@numframes/50)
|
@angmult = 2/(@numframes/50.0)
|
||||||
end
|
end
|
||||||
|
|
||||||
def disposed?; @disposed; end
|
def disposed?; @disposed; end
|
||||||
@@ -1384,7 +1384,7 @@ module Transitions
|
|||||||
@ballsprites[i].bitmap = @ballbitmap
|
@ballsprites[i].bitmap = @ballbitmap
|
||||||
end
|
end
|
||||||
@suby = (@height*3.5)/(@numframes*0.6)
|
@suby = (@height*3.5)/(@numframes*0.6)
|
||||||
@angmult = 4/(@numframes/50)
|
@angmult = 4/(@numframes/50.0)
|
||||||
end
|
end
|
||||||
|
|
||||||
def disposed?; @disposed; end
|
def disposed?; @disposed; end
|
||||||
@@ -1484,7 +1484,7 @@ module Transitions
|
|||||||
@blacksprite.oy = @blackbitmap.height/2
|
@blacksprite.oy = @blackbitmap.height/2
|
||||||
@blacksprite.visible = false
|
@blacksprite.visible = false
|
||||||
@blacksprite.bitmap = @blackbitmap
|
@blacksprite.bitmap = @blackbitmap
|
||||||
@angmult = 4/(@numframes/50)
|
@angmult = 4/(@numframes/50.0)
|
||||||
end
|
end
|
||||||
|
|
||||||
def disposed?; @disposed; end
|
def disposed?; @disposed; end
|
||||||
|
|||||||
@@ -65,8 +65,16 @@ class PokeBattle_Move
|
|||||||
tTypes = target.pbTypes(true)
|
tTypes = target.pbTypes(true)
|
||||||
# Get effectivenesses
|
# Get effectivenesses
|
||||||
typeMods = [Effectiveness::NORMAL_EFFECTIVE_ONE] * 3 # 3 types max
|
typeMods = [Effectiveness::NORMAL_EFFECTIVE_ONE] * 3 # 3 types max
|
||||||
tTypes.each_with_index do |type,i|
|
if moveType == :SHADOW
|
||||||
typeMods[i] = pbCalcTypeModSingle(moveType,type,user,target)
|
if target.shadowPokemon?
|
||||||
|
typeMods[0] = Effectiveness::NOT_VERY_EFFECTIVE_ONE
|
||||||
|
else
|
||||||
|
typeMods[0] = Effectiveness::SUPER_EFFECTIVE_ONE
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tTypes.each_with_index do |type,i|
|
||||||
|
typeMods[i] = pbCalcTypeModSingle(moveType,type,user,target)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
# Multiply all effectivenesses together
|
# Multiply all effectivenesses together
|
||||||
ret = 1
|
ret = 1
|
||||||
|
|||||||
@@ -1649,7 +1649,8 @@ class PokeBattle_Move_14E < PokeBattle_TwoTurnMove
|
|||||||
@battle.pbDisplay(_INTL("{1} is absorbing power!",user.pbThis))
|
@battle.pbDisplay(_INTL("{1} is absorbing power!",user.pbThis))
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbAttackingTurnEffect(user,target)
|
def pbEffectGeneral(user)
|
||||||
|
return if !@damagingTurn
|
||||||
showAnim = true
|
showAnim = true
|
||||||
[:SPECIAL_ATTACK,:SPECIAL_DEFENSE,:SPEED].each do |s|
|
[:SPECIAL_ATTACK,:SPECIAL_DEFENSE,:SPEED].each do |s|
|
||||||
next if !user.pbCanRaiseStatStage?(s,user,self)
|
next if !user.pbCanRaiseStatStage?(s,user,self)
|
||||||
|
|||||||
@@ -131,10 +131,8 @@ module PokeBattle_BattleCommon
|
|||||||
battler.captured = false
|
battler.captured = false
|
||||||
end
|
end
|
||||||
battler.pbReset
|
battler.pbReset
|
||||||
if trainerBattle?
|
if pbAllFainted?(battler.index)
|
||||||
@decision = 1 if pbAllFainted?(battler.index)
|
@decision = (trainerBattle?) ? 1 : 4 # Battle ended by win/capture
|
||||||
else
|
|
||||||
@decision = 4 if pbAllFainted?(battler.index) # Battle ended by capture
|
|
||||||
end
|
end
|
||||||
# Modify the Pokémon's properties because of the capture
|
# Modify the Pokémon's properties because of the capture
|
||||||
if GameData::Item.get(ball).is_snag_ball?
|
if GameData::Item.get(ball).is_snag_ball?
|
||||||
|
|||||||
@@ -60,8 +60,16 @@ class PokeBattle_AI
|
|||||||
tTypes = target.pbTypes(true)
|
tTypes = target.pbTypes(true)
|
||||||
# Get effectivenesses
|
# Get effectivenesses
|
||||||
typeMods = [Effectiveness::NORMAL_EFFECTIVE_ONE] * 3 # 3 types max
|
typeMods = [Effectiveness::NORMAL_EFFECTIVE_ONE] * 3 # 3 types max
|
||||||
tTypes.each_with_index do |type,i|
|
if moveType == :SHADOW
|
||||||
typeMods[i] = pbCalcTypeModSingle(moveType,type,user,target)
|
if target.shadowPokemon?
|
||||||
|
typeMods[0] = Effectiveness::NOT_VERY_EFFECTIVE_ONE
|
||||||
|
else
|
||||||
|
typeMods[0] = Effectiveness::SUPER_EFFECTIVE_ONE
|
||||||
|
end
|
||||||
|
else
|
||||||
|
tTypes.each_with_index do |type,i|
|
||||||
|
typeMods[i] = pbCalcTypeModSingle(moveType,type,user,target)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
# Multiply all effectivenesses together
|
# Multiply all effectivenesses together
|
||||||
ret = 1
|
ret = 1
|
||||||
|
|||||||
@@ -409,7 +409,7 @@ class PokeBattle_Scene
|
|||||||
return anim if anim
|
return anim if anim
|
||||||
# Actual animation not found, get the default animation for the move's type
|
# Actual animation not found, get the default animation for the move's type
|
||||||
moveData = GameData::Move.get(moveID)
|
moveData = GameData::Move.get(moveID)
|
||||||
target_data = moveData.pbTarget(@battle.battlers[idxUser])
|
target_data = GameData::Target.get(moveData.target)
|
||||||
moveType = moveData.type
|
moveType = moveData.type
|
||||||
moveKind = moveData.category
|
moveKind = moveData.category
|
||||||
moveKind += 3 if target_data.num_targets > 1 || target_data.affects_foe_side
|
moveKind += 3 if target_data.num_targets > 1 || target_data.affects_foe_side
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ class PokemonGlobalMetadata
|
|||||||
# Player data
|
# Player data
|
||||||
attr_accessor :startTime
|
attr_accessor :startTime
|
||||||
attr_accessor :stepcount
|
attr_accessor :stepcount
|
||||||
attr_accessor :playerID
|
|
||||||
attr_accessor :pcItemStorage
|
attr_accessor :pcItemStorage
|
||||||
attr_accessor :mailbox
|
attr_accessor :mailbox
|
||||||
attr_accessor :phoneNumbers
|
attr_accessor :phoneNumbers
|
||||||
@@ -66,7 +65,6 @@ class PokemonGlobalMetadata
|
|||||||
# Player data
|
# Player data
|
||||||
@startTime = Time.now
|
@startTime = Time.now
|
||||||
@stepcount = 0
|
@stepcount = 0
|
||||||
@playerID = -1
|
|
||||||
@pcItemStorage = nil
|
@pcItemStorage = nil
|
||||||
@mailbox = nil
|
@mailbox = nil
|
||||||
@phoneNumbers = []
|
@phoneNumbers = []
|
||||||
@@ -114,6 +112,22 @@ class PokemonGlobalMetadata
|
|||||||
@safesave = false
|
@safesave = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @deprecated Use {Player#character_ID} instead. This alias is slated to be removed in v20.
|
||||||
|
def playerID
|
||||||
|
Deprecation.warn_method('PokemonGlobalMetadata#playerID', 'v20', '$Trainer.character_ID')
|
||||||
|
return @playerID || $Trainer.character_ID
|
||||||
|
end
|
||||||
|
|
||||||
|
# @deprecated Use {Player#character_ID=} instead. This alias is slated to be removed in v20.
|
||||||
|
def playerID=(value)
|
||||||
|
Deprecation.warn_method('PokemonGlobalMetadata#playerID=', 'v20', '$Trainer.character_ID=')
|
||||||
|
if value.nil?
|
||||||
|
@playerID = value # For setting to nil by a save data conversion
|
||||||
|
else
|
||||||
|
$Trainer.character_ID = value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# @deprecated Use {Player#coins} instead. This alias is slated to be removed in v20.
|
# @deprecated Use {Player#coins} instead. This alias is slated to be removed in v20.
|
||||||
def coins
|
def coins
|
||||||
Deprecation.warn_method('PokemonGlobalMetadata#coins', 'v20', '$Trainer.coins')
|
Deprecation.warn_method('PokemonGlobalMetadata#coins', 'v20', '$Trainer.coins')
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ def pbFishingBegin
|
|||||||
$PokemonGlobal.fishing = true
|
$PokemonGlobal.fishing = true
|
||||||
if !pbCommonEvent(Settings::FISHING_BEGIN_COMMON_EVENT)
|
if !pbCommonEvent(Settings::FISHING_BEGIN_COMMON_EVENT)
|
||||||
patternb = 2*$game_player.direction - 1
|
patternb = 2*$game_player.direction - 1
|
||||||
meta = GameData::Metadata.get_player($PokemonGlobal.playerID)
|
meta = GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
num = ($PokemonGlobal.surfing) ? 7 : 6
|
num = ($PokemonGlobal.surfing) ? 7 : 6
|
||||||
if meta && meta[num] && meta[num]!=""
|
if meta && meta[num] && meta[num]!=""
|
||||||
charset = pbGetPlayerCharset(meta,num)
|
charset = pbGetPlayerCharset(meta,num)
|
||||||
@@ -24,7 +24,7 @@ end
|
|||||||
def pbFishingEnd
|
def pbFishingEnd
|
||||||
if !pbCommonEvent(Settings::FISHING_END_COMMON_EVENT)
|
if !pbCommonEvent(Settings::FISHING_END_COMMON_EVENT)
|
||||||
patternb = 2*($game_player.direction - 2)
|
patternb = 2*($game_player.direction - 2)
|
||||||
meta = GameData::Metadata.get_player($PokemonGlobal.playerID)
|
meta = GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
num = ($PokemonGlobal.surfing) ? 7 : 6
|
num = ($PokemonGlobal.surfing) ? 7 : 6
|
||||||
if meta && meta[num] && meta[num]!=""
|
if meta && meta[num] && meta[num]!=""
|
||||||
charset = pbGetPlayerCharset(meta,num)
|
charset = pbGetPlayerCharset(meta,num)
|
||||||
|
|||||||
@@ -40,8 +40,6 @@ class Trainer
|
|||||||
def gender; return GameData::TrainerType.get(@trainer_type).gender; end
|
def gender; return GameData::TrainerType.get(@trainer_type).gender; end
|
||||||
def male?; return GameData::TrainerType.get(@trainer_type).male?; end
|
def male?; return GameData::TrainerType.get(@trainer_type).male?; end
|
||||||
def female?; return GameData::TrainerType.get(@trainer_type).female?; end
|
def female?; return GameData::TrainerType.get(@trainer_type).female?; end
|
||||||
alias isMale? male?
|
|
||||||
alias isFemale? female?
|
|
||||||
def skill_level; return GameData::TrainerType.get(@trainer_type).skill_level; end
|
def skill_level; return GameData::TrainerType.get(@trainer_type).skill_level; end
|
||||||
def skill_code; return GameData::TrainerType.get(@trainer_type).skill_code; end
|
def skill_code; return GameData::TrainerType.get(@trainer_type).skill_code; end
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
# Trainer class for the player
|
# Trainer class for the player
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
class Player < Trainer
|
class Player < Trainer
|
||||||
# @param value [Integer] new character ID
|
# @return [Integer] the character ID of the player
|
||||||
attr_writer :character_ID
|
attr_accessor :character_ID
|
||||||
# @return [Integer] the player's outfit
|
# @return [Integer] the player's outfit
|
||||||
attr_accessor :outfit
|
attr_accessor :outfit
|
||||||
# @return [Array<Boolean>] the player's Gym Badges (true if owned)
|
# @return [Array<Boolean>] the player's Gym Badges (true if owned)
|
||||||
@@ -38,12 +38,6 @@ class Player < Trainer
|
|||||||
return str
|
return str
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [Integer] the character ID of the player
|
|
||||||
def character_ID
|
|
||||||
@character_ID = $PokemonGlobal.playerID || 0 if !@character_ID
|
|
||||||
return @character_ID
|
|
||||||
end
|
|
||||||
|
|
||||||
# Sets the player's money. It can not exceed {Settings::MAX_MONEY}.
|
# Sets the player's money. It can not exceed {Settings::MAX_MONEY}.
|
||||||
# @param value [Integer] new money value
|
# @param value [Integer] new money value
|
||||||
def money=(value)
|
def money=(value)
|
||||||
@@ -96,7 +90,7 @@ class Player < Trainer
|
|||||||
|
|
||||||
def initialize(name, trainer_type)
|
def initialize(name, trainer_type)
|
||||||
super
|
super
|
||||||
@character_ID = nil
|
@character_ID = -1
|
||||||
@outfit = 0
|
@outfit = 0
|
||||||
@badges = [false] * 8
|
@badges = [false] * 8
|
||||||
@money = Settings::INITIAL_MONEY
|
@money = Settings::INITIAL_MONEY
|
||||||
|
|||||||
@@ -34,11 +34,12 @@ class Player < Trainer
|
|||||||
|
|
||||||
# Sets the given species as seen in the Pokédex.
|
# Sets the given species as seen in the Pokédex.
|
||||||
# @param species [Symbol, GameData::Species] species to set as seen
|
# @param species [Symbol, GameData::Species] species to set as seen
|
||||||
def set_seen(species)
|
# @param should_refresh_dexes [Boolean] whether Dex accessibility should be recalculated
|
||||||
|
def set_seen(species, should_refresh_dexes = true)
|
||||||
species_id = GameData::Species.try_get(species)&.species
|
species_id = GameData::Species.try_get(species)&.species
|
||||||
return if species_id.nil?
|
return if species_id.nil?
|
||||||
@seen[species_id] = true
|
@seen[species_id] = true
|
||||||
self.refresh_accessible_dexes
|
self.refresh_accessible_dexes if should_refresh_dexes
|
||||||
end
|
end
|
||||||
|
|
||||||
# @param species [Symbol, GameData::Species] species to check
|
# @param species [Symbol, GameData::Species] species to check
|
||||||
@@ -116,11 +117,12 @@ class Player < Trainer
|
|||||||
|
|
||||||
# Sets the given species as owned in the Pokédex.
|
# Sets the given species as owned in the Pokédex.
|
||||||
# @param species [Symbol, GameData::Species] species to set as owned
|
# @param species [Symbol, GameData::Species] species to set as owned
|
||||||
def set_owned(species)
|
# @param should_refresh_dexes [Boolean] whether Dex accessibility should be recalculated
|
||||||
|
def set_owned(species, should_refresh_dexes = true)
|
||||||
species_id = GameData::Species.try_get(species)&.species
|
species_id = GameData::Species.try_get(species)&.species
|
||||||
return if species_id.nil?
|
return if species_id.nil?
|
||||||
@owned[species_id] = true
|
@owned[species_id] = true
|
||||||
self.refresh_accessible_dexes
|
self.refresh_accessible_dexes if should_refresh_dexes
|
||||||
end
|
end
|
||||||
|
|
||||||
# Sets the given species as owned in the Pokédex.
|
# Sets the given species as owned in the Pokédex.
|
||||||
@@ -162,7 +164,7 @@ class Player < Trainer
|
|||||||
# @param pkmn [Pokemon, Symbol, GameData::Species] Pokemon to register as seen
|
# @param pkmn [Pokemon, Symbol, GameData::Species] Pokemon to register as seen
|
||||||
# @param gender [Integer] gender to register (0=male, 1=female, 2=genderless)
|
# @param gender [Integer] gender to register (0=male, 1=female, 2=genderless)
|
||||||
# @param form [Integer] form to register
|
# @param form [Integer] form to register
|
||||||
def register(species, gender = 0, form = 0)
|
def register(species, gender = 0, form = 0, should_refresh_dexes = true)
|
||||||
if species.is_a?(Pokemon)
|
if species.is_a?(Pokemon)
|
||||||
species_data = species.species_data
|
species_data = species.species_data
|
||||||
gender = species.gender
|
gender = species.gender
|
||||||
@@ -183,7 +185,7 @@ class Player < Trainer
|
|||||||
@seen_forms[species][gender][form] = true
|
@seen_forms[species][gender][form] = true
|
||||||
@last_seen_forms[species] ||= []
|
@last_seen_forms[species] ||= []
|
||||||
@last_seen_forms[species] = [gender, form] if @last_seen_forms[species] == []
|
@last_seen_forms[species] = [gender, form] if @last_seen_forms[species] == []
|
||||||
self.refresh_accessible_dexes
|
self.refresh_accessible_dexes if should_refresh_dexes
|
||||||
end
|
end
|
||||||
|
|
||||||
# @param pkmn [Pokemon] Pokemon to register as most recently seen
|
# @param pkmn [Pokemon] Pokemon to register as most recently seen
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ class Trainer
|
|||||||
deprecated_method_alias :secretID, :secret_ID, removal_in: 'v20'
|
deprecated_method_alias :secretID, :secret_ID, removal_in: 'v20'
|
||||||
deprecated_method_alias :getForeignID, :make_foreign_ID, removal_in: 'v20'
|
deprecated_method_alias :getForeignID, :make_foreign_ID, removal_in: 'v20'
|
||||||
deprecated_method_alias :trainerTypeName, :trainer_type_name, removal_in: 'v20'
|
deprecated_method_alias :trainerTypeName, :trainer_type_name, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isMale?, :male?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isFemale?, :female?, removal_in: 'v20'
|
||||||
deprecated_method_alias :moneyEarned, :base_money, removal_in: 'v20'
|
deprecated_method_alias :moneyEarned, :base_money, removal_in: 'v20'
|
||||||
deprecated_method_alias :skill, :skill_level, removal_in: 'v20'
|
deprecated_method_alias :skill, :skill_level, removal_in: 'v20'
|
||||||
deprecated_method_alias :skillCode, :skill_code, removal_in: 'v20'
|
deprecated_method_alias :skillCode, :skill_code, removal_in: 'v20'
|
||||||
@@ -75,6 +77,7 @@ class Player < Trainer
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# @deprecated Use {Player} instead. PokeBattle_Trainer is slated to be removed in v20.
|
||||||
class PokeBattle_Trainer
|
class PokeBattle_Trainer
|
||||||
attr_reader :trainertype, :name, :id, :metaID, :outfit, :language
|
attr_reader :trainertype, :name, :id, :metaID, :outfit, :language
|
||||||
attr_reader :party, :badges, :money
|
attr_reader :party, :badges, :money
|
||||||
|
|||||||
@@ -142,10 +142,6 @@ class Pokemon
|
|||||||
$Trainer.pokedex.register(self)
|
$Trainer.pokedex.register(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
def setForm(value)
|
|
||||||
self.form = value
|
|
||||||
end
|
|
||||||
|
|
||||||
def form_simple=(value)
|
def form_simple=(value)
|
||||||
@form = value
|
@form = value
|
||||||
calc_stats
|
calc_stats
|
||||||
@@ -183,7 +179,6 @@ class Pokemon
|
|||||||
def egg?
|
def egg?
|
||||||
return @steps_to_hatch > 0
|
return @steps_to_hatch > 0
|
||||||
end
|
end
|
||||||
alias isEgg? egg?
|
|
||||||
|
|
||||||
# @return [GameData::GrowthRate] this Pokémon's growth rate
|
# @return [GameData::GrowthRate] this Pokémon's growth rate
|
||||||
def growth_rate
|
def growth_rate
|
||||||
@@ -232,13 +227,11 @@ class Pokemon
|
|||||||
def able?
|
def able?
|
||||||
return !egg? && @hp > 0
|
return !egg? && @hp > 0
|
||||||
end
|
end
|
||||||
alias isAble? able?
|
|
||||||
|
|
||||||
# @return [Boolean] whether the Pokémon is fainted
|
# @return [Boolean] whether the Pokémon is fainted
|
||||||
def fainted?
|
def fainted?
|
||||||
return !egg? && @hp <= 0
|
return !egg? && @hp <= 0
|
||||||
end
|
end
|
||||||
alias isFainted? fainted?
|
|
||||||
|
|
||||||
# Heals all HP of this Pokémon.
|
# Heals all HP of this Pokémon.
|
||||||
def heal_HP
|
def heal_HP
|
||||||
@@ -339,15 +332,12 @@ class Pokemon
|
|||||||
|
|
||||||
# @return [Boolean] whether this Pokémon is male
|
# @return [Boolean] whether this Pokémon is male
|
||||||
def male?; return self.gender == 0; end
|
def male?; return self.gender == 0; end
|
||||||
alias isMale? male?
|
|
||||||
|
|
||||||
# @return [Boolean] whether this Pokémon is female
|
# @return [Boolean] whether this Pokémon is female
|
||||||
def female?; return self.gender == 1; end
|
def female?; return self.gender == 1; end
|
||||||
alias isFemale? female?
|
|
||||||
|
|
||||||
# @return [Boolean] whether this Pokémon is genderless
|
# @return [Boolean] whether this Pokémon is genderless
|
||||||
def genderless?; return self.gender == 2; end
|
def genderless?; return self.gender == 2; end
|
||||||
alias isGenderless? genderless?
|
|
||||||
|
|
||||||
# @return [Boolean] whether this Pokémon species is restricted to only ever being one
|
# @return [Boolean] whether this Pokémon species is restricted to only ever being one
|
||||||
# gender (or genderless)
|
# gender (or genderless)
|
||||||
@@ -355,7 +345,6 @@ class Pokemon
|
|||||||
gender_ratio = species_data.gender_ratio
|
gender_ratio = species_data.gender_ratio
|
||||||
return [:AlwaysMale, :AlwaysFemale, :Genderless].include?(gender_ratio)
|
return [:AlwaysMale, :AlwaysFemale, :Genderless].include?(gender_ratio)
|
||||||
end
|
end
|
||||||
alias isSingleGendered? singleGendered?
|
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Shininess
|
# Shininess
|
||||||
@@ -372,7 +361,6 @@ class Pokemon
|
|||||||
end
|
end
|
||||||
return @shiny
|
return @shiny
|
||||||
end
|
end
|
||||||
alias isShiny? shiny?
|
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Ability
|
# Ability
|
||||||
@@ -516,7 +504,8 @@ class Pokemon
|
|||||||
# an item at all
|
# an item at all
|
||||||
def hasItem?(check_item = nil)
|
def hasItem?(check_item = nil)
|
||||||
return !@item.nil? if check_item.nil?
|
return !@item.nil? if check_item.nil?
|
||||||
return self.item == check_item
|
held_item = self.item
|
||||||
|
return held_item && held_item == check_item
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [Array<Symbol>] the items this species can be found holding in the wild
|
# @return [Array<Symbol>] the items this species can be found holding in the wild
|
||||||
@@ -557,7 +546,6 @@ class Pokemon
|
|||||||
return false if !move_data
|
return false if !move_data
|
||||||
return @moves.any? { |m| m.id == move_data.id }
|
return @moves.any? { |m| m.id == move_data.id }
|
||||||
end
|
end
|
||||||
alias knowsMove? hasMove?
|
|
||||||
|
|
||||||
# Returns the list of moves this Pokémon can learn by levelling up.
|
# Returns the list of moves this Pokémon can learn by levelling up.
|
||||||
# @return [Array<Array<Integer,Symbol>>] this Pokémon's move list, where every element is [level, move ID]
|
# @return [Array<Array<Integer,Symbol>>] this Pokémon's move list, where every element is [level, move ID]
|
||||||
@@ -786,7 +774,6 @@ class Pokemon
|
|||||||
def foreign?(trainer)
|
def foreign?(trainer)
|
||||||
return @owner.id != trainer.id || @owner.name != trainer.name
|
return @owner.id != trainer.id || @owner.name != trainer.name
|
||||||
end
|
end
|
||||||
alias isForeign? foreign?
|
|
||||||
|
|
||||||
# @return [Time] the time when this Pokémon was obtained
|
# @return [Time] the time when this Pokémon was obtained
|
||||||
def timeReceived
|
def timeReceived
|
||||||
|
|||||||
@@ -63,12 +63,13 @@ class Pokemon
|
|||||||
end
|
end
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Move objects known by Pokémon.
|
# Legacy move object known by Pokémon.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
# @deprecated Use {Pokemon#Move} instead. PBMove is slated to be removed in v20.
|
||||||
class PBMove
|
class PBMove
|
||||||
attr_reader :id, :pp, :ppup
|
attr_reader :id, :pp, :ppup
|
||||||
|
|
||||||
def self.copy(move)
|
def self.convert(move)
|
||||||
ret = Pokemon::Move.new(move.id)
|
ret = Pokemon::Move.new(move.id)
|
||||||
ret.ppup = move.ppup
|
ret.ppup = move.ppup
|
||||||
ret.pp = move.pp
|
ret.pp = move.pp
|
||||||
|
|||||||
@@ -3,8 +3,7 @@
|
|||||||
# These will be removed in a future Essentials version.
|
# These will be removed in a future Essentials version.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
||||||
# @deprecated Use {Pokemon} instead. PokeBattle_Pokemon is slated to be removed
|
# @deprecated Use {Pokemon} instead. PokeBattle_Pokemon is slated to be removed in v20.
|
||||||
# in v20.
|
|
||||||
class PokeBattle_Pokemon
|
class PokeBattle_Pokemon
|
||||||
attr_reader :name, :species, :form, :formTime, :forcedForm, :fused
|
attr_reader :name, :species, :form, :formTime, :forcedForm, :fused
|
||||||
attr_reader :personalID, :exp, :hp, :status, :statusCount
|
attr_reader :personalID, :exp, :hp, :status, :statusCount
|
||||||
@@ -42,7 +41,7 @@ class PokeBattle_Pokemon
|
|||||||
ret.nature_for_stats = pkmn.natureOverride
|
ret.nature_for_stats = pkmn.natureOverride
|
||||||
ret.item = pkmn.item
|
ret.item = pkmn.item
|
||||||
ret.mail = PokemonMail.convert(pkmn.mail) if pkmn.mail
|
ret.mail = PokemonMail.convert(pkmn.mail) if pkmn.mail
|
||||||
pkmn.moves.each { |m| ret.moves.push(PBMove.copy(m)) if m && m.id > 0 }
|
pkmn.moves.each { |m| ret.moves.push(PBMove.convert(m)) if m && m.id > 0 }
|
||||||
if pkmn.firstmoves
|
if pkmn.firstmoves
|
||||||
pkmn.firstmoves.each { |m| ret.add_first_move(m) }
|
pkmn.firstmoves.each { |m| ret.add_first_move(m) }
|
||||||
end
|
end
|
||||||
@@ -168,12 +167,21 @@ class Pokemon
|
|||||||
self.shiny = false
|
self.shiny = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
deprecated_method_alias :isEgg?, :egg?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isAble?, :able?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isFainted?, :fainted?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isShiny?, :shiny?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :setForm, :form=, removal_in: 'v20'
|
||||||
deprecated_method_alias :setGender, :gender=, removal_in: 'v20'
|
deprecated_method_alias :setGender, :gender=, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isMale?, :male?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isFemale?, :female?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isGenderless?, :genderless?, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isSingleGendered?, :singleGendered?, removal_in: 'v20'
|
||||||
deprecated_method_alias :setAbility, :ability_index=, removal_in: 'v20'
|
deprecated_method_alias :setAbility, :ability_index=, removal_in: 'v20'
|
||||||
deprecated_method_alias :setNature, :nature=, removal_in: 'v20'
|
deprecated_method_alias :setNature, :nature=, removal_in: 'v20'
|
||||||
deprecated_method_alias :setItem, :item=, removal_in: 'v20'
|
deprecated_method_alias :setItem, :item=, removal_in: 'v20'
|
||||||
|
|
||||||
deprecated_method_alias :healStatus, :heal_status, removal_in: 'v20'
|
deprecated_method_alias :healStatus, :heal_status, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :knowsMove?, :hasMove?, removal_in: 'v20'
|
||||||
deprecated_method_alias :resetMoves, :reset_moves, removal_in: 'v20'
|
deprecated_method_alias :resetMoves, :reset_moves, removal_in: 'v20'
|
||||||
deprecated_method_alias :pbLearnMove, :learn_move, removal_in: 'v20'
|
deprecated_method_alias :pbLearnMove, :learn_move, removal_in: 'v20'
|
||||||
deprecated_method_alias :pbDeleteMove, :forget_move, removal_in: 'v20'
|
deprecated_method_alias :pbDeleteMove, :forget_move, removal_in: 'v20'
|
||||||
@@ -183,6 +191,7 @@ class Pokemon
|
|||||||
deprecated_method_alias :pbRemoveFirstMove, :remove_first_move, removal_in: 'v20'
|
deprecated_method_alias :pbRemoveFirstMove, :remove_first_move, removal_in: 'v20'
|
||||||
deprecated_method_alias :pbClearFirstMoves, :clear_first_moves, removal_in: 'v20'
|
deprecated_method_alias :pbClearFirstMoves, :clear_first_moves, removal_in: 'v20'
|
||||||
deprecated_method_alias :pbUpdateShadowMoves, :update_shadow_moves, removal_in: 'v20'
|
deprecated_method_alias :pbUpdateShadowMoves, :update_shadow_moves, removal_in: 'v20'
|
||||||
|
deprecated_method_alias :isForeign?, :foreign?, removal_in: 'v20'
|
||||||
deprecated_method_alias :calcStats, :calc_stats, removal_in: 'v20'
|
deprecated_method_alias :calcStats, :calc_stats, removal_in: 'v20'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -206,8 +206,9 @@ end
|
|||||||
#===============================================================================
|
#===============================================================================
|
||||||
# Player-related utilities, random name generator
|
# Player-related utilities, random name generator
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
# Unused
|
||||||
def pbGetPlayerGraphic
|
def pbGetPlayerGraphic
|
||||||
id = $PokemonGlobal.playerID
|
id = $Trainer.character_ID
|
||||||
return "" if id < 0 || id >= 8
|
return "" if id < 0 || id >= 8
|
||||||
meta = GameData::Metadata.get_player(id)
|
meta = GameData::Metadata.get_player(id)
|
||||||
return "" if !meta
|
return "" if !meta
|
||||||
@@ -222,28 +223,24 @@ def pbChangePlayer(id)
|
|||||||
return false if id < 0 || id >= 8
|
return false if id < 0 || id >= 8
|
||||||
meta = GameData::Metadata.get_player(id)
|
meta = GameData::Metadata.get_player(id)
|
||||||
return false if !meta
|
return false if !meta
|
||||||
$Trainer.trainer_type = meta[0] if $Trainer
|
$Trainer.character_ID = id
|
||||||
|
$Trainer.trainer_type = meta[0]
|
||||||
$game_player.character_name = meta[1]
|
$game_player.character_name = meta[1]
|
||||||
$PokemonGlobal.playerID = id
|
|
||||||
$Trainer.character_ID = id if $Trainer
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def pbTrainerName(name = nil, outfit = 0)
|
def pbTrainerName(name = nil, outfit = 0)
|
||||||
pbChangePlayer(0) if $PokemonGlobal.playerID < 0
|
pbChangePlayer(0) if $Trainer.character_ID < 0
|
||||||
player_metadata = GameData::Metadata.get_player($PokemonGlobal.playerID)
|
|
||||||
trainer_type = (player_metadata) ? player_metadata[0] : nil
|
|
||||||
$Trainer = Player.new(name, trainer_type)
|
|
||||||
$Trainer.outfit = outfit
|
|
||||||
$Trainer.character_ID = $PokemonGlobal.playerID
|
|
||||||
if name.nil?
|
if name.nil?
|
||||||
name = pbEnterPlayerName(_INTL("Your name?"), 0, Settings::MAX_PLAYER_NAME_SIZE)
|
name = pbEnterPlayerName(_INTL("Your name?"), 0, Settings::MAX_PLAYER_NAME_SIZE)
|
||||||
if name.nil? || name.empty?
|
if name.nil? || name.empty?
|
||||||
|
player_metadata = GameData::Metadata.get_player($Trainer.character_ID)
|
||||||
|
trainer_type = (player_metadata) ? player_metadata[0] : nil
|
||||||
gender = pbGetTrainerTypeGender(trainer_type)
|
gender = pbGetTrainerTypeGender(trainer_type)
|
||||||
name = pbSuggestTrainerName(gender)
|
name = pbSuggestTrainerName(gender)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
$Trainer.name = name
|
$Trainer.name = name
|
||||||
$PokemonBag = PokemonBag.new
|
$Trainer.outfit = outfit
|
||||||
$PokemonTemp.begunNewGame = true
|
$PokemonTemp.begunNewGame = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -610,17 +610,17 @@ DebugMenuCommands.register("fillboxes", {
|
|||||||
if f == 0
|
if f == 0
|
||||||
if [:AlwaysMale, :AlwaysFemale, :Genderless].include?(species_data.gender_ratio)
|
if [:AlwaysMale, :AlwaysFemale, :Genderless].include?(species_data.gender_ratio)
|
||||||
g = (species_data.gender_ratio == :AlwaysFemale) ? 1 : 0
|
g = (species_data.gender_ratio == :AlwaysFemale) ? 1 : 0
|
||||||
$Trainer.pokedex.register(sp, g, f)
|
$Trainer.pokedex.register(sp, g, f, false)
|
||||||
else # Both male and female
|
else # Both male and female
|
||||||
$Trainer.pokedex.register(sp, 0, f)
|
$Trainer.pokedex.register(sp, 0, f, false)
|
||||||
$Trainer.pokedex.register(sp, 1, f)
|
$Trainer.pokedex.register(sp, 1, f, false)
|
||||||
end
|
end
|
||||||
$Trainer.pokedex.set_owned(sp)
|
$Trainer.pokedex.set_owned(sp, false)
|
||||||
elsif species_data.real_form_name && !species_data.real_form_name.empty?
|
elsif species_data.real_form_name && !species_data.real_form_name.empty?
|
||||||
g = (species_data.gender_ratio == :AlwaysFemale) ? 1 : 0
|
g = (species_data.gender_ratio == :AlwaysFemale) ? 1 : 0
|
||||||
$Trainer.pokedex.register(sp, g, f)
|
$Trainer.pokedex.register(sp, g, f, false)
|
||||||
end
|
end
|
||||||
# Add Pokémon (if form 0)
|
# Add Pokémon (if form 0, i.e. one of each species)
|
||||||
next if f != 0
|
next if f != 0
|
||||||
if added >= Settings::NUM_STORAGE_BOXES * box_qty
|
if added >= Settings::NUM_STORAGE_BOXES * box_qty
|
||||||
completed = false
|
completed = false
|
||||||
@@ -629,6 +629,7 @@ DebugMenuCommands.register("fillboxes", {
|
|||||||
added += 1
|
added += 1
|
||||||
$PokemonStorage[(added - 1) / box_qty, (added - 1) % box_qty] = Pokemon.new(sp, 50)
|
$PokemonStorage[(added - 1) / box_qty, (added - 1) % box_qty] = Pokemon.new(sp, 50)
|
||||||
end
|
end
|
||||||
|
$Trainer.pokedex.refresh_accessible_dexes
|
||||||
pbMessage(_INTL("Storage boxes were filled with one Pokémon of each species."))
|
pbMessage(_INTL("Storage boxes were filled with one Pokémon of each species."))
|
||||||
if !completed
|
if !completed
|
||||||
pbMessage(_INTL("Note: The number of storage spaces ({1} boxes of {2}) is less than the number of species.",
|
pbMessage(_INTL("Note: The number of storage spaces ({1} boxes of {2}) is less than the number of species.",
|
||||||
@@ -808,9 +809,9 @@ DebugMenuCommands.register("setplayer", {
|
|||||||
else
|
else
|
||||||
params = ChooseNumberParams.new
|
params = ChooseNumberParams.new
|
||||||
params.setRange(0, limit - 1)
|
params.setRange(0, limit - 1)
|
||||||
params.setDefaultValue($PokemonGlobal.playerID)
|
params.setDefaultValue($Trainer.character_ID)
|
||||||
newid = pbMessageChooseNumber(_INTL("Choose the new player character."), params)
|
newid = pbMessageChooseNumber(_INTL("Choose the new player character."), params)
|
||||||
if newid != $PokemonGlobal.playerID
|
if newid != $Trainer.character_ID
|
||||||
pbChangePlayer(newid)
|
pbChangePlayer(newid)
|
||||||
pbMessage(_INTL("The player character was changed."))
|
pbMessage(_INTL("The player character was changed."))
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -308,8 +308,8 @@ def pbDefinePath(canvas)
|
|||||||
for j in 0...4
|
for j in 0...4
|
||||||
curve[j].mouseover
|
curve[j].mouseover
|
||||||
end
|
end
|
||||||
mouse = Mouse::getMousePos(true)
|
mousepos = Mouse::getMousePos(true)
|
||||||
newtext = (mouse) ? sprintf("(%d,%d)",mouse[0],mouse[1]) : "(??,??)"
|
newtext = (mousepos) ? sprintf("(%d,%d)",mousepos[0],mousepos[1]) : "(??,??)"
|
||||||
if window.text!=newtext
|
if window.text!=newtext
|
||||||
window.text=newtext
|
window.text=newtext
|
||||||
end
|
end
|
||||||
@@ -382,7 +382,7 @@ def pbDefinePath(canvas)
|
|||||||
end
|
end
|
||||||
while !canceled
|
while !canceled
|
||||||
mousepos=Mouse::getMousePos(true)
|
mousepos=Mouse::getMousePos(true)
|
||||||
if mouse && !pointpath.isEndPoint?(mousepos[0],mousepos[1])
|
if mousepos && !pointpath.isEndPoint?(mousepos[0],mousepos[1])
|
||||||
pointpath.addPoint(mousepos[0],mousepos[1])
|
pointpath.addPoint(mousepos[0],mousepos[1])
|
||||||
points.push(PointSprite.new(mousepos[0],mousepos[1],canvas.viewport))
|
points.push(PointSprite.new(mousepos[0],mousepos[1],canvas.viewport))
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ module Compiler
|
|||||||
move_descriptions = []
|
move_descriptions = []
|
||||||
# Read each line of moves.txt at a time and compile it into an move
|
# Read each line of moves.txt at a time and compile it into an move
|
||||||
pbCompilerEachPreppedLine("PBS/moves.txt") { |line, line_no|
|
pbCompilerEachPreppedLine("PBS/moves.txt") { |line, line_no|
|
||||||
line = pbGetCsvRecord(line, line_no, [0, "vnssueeuuuyiss",
|
line = pbGetCsvRecord(line, line_no, [0, "vnssueeuuueiss",
|
||||||
nil, nil, nil, nil, nil, :Type, ["Physical", "Special", "Status"],
|
nil, nil, nil, nil, nil, :Type, ["Physical", "Special", "Status"],
|
||||||
nil, nil, nil, :Target, nil, nil, nil
|
nil, nil, nil, :Target, nil, nil, nil
|
||||||
])
|
])
|
||||||
|
|||||||
Reference in New Issue
Block a user