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