Subclass Selection System
Last Update: 2009.05.05
By: Yanfly Engine ReDux
Introduction
There's been a lot of scripts where class changing is possible, but I've yet to see anything about a subclass system. Although this script allows changing primary classes, its main focus is the subclass system. There are many rules you may set for your subclass system. You can enable or disable equipment sharing amongst classes. You can choose how subclasses affect your base stats or not at all. You can determine how skills can be learned via subclass, etc.
CLASS SYSTEM
Classes are now split between primary and secondary classes. You can set many different rules for each class here inside the script. Secondary classes will expand the skill pool and equipment pool an actor has. With the class system, actors can also get a change in their base stats depending on which class they have equipped at the time. They can also get different amounts of boosts for their stats upon leveling up. The possibilities are vast.
JP SYSTEM
There is a new stat for each actor called JP. This new stat can be earned through various ways. It can be earned in battle, from items, attacking, using skills and items, and guarding. All of that can be modified. What JP does is allow your actors to learn new skills through a JP purchase system. These skills are unlocked when JP is spent on them and an actor will permanently have the skill at their disposal.
Update History
Screenshots
Script
Click here to view the main script.
Click here to view the Victory Aftermath Expansion Page.
Click here to view FAQ.
Demo
There is a demo available to see how this script runs.
Click here to grab the demo.
Instructions
Since this is a big script, I’ve included a number of screenshots to explain everything (hopefully).
---------
Since I know not everybody is going to want these options to appear immediately (or some of them to appear at all), I've binded four switches to the appearance of these options. Enable them by going into the event editor and turning the switches to true. The options will then be provided for the player.
ALLOW_CHANGE_PRIMARY_SWITCH, ALLOW_CHANGE_SUBCLASS_SWITCH, ENABLE_CLASS_CHANGE_SWITCH, ENABLE_LEARN_SKILLS_SWITCH
Should you like to change the switch ID's, adjust those four entries there within the module to meet your demands
ALLOW_EQUIP
If true, actors can wear equipment allowed by their subclasses.
---------
Let's start with the Class Change menu. Here, the player can change their primary class (so long as ALLOW_CHANGE_PRIMARY_SWITCH is true) and their subclass (so long as ALLOW_CHANGE_SUBCLASS_SWITCH is true). "Learn" is a shortcut to go to the skill learning menu and "Finish" is as it means, ends the class changing process and goes back to the main menu. On this screen, it displays what the player can change their primary and subclass into, the stat difference after making the change, and each class's JP totals.
If desired, the string data can be changed in the script's module through MENU_CLASS_CHANGE_TITLE, PRIM, SUB, LEARN, and DONE. Icons can be swapped out for different ID's as well. Just modify their ID's as you see within the ICONS array.
---------
Considering some class combinations can provide extremely long names that will end up getting smushed when viewed, there is the ability to swap out the combination name into something else. Note that the class combination results aren't backwards compatible. For instance, a Knight/Magician becomes a "Magic Knight" while a Magician/Knight becomes a "Spell Sword." You can edit these to however you'd like them and even make up more unique names. Single name classes generally don't have unique names to accompany them.
---------
If an actor is a specific class, they can get additional stat bonuses for leveling up with that class. This can be enabled for both the primary class and subclass within the module. Look for the CLASS_STAT_BONUS_SET and CLASS_STAT_BONUS_RAN to adjust the stat increases for each class. Or you can enable one or the other, or neither at all. The extra bonuses the actors receive can be adjusted within the table above. These stats can be a set increase or a random increase (found on the table below the set increase). Determine what's suitable and fitting for your classes when leveling up.
---------
In addition to setting increases with your classes, you can have your primary class and subclasses affect base stats. They will affect the actor's base stats by a percentage, which will be determined by whatever you input within the CLASS_STAT_RATE table. You can also enable whether or not you'd like for both primary and subclasses to affect stats, only one of them, or neither of them at all.
---------
Let's go into the "Learn Skill" menu. Here, actors can spend JP they've earned for their respective classes to learn new skills for themselves. Learned skills are never forgotten, but they won't be available for use unless either the primary class or subclass pertaining to that skill is equipped. This means a Knight/Magician can't use Grappler skills until the actor switches to the Grappler class for their primary class or subclass.
USE_JP_SYSTEM
If you wish to drop the JP system altogether, set that option in the module to false.
MAX_JP_EARNED
This will determine what's the maximum JP in a class that an actor can store.
---------
To determine what skills each class can use, you must first adjust the CLASS_SKILL_ALLOW arrays. Input the skill ID's into the respective arrays for each class ID. These skills will become limited to only those classes unless they exist in other classes. However, if you place the skills into class ID 0, those skills will become common skills and usable regardless of what class the actors have equipped.
---------
Also, the before-mentioend arrays determine which skills will appear within the "Learn Skill" menu command so long as those skills have a JP cost. You can set the skill's required JP cost within the skill's notebox by using the <jp cost x> tag. If you don't want a skill to be unlockable through spending JP, just don't give the skill a JP cost and it won't appear on the list. However, those un-JP-learnable skills will still count towards the class's mastery percentage.
---------
For those wondering about how actors will earn JP, there's a number of ways. The actors can perform normal attacks, perform skills, guard, or use items. All of these can be enabled or disabled and each of them can have different amounts of JP adjusted. JP earned in battle will only be applied to the actor's primary class and the actor's subclass. However, there is a percentile split between the primary class and subclass JP earnings.
By default, the primary class will earn 100% of the JP earned through battle. This can be adjusted through EARN_JP_MULTIPLIER_PRIMARY.
By default, the subclass will earn only 50% of the JP earned through battle. This can be adjusted through EARN_JP_MULTIPLIER_SUBCLASS.
---------
In addition to actions giving JP, you can adjust the rate at which monsters give JP upon defeat by changing ENEMIES_DEFAULT. If you would like certain enemies to give a different amount of JP than the rest, simply put in the <enemy jp x> tag into the respective enemy's notebox and they'll provide that amount instead of the default. To make some enemies not give off any JP at all, put in the <enemy jp 0> tag to prevent them from doing so.
---------
Those who use Display Victory Aftermath can have an extra page tacked on to display JP earnings. In addition to the extra page, there's a whole new set of quotes you can let your actors say. You can find that extra page add-on here. Let those creativity juices continue flowing
---------
And finally, last but not least, if you wish to not give your players access to the class changing menu, but would still like for them to have their primary and subclasses changable, you can do so through the usage of items. There's five new tags for items and they function as follows:
<set primary x> This will set the target actor's primary class to class ID x. It will also unlock that class for the actor.
<set subclass x> This will set the target actor's subclass to the class ID x. It will also unlock that class for the actor.
<unlock class x> This will just plain flat out unlock class ID x for the target actor. Insert multiple of these to have one item unlock more classes.
<lock class x> This will remove a the unlocked class ID x from the target actor. Insert multiple of these to have one item lock multiple classes.
<gain jp x> This will grant the target actor x JP. The same rules apply. JP is given to the primary class and subclass (with their multipliers).
And that's all there is regarding item effects.
---------
And that's all~ This script's been made for several purposes. Main reason was to provide ease with class-switching and the other was to provide more replayability within RPG Maker VX games (something that's rarely ever in it). The third reason was for people to put more thought into their own game's mechanics should they use this script. As this script requires a rather huge range of things to be done before it's adaptable for any RPG Maker game, creators will need to understand their own game even further. This, I believe, is the first step to making an enjoyable game for their players to smile at.
If you have questions, read the FAQ first before asking them.
Compatibility
- Works with KGC Help Extension, Equip Extension, Custom Menu Command
- Works with Yanfly Victory Aftermath
- Does NOT work with KGC Skill CP System
Please report any compatibility issues and I'll try my best to fix them.
Terms and Conditions
Just give credit where due.
Credits and Thanks
- My Beta Testers: Ruka, Jiu, Shadow, Trance, Akira, Kerigis
- Final Fantasy Tactics for influence.
Originally Found Here: Here
Last Update: 2009.05.05
By: Yanfly Engine ReDux
Introduction
There's been a lot of scripts where class changing is possible, but I've yet to see anything about a subclass system. Although this script allows changing primary classes, its main focus is the subclass system. There are many rules you may set for your subclass system. You can enable or disable equipment sharing amongst classes. You can choose how subclasses affect your base stats or not at all. You can determine how skills can be learned via subclass, etc.
CLASS SYSTEM
Classes are now split between primary and secondary classes. You can set many different rules for each class here inside the script. Secondary classes will expand the skill pool and equipment pool an actor has. With the class system, actors can also get a change in their base stats depending on which class they have equipped at the time. They can also get different amounts of boosts for their stats upon leveling up. The possibilities are vast.
JP SYSTEM
There is a new stat for each actor called JP. This new stat can be earned through various ways. It can be earned in battle, from items, attacking, using skills and items, and guarding. All of that can be modified. What JP does is allow your actors to learn new skills through a JP purchase system. These skills are unlocked when JP is spent on them and an actor will permanently have the skill at their disposal.
Update History
- 2009.05.05 - Finished demo. Fix up remaining bugs.
- 2009.04.30 - Finished script. Started on demo.
- 2009.04.29 - Started script.
Screenshots

Script
Click here to view the main script.
Click here to view the Victory Aftermath Expansion Page.
Click here to view FAQ.
Demo
There is a demo available to see how this script runs.

Click here to grab the demo.
Instructions
Since this is a big script, I’ve included a number of screenshots to explain everything (hopefully).
---------

Since I know not everybody is going to want these options to appear immediately (or some of them to appear at all), I've binded four switches to the appearance of these options. Enable them by going into the event editor and turning the switches to true. The options will then be provided for the player.
ALLOW_CHANGE_PRIMARY_SWITCH, ALLOW_CHANGE_SUBCLASS_SWITCH, ENABLE_CLASS_CHANGE_SWITCH, ENABLE_LEARN_SKILLS_SWITCH
Should you like to change the switch ID's, adjust those four entries there within the module to meet your demands
ALLOW_EQUIP
If true, actors can wear equipment allowed by their subclasses.
---------

Let's start with the Class Change menu. Here, the player can change their primary class (so long as ALLOW_CHANGE_PRIMARY_SWITCH is true) and their subclass (so long as ALLOW_CHANGE_SUBCLASS_SWITCH is true). "Learn" is a shortcut to go to the skill learning menu and "Finish" is as it means, ends the class changing process and goes back to the main menu. On this screen, it displays what the player can change their primary and subclass into, the stat difference after making the change, and each class's JP totals.
If desired, the string data can be changed in the script's module through MENU_CLASS_CHANGE_TITLE, PRIM, SUB, LEARN, and DONE. Icons can be swapped out for different ID's as well. Just modify their ID's as you see within the ICONS array.
---------

Considering some class combinations can provide extremely long names that will end up getting smushed when viewed, there is the ability to swap out the combination name into something else. Note that the class combination results aren't backwards compatible. For instance, a Knight/Magician becomes a "Magic Knight" while a Magician/Knight becomes a "Spell Sword." You can edit these to however you'd like them and even make up more unique names. Single name classes generally don't have unique names to accompany them.
---------

If an actor is a specific class, they can get additional stat bonuses for leveling up with that class. This can be enabled for both the primary class and subclass within the module. Look for the CLASS_STAT_BONUS_SET and CLASS_STAT_BONUS_RAN to adjust the stat increases for each class. Or you can enable one or the other, or neither at all. The extra bonuses the actors receive can be adjusted within the table above. These stats can be a set increase or a random increase (found on the table below the set increase). Determine what's suitable and fitting for your classes when leveling up.
---------

In addition to setting increases with your classes, you can have your primary class and subclasses affect base stats. They will affect the actor's base stats by a percentage, which will be determined by whatever you input within the CLASS_STAT_RATE table. You can also enable whether or not you'd like for both primary and subclasses to affect stats, only one of them, or neither of them at all.
---------

Let's go into the "Learn Skill" menu. Here, actors can spend JP they've earned for their respective classes to learn new skills for themselves. Learned skills are never forgotten, but they won't be available for use unless either the primary class or subclass pertaining to that skill is equipped. This means a Knight/Magician can't use Grappler skills until the actor switches to the Grappler class for their primary class or subclass.
USE_JP_SYSTEM
If you wish to drop the JP system altogether, set that option in the module to false.
MAX_JP_EARNED
This will determine what's the maximum JP in a class that an actor can store.
---------

To determine what skills each class can use, you must first adjust the CLASS_SKILL_ALLOW arrays. Input the skill ID's into the respective arrays for each class ID. These skills will become limited to only those classes unless they exist in other classes. However, if you place the skills into class ID 0, those skills will become common skills and usable regardless of what class the actors have equipped.
---------

Also, the before-mentioend arrays determine which skills will appear within the "Learn Skill" menu command so long as those skills have a JP cost. You can set the skill's required JP cost within the skill's notebox by using the <jp cost x> tag. If you don't want a skill to be unlockable through spending JP, just don't give the skill a JP cost and it won't appear on the list. However, those un-JP-learnable skills will still count towards the class's mastery percentage.
---------

For those wondering about how actors will earn JP, there's a number of ways. The actors can perform normal attacks, perform skills, guard, or use items. All of these can be enabled or disabled and each of them can have different amounts of JP adjusted. JP earned in battle will only be applied to the actor's primary class and the actor's subclass. However, there is a percentile split between the primary class and subclass JP earnings.
By default, the primary class will earn 100% of the JP earned through battle. This can be adjusted through EARN_JP_MULTIPLIER_PRIMARY.
By default, the subclass will earn only 50% of the JP earned through battle. This can be adjusted through EARN_JP_MULTIPLIER_SUBCLASS.
---------

In addition to actions giving JP, you can adjust the rate at which monsters give JP upon defeat by changing ENEMIES_DEFAULT. If you would like certain enemies to give a different amount of JP than the rest, simply put in the <enemy jp x> tag into the respective enemy's notebox and they'll provide that amount instead of the default. To make some enemies not give off any JP at all, put in the <enemy jp 0> tag to prevent them from doing so.
---------

Those who use Display Victory Aftermath can have an extra page tacked on to display JP earnings. In addition to the extra page, there's a whole new set of quotes you can let your actors say. You can find that extra page add-on here. Let those creativity juices continue flowing
---------

And finally, last but not least, if you wish to not give your players access to the class changing menu, but would still like for them to have their primary and subclasses changable, you can do so through the usage of items. There's five new tags for items and they function as follows:
<set primary x> This will set the target actor's primary class to class ID x. It will also unlock that class for the actor.
<set subclass x> This will set the target actor's subclass to the class ID x. It will also unlock that class for the actor.
<unlock class x> This will just plain flat out unlock class ID x for the target actor. Insert multiple of these to have one item unlock more classes.
<lock class x> This will remove a the unlocked class ID x from the target actor. Insert multiple of these to have one item lock multiple classes.
<gain jp x> This will grant the target actor x JP. The same rules apply. JP is given to the primary class and subclass (with their multipliers).
And that's all there is regarding item effects.
---------
And that's all~ This script's been made for several purposes. Main reason was to provide ease with class-switching and the other was to provide more replayability within RPG Maker VX games (something that's rarely ever in it). The third reason was for people to put more thought into their own game's mechanics should they use this script. As this script requires a rather huge range of things to be done before it's adaptable for any RPG Maker game, creators will need to understand their own game even further. This, I believe, is the first step to making an enjoyable game for their players to smile at.
If you have questions, read the FAQ first before asking them.
Compatibility
- Works with KGC Help Extension, Equip Extension, Custom Menu Command
- Works with Yanfly Victory Aftermath
- Does NOT work with KGC Skill CP System
Please report any compatibility issues and I'll try my best to fix them.
Terms and Conditions
Just give credit where due.
Credits and Thanks
- My Beta Testers: Ruka, Jiu, Shadow, Trance, Akira, Kerigis
- Final Fantasy Tactics for influence.
Originally Found Here: Here