3 résultats trouvés pour --------------------------------------------------------------------------

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: 278

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 script. By itself, it doesn't do anything but it used by
# # Runic Enchantment and Alchemic Synthesis. The purpose of this script
# # is to provide an automated way to name traits: the script 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
$data_system.elements[data_id]
when 12, 21
Vocab.param(data_id)
when 13, 14, 32
$data_states[data_id].name
when 22
X_PARAMETERS[data_id]
when 23
S_PARAMETERS[data_id]
when 41, 42
$data_system.skill_types[data_id]
when 43, 44
$data_skills[data_id].name
when 51
$data_system.weapon_types[data_id]
when 52
$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
$data_system.elements[data_id]
when 12, 21
Vocab.param(data_id)
when 13, 14, 32
$data_states[data_id].name
when 22
X_PARAMETERS[data_id]
when 23
S_PARAMETERS[data_id]
when 41, 42
$data_system.skill_types[data_id]
when 43, 44
$data_skills[data_id].name
when 51
$data_system.weapon_types[data_id]
when 52
$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
$data_states[data_id].name
when 31, 32, 33, 34, 42
Vocab.param(data_id)
when 43
$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[code]
end
data_name = case code
when 21, 22
$data_states[data_id].name
when 31, 32, 33, 34, 42
Vocab.param(data_id)
when 43
$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: 478

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:
#==============================================================================
#
# 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

#==============================================================================
# Mise Jour
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2011.12.16 - Dbut et fin du scr&#105;pt.
#
#==============================================================================
# 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).
#
#==============================================================================
# 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

#==============================================================================
# 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

#==============================================================================
# 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

#==============================================================================
# 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

#==============================================================================
# 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

#==============================================================================
# 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

#==============================================================================
# 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: load_database
#--------------------------------------------------------------------------
class < alias battle_end_va battle_end; end
def self.battle_end(result)
battle_end_va(result)
return if result == 2
return if YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT <= 0
event_id = YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT
&#36;game_temp.reserve_common_event(event_id)
end

end # BattleManager

#==============================================================================
# Game_Actor
#==============================================================================

class Game_Actor < Game_Battler

#--------------------------------------------------------------------------
# overwrite method: gain_exp
#--------------------------------------------------------------------------
def gain_exp(exp)
enabled = !SceneManager.scene_is?(Scene_Battle)
change_exp(self.exp + (exp * final_exp_rate).to_i, enabled)
end

#--------------------------------------------------------------------------
# new method: victory_quotes
#--------------------------------------------------------------------------
def victory_quotes(type)
case type
when :win
return self.actor.win_quotes if self.actor.win_quotes != [""]
return self.class.win_quotes
when :level
return self.actor.level_quotes if self.actor.level_quotes != [""]
return self.class.level_quotes
when :drops
return self.actor.drops_quotes if self.actor.drops_quotes != [""]
return self.class.drops_quotes
else
return ["NOTEXT"]
end
end

end # Game_Actor

#==============================================================================
# Window_VictoryTitle
#==============================================================================

class Window_VictoryTitle < Window_Base

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
super(0, 0, Graphics.width, fitting_height(1))
self.z = 200
self.openness = 0
end

#--------------------------------------------------------------------------
# refresh
#--------------------------------------------------------------------------
def refresh(message = "")
contents.clear
draw_text(0, 0, contents.width, line_height, message, 1)
end

end # Window_VictoryTitle

#==============================================================================
# Window_VictoryEXP_Back
#==============================================================================

class Window_VictoryEXP_Back < Window_Selectable

#--------------------------------------------------------------------------
# initialize
#--------------------------------------------------------------------------
def initialize
super(0, fitting_height(1), Graphics.width, window_height)
self.z = 200
self.openness = 0
end

#--------------------------------------------------------------------------
# window_height
#--------------------------------------------------------------------------
def window_height
return Graphics.height - fitting_height(4) - fitting_height(1)
end

#--------------------------------------------------------------------------
# col_max
#--------------------------------------------------------------------------
def col_max; return item_max; end

#--------------------------------------------------------------------------
# spacing
#--------------------------------------------------------------------------
def spacing; return 8; end

#--------------------------------------------------------------------------
# item_max
#--------------------------------------------------------------------------
def item_max; return &#36;game_party.battle_members.size; end

#--------------------------------------------------------------------------
# open
#--------------------------------------------------------------------------
def open
@exp_total = &#36;game_troop.exp_total
super
end

#--------------------------------------------------------------------------
# item_rect
#--------------------------------------------------------------------------
def item_rect(index)
rect = Rect.new
rect.width = item_width
rect.height = contents.height
rect.x = index % col_max * (item_width + spacing)
rect.y = index / col_max * item_height
return rect
end

#--------------------------------------------------------------------------
# draw_item
#--------------------------------------------------------------------------
def draw_item(index)
actor = &#36;game_party.battle_members[index]
return if actor.nil?
rect = item_rect(index)
reset_font_settings
draw_actor_name(actor, rect)
draw_exp_gain(actor, rect)
draw_actor_face(actor, rect)
end

#--------------------------------------------------------------------------
# draw_actor_name
#--------------------------------------------------------------------------
def draw_actor_name(actor, rect)
name = actor.name
draw_text(rect.x, rect.y+line_height, rect.width, line_height, name, 1)
end

#--------------------------------------------------------------------------
# draw_actor_face
#--------------------------------------------------------------------------
def draw_actor_face(actor, rect)
face_name = actor.face_name
face_index = actor.face_index
bitmap = Cache.face(face_name)
rw = [rect.width, 96].min
face_rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, rw, 96)
rx = (rect.width - rw) / 2 + rect.x
contents.blt(rx, rect.y + line_height * 2, bitmap, face_rect, 255)
end

#--------------------------------------------------------------------------
# draw_exp_gain
#--------------------------------------------------------------------------
def draw_exp_gain(actor, rect)
dw = rect.width - (rect.width - [rect.width, 96].min) / 2
dy = rect.y + line_height * 3 + 96
fmt = YEA::VICTORY_AFTERMATH::VICTORY_EXP
text = sprintf(fmt, actor_exp_gain(actor).group)
contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
change_color(power_up_color)
draw_text(rect.x, dy, dw, line_height, text, 2)
end

#--------------------------------------------------------------------------
# actor_exp_gain
#--------------------------------------------------------------------------
def actor_exp_gain(actor)