Merge pull request #5130 from mwerezak/drone-access

Drone Fixes
This commit is contained in:
Ccomp5950
2014-06-03 19:49:15 -05:00
6 changed files with 56 additions and 25 deletions

View File

@@ -12,6 +12,7 @@
braintype = "Robot"
lawupdate = 0
density = 1
req_access = list(access_engine, access_robotics)
// We need to keep track of a few module items so we don't need to do list operations
// every time we need them. These get set in New() after the module is chosen.
@@ -30,6 +31,9 @@
..()
if(camera && "Robots" in camera.network)
camera.network.Add("Engineering")
//They are unable to be upgraded, so let's give them a bit of a better battery.
cell.maxcharge = 10000
cell.charge = 10000
@@ -198,11 +202,15 @@
if(stat == 2)
user << "\red You swipe your ID card through [src], attempting to reboot it."
if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave.
user << "\red The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one."
return
if(!allowed(usr))
user << "\red Access denied."
return
user.visible_message("\red \the [user] swipes \his ID card through \the [src], attempting to reboot it.", "\red You swipe your ID card through \the [src], attempting to reboot it.")
var/drones = 0
for(var/mob/living/silicon/robot/drone/D in world)
if(D.key && D.client)
@@ -212,14 +220,15 @@
return
else
src << "\red [user] swipes an ID card through your card reader."
user << "\red You swipe your ID card through [src], attempting to shut it down."
user.visible_message("\red \the [user] swipes \his ID card through \the [src], attempting to shut it down.", "\red You swipe your ID card through \the [src], attempting to shut it down.")
if(emagged)
return
if(allowed(usr))
shut_down()
else
user << "\red Access denied."
return

View File

@@ -968,9 +968,9 @@
if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access
return 0
for(var/req in req_access)
if(!(req in I.access)) //doesn't have this access
return 0
return 1
if(req in I.access) //have one of the required accesses
return 1
return 0
/mob/living/silicon/robot/proc/updateicon()

View File

@@ -45,7 +45,8 @@
name = "standard robot module"
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/weapon/melee/baton(src)
src.modules += new /obj/item/weapon/extinguisher(src)
src.modules += new /obj/item/weapon/wrench(src)
@@ -63,7 +64,8 @@
name = "medical robot module"
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/borg/sight/hud/med(src)
src.modules += new /obj/item/device/healthanalyzer(src)
src.modules += new /obj/item/device/reagent_scanner/adv(src)
@@ -94,7 +96,8 @@
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/borg/sight/meson(src)
src.emag = new /obj/item/borg/stun(src)
src.modules += new /obj/item/weapon/rcd/borg(src)
@@ -146,7 +149,8 @@
name = "security robot module"
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/borg/sight/hud/sec(src)
src.modules += new /obj/item/weapon/handcuffs/cyborg(src)
src.modules += new /obj/item/weapon/melee/baton(src)
@@ -177,7 +181,8 @@
name = "janitorial robot module"
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/weapon/soap/nanotrasen(src)
src.modules += new /obj/item/weapon/storage/bag/trash(src)
src.modules += new /obj/item/weapon/mop(src)
@@ -199,7 +204,8 @@
name = "service robot module"
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src)
src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src)
src.modules += new /obj/item/weapon/pen/robopen(src)
@@ -236,7 +242,8 @@
name = "miner robot module"
New()
..()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/borg/sight/meson(src)
src.emag = new /obj/item/borg/stun(src)
src.modules += new /obj/item/weapon/storage/bag/ore(src)
@@ -249,6 +256,8 @@
name = "syndicate robot module"
New()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/weapon/melee/energy/sword(src)
src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src)
src.modules += new /obj/item/weapon/card/emag(src)
@@ -258,6 +267,8 @@
name = "combat robot module"
New()
src.modules += new /obj/item/device/flashlight(src)
src.modules += new /obj/item/device/flash(src)
src.modules += new /obj/item/borg/sight/thermal(src)
src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src)
src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src)
@@ -283,8 +294,7 @@
)
New()
//TODO: Replace with shittier flashlight and work out why we can't remove the flash. ~Z
..()
src.modules += new /obj/item/device/flashlight/drone(src)
src.modules += new /obj/item/weapon/weldingtool(src)
src.modules += new /obj/item/weapon/screwdriver(src)
src.modules += new /obj/item/weapon/wrench(src)