the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2#include "AttributeModifier.h"
3
4class AttributeInstance
5{
6public:
7 virtual ~AttributeInstance() {}
8
9 virtual Attribute *getAttribute() = 0;
10 virtual double getBaseValue() = 0;
11 virtual void setBaseValue(double baseValue) = 0;
12 virtual double getValue() = 0;
13
14 virtual unordered_set<AttributeModifier *> *getModifiers(int operation) = 0;
15 virtual void getModifiers(unordered_set<AttributeModifier *>& result) = 0;
16 virtual AttributeModifier *getModifier(eMODIFIER_ID id) = 0;
17 virtual void addModifiers(unordered_set<AttributeModifier *> *modifiers) = 0;
18 virtual void addModifier(AttributeModifier *modifier) = 0;
19 virtual void removeModifier(AttributeModifier *modifier) = 0;
20 virtual void removeModifier(eMODIFIER_ID id) = 0;
21 virtual void removeModifiers() = 0;
22};