From 6a6c908097bbd44e0f44c3536b66b2fbab4f9783 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 31 Dec 2017 11:56:45 -0700 Subject: [PATCH 1/6] Nerf drones - no more ventcrawling - can be blown up remotely - no more diamond drill - dense --- code/modules/mob/living/silicon/robot/drone/drone.dm | 12 +++++++----- .../mob/living/silicon/robot/robot_modules.dm | 2 -- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 2099b99f1b1..e1427426e29 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -188,6 +188,8 @@ lawchanges.Add("[time] : [H.name]([H.key]) emagged [name]([key])") emagged = 1 + density = 1 + ventcrawler = 0 icon_state = "repairbot-emagged" holder_type = /obj/item/weapon/holder/drone/emagged update_icons() @@ -247,11 +249,8 @@ /mob/living/silicon/robot/drone/proc/shut_down() if(stat != 2) - if(emagged) - to_chat(src, "You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.") - else - to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") - death() + to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") + death() /mob/living/silicon/robot/drone/proc/full_law_reset() clear_supplied_laws() @@ -347,6 +346,9 @@ /mob/living/silicon/robot/drone/update_canmove(delay_action_updates = 0) . = ..() + if(emagged) + density = 1 + return density = 0 //this is reset every canmove update otherwise /mob/living/simple_animal/drone/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3d95987bcf8..a1980b72fed 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -502,8 +502,6 @@ modules += new /obj/item/device/t_scanner(src) modules += new /obj/item/weapon/rpd(src) - emag = new /obj/item/weapon/pickaxe/drill/cyborg/diamond(src) - for(var/T in stacktypes) var/obj/item/stack/sheet/W = new T(src) W.amount = stacktypes[T] From 7498a44e0f668afc1b454a3e5d04dc280bf76ca7 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 31 Dec 2017 14:11:45 -0700 Subject: [PATCH 2/6] Remove emagged drone's PASSTABLE --- code/modules/mob/living/silicon/robot/drone/drone.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index e1427426e29..3da0dafb14a 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -190,6 +190,7 @@ emagged = 1 density = 1 ventcrawler = 0 + pass_flags = 0 icon_state = "repairbot-emagged" holder_type = /obj/item/weapon/holder/drone/emagged update_icons() From c8a0dfa3f3a5cb213504b6b82ba4c7dba20b023d Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 31 Dec 2017 14:36:17 -0700 Subject: [PATCH 3/6] Fix drone emagger's pronouns --- code/modules/mob/living/silicon/robot/drone/drone.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 3da0dafb14a..683362e3ccd 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -199,11 +199,11 @@ clear_supplied_laws() clear_inherent_laws() laws = new /datum/ai_laws/syndicate_override - set_zeroth_law("Only [H.real_name] and people he designates as being such are Syndicate Agents.") + set_zeroth_law("Only [H.real_name] and people [H.real_name] designates as being such are Syndicate Agents.") to_chat(src, "Obey these laws:") laws.show_laws(src) - to_chat(src, "ALERT: [H.real_name] is your new master. Obey your new laws and his commands.") + to_chat(src, "ALERT: [H.real_name] is your new master. Obey your new laws and [H.real_name]'s commands.") return //DRONE LIFE/DEATH From a27bc14e5906b891fcedd81a5f661b888f55e704 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 2 Jan 2018 16:08:00 -0700 Subject: [PATCH 4/6] Give emagged drones galactic common --- code/modules/mob/living/silicon/robot/drone/drone.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 683362e3ccd..9f523cfb0bd 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -191,6 +191,9 @@ density = 1 ventcrawler = 0 pass_flags = 0 + add_language("Galactic Common", 1) + to_chat(src, "The new malware has destroyed your ability to ventcrawl or crawl on tables, but has granted you the ability to speak Galactic Common!") + default_language = "Galactic Common" icon_state = "repairbot-emagged" holder_type = /obj/item/weapon/holder/drone/emagged update_icons() From 301fc69fcae1bd71e4332c91f40942984693a10c Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 2 Jan 2018 17:18:01 -0700 Subject: [PATCH 5/6] Self destruct emagged drone after 5 minutes --- code/modules/mob/living/silicon/robot/drone/drone.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 9f523cfb0bd..48ec9a5e286 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -1,3 +1,4 @@ +#define EMAG_TIMER 3000 /mob/living/silicon/robot/drone name = "drone" real_name = "drone" @@ -30,6 +31,7 @@ var/mail_destination = 0 var/reboot_cooldown = 60 // one minute var/last_reboot + var/emagged_time holder_type = /obj/item/weapon/holder/drone // var/sprite[0] @@ -192,6 +194,7 @@ ventcrawler = 0 pass_flags = 0 add_language("Galactic Common", 1) + emagged_time = world.time to_chat(src, "The new malware has destroyed your ability to ventcrawl or crawl on tables, but has granted you the ability to speak Galactic Common!") default_language = "Galactic Common" icon_state = "repairbot-emagged" @@ -352,6 +355,8 @@ . = ..() if(emagged) density = 1 + if(world.time - emagged_time > EMAG_TIMER) + shut_down() return density = 0 //this is reset every canmove update otherwise From 973940aad700cba87ac2dff996407506b4da9651 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sat, 20 Jan 2018 16:22:33 -0600 Subject: [PATCH 6/6] Serve dumbdumn a delicious dish of emagged drone nerfs - Emagged drones are automatically destroyed after 5 minutes - Emagged drones no longer get their diamond drill - Emagged drones can't hide under tables - Emagged drones lose density --- .../mob/living/silicon/robot/drone/drone.dm | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 48ec9a5e286..7951554dc05 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -182,21 +182,17 @@ return to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.") - to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script.") + to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script. You sense you have five minutes before the drone server detects this and automatically shuts you down.") message_admins("[key_name_admin(user)] emagged drone [key_name_admin(src)]. Laws overridden.") log_game("[key_name(user)] emagged drone [key_name(src)]. Laws overridden.") var/time = time2text(world.realtime,"hh:mm:ss") lawchanges.Add("[time] : [H.name]([H.key]) emagged [name]([key])") + emagged_time = world.time emagged = 1 density = 1 - ventcrawler = 0 pass_flags = 0 - add_language("Galactic Common", 1) - emagged_time = world.time - to_chat(src, "The new malware has destroyed your ability to ventcrawl or crawl on tables, but has granted you the ability to speak Galactic Common!") - default_language = "Galactic Common" icon_state = "repairbot-emagged" holder_type = /obj/item/weapon/holder/drone/emagged update_icons() @@ -254,10 +250,16 @@ full_law_reset() show_laws() -/mob/living/silicon/robot/drone/proc/shut_down() - if(stat != 2) - to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") - death() +/mob/living/silicon/robot/drone/proc/shut_down(force=FALSE) + if(stat == 2) + return + + if(emagged && !force) + to_chat(src, "You feel a system kill order percolate through your tiny brain, but it doesn't seem like a good idea to you.") + return + + to_chat(src, "You feel a system kill order percolate through your tiny brain, and you obediently destroy yourself.") + death() /mob/living/silicon/robot/drone/proc/full_law_reset() clear_supplied_laws() @@ -356,7 +358,7 @@ if(emagged) density = 1 if(world.time - emagged_time > EMAG_TIMER) - shut_down() + shut_down(TRUE) return density = 0 //this is reset every canmove update otherwise