Few comments:
- I think it would be better to use a map<faction ID, mod amount> instead of your set<NPCFaction> structure. This would avoid your need for the functor and should make the manipulation functions more straight forward (get becomes a find), further it avoids memory management on our part.
- You need to make sure you implement the "buff fade" side of it, otherwise the effects will be permanent. Mob::BuffFadeBySlot
- Please make an enum for the various meanings of of SpellAffectIndex in spdat.h instead of putting constants directly in the code.
- Im not sure I understand why you call ClearFactionBonuses in the zone code... I dont think theres ever any need to call that function
|