mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
292 lines
6.8 KiB
Ruby
292 lines
6.8 KiB
Ruby
class Player < Trainer
|
|
attr_accessor :skin_tone
|
|
attr_accessor :clothes
|
|
attr_accessor :hat
|
|
attr_accessor :hat2
|
|
|
|
attr_accessor :hair
|
|
attr_accessor :hair_color
|
|
attr_accessor :hat_color
|
|
attr_accessor :hat2_color
|
|
|
|
attr_accessor :clothes_color
|
|
attr_accessor :unlocked_clothes
|
|
attr_accessor :unlocked_hats
|
|
attr_accessor :unlocked_hairstyles
|
|
attr_accessor :unlocked_card_backgrounds
|
|
|
|
attr_accessor :dyed_hats
|
|
attr_accessor :dyed_clothes
|
|
|
|
attr_accessor :favorite_hat
|
|
attr_accessor :favorite_hat2
|
|
|
|
attr_accessor :favorite_clothes
|
|
|
|
attr_accessor :last_worn_outfit
|
|
attr_accessor :last_worn_hat
|
|
attr_accessor :last_worn_hat2
|
|
|
|
attr_accessor :surfing_pokemon
|
|
|
|
attr_accessor :card_background
|
|
attr_accessor :unlocked_card_backgrounds
|
|
|
|
attr_accessor :seen_qmarks_sprite
|
|
|
|
attr_accessor :beat_league
|
|
attr_accessor :new_game_plus_unlocked
|
|
|
|
def last_worn_outfit
|
|
if !@last_worn_outfit
|
|
if pbGet(VAR_TRAINER_GENDER) == GENDER_MALE
|
|
@last_worn_outfit = DEFAULT_OUTFIT_MALE
|
|
else
|
|
@last_worn_outfit = DEFAULT_OUTFIT_FEMALE
|
|
end
|
|
end
|
|
return @last_worn_outfit
|
|
end
|
|
|
|
def last_worn_hat(is_secondary = false)
|
|
return is_secondary ? @last_worn_hat2 : @last_worn_hat
|
|
end
|
|
|
|
def set_last_worn_hat(value, is_secondary = false)
|
|
if is_secondary
|
|
@last_worn_hat = value
|
|
else
|
|
@last_worn_hat = value
|
|
end
|
|
end
|
|
|
|
def last_worn_hat2
|
|
return @last_worn_hat2
|
|
end
|
|
|
|
def outfit=(value)
|
|
@outfit = value
|
|
end
|
|
|
|
def favorite_hat(is_secondary = false)
|
|
return is_secondary ? @favorite_hat2 : @favorite_hat
|
|
end
|
|
|
|
# todo change to set_favorite_hat(value,is_secondary=false)
|
|
def set_favorite_hat(value, is_secondary = false)
|
|
if is_secondary
|
|
@favorite_hat = value
|
|
else
|
|
@favorite_hat2 = value
|
|
end
|
|
end
|
|
|
|
def hat_color(is_secondary = false)
|
|
return is_secondary ? @hat2_color : @hat_color
|
|
end
|
|
|
|
def hat(is_secondary = false)
|
|
return is_secondary ? @hat2 : @hat
|
|
end
|
|
|
|
def set_hat(value, is_secondary = false)
|
|
if value.is_a?(Symbol)
|
|
value = HATS[value].id
|
|
end
|
|
if is_secondary
|
|
@hat2 = value
|
|
else
|
|
@hat = value
|
|
end
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
# todo : refactor to always use set_hat instead
|
|
def hat=(value)
|
|
if value.is_a?(Symbol)
|
|
value = HATS[value].id
|
|
end
|
|
@hat = value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
# todo : refactor to always use set_hat instead
|
|
def hat2=(value)
|
|
if value.is_a?(Symbol)
|
|
value = HATS[value].id
|
|
end
|
|
@hat2 = value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def hair=(value)
|
|
if value.is_a?(Symbol)
|
|
value = HAIRSTYLES[value].id
|
|
end
|
|
@hair = value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def clothes=(value)
|
|
if value.is_a?(Symbol)
|
|
value = OUTFITS[value].id
|
|
end
|
|
@clothes = value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def clothes_color=(value)
|
|
@clothes_color = value
|
|
$Trainer.dyed_clothes = {} if !$Trainer.dyed_clothes
|
|
$Trainer.dyed_clothes[@clothes] = value if value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def set_hat_color(value, is_secondary = false)
|
|
if is_secondary
|
|
@hat2_color = value
|
|
else
|
|
@hat_color = value
|
|
end
|
|
$Trainer.dyed_hats = {} if !$Trainer.dyed_hats
|
|
worn_hat = is_secondary ? @hat2 : @hat
|
|
$Trainer.dyed_hats[worn_hat] = value if value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def hat_color=(value)
|
|
@hat_color = value
|
|
$Trainer.dyed_hats = {} if !$Trainer.dyed_hats
|
|
worn_hat = @hat
|
|
$Trainer.dyed_hats[worn_hat] = value if value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def hat2_color=(value)
|
|
@hat2_color = value
|
|
$Trainer.dyed_hats = {} if !$Trainer.dyed_hats
|
|
worn_hat = @hat2
|
|
$Trainer.dyed_hats[worn_hat] = value if value
|
|
refreshPlayerOutfit()
|
|
end
|
|
|
|
def unlock_clothes(outfitID, silent = false)
|
|
update_global_clothes_list()
|
|
outfit = $PokemonGlobal.clothes_data[outfitID]
|
|
@unlocked_clothes = [] if !@unlocked_clothes
|
|
@unlocked_clothes << outfitID if !@unlocked_clothes.include?(outfitID)
|
|
|
|
if !silent
|
|
filename = getTrainerSpriteOutfitFilename(outfitID)
|
|
name = outfit ? outfit.name : outfitID
|
|
unlock_outfit_animation(filename, name)
|
|
end
|
|
end
|
|
|
|
def unlock_hat(hatID, silent = false)
|
|
update_global_hats_list()
|
|
|
|
hat = $PokemonGlobal.hats_data[hatID]
|
|
@unlocked_hats = [] if !@unlocked_hats
|
|
@unlocked_hats << hatID if !@unlocked_hats.include?(hatID)
|
|
|
|
if !silent
|
|
filename = getTrainerSpriteHatFilename(hatID)
|
|
name = hat ? hat.name : hatID
|
|
unlock_outfit_animation(filename, name)
|
|
end
|
|
end
|
|
|
|
def unlock_hair(hairID, silent = false)
|
|
update_global_hairstyles_list()
|
|
|
|
hairstyle = $PokemonGlobal.hairstyles_data[hairID]
|
|
if hairID.is_a?(Symbol)
|
|
hairID = HAIRSTYLES[hairID].id
|
|
end
|
|
@unlocked_hairstyles = [] if !@unlocked_hairstyles
|
|
@unlocked_hairstyles << hairID if !@unlocked_hairstyles.include?(hairID)
|
|
|
|
if !silent
|
|
filename = getTrainerSpriteHairFilename("2_" + hairID)
|
|
name = hairstyle ? hairstyle.name : hairID
|
|
unlock_outfit_animation(filename, name)
|
|
end
|
|
end
|
|
|
|
def unlock_outfit_animation(filepath, name, color = 2)
|
|
outfit_preview = PictureWindow.new(filepath)
|
|
outfit_preview.x = Graphics.width / 4
|
|
musicEffect = "Key item get"
|
|
pbMessage(_INTL("{1} obtained \\C[{2}]{3}\\C[0]!\\me[{4}]", $Trainer.name, color, name, musicEffect))
|
|
outfit_preview.dispose
|
|
end
|
|
|
|
def surfing_pokemon=(species)
|
|
@surfing_pokemon = species
|
|
end
|
|
|
|
def skin_tone=(value)
|
|
@skin_tone = value
|
|
$scene.reset_player_sprite
|
|
#$scene.spritesetGlobal.playersprite.updateCharacterBitmap
|
|
end
|
|
|
|
def beat_league=(value)
|
|
@beat_league = value
|
|
end
|
|
|
|
def new_game_plus_unlocked=(value)
|
|
@new_game_plus_unlocked = value
|
|
end
|
|
|
|
def seen?(species)
|
|
return @pokedex.seen?(species)
|
|
end
|
|
|
|
# (see Pokedex#owned?)
|
|
# Shorthand for +self.pokedex.owned?+.
|
|
def owned?(species)
|
|
return @pokedex.owned?(species)
|
|
end
|
|
|
|
def can_change_outfit()
|
|
return false if isOnPinkanIsland()
|
|
return true
|
|
end
|
|
|
|
|
|
alias playerAddOns_initialize initialize
|
|
def initialize(name, trainer_type)
|
|
playerAddOns_initialize(name,trainer_type)
|
|
@outfit = 0
|
|
@hat = 0
|
|
@hat2 = 0
|
|
|
|
@hair = 0
|
|
@clothes = 0
|
|
@hair_color = 0
|
|
@skin_tone = 0
|
|
@beat_league = false
|
|
@new_game_plus_unlocked = false
|
|
@new_game_plus = false
|
|
@surfing_pokemon = nil
|
|
@last_worn_outfit = nil
|
|
@last_worn_hat = nil
|
|
@last_worn_hat2 = nil
|
|
|
|
@dyed_hats = {}
|
|
@dyed_clothes = {}
|
|
|
|
@favorite_hat = nil
|
|
@favorite_hat2 =nil
|
|
@favorite_clothes = nil
|
|
|
|
@card_background = Settings::DEFAULT_TRAINER_CARD_BG
|
|
@unlocked_card_backgrounds = [@card_background]
|
|
@seen_qmarks_sprite = false
|
|
|
|
end
|
|
end
|
|
|