diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm
index f3e6de46321..5251898e7c7 100644
--- a/code/game/machinery/computer/Operating.dm
+++ b/code/game/machinery/computer/Operating.dm
@@ -1,4 +1,5 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
+#define OP_COMPUTER_COOLDOWN 60
/obj/machinery/computer/operating
name = "operating computer"
@@ -7,10 +8,18 @@
icon_keyboard = "med_key"
icon_screen = "crew"
circuit = /obj/item/weapon/circuitboard/operating
- var/mob/living/carbon/human/victim = null
var/obj/machinery/optable/table = null
-
+ var/mob/living/carbon/human/victim = null
light_color = LIGHT_COLOR_PURE_BLUE
+ var/verbose = 1 //general speaker toggle
+ var/patientName = null
+ var/oxyAlarm = 30 //oxy damage at which the computer will beep
+ var/choice = 0 //just for going into and out of the options menu
+ var/healthAnnounce = 1 //healther announcer toggle
+ var/crit = 1 //crit beeping toggle
+ var/nextTick = OP_COMPUTER_COOLDOWN
+ var/healthAlarm = 50
+ var/oxy = 1 //oxygen beeping toggle
/obj/machinery/computer/operating/New()
..()
@@ -24,7 +33,7 @@
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
- interact(user)
+ ui_interact(user)
/obj/machinery/computer/operating/attack_hand(mob/user)
@@ -36,45 +45,119 @@
add_fingerprint(user)
- interact(user)
+ ui_interact(user)
+
+
+///obj/machinery/computer/operating/interact(mob/user)
+// if ( ((get_dist(src, user) > 1) && !isobserver(user)) || (stat & (BROKEN|NOPOWER)) )
+// if (!istype(user, /mob/living/silicon))
+// user.unset_machine()
+// user << browse(null, "window=op")
+// return
+//
+// user.set_machine(src)
+// var/dat = "
+ {{if data.choice==0}}
+ {{if !data.hasOccupant}}
+
No Patient Detected
+ {{else}}
+
+ {{:data.occupant.name}} =>
+ {{if data.occupant.stat == 0}}
+ Conscious
+ {{else data.occupant.stat == 1}}
+ Unconscious
+ {{else}}
+ DEAD
+ {{/if}}
+
+
+
+
Health:
+ {{if data.occupant.health >= data.occupant.maxHealth}}
+ {{:helper.displayBar(data.occupant.health, 0, data.occupant.maxHealth, 'good')}}
+ {{else data.occupant.health > 0}}
+ {{:helper.displayBar(data.occupant.health, 0, data.occupant.maxHealth, 'average')}}
+ {{else data.occupant.health >= data.minhealth}}
+ {{:helper.displayBar(data.occupant.health, 0, data.occupant.minHealth, 'average alignRight')}}
+ {{else}}
+ {{:helper.displayBar(data.occupant.health, 0, data.occupant.minHealth, 'bad alignRight')}}
+ {{/if}}
+
{{:helper.round(data.occupant.health)}}
+
+
+
+
Brute Damage:
+ {{:helper.displayBar(data.occupant.bruteLoss, 0, data.occupant.maxHealth, 'bad')}}
+
{{:helper.round(data.occupant.bruteLoss)}}
+
+
+
+
Resp. Damage:
+ {{:helper.displayBar(data.occupant.oxyLoss, 0, data.occupant.maxHealth, 'bad')}}
+
{{:helper.round(data.occupant.oxyLoss)}}
+
+
+
+
Toxin Damage:
+ {{:helper.displayBar(data.occupant.toxLoss, 0, data.occupant.maxHealth, 'bad')}}
+
{{:helper.round(data.occupant.toxLoss)}}
+
+
+
+
Burn Severity:
+ {{:helper.displayBar(data.occupant.fireLoss, 0, data.occupant.maxHealth, 'bad')}}
+
{{:helper.round(data.occupant.fireLoss)}}
+
+
+
+
Patient Temperature:
+ {{if data.occupant.temperatureSuitability == -3}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'bad')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{else data.occupant.temperatureSuitability == -2}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'average')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{else data.occupant.temperatureSuitability == -1}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'average')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{else data.occupant.temperatureSuitability == 0}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'good')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{else data.occupant.temperatureSuitability == 1}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'average')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{else data.occupant.temperatureSuitability == 2}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'average')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{else data.occupant.temperatureSuitability == 3}}
+ {{:helper.displayBar(data.occupant.bodyTemperature, 0, data.occupant.maxTemp, 'bad')}}
+
{{:helper.round(data.occupant.btCelsius)}}°C, {{:helper.round(data.occupant.btFaren)}}°F
+ {{/if}}
+
+ {{if data.occupant.hasBlood}}
+
+
+
Blood Level:
+ {{if data.occupant.bloodPercent <= 60}}
+ {{:helper.displayBar(data.occupant.bloodLevel, 0, data.occupant.bloodMax, 'bad')}}
+
+ {{:data.occupant.bloodPercent}}%, {{:data.occupant.bloodLevel}}cl
+
+ {{else data.occupant.bloodPercent <= 90}}
+ {{:helper.displayBar(data.occupant.bloodLevel, 0, data.occupant.bloodMax, 'average')}}
+
+ {{:data.occupant.bloodPercent}}%, {{:data.occupant.bloodLevel}}cl
+
+ {{else}}
+ {{:helper.displayBar(data.occupant.bloodLevel, 0, data.occupant.bloodMax, 'good')}}
+
+ {{:data.occupant.bloodPercent}}%, {{:data.occupant.bloodLevel}}cl
+
+ {{/if}}
+
+
Blood Type:
{{:data.occupant.bloodType}}
+
+
+
+
Pulse:
{{:data.occupant.pulse}} bpm
+
+ {{/if}}
+
+
+
+ {{/if}}
+
+
+ {{:helper.link('Options', 'gear', {'choiceOn' : 1})}}
+
+
+ {{else}}
+
+
+ Loudspeaker:
+
+
+ {{:helper.link('On', 'power-off', {'verboseOn' : 1}, data.verbose ? 'selected' : null)}}
+ {{:helper.link('Off', 'close', {'verboseOff' : 1}, data.verbose ? null : 'selected')}}
+
+
+
+
+
+ Health Announcer:
+
+
+ {{:helper.link('On', 'power-off', {'healthOn' : 1}, data.health ? 'selected' : null)}}
+ {{:helper.link('Off', 'close', {'healthOff' : 1}, data.health ? null : 'selected')}}
+
+
+
+
+
+
Health Announcer Threshold:
+ {{:helper.link('-', null, {'health_adj' : -100}, (data.healthAlarm >= 0) ? null : 'disabled')}}
+ {{:helper.link('-', null, {'health_adj' : -10}, (data.healthAlarm >= -90) ? null : 'disabled')}}
+ {{:helper.link('-', null, {'health_adj' : -1}, (data.healthAlarm > -100) ? null : 'disabled')}}
+
+ {{if data.healthAlarm >= 100}}
+ {{:helper.displayBar(data.healthAlarm, 0, 100, 'good')}}
+ {{else data.healthAlarm > 0}}
+ {{:helper.displayBar(data.healthAlarm, 0, 100, 'average')}}
+ {{else data.healthAlarm >= -100}}
+ {{:helper.displayBar(data.healthAlarm, 0, -100, 'average alignRight')}}
+ {{else}}
+ {{:helper.displayBar(data.healthAlarm, 0, -100, 'bad alignRight')}}
+ {{/if}}
+
+ {{:helper.link('+', null, {'health_adj' : 1}, (data.healthAlarm < 100) ? null : 'disabled')}}
+ {{:helper.link('+', null, {'health_adj' : 10}, (data.healthAlarm <= 90) ? null : 'disabled')}}
+ {{:helper.link('+', null, {'health_adj' : 100}, (data.healthAlarm <= 0) ? null : 'disabled')}}
+
{{: data.healthAlarm }}
+
+
+
+
+
+ Oxygen Alarm:
+
+
+ {{:helper.link('On', 'power-off', {'oxyOn' : 1}, data.oxy ? 'selected' : null)}}
+ {{:helper.link('Off', 'close', {'oxyOff' : 1}, data.oxy ? null : 'selected')}}
+
+
+
+
+
+
Oxygen Alert Threshold:
+ {{:helper.link('-', null, {'oxy_adj' : -100}, (data.oxyAlarm >= 100) ? null : 'disabled')}}
+ {{:helper.link('-', null, {'oxy_adj' : -10}, (data.oxyAlarm >= 10) ? null : 'disabled')}}
+ {{:helper.link('-', null, {'oxy_adj' : -1}, (data.oxyAlarm >= 0) ? null : 'disabled')}}
+ {{:helper.displayBar( data.oxyAlarm, 0, 200, 'good')}}
+ {{:helper.link('+', null, {'oxy_adj' : 1}, (data.oxyAlarm < 200) ? null : 'disabled')}}
+ {{:helper.link('+', null, {'oxy_adj' : 10}, (data.oxyAlarm <= 190) ? null : 'disabled')}}
+ {{:helper.link('+', null, {'oxy_adj' : 100}, (data.oxyAlarm <= 100) ? null : 'disabled')}}
+
{{: data.oxyAlarm }}
+
+
+
+
+
+ Critical Alert:
+
+
+ {{:helper.link('On', 'power-off', {'critOn' : 1}, data.crit ? 'selected' : null)}}
+ {{:helper.link('Off', 'close', {'critOff' : 1}, data.crit ? null : 'selected')}}
+
+
+
+
+
+ {{:helper.link('Return', 'arrow-left', {'choiceOff' : 1})}}
+
+
+ {{/if}}
+