Boss fight is now working. Turned out to be something really dumb.

This commit is contained in:
Zed A. Shaw 2025-12-19 12:04:51 -05:00
parent 4958f24c1d
commit 4b4f9b3916
8 changed files with 154 additions and 127 deletions

View file

@ -17,16 +17,17 @@
namespace gui {
enum class State {
START=0,
MOVING=1,
IN_COMBAT=2,
COMBAT_ROTATE=3,
ATTACKING=4,
ROTATING=5,
BOSS_FIGHT=6,
LOOTING=7,
IDLE=8,
END=9
START=__LINE__,
MOVING=__LINE__,
IN_COMBAT=__LINE__,
COMBAT_ROTATE=__LINE__,
ATTACKING=__LINE__,
ROTATING=__LINE__,
BOSS_FIGHT=__LINE__,
LOOTING=__LINE__,
IDLE=__LINE__,
CUT_SCENE_PLAYING=__LINE__,
END=__LINE__,
};
class FSM : public DeadSimpleFSM<State, game::Event> {
@ -63,6 +64,7 @@ namespace gui {
void COMBAT_ROTATE(game::Event ev);
void BOSS_FIGHT(game::Event ev, std::any data);
void LOOTING(game::Event ev, std::any data);
void CUT_SCENE_PLAYING(game::Event ev, std::any data);
void END(game::Event ev);
void try_move(int dir, bool strafe);
@ -74,6 +76,7 @@ namespace gui {
bool active();
void run_systems();
void handle_world_events();
void handle_boss_fight_events();
void next_level(bool bossfight);
void debug_render();
void take_screenshot();