mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Fixes part 1
This commit is contained in:
@@ -122,7 +122,7 @@ obj/machinery/computer/general_air_control/Destroy()
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "atmo_control.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "atmo_control.tmpl", src.name, 525, 500)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(5)
|
||||
@@ -169,6 +169,7 @@ obj/machinery/computer/general_air_control/Destroy()
|
||||
data["input_info"] = list("power" = input_info["power"], "volume_rate" = round(input_info["volume_rate"], 0.1))
|
||||
else
|
||||
data["input_info"] = null
|
||||
|
||||
if(output_info)
|
||||
data["output_info"] = list("power" = output_info["power"], "output_pressure" = output_info["internal"])
|
||||
else
|
||||
@@ -179,7 +180,7 @@ obj/machinery/computer/general_air_control/Destroy()
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "atmo_control.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "atmo_control.tmpl", src.name, 525, 500)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(5)
|
||||
@@ -201,12 +202,12 @@ obj/machinery/computer/general_air_control/Destroy()
|
||||
return 1
|
||||
|
||||
if(href_list["adj_pressure"])
|
||||
var/change = href_list["adj_pressure"]
|
||||
var/change = text2num(href_list["adj_pressure"])
|
||||
pressure_setting = between(0, pressure_setting + change, 50*ONE_ATMOSPHERE)
|
||||
return 1
|
||||
|
||||
if(href_list["adj_input_flow_rate"])
|
||||
var/change = href_list["adj_input_flow_rate"]
|
||||
var/change = text2num(href_list["adj_input_flow_rate"])
|
||||
input_flow_setting = between(0, input_flow_setting + change, ATMOS_DEFAULT_VOLUME_PUMP + 500) //default flow rate limit for air injectors
|
||||
return 1
|
||||
|
||||
@@ -292,7 +293,7 @@ obj/machinery/computer/general_air_control/Destroy()
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "atmo_control.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "atmo_control.tmpl", src.name, 525, 500)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(5)
|
||||
@@ -314,12 +315,12 @@ obj/machinery/computer/general_air_control/Destroy()
|
||||
return 1
|
||||
|
||||
if(href_list["adj_pressure"])
|
||||
var/change = href_list["adj_pressure"]
|
||||
var/change = text2num(href_list["adj_pressure"])
|
||||
pressure_setting = between(0, pressure_setting + change, 10*ONE_ATMOSPHERE)
|
||||
return 1
|
||||
|
||||
if(href_list["adj_input_flow_rate"])
|
||||
var/change = href_list["adj_input_flow_rate"]
|
||||
var/change = text2num(href_list["adj_input_flow_rate"])
|
||||
input_flow_setting = between(0, input_flow_setting + change, ATMOS_DEFAULT_VOLUME_PUMP + 500) //default flow rate limit for air injectors
|
||||
return 1
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@
|
||||
circuit = /obj/item/weapon/circuitboard/arcade/battle
|
||||
var/enemy_name = "Space Villian"
|
||||
var/temp = "Winners don't use space drugs" //Temporary message, for attack messages, etc
|
||||
var/enemy_action = ""
|
||||
var/player_hp = 30 //Player health/attack points
|
||||
var/player_mp = 10
|
||||
var/enemy_hp = 45 //Enemy health/attack points
|
||||
@@ -123,6 +124,7 @@
|
||||
|
||||
var/list/data = list()
|
||||
data["temp"] = temp
|
||||
data["enemyAction"] = enemy_action
|
||||
data["enemyName"] = enemy_name
|
||||
data["playerHP"] = player_hp
|
||||
data["playerMP"] = player_mp
|
||||
@@ -131,7 +133,7 @@
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "arcade_battle.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "arcade_battle.tmpl", src.name, 400, 300)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
//ui.set_auto_update(2)
|
||||
@@ -218,12 +220,12 @@
|
||||
|
||||
else if (emagged && (turtle >= 4))
|
||||
var/boomamt = rand(5,10)
|
||||
temp = "[enemy_name] throws a bomb, exploding you for [boomamt] damage!"
|
||||
enemy_action = "[enemy_name] throws a bomb, exploding you for [boomamt] damage!"
|
||||
player_hp -= boomamt
|
||||
|
||||
else if ((enemy_mp <= 5) && (prob(70)))
|
||||
var/stealamt = rand(2,3)
|
||||
temp = "[enemy_name] steals [stealamt] of your power!"
|
||||
enemy_action = "[enemy_name] steals [stealamt] of your power!"
|
||||
player_mp -= stealamt
|
||||
|
||||
if (player_mp <= 0)
|
||||
@@ -237,13 +239,13 @@
|
||||
feedback_inc("arcade_loss_mana_normal")
|
||||
|
||||
else if ((enemy_hp <= 10) && (enemy_mp > 4))
|
||||
temp = "[enemy_name] heals for 4 health!"
|
||||
enemy_action = "[enemy_name] heals for 4 health!"
|
||||
enemy_hp += 4
|
||||
enemy_mp -= 4
|
||||
|
||||
else
|
||||
var/attackamt = rand(3,6)
|
||||
temp = "[enemy_name] attacks for [attackamt] damage!"
|
||||
enemy_action = "[enemy_name] attacks for [attackamt] damage!"
|
||||
player_hp -= attackamt
|
||||
|
||||
if ((player_mp <= 0) || (player_hp <= 0))
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
pods_list_ui[++pods_list_ui.len] = list("pod" = pod, "biomass" = pod.biomass)
|
||||
|
||||
if(pods)
|
||||
data["pods"] = pods
|
||||
data["pods"] = pods_list_ui
|
||||
else
|
||||
data["pods"] = null
|
||||
|
||||
|
||||
@@ -32,9 +32,11 @@
|
||||
if(vendmode == 1 && I)
|
||||
scan_id(I, W)
|
||||
vendmode = 0
|
||||
nanomanager.update_uis(src)
|
||||
if(vendmode == 2 && I)
|
||||
if(reimburse_id(I, W))
|
||||
vendmode = 0
|
||||
nanomanager.update_uis(src)
|
||||
if(vendmode == 0)
|
||||
if(istype(W, /obj/item/device/laptop))
|
||||
var/obj/item/device/laptop/L = W
|
||||
@@ -44,6 +46,7 @@
|
||||
L.loc = src
|
||||
vendmode = 2
|
||||
usr << "<span class='notice'>You slot your [L.name] into \The [src.name]</span>"
|
||||
nanomanager.update_uis(src)
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -74,7 +77,7 @@
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "laptop_vendor.tmpl", src.name, 480, 500)
|
||||
ui = new(user, src, ui_key, "laptop_vendor.tmpl", src.name, 480, 425)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
//ui.set_auto_update(5)
|
||||
|
||||
@@ -80,10 +80,10 @@
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "holodeck.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "holodeck.tmpl", src.name, 400, 550)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
//ui.set_auto_update(5)
|
||||
ui.set_auto_update(20)
|
||||
|
||||
/obj/machinery/computer/HolodeckControl/Topic(href, href_list)
|
||||
if(..())
|
||||
|
||||
@@ -59,7 +59,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "fax.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "fax.tmpl", src.name, 500, 500)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(10) //this machine is so unimportant let's not have it update that often.
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "photocopier.tmpl", src.name, 400, 500)
|
||||
ui = new(user, src, ui_key, "photocopier.tmpl", src.name, 300, 250)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(10)
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define LIQUID 2
|
||||
#define GAS 3
|
||||
|
||||
#define BOTTLE_SPRITES list("bottle-1", "bottle-2", "bottle-3", "bottle-4") //list of available bottle sprites
|
||||
#define REAGENTS_PER_SHEET 20
|
||||
|
||||
|
||||
@@ -23,10 +22,11 @@
|
||||
var/condi = 0
|
||||
var/useramount = 15 // Last used amount
|
||||
var/pillamount = 10
|
||||
var/bottlesprite = "bottle-1" //yes, strings
|
||||
var/pillsprite = "1"
|
||||
var/client/has_sprites = list()
|
||||
var/bottlesprite = 1
|
||||
var/pillsprite = 1
|
||||
var/max_pill_count = 20
|
||||
var/tab = "home"
|
||||
var/analyze_data[0]
|
||||
flags = OPENCONTAINER
|
||||
|
||||
/obj/machinery/chem_master/New()
|
||||
@@ -56,7 +56,6 @@
|
||||
user.drop_item()
|
||||
B.loc = src
|
||||
user << "You add the beaker to the machine!"
|
||||
src.updateUsrDialog()
|
||||
icon_state = "mixer1"
|
||||
|
||||
else if(istype(B, /obj/item/weapon/storage/pill_bottle))
|
||||
@@ -69,9 +68,74 @@
|
||||
user.drop_item()
|
||||
B.loc = src
|
||||
user << "You add the pill bottle into the dispenser slot!"
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/chem_master/attack_hand(mob/user as mob)
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
user.set_machine(src)
|
||||
ui_interact(user)
|
||||
|
||||
/**
|
||||
* Display the NanoUI window for the chem master.
|
||||
*
|
||||
* See NanoUI documentation for details.
|
||||
*/
|
||||
/obj/machinery/chem_master/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||
user.set_machine(src)
|
||||
|
||||
var/list/data = list()
|
||||
data["tab"] = tab
|
||||
data["condi"] = condi
|
||||
|
||||
if(loaded_pill_bottle)
|
||||
data["pillBottle"] = list("total" = loaded_pill_bottle.contents.len, "max" = loaded_pill_bottle.storage_slots)
|
||||
else
|
||||
data["pillBottle"] = null
|
||||
|
||||
if(beaker)
|
||||
var/datum/reagents/R = beaker:reagents
|
||||
var/ui_reagent_beaker_list[0]
|
||||
for(var/datum/reagent/G in R.reagent_list)
|
||||
ui_reagent_beaker_list[++ui_reagent_beaker_list.len] = list("name" = G.name, "volume" = G.volume, "description" = G.description, "id" = G.id)
|
||||
|
||||
data["beaker"] = list("total_volume" = R.total_volume, "reagent_list" = ui_reagent_beaker_list)
|
||||
else
|
||||
data["beaker"] = null
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/ui_reagent_list[0]
|
||||
for(var/datum/reagent/N in reagents.reagent_list)
|
||||
ui_reagent_list[++ui_reagent_list.len] = list("name" = N.name, "volume" = N.volume, "description" = N.description, "id" = N.id)
|
||||
|
||||
data["reagents"] = list("total_volume" = reagents.total_volume, "reagent_list" = ui_reagent_list)
|
||||
else
|
||||
data["reagents"] = null
|
||||
|
||||
data["mode"] = mode
|
||||
|
||||
if(analyze_data)
|
||||
data["analyzeData"] = list("name" = analyze_data["name"], "desc" = analyze_data["desc"], "blood_type" = analyze_data["blood_type"], "blood_DNA" = analyze_data["blood_DNA"])
|
||||
else
|
||||
data["analyzeData"] = null
|
||||
|
||||
data["pillSprite"] = pillsprite
|
||||
data["bottleSprite"] = bottlesprite
|
||||
|
||||
var/P[20] //how many pill sprites there are. Sprites are taken from chemical.dmi and can be found in nano/images/pill.png
|
||||
for(var/i = 1 to P.len)
|
||||
P[i] = i
|
||||
data["pillSpritesAmount"] = P
|
||||
|
||||
data["bottleSpritesAmount"] = list(1, 2, 3, 4) //how many bottle sprites there are. Sprites are taken from chemical.dmi and can be found in nano/images/pill.png
|
||||
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "chem_master.tmpl", src.name, 575, 400)
|
||||
ui.set_initial_data(data)
|
||||
ui.open()
|
||||
ui.set_auto_update(5)
|
||||
|
||||
/obj/machinery/chem_master/Topic(href, href_list)
|
||||
if(stat & (BROKEN|NOPOWER)) return
|
||||
if(usr.stat || usr.restrained()) return
|
||||
@@ -80,20 +144,19 @@
|
||||
src.add_fingerprint(usr)
|
||||
usr.set_machine(src)
|
||||
|
||||
if(href_list["tab_select"])
|
||||
tab = href_list["tab_select"]
|
||||
|
||||
if (href_list["ejectp"])
|
||||
if(loaded_pill_bottle)
|
||||
loaded_pill_bottle.loc = src.loc
|
||||
loaded_pill_bottle = null
|
||||
else if(href_list["close"])
|
||||
usr << browse(null, "window=chemmaster")
|
||||
usr.unset_machine()
|
||||
return
|
||||
|
||||
if(beaker)
|
||||
var/datum/reagents/R = beaker:reagents
|
||||
if (href_list["analyze"])
|
||||
var/dat = ""
|
||||
if (tab == "analyze")
|
||||
analyze_data["name"] = href_list["name"]
|
||||
analyze_data["desc"] = href_list["desc"]
|
||||
if(!condi)
|
||||
if(href_list["name"] == "Blood")
|
||||
var/datum/reagent/blood/G
|
||||
@@ -101,16 +164,9 @@
|
||||
if(F.name == href_list["name"])
|
||||
G = F
|
||||
break
|
||||
var/A = G.name
|
||||
var/B = G.data["blood_type"]
|
||||
var/C = G.data["blood_DNA"]
|
||||
dat += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[A]<BR><BR>Description:<BR>Blood Type: [B]<br>DNA: [C]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
|
||||
else
|
||||
dat += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
|
||||
else
|
||||
dat += "<TITLE>Condimaster 3000</TITLE>Condiment infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
|
||||
usr << browse(dat, "window=chem_master;size=575x400")
|
||||
return
|
||||
analyze_data["name"] = G.name
|
||||
analyze_data["blood_type"] = G.data["blood_type"]
|
||||
analyze_data["blood_DNA"] = G.data["blood_DNA"]
|
||||
|
||||
else if (href_list["add"])
|
||||
|
||||
@@ -147,9 +203,6 @@
|
||||
else if (href_list["toggle"])
|
||||
mode = !mode
|
||||
|
||||
else if (href_list["main"])
|
||||
attack_hand(usr)
|
||||
return
|
||||
else if (href_list["eject"])
|
||||
if(beaker)
|
||||
beaker:loc = src.loc
|
||||
@@ -187,7 +240,6 @@
|
||||
if(src.loaded_pill_bottle)
|
||||
if(loaded_pill_bottle.contents.len < loaded_pill_bottle.storage_slots)
|
||||
P.loc = loaded_pill_bottle
|
||||
src.updateUsrDialog()
|
||||
|
||||
else if (href_list["createbottle"])
|
||||
if(!condi)
|
||||
@@ -197,106 +249,23 @@
|
||||
P.name = "[name] bottle"
|
||||
P.pixel_x = rand(-7, 7) //random position
|
||||
P.pixel_y = rand(-7, 7)
|
||||
P.icon_state = bottlesprite
|
||||
P.icon_state = "bottle"+bottlesprite
|
||||
reagents.trans_to_obj(P,60)
|
||||
P.update_icon()
|
||||
else
|
||||
var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc)
|
||||
reagents.trans_to_obj(P,50)
|
||||
else if(href_list["change_pill"])
|
||||
#define MAX_PILL_SPRITE 20 //max icon state of the pill sprites
|
||||
var/dat = "<table>"
|
||||
for(var/i = 1 to MAX_PILL_SPRITE)
|
||||
dat += "<tr><td><a href=\"?src=\ref[src]&pill_sprite=[i]\"><img src=\"pill[i].png\" /></a></td></tr>"
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=chem_master")
|
||||
return
|
||||
else if(href_list["change_bottle"])
|
||||
var/dat = "<table>"
|
||||
for(var/sprite in BOTTLE_SPRITES)
|
||||
dat += "<tr><td><a href=\"?src=\ref[src]&bottle_sprite=[sprite]\"><img src=\"[sprite].png\" /></a></td></tr>"
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=chem_master")
|
||||
return
|
||||
|
||||
else if(href_list["pill_sprite"])
|
||||
pillsprite = href_list["pill_sprite"]
|
||||
else if(href_list["bottle_sprite"])
|
||||
bottlesprite = href_list["bottle_sprite"]
|
||||
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
nanomanager.update_uis(src)
|
||||
|
||||
/obj/machinery/chem_master/attack_ai(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/machinery/chem_master/attack_hand(mob/user as mob)
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
user.set_machine(src)
|
||||
if(!(user.client in has_sprites))
|
||||
spawn()
|
||||
has_sprites += user.client
|
||||
for(var/i = 1 to MAX_PILL_SPRITE)
|
||||
usr << browse_rsc(icon('icons/obj/chemical.dmi', "pill" + num2text(i)), "pill[i].png")
|
||||
for(var/sprite in BOTTLE_SPRITES)
|
||||
usr << browse_rsc(icon('icons/obj/chemical.dmi', sprite), "[sprite].png")
|
||||
var/dat = ""
|
||||
if(!beaker)
|
||||
dat = "Please insert beaker.<BR>"
|
||||
if(src.loaded_pill_bottle)
|
||||
dat += "<A href='?src=\ref[src];ejectp=1'>Eject Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\]</A><BR><BR>"
|
||||
else
|
||||
dat += "No pill bottle inserted.<BR><BR>"
|
||||
dat += "<A href='?src=\ref[src];close=1'>Close</A>"
|
||||
else
|
||||
var/datum/reagents/R = beaker:reagents
|
||||
dat += "<A href='?src=\ref[src];eject=1'>Eject beaker and Clear Buffer</A><BR>"
|
||||
if(src.loaded_pill_bottle)
|
||||
dat += "<A href='?src=\ref[src];ejectp=1'>Eject Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\]</A><BR><BR>"
|
||||
else
|
||||
dat += "No pill bottle inserted.<BR><BR>"
|
||||
if(!R.total_volume)
|
||||
dat += "Beaker is empty."
|
||||
else
|
||||
dat += "Add to buffer:<BR>"
|
||||
for(var/datum/reagent/G in R.reagent_list)
|
||||
dat += "[G.name] , [G.volume] Units - "
|
||||
dat += "<A href='?src=\ref[src];analyze=1;desc=[G.description];name=[G.name]'>(Analyze)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=1'>(1)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=5'>(5)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=10'>(10)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=30'>(30)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=60'>(60)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=[G.volume]'>(All)</A> "
|
||||
dat += "<A href='?src=\ref[src];addcustom=[G.id]'>(Custom)</A><BR>"
|
||||
|
||||
dat += "<HR>Transfer to <A href='?src=\ref[src];toggle=1'>[(!mode ? "disposal" : "beaker")]:</A><BR>"
|
||||
if(reagents.total_volume)
|
||||
for(var/datum/reagent/N in reagents.reagent_list)
|
||||
dat += "[N.name] , [N.volume] Units - "
|
||||
dat += "<A href='?src=\ref[src];analyze=1;desc=[N.description];name=[N.name]'>(Analyze)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=1'>(1)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=5'>(5)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=10'>(10)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=30'>(30)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=60'>(60)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=[N.volume]'>(All)</A> "
|
||||
dat += "<A href='?src=\ref[src];removecustom=[N.id]'>(Custom)</A><BR>"
|
||||
else
|
||||
dat += "Empty<BR>"
|
||||
if(!condi)
|
||||
dat += "<HR><BR><A href='?src=\ref[src];createpill=1'>Create pill (60 units max)</A><a href=\"?src=\ref[src]&change_pill=1\"><img src=\"pill[pillsprite].png\" /></a><BR>"
|
||||
dat += "<A href='?src=\ref[src];createpill_multiple=1'>Create multiple pills</A><BR>"
|
||||
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (60 units max)<a href=\"?src=\ref[src]&change_bottle=1\"><img src=\"[bottlesprite].png\" /></A>"
|
||||
else
|
||||
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (50 units max)</A>"
|
||||
if(!condi)
|
||||
user << browse("<TITLE>Chemmaster 3000</TITLE>Chemmaster menu:<BR><BR>[dat]", "window=chem_master;size=575x400")
|
||||
else
|
||||
user << browse("<TITLE>Condimaster 3000</TITLE>Condimaster menu:<BR><BR>[dat]", "window=chem_master;size=575x400")
|
||||
onclose(user, "chem_master")
|
||||
return
|
||||
|
||||
/obj/machinery/chem_master/condimaster
|
||||
name = "CondiMaster 3000"
|
||||
condi = 1
|
||||
|
||||
@@ -245,6 +245,32 @@
|
||||
.uiIcon16.icon-note64 { background-image: url(uiIcons64.png); background-position: -64px -64px; width: 64px; height: 64px; }
|
||||
.uiIcon16.icon-close64 { background-image: url(uiIcons64.png); background-position: -128px -64px; width: 64px; height: 64px; }
|
||||
|
||||
.uiIcon16.icon-pill { background-image: url(pills32.png); width: 32px; height: 32px;}
|
||||
.uiIcon16.icon-pill.pill1 { background-position: 0 0; }
|
||||
.uiIcon16.icon-pill.pill2 { background-position: -32px 0; }
|
||||
.uiIcon16.icon-pill.pill3 { background-position: -64px 0; }
|
||||
.uiIcon16.icon-pill.pill4 { background-position: -96px 0; }
|
||||
.uiIcon16.icon-pill.pill5 { background-position: -128px 0; }
|
||||
.uiIcon16.icon-pill.pill6 { background-position: 0 -32px; }
|
||||
.uiIcon16.icon-pill.pill7 { background-position: -32px -32px; }
|
||||
.uiIcon16.icon-pill.pill8 { background-position: -64px -32px; }
|
||||
.uiIcon16.icon-pill.pill9 { background-position: -96px -32px; }
|
||||
.uiIcon16.icon-pill.pill10 { background-position: -128px -32px; }
|
||||
.uiIcon16.icon-pill.pill11 { background-position: 0 -64px; }
|
||||
.uiIcon16.icon-pill.pill12 { background-position: -32px -64px; }
|
||||
.uiIcon16.icon-pill.pill13 { background-position: -64px -64px; }
|
||||
.uiIcon16.icon-pill.pill14 { background-position: -96px -64px; }
|
||||
.uiIcon16.icon-pill.pill15 { background-position: -128px -64px; }
|
||||
.uiIcon16.icon-pill.pill16 { background-position: 0 -96px; }
|
||||
.uiIcon16.icon-pill.pill17 { background-position: -32px -96px; }
|
||||
.uiIcon16.icon-pill.pill18 { background-position: -64px -96px; }
|
||||
.uiIcon16.icon-pill.pill19 { background-position: -96px -96px; }
|
||||
.uiIcon16.icon-pill.pill20 { background-position: -128px -96px; }
|
||||
.uiIcon16.icon-pill.bottle1 { background-position: 0 -128px; }
|
||||
.uiIcon16.icon-pill.bottle2 { background-position: -32px -128px; }
|
||||
.uiIcon16.icon-pill.bottle3 { background-position: -64px -128px; }
|
||||
.uiIcon16.icon-pill.bottle4 { background-position: -96px -128px; }
|
||||
|
||||
.mapIcon16 {
|
||||
position: absolute;
|
||||
width: 16px;
|
||||
|
||||
@@ -45,6 +45,19 @@ hr {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.link32 {
|
||||
float: left;
|
||||
min-width: 15px;
|
||||
max-width: 31px;
|
||||
height: 31px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
background: #40628a;
|
||||
border: 1px solid #161616;
|
||||
margin: 0 2px 2px 0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.hasIcon {
|
||||
padding: 0px 4px 4px 0px;
|
||||
}
|
||||
@@ -649,7 +662,7 @@ th.misc {
|
||||
}
|
||||
|
||||
.oxyloss {
|
||||
color: blue;
|
||||
color: #0000A9;
|
||||
}
|
||||
|
||||
/* 75px width used in power monitoring console buttons */
|
||||
|
||||
BIN
nano/images/pills32.png
Normal file
BIN
nano/images/pills32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
@@ -42,25 +42,25 @@ Used In File(s): \code\game\machinery\adv_med.dm
|
||||
<div class="itemLabelWide">
|
||||
Brute:
|
||||
</div>
|
||||
<div class="itemContentMedium">
|
||||
<div class="itemContentMedium brute">
|
||||
{{:data.occupant.bruteLoss}}
|
||||
</div><br>
|
||||
<div class="itemLabelWide">
|
||||
Burn:
|
||||
</div>
|
||||
<div class="itemContentMedium">
|
||||
<div class="itemContentMedium burn">
|
||||
{{:data.occupant.fireLoss}}
|
||||
</div><br>
|
||||
<div class="itemLabelWide">
|
||||
Oxygen:
|
||||
</div>
|
||||
<div class="itemContentMedium">
|
||||
<div class="itemContentMedium oxyloss">
|
||||
{{:data.occupant.oxyLoss}}
|
||||
</div><br>
|
||||
<div class="itemLabelWide">
|
||||
Toxins:
|
||||
</div>
|
||||
<div class="itemContentMedium">
|
||||
<div class="itemContentMedium toxin">
|
||||
{{:data.occupant.toxLoss}}
|
||||
</div><br>
|
||||
<div class="itemLabelWide">
|
||||
|
||||
@@ -4,8 +4,12 @@
|
||||
-->
|
||||
|
||||
<h3 style='text-align: center;'>{{:data.enemyName}}</h3>
|
||||
|
||||
<h5 style='text-align: center;'>{{:data.temp}}</h5>
|
||||
{{if data.gameOver}}
|
||||
<h5 style='text-align: center;'>{{:data.temp}}</h5>
|
||||
{{else}}
|
||||
<h5 style='text-align: center;'>{{:data.temp}}</h5>
|
||||
<h5 style='text-align: center;'>{{:data.enemyAction}}</h5>
|
||||
{{/if}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel' style='width: auto; margin-right: 5px;'>Health:</div>
|
||||
<div class='itemContent' style='width: auto; margin-right: 15px;'><b>{{:data.playerHP}}</b></div>
|
||||
|
||||
@@ -5,30 +5,37 @@
|
||||
{{if data.sensors}}
|
||||
{{for data.sensors}}
|
||||
{{if value.sensor_data}}
|
||||
<div class='item'>
|
||||
{{:value.long_name}}
|
||||
<div class='itemGroup'>
|
||||
<div class='item'><b>{{:value.long_name}}</b></div>
|
||||
{{if value.sensor_data.pressure}}
|
||||
<div class='itemLabel'><b>Pressure</b>: </div>
|
||||
{{:value.sensor_data.pressure}} kPa
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Pressure:</div>
|
||||
<div class='itemContentNarrow'>{{:value.sensor_data.pressure}} kPa</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if value.sensor_data.temperature}}
|
||||
<div class='itemLabel'><b>Temperature</b>: </div>
|
||||
{{:value.sensor_data.temperature}} kPa
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Temperature:</div>
|
||||
<div class='itemContentNarrow'>{{:value.sensor_data.temperature}} kPa</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if value.sensor_data.oxygen || value.sensor_data.nitrogen || value.sensor_data.carbon_dioxide || value.sensor_data.phoron}}
|
||||
<div class='itemLabel'><b>Gas Composition</b>: </div>
|
||||
{{if value.sensor_data.oxygen}}
|
||||
{{:value.sensor_data.pressure}} % O2
|
||||
{{/if}}
|
||||
{{if value.sensor_data.nitrogen}}
|
||||
{{:value.sensor_data.pressure}} % N
|
||||
{{/if}}
|
||||
{{if value.sensor_data.carbon_dioxide}}
|
||||
{{:value.sensor_data.pressure}} % CO2
|
||||
{{/if}}
|
||||
{{if value.sensor_data.phoron}}
|
||||
{{:value.sensor_data.pressure}} % TX
|
||||
{{/if}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Gas Composition:</div>
|
||||
{{if value.sensor_data.oxygen}}
|
||||
<div class='itemContent' style='width: 15%;'>{{:value.sensor_data.pressure}} % O2</div>
|
||||
{{/if}}
|
||||
{{if value.sensor_data.nitrogen}}
|
||||
<div class='itemContent' style='width: 15%;'>{{:value.sensor_data.pressure}} % N</div>
|
||||
{{/if}}
|
||||
{{if value.sensor_data.carbon_dioxide}}
|
||||
<div class='itemContent' style='width: 15%;'>{{:value.sensor_data.pressure}} % CO2</div>
|
||||
{{/if}}
|
||||
{{if value.sensor_data.phoron}}
|
||||
<div class='itemContent' style='width: 15%;'>{{:value.sensor_data.pressure}} % TX</div>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{else}}
|
||||
@@ -68,7 +75,6 @@
|
||||
On Hold
|
||||
{{/if}}
|
||||
</div>
|
||||
{{:helper.link('Refresh', null, {'in_refresh_status' : 1})}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Flow Rate Limit:</div>
|
||||
@@ -78,6 +84,7 @@
|
||||
<div class='itemLabel'>Command:</div>
|
||||
{{:helper.link('Toggle Power', null, {'in_toggle_injector' : 1})}}
|
||||
{{:helper.link('Set Flow Rate', null, {'in_set_flowrate' : 1})}}
|
||||
{{:helper.link('Refresh', null, {'in_refresh_status' : 1})}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='item'>
|
||||
@@ -112,13 +119,12 @@
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class='itemContent'>
|
||||
{{if data.input_info.power}}
|
||||
{{if data.output_info.power}}
|
||||
Open
|
||||
{{else}}
|
||||
On Hold
|
||||
{{/if}}
|
||||
</div>
|
||||
{{:helper.link('Refresh', null, {'out_refresh_status' : 1})}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{if data.tanks}}
|
||||
@@ -133,6 +139,7 @@
|
||||
<div class='itemLabel'>Command:</div>
|
||||
{{:helper.link('Toggle Power', null, {'out_toggle_power' : 1})}}
|
||||
{{:helper.link('Set Pressure', null, {'out_set_pressure' : 1})}}
|
||||
{{:helper.link('Refresh', null, {'out_refresh_status' : 1})}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='item'>
|
||||
@@ -190,8 +197,8 @@
|
||||
{{else}}
|
||||
On Hold
|
||||
{{/if}}
|
||||
<div class='floatRight'>{{:helper.link('Refresh', null, {'refresh_status' : 1})}}</div>
|
||||
</div>
|
||||
{{:helper.link('Refresh', null, {'refresh_status' : 1})}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Rate:</div>
|
||||
|
||||
@@ -1,205 +1,116 @@
|
||||
<!--
|
||||
Interface for
|
||||
See: code/game/.dm
|
||||
-->/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
|
||||
Interface for chem master
|
||||
See: code/modules/reagents/Chemistry-Machinery.dm
|
||||
-->
|
||||
{{if data.tab == 'home'}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>{{:helper.link(data.pillBottle ? 'Eject Pill Bottle' : 'No pill bottle inserted', 'eject', {'ejectp' : 1}, data.pillBottle ? null : 'linkOff')}}</div>
|
||||
|
||||
if(beaker)
|
||||
var/datum/reagents/R = beaker:reagents
|
||||
if (href_list["analyze"])
|
||||
var/dat = ""
|
||||
if(!condi)
|
||||
if(href_list["name"] == "Blood")
|
||||
var/datum/reagent/blood/G
|
||||
for(var/datum/reagent/F in R.reagent_list)
|
||||
if(F.name == href_list["name"])
|
||||
G = F
|
||||
break
|
||||
var/A = G.name
|
||||
var/B = G.data["blood_type"]
|
||||
var/C = G.data["blood_DNA"]
|
||||
dat += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[A]<BR><BR>Description:<BR>Blood Type: [B]<br>DNA: [C]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
|
||||
else
|
||||
dat += "<TITLE>Chemmaster 3000</TITLE>Chemical infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
|
||||
else
|
||||
dat += "<TITLE>Condimaster 3000</TITLE>Condiment infos:<BR><BR>Name:<BR>[href_list["name"]]<BR><BR>Description:<BR>[href_list["desc"]]<BR><BR><BR><A href='?src=\ref[src];main=1'>(Back)</A>"
|
||||
usr << browse(dat, "window=chem_master;size=575x400")
|
||||
return
|
||||
{{if data.pillBottle}}
|
||||
<div class='itemContent'>{{:data.pillBottle.total}} / {{:data.pillBottle.max}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class='item'>{{:helper.link(data.beaker ? 'Eject Beaker and Clear Buffer' : 'Please insert beaker', 'eject', {'eject' : 1}, data.beaker ? null : 'linkOff')}}</div>
|
||||
|
||||
{{if data.beaker}}
|
||||
{{if data.beaker.total_volume}}
|
||||
Add to buffer:
|
||||
{{for data.beaker.reagent_list}}
|
||||
<div class='item'>
|
||||
<div class='itemLabelNarrow'>{{:value.name}}</div>
|
||||
<div class='itemContent'>{{:value.volume}} Units</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{:helper.link('Analyze', 'signal-diag', {'tab_select' : 'analyze', 'desc' : value.description, 'name' : value.name})}}
|
||||
{{:helper.link('1', 'plus', {'add' : value.id, 'amount' : 1})}}
|
||||
{{:helper.link('5', 'plus', {'add' : value.id, 'amount' : 5})}}
|
||||
{{:helper.link('10', 'plus', {'add' : value.id, 'amount' : 10})}}
|
||||
{{:helper.link('30', 'plus', {'add' : value.id, 'amount' : 30})}}
|
||||
{{:helper.link('60', 'plus', {'add' : value.id, 'amount' : 60})}}
|
||||
{{:helper.link('All', 'plus', {'add' : value.id, 'amount' : value.volume})}}
|
||||
{{:helper.link('Custom', 'plus', {'addcustom' : value.id})}}
|
||||
</div>
|
||||
{{/for}}
|
||||
{{else}}
|
||||
Beaker is empty.
|
||||
{{/if}}
|
||||
<hr>
|
||||
<div class='item'>
|
||||
<div class='itemLabelNarrow'>Transfer to</div>
|
||||
{{:helper.link(!data.mode ? 'disposal' : 'beaker', null, {'toggle' : 1})}}
|
||||
</div>
|
||||
{{if data.reagents}}
|
||||
{{if data.reagents.total_volume}}
|
||||
{{for data.reagents.reagent_list}}
|
||||
<div class='item'>
|
||||
<div class='itemLabelNarrow'>{{:value.name}}</div>
|
||||
<div class='itemContent'>{{:value.volume}} Units</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{:helper.link('Analyze', 'signal-diag', {'tab_select' : 'analyze', 'desc' : value.description, 'name' : value.name})}}
|
||||
{{:helper.link('1', 'minus', {'remove' : value.id, 'amount' : 1})}}
|
||||
{{:helper.link('5', 'minus', {'remove' : value.id, 'amount' : 5})}}
|
||||
{{:helper.link('10', 'minus', {'remove' : value.id, 'amount' : 10})}}
|
||||
{{:helper.link('30', 'minus', {'remove' : value.id, 'amount' : 30})}}
|
||||
{{:helper.link('60', 'minus', {'remove' : value.id, 'amount' : 60})}}
|
||||
{{:helper.link('All', 'minus', {'remove' : value.id, 'amount' : value.volume})}}
|
||||
{{:helper.link('Custom', 'minus', {'removecustom' : value.id})}}
|
||||
</div>
|
||||
{{/for}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
Empty
|
||||
{{/if}}
|
||||
{{if !data.condi}}
|
||||
<hr>
|
||||
<div class='item'>
|
||||
{{:helper.link('Create pill (60 units max)', null, {'createpill' : 1})}}
|
||||
{{:helper.link('Create multiple pills', null, {'createpill_multiple' : 1})}}
|
||||
{{:helper.link('Create bottle (60 units max)', null, {'createbottle' : 1})}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
{{:helper.link('', 'pill pill' + data.pillSprite, {'tab_select' : 'pill'}, null, 'link32')}}
|
||||
{{:helper.link('', 'pill bottle' + data.bottleSprite, {'tab_select' : 'bottle'}, null, 'link32')}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
else if (href_list["add"])
|
||||
{{else data.tab == 'analyze'}}
|
||||
{{if !data.condi}}
|
||||
<h3>Chemical Info:</h3>
|
||||
{{else}}
|
||||
<h3>Condiment Info:</h3>
|
||||
{{/if}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Name:</div>
|
||||
<div class='itemContent'>{{:data.analyzeData.name}}</div>
|
||||
</div>
|
||||
{{if data.analyzeData.name == 'Blood'}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Blood Type:</div>
|
||||
<div class='itemContent'>{{:data.analyzeData.blood_type}}</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>DNA:</div>
|
||||
<div class='itemContent'>{{:data.analyzeData.blood_DNA}}</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Description:</div>
|
||||
<div class='itemContent'>{{:data.analyzeData.desc}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{:helper.link('Back', 'arrowreturn-1-w', {'tab_select' : 'home'})}}
|
||||
|
||||
if(href_list["amount"])
|
||||
var/id = href_list["add"]
|
||||
var/amount = Clamp((text2num(href_list["amount"])), 0, 200)
|
||||
R.trans_id_to(src, id, amount)
|
||||
|
||||
else if (href_list["addcustom"])
|
||||
|
||||
var/id = href_list["addcustom"]
|
||||
useramount = input("Select the amount to transfer.", 30, useramount) as num
|
||||
useramount = Clamp(useramount, 0, 200)
|
||||
src.Topic(null, list("amount" = "[useramount]", "add" = "[id]"))
|
||||
|
||||
else if (href_list["remove"])
|
||||
|
||||
if(href_list["amount"])
|
||||
var/id = href_list["remove"]
|
||||
var/amount = Clamp((text2num(href_list["amount"])), 0, 200)
|
||||
if(mode)
|
||||
reagents.trans_id_to(beaker, id, amount)
|
||||
else
|
||||
reagents.remove_reagent(id, amount)
|
||||
|
||||
|
||||
else if (href_list["removecustom"])
|
||||
|
||||
var/id = href_list["removecustom"]
|
||||
useramount = input("Select the amount to transfer.", 30, useramount) as num
|
||||
useramount = Clamp(useramount, 0, 200)
|
||||
src.Topic(null, list("amount" = "[useramount]", "remove" = "[id]"))
|
||||
|
||||
else if (href_list["toggle"])
|
||||
mode = !mode
|
||||
|
||||
else if (href_list["main"])
|
||||
attack_hand(usr)
|
||||
return
|
||||
else if (href_list["eject"])
|
||||
if(beaker)
|
||||
beaker:loc = src.loc
|
||||
beaker = null
|
||||
reagents.clear_reagents()
|
||||
icon_state = "mixer0"
|
||||
else if (href_list["createpill"] || href_list["createpill_multiple"])
|
||||
var/count = 1
|
||||
|
||||
if(reagents.total_volume/count < 1) //Sanity checking.
|
||||
return
|
||||
|
||||
if (href_list["createpill_multiple"])
|
||||
count = input("Select the number of pills to make.", "Max [max_pill_count]", pillamount) as num
|
||||
count = Clamp(count, 1, max_pill_count)
|
||||
|
||||
if(reagents.total_volume/count < 1) //Sanity checking.
|
||||
return
|
||||
|
||||
var/amount_per_pill = reagents.total_volume/count
|
||||
if (amount_per_pill > 60) amount_per_pill = 60
|
||||
|
||||
var/name = sanitizeSafe(input(usr,"Name:","Name your pill!","[reagents.get_master_reagent_name()] ([amount_per_pill] units)"), MAX_NAME_LEN)
|
||||
|
||||
if(reagents.total_volume/count < 1) //Sanity checking.
|
||||
return
|
||||
while (count--)
|
||||
var/obj/item/weapon/reagent_containers/pill/P = new/obj/item/weapon/reagent_containers/pill(src.loc)
|
||||
if(!name) name = reagents.get_master_reagent_name()
|
||||
P.name = "[name] pill"
|
||||
P.pixel_x = rand(-7, 7) //random position
|
||||
P.pixel_y = rand(-7, 7)
|
||||
P.icon_state = "pill"+pillsprite
|
||||
reagents.trans_to_obj(P,amount_per_pill)
|
||||
if(src.loaded_pill_bottle)
|
||||
if(loaded_pill_bottle.contents.len < loaded_pill_bottle.storage_slots)
|
||||
P.loc = loaded_pill_bottle
|
||||
src.updateUsrDialog()
|
||||
|
||||
else if (href_list["createbottle"])
|
||||
if(!condi)
|
||||
var/name = sanitizeSafe(input(usr,"Name:","Name your bottle!",reagents.get_master_reagent_name()), MAX_NAME_LEN)
|
||||
var/obj/item/weapon/reagent_containers/glass/bottle/P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
|
||||
if(!name) name = reagents.get_master_reagent_name()
|
||||
P.name = "[name] bottle"
|
||||
P.pixel_x = rand(-7, 7) //random position
|
||||
P.pixel_y = rand(-7, 7)
|
||||
P.icon_state = bottlesprite
|
||||
reagents.trans_to_obj(P,60)
|
||||
P.update_icon()
|
||||
else
|
||||
var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc)
|
||||
reagents.trans_to_obj(P,50)
|
||||
else if(href_list["change_pill"])
|
||||
#define MAX_PILL_SPRITE 20 //max icon state of the pill sprites
|
||||
var/dat = "<table>"
|
||||
for(var/i = 1 to MAX_PILL_SPRITE)
|
||||
dat += "<tr><td><a href=\"?src=\ref[src]&pill_sprite=[i]\"><img src=\"pill[i].png\" /></a></td></tr>"
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=chem_master")
|
||||
return
|
||||
else if(href_list["change_bottle"])
|
||||
var/dat = "<table>"
|
||||
for(var/sprite in BOTTLE_SPRITES)
|
||||
dat += "<tr><td><a href=\"?src=\ref[src]&bottle_sprite=[sprite]\"><img src=\"[sprite].png\" /></a></td></tr>"
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=chem_master")
|
||||
return
|
||||
else if(href_list["pill_sprite"])
|
||||
pillsprite = href_list["pill_sprite"]
|
||||
else if(href_list["bottle_sprite"])
|
||||
bottlesprite = href_list["bottle_sprite"]
|
||||
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
|
||||
{{:helper.link(data.beaker ? 'Eject Beaker and Clear Buffer' : 'Please insert beaker', 'eject', {'eject' : 1}), data.beaker ? null : 'linkOff'}}
|
||||
{{:helper.link(data.pillBottle ? 'Eject Pill Bottle' : 'Please insert beaker', 'eject', {'ejectp' : 1}), data.pillBottle ? null : 'linkOff'}}
|
||||
{{:data.pillBottleTotal}} / {{:data.pillBottleMax}}
|
||||
|
||||
{{if data.beakerReagent}}
|
||||
Add to buffer:
|
||||
{{for data.beakerReagent}}
|
||||
{{:value.name}} , {{:value.volume}} Units -
|
||||
{{:helper.link('Analyze', 'signal-diag', {'analyze' : 1, 'desc' : value.description, 'name' : value.name})}}
|
||||
{{:helper.link('1', 'plus', {'add' : value.id, 'amount' : 1})}}
|
||||
{{:helper.link('5', 'plus', {'add' : value.id, 'amount' : 5})}}
|
||||
{{:helper.link('10', 'plus', {'add' : value.id, 'amount' : 10})}}
|
||||
{{:helper.link('30', 'plus', {'add' : value.id, 'amount' : 30})}}
|
||||
{{:helper.link('60', 'plus', {'add' : value.id, 'amount' : 60})}}
|
||||
{{:helper.link('All', 'plus', {'add' : value.id, 'amount' : value.volume})}}
|
||||
{{:helper.link('Custom', 'plus', {'addcustom' : value.id})}}
|
||||
|
||||
if(!beaker) data.beaker
|
||||
if(src.loaded_pill_bottle) data.pillBottle
|
||||
[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\] data.pillBottleTotal data.pillBottleMax
|
||||
|
||||
var/datum/reagents/R = beaker:reagents
|
||||
if(!R.total_volume)
|
||||
dat += "Beaker is empty."
|
||||
else
|
||||
dat += "Add to buffer:<BR>"
|
||||
for(var/datum/reagent/G in R.reagent_list)
|
||||
dat += "[G.name] , [G.volume] Units - "
|
||||
dat += "<A href='?src=\ref[src];analyze=1;desc=[G.description];name=[G.name]'>(Analyze)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=1'>(1)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=5'>(5)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=10'>(10)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=30'>(30)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=60'>(60)</A> "
|
||||
dat += "<A href='?src=\ref[src];add=[G.id];amount=[G.volume]'>(All)</A> "
|
||||
dat += "<A href='?src=\ref[src];addcustom=[G.id]'>(Custom)</A><BR>"
|
||||
|
||||
dat += "<HR>Transfer to <A href='?src=\ref[src];toggle=1'>[(!mode ? "disposal" : "beaker")]:</A><BR>"
|
||||
if(reagents.total_volume)
|
||||
for(var/datum/reagent/N in reagents.reagent_list)
|
||||
dat += "[N.name] , [N.volume] Units - "
|
||||
dat += "<A href='?src=\ref[src];analyze=1;desc=[N.description];name=[N.name]'>(Analyze)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=1'>(1)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=5'>(5)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=10'>(10)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=30'>(30)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=60'>(60)</A> "
|
||||
dat += "<A href='?src=\ref[src];remove=[N.id];amount=[N.volume]'>(All)</A> "
|
||||
dat += "<A href='?src=\ref[src];removecustom=[N.id]'>(Custom)</A><BR>"
|
||||
else
|
||||
dat += "Empty<BR>"
|
||||
if(!condi)
|
||||
dat += "<HR><BR><A href='?src=\ref[src];createpill=1'>Create pill (60 units max)</A><a href=\"?src=\ref[src]&change_pill=1\"><img src=\"pill[pillsprite].png\" /></a><BR>"
|
||||
dat += "<A href='?src=\ref[src];createpill_multiple=1'>Create multiple pills</A><BR>"
|
||||
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (60 units max)<a href=\"?src=\ref[src]&change_bottle=1\"><img src=\"[bottlesprite].png\" /></A>"
|
||||
else
|
||||
dat += "<A href='?src=\ref[src];createbottle=1'>Create bottle (50 units max)</A>"
|
||||
if(!condi)
|
||||
user << browse("<TITLE>Chemmaster 3000</TITLE>Chemmaster menu:<BR><BR>[dat]", "window=chem_master;size=575x400")
|
||||
else
|
||||
user << browse("<TITLE>Condimaster 3000</TITLE>Condimaster menu:<BR><BR>[dat]", "window=chem_master;size=575x400")
|
||||
onclose(user, "chem_master")
|
||||
return
|
||||
{{else data.tab == 'pill'}}
|
||||
{{for data.pillSpritesAmount}}
|
||||
{{:helper.link('', 'pill pill' + value, {'pill_sprite' : value}, null, data.pillSprite == value ? 'linkOn link32' : 'link32')}}
|
||||
{{/for}}
|
||||
<div class='item'><br>{{:helper.link('Return', 'arrowreturn-1-w', {'tab_select' : 'home'})}}</div>
|
||||
|
||||
{{else data.tab == 'bottle'}}
|
||||
{{for data.bottleSpritesAmount}}
|
||||
{{:helper.link('', 'pill bottle' + value, {'bottle_sprite' : value}, null, data.bottleSprite == value ? 'linkOn link32' : 'link32')}}
|
||||
{{/for}}
|
||||
<div class='item'><br>{{:helper.link('Return', 'arrowreturn-1-w', {'tab_select' : 'home'})}}</div>
|
||||
{{/if}}
|
||||
@@ -77,7 +77,7 @@
|
||||
{{:helper.link('Delete Record', 'trash', {'del_rec' : 1}, null, 'redButton')}}
|
||||
<b>Name:</b> {{:data.activeRecord.real_name}}
|
||||
|
||||
<!--
|
||||
<!--
|
||||
var/obj/item/weapon/implant/health/H = null
|
||||
if(src.active_record.implant)
|
||||
H=locate(src.active_record.implant)
|
||||
@@ -86,7 +86,7 @@
|
||||
dat += "<b>Health:</b> [H.sensehealth()] | OXY-BURN-TOX-BRUTE<br>
|
||||
{{else}}
|
||||
Unable to locate implant. <<Red
|
||||
-->
|
||||
-->
|
||||
|
||||
{{:helper.link('Load from disk', 'transfer-e-w', {'disk' : 'load'}, data.disk ? null : 'linkOff')}}
|
||||
|
||||
|
||||
@@ -3,30 +3,53 @@
|
||||
See: code/modules/paperwork/faxmachine.dm
|
||||
-->
|
||||
|
||||
Confirm Identity: {{:helper.link(data.scanName, 'check', {'scan' : 1})}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Confirm Identity:
|
||||
</div>
|
||||
{{:helper.link(data.scanName ? data.scanName : 'Insert Card', 'check', {'scan' : 1})}}
|
||||
{{if data.authenticated}}
|
||||
{{:helper.link('Log Out', 'eject', {'logout' : 1}, null, 'redButton')}}
|
||||
{{else}}
|
||||
{{:helper.link('Log In', 'person', {'auth' : 1}, data.scanName ? null : 'linkOff')}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{if data.authenticated}}
|
||||
{{:helper.link('Log Out', 'eject', {'logout' : 1}, null, 'linkDanger')}}
|
||||
|
||||
<hr>
|
||||
<b>Logged in to:</b> {{:data.bossName}} Quantum Entanglement Network
|
||||
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
<b>Logged in to:</b>
|
||||
</div>
|
||||
<div class='itemContent'>
|
||||
{{:data.bossName}} Quantum Entanglement Network
|
||||
</div>
|
||||
</div>
|
||||
{{if data.copyItem}}
|
||||
{{:helper.link('Remove Item', 'eject', {'remove' : 1})}}
|
||||
{{if data.cooldown}}
|
||||
<b>Transmitter arrays realigning. Please stand by.</b>
|
||||
<div class='item'><b>Transmitter arrays realigning. Please stand by.</b></div>
|
||||
{{else}}
|
||||
{{:helper.link('Send', 'signal-diag', {'send' : 1})}}
|
||||
<b>Currently sending:</b> {{:data.copyItemName}}
|
||||
<b>Sending to:</b> {{:helper.link(data.destination, 'tag', {'dept' : 1})}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'><b>Currently sending:</b></div>
|
||||
<div class='itemContent'>{{:data.copyItemName}}</div>
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'><b>Sending to:</b></div>
|
||||
{{:helper.link(data.destination, 'tag', {'dept' : 1})}}
|
||||
</div>
|
||||
<div class='item'>{{:helper.link('Send', 'signal-diag', {'send' : 1})}}</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
Please insert paper to send via secure connection.
|
||||
<div class='item'>Please insert paper to send via secure connection.</div>
|
||||
{{if data.cooldown}}
|
||||
<b>Transmitter arrays realigning. Please stand by.</b>
|
||||
<div class='item'><b>Transmitter arrays realigning. Please stand by.</b></div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{:helper.link('Log In', 'person', {'auth' : 1})}}
|
||||
Proper authentication is required to use this device.
|
||||
{{if data.copyItem}}
|
||||
{{:helper.link('Remove Item', 'eject', {'remove' : 1})}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class='item'>Proper authentication is required to use this device.</div>
|
||||
{{/if}}
|
||||
{{if data.copyItem}}
|
||||
<div class='item'>{{:helper.link('Remove Item', 'eject', {'remove' : 1})}}</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
@@ -3,31 +3,34 @@
|
||||
See: code/modules/holodeck/HolodeckControl.dm
|
||||
-->
|
||||
|
||||
Current Loaded Programs:
|
||||
<h3>Current Loaded Programs:</h3>
|
||||
{{for data.supportedPrograms}}
|
||||
{{:helper.link(value.name, data.currentProgram == value.program ? 'check' : 'clear', {'program' : value.program}, data.currentProgram == value.program ? 'linkOn' : null)}}
|
||||
<div class='item'>{{:helper.link(value.name, data.currentProgram == value.program ? 'check' : 'close', {'program' : value.program}, null, data.currentProgram == value.program ? 'linkOn' : null)}}</div>
|
||||
{{/for}}
|
||||
Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.
|
||||
<div class='item'>Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.</div>
|
||||
{{if data.isSilicon}}
|
||||
{{if data.safetyDisabled}}
|
||||
{{if data.emagged}}
|
||||
<span class='bad'><b>ERROR</b></span>: Cannot re-enable Safety Protocols.
|
||||
<div class='item'><span class='bad'><b>ERROR</b></span>: Cannot re-enable Safety Protocols.</div>
|
||||
{{else}}
|
||||
{{:helper.link('Re-Enable Safety Protocols?', 'help', {'AIoverride' : 1}, null, 'linkOn')}}
|
||||
<div class='item'>{{:helper.link('Re-Enable Safety Protocols?', 'help', {'AIoverride' : 1}, null, 'linkOn')}}</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{:helper.link('Re-Enable Safety Protocols?', 'help', {'AIoverride' : 1}, null, 'linkDanger')}}
|
||||
<div class='item'>{{:helper.link('Re-Enable Safety Protocols?', 'help', {'AIoverride' : 1}, null, 'redButton')}}</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{if data.safetyDisabled}}
|
||||
{{for data.restrictedPrograms}}
|
||||
{{:helper.link('Begin ' + value.name, data.currentProgram == value.program ? 'check' : 'clear', {'program' : value.program}, data.currentProgram == value.program ? 'linkOn' : null)}}
|
||||
Ensure the holodeck is empty before testing.
|
||||
<div class='item'>{{:helper.link('Begin ' + value.name, data.currentProgram == value.program ? 'check' : 'close', {'program' : value.program}, null, data.currentProgram == value.program ? 'linkOn' : null)}}</div>
|
||||
{{/for}}
|
||||
Safety Protocols are <span class='bad'>DISABLED</span>
|
||||
<div class='item average'>Ensure the holodeck is empty before testing.</div>
|
||||
<div class='item'>Safety Protocols are <span class='bad'>DISABLED</span></div>
|
||||
{{else}}
|
||||
Safety Protocols are <span class='good'>ENABLED</span>
|
||||
<div class='item'>Safety Protocols are <span class='good'>ENABLED</span></div>
|
||||
{{/if}}
|
||||
|
||||
{{:helper.link(data.gravity ? 'On ' : 'Off', data.gravity ? 'check' : 'clear', {'gravity' : 1}, null, data.gravity ? 'linkOn' : linkDanger')}}
|
||||
<div class='item'>
|
||||
<div class='itemLabelNarrow'>Gravity:</div>
|
||||
{{:helper.link(data.gravity ? 'On ' : 'Off', data.gravity ? 'check' : 'close', {'gravity' : 1}, null, data.gravity ? 'linkOn' : 'redButton')}}
|
||||
</div>
|
||||
@@ -5,11 +5,9 @@
|
||||
|
||||
{{if data.mode == 0}}
|
||||
<div class='item'>
|
||||
<div class='itemContent'>
|
||||
<b>Please choose your laptop customization options.</b><br>
|
||||
Your comptuer will automatically be loaded with any programs you can use after the transaction is complete.<br>
|
||||
<b>Some programs will require additional components to be installed!</b>
|
||||
</div>
|
||||
<b>Please choose your laptop customization options.</b><br>
|
||||
Your comptuer will automatically be loaded with any programs you can use after the transaction is complete.<br>
|
||||
<b>Some programs will require additional components to be installed!</b>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
@@ -6,67 +6,39 @@
|
||||
{{if data.table}}
|
||||
<h4>Patient Information:</h4>
|
||||
{{if data.victim}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Name:
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>Name:</div>
|
||||
<div class='itemContent'>{{:data.victim.real_name}}</div>
|
||||
|
||||
<div class='itemLabel'>Age:</div>
|
||||
<div class='itemContent'>{{:data.victim.age}}</div>
|
||||
|
||||
<div class='itemLabel'>Blood Type:</div>
|
||||
<div class='itemContent'>{{:data.victim.b_type}}</div>
|
||||
</div>
|
||||
{{:data.victim.real_name}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Age:
|
||||
<hr>
|
||||
<div class='item'>
|
||||
<div class='itemLabelWide' style='color: #98B0C3;'>Health:</div>
|
||||
<div class='itemContentNarrow'>{{:data.victim.health}}</div>
|
||||
|
||||
<div class='itemLabelWide' style='color: #98B0C3;'>Brute Damage:</div>
|
||||
<div class='itemContentNarrow brute'>{{:data.victim.brute}}</div>
|
||||
|
||||
<div class='itemLabelWide' style='color: #98B0C3;'>Toxins Damage:</div>
|
||||
<div class='itemContentNarrow toxin'>{{:data.victim.tox}}</div>
|
||||
|
||||
<div class='itemLabelWide' style='color: #98B0C3;'>Fire Damage:</div>
|
||||
<div class='itemContentNarrow burn'>{{:data.victim.burn}}</div>
|
||||
|
||||
<div class='itemLabelWide' style='color: #98B0C3;'>Suffocation Damage:</div>
|
||||
<div class='itemContentNarrow oxyloss'>{{:data.victim.oxy}}</div>
|
||||
|
||||
<div class='itemLabelWide'>Patient Status:</div>
|
||||
<div class='itemContentNarrow'>{{:data.victim.stat}}</div>
|
||||
|
||||
<div class='itemLabelWide'>Heartbeat Rate:</div>
|
||||
<div class='itemContentNarrow'>{{:data.victim.pulse}}</div>
|
||||
</div>
|
||||
{{:data.victim.age}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Blood Type:
|
||||
</div>
|
||||
{{:data.victim.b_type}}
|
||||
</div>
|
||||
<hr>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Health:
|
||||
</div>
|
||||
{{:data.victim.health}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Brute Damage:
|
||||
</div>
|
||||
{{:data.victim.brute}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Toxins Damage:
|
||||
</div>
|
||||
{{:data.victim.tox}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Fire Damage:
|
||||
</div>
|
||||
{{:data.victim.burn}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Suffocation Damage:
|
||||
</div>
|
||||
{{:data.victim.oxy}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Patient Status:
|
||||
</div>
|
||||
{{:data.victim.stat}}
|
||||
</div>
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Heartbeat Rate:
|
||||
</div>
|
||||
{{:data.victim.pulse}}
|
||||
</div>
|
||||
{{else}}
|
||||
No Patient Detected
|
||||
{{/if}}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{{:helper.link('Copy', 'copy', {'copy' : 1})}}</div>
|
||||
<hr>
|
||||
<div class='item'>
|
||||
<div class='itemLabelNarrow'>
|
||||
<div class='itemLabel'>
|
||||
Printing:
|
||||
</div>
|
||||
<div class='itemContent'>
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<hr>
|
||||
<div class='item'>
|
||||
<div class='itemLabel' style='width: 40%'>Current toner level:</div>
|
||||
<div class='itemLabel' style='width: 50%'>Current toner level:</div>
|
||||
<div class='itemContentNarrow'><b>{{:data.toner}}</b>u</div>
|
||||
</div>
|
||||
{{else}}
|
||||
|
||||
Reference in New Issue
Block a user