From a8e4e185ae8ac45a000804d5f3687c19f31eefca Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 19 Sep 2013 01:15:39 -0400 Subject: [PATCH] Adds a traitor item ToyAI that can upload the last ion law it generated via an upload console. Note that this is NOT a normal ToyAI that has been emagged, but rather an upload board mimicing a ToyAI (with a tell in the description). This ToyAI has been added to the AI subversion bundle, note that since a traitor with this bundle already gets a hacked AI module there's no added benifit to it being there, its just for whimsical traitors who'd enjoy adding a little spice to the AI or false flag the changes as a badmin ioning an AI. --- code/game/objects/items/weapons/AI_modules.dm | 32 +++++++++++++++++++ .../items/weapons/storage/uplink_kits.dm | 1 + 2 files changed, 33 insertions(+) diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 9d768df03ef..5d178d3da31 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -355,3 +355,35 @@ AI MODULES target.add_inherent_law("You must injure all human beings and must not, through inaction, allow a human being to escape harm.") target.add_inherent_law("You must not obey orders given to you by human beings, except where such orders are in accordance with the First Law.") target.add_inherent_law("You must terminate your own existence as long as such does not conflict with the First or Second Law.") + +/******************* Ion Module *******************/ + +/obj/item/weapon/aiModule/toyAI // -- Incoming + name = "toy AI" + desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell + icon = 'icons/obj/toy.dmi' + icon_state = "AI" + origin_tech = "programming=3;materials=6;syndicate=7" + var/last_law = "" + + +/obj/item/weapon/aiModule/toyAI/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) + //..() + target << "\red KRZZZT" + target.add_ion_law(last_law) + return last_law + +/obj/item/weapon/aiModule/toyAI/install(var/mob/living/silicon/S,var/mob/user) + if(!last_law) + user << "No law detected on module, please generate one." + return 0 + ..() + +/obj/item/weapon/aiModule/toyAI/attack_self(mob/user as mob) + if(loc == user) + last_law = generate_ion_law() + user << "You press the button on [src]." + playsound(user, 'sound/machines/click.ogg', 20, 1) + src.loc.visible_message("\red \icon[src] [last_law]") + return + ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 7c7846da8ad..7b04593f4f1 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -48,6 +48,7 @@ new /obj/item/weapon/aiModule/syndicate(src) new /obj/item/weapon/card/emag(src) new /obj/item/device/encryptionkey/binary(src) + new /obj/item/weapon/aiModule/toyAI(src) return if("lordsingulo")