New file for Pokemon::Owner, 006_Pokemon_Owner.rb

This commit is contained in:
jonisavo
2020-10-16 16:22:24 +03:00
parent bc9b1dc919
commit fc7e5fbfb4
6 changed files with 71 additions and 70 deletions

View File

@@ -108,76 +108,6 @@ class Pokemon
# Ownership, obtained information
#=============================================================================
# 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
# @return [Owner] this Pokémon's owner
def owner
return @owner

View 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