Citadin Lv.7
Age : 28 Inscrit le : 09/01/2010 Messages : 219
| Sujet: [VX] Monster cataloque Ven 29 Jan 2010 - 19:32 | |
| Bonsoir,Bonsoir! Je vien de trouver un scripte qui peut etre tres utile! Nom: Monster catalogue Auteur: modern algebra Description: Ce script est en faite un "Bestiaire". Pour ceux qui ne savent pas ce que c'est,c'est une fenetre ou il y'a afficher les principaux information sur les monstres tués. Scene: Instruction:-Vous appeller le scripte avec cette comande: $scene = Scene_Catalogue.new (20)-----------Les commandes qui vont suivre sont a placer dans la boite a note de votre monstre------------ -Pour ajouté un monstre sans l'avoir combatue,faite cette commande: encounter_monster (monster_id)en remplacent monster_id par l'ID du monstre dans la data base. -Vous pouvez modificer "L'espece" de monstre en inserent: \species[""] \species_icon[""]Dans la boite a note de votre monstre en remplacer name par le nouveau nom du monstre et index par l'icone du monstre. Exemple: \species[Loup] \species_icon[112]-Il y'a aussi la commande: \icon[]Qui permet de changer l'icone du monstre qui sera afficher dans la liste. Remplacer par le nimero de l'icon -Pour ajouter une description a un monstre: \description[] Remplacer par la nouvelle description du monstre. Exemple: \description[Ce grand méchant loup déteste les ptits chaperon rouge]
Require: - Code:
-
#============================================================================== # Catalogue Base # Version: 1.1 # Author: modern algebra (rmrk.net) # Date: October 6, 2009 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Description: # # This script acts as a base script for my catalogue scripts, and it is # required for each of those scripts. It has a number of shared classes and # methods that thereby reduce unnecessary coding for those scripts. # # It is, however, strictly a support script. It has no useful purpose on # its own. #==============================================================================
#============================================================================== # ** Data Catalogues #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # This class handles catalogues. It's a wrapper for the built-in class Array #==============================================================================
class Data_Catalogues #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def initialize @data = [] end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Get Catalogue # catalogue_id : ID of the catalogue #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def [](catalogue_id) if @data[catalogue_id] == nil return Catalogue_Base.new else return @data[catalogue_id] end end end
#============================================================================== # ** Catalogue_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # This is the base to all Catalogue Groups. #==============================================================================
class Catalogue_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Public Instance Variables #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ attr_reader :name attr_reader :objects attr_accessor :visible_objects #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def initialize (name = 'Catalogue', objects = [], show_all = false) # Set variables @name = name @objects = objects @visible_objects = [] @show_all = show_all end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Card #`````````````````````````````````````````````````````````````````````````` # This method returns the Card Window for a Catalogue, and should be # overwritten by any subclasses #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def card return Window_CatalogueCard end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Include? #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def include? (index) return true end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Enable? # index : the index of object in objects array #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def enable? (index) return true end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def object (index) return @objects[index] end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Icon # index : The index of the object in objects array #`````````````````````````````````````````````````````````````````````````` # This returns an icon to show in Window_CatalogueCommand. By default, it # will return the output of the object method icon_index. It must be # overwritten if the object class has no icon_index method #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def object_icon (index) return index < @objects.size ? object (index).icon_index : 0 end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Name # index : The index of the object in objects array #`````````````````````````````````````````````````````````````````````````` # This returns a name to show in Window_CatalogueCommand. By default, it # will return the output of the object method name. It must be overwritten # if the object class has no name method #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def object_name (index) return index < @objects.size ? object (index).name : '' end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Help Text #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def object_help_text (index) return '' end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * C Disabled? #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def c_disabled return true end end
#============================================================================== # ** Window Base #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - cb_outline_rect #==============================================================================
class Window_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Outline_Rect # x, y, width, height : rect to outline around # colour : the colour object for this box # t : thickness of the edges # type : 0 => rounded rectangle; 1 => rectangle #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def cb_outline_rect (x, y, width, height, colour = system_color, t = 2, type = 0) # If fill round, check if possible if type == 0 if !contents.methods.include? ("fill_rounded_rect") type = 1 else contents.fill_rounded_rect (Rect.new (x, y, width, height), colour) rect = Rect.new (x + t, y + t, width - (2*t), height - (2*t)) contents.fill_rounded_rect (rect, Color.new (0,0,0,0)) end end # Otherwise, draw rectangle if type == 1 # Draw Horizontal contents.fill_rect (x, y, width, t, colour) contents.fill_rect (x, y + height - t, width, t, colour) # Draw Vertical contents.fill_rect (x, y + t, t, height - (2*t), colour) contents.fill_rect (x + width - t, y + t, t, height - (2*t), colour) end end end
#============================================================================== # ** Window_CatalogueCard #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # This window display information on objects in the catalogue #==============================================================================
class Window_CatalogueCard < Window_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Initialize # catalogue : the catalogue information this card shows #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def initialize (catalogue) super (224, 0, Graphics.width - 224, Graphics.height - 32 - WLH) @catalogue = catalogue end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Refresh (index) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def refresh (index = nil) contents.clear return false if index == nil @object = @catalogue.object (index) end end
#============================================================================== # ** Window Catalogue Label #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # This window displays the name of the Catalogue #==============================================================================
class Window_CatalogueLabel < Window_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def initialize (x, y, width, height, name) super (x, y, width, height) contents.font.color = system_color contents.draw_text (0, 0, contents.width, contents.height, name, 1) end end
#============================================================================== # ** Window Catalogue Command #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # This window lists all available objects from the catalogue #==============================================================================
class Window_CatalogueCommand < Window_Command #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def initialize (width, catalogue, *args) @catalogue = catalogue super (width, Array.new (@catalogue.visible_objects.size), 1) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Item #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_item (window_index) # Get real object Index cat_index = @catalogue.visible_objects[window_index] enabled = @catalogue.enable? (cat_index) rect = item_rect(window_index) self.contents.clear_rect(rect) # Draw Icon draw_icon (@catalogue.object_icon (cat_index), rect.x, rect.y, enabled) rect.x += 28 rect.width -= 28 self.contents.font.color = normal_color self.contents.font.color.alpha = enabled ? 255 : 128 self.contents.draw_text(rect, @catalogue.object_name (cat_index)) end end
#============================================================================== # ** Scene Title #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased methods - load_database; load_bt_database #==============================================================================
class Scene_Title #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Load Database #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias mdnabalg_ctlge_base_lddata_5hv9 load_database def load_database (*args) mdnabalg_ctlge_base_lddata_5hv9 (*args) # Run Original Method $data_catalogues = Data_Catalogues.new end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Load Battle Test Database #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias algebramodern_catalogues_btdatabselod_3hb7 load_bt_database def load_bt_database (*args) algebramodern_catalogues_btdatabselod_3hb7 (*args) # Run Original Method $data_catalogues = Data_Catalogues.new end end
#============================================================================== # ** Scene Catalogue #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # This scene handles processing for a catalogue scene #==============================================================================
class Scene_Catalogue < Scene_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization # catalogue_id : the ID of the catalogue to be opened #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def initialize(catalogue_id) @catalogue = $data_catalogues[catalogue_id] # Get all included and visible objects for i in 0...@catalogue.objects.size if @catalogue.include? (i) @catalogue.visible_objects.push (i) end end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Start #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def start super wlh = Window_Base::WLH # Create Label Window height = (Graphics.height - 96 - 2*wlh) % wlh height += 32 + wlh create_label_window (0, 0, 224, height) # Create Command Window height = Graphics.height - @label_window.height - 32 - wlh create_command_window (0, @label_window.height, 224, height) create_card_window create_help_window (0, Graphics.height - 32 - wlh, Graphics.width, 32 + wlh) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Terminate Scene #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def terminate super @catalogue.visible_objects.clear # Dispose all windows @label_window.dispose unless @label_window.nil? || @label_window.disposed? @command_window.dispose unless @command_window.nil? || @command_window.disposed? @card_window.dispose unless @card_window.nil? || @card_window.disposed? @help_window.dispose unless @help_window.nil? || @help_window.disposed? end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Frame Update #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def update super if @command_window.active update_command end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Create Label Window #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def create_label_window (x, y, width, height) @label_window = Window_CatalogueLabel.new (x, y, width, height, @catalogue.name) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Create Command Window #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def create_command_window (x, y, width, height) @command_window = Window_CatalogueCommand.new (width, @catalogue) @command_window.x, @command_window.y = x, y @command_window.height = height end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Create Card Window #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def create_card_window # X, Y, Width, Height set in the window itself, which has to be altered. @card_window = @catalogue.card.new (@catalogue) @card_window.refresh (@catalogue.visible_objects[0]) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Create Help Window #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def create_help_window (x, y, width, height) @help_window = Window_Help.new @help_window.width, @help_window.height = width, height @help_window.create_contents @help_window.x, @help_window.y = x, y @help_window.set_text (@catalogue.object_help_text (@catalogue.visible_objects[0])) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Update Command Window #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def update_command old_index = @command_window.index @command_window.update # Get catalogue index for selected object cat_index = @catalogue.visible_objects[@command_window.index] # If cursor has moved if old_index != @command_window.index # Update Card Window @card_window.refresh (cat_index) @help_window.set_text (@catalogue.object_help_text (cat_index)) end if Input.trigger? (Input::B) Sound.play_cancel return_scene elsif Input.trigger? (Input::C) if @catalogue.c_disabled || !@catalogue.enable? (cat_index) Sound.play_buzzer else process_button_c end end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Processing if Button C is pressed and valid #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def process_button_c end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Return Scene #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def return_scene $scene = Scene_Map.new end end script: - Code:
-
#============================================================================== # Monster Catalogue # Version: 1.0b # Author: modern algebra (rmrk.net) # Date: August 21, 2009 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Description: # # This script allows you to create a monster catalogue that shows a small # information window on any monsters you have encountered (if you have auto # encounter ON. You could also manually alter which monsters have been # "encountered" if you wish to set different conditions on their inclusion in # the catalogues. As with all my Catalogue scripts, you can make many # many different catalogues. Want a catalogue that shows all monsters? That # can be done. Want a catalogue that only shows Undead monsters? That can be # done too. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Instructions: # # This script REQUIRES the Catalogue_Base script, and Bitmap Addons is # recommended. Both can be found in the RMVX scripts Database of RMRK. # # Place this script above Main and below Catalogue Base (which should itself # be below Materials). For instructions on setting up new catalogues and # other configuration options, please see the editable regions at lines 122, # 157, and 252. # # To call a catalogue screen, use this code: # # $scene = Scene_Catalogue.new (id) # # By default, the all enemies catalogue has an ID of 20, and this is because # I didn't want it to interfere if you also have the Items Catalogue. Remember # that NO catalogue can have the same ID as another, even if they are # different scripts. So, by default, to call the all enemies catalogue, the # code is: # # $scene = Scene_Catalogue.new (20) # # To manually "encounter" an enemy without having to actually fight the # monster, you can use the code in a Call script: # # encounter_monster (monster_id) # monster_id : the ID of the monster to encounter # # Some Enemy data can be set in the notebox. # # SPECIES # In order to make monster collection a little more interesting, it is # possible to give an enemy a species now. It is purely cosmetic. If you wish # to get rid of it altogether, then go down to lines 163 and 127 and change # the name to "" and icon to 0. Those are the default species settings. # However, you can change species settings on an individual enemy basis by # putting these codes in the note box of the enemy: # # \species["<name>"] # name : the name of the species. # \species_icon[<index>] # index : the icon index for the species # # Example: # \species[Undead] # \species_icon[112] # # ICON # In order to make the monster list a little more interesting looking, you can # give them individual icons to show up in that list. If you do not give them # an individual icon, then it will default to showing the species icon. The # code to put in the notes box is: # # \icon[<index>] # index : the index of the icon you want to use. # # Example: # \icon[1] # # Note: if you want to keep a species icon, but don't want any icons to show # up next to the monster's name in the list, than you can manually set the # icon to blank with the code: \icon[0] # # DEscriptION # Another feature to make the screens a little more interesting is that you # can give monsters individual descriptions. If you don't give them a # description, than it will default to the value at line 166. The code to put in # the note box is: # # \description[<text>] # text : the description text. Don't worry about extending past one line. # # Example: # \description[It may be blind, # but it's still a dangerous # foe] # # CATALOGUE Y # This is something purely cosmetic. By default, the monster battler is drawn # at about 48 pixels in the catalogue window. This allows you to change that # y value if you so desire. It can make for a nice effect with maybe flying # creatures appearing a little over the border, for instance, or anything like # that really. It's very unnecessary though, and I recommend you not altering # it. The code to put in the note box is: # # \cat_y[<new_y>] # new_y : the y position for the battler in the catalogue window # # Example: # \cat_y[16] #==============================================================================\
#============================================================================== # *** ModernAlgebra #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new constants - CM_DEFAULT_SPECIES_ICON #==============================================================================
module ModernAlgebra #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ** CONSTANTS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ # EDITABLE REGION A #`````````````````````````````````````````````````````````````````````````` # Read the instructions surrounding each constant to see what it does. #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| # The icon for whatever you set as the default species CM_DEFAULT_SPECIES_ICON = 196 # Truth value of whether monsters should be visible once they are first # fought against or whether it should be done manually. CM_AUTO_ENCOUNTER_MONSTERS = true # All colours set up as: [Red, Green, Blue[, Alpha]] CM_MONSTERSPECIES_COLOUR = [160, 160, 160] # Colour of Monster Race CM_MONSTERCARD_RIM_COLOUR = [105, 105, 255, 255] # Colour of Card Border CM_MONSTERCARD_RIMSHADOW_COLOUR = [0, 0, 0] # Shadow of Card Border # Icons to represent elements of items in the Item Card. Every element MUST # have an icon. If you have set this up in CI_ITEM_ELEMENT_ICONS, you can # delete it here. CI_ITEM_ELEMENT_ICONS = [132, 2, 4, 14, 16, 12, 138, 137, 104, 105, 106, 107, 108, 109, 110, 111] #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| # END EDITABLE REGION A #////////////////////////////////////////////////////////////////////////// end
#============================================================================== # *** Vocab #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new constants : GI_EVASION; GI_HIT_RATIO; CM_DEFAULT_RACE #==============================================================================
module Vocab #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ** CONSTANTS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ # EDITABLE REGION B #`````````````````````````````````````````````````````````````````````````` # Read the instructions surrounding each constant to see what it does. #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| # If a species name is not set in the enemy's note box, it will show up # as the following for defualt. CM_DEFAULT_SPECIES_NAME = "Monster" # If a description is not set in an enemy's note box, this is the description # it will have. CM_DEFAULT_MONSTER_DEscriptION = "A fearsome foe" # These are the letter ranks for a monster's element efficiency. CM_ELEMENT_RANKS = ["A", "B", "C", "D", "E", "F"] # All constants prefaced by GI are also present in the Grid Inventory script # and in the Item & Skill Catalogue script; if you have either of those # scripts, it is recommended that you delete any of the constants with GI # preface in this script (Monster Catalogue). # THe label for stats GI_STATS = "Stats" # The label for the evasion stat of armors GI_EVASION = "Evasion" # The label for the hit stat of skills & weapons GI_HIT_RATIO = "Hit Ratio" #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| # END EDITABLE REGION B #////////////////////////////////////////////////////////////////////////// end
#============================================================================== # ** RPG::Enemy #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - ma_species #==============================================================================
class RPG::Enemy #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Species Name #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_species_name if @species_name == nil @species_name = self.note[/\\SPECIES\[(.*?)\]/i] != nil ? $1 : Vocab::CM_DEFAULT_SPECIES_NAME end return @species_name end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Species Icon #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def ma_species_icon if @species_icon == nil @species_icon = self.note[/\\SPECIES_ICON\[(\d+)\]/i] != nil ? $1.to_i : ModernAlgebra::CM_DEFAULT_SPECIES_ICON end return @species_icon end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * ICON #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def icon_index if @ma_icon == nil @ma_icon = self.note[/\\ICON\[(\d+)\]/i] != nil ? $1.to_i : ma_species_icon end return @ma_icon end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * ICON #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def description if @ma_desc == nil @ma_desc = self.note[/\\DEscriptION\[(.*?)\]/i] != nil ? $1 : Vocab::CM_DEFAULT_MONSTER_DEscriptION end return @ma_desc end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Catalogue Y #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def catalogue_y @ma_cat_y = (self.note[/\\CAT_Y\[(\d+)\]/i] != nil ? $1.to_i : 32) if @ma_cat_y == nil return @ma_cat_y end end
#============================================================================== # ** Data Catalogues #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - initialize #==============================================================================
class Data_Catalogues #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias malgbr_monstcatlg_intlz_5bc2 initialize def initialize (*args) malgbr_monstcatlg_intlz_5bc2 (*args) # Run Original Method #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ # EDITABLE REGION C #`````````````````````````````````````````````````````````````````````` # These are the setup options for making catalogues. It can be sort of # complicated, so I will go into detail here. # # A catalogue object can be made with the following code: # # @data[<id>] = Catalogue_Monster.new ("<name>", [<objects>], <show_all>) # id : this is the ID of this catalogue. When you open a # catalogue, this is how you reference the catalogue you want to # open. No two catalogues can EVER possess the same ID. # name : this is the name of the catalogue, as it appears in the # catalogue scene when you open this catalogue. Defaults to # "Catalogue" # objects : this is the array of monster IDs that belong to this # catalogue and will show up (if encountered) when the catalogue is # open. Defaults to [] # show_all : this is the truth value on whether encountered arrays # are ignored. If true, then all objects in the catalogue, # regardless of whether they've been encountered, will show up # when this particular catalogue is opened. Note that it will # show all objects of THIS catalogue, which is to say that it # will only show them if they are set as objects belonging. It # DOESN'T mean that all monsters ever will show up, unless those # are the objects setup. Defaults to false # # The default monster catalogues are: # # 20 => Name: Enemies; Objects: All enemiesin database; shows only # encountered enemies in its group. It is called by: # # $scene = Scene_Catalogue.new (20) #`````````````````````````````````````````````````````````````````````` # * EXAMPLES # monsters = [1, 2, 3, 4, 7, 8, 9] # @data[22] = Catalogue_Monster.new ("Random Baddies", monsters, true) # # this will make a catalogue that will include the enemies with IDs # 1, 2, 3, 4, 7, 8, & 9. It is named "Random Baddies", and it will # always show all the monsters it includes regardless of whether # they have been encountered because show_all is true. It's ID is 22, # so it can be called by: # $scene = Scene_Catalogue.new (22) # # monsters = [2, 3, 6, 11, 14, 15, 18, 19, 27] # @data[23] = Catalogue_Monster.new ("Flying Enemies", monsters) # # this will make a catalogue that will include the enemies with IDs # 2, 3, 6, 11, 14, 15, 18, 19, & 27. It is named "Flying Enemies", # and it will only show the monsters it includes if they have been # encountered by the party. It's ID is 23, so it can be called by: # $scene = Scene_Catalogue.new (23) #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| all_monsters = [] for i in 1...$data_enemies.size do all_monsters.push (i) end @data[20] = Catalogue_Monster.new ("Enemies", all_monsters) undead = [11, 12, 17, 26] @data[21] = Catalogue_Monster.new ("Undead", undead) #|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| # END EDITABLE REGION C #////////////////////////////////////////////////////////////////////// end end
#============================================================================== # ** Game_Party #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - initialize # new public instance variable - encountered_monsters #==============================================================================
class Game_Party #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Public Instance Variables #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ attr_reader :encountered_monsters #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias algbamorn_init_monstrcatlg_6jb1 initialize def initialize (*args) @encountered_monsters = [] algbamorn_init_monstrcatlg_6jb1 (*args) # Run Original Method end end
#============================================================================== # ** Game Interpreter #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new method - encounter_monster #==============================================================================
class Game_Interpreter #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Encounter Monster # monster_id : the ID of the monster to encounter #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def encounter_monster (monster_id) $game_party.encountered_monsters.push (monster_id) unless $game_party.encountered_monsters.include? (monster_id) end end
#============================================================================== # ** Catalogue_Monster #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # modified super methods - card; object; object_help_text; include? #==============================================================================
class Catalogue_Monster < Catalogue_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Card #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def card return Window_MonsterCard end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object # index : index of the object in @objects #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def object (index) return nil if index == nil || @objects[index] == nil return $data_enemies[@objects[index]] end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Help Text # index : index of the object in @objects #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def object_help_text (index) return "" if object (index) == nil return object (index).description end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Include? # index : index of the object in @objects #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def include? (index) return true if @show_all return $game_party.encountered_monsters.include? (@objects[index]) end end
#============================================================================== # ** Window MonsterCard #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # This window displays all relevant information about a monster #==============================================================================
class Window_MonsterCard < Window_CatalogueCard #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Refresh # placement : the item placement #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def refresh (index) super draw_border return if @object == nil draw_monster_name (8, 4) draw_monster_species (8, 32) # Calculate room all other stats will take item_stats, stat_names = get_monster_stats y = draw_stats_box (6, contents.width - 12, item_stats.size) height = y - @object.catalogue_y draw_monster_battler (0, @object.catalogue_y, contents.width, height) draw_stats_signifier (30, y) draw_monster_stats (12, y + (WLH / 2), contents.width - 24, item_stats, stat_names) draw_monster_elements (contents.width - 32, 4) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Border #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_border # Choose Colours for Frame rim = Color.new(*ModernAlgebra::CM_MONSTERCARD_RIM_COLOUR) shadow = Color.new(*ModernAlgebra::CM_MONSTERCARD_RIMSHADOW_COLOUR) # Draw the frame cb_outline_rect (1, 1, contents.width - 1, contents.height - 1, shadow, 1, 1) cb_outline_rect (0, 0, contents.width - 1, contents.height - 1, rim, 1, 1) # Other Lines contents.fill_rect (1, 31, contents.width - 2, 1, rim) contents.fill_rect (2, 32, contents.width - 4, 1, shadow) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Monster Name # x, y : the coordinates to draw on #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_monster_name (x, y) contents.font.color = normal_color contents.draw_text (x, y, 200, WLH, @object.name) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Monster Species # x, y : the coordinates to draw on #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_monster_species (x, y) # Draw the species icon draw_icon (@object.ma_species_icon, x, y) contents.font.color = Color.new (*ModernAlgebra::CM_MONSTERSPECIES_COLOUR) contents.draw_text (x + 24, y, contents.width / 2, WLH, @object.ma_species_name) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Stats Box # x : the x coordinate for the stats # width : the amount of space it can take horizontally #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_stats_box (x, width, size) # Draw Box box_size = ((size / 2) + 1)*WLH y = contents.height - 8 - box_size cb_outline_rect (x, y, contents.width - 2*x, box_size) return y end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Stats Signifier #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_stats_signifier (x, y) # Clear place for signifier tw = contents.text_size (Vocab::GI_STATS).width contents.clear_rect (x, y, tw + 4, 2) contents.font.color = system_color contents.draw_text (x + 2, y - (WLH / 2), tw + 2, WLH, Vocab::GI_STATS) end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Monster Stats # x : the x coordinate for the stats # width : the amount of space it can take horizontally #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_monster_stats (x, y, width, item_stats, stat_names) room_width = (contents.width - x*2 - 10) / 2 for i in 0...item_stats.size tw = contents.text_size (item_stats[i].to_s).width x_actual = x + (room_width + 10)*(i % 2) # Draw Signifier Text contents.font.color = system_color contents.draw_text (x_actual, y + (i / 2)*WLH, room_width - tw - 4, WLH, stat_names[i]) contents.font.color = normal_color contents.draw_text (x_actual, y + (i / 2)*WLH, room_width, WLH, item_stats[i].to_s, 2) end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Monster Battler # x, y : the coordinates to draw on # enabled : truth value of whether it should be drawn opaque or not #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_monster_battler (x, y, width, height) bmp = Cache.battler (@object.battler_name, @object.battler_hue) src_rect = bmp.rect.dup opac_rect = Rect.new (0, 0, src_rect.width, 0) draw_opac_rect = false # If it will overlap # Take the centre of the bitmap if too large if width < src_rect.width src_rect.x = (src_rect.width - width) / 2 opac_rect.x = src_rect.x src_rect.width = width else # Centre battler x += (width - src_rect.width) / 2 end # Take the centre of the bitmap if too large if height < src_rect.height opac_rect.y = height opac_rect.height = src_rect.height - height src_rect.height = height draw_opac_rect = true else # Centre battler y += (height - src_rect.height) / 2 end contents.blt (x, y, bmp, src_rect) contents.blt (x, y + opac_rect.y, bmp, opac_rect, 128) if draw_opac_rect end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Draw Monster Elements # x, y : coordinates to draw onto #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def draw_monster_elements (x, y) contents.font.color = system_color for i in 1...@object.element_ranks.xsize next if @object.element_ranks[i] == 3 draw_icon (ModernAlgebra::CI_ITEM_ELEMENT_ICONS[i - 1], x, y, false) # Draw Rank rank = Vocab::CM_ELEMENT_RANKS[@object.element_ranks[i] - 1] contents.draw_text (x, y, 24, 24, rank, 1) x -= 24 end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Get Monster Stats #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def get_monster_stats item_stats, stat_names = [], [] # HP and MP item_stats.push (@object.maxhp, @object.maxmp) stat_names.push (Vocab.hp, Vocab.mp) # Get all parameters item_stats.push (@object.atk, @object.def, @object.agi, @object.spi) stat_names.push (Vocab.atk, Vocab.def, Vocab.agi, Vocab.spi) item_stats.push (@object.hit, @object.eva) stat_names.push (Vocab::GI_HIT_RATIO, Vocab::GI_EVASION) return item_stats, stat_names end end
#============================================================================== # ** Scene Battle #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # aliased method - initialize #==============================================================================
class Scene_Battle #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Object Initialization #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias malgbra_catmonster_start_5hg2 start def start (*args) if ModernAlgebra::CM_AUTO_ENCOUNTER_MONSTERS array = $game_party.encountered_monsters $game_troop.members.each { |enemy| array.push (enemy.enemy_id) unless array.include? (enemy.enemy_id) } end malgbra_catmonster_start_5hg2 (*args) # Run Original Method end end
Dernière édition par lecode234 le Ven 29 Jan 2010 - 19:54, édité 1 fois |
|