the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 29 lines 966 B view raw
1#pragma once 2 3class ModifiableAttributeInstance; 4 5class BaseAttributeMap 6{ 7protected: 8 //unordered_map<Attribute *, AttributeInstance *> attributesByObject; 9#ifdef __ORBIS__ 10 unordered_map<eATTRIBUTE_ID, AttributeInstance *, std::hash<int> > attributesById; 11#else 12 unordered_map<eATTRIBUTE_ID, AttributeInstance *> attributesById; 13#endif 14 15public : 16 virtual ~BaseAttributeMap(); 17 18 virtual AttributeInstance *getInstance(Attribute *attribute); 19 virtual AttributeInstance *getInstance(eATTRIBUTE_ID name); 20 21 virtual AttributeInstance *registerAttribute(Attribute *attribute) = 0; 22 23 virtual void getAttributes(vector<AttributeInstance *>& atts); 24 virtual void onAttributeModified(ModifiableAttributeInstance *attributeInstance); 25 26 // 4J: Changed these into specialised functions for adding/removing the modifiers of an item (it's cleaner) 27 virtual void removeItemModifiers(shared_ptr<ItemInstance> item); 28 virtual void addItemModifiers(shared_ptr<ItemInstance> item); 29};