WC GAS Ally is a comprehensive and detail oriented plugin that provides a suite of tools to speed up and enhance your experience with GAS (Gameplay Ability System). This suite ranges from simple but powerful enhancements to attribute and gameplay effect support to RPG/MOBA/Roguelike type games and more! Everything is as modular as possible, allowing you to simply add the systems you want for your project!
IMPORTANT:
This requires heavily on your understanding of GAS. It certainly speeds up and helps with the setup but it's impossible to remove all complexities and learning required to fully understand GAS.
The AI work done is NOT the actual behavior trees or state trees, these are all helpers and additional systems that can be used and accessed with your behavior and state trees.
Everything that would be important to save has save/load functions that can be accessed and should work with all save systems that follow the Unreal Engine standards of save/load systems.
Core Pillars
Attribute Factory
Pool of 150 light weight premade attributes that are named and controlled through designer controlled Attribute Definitions
Attribute Backing that is set up with MMCalcs that automatically set up through a variety of optional calculations to support many game types (Strength and Constitution increase max health by x amount until 40 points then x amount until 69 as a single example)
Regeneration and Degeneration support for things ranging from health and mana regeneration, rage reduction outside of combat, and hunger/thirst all being able to be controlled on when generation happens
Meta Attributes are a GAS native way to transfer damage and healing from the source to the target
Clamping min and max or min only or max only and there's also the capability to put a hard cap so it can NEVER go above a certain number
Attribute Events for when thresholds are met or attribute hits 0
UI Metadata support
External Attribute Sets supported
To gain all features of my Attribute Factory a few lines of C++ are required. This is the nature of Attributes, no way around it
Attribute Modifications are the Attribute Backing data asset to fully setup how your primary and secondary attributes communicate and are connected with each other
Have as many attributes backing a single attribute
List of formula. Some that are included are Linear, Exponential, Curve based, and Logarithmic and are either Piecewise or near Piecewise meaning calculations can be kept between attribute ranges (Think souls like games where you have 2 soft caps and a hard cap)
blueprint class to create your own formula if pre made formulas are not for you
Damage/Resistance Mapping
Create attributes for both damage types and their resistances then determine the calculations for how they are dealt with in Execution Calculations
Overflow Support, this means if you over heal or there is damage left over after killing something, it can be used elsewhere if you choose
Critical Chance/Power support, both damage and healing can have their own attribute sets for this if you want and Execution Calcs can crit per damage type or per ability
Execution Calculations for both healing and damage
Event Subsystem to allow for full control over events done through anything attributes
Gameplay Effect Systems
Status Effect System
Map gameplay effects in a library to give it full UI support and determine which ones are buffs and debuffs and even what kind of each, be as granular as you want!
Evolution support, have 3 minor burns turn into burn and 2 burns turn into major burn
Synergy support, have 2 minor burns and 1 poison turn into poisoning burn on a single target or explode and apply to all of their allies
Synergy Chaining support, go crazy with the synergies and have combo type effects when you chain synergies together
Resistance System
Diminishing Returns, if players use a debuff too frequently it could simply not apply, weaking it, or cause it to not last as long
Absorption, Player decides to put a burn on a fire demon, heals them instead
Resilience, Have resistances to certain types of debuffs all the time
Immunity, Fully immune to certain debuffs all the time or for a certain time, great for bosses
Ability Systems
Ability Library allows you to have full UI support for mapping out all of your abilities in one location
Ability Curriculum are a different type of book that maps which abilities the player can get and/or buy at certain player levels
Additional gameplay tasks to further enhance gameplay abilities based on my systems
Custom Gameplay Cues to speed up Cue creations
Combat Systems
Transfer System
Steal or borrow abilities and/or buffs from enemy targets
Move debuffs from you or an ally to an enemy
World Context
If its raining, fire abilities do less damage
If its night, do more damage with dark abilities
If you're in a forest, nature abilities are more powerful
Simple Faction system so your abilities and AI know who are friends and who are foes
AI Support for my systems Please note, this still requires you to make your own behavior trees and state trees, these systems only add functionality that is easy for your trees to access. Added functionality for
Behavior Trees
State Trees
Environment Query System
Gameplay Systems
Leveling System
Traditional RPG style
Point Allocation style
Soulslike style
Class System
Independent of Leveling and Race Systems unless desired
Multi class support
Sub class support
UI support
Starting features support (abilities, effects, etc)
Starting Attributes support
Change classes at runtime support
Race System
Independent of Leveling and Class Systems unless desired
Dual Race support
Blessed Race support
UI support
Starting features support (abilities, effects, etc)
Starting Attributes support
Skill Tree System
Have as many as you want
Branch support
Tier support (need 10 points before the next set of nodes unlock)
Unlock requirements support
Tree and branch connected to others capable
Highly flexible nodes
Improve Attributes
Grant Abilities
Grant Status Effects
Grant Tags
Tree Mastery support
Respec support
Build preset support
Feat System
Highly similar to DnD with milestones to determine when points are given as long as requirements are met
Feats can be divided into groups
Feats are very versatile and can stack if desired
Improve Attributes
Grant Abilities
Grant Status Effects
Grant Tags
Respec support
Build preset support
Difficulty System
Fully flexible via rules made by designers
Required Plugins
GameplayAbilities
DataValidation
StateTree
GameplayStateTree