-
Notifications
You must be signed in to change notification settings - Fork 2
Skills
Skills Overview
Skills are the main way for players to progress their characters. Every time a player raises a skill level, they receive 1 SP. These SP can be used to purchase Perk upgrades to further enhance their characters.
Skill Cap
Players are capped at a total amount of 500 skill points at one time. These points can be in any number of skills of their choosing. Once the cap is reached, players will start losing skill points and experience in other skills.
Creating Skills
Use the following steps to create new skills:
1.) Add a new row to the SkillCategories table. If you are using an existing category you can skip this step.
- SkillCategoryID - This is the unique ID of the skill category.
- Name - The name of the category, visible in-game.
- IsActive - If set to 1, this category will be displayed in the in-game menu. If 0, it will be hidden.
- Sequence - The order in which the categories will be displayed in the in-game menu.
2.) Add a new row to the Skills table.
- SkillID - This is the unique ID of the skill.
- SkillCategoryID - The ID of the category under which this skill falls. References the SkillCategories table.
- Name - The name of the skill, visible in-game.
- MaxRank - The maximum level, or rank, of this skill. Players cannot go up beyond this level in-game.
- IsActive - If 1, this skill will be displayed in-game.
- Description - The in-game description of the skill. This should give players a brief overview of what the skill does.
- Primary - This references the Attributes table. This is the primary attribute which will receive bonuses as players increase their skill level.
- Secondary - See primary. The only difference is that it increases attributes at a lower rate.
- Tertiary - See primary. The only difference is that it increases attributes at a lower rate.
3.) Add new rows to the SkillXPRequirement table. The number of rows inserted in this table should be exactly the same as the MaxRank column in the Skills table you just inserted.
- SkillXPRequirementID - An auto-generated ID. You do not need to insert this value.
- SkillID - The ID number of the skill you just inserted.
- Rank - The rank (0 to MaxRank) of the requirement.
- XP - The amount of XP required to level up to the next rank.
4.) Add an entry to the Enumerations.SkillID class. The number referenced here should be the same as the ID in the database.
5.) Implement the skill in the Java code base. This is not a simple plug and play process since every skill functions differently. The best places to look for help is with the existing skills. Check in GameSystems.SkillSystem, GameSystems.PerkSystem and the Perks library for examples of how these are used.