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

@@ -31,7 +31,7 @@
clamp_values()
UpdateDamage()
if(health < 0)
src.gib()
src.dust()
proc/clamp_values()
@@ -87,23 +87,19 @@
usr << "There is no blob here!"
creating_blob = 0
return
if(B.blobtype != "Blob")
usr << "Unable to use this blob, find another one."
if(istype(B,/obj/effect/blob/node)||istype(B,/obj/effect/blob/core)||istype(B,/obj/effect/blob/factory))
usr << "Unable to use this blob, find a normal one."
creating_blob = 0
return
for(var/obj/effect/blob/blob in orange(5))
if(blob.blobtype == "Node")
usr << "There is another node nearby, move away from it!"
creating_blob = 0
return
for(var/obj/effect/blob/blob in orange(2))
if(blob.blobtype == "Factory")
usr << "There is a porus blob nearby, move away from it!"
creating_blob = 0
B.blobdebug = 2
spawn(0)
B.Life()
src.gib()
for(var/obj/effect/blob/node/blob in orange(5))
usr << "There is another node nearby, move more than 5 tiles away from it!"
creating_blob = 0
return
for(var/obj/effect/blob/factory/blob in orange(2))
usr << "There is a porus blob nearby, move more than 2 tiles away from it!"
creating_blob = 0
B.change_to("Node")
src.dust()
return
@@ -119,30 +115,28 @@
return
var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
if(!B)
usr << "There is no blob here!"
usr << "You must be on a blob!"
creating_blob = 0
return
if(B.blobtype != "Blob")
usr << "Unable to use this blob, find another one."
if(istype(B,/obj/effect/blob/node)||istype(B,/obj/effect/blob/core)||istype(B,/obj/effect/blob/factory))
usr << "Unable to use this blob, find a normal one."
creating_blob = 0
return
for(var/obj/effect/blob/blob in orange(2))//Not right next to nodes/cores
if(blob.blobtype == "Node")
if(istype(B,/obj/effect/blob/node))
usr << "There is a node nearby, move away from it!"
creating_blob = 0
return
if(blob.blobtype == "Core")
if(istype(B,/obj/effect/blob/core))
usr << "There is a core nearby, move away from it!"
creating_blob = 0
return
if(blob.blobtype == "Factory")
if(istype(B,/obj/effect/blob/factory))
usr << "There is another porous blob nearby, move away from it!"
creating_blob = 0
return
B.blobdebug = 3
spawn(0)
B.Life()
src.gib()
B.change_to("Factory")
src.dust()
return
@@ -158,22 +152,22 @@
return
var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
if(!B)
usr << "There is no blob here!"
usr << "You must be on a blob!"
creating_blob = 0
return
if(B.blobtype != "Factory")
if(!istype(B,/obj/effect/blob/factory))
usr << "Unable to use this blob, find another one."
creating_blob = 0
return
B.revert()
src.gib()
B.change_to("Normal")
src.dust()
return
/mob/living/blob/verb/spawn_blob()
set category = "Blob"
set name = "Create new blob"
set desc = "Attempts to create a new blob in this tile, note might not work."
set desc = "Attempts to create a new blob in this tile."
if(creating_blob) return
var/turf/T = get_turf(src)
creating_blob = 1
@@ -185,16 +179,28 @@
usr << "There is a blob here!"
creating_blob = 0
return
if(prob(50))
new/obj/effect/blob(src.loc)
src << "\blue Success."
else
src << "\red Creation failed."
src.gib()
new/obj/effect/blob(src.loc)
src.dust()
return
///mob/proc/Blobize()
/client/proc/Blobcount()
set category = "Debug"
set name = "blobreport"
set desc = "blob report."
set hidden = 1
if(!holder)
src << "Only administrators may use this command."
return
if(ticker && ticker.mode)
src << "blobs: [blobs.len]"
src << "cores: [blob_cores.len]"
src << "nodes: [blob_nodes.len]"
return
/client/proc/Blobize()//Mostly stolen from the respawn command
set category = "Debug"
set name = "Ghostblob"
@@ -228,10 +234,10 @@
if(G_found.client)
G_found.client.screen.len = null
var/mob/living/blob/B = new/mob/living/blob(locate(0,0,1))//temp area also just in case should do this better but tired
for(var/obj/effect/blob/core in world)
if(blob_cores.len > 0)
var/obj/effect/blob/core/core = pick(blob_cores)
if(core)
if(core.blobtype == "Core")
B.loc = core.loc
B.loc = core.loc
B.ghost_name = G_found.real_name
if (G_found.client)
G_found.client.mob = B
@@ -244,6 +250,5 @@
B << "You have the power to create a new blob node that will help expand the blob."
B << "To create this node you will have to be on a normal blob tile and far enough away from any other node."
B << "Check your Blob verbs and hit Create Node to build a node."
B << "NOTE: Create new blob will only work 50% of the time."
spawn(10)
del(G_found)