I am writing a mmorpg using Unreal Engine 5 and I plan to use the Gameplay Ability System but I am new to it. I have questions about some of the properties and if they belong as regular properties on the class or as part of an attribute set. The 3 classes concerned are Entity, Player and Monster, where Entity is the parent class of both Player and Monster. Likewise each class would have it's own corresponding attribute set resulting in the player and monster instances each having two attribute sets. Below is a breakdown of my properties and which attribute sets I think they belong in and also some other properties that I think belong on the classes but not in GAS. I am less concerned with feedback about something being in Entity vs player vs monster but would greatly appreciate any feedback about if you believe a property does or does not belong in a GAS attribute set. Thanks!
Included in GAS:
Entity (Parent of player and monster) Attribute Set
- Level
- CurrentHealth
- CalculatedHealthRegen
- CalculatedMaxHealth
- CalculatedFireResistance
- CalculatedIceResistance
- CalculatedLightningResistance
- CalculatedPoisonResistance
- CalculatedCurseResistance
- CalculatedMagicResistance
- CalculatedMovementSpeed
- CalculatedAttackSpeed
- CalculatedCriticalRate
- CalculatedCriticalDamage
Player Attribute Set
- CurrentExperience (not sure about this but it affects level, which affects other calculations)
- CurrentMana
- CalculatedManaRegen
- CalculatedMaxMana
- CalculatedMP
- CalculatedHP
- CalculatedStrength
- CalculatedDexterity
- CalculatedIntelligence
- CalculatedAttack
- CalculatedDefense
- CurrentWeight (based on strength which can be augmented by armor and skills)
- CalculatedMaxWeightCapacity
Monster Attribute Set
- AggroRange (potentially affected by a skill like provoke)
Maybes and No's: (Would be regular properties on the class instead of being part of an attribute set)
Entity
- Name
Player
- Nation
- Race
- StatPointsAvailable (not sure about this because it is incremented on level up but not decremented on level down, and is consumed when applied to a stat)
- SkillPointsAvailable (not sure about this because it is incremented on level up but not decremented on level down, and is consumed when used to learn a skill)
- MannerPoints (points gained by doing nation or race related quests, does not effect anything other than nation standing which as of now has no effect)
- Nation Standing
Monster
- MonsterType
- IsAggro (Will this monster attack player in range automatically or wait to be attacked, not does this monster currently have a target)