This is basically the founding stone of #13, since it allows for the usage of Lasertag::Game itself as one of those hooks, giving the game itself just as much authority and control as the rest of the hooks.
Some functions might need to do a "loop-around" of sorts, whereas the Lasertag::Client should send some commands (especially like taking damage) back to the corresponding Lasertag::Game, which can then invoke the hooks.
The following hooks should be added:
[x] Shot validation (shot arbitration handling, as well as preventing friendly fire etc.)
[x] Taking hits (after a shot was successfully validated)
[x] Taking damage (from various sources, not exclusively from hits, but also server events!!)
[x] Dying (death prevention should be checked in taking damage)
This is basically the founding stone of #13, since it allows for the usage of
Lasertag::Game
itself as one of those hooks, giving the game itself just as much authority and control as the rest of the hooks.Some functions might need to do a "loop-around" of sorts, whereas the
Lasertag::Client
should send some commands (especially like taking damage) back to the correspondingLasertag::Game
, which can then invoke the hooks.The following hooks should be added:
taking damage
)