-------------------------------------------------------------- -- AG Survival Instance Server Zone Script: Including this -- file lets you set the custom variables for the Survival game. -- -- created mrb... 10/26/10 -- updated pml... 12/7/10 wave iteration -- updated mrb... 7/18/11 - updated for solo missions -------------------------------------------------------------- -------------------------------------------------------------- -- Includes -------------------------------------------------------------- require('02_server/Minigame/Waves/L_BASE_WAVES_SERVER') --////////////////////////////////////////////////////////////////////////////////// -- User Config local variables gConstants = { acceptedDelay = 60, -- how long to wait after one person has presed start to start the match startDelay = 2, -- how long to wait after all the players have accepted before starting the game. waveTime = 6, -- how often to spawn a new wave of mobs, UI will display 1 second less than this number eventGroup = "suprise", -- global event group name, this can be overriden per wave using optEventGroup in the wavePreload table waveCompleteDelay = 2, -- how long to leave the wave Complete UI on the screen introCelebration = "intro", -- **** uncomment and set these two variables to override TransferToLastNonInstance **** --returnZone = 1200, -- map number the player will return to on exit --returnLoc = {x = 131.83, y = 376, z = -180.31, rx = 0, ry = -0.268720, rz = 0, rw = 0.963218} --location that the player will be teleported to in the returnZone on exit -- ************************************************************************************* } --============================================================ -- table of variables of the object LOT's to spawn in spawnLOTs = { stromling = 12586, mech = 12587, spiderling = 12588, pirate = 12589, admiral = 12590, ape_boss = 12591, stromling_boss = 12600, hammerling = 12602, sentry = 12604, spiderling_ve = 12605, spiderling_boss = 12609, ronin = 12610, cavalry = 12611, dragon_boss = 12612, stromling_minifig = 12586, mushroom = 12614, maelstrom_chest = 4894, outhouse = 12616, dragon_statue = 12617, treasure_chest = 12423, hammerling_melee = 12653, maelstrom_geyser = 10314, ronin_statue = 12611, horseman_boss01 = 11999, horseman_boss02 = 12467, horseman_boss03 = 12468, horseman_boss04 = 12469, admiral_cp = 13523, } -- table of variables of the spawner names in the map spawnerNames = { interior_A = "Base_MobA", interior_B = "Base_MobB", interior_C = "Base_MobC", gf_A = "MobA_01", gf_B = "MobB_01", gf_C = "MobC_01", concert_A = "MobA_02", concert_B = "MobB_02", concert_C = "MobC_02", ag_A = "MobA_03", ag_B = "MobB_03", ag_C = "MobC_03", Reward_01 = "Reward_01", interior_Reward = "Base_Reward", Obstacle = "Obstacle_01", Boss = "Boss", Ape_Boss = "Ape_Boss", Geyser = "Geyser_01", Treasure_01 = "Treasure_01", Cavalry_Boss = "Cavalry_Boss", Horseman_01 = "Horseman_01", Horseman_02 = "Horseman_02", Horseman_03 = "Horseman_03", Horseman_04 = "Horseman_04", } cinematics = { boss1 = "Stromling_Boss", boss2 = "Gorilla_Boss", boss3 = "Spiderling_Boss", boss4 = "Horsemen_Boss", treasure1 = "Treasure_Camera", } tTimedMissions = { {time = 190, wave = 7, misID = 1242}, {time = 240, wave = 7, misID = 1226}, {time = 450, wave = 15, misID = 1243}, {time = 600, wave = 15, misID = 1227}, {time = 720, wave = 22, misID = 1244}, {time = 840, wave = 22, misID = 1228}, {time = 1080, wave = 29, misID = 1245}, {time = 1200, wave = 29, misID = 1229}, } -- wavePreloads is a nested table of the wave load outs there should be one table for each wave -- FORMAT: --{-- Wave # -------------------------- ** -- {LOT = spawnerName.Var, num = #toSpawn, name = spawnerNames.Var}, -- keep repeating in the same format for each different spawnerNetwork -- winDelay = #timeBeforeGameRestarts, -- adding this will end the game after x seconds -- winNotify = true, -- adding this as true will make the game wait for a NotifyObject call to start the winDelay -- optTime = 10, -- adding this will make the wave have a timed count down instead of waiting for the mobs to die, mainly used for reward waves -- optEvent = "eventToFire", -- adding this will fire an event at the begining of a wave -- optEventGroup = "eventGroupName", -- adding this will override the default gConstants.eventGroup for this wave -- optCelebration = "final", -- adding this will play the specified celebration for the celebrations table below -- optCinematic = cinematics.boss1, -- adding this will play a cinematic at the beginning of the wave -- updateMissions = {missionID_1, missionID_2, etc...} -- adding this will update the table of missions/achievements at the end of the wave -- soloUpdateMissions = {missionID_1, missionID_2, etc...} -- adding this will update the table of missions/achievements at the end of the wave for solo missions --}, wavePreloads = { {-- ** Wave 1 -------------------------- ** {LOT = spawnLOTs.stromling_minifig, num = 8, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.stromling_minifig, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.stromling_minifig, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.stromling_minifig, num = 2, name = spawnerNames.gf_A,}, }, {-- ** Wave 2 -------------------------- ** {LOT = spawnLOTs.stromling, num = 8, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.gf_A,}, }, {-- ** Wave 3 -------------------------- ** {LOT = spawnLOTs.stromling, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.mech, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.stromling, num = 3, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.stromling, num = 3, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.stromling, num = 3, name = spawnerNames.gf_A,}, }, {-- ** Wave 4 -------------------------- ** {LOT = spawnLOTs.stromling, num = 3, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.gf_B,}, }, {-- ** Wave 5 -------------------------- ** {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.stromling, num = 1, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.stromling, num = 1, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.gf_B,}, }, {-- ** Wave 6 -------------------------- ** {LOT = spawnLOTs.hammerling_melee, num = 1, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.mech, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.concert_B,}, --{LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.stromling, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.gf_B,}, --{LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.gf_C,}, }, {-- ** Wave 7 -------------------------- ** {LOT = spawnLOTs.stromling_boss, num = 1, name = spawnerNames.Boss}, optCinematic = cinematics.boss1, soloUpdateMissions = {1885}, }, {-- ** Wave 8 -------------------------- ** {LOT = spawnLOTs.mushroom, num = 6, name = spawnerNames.Reward_01,}, {LOT = spawnLOTs.mushroom, num = 3, name = spawnerNames.interior_Reward,}, --{LOT = spawnLOTs.maelstrom_chest, num = 6, name = spawnerNames.Obstacle,}, --{LOT = spawnLOTs.maelstrom_chest, num = 3, name = spawnerNames.Geyser,}, optTime = 25, }, {-- ** Wave 9 -------------------------- ** {LOT = spawnLOTs.pirate, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.gf_B,}, }, {-- ** Wave 10 -------------------------- ** {LOT = spawnLOTs.pirate, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.mech, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.admiral, num = 2, name = spawnerNames.gf_B,}, }, {-- ** Wave 11 -------------------------- ** {LOT = spawnLOTs.pirate, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.spiderling, num = 2, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.gf_C,}, }, {-- ** Wave 12 -------------------------- ** {LOT = spawnLOTs.pirate, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.hammerling, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.spiderling, num = 2, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.mech, num = 2, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.gf_C,}, }, {-- ** Wave 13 -------------------------- ** {LOT = spawnLOTs.pirate, num = 3, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.admiral, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.gf_B,}, }, {-- ** Wave 14 -------------------------- ** {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.admiral, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.mech, num = 2, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.gf_B,}, {LOT = spawnLOTs.mech, num = 1, name = spawnerNames.gf_C,}, }, {-- ** Wave 15 -------------------------- ** {LOT = spawnLOTs.ape_boss, num = 1, name = spawnerNames.Ape_Boss}, optCinematic = cinematics.boss2, soloUpdateMissions = {1886}, }, {-- ** Wave 16 -------------------------- ** {LOT = spawnLOTs.outhouse, num = 3, name = spawnerNames.interior_Reward,}, {LOT = spawnLOTs.mushroom, num = 6, name = spawnerNames.Reward_01,}, --{LOT = spawnLOTs.maelstrom_chest, num = 6, name = spawnerNames.Obstacle,}, --{LOT = spawnLOTs.maelstrom_chest, num = 3, name = spawnerNames.Geyser,}, optTime = 25, }, {-- ** Wave 17 -------------------------- ** {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.hammerling_melee, num = 1, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.hammerling_melee, num = 1, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.hammerling_melee, num = 1, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.gf_B,}, }, {-- ** Wave 18 -------------------------- ** {LOT = spawnLOTs.hammerling_melee, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.hammerling, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.hammerling, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.hammerling, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.hammerling_melee, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.hammerling, num = 1, name = spawnerNames.gf_B,}, }, {-- ** Wave 19 -------------------------- ** {LOT = spawnLOTs.hammerling, num = 4, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.sentry, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.hammerling, num = 2, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.sentry, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.hammerling, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.sentry, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.hammerling, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.sentry, num = 1, name = spawnerNames.gf_B,}, }, {-- ** Wave 20 -------------------------- ** {LOT = spawnLOTs.ronin, num = 3, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.sentry, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.hammerling, num = 1, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.sentry, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.hammerling, num = 1, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.sentry, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.hammerling, num = 1, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.sentry, num = 1, name = spawnerNames.gf_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.gf_C,}, }, {-- ** Wave 21 -------------------------- ** {LOT = spawnLOTs.admiral, num = 2, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.ronin, num = 2, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.spiderling_ve, num = 2, name = spawnerNames.interior_C,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.ronin, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.ronin, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.admiral, num = 1, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.ronin, num = 1, name = spawnerNames.gf_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.gf_C,}, }, {-- ** Wave 22 -------------------------- ** {LOT = spawnLOTs.spiderling_boss, num = 1, name = spawnerNames.Cavalry_Boss}, optCinematic = cinematics.boss3, soloUpdateMissions = {1887}, }, {-- ** Wave 23 -------------------------- ** {LOT = spawnLOTs.outhouse, num = 6, name = spawnerNames.Reward_01,}, {LOT = spawnLOTs.outhouse, num = 3, name = spawnerNames.interior_Reward,}, {LOT = spawnLOTs.maelstrom_chest, num = 4, name = spawnerNames.Obstacle,}, --{LOT = spawnLOTs.maelstrom_chest, num = 3, name = spawnerNames.Geyser,}, optTime = 25, }, {-- ** Wave 24 -------------------------- ** {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.pirate, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.pirate, num = 3, name = spawnerNames.ag_A,}, {LOT = spawnLOTs.ronin, num = 3, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.ronin, num = 2, name = spawnerNames.interior_B,}, }, {-- ** Wave 25 -------------------------- ** {LOT = spawnLOTs.cavalry, num = 2, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.cavalry, num = 1, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.gf_B,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.spiderling, num = 2, name = spawnerNames.gf_A,}, {LOT = spawnLOTs.spiderling, num = 2, name = spawnerNames.concert_A,}, {LOT = spawnLOTs.spiderling, num = 1, name = spawnerNames.ag_A,}, }, {-- ** Wave 26 -------------------------- ** {LOT = spawnLOTs.ronin, num = 3, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.ronin, num = 3, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.gf_B,}, {LOT = spawnLOTs.spiderling_ve, num = 1, name = spawnerNames.concert_B,}, {LOT = spawnLOTs.admiral_cp, num = 2, name = spawnerNames.gf_C,}, {LOT = spawnLOTs.admiral_cp, num = 2, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.concert_C,}, }, {-- ** Wave 27 -------------------------- ** {LOT = spawnLOTs.ronin, num = 5, name = spawnerNames.interior_A,}, {LOT = spawnLOTs.ronin, num = 4, name = spawnerNames.interior_B,}, {LOT = spawnLOTs.cavalry, num = 1, name = spawnerNames.ag_C,}, {LOT = spawnLOTs.cavalry, num = 1, name = spawnerNames.gf_C,}, {LOT = spawnLOTs.cavalry, num = 1, name = spawnerNames.concert_C,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.ag_B,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.gf_B,}, {LOT = spawnLOTs.admiral_cp, num = 1, name = spawnerNames.concert_B,}, }, {-- ** Wave 28 -------------------------- ** --{LOT = spawnLOTs.dragon_statue, num = 3, name = spawnerNames.interior_Reward,}, {LOT = spawnLOTs.dragon_statue, num = 12, name = spawnerNames.Reward_01,}, optTime = 30, }, {-- ** Wave 29 -------------------------- ** {LOT = spawnLOTs.horseman_boss01, num = 1, name = spawnerNames.Horseman_01,}, {LOT = spawnLOTs.horseman_boss02, num = 1, name = spawnerNames.Horseman_02}, {LOT = spawnLOTs.horseman_boss03, num = 1, name = spawnerNames.Horseman_03}, {LOT = spawnLOTs.horseman_boss04, num = 1, name = spawnerNames.Horseman_04}, optCinematic = cinematics.boss4, soloUpdateMissions = {1888}, updateMissions = {1236,1237,1249}, }, {-- ** Wave Treasure ------------------- ** {LOT = spawnLOTs.treasure_chest, num = 1, name = spawnerNames.Treasure_01}, winNotify = true, winDelay = 60, optCinematic = cinematics.treasure1, }, } --////////////////////////////////////////////////////////////////////////////////// --============================================================ -- Game messages sent to the L_BASE_WAVES_SERVER.lua file, these -- must be in this script. Only change to add custom functionality, -- but leav e the base*message*(self, msg, newMsg) in the function. --============================================================ ---------------------------------------------------------------- -- Received when the script is loaded ---------------------------------------------------------------- function onStartup(self) -- send the configured variables to the base script baseStartup(self, newMsg) end ---------------------------------------------------------------- -- Gets called when a celebration ends ---------------------------------------------------------------- function onCelebrationCompleted(self, msg) baseCelebrationCompleted(self, msg, newMsg) end ---------------------------------------------------------------- -- Player has loaded into the map ---------------------------------------------------------------- function onPlayerLoaded(self, msg) basePlayerLoaded(self, msg, newMsg) end ---------------------------------------------------------------- -- Player has exited the map ---------------------------------------------------------------- function onPlayerExit(self, msg) basePlayerExit(self, msg, newMsg) end ---------------------------------------------------------------- -- Received a fire event messaged from the client ---------------------------------------------------------------- function onFireEventServerSide(self, msg) baseFireEventServerSide(self, msg, newMsg) end ---------------------------------------------------------------- -- Received a fire event messaged from someplace on the server ---------------------------------------------------------------- function onFireEvent(self,msg) baseFireEvent(self, msg, newMsg) end ---------------------------------------------------------------- -- A player had died ---------------------------------------------------------------- function onPlayerDied(self, msg) basePlayerDied(self, msg, newMsg) end ---------------------------------------------------------------- -- A player has respawned ---------------------------------------------------------------- function onPlayerResurrected(self, msg) basePlayerResurrected(self, msg, newMsg) end ---------------------------------------------------------------- -- Received a notify object message ---------------------------------------------------------------- function onNotifyObject(self, msg) if msg.name ~= "Survival_Update" then return end if UpdateSpawnedEnemies(self, msg.ObjIDSender, msg.param1) then -- get the time/wave of the player to check for mission updates local curTime = GetActivityValue(self, msg.ObjIDSender, 1) or 0 local curWave = GetActivityValue(self, msg.ObjIDSender, 2) or 0 for k,missionData in ipairs(tTimedMissions) do if curWave == missionData.wave and curTime <= missionData.time then UpdateMissionForAllPlayers(self, missionData.misID) end end end end ---------------------------------------------------------------- -- This is called when players hit the UI to exit or stop the game. ---------------------------------------------------------------- function onMessageBoxRespond(self,msg) baseMessageBoxRespond(self, msg, newMsg) end ---------------------------------------------------------------- -- When activity is stopped this is needed to update the leaderboard. ---------------------------------------------------------------- function onDoCalculateActivityRating(self, msg) return baseDoCalculateActivityRating(self,msg) end