Yanfly's Class System is a very solid script, but it is missing a few small things. This scripts adds just the little things it is missing.
Some ideas came from members from the community. haothehare gave me the idea to start this entire project with the level limiter. Both haothehare and Titanhex gave me the idea for class-specific graphics. Crossroads gave me some good ideas for compatibility with the Learn Skill Engine. Spitfire71 and TSA Ryan came with the idea of hybridizing classes, with thedrifter148 bringing it up.
Installation
Make sure to put this below Materials, but above Main Process.
This script overrides several methods. If you are sure no method that is used by other scripts get overridden, you can place it anywhere, otherwise, make sure this script is loaded first. Do know that there is a possibility that this script will stop working due to that.
This script adds aliases for several methods. If you are sure no method that is used by other scripts get overridden, you can place it anywhere, otherwise, make sure this script is loaded after any other script overriding these methods, otherwise this script stops working.
This script requires another script to run. Put this script after the required scripts to make it work properly.
This script has additional functionality and / or compatibility with other scripts. In order to benifit the most out of it, it is advised to place this script after the others.
Requires
- YEA - Class System v1.10+
Optional
- YEA - Class Specifics v1.00+
- YEA - Learn Skill Engine v1.00+
- CXJ - AnimEx v1.01+
- CXJ - Savedata Extender v1.00+
Usage
Up-to-date version of the How to Use can be found in the script or on its own page.
SpoilerThere are various functionalities in this script. You can enable and disable them by specifying it in the script. I'll go through them one at a time.
Class Level Limiter
This allows you to limit the class level cap. This means that classes will never go over the level cap you specified. You can also specify a limit for a specific class using notetags.
Code:
Skill Unlock by Class Level
Normally when you level up, regardless of the class level you will unlock skills based on your current actor's level. In order to change that, add the following to the skill learning notetag:
Code:
This will pick the level based on several things:
- If YEA::CLASS_SYSTEM::MAINTAIN_LEVELS is set to true, use the actor's level;
- If CXJ::CLASS_EXTENSION::SWITCH_MAIN_LEVEL is set to true, use the class level when not set, otherwise use main level;
- Use main level when not set, otherwise use class level.
You can also directly set the class levels in the skills, which has the added bonus that you can assign multiple class level requirements for one skill. You use the same syntax as that of the Class Unlock Level script.
Code:
When Learn Skill Engine is installed, you can also assign multiple classes to skills that could be learned using this engine. Skills can only be learned if all classes have reached a certain level, and will appear in all classes, unless specified.
Code:
When exclude is added to the end, a skill will not appear in the skill learning list of that class.
Experience
You can change experience rate and experience distribution. Changing the experience rate is the same as modifying the experience learning curve, except you'll earn lower experience instead of having to earn more experience. This especially can be handy when skills that can be learned using the Learn Skill Engine use experience.
Code:
As a standard, the experience rate is 1.00, or 100%. You can use operators to modify the experience accordingly. For example, if the new rate is -10%, the rate will change to 90%.
The same can be used for the subclass experience distribution. There are two modes. Either the main class experience remains unaffected or it will share its experience with the subclass. You can enable or disable it by using the following notetag:
Code:
When set to off, subclasses will still earn experience, but it will not affect main classes. You can also set the default in the script.
Finally, you can set the subclass experience ratio by using the following:
Code:
Custom Hybrid Formulas
When set as a subclass, normally the stats get combined based on what you set it to in the settings. However, sometimes you want to set these stats based on certain formulas.
Code:
You can also specify the formulas for each main class.
Code:
In the latter's case, this means that when the current class is set as a subclass of class_no, the stats will get modified based on the formulas given.
Formulas are easy. First, you need to know that I've used the base abrevations as shown on the English version of the database, that is, mhp, mmp, atk, def, mat, mdf, agi and luk. They are all in lower case. Second, in order to define whether the main class or the subclass is meant, you should prefix each stat in the formula with either main. for main class or sub. for subclass.
Code:
You can indeed mix and match the formulas, and all formulas are calculated from the base stats on the level the class is on, without any buffs.
Class combo names
You can set special class combination names.
Code:
Class Graphics
If you want classes to have generic appearances, or if you want an actor to have a specific graphics set when using a certain class.
You can set a generic class graphics set, which is a set of data which specifies the default class graphic. You can specify multiple sets here. It defaults to the "DEFAULT" set, but you can use a notetag on the actor to specify a specific graphics set.
Code:
Where x is the string defining the graphics set. Note that this graphics set is also used for combination class graphics when that's enabled.
By default, you can set all classes to either opt in or opt out. What this means is that you can specify if actor uses the generic set or not, depending on the settings. If an actor opts in, it means that it will use the generic set, otherwise it doesn't. You can set the default settings in the script, but using notetags you can also specify it per actor.
Code:
You can also set a class specific graphic for the actor itself. You can even set combination class graphics, although it is optional.
Code:
Finally, on the classes themselves you can specify a default graphic. Depending on the script settings, these will have priority over the default settings.
Code:
Script
Download
Spoiler Code:
Demo
Download v1.17
Spoiler
Download v1.16
Download v1.15
Download v1.14
Download v1.13
Download v1.12
Download v1.11
Download v1.10
Download v1.09
Download v1.08
Download v1.07
Download v1.06
Download v1.05
Download v1.04
Download v1.03
Download v1.02
License

This work is licensed under a
Creative Commons Attribution 3.0 Unported License.
Additional credits
- Yanfly for the original script (which is required anyway, so you should give credits anyway)
本贴来自国际rpgmaker官方论坛作者:GaryCXJk处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/class-extensions-yanfly-engine-ace-class-system-addon.7710/