Save-Point
Class Changing Skill Fix - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Material Development (https://www.save-point.org/forum-8.html)
+--- Forum: Scripts Database (https://www.save-point.org/forum-39.html)
+--- Thread: Class Changing Skill Fix (/thread-2752.html)



Class Changing Skill Fix - Trihan - 03-03-2008

Class Changing Skill Fix
by Trihan


Introduction
This script corrects a problem with the default scripts and enhances the class system. In the default scripts, a class change won't affect the character's skill list. With this script added, a character will forget all skills from his former class and learn all skills on his new class's skill list up to his current level. Additionally, you can exempt certain skills, or all skills from an entire class, from being forgotten in this way. This can be done on a global or per-character basis.

Originally to use this script, you would have needed to add the pieces of code supplied to Game_System and Game_Actor. Then, replace Interpreter#command_321 with the code in the third block he supplied. Now, it is in one contiguous script.


Demo
>Click<


Script
Class Changing Skill Fix


Instructions
This revision has been lightly touched so you can just paste it ABOVE Main or BELOW Scene_Debug to use it.

To exempt a class's skills from being forgotten on a global level, use the statement "$game_system.exempt_classes.push(x)", where 'x' is the ID number of the class in the database.

To exempt a skill from being forgotten on a global level, use the statement "$game_system.exempt_skills.push(x)", where 'x' is the ID number of the skill in the database.

To exempt a certain character from forgetting the skills from a certain class, use the statement "$game_actors[n].exempt_classes.push(x)", where 'n' is the ID number of the actor and x is the ID number of the class.

To exempt a certain character from forgetting a certain skill, use the statement "$game_actors[n].exempt_skills.push(x)", where 'n' is the ID number of the actor and 'x' is the ID number of the skill.