diff --git a/docs/game_data/spel2.lua b/docs/game_data/spel2.lua
index e40f72db5..56fa8e5a1 100644
--- a/docs/game_data/spel2.lua
+++ b/docs/game_data/spel2.lua
@@ -5893,7 +5893,7 @@ function Quad:is_point_inside(x, y, epsilon) end
---@field water_bubbles LogicUnderwaterBubbles @Only the bubbles that spawn from the floor
Even without it, entities moving in water still spawn bubbles
---@field olmec_cutscene LogicOlmecCutscene
---@field tiamat_cutscene LogicTiamatCutscene
- ---@field apep_spawner LogicApepTrigger @Works only if the level has at least one room ROOM_TEMPLATE.APEP, and it still spawns apep at hardcoded positions
+ ---@field apep_spawner LogicApepTrigger @Triggers and spawns Apep only in rooms set as ROOM_TEMPLATE.APEP
---@field city_of_gold_ankh_sacrifice LogicCOGAnkhSacrifice @All it does is it runs transition to Duat after time delay (sets the state next theme etc. and state.items for proper player respawn)
---@field duat_bosses_spawner Logic
---@field bubbler LogicTiamatBubbles @Spawn rising bubbles at Tiamat (position hardcoded)
diff --git a/docs/src/includes/_enums.md b/docs/src/includes/_enums.md
index a478b00a1..5d0f07cf3 100644
--- a/docs/src/includes/_enums.md
+++ b/docs/src/includes/_enums.md
@@ -662,7 +662,7 @@ Name | Data | Description
[MOON_CHALLENGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.MOON_CHALLENGE) | LOGIC::MOON_CHALLENGE |
[STAR_CHALLENGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.STAR_CHALLENGE) | LOGIC::STAR_CHALLENGE |
[SUN_CHALLENGE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.SUN_CHALLENGE) | LOGIC::SUN_CHALLENGE |
-[MAGMAN_SPAWN](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.MAGMAN_SPAWN) | LOGIC::MAGMAN_SPAWN |
+[MAGMAMAN_SPAWN](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.MAGMAMAN_SPAWN) | LOGIC::MAGMAMAN_SPAWN |
[WATER_BUBBLES](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.WATER_BUBBLES) | LOGIC::WATER_BUBBLES |
[OLMEC_CUTSCENE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.OLMEC_CUTSCENE) | LOGIC::OLMEC_CUTSCENE |
[TIAMAT_CUTSCENE](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=LOGIC.TIAMAT_CUTSCENE) | LOGIC::TIAMAT_CUTSCENE |
diff --git a/docs/src/includes/_types.md b/docs/src/includes/_types.md
index 26f1d5134..044efcb96 100644
--- a/docs/src/includes/_types.md
+++ b/docs/src/includes/_types.md
@@ -1426,7 +1426,7 @@ Type | Name | Description
[LogicUnderwaterBubbles](#LogicUnderwaterBubbles) | [water_bubbles](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=water_bubbles) | Only the bubbles that spawn from the floor
Even without it, entities moving in water still spawn bubbles
[LogicOlmecCutscene](#LogicOlmecCutscene) | [olmec_cutscene](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=olmec_cutscene) |
[LogicTiamatCutscene](#LogicTiamatCutscene) | [tiamat_cutscene](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=tiamat_cutscene) |
-[LogicApepTrigger](#LogicApepTrigger) | [apep_spawner](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=apep_spawner) | Works only if the level has at least one room [ROOM_TEMPLATE](#ROOM_TEMPLATE).APEP, and it still spawns apep at hardcoded positions
+[LogicApepTrigger](#LogicApepTrigger) | [apep_spawner](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=apep_spawner) | Triggers and spawns Apep only in rooms set as [ROOM_TEMPLATE](#ROOM_TEMPLATE).APEP
[LogicCOGAnkhSacrifice](#LogicCOGAnkhSacrifice) | [city_of_gold_ankh_sacrifice](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=city_of_gold_ankh_sacrifice) | All it does is it runs transition to Duat after time delay (sets the state next theme etc. and state.items for proper player respawn)
[Logic](#Logic) | [duat_bosses_spawner](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=duat_bosses_spawner) |
[LogicTiamatBubbles](#LogicTiamatBubbles) | [bubbler](https://github.com/spelunky-fyi/overlunky/search?l=Lua&q=bubbler) | Spawn rising bubbles at [Tiamat](#Tiamat) (position hardcoded)
diff --git a/src/game_api/script/usertypes/logic_lua.cpp b/src/game_api/script/usertypes/logic_lua.cpp
index bb2395781..d5fd293ef 100644
--- a/src/game_api/script/usertypes/logic_lua.cpp
+++ b/src/game_api/script/usertypes/logic_lua.cpp
@@ -41,8 +41,8 @@ void register_usertypes(sol::state& lua)
LOGIC::STAR_CHALLENGE,
"SUN_CHALLENGE",
LOGIC::SUN_CHALLENGE,
- "MAGMAN_SPAWN",
- LOGIC::MAGMAN_SPAWN,
+ "MAGMAMAN_SPAWN",
+ LOGIC::MAGMAMAN_SPAWN,
"WATER_BUBBLES",
LOGIC::WATER_BUBBLES,
"OLMEC_CUTSCENE",
@@ -99,7 +99,7 @@ void register_usertypes(sol::state& lua)
return sol::make_object(lua, (LogicStarChallenge*)return_logic);
case LOGIC::SUN_CHALLENGE:
return sol::make_object(lua, (LogicSunChallenge*)return_logic);
- case LOGIC::MAGMAN_SPAWN:
+ case LOGIC::MAGMAMAN_SPAWN:
return sol::make_object(lua, (LogicMagmamanSpawn*)return_logic);
case LOGIC::WATER_BUBBLES:
return sol::make_object(lua, (LogicUnderwaterBubbles*)return_logic);
diff --git a/src/game_api/state.cpp b/src/game_api/state.cpp
index c809e87d8..466730bde 100644
--- a/src/game_api/state.cpp
+++ b/src/game_api/state.cpp
@@ -851,7 +851,7 @@ Logic* LogicList::start_logic(LOGIC idx)
size = sizeof(LogicTuskPleasurePalace);
break;
}
- case LOGIC::MAGMAN_SPAWN:
+ case LOGIC::MAGMAMAN_SPAWN:
{
offset = VTABLE_OFFSET::LOGIC_VOLCANA_RELATED;
size = sizeof(LogicMagmamanSpawn);
diff --git a/src/game_api/state_structs.hpp b/src/game_api/state_structs.hpp
index 6a3198187..e913ddb32 100644
--- a/src/game_api/state_structs.hpp
+++ b/src/game_api/state_structs.hpp
@@ -402,7 +402,7 @@ enum class LOGIC : uint32_t
MOON_CHALLENGE,
STAR_CHALLENGE,
SUN_CHALLENGE,
- MAGMAN_SPAWN,
+ MAGMAMAN_SPAWN,
WATER_BUBBLES,
OLMEC_CUTSCENE,
TIAMAT_CUTSCENE,
@@ -695,7 +695,7 @@ struct LogicList
LogicUnderwaterBubbles* water_bubbles;
LogicOlmecCutscene* olmec_cutscene;
LogicTiamatCutscene* tiamat_cutscene;
- /// Works only if the level has at least one room ROOM_TEMPLATE.APEP, and it still spawns apep at hardcoded positions
+ /// Triggers and spawns Apep only in rooms set as ROOM_TEMPLATE.APEP
LogicApepTrigger* apep_spawner;
/// All it does is it runs transition to Duat after time delay (sets the state next theme etc. and state.items for proper player respawn)
LogicCOGAnkhSacrifice* city_of_gold_ankh_sacrifice;