In this section, we’ll be extending the RPGAttribute class with the IStatLinkable interface which will define the methods used to add RPGStatLinkers to the attribute. The stat linkers will connect two stat’s values together, allowing one stat’s value to influence the other stat’s value.
In this section, we’ll be creating a new stat class named RPGAttribute along with another interface named IStatScalable. The attribute stat will inherit from the RPGStatModifiable class and implement the new IStatScalable interface. This new interface will contain the method used to scale the value of the stat by another value such as a character’s level.
In this section we’ll be creating stat modifiers. These modifiers will be applied to a stat by an item, buff or spell and will change the StatValue property of the stat to reflect the value of the modifier. In this initial version of the modifier class we’ll use a enum to determine how the modifier is applied to the stat (In future section we’ll update the modifer design to allow for easier addition of future modifier types).
In this section we extend our RPGStat class and our RPGStatCollection classes. In the base stat class we add additional properties that will simplify adding features we’ll be adding in the future. In the stat collection we will be modifying our method into generic version to easily allow us to accept any stats that inherit from our RPGStat class.
In this section of the RPGSystems tutorial series, we’ll be covering the creation of Stat System. The Stat System will allow for the creation of a collection of stats that can be easily modified and manipulated from external actions such as items, buffs, and spells.