// SURVIVAL MODE // //------------------// loadSurvivalMode() { level.playerspawns = ""; level.survSpawns = []; level.survSpawnsPriority = []; level.survSpawnsTotalPriority = 0; } beginSurvivalMode() { level.survivalMode = spawnstruct(); level.survivalMode.waveSystem = getSetting("surv_wave_system"); level.survivalMode.waveZombiesPP = getSetting("surv_wave_zombiespp"); level.survivalMode.waveZombiesPP_inc = getSetting("surv_wave_zombiespp_inc"); level.survivalMode.waveZombiesPW = getSetting("surv_wave_zombiespw"); level.survivalMode.waveZombiesPW_inc = getSetting("surv_wave_zombiespw_inc"); level.survivalMode.waveZombiesHealth = getSetting("surv_wave_zombiehealth"); level.survivalMode.waveZombiesHealth_inc = getSetting("surv_wave_zombiehealth_inc"); level.survivalMode.waveZombiesHealthPP_inc = getSetting("surv_wave_zombiehealthpp_inc"); level.survivalMode.wavePrepareTime = getSetting("surv_preparetime"); level.survivalMode.waveSpawnTime = getSetting("surv_wave_spawnspeed"); level.survivalMode.waveSpawnTimePW_dec = getSetting("surv_wave_spawnspeedpw_dec"); level.survivalMode.waveSpawnTimePP_prc = getSetting("surv_wave_spawnspeedpp_prc"); level.survivalMode.waveSpecialChance["dog"] = getSetting("surv_wave_dog_prc"); level.survivalMode.waveSpecialChance["burning"] = getSetting("surv_wave_burning_prc"); level.survivalMode.waveSpecialChance["toxic"] = getSetting("surv_wave_toxic_prc"); level.survivalMode.waveNumber = 1; level.survivalMode.waveSize = 0; switch(level.gameMode) { case "waves_special": thread survSpecialWaves(); break; } } survSpecialWaves() { normalWaves = getSetting("surv_spc_waveinterval"); specialWaves = getSetting("surv_spc_specialwaves"); for (i=0; i 0) survPrepare(level.survivalMode.wavePrepareTime); loadWaveStats(); notifyMessage("Wave" + level.survivalMode.waveNumber + ":", level.survivalMode.waveSize + " zombies incomming!", (1,0,0)); for (i=0; i 0) { level waittill("bot_killed"); } level.survivalMode.waveNumber ++; } survSpecialWave(special) { } survSpawnZombie() { type = survRandomType(); spawn = survRandomSpawn(); while(!isdefined(maps\mp\gametypes\_bots::spawnZombie(type, spawn))) { // We want to make sure it has spawned wait .5; } } survRandomSpawn() { random = randomint(level.survSpawnsTotalPriority); for (i=0; i 0) return spawns[randomint(spawns.size)]; else return undefined; } } } survRandomType() { type[0] = "dog"; //type[1] = "burning"; //type[2] = "toxic"; total = 0; for (i=0; i total) return "zombie"; else { for (i=0; i level.health_deviation) level.zomHPMod = level.health_deviation; ratio = (level.botsAlive/level.activePlayers)/level.pref_zom_alive_pp; //level.spawn_rate = level.spawn_rate * (ratio); if (level.spawn_rate < .1) level.spawn_rate = .1; //iprintlnbold(level.zomHPMod); } } }