The Skill System and You: Maximizing Your Usage of FE8's Most Prolific Bundle of Wizardry

Chapter 3: Skill System

We’ve finally covered everything else, so we’ll get into what you can do with the skill system itself.

Setting Skills

There are 3 ways to set skills on units (technically more, but we’ll touch on that in a bit); personal skills, class skills, and level up skills.

Personal & Class Skills

Personal skills and class skills work the same way; these are set per-character and per-class respectively and cannot be changed during the game, only externally. These skills cannot be overwritten or forgotten. The tables for these are in Tables/FE8 Nightmare modules/Skills, FE8 Personal Skill Editor.csv and FE8 Class Skill Editor.csv. You just set the ID of the skill you want on the character or class you want to have it.

Level Up Skills

Level up skills come in 2 forms: Class Level Up Skills and Character Level Up Skills. Unlike personal and class skills, these are not limited to 1 per character or class, but instead are lists of skills and the levels to learn them at. Their tables, FE8 Character Level Up Skill Editor.csv and FE8 Class Level Up Skill Editor.csv, contain a pointer to the skill list as each entry. You can see default class skill lists in Engine Hacks/SkillSystem/skill_lists.event.
Entries on skill lists are 2 bytes. The first byte is the level to learn the skill at, and the second byte is the ID of the skill to learn. To denote the end of a skill list, just put 0 as both the level and skill ID. Note that for class level up skills the level is the current level, so a promoted class with a skill set to learn at level, say, 5, will cause any unit to learn the skill when they are in the class and reach level 5. A unit loaded in a class will know the 4 most recent level up skills comparative to their current level; units can only know a maximum of 4 level up skills at a time. If a skill is set to be learned at level 255, then it will be known by a unit of that class only if they are loaded as that class. This is a way to allow promoted units to know skills their unpromoted class learned that they may not. With character level up skills, the level is not the current level but the overall level; in an unpromoted class, a unit will learn skills set from level 1-20. In a promoted class, a unit will learn skills set from level 21-40. The two locations level up skills can come from both count towards the 4-skill cap. When a unit tries to learn a 5th non-character or class skill, you will be prompted to choose a skill to forget. The forgotten skill cannot be relearned. A unit cannot learn a skill they already know.

You can configure level up skills to only be learned by certain allegiances or only on certain difficulties using the highest 3 bits of the learned level. Currently available options are as follows:

  • 1: Player Only
  • 2: Enemy Only
  • 3: Normal & Hard Mode Only
  • 4: Hard Mode Only

Learning Skills via Events

In addition to the above methods, you can also teach units skills via events. Using ASMC_LearnNewSkill|1, the unit whose ID is in slot 2 will learn the skill whose ID is in slot 1. This isn’t the only skill-related ASMC; ASMC_HasSkill|1 checks if the unit in slot 2 has the skill in slot 1 and returns the result in slot C, and ASMC_ForgetSkill|1 will cause the unit in slot 2 to (silently) forget the skill in slot 1 and returns whether this operation was successful in slot C.

Configuring Available Skills

Valid skill IDs only run from 1-254, but there are nearly 300 skills for you to play with. In Engine Hacks/SkillSystem/skill_definitions.event, you can configure the IDs of each skill. Skills defined as ID 255 are disabled, so any excess skills should be set as such. 254 skills is an obnoxiously large amount, and you likely won’t need to enable anywhere close to the cap. The default enabled skills are just the first 254 skills that were created, in chronological order. To quickly disable all skills as a starting point for picking which skills you would like to use, find/replace ID with ID 255 //. This will define every skill as 255 and comment out its prior ID. You can then go through and enable just the ones you wish to use, and shouldn’t need to worry about finding IDs and swapping out skills each time you want to enable a new skill.

10 Likes