diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 8d40a26a68..919e7c9c83 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -45,6 +45,10 @@ if(istype(user, /mob/living/silicon/ai) && (target.connected_ai != user)) user << "Access Denied. This robot is not linked to you." return + // Cyborgs may blow up themselves via the console + if(istype(user, /mob/living/silicon/robot) && user != target) + user << "Access Denied." + return var/choice = input("Really detonate [target.name]?") in list ("Yes", "No") if(choice != "Yes") return @@ -74,6 +78,10 @@ user << "Access Denied. This robot is not linked to you." return + if(istype(user, /mob/living/silicon/robot)) + user << "Access Denied." + return + var/choice = input("Really [target.lockcharge ? "unlock" : "lockdown"] [target.name] ?") in list ("Yes", "No") if(choice != "Yes") return @@ -98,7 +106,7 @@ return // Antag AI checks - if(!istype(user, /mob/living/silicon/ai) || !user.mind.special_role || (user.mind.original != user) || (target.connected_ai != user)) + if(!istype(user, /mob/living/silicon/ai) || !(user.mind.special_role && user.mind.original == user)) user << "Access Denied" return @@ -185,7 +193,7 @@ robot["master_ai"] = R.connected_ai ? R.connected_ai.name : "None" robot["hackable"] = 0 // Antag AIs know whether linked cyborgs are hacked or not. - if(operator && istype(operator, /mob/living/silicon/ai) && (R.connected_ai == operator) && operator.mind.special_role && (operator.mind.original != operator)) + if(operator && istype(operator, /mob/living/silicon/ai) && (R.connected_ai == operator) && (operator.mind.special_role && operator.mind.original == operator)) robot["hacked"] = R.emagged ? 1 : 0 robot["hackable"] = R.emagged? 0 : 1 robots.Add(list(robot)) diff --git a/nano/templates/robot_control.tmpl b/nano/templates/robot_control.tmpl index 80dbfac08f..57bbebd490 100644 --- a/nano/templates/robot_control.tmpl +++ b/nano/templates/robot_control.tmpl @@ -9,7 +9,7 @@ {{:helper.link('DETONATE', 'radiation', {'nuke' : 1}, 'disabled')}} {{else}} {{:helper.link('DISARM', 'locked', {'arm' : 1})}} - {{:helper.link('DETONATE', 'radiation', {'nuke' : 1})}} + {{:helper.link('DETONATE', 'radiation', {'nuke' : 1}, null, 'redButton')}} {{/if}}
@@ -20,23 +20,54 @@

{{:value.name}}

Information

- Status: {{:value.status}}
- Master AI: {{:value.master_ai}}
- Module: {{:value.module}} + + Status: + + + {{:value.status}} + + + Master AI: + + + {{:value.master_ai}} + + + Module: + + + {{:value.module}} + + {{if value.hackable}} -
Safeties: ENABLED + + Safeties: + + + ENABLED + {{else value.hacked}} -
Safeties: DISABLED + + Safeties: + + + DISABLED + {{/if}}

Power Cell

{{if value.cell}} - Rating: {{:value.cell_capacity}} - {{:helper.displayBar(value.cell_percentage, 0, 100, (value.cell_percentage >= 50) ? 'good' : (value.cell_percentage >= 25) ? 'average' : 'bad')}}
- {{:value.cell_percentage}} % + + Rating : + + + {{:value.cell_capacity}} + + {{:helper.displayBar(value.cell_percentage, 0, 100, (value.cell_percentage >= 50) ? 'good' : (value.cell_percentage >= 25) ? 'average' : 'bad')}} + {{:value.cell_percentage}} % {{else}} Not Installed - {{:helper.displayBar(100, 0, 100, 'bad')}}
- N/A + {{:helper.displayBar(100, 0, 100, 'bad')}} + N/A % {{/if}}

Actions

{{if value.status == "Operational"}} @@ -44,9 +75,9 @@ {{else}} {{:helper.link('Unlock', 'unlocked', {'lockdown' : value.name})}} {{/if}} - {{:helper.link('Self-Destruct', 'radiation', {'detonate' : value.name})}} + {{:helper.link('Self-Destruct', 'radiation', {'detonate' : value.name}, null, 'redButton')}} {{if value.hackable}} - {{:helper.link('Hack', 'calculator', {'hack' : value.name})}} + {{:helper.link('Hack', 'calculator', {'hack' : value.name}, null, 'redButton')}} {{/if}}
{{/for}} \ No newline at end of file