diff --git a/src/lua_baselib.c b/src/lua_baselib.c index b7fbbdc86..27549c3a0 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -4203,6 +4203,46 @@ static int lib_kPushToRouletteItemList(lua_State *L) return 0; } +static int lib_kStartItemRoulette(lua_State *L) +{ + player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + boolean ringbox = lua_optboolean(L, 2); + + NOHUD + INLEVEL + if (!player) + return LUA_ErrInvalid(L, "player_t"); + + K_StartItemRoulette(player, ringbox); + return 0; +} + +static int lib_kStartEggmanRoulette(lua_State *L) +{ + player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + + NOHUD + INLEVEL + if (!player) + return LUA_ErrInvalid(L, "player_t"); + + K_StartEggmanRoulette(player); + return 0; +} + +static int lib_kStopRoulette(lua_State *L) +{ + player_t *player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + + NOHUD + INLEVEL + if (!player) + return LUA_ErrInvalid(L, "player_t"); + + K_StopRoulette(&player->itemRoulette); + return 0; +} + static int lib_getTimeMicros(lua_State *L) { lua_pushinteger(L, I_GetPreciseTime() / (I_GetPrecisePrecision() / 1000000)); @@ -4495,6 +4535,9 @@ static luaL_Reg lib[] = { {"K_GetBotItemPriority", lib_kGetBotItemPriority}, {"K_AddItemToReel", lib_kAddItemToReel}, {"K_PushToRouletteItemList", lib_kPushToRouletteItemList}, + {"K_StartItemRoulette", lib_kStartItemRoulette}, + {"K_StartEggmanRoulette", lib_kStartEggmanRoulette}, + {"K_StopRoulette", lib_kStopRoulette}, // hu_stuff technically? {"HU_DoTitlecardCEcho", lib_startTitlecardCecho},