From e87f4afbf249ab44c54ca936f2b36cdea22825fc Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 13 May 2014 02:12:05 +0930 Subject: [PATCH] Fixes no cooldown on shutdown drones, adds wood tiles and rglass to drone module, changes how regenerating resources work slightly. Conflicts: code/modules/mob/living/silicon/robot/robot_modules.dm --- .../mob/living/silicon/robot/drone/drone.dm | 4 ++- .../mob/living/silicon/robot/robot_modules.dm | 34 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index f2cc8d0e17b..9167e4877d8 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -212,6 +212,8 @@ /mob/living/silicon/robot/drone/handle_regular_status_updates() if(health <= -35 && src.stat != 2) + timeofdeath = world.time + death() //Possibly redundant, having trouble making death() cooperate. gib() return ..() @@ -257,7 +259,7 @@ /mob/living/silicon/robot/drone/proc/request_player() for(var/mob/dead/observer/O in player_list) - if(jobban_isbanned(O, "Maintenance Drone")) + if(jobban_isbanned(O, "Cyborg")) continue if(O.client) if(O.client.prefs.be_special & BE_PAI) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 4f6a94490c5..1799079cf4f 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -252,7 +252,17 @@ /obj/item/weapon/robot_module/drone name = "drone module" - + var/list/stacktypes = list( + /obj/item/stack/sheet/wood/cyborg = 1, + /obj/item/stack/sheet/mineral/plastic/cyborg = 1, + /obj/item/stack/sheet/rglass/cyborg = 5, + /obj/item/stack/tile/wood = 5, + /obj/item/stack/rods = 15, + /obj/item/stack/tile/plasteel = 15, + /obj/item/stack/sheet/metal/cyborg = 20, + /obj/item/stack/sheet/glass/cyborg = 20, + /obj/item/stack/cable_coil = 30 + ) New() //TODO: Replace with shittier flashlight and work out why we can't remove the flash. ~Z @@ -271,17 +281,6 @@ src.emag = new /obj/item/weapon/card/emag(src) src.emag.name = "Cryptographic Sequencer" - - var/list/stacktypes = list( - /obj/item/stack/rods = 10, - /obj/item/stack/tile/plasteel = 10, - /obj/item/stack/sheet/metal/cyborg = 10, - /obj/item/stack/sheet/wood/cyborg = 1, - /obj/item/stack/cable_coil = 30, - /obj/item/stack/sheet/glass/cyborg = 10, - /obj/item/stack/sheet/mineral/plastic/cyborg = 1 - ) - for(var/T in stacktypes) var/obj/item/stack/sheet/W = new T(src) W.amount = stacktypes[T] @@ -298,7 +297,9 @@ /obj/item/stack/cable_coil, /obj/item/stack/sheet/glass/cyborg, /obj/item/stack/rods, - /obj/item/stack/tile/plasteel + /obj/item/stack/sheet/rglass/cyborg, + /obj/item/stack/tile/plasteel, + /obj/item/stack/tile/wood ) for(var/T in stacks) @@ -309,9 +310,12 @@ src.modules -= null S = new T(src) src.modules += S - S.amount = 0 + S.amount = 1 + var/max = 15 + if(stacktypes[T]) + max = stacktypes[T] - if(S && S.amount < 15) + if(S && S.amount < max) S.amount++ var/obj/item/device/lightreplacer/LR = locate() in src.modules