4 résultats trouvés pour --------------------------------------------------------------------------

par tim
le Dim 14 Juin 2020 - 16:01
 
Rechercher dans: Ace
Sujet: Banque de Tim
Réponses: 0
Vues: 134

Banque de Tim

Bonjour tout le monde !!!

Voici un petit script perso pour crer une banque.

Actuellement la premire version du script permet de crer une banque un compte pargne o on peut dposer et retirer de l'argent.

Le compte permet aussi d'avoir des intrts automatiquement ajouts en fonction de la dure de jeu, pas besoin d'avoir un systme de gestion du temps, le script fonctionne en autonomie de ce ct l.

Et bien entendu, j'ai rajout la possibilit d'avoir des frais bancaires lors de chaque dpt.

Je suis preneur de toutes remarques ou suggestions d'amlioration sachant que j'ai dj quelques petites ides pour crer une nouvelle version.

script de banque:
=begin
--------------------------------------------------------------------------------
***********
* ------- *
* BANQUE *
* ------- *
***********
AUTEUR : Tim
VERSION : 1
DATE : 13/06/2020
--------------------------------------------------------------------------------
Objectif :
Crer une banque personnalisable qui permet le dpt (avec ou sans frais bancaire), le retrait d'espces et le calcul d'intret autmotique chaque passage la banque en fonction du temps de jeu
--------------------------------------------------------------------------------
Utilisation :
_ Copier le script dans l'onglet materials
_ Initiliser les variables $banque_or_possede $banque_derniere_visite $banque_interets_totaux zro avant le premier lancement de la scne
_ Personnaliser les constantes presentes dans le module Module_Banque
_ Faites un appel de script a partir d'un evenement du jeu
SceneManager.call(Tim_Scene_Banque)
--------------------------------------------------------------------------------
Personnalisations supplementaires en modifiant le script manuellement :
_ Modifier le vocable
> Remplacer les termes a modifier dans 3)3) "Taux d'intrt horaire : ", "Frais bancaire : " et " % par dpt"
> Remplacer les termes a modifier dans 3)4) "En dpt : " et "Intrts totaux : "
> Remplacer les termes a modifier dans 3)5) "Dposer", "Retirer" et "Sortir"
--------------------------------------------------------------------------------
Restrictions :
_ resolution native 544*416
_ rendre obligatoirement persistante les variables $banque_or_possede $banque_derniere_visite et $banque_interets_totaux en les intgrant la sauvegarde du jeu
_ usage de 4 variables globales $banque_montant et $banque_or_possede $banque_derniere_visite $banque_interets_totaux
--------------------------------------------------------------------------------
Appels de script :
SceneManager.call(Tim_Scene_Banque)
--------------------------------------------------------------------------------
Descriptif des constantes personnalisables :
BANQUE_NOM == nom de la banque identique pour toutes les agences (40 caractres maximum)
BANQUE_NOM_COMPTE == nom du compte bancaire unique (20 caractres maximum)
BANQUE_TAUX == taux d'intrt fourni toutes les heures - 0 signifie aucun intrt
BANQUE_FRAIS == pourcentage des frais prlev sur chaque dpt
--------------------------------------------------------------------------------
Version 1
_ Script d'origine
--------------------------------------------------------------------------------
Squelette du script :
1) Introduction
1) Titre - Auteur - Version - Date de creation
2) Objectif
3) Utilisation
4) Personnalisations supplementaires dans le corps du script
5) Restrictions
6) Appel de script
7) Descritif des variables
Cool Historique des versions
9) Squelette du script
2) Creation du module contenant toutes les constantes personnalisable
3) Creation des classes de fenetres
1) Classe creation fenetre pour le nom de la banque
2) Classe creation fenetre pour afficher l'or possede sur soi
3) Classe creation fenetre pour afficher le nom de compte et le taux d'interet horaire
4) Classe creation fenetre pour afficher l'or en dpt et les intrts accumuls
5) Classe creation fenetre pour dposer ou retirer de l'or et quitter
6) Classe creation fenetre pour choisir le montant
4) Creation de la scene qui gere la banque
--------------------------------------------------------------------------------
=end
#-------------------------------------------------------------------------------
#
# 2) Creation du module contenant tous les parametres personnalisables
#
#-------------------------------------------------------------------------------
module Module_Banque

BANQUE_NOM = "Nom de la banque" # 40 caracteres maximum
BANQUE_NOM_COMPTE = "Nom du compte bancaire" # 20 caracteres maximum
BANQUE_TAUX = 3 # pourcentage sans le signe %
BANQUE_FRAIS = 1 # pourcentage sans le signe % (doit tre strictement infrieur 100)

end
#-------------------------------------------------------------------------------
#
# 3) Creation des classes pour les differentes fenetres de la banque (resolution 544*416)
#
#-------------------------------------------------------------------------------
# 3) 1) Classe creation fenetre pour le nom de la banque
#-------------------------------------------------------------------------------
class Window_Banque_Nom < Window_Base
def initialize
super(0, 0, 544, 100) # x, y, largeur, hauteur
nom_banque
end

def nom_banque
contents.clear
contents.draw_text(100, 0, 374, 80, Module_Banque::BANQUE_NOM) # x, y ,largeur du texte, hauteur, texte a afficher)
end
end
#-------------------------------------------------------------------------------
# 3) 2) Classe creation fenetre pour afficher l'or possede sur soi
#-------------------------------------------------------------------------------
class Window_Banque_Gold < Window_Base
# Initialise la class
def initialize
super(272, 316, 272, 100) # x, y, largeur, hauteur
refresh
end
# Renvoi l'or detenu
def refresh
contents.clear # Supprime le contenu
draw_currency_value($game_party.gold , Vocab::currency_unit, 4, 16, contents.width - 90) # affiche l'or detenu
end
# Utilise le vocable pour les PO
def currency_unit
Vocab::currency_unit
end
end
#-------------------------------------------------------------------------------
# 3) 3) Classe creation fenetre pour afficher le nom de compte et le taux d'interet horaire
#-------------------------------------------------------------------------------
class Window_Banque_Compte_courant < Window_Base
# Initialise la class
def initialize
super(0, 100, 272, 216) # x, y, largeur, hauteur
refresh
end
#Renvoi l'affichage textuel
def refresh
contents.clear # Supprime le contenu
contents.draw_text(27, 0, 218, 72, Module_Banque::BANQUE_NOM_COMPTE) # x, y ,largeur du texte, hauteur, texte a afficher)
contents.draw_text(27, 72, 218, 72, "Taux d'intrt horaire : " + Module_Banque::BANQUE_TAUX.to_s + " %")
contents.draw_text(27, 144, 218, 72, "Frais bancaire : " + Module_Banque::BANQUE_FRAIS.to_s + " % par dpt")
end
end
#-------------------------------------------------------------------------------
# 3) 4) Classe creation fenetre pour afficher l'or en dpt et les intrts accumuls
#-------------------------------------------------------------------------------
class Window_Banque_Description_Avoirs < Window_Base
# Initialise la class
def initialize
super(272, 100, 272, 216) # x, y, largeur, hauteur
refresh
end
# Renvoi l'affichage textuel
def refresh
arrondir_affichage
contents.clear # Supprime le contenu
contents.draw_text(27, 0, 218, 108, "En dpt : " + @banque_or_possede.to_s + " " + Vocab::currency_unit) # x, y ,largeur du texte, hauteur, texte a afficher)
contents.draw_text(27, 108, 218, 108, "Intrts totaux : " + @banque_interets_totaux.to_s + " " + Vocab::currency_unit)
end
# Permet d'arrondir les valeur uniquement pour l'affichage mais maintien les valeurs relles en mmoire
def arrondir_affichage
@banque_or_possede = $banque_or_possede.round
@banque_interets_totaux = $banque_interets_totaux.round
end
end
#-------------------------------------------------------------------------------
# 3) 5) Classe creation fenetre pour dposer ou retirer de l'or et quitter
#-------------------------------------------------------------------------------
class Window_Banque_choix < Window_Command
# Initialise la classe
def initialize
super(0, 316) # (x, y)
end
# Definis la largeur de la fenetre
def window_width
return 272
end
# Definis la hauteur de la fenetre
def window_height
return 100
end
# Menu de confirmation
def make_command_list
add_command("Dposer", :banque_dpt)
add_command("Retirer", :banque_retrait)
add_command("Sortir", :banque_sortir)
end
end
#-------------------------------------------------------------------------------
# 3) 6) Classe creation fenetre pour choisir le montant
#-------------------------------------------------------------------------------
class Windows_Banque_montant < Window_Selectable
# Initialise la classe
def initialize(montant_max)
super(0, 316,272,100)
@montant_max = montant_max
$banque_montant = @montant_max / 2
$banque_montant = $banque_montant.round
refresh
end
def update
super
refresh
end
def refresh
contents.clear
contents.draw_text(50, 0, 136, 100, $banque_montant,1)
$banque_montant = $banque_montant + 1 if Input.trigger?(:UP) && $banque_montant < @montant_max
$banque_montant = $banque_montant - 1 if Input.trigger?(:DOWN) && $banque_montant > 0
$banque_montant = $banque_montant - 100 if Input.trigger?(:LEFT) && $banque_montant > 100
$banque_montant = $banque_montant + 100 if Input.trigger?(:RIGHT) && $banque_montant < (@montant_max - 99)
end
end
#-------------------------------------------------------------------------------
#
# 4) Creation de la scene qui gere la banque
#
#-------------------------------------------------------------------------------
class Tim_Scene_Banque < Scene_MenuBase
# Initialise la scene
def start
super
ajout_interet
creation_fenetre_banque
end
# Calcule et ajoute les interets
def ajout_interet
@duree_ecoulee = $game_system.playtime - $banque_derniere_visite
@interet = $banque_or_possede * @duree_ecoulee / 3600 * Module_Banque::BANQUE_TAUX / 100
$banque_or_possede += @interet
$banque_interets_totaux += @interet
$banque_derniere_visite = $game_system.playtime
end
# Cree les fenetres de la banque
def creation_fenetre_banque
@fenetre_nom_banque = Window_Banque_Nom.new
@fenetre_or_possede = Window_Banque_Gold.new
@fenetre_compte = Window_Banque_Compte_courant.new
@fenetre_avoirs = Window_Banque_Description_Avoirs.new
@fenetre_choix = Window_Banque_choix.new
@fenetre_choix.set_handler(:banque_dpt, method(:command_banque_depot))
@fenetre_choix.set_handler(:banque_retrait, method(:command_banque_retrait))
@fenetre_choix.set_handler(:banque_sortir, method(:command_banque_sortir))

end
# Permet de quitter la banque
def command_banque_sortir
return_scene
end
# Cree les actions en cas de choix de faire un dpt
def command_banque_depot
@fenetre_montant = Windows_Banque_montant.new($game_party.gold)
@fenetre_montant.viewport = @viewport
@fenetre_montant.set_handler(:ok, method(:depot))
@fenetre_montant.set_handler(:cancel, method(:return_scene))
@fenetre_montant.activate

end
# Creer les action aprs avoir valid le montant du dpot
def depot
@fenetre_montant.close
$banque_or_possede = $banque_or_possede + $banque_montant * ( 1 - Module_Banque::BANQUE_FRAIS / 100)
$game_party.lose_gold($banque_montant)
command_banque_sortir
end
# Cree les actions en cas de choix de faire un retrait
def command_banque_retrait
@fenetre_montant = Windows_Banque_montant.new($banque_or_possede)
@fenetre_montant.viewport = @viewport
@fenetre_montant.set_handler(:ok, method(:retrait))
@fenetre_montant.set_handler(:cancel, method(:return_scene))
@fenetre_montant.activate

end
# Creer les action aprs avoir valid le montant du retrait
def retrait
@fenetre_montant.close
$banque_or_possede -= $banque_montant
$game_party.gain_gold($banque_montant)
command_banque_sortir
end

end


Il vous faudra aussi un petit scr&#105;pt pour rendre persistantes et sauvegardables certaines variables.
Je vous laisse ci-dessous un scr&#105;pt qui permet d'ajouter des variables vos sauvegardes

scr&#105;pt donnes persistantes:
module DataManager
#--------------------------------------------------------------------------
# * Create Game Objects
#--------------------------------------------------------------------------
class << self
alias create_game_objects_tablelist_base create_game_objects
end
def self.create_game_objects
create_game_objects_tablelist_base
$banque_or_possede
$banque_derniere_visite
$banque_interets_totaux
end
#--------------------------------------------------------------------------
# * Create Save Contents
#--------------------------------------------------------------------------
class << self
alias make_save_contents_tablelist_base make_save_contents
end
def self.make_save_contents
contents = make_save_contents_tablelist_base
contents[0] = $banque_or_possede
contents[1] = $banque_derniere_visite
contents[2] = $banque_interets_totaux
contents
end
#--------------------------------------------------------------------------
# * Extract Save Contents
#--------------------------------------------------------------------------
class << self
alias extract_save_contents_tablelist_base extract_save_contents
end
def self.extract_save_contents(contents)
extract_save_contents_tablelist_base(contents)
$banque_or_possede = contents[0]
$banque_derniere_visite = contents[1]
$banque_interets_totaux = contents[2]
end
end
par KelArtiste
le Ven 11 Jan 2019 - 14:35
 
Rechercher dans: Demande de ressources
Sujet: VX ACE : Compatibilit des Scripts [Synthesis] et [Coffre Stockage]
Réponses: 7
Vues: 1523

VX ACE : Compatibilit des Scripts [Synthesis] et [Coffre Stockage]

Ah oui bien sr ! Le voil.

Spoiler:


[code]
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Traits Namer
# Author: Kread-EX
# Version: 1.02
# Release date: 11/03/2012
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

#------------------------------------------------------------------------------
# UPDATES
#------------------------------------------------------------------------------
# # 03/02/2012. Bug fixes.
# # 24/03/2012. Added methods used by Alchemic Synthesis.
# # 23/03/2012. Version 1.0, now help window generation is included.
#------------------------------------------------------------------------------
# TERMS OF USAGE
#------------------------------------------------------------------------------
# # You are free to adapt this work to suit your needs.
# # You can use this work for commercial purposes if you like it.
# # Credit is appreciated.
# #
# # For support:
# # grimoirecastle.wordpress.com
# # rpgmakerweb.com
#------------------------------------------------------------------------------
# INTRODUCTION
#------------------------------------------------------------------------------
# # This is a core scr&#105;pt. By itself, it doesn't do anything but it used by
# # Runic Enchantment and Alchemic Synthesis. The purpose of this scr&#105;pt
# # is to provide an automated way to name traits: the scr&#105;pt retrieve the traits
# # data and generates a name based on a customizable template.
#------------------------------------------------------------------------------

$imported = {} if $imported.nil?
$imported['KRX-TraitsNamer'] = true

puts 'Load: Traits Namer v1.02 by Kread-EX'

module KRX
 module TraitsNamer
#===========================================================================
# ■ CONFIGURATION
#===========================================================================

   X_PARAMETERS = [
   
   'Accuracy',
   'Evasion',
   'Critical rate',
   'Critical eva. rate',
   'M. Evasion',
   'Magic reflection',
   'Counter rate',
   'HP Regen',
   'MP Regen',
   'TP Regen'
   
   ]
   
   S_PARAMETERS = [
   
   'Aggro effect',
   'Guard effect',
   'Recovery rate',
   'Pharmacology',
   'MP cost',
   'TP charge rate',
   'Physical damage',
   'Magical damage',
   'Floor damage',
   'EXP rate'
   
   ]

   SPECIAL_FLAGS = [
   
   'Autobattle',
   'Guard',
   'Cover',
   'TP Saver'
   
   ]
   
   PARTY_ABILITY = [
   
   'Half Encounter',
   'No Encounter',
   'No surprise attacks',
   'No preemptive attacks',
   'Gold x2',
   'Item Drops x2'
   
   ]
   
   CODENAMES = {
   
   11 => '%s resist: %d%%'       , # Element rate
   12 => '%s debuff rate: %d%%'  , # Debuff rate
   13 => '%s resist: %d%%'       , # State rate
   14 => 'Immunity: %s'          , # State immunity
   21 => '%s: %d%%'              , # Parameter rate
   22 => '%s: %d%%'              , # Additional parameter rate
   23 => '%s: %d%%'              , # Special parameter rate
   31 => 'Attack %s'             , # Physical attack attribute
   32 => 'Attack %s %d%%'        , # Physical attack state
   33 => 'Attack speed %d'       , # Attack speed correction
   34 => 'Attack x%d'            , # Additional attacks
   41 => 'Command: %s'           , # Add skill type
   42 => 'Seal: %s'              , # Seal skill type
   43 => 'Skill: %s'             , # Add skill
   44 => 'Skill Seal: %s'        , # Seal skill
   51 => 'Can equip: %s'         , # Add equip type (weapon)
   52 => 'Can equip: %s'         , # Add equip type (armor)
   53 => 'Fix equip: %s'         , # Fix equip slot
   54 => 'Seal equip: %s'        , # Seal equip slot
   55 => 'Dual Wielding'         , # Dual Wield
   61 => 'Bonus Actions: +%d%%'  , # Bonus actions
   62 => '%s'                    , # Special flag
   63 => 'Collapse type'         , # Collapse type (will never be used, I think)
   64 => '%s'                    , # Party ability
   
   }
   
   CODEHELP = {
   
   # Element rate
   11 => 'Raises %s resistance by %d%%.',
   # Debuff rate
   12 => 'Raises %s resistance by %d%%.',
   # State rate
   13 => 'Raises %s resistance by %d%%.',
   # State immunity
   14 => 'Grants immunity to %s.',
   # Parameter rate
   21 => 'Raises %s by %d%%.',
   # Additional parameter rate
   22 => 'Raises %s by %d%%.',
   # Special parameter rate
   23 => 'Grants a %d% modifier to %s.',
   # Physical attack attribute
   31 => 'Adds %s element to normal attacks.',
   # Physical attack state
   32 => 'Adds %s to normal attacks (%d%% accuracy).',
   # Attack speed correction (bonus)
   33 => ['Raises attack speed by %d.',
   # Attack speed correction (malus)
   'Reduces attack speed by %d.'],
   # Additional attacks
   34 => 'Grants %d additional attacks.',
   # Add skill type
   41 => 'Enables the %s battle command.',
   # Seal skill type
   42 => 'Seals the %s battle command.',
   # Add skill
   43 => 'Allows the use of the %s skill',
   # Seal skill
   44 => 'Seals the %s skill.',
   # Add equip type (weapon)
   51 => 'Allows %s to be equipped.',
   # Add equip type (armor)
   52 => 'Allows %s to be equipped.',
   # Fix equip slot
   53 => 'Fixes the %s equipment slot.',
   # Seal equip slot
   54 => 'Seals the %s equipment slot.',
   # Dual Wield
   55 => 'Allows to use two weapons as the same time.',
   # Bonus actions
   61 => 'Raises the action rate by %d%%.',
   # Autobattle
   62 => ['The character will act on his/her own in battle.',
   # Guard
   'The character will permanently defend.',
   # Cover
   'The character will take hits for his/her wounded comrades.',
   # TP Saver
   'TP are kept after battles.'],
   # Collapse type (no need to use it but meh)
   63 => 'Alters the collapse animation.',
   # Half encounter
   64 => ['Halves the random encounter rate.',
   # No encounter
   'Disables random encounters.',
   # No surprise attacks
   'Disables surprise attacks.',
   # No preemptive attacks
   'Disables preemptive attacks.',
   # Gold x2
   'Doubles the money obtained after a battle.',
   # Item Drops x2
   'Doubles the drop rate of items.']
   
   }

   EFFECTS_CODENAMES = {
   
   11 => 'HP Recovery'                   , # HP Recovery
   12 => 'MP Recovery'                   , # MP Recovery
   13 => 'TP Recovery'                   , # TP Gain
   21 => 'Add %s'                        , # Add State
   22 => 'Cleanse %s'                    , # Remove State
   31 => '%s+'                           , # Add buff
   32 => '%s-'                           , # Add debuff
   33 => 'Dispel %s+'                    , # Remove buff
   34 => 'Cancel %s-'                    , # Remove debuff
   41 => 'Escape'                        , # Escape
   42 => '%s Bonus'                      , # Permanent stat growth
   43 => 'Learn %s'                      , # Permanent skill learning
   44 => 'Common Event'                  , # Common event
   
   }
   
   EFFECTS_CODEHELP = {
   
   # HP Recovery (static)
   11 => ['Restores %d HP.',
   # HP Recovery (dynamic)
   'Restores %d%% of maximum HP.'],
   # MP Recovery (static)
   12 => ['Restores %d MP.',
   # MP Recovery (dynamic)
   'Restores %d%% of maximum MP.'],
   # TP Gain
   13 => 'Restores %d%% TP.',
   # Add State
   21 => 'Inflicts %s (%d%% chance).',
   # Remove State
   22 => 'Cancels %s.',
   # Add buff
   31 => 'Increases %s for %d turns.',
   # Add debuff
   32 => 'Decreases %s for %d turns.',
   # Remove buff
   33 => 'Cancels a previously applied %s buff.',
   # Remove debuff
   34 => 'Dispels an active %s debuff.',
   # Escape
   41 => 'Automatically escape from battle.',
   # Permanent stat growth
   42 => 'Boosts %d by %d permanently.',
   # Permanent skill learning
   43 => 'Teaches the %s skill permanently.',
   # Common Event
   44 => 'Calls a common event.'
   
   }
   
#===========================================================================
# ■ CUSTOM TRAITS/EFFECTS CONFIGURATION
#===========================================================================

   # INSTRUCTIONS
   # Here you can define custom traits names and descriptions.
   #
   # Syntax:
   # [type, code, data_id, value 1, value2] => [name, description]
   #
   # type: 0 (for equipment), 1 (for usables)
   #
   # code: the code number. Refer to default naming to know what is what.
   #
   # data_id: the number of the option you've choosen in the trait droplist.
   #
   # value1: what you typed in the first field where you can write numbers.
   # For equipment this is the only one.
   #
   # value2: usable items only. What you typed in the second field.
   #
   # description: If you want to also use a custom description. If you only
   # want the custom name, set this to nil.

   CUSTOM_TRAITS = {
   
   [0, 32, 2, 50] => ['Poisonous', nil],
   [0, 32, 2, 100] => ['Venomous', nil],
   
   [1, 11, 0, 0, 10] => ['HP Recovery XS', nil],
   [1, 11, 0, 0, 25] => ['HP Recovery S', nil],
   [1, 11, 0, 0, 50] => ['HP Recovery M', nil],
   [1, 11, 0, 0, 75] => ['HP Recovery L', nil],
   [1, 11, 0, 0, 100] => ['HP Recovery XL', 'Restores all HP!'],
   [1, 12, 0, 0, 10] => ['MP Recovery XS', nil],
   [1, 12, 0, 0, 25] => ['MP Recovery S', nil],
   [1, 12, 0, 0, 50] => ['MP Recovery M', nil],
   [1, 12, 0, 0, 75] => ['MP Recovery L', nil],
   [1, 12, 0, 0, 100] => ['MP Recovery XL', 'Restores all MP!'],
   [1, 13, 0, 2, 0] => ['TP Recovery XS', nil],
   [1, 13, 0, 5, 0] => ['TP Recovery S', nil],
   [1, 13, 0, 10, 0] => ['TP Recovery M', nil],
   [1, 13, 0, 16, 0] => ['TP Recovery L', nil],
   [1, 13, 0, 20, 0] => ['TP Recovery XL', nil],

}

#===========================================================================
# CONFIGURATION ENDS HERE
#===========================================================================
#--------------------------------------------------------------------------
# Generates traits name
#--------------------------------------------------------------------------
def self.feature_name(code, data_id, value)
custom = CUSTOM_TRAITS[[0, code, data_id, self.convert_value(code, value)]]
return custom[0] unless custom.nil? || custom[0].nil?
base_name = CODENAMES[code]
data_name = case code
when 11, 31
&#36;data_system.elements[data_id]
when 12, 21
Vocab.param(data_id)
when 13, 14, 32
&#36;data_states[data_id].name
when 22
X_PARAMETERS[data_id]
when 23
S_PARAMETERS[data_id]
when 41, 42
&#36;data_system.skill_types[data_id]
when 43, 44
&#36;data_skills[data_id].name
when 51
&#36;data_system.weapon_types[data_id]
when 52
&#36;data_system.armor_types[data_id]
when 53, 54
Vocab.etype(data_id)
when 62
SPECIAL_FLAGS[data_id]
when 64
PARTY_ABILITY[data_id]
end
final_value = case code
when 11, 13
100 - (value * 100)
when 33, 34
value
else
value * 100
end
if data_name.nil?
name = sprintf(base_name, final_value)
else
name = sprintf(base_name, data_name, final_value)
end
name
end
#--------------------------------------------------------------------------
# Generates traits description
#--------------------------------------------------------------------------
def self.feature_description(code, data_id, value)
custom = CUSTOM_TRAITS[[0, code, data_id, self.convert_value(code, value)]]
return custom[1] unless custom.nil? || custom[1].nil?
if CODEHELP[code].is_a?(Array)
base_help = CODEHELP[code][data_id]
else
base_help = CODEHELP[code]
end
data_name = case code
when 11, 31
&#36;data_system.elements[data_id]
when 12, 21
Vocab.param(data_id)
when 13, 14, 32
&#36;data_states[data_id].name
when 22
X_PARAMETERS[data_id]
when 23
S_PARAMETERS[data_id]
when 41, 42
&#36;data_system.skill_types[data_id]
when 43, 44
&#36;data_skills[data_id].name
when 51
&#36;data_system.weapon_types[data_id]
when 52
&#36;data_system.armor_types[data_id]
when 53, 54
Vocab.etype(data_id)
when 62
SPECIAL_FLAGS[data_id]
when 64
PARTY_ABILITY[data_id]
end
final_value = case code
when 11, 13
100 - (value * 100)
when 33, 34
value
else
value * 100
end
if data_name.nil?
name = sprintf(base_help, final_value)
else
name = sprintf(base_help, data_name, final_value)
end
name
end
#--------------------------------------------------------------------------
# Generates effects name
#--------------------------------------------------------------------------
def self.effect_name(code, data_id, value1, value2)
custom = CUSTOM_TRAITS[[1, code, data_id,
self.convert_value(code, value1, false),
self.convert_value(code, value2, false)]]
return custom[0] unless custom.nil? || custom[0].nil?
base_name = EFFECTS_CODENAMES[code]
data_name = case code
when 21, 22
&#36;data_states[data_id].name
when 31, 32, 33, 34, 42
Vocab.param(data_id)
when 43
&#36;data_skills[data_id]
end
if data_name.nil?
name = sprintf(base_name, value1, value2)
else
name = sprintf(base_name, data_name, value1, value2)
end
name
end
#--------------------------------------------------------------------------
# Generates effects description
#--------------------------------------------------------------------------
   def self.effect_description(code, data_id, value1, value2)
     custom = CUSTOM_TRAITS[[1, code, data_id,
     self.convert_value(code, value1, false),
     self.convert_value(code, value2, false)]]
     return custom[1] unless custom.nil? || custom[1].nil?
     if EFFECTS_CODEHELP[code].is_a?(Array)
       base_help = value2 > 0 ? EFFECTS_CODEHELP[code][0] :
EFFECTS_CODEHELP[code][1]
else
base_help = EFFECTS_CODEHELP&#91;code&#93;
end
data_name = case code
when 21, 22
&#36;data_states[data_id].name
when 31, 32, 33, 34, 42
Vocab.param(data_id)
when 43
&#36;data_skills[data_id]
end
value1 = self.convert_value(code, value1, false)
value2 = self.convert_value(code, value2, false)
value1 = value2 if value1 == 0
if data_name.nil?
name = sprintf(base_help, value1, value2)
else
name = sprintf(base_help, data_name, value1, value2)
end
name
end
#--------------------------------------------------------------------------
# Converts the real value to the one entered in the editor
#--------------------------------------------------------------------------
def self.convert_value(code, value, feature = true)
if feature && [33, 34].include?(code)
return value.to_i
elsif feature && [21].include?(code)
return (value.to_f / 100)
elsif [11, 12].include?(code) && value <= 1
return (value.to_i * 100).to_i
else
value.to_i
end
end
#--------------------------------------------------------------------------
# Points towards either feature name or effect name
#--------------------------------------------------------------------------
def self.trait_name(trait)
if trait.is_a?(RPG::BaseItem::Feature)
return self.feature_name(trait.code, trait.data_id, trait.value)
end
self.effect_name(trait.code, trait.data_id, trait.value1, trait.value2)
end
#--------------------------------------------------------------------------
# Points towards either feature description or effect description
#--------------------------------------------------------------------------
def self.trait_description(trait)
if trait.is_a?(RPG::BaseItem::Feature)
return self.feature_description(trait.code, trait.data_id, trait.value)
end
self.effect_description(trait.code, trait.data_id, trait.value1,
trait.value2)
end
end
end

&#91;/code&#93;

par mysterious
le Jeu 17 Juil 2014 - 19:25
 
Rechercher dans: Event et BDD
Sujet: Invocation en event / script
Réponses: 3
Vues: 598

Invocation en event / script

Mon systme est simple, une comptence permet de faire apparatre une entit sur le terrain qui combat avec vous jusqu' la mort de celle-ci ou jusqu' la fin du combat.

pour commencer crer dans la section hro un personnage ainsi qu'une classe votre invocation :
Spoiler:
Tag -------------------------------------------------------------------------- sur RPG Maker - La Communauté - v5 Numero11


l'avantage qu'il y a crer un hro et une classe pour chaque invocation est que votre invocation gagnera des niveaux et des capacits aux mme titre que vos hros.

Ensuite crer un vnement commun que vous appellerez par le nom de l'invocation ( pour plus de lisibilit), puis suivez l'ordre :
Spoiler:
Tag -------------------------------------------------------------------------- sur RPG Maker - La Communauté - v5 Numero12


( la condition n'est utile que si vous voulez ne pouvoir faire qu'une invocation par combat )

ensuite crer un deuxime vnement commun que vous monterez de cette faon-ci :
Spoiler:
Tag -------------------------------------------------------------------------- sur RPG Maker - La Communauté - v5 Numero14



(la dsactivation de l'interupteur ne sers que si vous voulez ne pouvoir faire qu'une invocation par combat)

cela fait crer une comptence du nom de l'invocation qui appelle le 1er vnement commun :
Spoiler:
Tag -------------------------------------------------------------------------- sur RPG Maker - La Communauté - v5 Numero15


le plus dur est fait, maintenant il va nous falloir un scr&#105;pt pour pouvoir appel notre deuxime evenement commun chaque fin de combat et pour cela j'ai utiliser le scr&#105;pt de Yanfly d'aprs combat;

insrez ce scr&#105;pt au dessus de main :
Spoiler:
#==============================================================================
#
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin">
Yanfly Engine Ace - Victoire AprsCombat v1.00
# -- Traduit par UltimaSasuke pour rpgmakervx-fr.com
# -- Drnire Mise Jour: 2011.12.16
# -- Niveaux: Easy, Normal, Hard
# -- Require : n/a
#
#==============================================================================

&#36;imported = {} if &#36;imported.nil?
&#36;imported["YEA-VictoryAftermath"] = true

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> Mise Jour
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.16 - Dbut et fin du scr&#105;pt.
#
#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# A la fin de chaque combat, RPG Maker VX Ace, par dfaut, affiche du texte
# pour chaque fin de combat en disant l'EXP gagn et les objets obtenue.
# Ce scr&#105;pt sert rendre cette fin de combat plus visuel pour vos joueur.
# Vous pourrais voir tout ce que la fin de combat de base vous prsente mais
# en plus comprhensible et design. (Cf. Screens rpgmakervx-fr.com).
#
#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Pour installer ce scr&#105;pt insr le en ouvrant l'diteur de scr&#105;pt (F11)
# en dessous de Matrial et au dessus de Main.
#
# -----------------------------------------------------------------------------
# Instruction pour la citation de Acteurs - Ces Mots Cl vont dans les notes
# des acteurs dans la base de donnes.
# -----------------------------------------------------------------------------
#
# Corp
# Corp
#

# Dfinie la citation de l'acteur quand il gagne. Le corp du code
# est continue, vous pouvez utiliser les codes de texte. Utilisez \n pour faire
# un saut de ligne. Tapez ce que vous voulez que l'acteur dise pour la citation
# Utilisez [New Quote] entre les deux balises pour dmmarer une nouvelle citation.
#
# // EXEMPLE :
#
# "Je suis le meilleur!"
# [new quote]
# "Ils ne font pas le poid.\n Je resterais le meilleur!"
#

# FIN DE L'EXEMPLE \\
#
#
# Corp
# Corp
#

# Dfinie la citation de l'acteur quand il gagne des niveaux. Le corp du code
# est continue, vous pouvez utiliser les codes de texte. Utilisez
# \n pour faire un saut de ligne. Tapez ce que vous voulez que l'acteur dise pour
# la citation. Utilisez [New Quote] entre les deux balises pour dmmarer une
# nouvelle citation.
#
# //EXEMPLE :
#
# "Je suis plus puissant!"
# [new quote]
# "Dj que les combat sont simple, \n Maintenant sa va tre de la tarte!"
#

# FIN DE L'EXEMPLE \\
#
#
# Corp
# Corp
#

# Dfinie la citation de l'acteur quand il gagne des objets. Le corp du code
# est continue, vous pouvez utiliser les codes de texte. Utilisez
# \n pour faire un saut de ligne. Tapez ce que vous voulez que l'acteur dise pour
# la citation. Utilisez [New Quote] entre les deux balises pour dmmarer une
# nouvelle citation.
#
# //EXEMPLE :
#
# "Intrssant ce qu'il y a!"
# [new quote]
# "Tout a rien que pour moi. \n Je vais vite devenir riche!!"
#

# FIN DE L'EXEMPLE \\
#
# -----------------------------------------------------------------------------
# Instruction pour la citation des classes - Ces Mots Cl vont dans les notes
# des classes dans la base de donnes.
# -----------------------------------------------------------------------------
#
# corp
# corp
#

# Dfinie la citation de la classe quand elle gagne. Le corp du code
# est continue, vous pouvez utiliser les codes de texte. Utilisez \n pour faire
# un saut de ligne. Tapez ce que vous voulez que l'acteur dise pour la citation
# Utilisez [New Quote] entre les deux balises pour dmmarer une nouvelle citation.
#
# // EXEMPLE :
#
# "Les Chevaliers sont les meilleurs!"
# [new quote]
# "Ils ne font pas le poid.\n Les Chevaliers en font des confties!"
#

# FIN DE L'EXEMPLE \\
#
#
# corp
# corp
#

# Dfinie la citation de la classe quand elle gagne des niveaux. Le corp du code
# est continue, vous pouvez utiliser les codes de texte. Utilisez
# \n pour faire un saut de ligne. Tapez ce que vous voulez que l'acteur dise pour
# la citation. Utilisez [New Quote] entre les deux balises pour dmmarer une
# nouvelle citation.
#
# //EXEMPLE :
#
# "Les chevaliers deviennent plus puissant!"
# [new quote]
# "Dj que les combat sont simple, \n Maintenant sa va tre de la tarte!"
#

# FIN DE L'EXEMPLE \\
#
#
# corp
# corp
#

# Dfinie la citation de la classe quand elle gagne des objets. Le corp du code
# est continue, vous pouvez utiliser les codes de texte. Utilisez
# \n pour faire un saut de ligne. Tapez ce que vous voulez que l'acteur dise pour
# la citation. Utilisez [New Quote] entre les deux balises pour dmmarer une
# nouvelle citation.
#
# //EXEMPLE :
#
# "Intrssant ce qu'il y a!"
# [new quote]
# "Tout a rien que pour nous. \n Nous allons vite devenir riche!!"
#

# FIN DE L'EXEMPLE \\
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Ce script est fait pour RPG Maker VX Ace et il est peut probable qu'il
# fonction sous RPG Maker VX sans ajustement.
#
#==============================================================================

module YEA
 module VICTORY_AFTERMATH
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Paramétre Général -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Ce sont des paramétre différent utilisé par le script, modifiez les
   # comme bon vous sembles.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   VICTORY_BGM  = RPG::BGM.new("Field1", 100, 100)    # Effet de Victoire (BGM)
   VICTORY_TICK = RPG::SE.new("Decision1", 100, 150)  # Effet d'EXP (SE)
   LEVEL_SOUND  = RPG::SE.new("Up4", 80, 150)         # Effet de niveaux (SE)
   SKILLS_TEXT  = "Nouvelle compétence!"              # Nouvelles compétences
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Paramétre important -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Ce sont des paramétres important, configurez les correctement. Il y a
   # un intérupteur qui permet de sauté la phase de script après le combat.
   # (pour ne plus voir la phase de résumé de victoire) et vous permet
   # d'appeller un évenement commun après chaque combat. Si vous ne souhaitez
   # pas faire appelle à ces fonctionalité, les mettre à 0. L'événement se
   # déroulera indépendamment de gagner ou s'échapper.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   SKIP_AFTERMATH_SWITCH  = 0  # Si l'intérupteur est activé, cela sautera la
        # phase de résumé de victoire après le combat. Mettre à 0 pour
        # désactiver cette fonctionalité.
   AFTERMATH_COMMON_EVENT = 6  # Appelle un évenement commun après le combat.
        # Mettre à 0 pour désactiver cette fonctionalité.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Paramétre du texte du haut -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Ici, vous pouvez ajuster les différents textes qui s'affiche dans la
   # fenêtre qui apparaît en haut de l'écran.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   TOP_TEAM         = "Equipe de %s"           # Nom de l'équipe utilisé.
   TOP_VICTORY_TEXT = "%s sort victorieuse!"   # Texte de victoire.
   TOP_LEVEL_UP     = "%s a monté de niveau!"  # Text de niveau gagné.
   TOP_SPOILS       = "Butin gagné!"           # Texte pour le butins.
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Paramétre de la jauge d'EXP -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Ajustez la façon que la Jauge d'EXP apparaît pour le script. Ca comprend
   # l'affichage du texte, la taille de la police, la couleur des jauges, et
   # plus encore. Réglez tout ça ici.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   VICTORY_EXP  = "+%sEXP"      # Texte affiché pour l'EXP
   EXP_PERCENT  = "%1.2f%%"     # L'EXP en % affiché.
   LEVELUP_TEXT = "Niveau Gagné!"   # Texte qui remplace le % d'EXP quand le
                                    # le niveau monte.
   MAX_LVL_TEXT = "Niveau Maximum Atteint!"   # Texte pour dire que le niveau
                                              # max est atteint
   FONTSIZE_EXP = 20            # Taille de la police pour l'EXP
   EXP_TICKS    = 15            # Ticks to full EXP
   EXP_GAUGE1   = 12            # "Fenêtre" Couleur de la texture du text
                                # pour la jauge.
   EXP_GAUGE2   = 4             # "Fenêtre" Couleur de la texture du text
                                # pour la jauge.
   LEVEL_GAUGE1 = 13            # "Fenêtre" Couleur de la texture du text
                                # pour le gain de niveau.
   LEVEL_GAUGE2 = 5             # "Fenêtre" Couleur de la texture du text
                                # pour le gain de niveau.
   
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # - Messages de victoire -
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   # Dans ce script, les acteurs peuvent avoir des citations unique. Ceci est
   # "bassin" de citation utilisé par les acteurs qui n'ont pas de citations
   # personel (voir instruction sur les citations d'acteurs). Sachez que les
   # citations personalisé au acteurs est prioritaire sur les citations de
   # classe qui elle sont prioritaire sur les citations par défaut
   # (ci-dessous). Utilisez \n pour un saut de ligne dans les citations.
   #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
   HEADER_TEXT = "\e>\eC[6]%s\eC[0]\e<\n"  # Toujours au début des messages.
   FOOTER_TEXT = ""                        # Toujours à la fin des messages.
   
   # Les citations par défauts, ce que les acteurs disent quand ils gagnent.
   VICTORY_QUOTES ={
   # :type   => Citations
#------------------------------------------------------------------------
     :win    => [ # Survient au dbut de la citation de victoire.
'"Nous avons gagn! C\'tait un beau combat."',
'"Je ne suis mme pas fatigu."',
'"Ce n\'tait pas si difficile."',
'"Allons chercher plus fort!"',
],# Ne pas enlever a.
#------------------------------------------------------------------------
     :level  => [ # Survient au dbut de la citation de victoire.
'"Oui! Niveau gagn!"',
'"Je deviens plus fort!"',
'"Essayez de me suivre!"',
'"Je deviens encore plus fort!"',
],# Ne pas enlever a.
#------------------------------------------------------------------------
     :drops  => [ # Survient au dbut de la citation de victoire.
'"Je vais prendre a."',
'"Il y a le butin pour le vainqueur."',
'"Les ennemies ont fait tomber quelque chose!"',
'"Hey! C\'est quoi a?!"',
],# Ne pas enlever a.
#------------------------------------------------------------------------
} # Ne pas enlever a.

end # VICTORY_AFTERMATH
end # YEA

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> Ne pas ditez ce qu'il y a plus bas, sinon vous pourrez rentre dans le coma
# et/ou mourrir. (Petite touche d'humour du scripteur).
#==============================================================================

module YEA
module REGEXP
module BASEITEM

NEW_QUOTE = /\[(?:NEW_QUOTE|new quote)\]/i

WIN_QUOTE_ON = /<(?:WIN_QUOTES|win quote)>/i
WIN_QUOTE_OFF = /<\/(?:WIN_QUOTES|win quote)>/i
LEVEL_QUOTE_ON = /<(?:LEVEL_QUOTES|level quote)>/i
LEVEL_QUOTE_OFF = /<\/(?:LEVEL_QUOTES|level quote)>/i
DROPS_QUOTE_ON = /<(?:DROPS_QUOTES|drops quote)>/i
DROPS_QUOTE_OFF = /<\/(?:DROPS_QUOTES|drops quote)>/i

end # BASEITEM
end # REGEXP
end # YEA

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> Switch
#==============================================================================

module Switch

#--------------------------------------------------------------------------
# self.skip_aftermath
#--------------------------------------------------------------------------
def self.skip_aftermath
return false if YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH <= 0
return &#36;game_switches[YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH]
end

end # Switch

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> Numeric
#==============================================================================

class Numeric

#--------------------------------------------------------------------------
# new method: group_digits
#--------------------------------------------------------------------------
unless &#36;imported["YEA-CoreEngine"]
def group; return self.to_s; end
end # &#36;imported["YEA-CoreEngine"]

end # Numeric

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> DataManager
#==============================================================================

module DataManager

#--------------------------------------------------------------------------
# alias method: load_database
#--------------------------------------------------------------------------
class < alias load_database_va load_database; end
def self.load_database
load_database_va
load_notetags_va
end

#--------------------------------------------------------------------------
# new method: load_notetags_va
#--------------------------------------------------------------------------
def self.load_notetags_va
groups = [&#36;data_actors, &#36;data_classes]
for group in groups
for obj in group
next if obj.nil?
obj.load_notetags_va
end
end
end

end # DataManager

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> RPG::BaseItem
#==============================================================================

class RPG::BaseItem

#--------------------------------------------------------------------------
# public instance variables
#--------------------------------------------------------------------------
attr_accessor :win_quotes
attr_accessor :level_quotes
attr_accessor :drops_quotes

#--------------------------------------------------------------------------
# common cache: load_notetags_va
#--------------------------------------------------------------------------
def load_notetags_va
@win_quotes = [""]
@level_quotes = [""]
@drops_quotes = [""]
@victory_quote_type = nil
#---
self.note.split(/[\r\n]+/).each { |line|
case line
#---
when YEA::REGEXP::BASEITEM::WIN_QUOTE_ON
@victory_quote_type = :win_quote
when YEA::REGEXP::BASEITEM::WIN_QUOTE_OFF
@victory_quote_type = nil
when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_ON
@victory_quote_type = :level_quote
when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_OFF
@victory_quote_type = nil
when YEA::REGEXP::BASEITEM::DROPS_QUOTE_ON
@victory_quote_type = :drops_quote
when YEA::REGEXP::BASEITEM::DROPS_QUOTE_OFF
@victory_quote_type = nil
#---
when YEA::REGEXP::BASEITEM::NEW_QUOTE
case @victory_quote_type
when nil; next
when :win_quote; @win_quotes.push("")
when :level_quote; @level_quotes.push("")
when :drops_quote; @drops_quotes.push("")
end
#---
else
case @victory_quote_type
when nil; next
when :win_quote; @win_quotes[@win_quotes.size-1] += line.to_s
when :level_quote; @level_quotes[@level_quotes.size-1] += line.to_s
when :drops_quote; @drops_quotes[@drops_quotes.size-1] += line.to_s
end
end
} # self.note.split
#---
return unless self.is_a?(RPG::Class)
quotes = YEA::VICTORY_AFTERMATH::VICTORY_QUOTES
@win_quotes = quotes[:win].clone if @win_quotes == [""]
@level_quotes = quotes[:level].clone if @level_quotes == [""]
@drops_quotes = quotes[:drops].clone if @drops_quotes == [""]
end

end # RPG::BaseItem

#==============================================================================
# .1621448769014E+21;pan style="color:#aa0000" class="coloradmin"> BattleManager
#==============================================================================

module BattleManager

#--------------------------------------------------------------------------
# overwrite method: self.process_victory
#--------------------------------------------------------------------------
def self.process_victory
if Switch.skip_aftermath
skip_aftermath
return
end
play_battle_end_me
display_exp
gain_exp
gain_gold
gain_drop_items
close_windows
SceneManager.return
replay_bgm_and_bgs
battle_end(0)
return true
end

#--------------------------------------------------------------------------
# new method: self.skip_aftermath
#--------------------------------------------------------------------------
def self.skip_aftermath
&#36;game_party.all_members.each do |actor|
actor.gain_exp(&#36;game_troop.exp_total)
end
&#36;game_party.gain_gold(&#36;game_troop.gold_total)
&#36;game_troop.make_drop_items.each do |item|
&#36;game_party.gain_item(item, 1)
end
close_windows
SceneManager.return
replay_bgm_and_bgs
battle_end(0)
end

#--------------------------------------------------------------------------
# overwrite method: self.play_battle_end_me
#--------------------------------------------------------------------------
def self.play_battle_end_me
&#36;game_system.battle_end_me.play
YEA::VICTORY_AFTERMATH::VICTORY_BGM.play
end

#--------------------------------------------------------------------------
# new method: self.set_victory_text
#--------------------------------------------------------------------------
def self.set_victory_text(actor, type)
text = "" + sprintf(YEA::VICTORY_AFTERMATH::HEADER_TEXT, actor.name)
text += actor.victory_quotes(type)[rand(actor.victory_quotes(type).size)]
text += YEA::VICTORY_AFTERMATH::FOOTER_TEXT
&#36;game_message.face_name = actor.face_name
&#36;game_message.face_index = actor.face_index
&#36;game_message.add(text)
wait_for_message
end

#--------------------------------------------------------------------------
# overwrite method: self.display_exp
#--------------------------------------------------------------------------
def self.display_exp
SceneManager.scene.show_victory_display_exp
actor = &#36;game_party.random_target
@victory_actor = actor
set_victory_text(@victory_actor, :win)
end

#--------------------------------------------------------------------------
# overwrite method: self.gain_exp
#--------------------------------------------------------------------------
def self.gain_exp
&#36;game_party.all_members.each do |actor|
temp_actor = Marshal.load(Marshal.dump(actor))
actor.gain_exp(&#36;game_troop.exp_total)
next if actor.level == temp_actor.level
SceneManager.scene.show_victory_level_up(actor, temp_actor)
set_victory_text(actor, :level)
wait_for_message
end
end

#--------------------------------------------------------------------------
# overwrite method: self.gain_gold
#--------------------------------------------------------------------------
def self.gain_gold
&#36;game_party.gain_gold(&#36;game_troop.gold_total)
end

#--------------------------------------------------------------------------
# overwrite method: self.gain_drop_items
#--------------------------------------------------------------------------
def self.gain_drop_items
drops = []
&#36;game_troop.make_drop_items.each do |item|
&#36;game_party.gain_item(item, 1)
drops.push(item)
end
SceneManager.scene.show_victory_spoils(&#36;game_troop.gold_total, drops)
set_victory_text(@victory_actor, :drops)
wait_for_message
end

#--------------------------------------------------------------------------
# new method: self.close_windows
#--------------------------------------------------------------------------
def self.close_windows
SceneManager.scene.close_victory_windows
end

#--------------------------------------------------------------------------
# alias method: