mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Merge branch 'pr/43' into refactor
This commit is contained in:
@@ -77,10 +77,6 @@ class Pokemon
|
||||
attr_accessor :pokerus
|
||||
# @return [Integer] this Pokémon's personal ID
|
||||
attr_accessor :personalID
|
||||
# The 32-bit ID of this Pokémon's trainer. The secret ID is in the
|
||||
# upper 16 bits.
|
||||
# @return [Integer] the ID of this Pokémon's trainer
|
||||
attr_accessor :trainerID
|
||||
# @return [Integer] the manner this Pokémon was obtained:
|
||||
# 0 (met), 1 (as egg), 2 (traded), 4 (fateful encounter)
|
||||
attr_accessor :obtainMode
|
||||
@@ -96,15 +92,6 @@ class Pokemon
|
||||
# Otherwise returns 0.
|
||||
# @return [Integer] the map ID where egg was hatched (0 by default)
|
||||
attr_accessor :hatchedMap
|
||||
# @param value [Integer] new language
|
||||
attr_writer :language
|
||||
# @return [String] the name of the original trainer
|
||||
attr_accessor :ot
|
||||
# Changes the gender of the original trainer. This is for information only,
|
||||
# and is not used to verify ownership of the Pokémon.
|
||||
# @param value [Integer] new value for the original trainer's gender:
|
||||
# 0 - male, 1 - female, 2 - mixed, 3 - unknown
|
||||
attr_writer :otgender
|
||||
# @param value [Integer] new contest stat
|
||||
attr_writer :cool,:beauty,:cute,:smart,:tough,:sheen
|
||||
|
||||
@@ -121,23 +108,25 @@ class Pokemon
|
||||
# Ownership, obtained information
|
||||
#=============================================================================
|
||||
|
||||
# @return [Integer] the public portion of the original trainer's ID
|
||||
def publicID
|
||||
return @trainerID & 0xFFFF
|
||||
# @return [Owner] this Pokémon's owner
|
||||
def owner
|
||||
return @owner
|
||||
end
|
||||
|
||||
# Changes this Pokémon's owner.
|
||||
# @param new_owner [Owner] the owner to change to
|
||||
def owner=(new_owner)
|
||||
validate new_owner => Owner
|
||||
@owner = new_owner
|
||||
end
|
||||
|
||||
# @param trainer [PokeBattle_Trainer] the trainer to compare to the OT
|
||||
# @return [Boolean] whether the given trainer and this Pokémon's original trainer don't match
|
||||
def foreign?(trainer)
|
||||
return @trainerID != trainer.id || @ot != trainer.name
|
||||
return @owner.id != trainer.id || @owner.name != trainer.name
|
||||
end
|
||||
alias isForeign? foreign?
|
||||
|
||||
# @return [0, 1, 2] the gender of this Pokémon original trainer (0 = male, 1 = female, 2 = unknown)
|
||||
def otgender
|
||||
return @otgender || 2
|
||||
end
|
||||
|
||||
# @return [Integer] this Pokémon's level when it was obtained
|
||||
def obtainLevel
|
||||
return @obtainLevel || 0
|
||||
@@ -873,11 +862,6 @@ class Pokemon
|
||||
return @name != self.speciesName
|
||||
end
|
||||
|
||||
# @return [Integer] this Pokémon's language
|
||||
def language
|
||||
return @language || 0
|
||||
end
|
||||
|
||||
# @return [Integer] the markings this Pokémon has
|
||||
def markings
|
||||
return @markings || 0
|
||||
@@ -1051,6 +1035,7 @@ class Pokemon
|
||||
ret.ivMaxed = @ivMaxed.clone
|
||||
ret.ev = @ev.clone
|
||||
ret.moves = []
|
||||
ret.owner = @owner.clone
|
||||
@moves.each_with_index { |m, i| ret.moves[i] = m.clone }
|
||||
ret.ribbons = @ribbons.clone if @ribbons
|
||||
return ret
|
||||
@@ -1059,9 +1044,9 @@ class Pokemon
|
||||
# Creates a new Pokémon object.
|
||||
# @param species [Integer, Symbol, String] Pokémon species
|
||||
# @param level [Integer] Pokémon level
|
||||
# @param owner [PokeBattle_Trainer] object for the original trainer
|
||||
# @param owner [Owner, PokeBattle_Trainer] Pokémon owner (the player by default)
|
||||
# @param withMoves [Boolean] whether the Pokémon should have moves
|
||||
def initialize(species, level, owner = nil, withMoves = true)
|
||||
def initialize(species, level, owner = $Trainer, withMoves = true)
|
||||
ospecies = species.to_s
|
||||
species = getID(PBSpecies, species)
|
||||
cname = getConstantName(PBSpecies, species) rescue nil
|
||||
@@ -1090,15 +1075,12 @@ class Pokemon
|
||||
@ribbons = []
|
||||
@ballused = 0
|
||||
@eggsteps = 0
|
||||
if owner
|
||||
@trainerID = owner.id
|
||||
@ot = owner.name
|
||||
@otgender = owner.gender
|
||||
@language = owner.language
|
||||
if owner.is_a?(Owner)
|
||||
@owner = owner
|
||||
elsif owner.is_a?(PokeBattle_Trainer)
|
||||
@owner = Owner.new_from_trainer(owner)
|
||||
else
|
||||
@trainerID = 0
|
||||
@ot = ""
|
||||
@otgender = 2
|
||||
@owner = Owner.new(0, '', 2, 2)
|
||||
end
|
||||
@obtainMap = ($game_map) ? $game_map.map_id : 0
|
||||
@obtainText = nil
|
||||
|
||||
71
Data/Scripts/016_Pokemon/006_Pokemon_Owner.rb
Normal file
71
Data/Scripts/016_Pokemon/006_Pokemon_Owner.rb
Normal file
@@ -0,0 +1,71 @@
|
||||
class Pokemon
|
||||
# Stores information about a Pokémon's owner.
|
||||
class Owner
|
||||
# @return [Integer] the ID of the owner
|
||||
attr_reader :id
|
||||
# @return [String] the name of the owner
|
||||
attr_reader :name
|
||||
# @return [Integer] the gender of the owner (0 = male, 1 = female, 2 = unknown)
|
||||
attr_reader :gender
|
||||
# @return [Integer] the language of the owner (see {pbGetLanguage} for language IDs)
|
||||
attr_reader :language
|
||||
|
||||
# @param id [Integer] the ID of the owner
|
||||
# @param name [String] the name of the owner
|
||||
# @param gender [Integer] the gender of the owner (0 = male, 1 = female, 2 = unknown)
|
||||
# @param language [Integer] the language of the owner (see {pbGetLanguage} for language IDs)
|
||||
def initialize(id, name, gender, language)
|
||||
validate id => Integer, name => String, gender => Integer, language => Integer
|
||||
@id = id
|
||||
@name = name
|
||||
@gender = gender
|
||||
@language = language
|
||||
end
|
||||
|
||||
# Returns a new Owner object populated with values taken from +trainer+.
|
||||
# @param trainer [PokeBattle_Trainer] trainer object to read data from
|
||||
# @return [Owner] new Owner object
|
||||
def self.new_from_trainer(trainer)
|
||||
validate trainer => PokeBattle_Trainer
|
||||
return new(trainer.id, trainer.name, trainer.gender, trainer.language)
|
||||
end
|
||||
|
||||
# Returns an Owner object with a foreign ID.
|
||||
# @param name [String] owner name
|
||||
# @param gender [Integer] owner gender
|
||||
# @param language [Integer] owner language
|
||||
# @return [Owner] foreign Owner object
|
||||
def self.new_foreign(name = '', gender = 2, language = 2)
|
||||
return new($Trainer.getForeignID, name, gender, language)
|
||||
end
|
||||
|
||||
# @param new_id [Integer] new owner ID
|
||||
def id=(new_id)
|
||||
validate new_id => Integer
|
||||
@id = new_id
|
||||
end
|
||||
|
||||
# @param new_name [String] new owner name
|
||||
def name=(new_name)
|
||||
validate new_name => String
|
||||
@name = new_name
|
||||
end
|
||||
|
||||
# @param new_gender [Integer] new owner gender
|
||||
def gender=(new_gender)
|
||||
validate new_gender => Integer
|
||||
@gender = new_gender
|
||||
end
|
||||
|
||||
# @param new_language [Integer] new owner language
|
||||
def language=(new_language)
|
||||
validate new_language => Integer
|
||||
@language = new_language
|
||||
end
|
||||
|
||||
# @return [Integer] the public portion of the owner's ID
|
||||
def public_id
|
||||
return @id & 0xFFFF
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,25 +0,0 @@
|
||||
#===============================================================================
|
||||
# Deprecated classes, methods and constants for Pokémon.
|
||||
# These will be removed in a future Essentials version.
|
||||
#===============================================================================
|
||||
|
||||
# @deprecated Use {Pokemon} instead. PokeBattle_Pokemon has been turned into an alias
|
||||
# and is slated to be removed in vXX.
|
||||
class PokeBattle_Pokemon; end
|
||||
|
||||
PokeBattle_Pokemon = Pokemon
|
||||
|
||||
class Pokemon
|
||||
# @deprecated Use {MAX_NAME_SIZE} instead. This alias is slated to be removed in vXX.
|
||||
MAX_POKEMON_NAME_SIZE = MAX_NAME_SIZE
|
||||
end
|
||||
|
||||
# (see Pokemon#initialize)
|
||||
# @deprecated Use +Pokemon.new+ instead. This method and its aliases are
|
||||
# slated to be removed in vXX.
|
||||
def pbNewPkmn(species, level, owner = $Trainer, withMoves = true)
|
||||
Deprecation.warn_method('pbNewPkmn', 'vXX', 'Pokemon.new')
|
||||
return Pokemon.new(species, level, owner, withMoves)
|
||||
end
|
||||
alias pbGenPkmn pbNewPkmn
|
||||
alias pbGenPoke pbNewPkmn
|
||||
79
Data/Scripts/016_Pokemon/010_Pokemon_Deprecated.rb
Normal file
79
Data/Scripts/016_Pokemon/010_Pokemon_Deprecated.rb
Normal file
@@ -0,0 +1,79 @@
|
||||
#===============================================================================
|
||||
# Deprecated classes, methods and constants for Pokémon.
|
||||
# These will be removed in a future Essentials version.
|
||||
#===============================================================================
|
||||
|
||||
# @deprecated Use {Pokemon} instead. PokeBattle_Pokemon has been turned into an alias
|
||||
# and is slated to be removed in vXX.
|
||||
class PokeBattle_Pokemon; end
|
||||
|
||||
PokeBattle_Pokemon = Pokemon
|
||||
|
||||
class Pokemon
|
||||
# @deprecated Use {MAX_NAME_SIZE} instead. This alias is slated to be removed in vXX.
|
||||
MAX_POKEMON_NAME_SIZE = MAX_NAME_SIZE
|
||||
|
||||
# @deprecated Use {Owner#public_id} instead. This alias is slated to be removed in vXX.
|
||||
def publicID
|
||||
Deprecation.warn_method('Pokemon#publicID', 'vXX', 'Pokemon::Owner#public_id')
|
||||
return @owner.public_id
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#id} instead. This alias is slated to be removed in vXX.
|
||||
def trainerID
|
||||
Deprecation.warn_method('Pokemon#trainerID', 'vXX', 'Pokemon::Owner#id')
|
||||
return @owner.id
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#id=} instead. This alias is slated to be removed in vXX.
|
||||
def trainerID=(value)
|
||||
Deprecation.warn_method('Pokemon#trainerID=', 'vXX', 'Pokemon::Owner#id=')
|
||||
@owner.id = value
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#name} instead. This alias is slated to be removed in vXX.
|
||||
def ot
|
||||
Deprecation.warn_method('Pokemon#ot', 'vXX', 'Pokemon::Owner#name')
|
||||
return @owner.name
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#name=} instead. This alias is slated to be removed in vXX.
|
||||
def ot=(value)
|
||||
Deprecation.warn_method('Pokemon#ot=', 'vXX', 'Pokemon::Owner#name=')
|
||||
@owner.name = value
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#gender} instead. This alias is slated to be removed in vXX.
|
||||
def otgender
|
||||
Deprecation.warn_method('Pokemon#otgender', 'vXX', 'Pokemon::Owner#gender')
|
||||
return @owner.gender
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#gender=} instead. This alias is slated to be removed in vXX.
|
||||
def otgender=(value)
|
||||
Deprecation.warn_method('Pokemon#otgender=', 'vXX', 'Pokemon::Owner#gender=')
|
||||
@owner.gender = value
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#language} instead. This alias is slated to be removed in vXX.
|
||||
def language
|
||||
Deprecation.warn_method('Pokemon#language', 'vXX', 'Pokemon::Owner#language')
|
||||
return @owner.language
|
||||
end
|
||||
|
||||
# @deprecated Use {Owner#language=} instead. This alias is slated to be removed in vXX.
|
||||
def language=(value)
|
||||
Deprecation.warn_method('Pokemon#language=', 'vXX', 'Pokemon::Owner#language=')
|
||||
@owner.language = value
|
||||
end
|
||||
end
|
||||
|
||||
# (see Pokemon#initialize)
|
||||
# @deprecated Use +Pokemon.new+ instead. This method and its aliases are
|
||||
# slated to be removed in vXX.
|
||||
def pbNewPkmn(species, level, owner = $Trainer, withMoves = true)
|
||||
Deprecation.warn_method('pbNewPkmn', 'vXX', 'Pokemon.new')
|
||||
return Pokemon.new(species, level, owner, withMoves)
|
||||
end
|
||||
alias pbGenPkmn pbNewPkmn
|
||||
alias pbGenPoke pbNewPkmn
|
||||
Reference in New Issue
Block a user