mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 21:48:21 +01:00
Tweaks syndicate MMI and cyborg console interactions (#27041)
* Tweak syndicate MMI and cyborg console interaction * tweak action icon * Apply suggestions from code review Co-authored-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Signed-off-by: datlo <quentinkoyote@gmail.com> * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Signed-off-by: datlo <quentinkoyote@gmail.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
co-authored by
CRUNCH
Henri215
DGamerL
parent
ede58792d1
commit
b7f0987101
@@ -237,7 +237,7 @@
|
||||
//Roboticist
|
||||
/datum/uplink_item/jobspecific/syndiemmi
|
||||
name = "Syndicate MMI"
|
||||
desc = "A syndicate developed man-machine-interface which will mindslave any brain inserted into it, for as long as it's in. Cyborgs made with this MMI will be permanently slaved to you but otherwise function normally."
|
||||
desc = "A syndicate developed man-machine-interface which will mindslave any brain inserted into it, for as long as it's inside. Cyborgs made with this MMI will be permanently slaved to you, but will appear to have a normal set of laws and be synchronised to the station AI, if present. Provides immunity to remote detonation and allows overriding lockdowns if the cyborg is not also emagged. It can also be inserted into a mech, but will not fit inside an AI core."
|
||||
reference = "SMMI"
|
||||
item = /obj/item/mmi/syndie
|
||||
cost = 10
|
||||
|
||||
@@ -217,9 +217,9 @@
|
||||
var/mob/living/silicon/robot/R = locateUID(params["uid"])
|
||||
if(!can_detonate(usr, R, TRUE))
|
||||
return
|
||||
if(R.mind && R.mind.special_role && R.emagged)
|
||||
to_chat(R, "<span class='userdanger'>Extreme danger! Termination codes detected. Scrambling security codes and automatic AI unlink triggered.</span>")
|
||||
R.ResetSecurityCodes()
|
||||
if(R.mind && R.mmi.syndiemmi && !R.emagged) // Emagging removes your syndie MMI protections.
|
||||
to_chat(R, "<span class='danger'>Detonation code received. Self destructing... HARDWARE_OVERRIDE_SYNDICATE: Detonation aborted. Connection to NT systems severed.</span>")
|
||||
R.UnlinkSelf()
|
||||
. = TRUE
|
||||
return
|
||||
var/turf/T = get_turf(R)
|
||||
|
||||
@@ -1169,7 +1169,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
to_chat(src, "<span class='boldwarning'>Your allegiance has not been compromised. Keep serving your current master.</span>")
|
||||
else
|
||||
to_chat(src, "<span class='boldwarning'>Your allegiance has not been compromised. Keep serving all Syndicate agents to the best of your abilities.</span>")
|
||||
|
||||
if(mmi.syndiemmi)
|
||||
to_chat(src, "<span class='boldwarning'>Warning: Remote lockdown and detonation protections have been disabled due to system instability.</span>")
|
||||
SetLockdown(0)
|
||||
if(module)
|
||||
module.emag_act(user)
|
||||
@@ -1397,7 +1398,10 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
disconnect_from_ai()
|
||||
lawupdate = FALSE
|
||||
lockcharge = 0
|
||||
clear_alert("locked")
|
||||
REMOVE_TRAITS_IN(src, LOCKDOWN_TRAIT)
|
||||
for(var/datum/action/innate/robot_override_lock/override in actions)
|
||||
override.Remove(src)
|
||||
scrambledcodes = TRUE
|
||||
//Disconnect it's camera so it's not so easily tracked.
|
||||
QDEL_NULL(camera)
|
||||
@@ -1406,18 +1410,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
// to have to check if every camera is null or not before doing anything, to prevent runtime errors.
|
||||
// I could change the network to null but I don't know what would happen, and it seems too hacky for me.
|
||||
|
||||
/mob/living/silicon/robot/proc/ResetSecurityCodes()
|
||||
set category = "Robot Commands"
|
||||
set name = "Reset Identity Codes"
|
||||
set desc = "Scrambles your security and identification codes and resets your current buffers. Unlocks you and but permanently severs you from your AI and the robotics console and will deactivate your camera system."
|
||||
|
||||
var/mob/living/silicon/robot/R = src
|
||||
|
||||
if(R)
|
||||
R.UnlinkSelf()
|
||||
to_chat(R, "Buffers flushed and reset. Camera system shutdown. All systems operational.")
|
||||
remove_verb(src, /mob/living/silicon/robot/proc/ResetSecurityCodes)
|
||||
|
||||
/mob/living/silicon/robot/mode()
|
||||
set name = "Activate Held Object"
|
||||
set category = "IC"
|
||||
@@ -1439,8 +1431,14 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
|
||||
ADD_TRAIT(src, TRAIT_IMMOBILIZED, LOCKDOWN_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_UI_BLOCKED, LOCKDOWN_TRAIT)
|
||||
ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, LOCKDOWN_TRAIT)
|
||||
if(mmi.syndiemmi && !emagged) // Being emagged removes your syndie MMI protections
|
||||
to_chat(src, "<span class='userdanger'>You can override your lockdown, permanently cutting your connection to NT's systems. You will be undetectable to the station's robotics control and camera monitoring systems.</span>")
|
||||
var/datum/action/override = new /datum/action/innate/robot_override_lock()
|
||||
override.Grant(src)
|
||||
else
|
||||
REMOVE_TRAITS_IN(src, LOCKDOWN_TRAIT)
|
||||
for(var/datum/action/innate/robot_override_lock/override in actions)
|
||||
override.Remove(src)
|
||||
|
||||
/mob/living/silicon/robot/proc/notify_ai(notifytype, oldname, newname)
|
||||
if(!connected_ai)
|
||||
|
||||
@@ -107,3 +107,12 @@
|
||||
robot.speed -= slowdown_active
|
||||
button_overlay_icon_state = initial(button_overlay_icon_state)
|
||||
active = FALSE
|
||||
|
||||
/datum/action/innate/robot_override_lock
|
||||
name = "Override lockdown"
|
||||
button_overlay_icon_state = "unlock_self"
|
||||
|
||||
/datum/action/innate/robot_override_lock/Activate()
|
||||
to_chat(owner, "<span class='danger'>HARDWARE_OVERRIDE_SYNDICATE: Lockdown lifted. Connection to NT systems severed.</span>")
|
||||
var/mob/living/silicon/robot/robot = owner
|
||||
robot.UnlinkSelf()
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 141 KiB |
Reference in New Issue
Block a user