Purpose of this issue is to document the necessary steps to refactor reactable in such a way that would allow us to replace the existing system with a modifier based system (game's definition of modifier, not to be confused with gcsim implementation, which uses the same name but is something entirely different) so that reactions such as Lunar Charged can be properly implemented.
The refactor should be carried out in small incremental steps in such a way that each step can be merged into main without breaking existing functionalities or changing any calculations.
Step plan, in sequence, as follows
Purpose of this issue is to document the necessary steps to refactor
reactablein such a way that would allow us to replace the existing system with a modifier based system (game's definition of modifier, not to be confused with gcsim implementation, which uses the same name but is something entirely different) so that reactions such as Lunar Charged can be properly implemented.The refactor should be carried out in small incremental steps in such a way that each step can be merged into main without breaking existing functionalities or changing any calculations.
Step plan, in sequence, as follows
pkg/core/info)reactablein thecombatpackage intopkg/model: PRcombatpackage: Issue / PRReactableinterface inpkg/modelto reflect existing reactable state: PRreactableinto an interface, and all references to reactions of any sort should rely upon this new interface Issue / PR