Adds randomlly spawning rooms to the mining asteroid that contain various goodies. (Among them are a modified traitor beacon, a cloaking device and a closet full of resources so you can go build your own honk.)

These rooms will spawn at least out of range of space and the explored pathways, so at the very least some mining is required to even detect them with mesons.
Adds a borg upgrade system. Right now, it just contians a borg reset module that allows the borg to choose their module again.  Adds some support code to borgs to suppot flashproofing and renaming.
Adds a few various admin commands like a quick-list of objects (which is hardcoded) and a command to break the local air group.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3415 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
VivianFoxfoot@gmail.com
2012-04-09 02:19:28 +00:00
parent 829e0280c3
commit 3385621585
18 changed files with 472 additions and 29 deletions
@@ -9,8 +9,9 @@
if (src.stat == 2)
src.verbs += /mob/proc/ghost
if(src.real_name == "Cyborg")
src.ident = rand(1, 999)
src.real_name += " "
src.real_name += "-[rand(1, 999)]"
src.real_name += "-[ident]"
src.name = src.real_name
if(!src.connected_ai)
for(var/mob/living/silicon/ai/A in world)
+62 -2
View File
@@ -10,7 +10,8 @@
updateicon()
// syndicate = syndie
if(real_name == "Cyborg")
real_name += " [pick(rand(1, 999))]"
ident = rand(1, 999)
real_name += "-[ident]"
name = real_name
spawn (4)
@@ -487,10 +488,61 @@
if(prob(25))
src << "Hack attempt detected."
return
else if(istype(W, /obj/item/borg/upgrade/))
var/obj/item/borg/upgrade/U = W
if(!opened)
usr << "You must access the borgs internals!"
else if(!src.module)
usr << "The borg must choose a module before he can be upgraded!"
else if(U.locked)
usr << "The upgrade is locked and cannot be used yet!"
else
usr << "You apply the upgrade to [src]!"
usr.drop_item()
U.loc = src
U.action(src)
else
spark_system.start()
return ..()
/mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
if (!ticker)
M << "You cannot attack people before the game has started."
@@ -1025,4 +1077,12 @@ Frequency:
if(R)
R.UnlinkSelf()
R << "Buffers flushed and reset. All systems operational."
src.verbs -= /mob/living/silicon/robot/proc/ResetSecurityCodes
src.verbs -= /mob/living/silicon/robot/proc/ResetSecurityCodes
/mob/living/silicon/robot/proc/flashproof()
if(module)
for(var/obj/item/borg/upgrade/flashproof/F in module.modules)
return 1
return 0
@@ -0,0 +1,47 @@
// robot_upgrades.dm
// Contains various borg upgrades.
/obj/item/borg/upgrade/
name = "A borg upgrade module."
desc = "Protected by FRM."
icon = 'module.dmi'
icon_state = "id_mod"
var/construction_time = 120
var/construction_cost = list("metal"=10000)
var/locked = 0
/obj/item/borg/upgrade/proc/action()
return
/obj/item/borg/upgrade/reset/
name = "Borg module reset board"
desc = "Used to reset a borg's module. Destroys any other upgrades applied to the borg."
/obj/item/borg/upgrade/reset/action(var/mob/living/silicon/robot/R)
R.uneq_all()
R.hands.icon_state = "nomod"
R.icon_state = "robot"
del(R.module)
R.module = null
R.modtype = "robot"
R.real_name = "Cyborg [R.ident]"
R.name = R.real_name
R.nopush = 0
R.updateicon()
return
/obj/item/borg/upgrade/flashproof/
name = "Borg Flash-Supression"
desc = "A highly advanced, complicated system for supressing incoming flashes directed at the borg's optical processing system."
construction_cost = list("metal"=10000,"gold"=2000,"silver"=3000,"glass"=2000, "diamond"=5000)
/obj/item/borg/upgrade/flashproof/New() // Why the fuck does the fabricator make a new instance of all the items?
//desc = "Sunglasses with duct tape." // Why? D:
/obj/item/borg/upgrade/flashproof/action(var/mob/living/silicon/robot/R)
if(R.module)
R.module += src