From f37b35bc1fe26f9ae7849e30fca1c7c93d2a859a Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Thu, 4 Jun 2015 05:32:05 -0400 Subject: [PATCH 1/2] Adds meteor waves --- code/game/gamemodes/meteor/meteor.dm | 21 ++++++++++++--------- code/game/gamemodes/meteor/meteors.dm | 12 +++--------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm index deb28d76893..cfb6d4c0392 100644 --- a/code/game/gamemodes/meteor/meteor.dm +++ b/code/game/gamemodes/meteor/meteor.dm @@ -3,7 +3,7 @@ config_tag = "meteor" var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds) var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds) - var/const/meteordelay = 2000 + var/const/initialmeteordelay = 3000 var/nometeors = 1 required_players = 0 @@ -20,22 +20,25 @@ defer_powernet_rebuild = 2//Might help with the lag spawn (rand(waittime_l, waittime_h)) send_intercept() - spawn(meteordelay) + spawn(initialmeteordelay) nometeors = 0 ..() /datum/game_mode/meteor/process() if(nometeors) return - /*if(prob(80)) - spawn() - dust_swarm("norm") - else - spawn() - dust_swarm("strong")*/ - spawn() spawn_meteors(6) + sendmeteors() +/datum/game_mode/meteor/proc/sendmeteors() + nometeors = 1 + var/waveduration = world.timeofday + rand(3000,9000) + var/waitduration = rand(3000,9000) + while(waveduration - world.timeofday > 0) + spawn() spawn_meteors(6) + spawn(waitduration) + nometeors = 0 + /datum/game_mode/meteor/declare_completion() var/text var/survivors = 0 diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 8e04c69f71f..c0e48f5b7ba 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -1,10 +1,4 @@ -/var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds -//set to at least 100 unless you want evarr ruining every round - -/var/const/meteors_in_wave = 50 -/var/const/meteors_in_small_wave = 10 - -/proc/meteor_wave(var/number = meteors_in_wave) +/*/proc/meteor_wave(var/number = meteors_in_wave) if(!ticker || wavesecret) return @@ -14,8 +8,8 @@ spawn_meteor() spawn(meteor_wave_delay) wavesecret = 0 - -/proc/spawn_meteors(var/number = meteors_in_small_wave) +*/ +/proc/spawn_meteors(var/number) for(var/i = 0; i < number; i++) spawn(0) spawn_meteor() From c7c3efb5d058bb4c9afc6966e37bea1de52a243e Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Thu, 4 Jun 2015 05:43:57 -0400 Subject: [PATCH 2/2] Lets not spawn infinite meteors. --- code/game/gamemodes/meteor/meteor.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm index cfb6d4c0392..57a1e29c36e 100644 --- a/code/game/gamemodes/meteor/meteor.dm +++ b/code/game/gamemodes/meteor/meteor.dm @@ -35,6 +35,7 @@ var/waveduration = world.timeofday + rand(3000,9000) var/waitduration = rand(3000,9000) while(waveduration - world.timeofday > 0) + sleep(20) spawn() spawn_meteors(6) spawn(waitduration) nometeors = 0