Worked on blob mode a bit

Readded the AM stuff to the dme
Added another explosion edit from Willox


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3903 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
mport2004@gmail.com
2012-06-24 00:03:31 +00:00
parent bdc1c3390a
commit 69753b0190
18 changed files with 524 additions and 265 deletions

View File

@@ -11,10 +11,6 @@ var/list/blob_nodes = list()
config_tag = "blob"
required_players = 0
uplink_welcome = "Syndicate Uplink Console:"
uplink_uses = 10
var/const/waittime_l = 1800 //lower bound on time before intercept arrives (in tenths of seconds)
var/const/waittime_h = 3600 //upper bound on time before intercept arrives (in tenths of seconds)
@@ -28,8 +24,9 @@ var/list/blob_nodes = list()
var/autoexpand = 0
var/expanding = 0
var/blobnukecount = 500
var/blobwincount = 700
var/blob_count = 0
var/blobnukecount = 300//Might be a bit low
var/blobwincount = 700//Still needs testing
announce()
@@ -45,6 +42,9 @@ var/list/blob_nodes = list()
spawn(rand(waittime_l, waittime_h))//3-5 minutes currently
message_admins("Blob spawned and expanding, report created")
if(!kill_air)
kill_air = 1
message_admins("Kill air has been set to true by Blob, testing to see how laggy it is without the extra processing from hullbreaches. Note: the blob is fireproof so plasma does not help anyways")
if(ticker && ticker.minds && ticker.minds.len)
var/player_based_cores = round(ticker.minds.len/players_per_core, 1)
@@ -52,7 +52,7 @@ var/list/blob_nodes = list()
cores_to_spawn = player_based_cores
blobs = list()
for(var/i = 1 to cores_to_spawn)
for(var/i = 0 to cores_to_spawn)
var/turf/location = pick(blobstart)
if(location && !locate(/obj/effect/blob in location))
blobstart -= location
@@ -67,18 +67,18 @@ var/list/blob_nodes = list()
process()
if(!declared) return
stage()
if(!autoexpand) return
spawn(0)
expandBlob()
// if(!autoexpand) return
// spawn(0)
// expandBlob()
return
proc/expandBlob()//Change this to have the blob start a pulse rather than life
proc/expandBlob()//Currently disabled
if(expanding) return
if(!blobs.len) return
expanding = 1
for(var/i = 1 to 5)
for(var/i = 1 to 2)
sleep(-1)
if(!blobs.len) break
var/obj/effect/blob/B = pick(blobs)
@@ -91,14 +91,13 @@ var/list/blob_nodes = list()
proc/stage()
switch(stage)
if (0)
send_intercept(1)
for (var/mob/living/silicon/ai/aiPlayer in world)
if (aiPlayer.client)
// var/law = "The station is under a quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving."
var/law = "The station is under quarantine. The biohazard must be destroyed at all costs and must not be allowed to spread. Anyone using a space suit for any reason other than to destroy the biohazard is to be terminated."
var/law = "The station is under quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving. NanoTrasen will not send an emergency shuttle under any circumstances."
//var/law = "The station is under quarantine. The biohazard must be destroyed at all costs and must not be allowed to spread. Anyone using a space suit for any reason other than to destroy the biohazard is to be terminated. NanoTrasen will not send an emergency shuttle under any circumstances."
aiPlayer.set_zeroth_law(law)
aiPlayer << "Laws Updated: [law]"
@@ -111,7 +110,7 @@ var/list/blob_nodes = list()
if (1)
command_alert("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
world << sound('outbreak5.ogg')
autoexpand = 0//The blob now has to live on its own
autoexpand = 0//No more extra pulses
stage = -1
//next stage in 4-5 minutes
spawn(600*rand(4,5))
@@ -123,7 +122,9 @@ var/list/blob_nodes = list()
command_alert("Uncontrolled spread of the biohazard onboard the station. We have issued directive 7-12 for [station_name()]. Any living Heads of Staff are ordered to enact directive 7-12 at any cost, a print out with detailed instructions has been sent to your communications computers.", "Biohazard Alert")
send_intercept(2)
declared = 2
if(blobs.len > blobwincount)//This needs work
spawn(20)
set_security_level("delta")
if(blobs.len > blobwincount)
stage = 3
return