diff --git a/code/game/objects/devices/PDA/uplink.dm b/code/game/objects/devices/PDA/uplink.dm
index 17269d553c4..d62b21ab4eb 100644
--- a/code/game/objects/devices/PDA/uplink.dm
+++ b/code/game/objects/devices/PDA/uplink.dm
@@ -29,25 +29,33 @@
src.menu_message += "
"
src.menu_message += "Request item:
"
src.menu_message += "Each item costs a number of tele-crystals as indicated by the number following their name.
"
- src.menu_message += "Chameleon-projector (4)
"
+ src.menu_message += "
src.menu_message += "Revolver (7)
"
src.menu_message += "Ammo-357 for use with Revolver (2)
"
src.menu_message += "Energy Crossbow (5)
"
- src.menu_message += "5 EMP Grenades (4)
"
- src.menu_message += "Voice-Changer (4)
"
+ src.menu_message += "Energy Sword (4)
"
+ src.menu_message += "
src.menu_message += "Chameleon Jumpsuit (3)
"
src.menu_message += "Syndicate Card (3)
"
- src.menu_message += "Electromagnet Card (3)
"
+ src.menu_message += "Voice-Changer (4)
"
+ src.menu_message += "
src.menu_message += "Freedom Implant (with injector) (3)
"
- src.menu_message += "Sleepy Pen (5)
"
src.menu_message += "Paralysis Pen (3)
"
- src.menu_message += "Cloaking Device (4)
"
- src.menu_message += "Energy Sword (4)
"
+ src.menu_message += "Sleepy Pen (5)
"
+ src.menu_message += "
+ src.menu_message += "Detomatix Cartridge (3)
"
src.menu_message += "Plastic Explosives (4)
"
src.menu_message += "Power Sink (5)
"
- src.menu_message += "Detomatix Cartridge (3)
"
src.menu_message += "Syndicate-made Space Suit (inludes a helmet) (3)
"
+ src.menu_message += "
+ src.menu_message += "Chameleon-projector (4)
"
+ src.menu_message += "Cloaking Device (4)
"
+ src.menu_message += "Electromagnet Card (3)
"
+ src.menu_message += "5 EMP Grenades (4)
"
+ src.menu_message += "
src.menu_message += "Binary Translator (3)
"
+ src.menu_message += "Hacked AI Module (7)
"
+
src.menu_message += "
"
return
@@ -148,6 +156,10 @@
src.uses -= 3
new /obj/item/clothing/suit/space/syndicate(get_turf(src.hostpda))
new /obj/item/clothing/head/helmet/space/syndicate(get_turf(src.hostpda))
+ if("lawmod")
+ if (src.uses >= 7)
+ src.uses -= 7
+ new /obj/item/weapon/aiModule/syndicate(get_turf(src.hostpda))
if("botchat")
if (src.uses >= 3)
src.uses -= 3
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index fa2c1429490..9bf317d6d66 100644
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -398,6 +398,30 @@ AI MODULES
target.add_inherent_law(law)
lawchanges.Add("The law is '[newFreeFormLaw]'")
+
+
+/obj/item/weapon/aiModule/syndicate // Slightly more dynamic freeform module -- TLE
+ name = "Hacked AI Module"
+ var/newFreeFormLaw = "freeform"
+ desc = "A hacked AI law module: ''"
+
+/obj/item/weapon/aiModule/syndicate/attack_hand(var/mob/user as mob)
+ ..()
+ var/newlaw = ""
+ var/targName = input(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw)
+ newFreeFormLaw = targName
+ desc = "A hacked AI law module: '[newFreeFormLaw]'"
+
+/obj/item/weapon/aiModule/syndicate/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
+// ..() //We don't want this module reporting to the AI who dun it. --NEO
+ var/time = time2text(world.realtime,"hh:mm:ss")
+ lawchanges.Add("[time] : [sender.name]([sender.key]) used [src.name] on [target.name]([target.key])")
+ lawchanges.Add("The law is '[newFreeFormLaw]'")
+ target << "\red BZZZZT"
+ var/law = "[newFreeFormLaw]"
+ target.add_ion_law(law)
+
+
/******************** Robocop ********************/
/*
/obj/item/weapon/aiModule/robocop // -- TLE