mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
Removed the nuke code. You cannot nuke the station anymore.
Added a Jump to Node power. Cleaned up the code. Changed some more values. Added a blob_act() to camera. Removed most "if(gamemode == "blob") checks to stop people from using it to metagame. Removed cells exploding when being blob_act()'d
This commit is contained in:
@@ -24,8 +24,8 @@ var/list/blob_nodes = list()
|
||||
var/players_per_core = 26
|
||||
|
||||
var/blob_count = 0
|
||||
var/blobnukecount = 200//Might be a bit low
|
||||
var/blobwincount = 400//Still needs testing
|
||||
var/blobnukecount = 300//Might be a bit low
|
||||
var/blobwincount = 600//Still needs testing
|
||||
|
||||
var/list/infected_crew = list()
|
||||
|
||||
@@ -64,11 +64,6 @@ var/list/blob_nodes = list()
|
||||
world << "You must kill it all while minimizing the damage to the station."
|
||||
|
||||
|
||||
/datum/game_mode/blob/process()
|
||||
if(declared == 1)
|
||||
stage(2) // check for win conditions
|
||||
return
|
||||
|
||||
/datum/game_mode/blob/proc/greet_blob(var/datum/mind/blob)
|
||||
blob.current << "<B>\red You are infected by the Blob!</B>"
|
||||
blob.current << "<b>You're body is ready to give spawn to a new blob core which will eat this station.</b>"
|
||||
@@ -82,6 +77,9 @@ var/list/blob_nodes = list()
|
||||
for(var/datum/mind/blob in infected_crew)
|
||||
greet_blob(blob)
|
||||
|
||||
if(emergency_shuttle)
|
||||
emergency_shuttle.always_fake_recall = 1
|
||||
|
||||
spawn(10)
|
||||
start_state = new /datum/station_state()
|
||||
start_state.count()
|
||||
@@ -123,7 +121,7 @@ var/list/blob_nodes = list()
|
||||
stage(0)
|
||||
|
||||
// Stage 1
|
||||
sleep(5000)
|
||||
sleep(4000)
|
||||
stage(1)
|
||||
|
||||
..()
|
||||
@@ -149,14 +147,5 @@ var/list/blob_nodes = list()
|
||||
M << sound('sound/AI/outbreak5.ogg')
|
||||
return
|
||||
|
||||
if (2)
|
||||
if((blobs.len > blobnukecount) && (declared == 1))
|
||||
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
|
||||
spawn(20)
|
||||
set_security_level("delta")
|
||||
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
fire_resist = 2
|
||||
var/mob/camera/blob/overmind = null // the blob core's overmind
|
||||
var/overmind_get_delay = 0 // we don't want to constantly try to find an overmind, do it every 30 seconds
|
||||
var/resource_delay = 0
|
||||
|
||||
New(loc, var/h = 200, var/client/new_overmind = null)
|
||||
blob_cores += src
|
||||
@@ -38,7 +39,9 @@
|
||||
if(!overmind)
|
||||
create_overmind()
|
||||
else
|
||||
overmind.add_points(2)
|
||||
if(resource_delay <= world.time)
|
||||
resource_delay = world.time + 10 // 1 second
|
||||
overmind.add_points(2)
|
||||
health = min(initial(health), health + 1)
|
||||
for(var/i = 1; i < 8; i += i)
|
||||
Pulse(0, i)
|
||||
|
||||
@@ -9,10 +9,9 @@
|
||||
invisibility = INVISIBILITY_OBSERVER
|
||||
|
||||
pass_flags = PASSBLOB
|
||||
var/creating_blob = 0
|
||||
var/obj/effect/blob/core/blob_core = null // The blob overmind's core
|
||||
faction = "blob"
|
||||
|
||||
var/obj/effect/blob/core/blob_core = null // The blob overmind's core
|
||||
var/blob_points = 0
|
||||
var/max_blob_points = 100
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
// Power verbs
|
||||
|
||||
/mob/camera/blob/verb/transport()
|
||||
/mob/camera/blob/verb/transport_core()
|
||||
set category = "Blob"
|
||||
set name = "Return to Core"
|
||||
set desc = "Transport back to your core."
|
||||
@@ -21,6 +21,19 @@
|
||||
if(blob_core)
|
||||
src.loc = blob_core.loc
|
||||
|
||||
/mob/camera/blob/verb/jump_to_node()
|
||||
set category = "Blob"
|
||||
set name = "Jump to Node"
|
||||
set desc = "Transport back to your core."
|
||||
|
||||
if(blob_nodes.len)
|
||||
var/list/nodes = list()
|
||||
for(var/i = 1; i <= blob_nodes.len; i++)
|
||||
nodes["Blob Node #[i]"] = blob_nodes[i]
|
||||
var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes
|
||||
var/obj/effect/blob/node/chosen_node = nodes[node_name]
|
||||
if(chosen_node)
|
||||
src.loc = chosen_node.loc
|
||||
|
||||
/mob/camera/blob/verb/create_shield()
|
||||
set category = "Blob"
|
||||
@@ -36,11 +49,11 @@
|
||||
var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
|
||||
|
||||
if(!B)//We are on a blob
|
||||
usr << "There is no blob here!"
|
||||
src << "There is no blob here!"
|
||||
return
|
||||
|
||||
if(!istype(B, /obj/effect/blob/normal))
|
||||
usr << "Unable to use this blob, find a normal one."
|
||||
src << "Unable to use this blob, find a normal one."
|
||||
return
|
||||
|
||||
if(!can_buy(10))
|
||||
@@ -53,7 +66,7 @@
|
||||
|
||||
/mob/camera/blob/verb/create_resource()
|
||||
set category = "Blob"
|
||||
set name = "Create Resource Blob (20)"
|
||||
set name = "Create Resource Blob (40)"
|
||||
set desc = "Create a resource tower which will generate points for you."
|
||||
|
||||
|
||||
@@ -65,18 +78,18 @@
|
||||
var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
|
||||
|
||||
if(!B)//We are on a blob
|
||||
usr << "There is no blob here!"
|
||||
src << "There is no blob here!"
|
||||
return
|
||||
|
||||
if(!istype(B, /obj/effect/blob/normal))
|
||||
usr << "Unable to use this blob, find a normal one."
|
||||
src << "Unable to use this blob, find a normal one."
|
||||
return
|
||||
|
||||
for(var/obj/effect/blob/resource/blob in orange(3))
|
||||
usr << "There is a resource blob nearby, move more than 3 tiles away from it!"
|
||||
src << "There is a resource blob nearby, move more than 3 tiles away from it!"
|
||||
return
|
||||
|
||||
if(!can_buy(20))
|
||||
if(!can_buy(40))
|
||||
return
|
||||
|
||||
|
||||
@@ -101,15 +114,15 @@
|
||||
var/obj/effect/blob/B = (locate(/obj/effect/blob) in T)
|
||||
|
||||
if(!B)//We are on a blob
|
||||
usr << "There is no blob here!"
|
||||
src << "There is no blob here!"
|
||||
return
|
||||
|
||||
if(!istype(B, /obj/effect/blob/normal))
|
||||
usr << "Unable to use this blob, find a normal one."
|
||||
src << "Unable to use this blob, find a normal one."
|
||||
return
|
||||
|
||||
for(var/obj/effect/blob/node/blob in orange(4))
|
||||
usr << "There is another node nearby, move more than 4 tiles away from it!"
|
||||
src << "There is another node nearby, move more than 4 tiles away from it!"
|
||||
return
|
||||
|
||||
if(!can_buy(60))
|
||||
@@ -133,15 +146,15 @@
|
||||
|
||||
var/obj/effect/blob/B = locate(/obj/effect/blob) in T
|
||||
if(!B)
|
||||
usr << "You must be on a blob!"
|
||||
src << "You must be on a blob!"
|
||||
return
|
||||
|
||||
if(!istype(B, /obj/effect/blob/normal))
|
||||
usr << "Unable to use this blob, find a normal one."
|
||||
src << "Unable to use this blob, find a normal one."
|
||||
return
|
||||
|
||||
for(var/obj/effect/blob/factory/blob in orange(6))
|
||||
usr << "There is a factory blob nearby, move more than 6 tiles away from it!"
|
||||
src << "There is a factory blob nearby, move more than 6 tiles away from it!"
|
||||
return
|
||||
|
||||
if(!can_buy(60))
|
||||
@@ -155,7 +168,6 @@
|
||||
set category = "Blob"
|
||||
set name = "Remove Blob (0)"
|
||||
set desc = "Removes a blob."
|
||||
if(creating_blob) return
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
@@ -163,11 +175,11 @@
|
||||
|
||||
var/obj/effect/blob/B = locate(/obj/effect/blob) in T
|
||||
if(!B)
|
||||
usr << "You must be on a blob!"
|
||||
src << "You must be on a blob!"
|
||||
return
|
||||
|
||||
if(istype(B, /obj/effect/blob/core))
|
||||
usr << "Unable to use this blob, find another one."
|
||||
src << "Unable to use this blob, find another one."
|
||||
return
|
||||
|
||||
B.change_to(/obj/effect/blob)
|
||||
@@ -178,7 +190,7 @@
|
||||
set category = "Blob"
|
||||
set name = "Expand Blob (5)"
|
||||
set desc = "Attempts to create a new blob in this tile. If the tile isn't clear we will attack it, which might clear it."
|
||||
if(creating_blob) return
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
if(!T)
|
||||
@@ -186,12 +198,12 @@
|
||||
|
||||
var/obj/effect/blob/B = locate() in T
|
||||
if(B)
|
||||
usr << "There is a blob here!"
|
||||
src << "There is a blob here!"
|
||||
return
|
||||
|
||||
var/obj/effect/blob/OB = locate() in circlerange(src, 1)
|
||||
if(!OB)
|
||||
usr << "There is no blob adjacent to you."
|
||||
src << "There is no blob adjacent to you."
|
||||
return
|
||||
|
||||
if(!can_buy(5))
|
||||
@@ -204,7 +216,6 @@
|
||||
set category = "Blob"
|
||||
set name = "Rally Spores (5)"
|
||||
set desc = "Rally the spores to move to your location."
|
||||
if(creating_blob) return
|
||||
|
||||
if(!can_buy(5))
|
||||
return
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
return
|
||||
|
||||
/obj/machinery/camera/blob_act()
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/machinery/camera/proc/setViewRange(var/num = 7)
|
||||
|
||||
@@ -456,10 +456,6 @@
|
||||
user << "The emergency shuttle is already on its way."
|
||||
return
|
||||
|
||||
if(ticker.mode.name == "blob")
|
||||
user << "Under directive 7-10, [station_name()] is quarantined until further notice."
|
||||
return
|
||||
|
||||
emergency_shuttle.incall()
|
||||
log_game("[key_name(user)] has called the shuttle.")
|
||||
message_admins("[key_name_admin(user)] has called the shuttle.", 1)
|
||||
@@ -472,7 +468,7 @@
|
||||
/proc/cancel_call_proc(var/mob/user)
|
||||
if ((!( ticker ) || emergency_shuttle.location || emergency_shuttle.direction == 0 || emergency_shuttle.timeleft() < 300))
|
||||
return
|
||||
if((ticker.mode.name == "blob")||(ticker.mode.name == "meteor"))
|
||||
if(ticker.mode.name == "meteor")
|
||||
return
|
||||
|
||||
if(emergency_shuttle.direction != -1 && emergency_shuttle.online) //check that shuttle isn't already heading to centcom
|
||||
|
||||
@@ -34,10 +34,6 @@ AI MODULES
|
||||
usr << "You haven't selected an AI to transmit laws to!"
|
||||
return
|
||||
|
||||
if(ticker && ticker.mode && ticker.mode.name == "blob")
|
||||
usr << "Law uploads have been disabled by NanoTrasen!"
|
||||
return
|
||||
|
||||
if (comp.current.stat == 2 || comp.current.control_disabled == 1)
|
||||
usr << "Upload failed. No signal is being detected from the AI."
|
||||
else if (comp.current.see_in_dark == 0)
|
||||
|
||||
@@ -231,9 +231,6 @@
|
||||
else if(href_list["call_shuttle"])
|
||||
if(!check_rights(R_ADMIN)) return
|
||||
|
||||
if( ticker.mode.name == "blob" )
|
||||
alert("You can't call the shuttle during blob!")
|
||||
return
|
||||
|
||||
switch(href_list["call_shuttle"])
|
||||
if("1")
|
||||
|
||||
@@ -140,8 +140,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/cell/blob_act()
|
||||
if(prob(75))
|
||||
explode()
|
||||
ex_act(1)
|
||||
|
||||
/obj/item/weapon/cell/proc/get_electrocute_damage()
|
||||
switch (charge)
|
||||
|
||||
Reference in New Issue
Block a user