Move state kept in OvaleState into the relevant modules.
Move state kept in OvaleState into the relevant modules.
Each module now manages part of the state for the simulator. A module
needs to define the following (possibly empty) methods:
ResetState(state)
ApplySpellStart(state, ...)
ApplySpellToPlayer(state, ...)
ApplySpellToTarget(state, ...)
The module also needs to define a state prototype with additional methods
that should be mixed into the state object maintained by OvaleState.
Modules register/unregister their state for the simulator using:
OvaleState:RegisterState(...)
OvaleState:UnregisterState(...)
This de-couples OvaleState from every module that tracks some piece of
information in the game.
git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1149 d5049fe3-3747-40f7-a4b5-f36d6801af5f