Abilities and Unusual Skills System
Purpose and Scope
The Abilities and Unusual Skills system controls character progression, special powers and long‑term bonuses through a shared skill tree managed by BP_AbilityComponent. Unusual Skills form a dedicated subset of abilities: telekinesis, teleports, scanners, vision modes, squad summons and other high‑impact features that sit on top of the regular stat and damage perks.
This document describes the core ability system, its data model, the relationship with the State System, and a catalog of the key Unusual Skills currently implemented in RPG Engine v6.
Core Ability System (BP_AbilityComponent)
BP_AbilityComponent is the central module that owns the character’s abilities and skill tree state.
At runtime it is responsible for:
- Tracking experience and current level.
- Tracking which skills are unlocked for the character.
- Driving the unlock flow: validating requirements and applying effects when a skill is learned.
- Integrating with the State System by activating the CharacterState tag that represents each learned skill.
Hotkeys for Unusual Skills are defined through dedicated Input Actions per skill. At runtime, ability logic listens to these actions and checks whether the corresponding skill state is present before executing the skill behaviour. Rebinding of these Input Actions is handled by the global input/rebind system and is not part of BP_AbilityComponent itself.
Relationship with the State System
Every skill in the tree is represented by a CharacterState Gameplay Tag.
- When a skill is learned,
BP_AbilityComponentactivates the state from theAdd New Character Tagfield of its data row. - The presence of this state is the single source of truth for “does the character have this skill”.
- Other systems (stats, buffs, combat, effects, interaction, AI) only look at the active state tags, not at the data table directly.
This keeps the ability system fully aligned with the global, server‑authoritative State System.
Skills Data Model (DT_Skills and S_Skills_List)
All skills are defined in a single data table DT_Skills. Each row uses the S_Skills_List structure.
S_Skills_List Fields
- PreviousSkills (array of DataTableRowHandle →
DT_Skills)
List of skills that must be learned before the current skill becomes available for unlocking. - Each Previous Skill (bool)
Whentrue, the character must learn every skill listed inPreviousSkills.
Whenfalse, it is enough to satisfy the project’s “any of” rule (for example, at least one branch). - Name (Text)
Display name shown in the skill tree UI. - Description (Text)
Description used in tooltips and details panels. - Required Points (int)
How many skill points are consumed to learn this skill. - Required Level (int)
Minimum character level required before this skill can be learned. - Additional Data (
BP_DA_Skills_Additionaland children)
Optional data asset for extended parameters that do not fit into the core structure.
Known children include:BP_DA_HealAroundBP_DA_ResistanceBP_DA_Squad
- Skill Category (
E_SkillCategory)
Category that determines which branch of the tree the skill appears in.
Current values:PlayerMeleeFire WeaponCraft
- Stat Type (
E_StatType)
Which stat parameter this skill modifies (for stat‑driven skills). - Change Value Rule (
E_ChangeValueRule)
HowValueis applied:Plus– add a flat amount.Multiply– multiply the base value.Percent– apply a percentage‑based change.
- Value (float)
Numeric change applied according toChange Value RuleandStat Type. - Add New Character Tag (Gameplay Tag)
CharacterState tag that is activated when the skill is learned.
This tag is used throughout the project as the unique runtime identifier of the skill. - IconSprite (PaperSprite)
Icon rendered in the skill tree grid. - Skill Preview (Material Interface)
Preview material shown in the details panel when the player selects this skill.
Skill Tree and Progression
The skill tree is built by combining Skill Category, PreviousSkills and level/point requirements.
Tree Structure
- Skills are grouped into branches by
Skill Category:- Player‑oriented progression.
- Melee‑focused progression.
- Firearms‑focused progression.
- Crafting‑focused progression.
- Dependencies are defined through
PreviousSkills:- If
Each Previous Skillistrue, every listed prerequisite must be learned. - If
false, the project can treat the list as “one of” or “subset” depending on the concrete design of that branch.
- If
The tree UI and unlock logic read this structure from DT_Skills and visualize valid next steps for the player.
Progression Flow
BP_AbilityComponent owns:
- Current XP amount.
- Current level.
- The set of learned skills (implicitly via active CharacterStates).
When the player attempts to learn a new skill:
BP_AbilityComponentchecks:- character level against
Required Level, - available skill points against
Required Points, - prerequisite skills via
PreviousSkillsandEach Previous Skill.
- character level against
- On success:
- it consumes the required number of points;
- requests activation of the CharacterState from
Add New Character Tagthrough the state mediator; - any modules that care about this state react via
BPI_StateMachine.
There is no separate “unlearn” flow in this document; it focuses on the standard forward progression.
Runtime Integration and Modules
Unlocking a skill only adds a CharacterState. All concrete behaviour is implemented in domain‑specific modules reacting to those states.
Key participants:
- BP_AbilityComponent
Owns skill progression, unlock checks and requests state activation when a skill is learned. - BP_StatsComponent
Applies stat changes based on:Stat Type,Change Value Rule,Value.
It reacts to presence of specific skill states that represent stat bonuses (healing, damage resistance, etc.).
- BP_BuffComponent
Handles buffs/debuffs that are effectively “always on” or long‑term, when a skill is meant to be represented as a buff. - BP_EffectsComponent
Drives audiovisual feedback for skill usage:- camera effects,
- vision modes (night and thermal),
- special VFX and SFX for unusual abilities such as telekinesis, teleport or AoE healing.
- Other systems
- Interaction and telekinesis logic may use skill states like
TelekFind/TelekFindThrPropto enable or expand telekinetic behaviours. - AI modules may use states such as
TelekFastPushAIand squad skills for AI‑driven unusual abilities. - Crafting systems use
CharacterStates.Craft.*states to gate recipes and stations.
- Interaction and telekinesis logic may use skill states like
All Unusual Skills are purely character‑based: they do not depend on equipping specific items or devices. Items can still provide their own abilities, but the skills described here are unlocked and controlled entirely through the ability system and state tags.
Unusual Skills Catalog
The catalog below lists the key Unusual Skills and advanced perks, grouped by functional area. Each row references the CharacterState tag that identifies the skill at runtime.
Health and Survivability
| Aspect | Details |
|---|---|
| Item type | Protective clothing/armor Clarification-type assets |
| Typical slots | Helmet, vest, body armor, etc. |
| Protection | Reduces damage by type/zone (caliber, damage type, hit zone) |
| Durability | Each armor piece has its own durability/health |
| World actor | BP_Inter_Master_Cloth (with Health and UseCustomHealth) |
| Equipped effects | Integrated into damage pipeline and hitzone checks |
Damage and Combat Focus
| Skill Tag | Display Name | Category | Type | Used Modules | High-level Effect |
|---|---|---|---|---|---|
| CharacterStates.SkillTree.Damage.TelekFastPush | Telek Fast Push | Player | Unusual damage skill | Ability, Effects, Melee/Combat | On key press, pushes back and lightly damages all nearby players and AI around the character. |
| CharacterStates.SkillTree.Damage.IDColdWeapons1 | Cold Weapons Mastery I | Melee | Melee damage | Ability, Stats, Melee | Increases damage dealt by melee weapons. |
| CharacterStates.SkillTree.Damage.IDColdWeapons2 | Cold Weapons Mastery II | Melee | Melee damage | Ability, Stats, Melee | Further increases damage dealt by melee weapons. |
| CharacterStates.SkillTree.Damage.ClosingBlow | Closing Blow | Melee | Melee finisher | Ability, Melee | Unlocks finisher attacks marked as ClosingBlow=true in the chooser table. |
| CharacterStates.SkillTree.Damage.SpecialPunch | Special Punch | Player | Special melee strike | Ability, Melee, Effects | Enables a powerful punch that can be triggered via a specific input combo. |
| CharacterStates.SkillTree.Damage.IDFireWeapons1 | Firearms Mastery I | Fire Weapon | Firearms damage | Ability, Stats, Firearms | Increases damage dealt by firearms. |
| CharacterStates.SkillTree.Damage.IDFireWeapons2 | Firearms Mastery II | Fire Weapon | Firearms damage | Ability, Stats, Firearms | Further increases damage dealt by firearms. |
| CharacterStates.SkillTree.Damage.RicochetChance | Bullet Ricochet Chance | Fire Weapon | Ballistics behaviour | Ability, Firearms, Effects | Increases the ricochet chance for bullets that support ricochet. |
| CharacterStates.SkillTree.Damage.BulletEnergyLoose | Bullet Penetration Energy | Fire Weapon | Penetration behaviour | Ability, Firearms, Stats | Increases how many objects a penetrating bullet can pass through before losing all its energy. |
| CharacterStates.UnusualSkills.TelekFastPushAI | Telek Fast Push (AI) | AI | Unusual damage skill | Ability, AI, Effects | Same as Telek Fast Push but for AI bots, allowing them to push and damage nearby targets. |
Specials and Unusual Skills
| Skill Tag | Display Name | Category | Type | Used Modules | High-level Effect |
|---|---|---|---|---|---|
| CharacterStates.SkillTree.Specials.HealAround | Heal Around | Player | Area support | Ability, Stats, Effects, Buff | On key press, finds nearby allied players and friendly bots and restores their health. |
| CharacterStates.SkillTree.Specials.HealAroundAdv | Heal Around Advanced | Player | Advanced area support | Ability, Stats, Effects, Buff, Vehicle | Same as Heal Around but also heals nearby vehicles. |
| CharacterStates.SkillTree.Specials.RookieSquad | Rookie Squad | Player | Summon / squad | Ability, AI, Effects | Spawns several weaker friendly fighters for a short duration. |
| CharacterStates.SkillTree.Specials.ProfessionalSquad | Professional Squad | Player | Summon / squad | Ability, AI, Effects | Spawns several stronger friendly fighters for a short duration. |
| CharacterStates.SkillTree.Specials.NightVision | Night Vision | Player | Perception / vision | Ability, Effects | Allows activating night vision without any devices. |
| CharacterStates.SkillTree.Specials.ThermalVision | Thermal Vision | Player | Perception / vision | Ability, Effects | Allows activating thermal vision without any devices. |
| CharacterStates.SkillTree.Specials.Smell | Smell Sense | Player | Perception | Ability, Effects / AI | Enables smell‑based detection, such as sensing enemies, corpses or environmental dangers. |
| CharacterStates.SkillTree.Specials.TelekFind | Telek Find | Player | Telekinesis / loot | Ability, Interaction, Equipment, Effects | Performs a fast loot sweep: finds interactable objects around the player and pulls them into inventory. |
| CharacterStates.SkillTree.Specials.TelekFindThrProp | Telek Throw Prop | Player | Telekinesis / offense | Ability, Interaction, Effects | Allows grabbing special nearby props and throwing them at enemies to deal damage. |
| CharacterStates.SkillTree.Specials.Teleport | Teleport | Player | Mobility | Ability, Movement/Teleport, Effects | Lets the player spawn two teleport points for a short time and move between them. |
Crafting Skills
| Skill Tag | Display Name | Category | Type | Used Modules | High-level Effect |
|---|---|---|---|---|---|
| CharacterStates.Craft.Melee | Craft: Melee Weapons | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting recipes and/or stations related to melee weapons. |
| CharacterStates.Craft.AmmoExplosive | Craft: Explosive Ammo | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting for explosive ammo types. |
| CharacterStates.Craft.AmmoElectro | Craft: Electro Ammo | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting for electroshock ammo types. |
| CharacterStates.Craft.Firearms | Craft: Firearms | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting recipes for firearms. |
| CharacterStates.Craft.Nylon | Craft: Nylon | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting using nylon as a resource. |
| CharacterStates.Craft.Leather | Craft: Leather | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting using leather as a resource. |
| CharacterStates.Craft.Rubber | Craft: Rubber | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting using rubber as a resource. |
| CharacterStates.Craft.Microchips | Craft: Microchips | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting that uses microchips and electronic components. |
| CharacterStates.Craft.LegendaryFirearms | Craft: Legendary Firearms | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting of legendary‑grade firearms. |
| CharacterStates.Craft.LegendaryMelee | Craft: Legendary Melee | Craft | Crafting unlock | Ability, Crafting | Unlocks crafting of legendary‑grade melee weapons. |
| CharacterStates.Craft.BasicMilitary | Craft: Basic Military | Craft | Crafting unlock | Ability, Crafting | Unlocks basic military‑grade crafting options and related recipes. |
Typical Flows
Learning a New Skill
- The player selects a skill in the tree UI.
BP_AbilityComponentvalidates:- level and available skill points,
- prerequisites in
PreviousSkillsandEach Previous Skill.
- On success, it:
- spends the required points,
- requests activation of the CharacterState from
Add New Character Tagvia the mediator.
- Stats, buffs, combat and effects modules react to the new active state and apply their own changes.
Using an Unusual Vision Mode
- The player has learned
NightVisionorThermalVision. - On input, the vision toggle logic checks whether the corresponding skill state is active.
- If active,
BP_EffectsComponentenables the correct post‑process / vision mode. - Deactivation clears the effect but the state remains as a permanent unlock.
Using Telekinesis‑Based Loot (TelekFind)
- The player has learned
TelekFind. - On key press, the TelekFind logic:
- scans around the character for valid interactable objects,
- performs interaction/loot actions and adds valid items directly to the inventory.
- Effects and UI can provide feedback through
BP_EffectsComponentand inventory widgets.
Related Docs
./stats-and-survival-system.md./buffs-and-debuffs.md(when available)./crafting-system.md(when available)./ai-system.md(when available)./state-system/state-system.md./character-modules/character-modules.md