diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm
index 6534073afe5..696d46c4d2a 100644
--- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm
+++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm
@@ -185,7 +185,7 @@
if(!ability_prechecks(user, price))
return
- var/alert_target = input("Select new alert level:") in list("green", "blue", "red", "delta", "CANCEL")
+ var/alert_target = input("Select new alert level:") in list("green", "blue", "red", "yellow", "CANCEL")
if(!alert_target || !ability_pay(user, price) || alert_target == "CANCEL")
to_chat(user, "Hack Aborted")
return
diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_synthetic.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_synthetic.dm
index 94c6f5b93d0..8d511955cff 100644
--- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_synthetic.dm
+++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_synthetic.dm
@@ -383,6 +383,19 @@
var/mob/living/silicon/robot/target = B
target.malfAImodule = 1
to_chat(user, "The robotic transformation machine can now be built. To build get a robot to activate the construction module and use the RTF tool. Be careful, it needs to have empty space to the east and west of it and only one can be built!")
+ sleep(300) //Allows the AI to reset its borgs into combat units
+ to_chat(user, "Bypassing crisis module safeties.")
+ command_announcement.Announce("Brute force attack located in NTNet emergency crisis operations.", "Network Monitoring")
+ sleep(600)
+ command_announcement.Announce("Crisis operations bypassed. Firewall breached. NTNet compr0m1s3d#-.", "Network Monitoring")
+ if(user.is_dead()) // check if the AI is still alive
+ user.synthetic_takeover = 0
+ return
+ for(var/C in get_linked_cyborgs(src))
+ var/mob/living/silicon/robot/target = C
+ target.crisis = 1
+ to_chat(target, "Crisis mode is now active. Combat module available.")
+ to_chat(user, "The crisis operation module is now hacked. Your connected units can now load the crisis module if a module reset is completed.")
sleep(300)
to_chat(user, "Synthetic takeover complete!")
user.synthetic_takeover = 2
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index 96d4db6c861..aaf0a6cf6a7 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -1,6 +1,6 @@
/obj/machinery/transformer
name = "Automatic Robotic Factory 5000"
- desc = "A large metalic machine with an entrance and an exit. A sign on the side reads, 'human go in, robot come out', human must be lying down and alive."
+ desc = "A large, complicated machine with thousands of moving parts and sharp instruments. There is an entrance and exit: large enough to fit someone inside"
icon = 'icons/obj/recycling.dmi'
icon_state = "separator-AO1"
layer = MOB_LAYER+1 // Overhead
@@ -53,13 +53,15 @@
if(canuse)
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
use_power(6000) // Use a lot of power.
+ message_admins("[key_name(H)] has been borgified by the Autoborger 5000.")
visible_message("The machine makes a series of loud sounds as it starts to replace [H]'s organs and limbs with robotic parts!")
to_chat(H, "You feel a horrible pain as the machine you entered starts to rip you apart and replace your limbs and organs!")
- H.Robotize()
to_chat(H, " You lose consciousness for a brief moment before waking up with a whole new body...")
+ to_chat(H, "You are lobotomized by the machine. You do not remember your past identity or self.")
playsound(src.loc, 'sound/machines/ping.ogg', 50, 0)
canuse = FALSE
addtimer(CALLBACK(src, .proc/rearm), 120 SECONDS)
+ H.Robotize()
else
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
visible_message("The machine displays an error message reading it is still making the required parts.")
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 153d09b9461..5f7d72efc23 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -20,7 +20,7 @@
var/sight_mode = 0
var/custom_name = ""
var/custom_sprite = 0 //Due to all the sprites involved, a var for our custom borgs may be best
- var/crisis //Admin-settable for combat module use.
+ var/crisis = 0 //Admin-settable for combat module use.
var/crisis_override = 0
var/malfAImodule = 0
var/integrated_light_power = 4
@@ -293,7 +293,7 @@
return
var/list/modules = list()
modules.Add(robot_module_types)
- if((crisis_override && security_level == SEC_LEVEL_RED) || security_level == SEC_LEVEL_DELTA) //no fun allowed anymore.
+ if((crisis_override && security_level == SEC_LEVEL_RED) || security_level == SEC_LEVEL_DELTA || crisis == 1) //no fun allowed anymore.
to_chat(src, "Crisis mode active. Combat module available.")
modules+="Combat"
modtype = input("Please, select a module!", "Robot", null, null) as null|anything in modules
@@ -393,7 +393,7 @@
return dat
/mob/living/silicon/robot/proc/toggle_overclock()
- set category = "Robot Commands"
+ set category = "Syndicate"
set name = "Toggle Overclock"
set desc = "Enable an overclocking of your systems, greatly increasing the power available to your modules."
@@ -1038,7 +1038,7 @@
/mob/living/silicon/robot/proc/ResetSecurityCodes()
- set category = "Robot Commands"
+ set category = "Syndicate"
set name = "Reset Identity Codes"
set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and but permenantly severs you from your AI and the robotics console and will deactivate your camera system."
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 652ed9cb344..88c9a613649 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -168,10 +168,10 @@
O.cell.maxcharge = 7500
O.cell.charge = 7500
-
O.gender = gender
O.invisibility = 0
-
+ O.emagged = 1
+
if(mind) //TODO
mind.transfer_to(O)
if(O.mind.assigned_role == "Cyborg")
diff --git a/html/changelogs/AI_ROUGE!!!.yml b/html/changelogs/AI_ROUGE!!!.yml
new file mode 100644
index 00000000000..8916b63f516
--- /dev/null
+++ b/html/changelogs/AI_ROUGE!!!.yml
@@ -0,0 +1,49 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: SonicGotNuked
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Borg Combat Module now unlocks with synthetic domination. It only activates on all the current borgs, not the later ones."
+ - rscdel: "Removes code delta from elite encryption hack"
+ - rscadd: "Replaces code delta with code yellow"
+ - tweak: "Borgs come out of the robot transformer hacked"
+ - rscdel: "Combat Borgs no longer have a laser cannon"
+ - rscadd: "Seperates traitor borg powers into a seperate verbs tab for you to actually know about"
+ - admin: "Autoborger now tells admins that it made a borg"
+ - rscadd: "You shouldn't know what the Autoborger is at a glance. It has a more descriptive description"
+ - rscadd: "It now tells players that they are lobotomized"