Skip to content
Norikins edited this page May 28, 2024 · 2 revisions

There are 3 steps to adding a skill: defining it, giving it a description, and giving it an icon.

Define the skill within EngineHacks/SkillSystem/skill_definitions.event. The standard naming convention is SkillNameID. There can only be 254 skills active at once: defining a skill as 255 effectively disables it, while defining a skill as 0 effectively gives it to everyone. Skill definitions within this file are roughly grouped by where their effect is applied, and in no particular order within those groups. Add your definition to the relevant group, along with its description and your name.

The skill description is written in Text/skilldesc_text.txt. Follow the convention of other text entries in that same file, and place it at the end of the file. Because you edited text, you will have to run MAKE_HACK_full.cmd the next time you build. The skill description is assigned to the skill ID in EngineHacks/SkillSystem/skill_descriptions.event. At the end of the file, add SkillDescription(SkillNameID,SD_SkillName).

The skill icon is a 16x16, 16-color image using the item icon palette. It is recommended that you work off of an existing skill icon when making yours, as it already has the correct palette data. The skill icon images are located in EngineHacks/SkillSystem/SkillIcons. Add the SkillName.png of your skill icon to this folder, then run _BatchPng2Dmp.cmd. This will create a SkillName.dmp file. The skill icon is installed and assigned to the skill ID in EngineHacks/SkillSystem/skill_icons.event. At the end of the file, but before the line ORG SkillIcons+0x8000, add

ORG SkillIcon(SkillNameID)
#incbin "SkillIcons/SkillName.dmp"

You now have a skill that will show up in-game with the icon and description that you supplied. This does not give the skill an effect: to do this, you will need to write a function contextually relevant to the desired effect. See Modular Hooks for more information.

EditTest

Home

Configuration

Functionality

Clone this wiki locally