Skip to content

Releases: Lazislacker/MZ-ClassChange

Compatibility Fix for VizuMZ_ItemEquipCore

20 Sep 23:55

Choose a tag to compare

Fixes the error caused when entering the class change scene with both plugins active.

Fixes for keyboard only play

17 Sep 02:20

Choose a tag to compare

Provides fixes for the following:

  • Pressing OK right after opening the Class Change Scene causes an error
  • The first class in the list is not auto selected

Adds the ability to give multiple classes with one tag.
This is done with a comma separated list. For example:
<LaziGiveClass: 1,2,5,4> would give classes with ID 1, 2, 4, and 5 to that actor.

Class Change Bug Fix

14 Sep 15:20

Choose a tag to compare

This bug fix fixes pressing OK without selecting a class resulting in an error.

Lazi Class Change 1.1.0 + Innate Skills 1.0.0 + Learn Classes 1.0.0

13 Sep 04:30

Choose a tag to compare

This release includes fixes to actor mode stat gain as well as two new sub-modules.
These sub-modules are optional and add new features onto the Class Change system. They should be placed after "LaziClassChange" or "LaziClassChangeBasic" depending on which base plugin you are currently using.

Innate Skills -> This sub-module allows actor's to learn skills automatically based on class levels or skills known. These skills are innate to the actor and will be usable no matter what class the actor changes to.

Learn Classes -> This sub-module allows actor's to learn classes based on their current level or current level in a combination of other classes.

The help files for Innate Skills and Learn Classes are reproduced below.

Innate Skills

This plugin allows notetags to be placed on Actor's that will grant them skills when certain requirements are met.
These skills can be used by the Actor regardless of what their current class is set too.
The following notetags are used to add innate skills to an actor:
<LaziInnateSkill:[skillID],[level]> -> This will add the skill to the actor when they reach the required level in
any class. This includes the Base class in Actor Mode.

<LaziInnateSkillBASE:[skillID],[level]> -> This will add the skill to the actor when they reach the required level
in their base class. This tag is only active in Actor Mode and will do nothing in any other mode.

<LaziInnateSkill:[skillID]ReqSkills:[skillID],...> -> This will add the skill to the actor when they know all
skills in the ReqSkills list at the same time.

<LaziInnateSkill:[skillID]ReqANDClass:|[classID],[classLevel]|...> -> This will add the skill to the actor
when they reach the required level for all the classes in the list.

<LaziInnateSkill:[skillID]ReqORClass:|[classID],[classLevel]|...> -> This will add the skill to the actor
when they reach the required level for at least one of the classes in the list.

==Examples==
<LaziInnateSkill:1,10>
<LaziInnateSkillBASE:1,15>
<LaziInnateSkill:1ReqSkills:3,4,5>
<LaziInnateSkill:1ReqANDClass:|2,10||3,5||4,15|>
<LaziInnateSkill:1ReqORClass:|2,15||3,10|>

Learn Classes

This plugin allows notetags to be placed on an Actor that will allow the actor to learn classes
when they reach a certain level in another class or a combination of other classes.
There are four notetags that are used for this in the various Class Change modes.

==Shared EXP Mode==
<LaziLearnableClass:[level]>

==Individual EXP Mode==
(The ... represents a series being possible)
<LaziLearnableClassAND:|[classId],[level]|...> -> All of the classes must be at the specified level
<LaziLearnableClassOR:|[classId],[level]|...> -> At least one of the classes must be at the level

==Actor Mode==
(The ... represents a series being possible)
<LaziLearnableClassAND:|[classId],[level]|...> -> All of the classes must be at the specified level
<LaziLearnableClassOR:|[classId],[level]|...> -> At least one of the classes must be at the level
<LaziLearnableClassBase:[level]>

First Public Release Of Class Change

06 Sep 04:43

Choose a tag to compare

The first public release of both the Class Change and Class Change Basic plugins.
Class Change Basic includes the Shared and Individual leveling systems. This plugin should be used if you don't intend to make use of the Actor Mode feature.
The Class Change plugin includes all the features in Class Change Basic in addition to the Actor Mode features. This plugin should be used if you intend to use the Actor Mode feature.

The help documentation for the Class Change plugin is reproduced below.

|Documentation|

->Parameters<-
Add Entry To Menu -> If enabled, a Class Change entry will be added to the
menu. If this is disabled, another plugin will have to add an entry to the
menu that sends the symbol "classchange" to the handler.

Menu Option Text -> The text that will be displayed in the menu if
"Add Entry To Menu" is enabled.

Level System Type -> The Type of level system to use. Currentl two are
support with a third in development:
Shared EXP -> The actor has one set of experience and when
switching classes this experience amount will be used to
calculate their level in the new class.
Class EXP -> The actor has an experience amount for each
class. When they change class their experience in that
specific class will be used to determine their stats and
level.
Class EXP + Actor EXP EXPERIMENTAL (Actor Mode) -> The actor has their own level
that determines their stats but grants no skills. The actor's skills are
determined by the class they currently have active and their level
in that class.

Preserve Percentages for HP/MP -> This will look at the percentage of HP/MaxHP
MP/MaxMP of a character before switching classes and ensure that the new class
has the HP/MP set to the same percentage of their MaxHP/MaxMP

Maintain Level + Percentage -> In Shared EXP mode, this will modify the actor's
total EXP to maintain the same level and percent to next level when changing
classes. This does not actually affect the growth rate of the class, so a class
with a faster growth rate will result in the actor leveling up faster and then
if the actor switches back to a class with a slower growth rate, they will keep
the same level and percent to next.

Level Up Text -> For use in Actor Mode. This is the text that will be displayed whenever
the actor gains a level in their base class.

Level Up Mode -> For use in Actor Mode. This is the mode of level up that will be used
when the actor gains a level in their base class. There are two modes:
Normal -> The parameters for the actor will be based on their base class level and
the parameter curves for that class.
Stat Gain -> The parameters for the actor will be determined by what class they are
when they gain a level. Based on the stat gain type values will be added to their
parameters when they level.

Current Level For Stat Gains? -> If this is set to true, the delta between the parameters
for an actor's current base level and the next base level will be calculated and the values of the
delta will be added to their stats. If this is set to false, the level 1 stats for the
class that the actor has set when they gain a base level will be used to increase their stats.

->Add A Class To An Actor<-
There are two methods to add a class to an actor: notetags or plugin
commands.

=>Notetags<=
To add classes that you want an actor to have from the start of the game use
the following two notetags within the actor's note field:
<LaziGiveClass: [classID]> -> This notetag will add the class to the actor
at the start of a new game.
<LaziGiveClassDisable: [classID] -> This notetag will add the class to the
actor at the start of a new game in a disabled state. It will appear in
the actor's class list but be unselectable. The Modify Actor Classes plugin
command can be used to enable this class at a different time.

=>Plugin Commands<=
Classes can also be added to an actor during playtime through the use of a
plugin command.
The "Modify Actor Classes" plugin command allows for classes to be
added/enabled, disabled, or removed.
The following fields are required for the command:
Type Of Action -> The type of action to perform. There are three possible
choices:
Add -> Adds the class to the actor's class list or enables the
class if the actor already has it but it is disabled.
Disable -> Disables the class in the actor's class list making it
impossible for them to switch to this class. TODO: Force
switch if active class
Remove -> Removes the class from the actor's class list. WARNING:
This is a permanent removal, if the class is later added
back it will have the level reset to 1 and the exp reset
to 0.
Actor -> The ID of the actor who's class list should be modified (The ID in
the Database).
Class -> The ID of the class to be modified (The ID in the database)

->Enable/Disable Menu Option<-
If the plugin is managing the Change Class menu option, it can be enabled or
disabled through a plugin command.

->Show Class Change Menu Without Selecting From Menu Bar<-
If you want a game where the player can only switch classes at set locations
(say a shrine or training hall), do not enable the menu option and use
the following plugin command on the event you wish to open the class change
screen. The screen will open with showing the first character in the party
and the other characters can be selected using the arrow buttons at the top
of the screen.

=>Plugin Commands<=
Use the "ShowClassChangeScene" plugin command to show the class change scene.
This plugin command takes no arguments and will allow the player to change the
classes of any party members they have. Pressing the cancel button will close
the scene and return to normal gameplay.

=>Plugin Commands<=
The "Enable/Disable Menu Option" plugin command is used to enable or disable
access to the Change Classes menu option. This command has one parameter:
State -> If set to enable, access to the menu option will be allowed. If set
to disable, access to the menu option will not be allowed. If set to remove, the menu option will not appear in the menu at all.

->Actor Mode<-
In actor mode, an actor can be assigned a "Base" class in addition to their currently selected class. The Base class determines
the actor's level and parameters while the currently selected class determines the actor's skills. The currently selected class
can be changed as normal through the class selection menu and each of these classes will have it's own independent level. The
Base class is intrinsic to the actor and cannot be changed once the game starts. This class can have skills and traits assigned
to it, but these will be ignored and only the parameters and exp gain rates will be used from the class. This allows the use of
a class that you wish to also be a normal clas as the Base class for an Actor.

=>Setting The Actor's Base Class<=
In order to set the Base class for an actor, the LaziGiveClassDefault:[classId] notetag should be placed in the notes of the actor.
If this notetag is not present for an actor, the first class in the actor's class list will be used. This will be the first class specified
with the add class notetag or the actor's current class if no classes are granted through this notetag.