diff --git a/mods/shell-rush/level-data.lua b/mods/shell-rush/level-data.lua index 3eef859e..8546039c 100644 --- a/mods/shell-rush/level-data.lua +++ b/mods/shell-rush/level-data.lua @@ -7,6 +7,53 @@ gLevelDataTable = { platforms = { }, }, + [LEVEL_CASTLE_GROUNDS] = { + waypoints = { + { x = -3122, y = 260, z = 4191 }, + { x = -3616, y = 415, z = 365 }, + { x = -5348, y = 492, z = -3201 }, + { x = -6273, y = 497, z = -2918 }, + { x = -6288, y = 336, z = -605 }, + { x = -3708, y = 412, z = 165 }, + { x = -331, y = 806, z = 511 }, + { x = 5171, y = 385, z = -1250 }, + { x = 4673, y = 544, z = -4888 }, + { x = 3930, y = -511, z = -2185 }, + { x = -265, y = -511, z = -1126 }, + { x = -3904, y = -511, z = -1674 }, + { x = -308, y = -511, z = -1189 }, + { x = 3891, y = -511, z = -1034 }, + { x = 4336, y = -800, z = 2988 }, + { x = 297, y = 632, z = 2089 }, + }, + powerups = { + { pos = { x = -3801, y = 399, z = 709 }, obj = nil }, + { pos = { x = -3604, y = 415, z = 363 }, obj = nil }, + { pos = { x = -3378, y = 431, z = -4 }, obj = nil }, + { pos = { x = -3302, y = 431, z = 599 }, obj = nil }, + { pos = { x = -3949, y = 396, z = 120 }, obj = nil }, + { pos = { x = -292, y = -511, z = -1156 }, obj = nil }, + { pos = { x = -292, y = -511, z = -1571 }, obj = nil }, + { pos = { x = -292, y = -511, z = -741 }, obj = nil }, + }, + spawn = { + { + a = { x = -2365, y = 260, z = 4673 }, + b = { x = -940, y = 260, z = 5294 }, + }, + { + a = { x = -2134, y = 260, z = 4143 }, + b = { x = -348, y = 260, z = 4922 }, + }, + }, + erase = { + [id_bhvDoorWarp] = true, + }, + platforms = { + { pos = { x = -3369, y = -540, z = -2025 }, rot = { x = 0, y = 0, z = 0 }, scale = { x = 1, y = 1, z = 1 } }, + }, + }, + [LEVEL_BOB] = { waypoints = { { x = -1953, y = 0, z = 1418 }, @@ -98,50 +145,98 @@ gLevelDataTable = { }, }, - [LEVEL_CASTLE_GROUNDS] = { + [LEVEL_TTM] = { waypoints = { - { x = -3122, y = 260, z = 4191 }, - { x = -3616, y = 415, z = 365 }, - { x = -5348, y = 492, z = -3201 }, - { x = -6273, y = 497, z = -2918 }, - { x = -6288, y = 336, z = -605 }, - { x = -3708, y = 412, z = 165 }, - { x = -331, y = 806, z = 511 }, - { x = 5171, y = 385, z = -1250 }, - { x = 4673, y = 544, z = -4888 }, - { x = 3930, y = -511, z = -2185 }, - { x = -265, y = -511, z = -1126 }, - { x = -3904, y = -511, z = -1674 }, - { x = -308, y = -511, z = -1189 }, - { x = 3891, y = -511, z = -1034 }, - { x = 4336, y = -800, z = 2988 }, - { x = 297, y = 632, z = 2089 }, + { x = 1802, y = -4231, z = 5331 }, + { x = 4415, y = -3520, z = 2452 }, + { x = 4468, y = -3287, z = 20 }, + { x = 4933, y = -3075, z = -2634 }, + { x = -696, y = -2671, z = -4768 }, + { x = -3440, y = -2552, z = -2028 }, + { x = -1758, y = -2048, z = 3317 }, + { x = 2759, y = -1548, z = 4366 }, + { x = 3851, y = -1234, z = 666 }, + { x = 3571, y = -1013, z = -1833 }, + { x = -349, y = -27, z = -2919 }, + { x = -1952, y = 0, z = 713 }, + { x = 1388, y = 606, z = 2048 }, + { x = 3308, y = 375, z = 1101 }, + { x = 3392, y = 768, z = -1496 }, + { x = 99, y = 1242, z = -1963 }, + { x = -1176, y = 1536, z = 173 }, + { x = 1312, y = 1587, z = 1879 }, + { x = 2549, y = 1457, z = 1903 }, + { x = 2927, y = 1536, z = 254 }, + { x = 1970, y = 1920, z = -548 }, + { x = 1124, y = 2309, z = 374 }, }, powerups = { - { pos = { x = -3801, y = 399, z = 709 }, obj = nil }, - { pos = { x = -3604, y = 415, z = 363 }, obj = nil }, - { pos = { x = -3378, y = 431, z = -4 }, obj = nil }, - { pos = { x = -3302, y = 431, z = 599 }, obj = nil }, - { pos = { x = -3949, y = 396, z = 120 }, obj = nil }, - { pos = { x = -292, y = -511, z = -1156 }, obj = nil }, - { pos = { x = -292, y = -511, z = -1571 }, obj = nil }, - { pos = { x = -292, y = -511, z = -741 }, obj = nil }, + { pos = { x = 4301, y = -3284, z = -4 }, obj = nil }, + { pos = { x = 4501, y = -3284, z = -4 }, obj = nil }, + { pos = { x = 4701, y = -3284, z = -4 }, obj = nil }, + { pos = { x = 357, y = -2047, z = 3510 }, obj = nil }, + { pos = { x = 357, y = -2047, z = 3810 }, obj = nil }, + { pos = { x = 357, y = -2047, z = 4048 }, obj = nil }, + { pos = { x = 2786, y = 313, z = 1171 }, obj = nil }, + { pos = { x = 2977, y = 313, z = 1481 }, obj = nil }, + { pos = { x = 3159, y = 313, z = 1931 }, obj = nil }, }, spawn = { { - a = { x = -2365, y = 260, z = 4673 }, - b = { x = -940, y = 260, z = 5294 }, + a = { x = 349, y = -4332, z = 5410 }, + b = { x = -1774, y = -4354, z = 5374 }, }, { - a = { x = -2134, y = 260, z = 4143 }, - b = { x = -348, y = 260, z = 4922 }, + a = { x = 47, y = -4332, z = 5968 }, + b = { x = -1942, y = -4459, z = 5840 }, }, }, erase = { - [id_bhvDoorWarp] = true, + [id_bhvChuckya] = true, }, platforms = { - { pos = { x = -3369, y = -540, z = -2025 }, rot = { x = 0, y = 0, z = 0 }, scale = { x = 1, y = 1, z = 1 } }, + { pos = { x = 3122, y = 1000, z = -1044 }, rot = { x = 0, y = 0, z = 0x4000 }, scale = { x = 2, y = 2, z = 2 } }, + }, + }, + + [LEVEL_CCM] = { + waypoints = { + { x = -513, y = 2560, z = -2567 }, + { x = 3524, y = 2253, z = -2367 }, + { x = 1981, y = 1480, z = 2361 }, + { x = -3132, y = 1095, z = 1302 }, + { x = -4232, y = 819, z = -979 }, + { x = -2972, y = 757, z = -2704 }, + { x = 3109, y = -411, z = -2739 }, + { x = -2066, y = -1182, z = -3710 }, + { x = -4748, y = -1349, z = -1054 }, + { x = -3354, y = -1535, z = 3948 }, + { x = 755, y = -1536, z = 5171 }, + { x = 2669, y = -2303, z = 3379 }, + { x = 4163, y = -3071, z = 685 }, + { x = 2775, y = -4351, z = 3636 }, + { x = 4067, y = -4607, z = 1758 }, + { x = 3349, y = -4694, z = -183 }, + }, + powerups = { + { pos = { x = 4301, y = -3284, z = -4 }, obj = nil }, + }, + spawn = { + { + a = { x = -1002, y = 2560, z = -2680 }, + b = { x = -2129, y = 2560, z = -2554 }, + }, + { + a = { x = -594, y = 2560, z = -2142 }, + b = { x = -2408, y = 2560, z = -2127 }, + }, + }, + erase = { + [id_bhvRedCoin] = true, + [id_bhvSpindrift] = true, + }, + platforms = { + { pos = { x = -27, y = 3090, z = -1331 }, rot = { x = 0, y = 0, z = 0 }, scale = { x = 1.25, y = 1, z = 2 } }, }, }, } diff --git a/mods/shell-rush/race.lua b/mods/shell-rush/race.lua index da084a67..6de6b102 100644 --- a/mods/shell-rush/race.lua +++ b/mods/shell-rush/race.lua @@ -176,10 +176,14 @@ function race_update() -- race is finished, start a new one if gLevelData == gLevelDataTable[LEVEL_CASTLE_GROUNDS] then race_start(LEVEL_BOB) - elseif gLevelData == gLevelDataTable[LEVEL_SL] then - race_start(LEVEL_CASTLE_GROUNDS) elseif gLevelData == gLevelDataTable[LEVEL_BOB] then race_start(LEVEL_SL) + elseif gLevelData == gLevelDataTable[LEVEL_SL] then + race_start(LEVEL_TTM) + elseif gLevelData == gLevelDataTable[LEVEL_TTM] then + race_start(LEVEL_CCM) + elseif gLevelData == gLevelDataTable[LEVEL_CCM] then + race_start(LEVEL_CASTLE_GROUNDS) end end end @@ -191,6 +195,10 @@ function on_race_command(msg) djui_chat_message_create('Only the server can change this setting!') return true end + if msg == 'CG' then + race_start(LEVEL_CASTLE_GROUNDS) + return true + end if msg == 'BOB' then race_start(LEVEL_BOB) return true @@ -199,10 +207,13 @@ function on_race_command(msg) race_start(LEVEL_SL) return true end - if msg == 'CG' then - race_start(LEVEL_CASTLE_GROUNDS) + if msg == 'TTM' then + race_start(LEVEL_TTM) return true end + if msg == 'CCM' then + race_start(LEVEL_CCM) + end return false end @@ -228,7 +239,7 @@ function on_game_state_changed(tag, oldVal, newVal) end if network_is_server() then - hook_chat_command('race', "[CG|SL|BOB]", on_race_command) + hook_chat_command('race', "[CG|BOB|SL|TTM|CCM]", on_race_command) hook_chat_command('laps', "[number]", on_laps_command) end hook_on_sync_table_change(gGlobalSyncTable, 'gameState', i, on_game_state_changed)