diff --git a/assets/config.json b/assets/config.json index c1001ca..76d143f 100644 --- a/assets/config.json +++ b/assets/config.json @@ -31,6 +31,11 @@ "hp_status_00": "assets/sounds/hp_status_00.ogg" }, "sprites": { + "combat_active": + {"path": "assets/sprites/combat_active.png", + "frame_width": 170, + "frame_height": 170 + }, "burning_animation": {"path": "assets/sprites/burning_animation.png", "frame_width": 256, diff --git a/assets/sprites/combat_active.png b/assets/sprites/combat_active.png new file mode 100644 index 0000000..cc72bd0 Binary files /dev/null and b/assets/sprites/combat_active.png differ diff --git a/src/gui/fsm.cpp b/src/gui/fsm.cpp index 820586f..3d4fa31 100644 --- a/src/gui/fsm.cpp +++ b/src/gui/fsm.cpp @@ -414,17 +414,18 @@ namespace gui { } break; case eGUI::COMBAT_START: - // TODO: $main_ui.show_combat(); + $main_ui.show_combat(); + break; + case eGUI::COMBAT_STOP: // BUG: should these combine? + case eGUI::NO_NEIGHBORS: + $main_ui.close_combat(); break; case eGUI::ENTITY_SPAWN: { auto& sprite = world->get(entity); $main_ui.$rayview->update_sprite(entity, sprite); $main_ui.dirty(); run_systems(); - } break; - case eGUI::NO_NEIGHBORS: - event(Event::COMBAT_STOP); - break; + } break; case eGUI::LOOT_CLOSE: // BUG: need to resolve GUI events vs. FSM events better event(Event::LOOT_OPEN);