[ACE]Cambio Dinamico de Clases

OP

Basil

Platinum User
Mensajes
2.961
Reacciones
338
Puntos
924
Ubicación
República independiente de Baja California
Dynamic Class Changer
-Permite que el nombre de la clase cambie según quien la este utilizando, por ejemplo,
brujo para hombres y bruja para mujeres, o mago y maga, etc.
Creditos: ???nOBodY???

Código:
#===============================================================================
# Dynamic Class Changer v1.1 (RGSS3)
# by ???nOBodY???
# Last Updated: 12/12/2011
#
# Version 1.1
#
#===============================================================================
#
# Update History:
# - Version 1.1  - Actors' noteboxes implemented /w notetag support
# - Version 1.0  - Initial release; RGSS2 => RGSS3
#
#===============================================================================
#
# This snippet allows an actor's class name to be changed according to who is
# using the class. For example, the default setup below changes "Magician" to
# "Wizard" for males, and "Witch" for females, for the first four party members.
# This can be used in a variety of ways, from gender-based to Zodiac-sign-based,
# to even having every class be named something unique for every character in the
# game! Slightly modified for RMVX Ace.
#
# New to RMVXA's v1.1, is the ability to use the new editor's built-in noteboxes
# for actors:
#
#   <class name: ID New Name>
#
# Ex.
#
#   <class name: 3 Wizard>
#   <class name: 4 Priest>
#   <class name: 5 » Super Hero! «>
#
#===============================================================================
# Credits:
#
# -???nOBodY??? (aka sUBzeR_0)
# -Special Thanks to Victor Sant
#===============================================================================
#
# Overwrites:
# - Window_Base: draw_actor_class
#
#===============================================================================

$imported = {} if $imported == nil
$imported["DynamicClassChanger"] = true

module SUBZERO_MODULE
  #only include the class ids you wish to have their names changed
  INITIAL_CLASS_NAMES = {
    # actor id => [ [class id,name],[class id,name],[class id,name] ]
    0 => 0, # DO NOT REMOVE
    1 => [ [3,"Wizard"],[4,"Priest"] ],
    2 => [ [3,"Witch"],[4,"Cleric"], ],
    3 => [ [3,"Wizard"],[4,"Priest"] ],
    4 => [ [3,"Witch"],[4,"Cleric"] ],
    5 => [  ],
    6 => [  ],
    7 => [  ],
    8 => [  ],
  }

  # <class name: ID New Name>
  CLASS_NAME = /<CLASS[ _]*NAME:?[ ]*(\d+)[ ]*(.*)>/i
end

#===============================================================================
# CUSTOMIZATION END. FURTHER EDITTING IS DONE AT YOUR OWN RISK. YOU HAVE BEEN WARNED.
#===============================================================================

#===============================================================================
# Window_Base
#===============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
    # * Draw Class
    #     actor : actor
    #     x     : draw spot x-coordinate
    #     y     : draw spot y-coordinate
    #--------------------------------------------------------------------------
    def draw_actor_class(actor, x, y, width = 112)
      change_color(normal_color)
      #sUBzeR_0 Patch
      text = actor.class.name

      i = 0
      until i == SUBZERO_MODULE::INITIAL_CLASS_NAMES[actor.id].size
        if SUBZERO_MODULE::INITIAL_CLASS_NAMES[actor.id][i].include?(actor.class.id)
          text = SUBZERO_MODULE::INITIAL_CLASS_NAMES[actor.id][i][1]
          break
        end
        i += 1
      end

      note = $data_actors[actor.id].note
      note.scan(SUBZERO_MODULE::CLASS_NAME).each do |id, name|
        text = name if actor.class_id == id.to_i
      end

      draw_text(x, y, width, line_height, text)
      #sUBzeR_0 Patch
    end
end #class Window_Base < Window
 
Arriba Pie