From 7bab9aea4717b8a975a260cf5e9b2d970caf0ca8 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 13 May 2014 02:12:05 +0930 Subject: [PATCH 1/2] Fixes no cooldown on shutdown drones, adds wood tiles and rglass to drone module, changes how regenerating resources work slightly. --- .../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 f2cc8d0e17..9167e4877d 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 276fadb743..56ab25cea3 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -270,7 +270,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/weapon/cable_coil = 30 + ) New() //TODO: Replace with shittier flashlight and work out why we can't remove the flash. ~Z @@ -289,17 +299,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/weapon/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] @@ -316,7 +315,9 @@ /obj/item/weapon/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) @@ -327,9 +328,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 From 2998ab3bd1dda727379ad4a45155c66cdc026318 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Tue, 13 May 2014 02:24:56 +0930 Subject: [PATCH 2/2] Adds inter-drone speak at close range (say) --- .../modules/mob/living/silicon/robot/drone/drone.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 9167e4877d..4e9c806850 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -105,6 +105,19 @@ src << "\red Your binary communications component isn't functional." return robot_talk(trim(copytext(message,3))) + else + + var/list/listeners = hearers(5,src) + listeners |= src + + for(var/mob/living/silicon/robot/drone/D in listeners) + if(D.client) D << "[src] transmits, \"[message]\"" + + for (var/mob/M in player_list) + if (istype(M, /mob/new_player)) + continue + else if(M.stat == 2 && M.client.prefs.toggles & CHAT_GHOSTEARS) + if(M.client) M << "[src] transmits, \"[message]\"" //Sick of trying to get this to display properly without redefining it. /mob/living/silicon/robot/drone/show_system_integrity()