#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ?Espace de Stockage - KGC_Depository ? Translated by Ojiro -
#_/----------------------------------------------------------------------------
#_/ Espace de stockage pour objets et monaie.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
class Window_DepositoryCommand < Window_Selectable
# ?Nom des commandes de l'espace de stockage
DEPOSITORY_COMMAND = [
"Déposer", # Déposer
"Retirer", # Retirer
"Stocker", # Stocker
"Prendre" # Prendre
]
# ?Définitions des commandes
DEPOSITORY_HELP = [
"Déposer de l'argent", # Déposer de l'argent
"Retirer de l'argent", # Retirer de l'argent
"Stocker un objet", # Stocker un objet
"Prendre un objet" # Prendre un objet
]
end
class Window_DepositoryGold < Window_Base
# ?Nombre de chiffres maximal pour le dépot de monnaie
GOLD_DIGITS = 7
end
class Scene_Depository
DEPOSIT_GOLD = "Inserez la somme à déposer"
WDEPOSIT_GOLD = "Inserez la somme à retirer"
DEPOSIT_ITEM = "Déposer combien ?"
WDEPOSIT_ITEM = "Retirer combien ?"
end
#???????????????????????????????????????
#--------------------------------------------------------------------------
# ? Appel de l'espace de stockage
#--------------------------------------------------------------------------
def call_depository
$game_player.straighten
# Affiche l'espace de stockage
$scene = Scene_Depository.new
end
#???????????????????????????????????????
#==============================================================================
# ¦ Game_Party
#------------------------------------------------------------------------------
# Récupère les informations sur la monnaie et les objets possédés dans
# $game_party
#==============================================================================
class Game_Party
#--------------------------------------------------------------------------
# ? Initialisation
#--------------------------------------------------------------------------
alias initialize_KGC_Depository initialize
def initialize
# Exécute le processus d'origine
initialize_KGC_Depository
@deposit_gold = 0
@deposit_item = []
@deposit_weapon = []
@deposit_armor = []
end
#--------------------------------------------------------------------------
# ? Récupère l'information sur la monnaie
#--------------------------------------------------------------------------
def deposit_gold
@deposit_gold = 0 if @deposit_gold == nil
return @deposit_gold
end
#--------------------------------------------------------------------------
# ? Récupère l'information sur la monnaie récupérée
# number : Montant a récuperer
#--------------------------------------------------------------------------
def gain_deposit_gold(number)
@deposit_gold = 0 if @deposit_gold == nil
@deposit_gold += number
end
#--------------------------------------------------------------------------
# ? Récupère l'information sur la monnaie déposée
# number : Montant à déposer
#--------------------------------------------------------------------------
def lose_deposit_gold(number)
self.gain_deposit_gold(-number)
end
#--------------------------------------------------------------------------
# ? Récupère l'information sur les objets
# id : ID
#--------------------------------------------------------------------------
def deposit_item_number(id)
@deposit_item = [] if @deposit_item == nil
return @deposit_item[id] != nil ? @deposit_item[id] : 0
end
#--------------------------------------------------------------------------
# ? Acquisition de l'objet
# id : ID
# number : Quantité
#--------------------------------------------------------------------------
def gain_deposit_item(id, number)
@deposit_item = [] if @deposit_item == nil
@deposit_item[id] = 0 if @deposit_item[id] == nil
@deposit_item[id] += number
end
#--------------------------------------------------------------------------
# ? Dépôt de l'objet
# id : ID
# number : Quantité
#--------------------------------------------------------------------------
def lose_deposit_item(id, number)
self.gain_deposit_item(id, -number)
end
#--------------------------------------------------------------------------
# ? Récupère l'information sur les armes
# id : ID
#--------------------------------------------------------------------------
def deposit_weapon_number(id)
@deposit_weapon = [] if @deposit_weapon == nil
return @deposit_weapon[id] != nil ? @deposit_weapon[id] : 0
end
#--------------------------------------------------------------------------
# ? Acquisition de l'arme
# id : ID
# number : Quantité
#--------------------------------------------------------------------------
def gain_deposit_weapon(id, number)
@deposit_weapon = [] if @deposit_weapon == nil
@deposit_weapon[id] = 0 if @deposit_weapon[id] == nil
@deposit_weapon[id] += number
end
#--------------------------------------------------------------------------
# ? Dépôt de l'arme
# id : ID
# number : Quantité
#--------------------------------------------------------------------------
def lose_deposit_weapon(id, number)
self.gain_deposit_weapon(id, -number)
end
#--------------------------------------------------------------------------
# ? Récupère l'information sur les armures
# id : ID
#--------------------------------------------------------------------------
def deposit_armor_number(id)
@deposit_armor = [] if @deposit_armor == nil
return @deposit_armor[id] != nil ? @deposit_armor[id] : 0
end
#--------------------------------------------------------------------------
# ? Acquisition de l'armure
# id : ID
# number : Quantité
#--------------------------------------------------------------------------
def gain_deposit_armor(id, number)
@deposit_armor = [] if @deposit_armor == nil
@deposit_armor[id] = 0 if @deposit_armor[id] == nil
@deposit_armor[id] += number
end
#--------------------------------------------------------------------------
# ? Dépôt de l'armure
# id : ID
# number : Quantité
#--------------------------------------------------------------------------
def lose_deposit_armor(id, number)
self.gain_deposit_armor(id, -number)
end
end
#???????????????????????????????????????
#==============================================================================
# ¦ Window_DepositoryCommand
#------------------------------------------------------------------------------
# Ecran de sélection d'une commande de l'espace de stockage
#==============================================================================
class Window_DepositoryCommand < Window_Selectable
#--------------------------------------------------------------------------
# ? Initialisation
#--------------------------------------------------------------------------
def initialize
super(0, 64, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
# ?????????
@commands = DEPOSITORY_COMMAND
@item_max = @commands.size
@column_max = @commands.size
@item_width = (width - 32) / @commands.size
self.back_opacity = 160
self.index = 0
refresh
end
#--------------------------------------------------------------------------
# ? Actualisation
#--------------------------------------------------------------------------
def refresh
for i in
0...@commands.size rect = Rect.new(@item_width * i, 0, @item_width, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.font.color = system_color
self.contents.draw_text(rect, @commands[i], 1)
end
end
#--------------------------------------------------------------------------
# ? Curseur
#--------------------------------------------------------------------------
def update_cursor_rect
if index != -1
self.cursor_rect.set(@item_width * index, 0, @item_width, 32)
end
end
#--------------------------------------------------------------------------
# ? Actualisation de la fenêtre d'aide
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(DEPOSITORY_HELP[self.index])
end
end
#???????????????????????????????????????
#==============================================================================
# ¦ Window_DepositoryGold
#------------------------------------------------------------------------------
# Indication de la quantité/valeur de la monnaie/objet.
#==============================================================================
class Window_DepositoryGold < Window_Base
#--------------------------------------------------------------------------
# ? Initialisation
#--------------------------------------------------------------------------
def initialize
super(0, 128, 640, 352)
@digits_max = GOLD_DIGITS
# Calcul de la largeur du curseur à partir du nombre de chiffres à entrer
dummy_bitmap = Bitmap.new(32, 32)
@cursor_width = dummy_bitmap.text_size("0").width + 8
dummy_bitmap.dispose
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 160
self.active = false
self.visible = false
@cursor_position = 0
@max = 0
@price = 0
@index = 0
end
#--------------------------------------------------------------------------
# ? Acquisition de la quantité inséré
#--------------------------------------------------------------------------
def price
return @price
end
#--------------------------------------------------------------------------
# ? Option de la quantité
# np : Nouvelle quantité
#--------------------------------------------------------------------------
def price=(np)
@price = [[np, 0].max, @max].min
redraw_price
end
#--------------------------------------------------------------------------
# ? Reinitialisation
# type : Type
#--------------------------------------------------------------------------
def reset(type)
@price = 0
@index = @digits_max - 1
refresh(type)
end
#--------------------------------------------------------------------------
# ? Actualisation
# type : Type
#--------------------------------------------------------------------------
def refresh(type)
# Affiche la quantité
self.contents.clear
domination = $data_system.words.gold
cx = contents.text_size(domination).width
@cursor_position = 332 - cx - @cursor_width * @digits_max
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 608, 32, "Monnaie en main")
self.contents.draw_text(0, 64, 608, 32, "Dépôt")
if type == 0
self.contents.draw_text(0, 128, 608, 32, "Quantité")
@max = $game_party.gold
else
self.contents.draw_text(0, 128, 608, 32, "Retrait")
@max = [10 ** @digits_max - $game_party.gold - 1, $game_party.deposit_gold].min
end
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 326 - cx, 32, $game_party.gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(332 - cx, 32, cx, 32, domination, 2)
self.contents.font.color = normal_color
self.contents.draw_text(4, 96, 326 - cx, 32, $game_party.deposit_gold.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(332 - cx, 96, cx, 32, domination, 2)
redraw_price
end