This commit is contained in:
Zuhayr
2014-01-06 13:42:23 +10:30
21 changed files with 1700 additions and 1405 deletions
+1 -1
View File
@@ -296,7 +296,7 @@ datum/controller/game_controller/proc/process_nano()
var/i = 1
while(i<=nanomanager.processing_uis.len)
var/datum/nanoui/ui = nanomanager.processing_uis[i]
if(ui && ui.src_object && ui.user)
if(ui)
ui.process()
i++
continue
+1 -12
View File
@@ -84,18 +84,7 @@
data["hasOccupant"] = occupant ? 1 : 0
var/occupantData[0]
if (!occupant)
occupantData["name"] = null
occupantData["stat"] = null
occupantData["health"] = null
occupantData["maxHealth"] = null
occupantData["minHealth"] = null
occupantData["bruteLoss"] = null
occupantData["oxyLoss"] = null
occupantData["toxLoss"] = null
occupantData["fireLoss"] = null
occupantData["bodyTemperature"] = null
else
if (occupant)
occupantData["name"] = occupant.name
occupantData["stat"] = occupant.stat
occupantData["health"] = occupant.health
+232 -245
View File
@@ -356,14 +356,13 @@ var/global/list/obj/item/device/pda/PDAs = list()
data["idInserted"] = (id ? 1 : 0)
data["idLink"] = (id ? text("[id.registered_name], [id.assignment]") : "--------")
data["cartridge"] = null
data["records"] = null
if(cartridge)
var/cartdata[0]
data["records"] = cartridge.create_NanoUI_values()
cartdata["name"] = cartridge.name
cartdata["access"] = list(\
"access_security" = cartridge.access_security,\
@@ -392,15 +391,10 @@ var/global/list/obj/item/device/pda/PDAs = list()
cartdata["type"] = cartridge.type
cartdata["charges"] = cartridge.charges ? cartridge.charges : 0
data["cartridge"] = cartdata
data["stationTime"] = worldtime2text()
data["newMessage"] = newmessage
var/convopdas[0]
var/pdas[0]
@@ -521,264 +515,260 @@ var/global/list/obj/item/device/pda/PDAs = list()
//if ((src in U.contents) || ( istype(loc, /turf) && in_range(src, U) ) )
if (usr.stat == DEAD)
return 0
if(can_use()) //Why reinvent the wheel? There's a proc that does exactly that.
add_fingerprint(U)
U.set_machine(src)
switch(href_list["choice"])
if(!can_use()) //Why reinvent the wheel? There's a proc that does exactly that.
U.unset_machine()
ui.close()
return 0
add_fingerprint(U)
U.set_machine(src)
switch(href_list["choice"])
//BASIC FUNCTIONS===================================
if("Close")//Self explanatory
U.unset_machine()
ui.close()
return
if("Refresh")//Refresh, goes to the end of the proc.
if("Return")//Return
if(mode<=9)
if("Close")//Self explanatory
U.unset_machine()
ui.close()
return 0
if("Refresh")//Refresh, goes to the end of the proc.
if("Return")//Return
if(mode<=9)
mode = 0
else
mode = round(mode/10)
if(mode==2)
active_conversation = null
if(mode==4)//Fix for cartridges. Redirects to hub.
mode = 0
else
mode = round(mode/10)
if(mode==2)
active_conversation = null
if(mode==4)//Fix for cartridges. Redirects to hub.
mode = 0
else if(mode >= 40 && mode <= 49)//Fix for cartridges. Redirects to refresh the menu.
cartridge.mode = mode
if ("Authenticate")//Checks for ID
id_check(U, 1)
if("UpdateInfo")
ownjob = id.assignment
name = "PDA-[owner] ([ownjob])"
if("Eject")//Ejects the cart, only done from hub.
if (!isnull(cartridge))
var/turf/T = loc
if(ismob(T))
T = T.loc
cartridge.loc = T
ui.close()
mode = 0
scanmode = 0
if (cartridge.radio)
cartridge.radio.hostpda = null
cartridge = null
else if(mode >= 40 && mode <= 49)//Fix for cartridges. Redirects to refresh the menu.
cartridge.mode = mode
if ("Authenticate")//Checks for ID
id_check(U, 1)
if("UpdateInfo")
ownjob = id.assignment
name = "PDA-[owner] ([ownjob])"
if("Eject")//Ejects the cart, only done from hub.
if (!isnull(cartridge))
var/turf/T = loc
if(ismob(T))
T = T.loc
cartridge.loc = T
mode = 0
scanmode = 0
if (cartridge.radio)
cartridge.radio.hostpda = null
cartridge = null
//MENU FUNCTIONS===================================
if("0")//Hub
mode = 0
if("1")//Notes
mode = 1
if("2")//Messenger
mode = 2
if("21")//Read messeges
mode = 21
if("3")//Atmos scan
mode = 3
if("4")//Redirects to hub
mode = 0
if("chatroom") // chatroom hub
mode = 5
if("41") //Manifest
mode = 41
if("0")//Hub
mode = 0
if("1")//Notes
mode = 1
if("2")//Messenger
mode = 2
if("21")//Read messeges
mode = 21
if("3")//Atmos scan
mode = 3
if("4")//Redirects to hub
mode = 0
if("chatroom") // chatroom hub
mode = 5
if("41") //Manifest
mode = 41
//MAIN FUNCTIONS===================================
if("Light")
if(fon)
fon = 0
if(src in U.contents) U.SetLuminosity(U.luminosity - f_lum)
else SetLuminosity(0)
else
fon = 1
if(src in U.contents) U.SetLuminosity(U.luminosity + f_lum)
else SetLuminosity(f_lum)
if("Medical Scan")
if(scanmode == 1)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_medical))
scanmode = 1
if("Reagent Scan")
if(scanmode == 3)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_reagent_scanner))
scanmode = 3
if("Halogen Counter")
if(scanmode == 4)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_engine))
scanmode = 4
if("Honk")
if ( !(last_honk && world.time < last_honk + 20) )
playsound(loc, 'sound/items/bikehorn.ogg', 50, 1)
last_honk = world.time
if("Gas Scan")
if(scanmode == 5)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_atmos))
scanmode = 5
if("Light")
if(fon)
fon = 0
if(src in U.contents) U.SetLuminosity(U.luminosity - f_lum)
else SetLuminosity(0)
else
fon = 1
if(src in U.contents) U.SetLuminosity(U.luminosity + f_lum)
else SetLuminosity(f_lum)
if("Medical Scan")
if(scanmode == 1)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_medical))
scanmode = 1
if("Reagent Scan")
if(scanmode == 3)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_reagent_scanner))
scanmode = 3
if("Halogen Counter")
if(scanmode == 4)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_engine))
scanmode = 4
if("Honk")
if ( !(last_honk && world.time < last_honk + 20) )
playsound(loc, 'sound/items/bikehorn.ogg', 50, 1)
last_honk = world.time
if("Gas Scan")
if(scanmode == 5)
scanmode = 0
else if((!isnull(cartridge)) && (cartridge.access_atmos))
scanmode = 5
//MESSENGER/NOTE FUNCTIONS===================================
if ("Edit")
var/n = input(U, "Please enter message", name, notehtml) as message
if (in_range(src, U) && loc == U)
n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN)
if (mode == 1)
note = html_decode(n)
notehtml = note
note = replacetext(note, "\n", "<br>")
if ("Edit")
var/n = input(U, "Please enter message", name, notehtml) as message
if (in_range(src, U) && loc == U)
n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN)
if (mode == 1)
note = html_decode(n)
notehtml = note
note = replacetext(note, "\n", "<br>")
else
ui.close()
if("Toggle Messenger")
toff = !toff
if("Toggle Ringer")//If viewing texts then erase them, if not then toggle silent status
silent = !silent
if("Clear")//Clears messages
if(href_list["option"] == "All")
tnote.Cut()
conversations.Cut()
if(href_list["option"] == "Convo")
var/new_tnote[0]
for(var/i in tnote)
if(i["target"] != active_conversation)
new_tnote[++new_tnote.len] = i
tnote = new_tnote
conversations.Remove(active_conversation)
active_conversation = null
if(mode==21)
mode=2
if("Ringtone")
var/t = input(U, "Please enter new ringtone", name, ttone) as text
if (in_range(src, U) && loc == U)
if (t)
if(src.hidden_uplink && hidden_uplink.check_trigger(U, lowertext(t), lowertext(lock_code)))
U << "The PDA softly beeps."
ui.close()
else
t = copytext(sanitize(t), 1, 20)
ttone = t
else
ui.close()
return 0
if("Message")
var/obj/item/device/pda/P = locate(href_list["target"])
src.create_message(U, P)
if(mode == 2)
if(href_list["target"] in conversations) // Need to make sure the message went through, if not welp.
active_conversation = href_list["target"]
mode = 21
if("Select Conversation")
var/P = href_list["convo"]
for(var/n in conversations)
if(P == n)
active_conversation=P
mode=21
if("Send Honk")//Honk virus
if(istype(cartridge, /obj/item/weapon/cartridge/clown))//Cartridge checks are kind of unnecessary since everything is done through switch.
var/obj/item/device/pda/P = locate(href_list["target"])//Leaving it alone in case it may do something useful, I guess.
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
U.show_message("\blue Virus sent!", 1)
P.honkamt = (rand(15,20))
else
ui.close()
if("Toggle Messenger")
toff = !toff
if("Toggle Ringer")//If viewing texts then erase them, if not then toggle silent status
silent = !silent
if("Clear")//Clears messages
if(href_list["option"] == "All")
tnote.Cut()
conversations.Cut()
if(href_list["option"] == "Convo")
var/new_tnote[0]
for(var/i in tnote)
if(i["target"] != active_conversation)
new_tnote[++new_tnote.len] = i
tnote = new_tnote
conversations.Remove(active_conversation)
active_conversation = null
if(mode==21)
mode=2
if("Ringtone")
var/t = input(U, "Please enter new ringtone", name, ttone) as text
if (in_range(src, U) && loc == U)
if (t)
if(src.hidden_uplink && hidden_uplink.check_trigger(U, lowertext(t), lowertext(lock_code)))
U << "The PDA softly beeps."
ui.close()
else
t = copytext(sanitize(t), 1, 20)
ttone = t
else
ui.close()
return
if("Message")
U << "PDA not found."
else
ui.close()
return 0
if("Send Silence")//Silent virus
if(istype(cartridge, /obj/item/weapon/cartridge/mime))
var/obj/item/device/pda/P = locate(href_list["target"])
src.create_message(U, P)
if(mode == 2)
if(href_list["target"] in conversations) // Need to make sure the message went through, if not welp.
active_conversation = href_list["target"]
mode = 21
if("Select Conversation")
var/P = href_list["convo"]
for(var/n in conversations)
if(P == n)
active_conversation=P
mode=21
if("Send Honk")//Honk virus
if(istype(cartridge, /obj/item/weapon/cartridge/clown))//Cartridge checks are kind of unnecessary since everything is done through switch.
var/obj/item/device/pda/P = locate(href_list["target"])//Leaving it alone in case it may do something useful, I guess.
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
U.show_message("\blue Virus sent!", 1)
P.honkamt = (rand(15,20))
else
U << "PDA not found."
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
U.show_message("\blue Virus sent!", 1)
P.silent = 1
P.ttone = "silence"
else
ui.close()
return
if("Send Silence")//Silent virus
if(istype(cartridge, /obj/item/weapon/cartridge/mime))
var/obj/item/device/pda/P = locate(href_list["target"])
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
U.show_message("\blue Virus sent!", 1)
P.silent = 1
P.ttone = "silence"
else
U << "PDA not found."
else
ui.close()
return
U << "PDA not found."
else
ui.close()
return 0
//SYNDICATE FUNCTIONS===================================
if("Toggle Door")
if(cartridge && cartridge.access_remote_door)
for(var/obj/machinery/door/poddoor/M in world)
if(M.id == cartridge.remote_door_id)
if(M.density)
M.open()
else
M.close()
if("Toggle Door")
if(cartridge && cartridge.access_remote_door)
for(var/obj/machinery/door/poddoor/M in world)
if(M.id == cartridge.remote_door_id)
if(M.density)
M.open()
else
M.close()
if("Detonate")//Detonate PDA
if(istype(cartridge, /obj/item/weapon/cartridge/syndicate))
var/obj/item/device/pda/P = locate(href_list["target"])
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
if("Detonate")//Detonate PDA
if(istype(cartridge, /obj/item/weapon/cartridge/syndicate))
var/obj/item/device/pda/P = locate(href_list["target"])
if(!isnull(P))
if (!P.toff && cartridge.charges > 0)
cartridge.charges--
var/difficulty = 0
var/difficulty = 0
if(P.cartridge)
difficulty += P.cartridge.access_medical
difficulty += P.cartridge.access_security
difficulty += P.cartridge.access_engine
difficulty += P.cartridge.access_clown
difficulty += P.cartridge.access_janitor
else
difficulty += 2
if(P.cartridge)
difficulty += P.cartridge.access_medical
difficulty += P.cartridge.access_security
difficulty += P.cartridge.access_engine
difficulty += P.cartridge.access_clown
difficulty += P.cartridge.access_janitor
else
difficulty += 2
if(prob(difficulty * 12) || (P.hidden_uplink))
U.show_message("\red An error flashes on your [src].", 1)
else if (prob(difficulty * 3))
U.show_message("\red Energy feeds back into your [src]!", 1)
ui.close()
explode()
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1)
else
U.show_message("\blue Success!", 1)
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge and succeded")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge and succeded", 1)
P.explode()
else
U << "PDA not found."
if(prob(difficulty * 12) || (P.hidden_uplink))
U.show_message("\red An error flashes on your [src].", 1)
else if (prob(difficulty * 3))
U.show_message("\red Energy feeds back into your [src]!", 1)
ui.close()
explode()
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up", 1)
else
U.show_message("\blue Success!", 1)
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge and succeded")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge and succeded", 1)
P.explode()
else
U.unset_machine()
ui.close()
return
U << "PDA not found."
else
U.unset_machine()
ui.close()
return 0
//pAI FUNCTIONS===================================
if("pai")
switch(href_list["option"])
if("1") // Configure pAI device
pai.attack_self(U)
if("2") // Eject pAI device
var/turf/T = get_turf_or_move(src.loc)
if(T)
pai.loc = T
pai = null
if("pai")
switch(href_list["option"])
if("1") // Configure pAI device
pai.attack_self(U)
if("2") // Eject pAI device
var/turf/T = get_turf_or_move(src.loc)
if(T)
pai.loc = T
pai = null
else
mode = text2num(href_list["choice"])
if(cartridge)
cartridge.mode = mode
else//If not in range or not using the pda.
U.unset_machine()
ui.close()
return
else
mode = text2num(href_list["choice"])
if(cartridge)
cartridge.mode = mode
//EXTRA FUNCTIONS===================================
@@ -790,7 +780,6 @@ var/global/list/obj/item/device/pda/PDAs = list()
honkamt--
playsound(loc, 'sound/items/bikehorn.ogg', 30, 1)
src.updateUsrDialog()
return 1 // return 1 tells it to refresh the UI in NanoUI
/obj/item/device/pda/proc/remove_id()
@@ -960,15 +949,13 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/attackby(obj/item/C as obj, mob/user as mob)
..()
if(istype(C, /obj/item/weapon/cartridge) && !cartridge)
var/datum/nanoui/ui = nanomanager.get_open_ui(user, src, "main")
cartridge = C
user.drop_item()
cartridge.loc = src
user << "<span class='notice'>You insert [cartridge] into [src].</span>"
nanomanager.update_uis(src) // update all UIs attached to src
if(cartridge.radio)
cartridge.radio.hostpda = src
if(ui)
ui.close()
cartridge.radio.hostpda = src
else if(istype(C, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/idcard = C
@@ -994,7 +981,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
C.loc = src
pai = C
user << "<span class='notice'>You slot \the [C] into [src].</span>"
updateUsrDialog()
nanomanager.update_uis(src) // update all UIs attached to src
else if(istype(C, /obj/item/weapon/pen))
var/obj/item/weapon/pen/O = locate() in src
if(O)
+1 -1
View File
@@ -103,7 +103,7 @@ var/global/economy_init = 0
create_department_account("Vendor")
vendor_account = department_accounts["Vendor"]
current_date_string = "[num2text(rand(1,31))] [pick("January","February","March","April","May","June","July","August","September","October","November","December")], 2557"
current_date_string = "[num2text(rand(1,31))] [pick("January","February","March","April","May","June","July","August","September","October","November","December")], [game_year]"
economy_init = 1
return 1
@@ -63,6 +63,6 @@
//RUNTIME IS ALIVE! SQUEEEEEEEE~
/mob/living/simple_animal/cat/Runtime
name = "Runtime"
desc = "Its fur has the look and feel of velvet, and it's tail quivers occasionally."
desc = "Its fur has the look and feel of velvet, and its tail quivers occasionally."
+4
View File
@@ -417,6 +417,10 @@ nanoui is used to open and update nano browser uis
* @return nothing
*/
/datum/nanoui/proc/process(update = 0)
if (!src_object || !user)
close()
return
if (status && (update || is_auto_updating))
src_object.ui_interact(user, ui_key, src) // Update the UI (update_status() is called whenever a UI is updated)
else
+28 -28
View File
@@ -539,7 +539,7 @@ datum
sulfur
name = "Sulfur"
id = "sulfur"
description = "A chemical element."
description = "A chemical element with a pungent smell."
reagent_state = SOLID
color = "#BF8C00" // rgb: 191, 140, 0
@@ -548,7 +548,7 @@ datum
carbon
name = "Carbon"
id = "carbon"
description = "A chemical element."
description = "A chemical element, the builing block of life."
reagent_state = SOLID
color = "#1C1300" // rgb: 30, 20, 0
@@ -562,7 +562,7 @@ datum
chlorine
name = "Chlorine"
id = "chlorine"
description = "A chemical element."
description = "A chemical element with a characteristic odour."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
overdose = REAGENTS_OVERDOSE
@@ -590,7 +590,7 @@ datum
sodium
name = "Sodium"
id = "sodium"
description = "A chemical element."
description = "A chemical element, readily reacts with water."
reagent_state = SOLID
color = "#808080" // rgb: 128, 128, 128
@@ -599,7 +599,7 @@ datum
phosphorus
name = "Phosphorus"
id = "phosphorus"
description = "A chemical element."
description = "A chemical element, the backbone of biological energy carriers."
reagent_state = SOLID
color = "#832828" // rgb: 131, 40, 40
@@ -608,7 +608,7 @@ datum
lithium
name = "Lithium"
id = "lithium"
description = "A chemical element."
description = "A chemical element, used as antidepressant."
reagent_state = SOLID
color = "#808080" // rgb: 128, 128, 128
overdose = REAGENTS_OVERDOSE
@@ -687,7 +687,7 @@ datum
ryetalyn
name = "Ryetalyn"
id = "ryetalyn"
description = "Ryetalyn can cure all genetic abnomalities."
description = "Ryetalyn can cure all genetic abnomalities via a catalytic process."
reagent_state = SOLID
color = "#C8A5DC" // rgb: 200, 165, 220
overdose = REAGENTS_OVERDOSE
@@ -1024,7 +1024,7 @@ datum
dexalinp
name = "Dexalin Plus"
id = "dexalinp"
description = "Dexalin Plus is used in the treatment of oxygen deprivation. Its highly effective."
description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
overdose = REAGENTS_OVERDOSE/2
@@ -1292,7 +1292,7 @@ datum
clonexadone
name = "Clonexadone"
id = "clonexadone"
description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' clones that get ejected early when used in conjunction with a cryo tube."
description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
@@ -1353,7 +1353,7 @@ datum
holywater
name = "Holy Water"
id = "holywater"
description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen."
description = "This was once water, but has been altered by higher powers."
reagent_state = LIQUID
color = "#535E66" // rgb: 83, 94, 102
@@ -1599,7 +1599,7 @@ datum
toxin/carpotoxin
name = "Carpotoxin"
id = "carpotoxin"
description = "A deadly neurotoxin produced by the dreaded spess carp."
description = "A deadly neurotoxin produced by the dreaded space carp."
reagent_state = LIQUID
color = "#003333" // rgb: 0, 51, 51
toxpwr = 2
@@ -1631,7 +1631,7 @@ datum
toxin/mindbreaker
name = "Mindbreaker Toxin"
id = "mindbreaker"
description = "A powerful hallucinogen. Not a thing to be messed with."
description = "A powerful hallucinogen, it can cause fatal effects in users."
reagent_state = LIQUID
color = "#B31008" // rgb: 139, 166, 233
toxpwr = 0
@@ -1784,7 +1784,7 @@ datum
toxin/beer2 //disguised as normal beer for use by emagged brobots
name = "Beer"
id = "beer2"
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
description = "An alcoholic beverage made from malted grains, hops, yeast, and water. The fermentation appears to be imcomplete." //If the players manage to analyze this, they deserve to know something is wrong.
reagent_state = LIQUID
color = "#664300" // rgb: 102, 67, 0
custom_metabolism = 0.15 // Sleep toxins should always be consumed pretty fast
@@ -1809,7 +1809,7 @@ datum
toxin/acid
name = "Sulphuric acid"
id = "sacid"
description = "A strong mineral acid with the molecular formula H2SO4."
description = "A very corrosive mineral acid with the molecular formula H2SO4."
reagent_state = LIQUID
color = "#DB5008" // rgb: 219, 80, 8
toxpwr = 1
@@ -2063,7 +2063,7 @@ datum
frostoil
name = "Frost Oil"
id = "frostoil"
description = "A special oil that noticably chills the body. Extraced from Icepeppers."
description = "A special oil that noticably chills the body. Extracted from Ice Peppers."
reagent_state = LIQUID
color = "#B31008" // rgb: 139, 166, 233
@@ -2126,7 +2126,7 @@ datum
hot_coco
name = "Hot Chocolate"
id = "hot_coco"
description = "Made with love! And coco beans."
description = "Made with love! And cocoa beans."
reagent_state = LIQUID
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#403010" // rgb: 64, 48, 16
@@ -2519,7 +2519,7 @@ datum
drink/hot_coco
name = "Hot Chocolate"
id = "hot_coco"
description = "Made with love! And coco beans."
description = "Made with love! And cocoa beans."
nutriment_factor = 2 * FOOD_METABOLISM
color = "#403010" // rgb: 64, 48, 16
adj_temp = 5
@@ -2694,7 +2694,7 @@ datum
drink/cold/brownstar
name = "Brown Star"
description = "Its not what it sounds like..."
description = "It's not what it sounds like..."
id = "brownstar"
color = "#9F3400" // rgb: 159, 052, 000
adj_temp = - 2
@@ -2732,7 +2732,7 @@ datum
drink/cold/rewriter
name = "Rewriter"
description = "The secert of the sanctuary of the Libarian..."
description = "The secret of the sanctuary of the Libarian..."
id = "rewriter"
color = "#485000" // rgb:72, 080, 0
@@ -2838,7 +2838,7 @@ datum
return
hippies_delight
name = "Hippie's Delight"
name = "Hippies' Delight"
id = "hippiesdelight"
description = "You just don't get it maaaan."
reagent_state = LIQUID
@@ -2945,12 +2945,12 @@ datum
if(istype(O,/obj/item/weapon/paper))
var/obj/item/weapon/paper/paperaffected = O
paperaffected.clearpaper()
usr << "The solution melts away the ink on the paper."
usr << "The solution dissolves the ink on the paper."
if(istype(O,/obj/item/weapon/book))
if(volume >= 5)
var/obj/item/weapon/book/affectedbook = O
affectedbook.dat = null
usr << "The solution melts away the ink on the book."
usr << "The solution dissolves the ink on the book."
else
usr << "It wasn't enough..."
return
@@ -3229,7 +3229,7 @@ datum
ethanol/cuba_libre
name = "Cuba Libre"
id = "cubalibre"
description = "Rum, mixed with cola. Viva la revolution."
description = "Rum, mixed with cola. Viva la revolucion."
color = "#3E1B00" // rgb: 62, 27, 0
boozepwr = 1.5
@@ -3299,7 +3299,7 @@ datum
ethanol/toxins_special
name = "Toxins Special"
id = "toxinsspecial"
description = "This thing is ON FIRE!. CALL THE DAMN SHUTTLE!"
description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!"
reagent_state = LIQUID
color = "#664300" // rgb: 102, 67, 0
boozepwr = 5
@@ -3516,14 +3516,14 @@ datum
ethanol/red_mead
name = "Red Mead"
id = "red_mead"
description = "The true Viking drink! Even though it has a strange red color."
description = "The true Viking's drink! Even though it has a strange red color."
color = "#C73C00" // rgb: 199, 60, 0
boozepwr = 1.5
ethanol/mead
name = "Mead"
id = "mead"
description = "A Vikings drink, though a cheap one."
description = "A Viking's drink, though a cheap one."
reagent_state = LIQUID
color = "#664300" // rgb: 102, 67, 0
boozepwr = 1.5
@@ -3560,7 +3560,7 @@ datum
ethanol/andalusia
name = "Andalusia"
id = "andalusia"
description = "A nice, strange named drink."
description = "A nice, strangely named drink."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 3
@@ -3612,7 +3612,7 @@ datum
ethanol/erikasurprise
name = "Erika Surprise"
id = "erikasurprise"
description = "The surprise is, it's green!"
description = "The surprise is it's green!"
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 3
+4 -4
View File
@@ -252,7 +252,7 @@ datum
name = "Dexalin"
id = "dexalin"
result = "dexalin"
required_reagents = list("oxygen" = 2)
required_reagents = list("oxygen" = 2, "plasma" = 0.1)
required_catalysts = list("plasma" = 5)
result_amount = 1
@@ -302,7 +302,7 @@ datum
name = "Clonexadone"
id = "clonexadone"
result = "clonexadone"
required_reagents = list("cryoxadone" = 1, "sodium" = 1)
required_reagents = list("cryoxadone" = 1, "sodium" = 1, "plasma" = 0.1)
required_catalysts = list("plasma" = 5)
result_amount = 2
@@ -514,7 +514,7 @@ datum
id = "mindbreaker"
result = "mindbreaker"
required_reagents = list("silicon" = 1, "hydrogen" = 1, "anti_toxin" = 1)
result_amount = 5
result_amount = 3
lipozine
name = "Lipozine"
@@ -1835,7 +1835,7 @@ datum
required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1)
result_amount = 3
grapesoda //Allows Grape Soda to be made
grapesoda
name = "Grape Soda"
id = "grapesoda"
result = "grapesoda"
@@ -138,7 +138,7 @@
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle
name = "Bottled Water"
desc = "Introduced to the vending machines on health nut protest, taste fresh, pure glacial* water! *Note: Might be tapwater."
desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles."
icon_state = "waterbottle"
New()
..()
@@ -148,7 +148,7 @@
/obj/item/weapon/reagent_containers/food/drinks/cans/beer
name = "Space Beer"
desc = "Beer. In space."
desc = "Contains only water, malt and hops."
icon_state = "beer"
New()
..()
@@ -180,7 +180,7 @@
/obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko
name = "Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsably."
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
New()
..()
@@ -231,7 +231,7 @@
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea
name = "Vrisk Serket Iced Tea"
desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth? Whatever!!!!!!!!"
desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth?"
icon_state = "ice_tea_can"
New()
..()
@@ -259,7 +259,7 @@
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater
name = "Soda Water"
desc = "A can of soda water. Why not make a scotch and soda?"
desc = "A can of soda water. Still water's more refreshing cousin."
icon_state = "sodawater"
New()
..()
@@ -292,12 +292,12 @@
/obj/item/weapon/reagent_containers/food/drinks/flask/vacuumflask
name = "vacuum flask"
desc = "Keeping your drinks at the perfect temperature since 2321."
desc = "Keeping your drinks at the perfect temperature since 1892."
icon_state = "vacuumflask"
volume = 60
/obj/item/weapon/reagent_containers/food/drinks/britcup
name = "cup"
desc = "A cup with the british flag emblazoned on it."
desc = "A cup with the British flag emblazoned on it."
icon_state = "britcup"
volume = 30
@@ -7,48 +7,42 @@ datum
id = "tungsten"
description = "A chemical element, and a strong oxidising agent."
reagent_state = SOLID
color = "#808080" // rgb: 128, 128, 128
//todo: make this silvery grey
color = "#DCDCDC" // rgb: 220, 220, 220, silver
lithiumsodiumtungstate
name = "Lithium Sodium Tungstate"
id = "lithiumsodiumtungstate"
description = "A reducing agent for geological compounds."
reagent_state = LIQUID
color = "#808080" // rgb: 128, 128, 128
//todo: make this silvery grey
color = "#C0C0C0" // rgb: 192, 192, 192, darker silver
ground_rock
name = "Ground Rock"
id = "ground_rock"
description = "A fine dust made of ground up rock."
reagent_state = SOLID
color = "#C81040" //rgb: 200, 16, 64
//todo: make this brown
color = "#A0522D" //rgb: 160, 82, 45, brown
density_separated_sample
name = "Density separated sample"
id = "density_separated_sample"
description = "A watery paste used in chemical analysis, there are some chunks floating in it."
reagent_state = LIQUID
color = "#C81040" //rgb: 200, 16, 64
//todo: make this browny-white
color = "#DEB887" //rgb: 222, 184, 135, light brown
analysis_sample
name = "Analysis liquid"
id = "analysis_sample"
description = "A watery paste used in chemical analysis."
reagent_state = LIQUID
color = "#C81040" //rgb: 200, 16, 64
//todo: make this white
color = "#F5FFFA" //rgb: 245, 255, 250, almost white
chemical_waste
name = "Chemical Waste"
id = "chemical_waste"
description = "A viscous, toxic liquid left over from many chemical processes."
reagent_state = LIQUID
color = "#C81040" //rgb: 200, 16, 64
//todo: make this fluoro/bright green
color = "#ADFF2F" //rgb: 173, 255, 47, toxic green
datum
chemical_reaction
+1 -31
View File
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+24 -41
View File
@@ -71,9 +71,9 @@ NanoUpdate = function ()
// We store initialData and templateData in the body tag, it's as good a place as any
var body = $('body');
var templateData = body.data('templateData');
_data = body.data('initialData');
var initialData = body.data('initialData');
if (!templateData || !_data)
if (!templateData || !initialData)
{
alert('Error: Initial data did not load correctly.');
}
@@ -88,36 +88,40 @@ NanoUpdate = function ()
}
}
// load each template file and render it using _data
// load markup for each template and register it
for (var key in templateData)
{
if (templateData.hasOwnProperty(key))
{
$.when($.get(templateData[key]))
.done(function(templateData) {
.done(function(templateMarkup) {
if (_templates == null)
{
_templates = {};
}
templateData += '<div class="clearBoth"></div>'
templateMarkup = templateMarkup.replace(/ +\) *\}\}/g, ')}}');
templateMarkup += '<div class="clearBoth"></div>'
try
{
_templates[key] = $.templates(templateData);
_templates[key].link( "#mainTemplate", _data ); // initial data gets applied first, before any updates
_templates[key] = $.templates(key, templateMarkup);
templateCount--;
if (templateCount <= 0)
{
if (_earlyUpdateData !== null) // Newer data has already arrived, so update
{
renderTemplates(_earlyUpdateData);
}
else
{
renderTemplates(initialData);
}
_isInitialised = true;
}
if (_earlyUpdateData !== null) // Newer data has already arrived, so update
{
observedDataUpdateRecursive(_earlyUpdateData, _data);
}
executeCallbacks(_afterUpdateCallbacks, _data);
@@ -149,50 +153,29 @@ NanoUpdate = function ()
}
if (_isInitialised) // templates have been loaded and are observing the data. We need to update it recursively
if (_isInitialised) // all templates have been registered, so render them
{
executeCallbacks(_beforeUpdateCallbacks, updateData);
observedDataUpdateRecursive(updateData, _data);
renderTemplates(updateData);
executeCallbacks(_afterUpdateCallbacks, updateData);
}
else
{
_earlyUpdateData = updateData; // templates have not been loaded, therefor they are not observing the data. We set _earlyUpdateData which will be applied after the template is loaded with the initial data
_earlyUpdateData = updateData; // all templates have not been registered. We set _earlyUpdateData which will be applied after the template is loaded with the initial data
}
}
// This function updates the observed data recursively
// This function renders the template with the latest data
// It has to be done recursively as each piece of data is observed individually and needs to be updated individually
var observedDataUpdateRecursive = function (updateData, data, path)
var renderTemplates = function (data)
{
if (path === null || typeof path === 'undefined')
{
path = '';
}
else
{
path += '.';
}
for (var key in updateData)
{
if (updateData.hasOwnProperty(key))
{
var currentPath = path + key;
if (updateData[key] != null && typeof updateData[key] === 'object' && !$.isArray(updateData[key]))
{
observedDataUpdateRecursive(updateData[key], data, currentPath)
}
else
{
$.observable(data).setProperty(currentPath, updateData[key]);
}
}
}
_data = data;
$("#mainTemplate").html(_templates["main"].render(_data));
}
// execute all callbacks in the callbacks array/object provided, updateData is passed to them for processing
// Execute all callbacks in the callbacks array/object provided, updateData is passed to them for processing
var executeCallbacks = function (callbacks, updateData)
{
for (var index in callbacks)
+17 -17
View File
@@ -7,7 +7,7 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
Energy:
</div>
<div class="itemContent">
{^{:~displayBar(energy, 0, maxEnergy, 'good', energy + ' Units')}}
{{:~displayBar(energy, 0, maxEnergy, 'good', energy + ' Units')}}
</div>
</div>
@@ -16,17 +16,17 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
Dispense:
</div>
<div class="itemContent">
{^{:~link('5', 'gear', {'amount' : 5}, (amount == 5) ? 'selected' : null)}}
{^{:~link('10', 'gear', {'amount' : 10}, (amount == 10) ? 'selected' : null)}}
{^{:~link('20', 'gear', {'amount' : 20}, (amount == 20) ? 'selected' : null)}}
{^{:~link('30', 'gear', {'amount' : 30}, (amount == 30) ? 'selected' : null)}}
{^{:~link('50', 'gear', {'amount' : 50}, (amount == 50) ? 'selected' : null)}}
{{:~link('5', 'gear', {'amount' : 5}, (amount == 5) ? 'selected' : null)}}
{{:~link('10', 'gear', {'amount' : 10}, (amount == 10) ? 'selected' : null)}}
{{:~link('20', 'gear', {'amount' : 20}, (amount == 20) ? 'selected' : null)}}
{{:~link('30', 'gear', {'amount' : 30}, (amount == 30) ? 'selected' : null)}}
{{:~link('50', 'gear', {'amount' : 50}, (amount == 50) ? 'selected' : null)}}
</div>
</div>
<div class="item">&nbsp;</div>
<div class="item">
<div class="itemLabel" style="width: 100%;">
{^{if glass}}
{{if glass}}
Drink Dispenser
{{else}}
Chemical Dispenser
@@ -35,8 +35,8 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
</div>
<div class="item">
<div class="itemContentWide" style="width: 100%;">
{^{for chemicals}}
{^{:~link(title, 'circle-arrow-s', commands, null, ~root.glass ? 'fixedLeftWide' : 'fixedLeft' )}}
{{for chemicals}}
{{:~link(title, 'circle-arrow-s', commands, null, ~root.glass ? 'fixedLeftWide' : 'fixedLeft')}}
{{/for}}
</div>
@@ -44,26 +44,26 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
<div class="item">&nbsp;</div>
<div class="item">
<div class="itemLabel">
{^{if glass}}
{{if glass}}
Glass
{{else}}
Beaker
{{/if}} Contents
</div>
<div class="itemContent">
{^{:~link(glass ? 'Eject Glass' : 'Eject Beaker', 'eject', {'ejectBeaker' : 1}, isBeakerLoaded ? null : 'disabled', 'floatRight')}}
{{:~link(glass ? 'Eject Glass' : 'Eject Beaker', 'eject', {'ejectBeaker' : 1}, isBeakerLoaded ? null : 'disabled', 'floatRight')}}
</div>
</div>
<div class="statusDisplay" style="height: 225px; overflow: auto;">
<div class="item">
<div class="itemContent" style="width: 100%;">
{^{if isBeakerLoaded}}
<b>Volume:&nbsp;{^{:beakerCurrentVolume}}&nbsp;/&nbsp;{^{:beakerMaxVolume}}</b><br>
{^{for beakerContents}}
<span class="highlight">{^{:volume}} units of {^{:name}}</span><br>
{{if isBeakerLoaded}}
<b>Volume:&nbsp;{{:beakerCurrentVolume}}&nbsp;/&nbsp;{{:beakerMaxVolume}}</b><br>
{{for beakerContents}}
<span class="highlight">{{:volume}} units of {{:name}}</span><br>
{{else}}
<span class="bad">
{^{if glass}}
{{if glass}}
Glass
{{else}}
Beaker
@@ -72,7 +72,7 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
{{/for}}
{{else}}
<span class="average"><i>No
{^{if glass}}
{{if glass}}
Glass
{{else}}
Beaker
+24 -24
View File
@@ -5,12 +5,12 @@ Used In File(s): \code\game\machinery\cryo.dm
<h3>Cryo Cell Status</h3>
<div class="statusDisplay">
{^{if !hasOccupant}}
{{if !hasOccupant}}
<div class="line">Cell Unoccupied</div>
{{else}}
<div class="line">
{^{:occupant.name}}&nbsp;=>&nbsp;
{^{if occupant.stat == 0}}
{{:occupant.name}}&nbsp;=>&nbsp;
{{if occupant.stat == 0}}
<span class="good">Conscious</span>
{{else occupant.stat == 1}}
<span class="average">Unconscious</span>
@@ -19,45 +19,45 @@ Used In File(s): \code\game\machinery\cryo.dm
{{/if}}
</div>
{^{if occupant.stat < 2}}
{{if occupant.stat < 2}}
<div class="line">
<div class="statusLabel">Health:</div>
{^{if occupant.health >= 0}}
{^{:~displayBar(occupant.health, 0, occupant.maxHealth, 'good')}}
{{if occupant.health >= 0}}
{{:~displayBar(occupant.health, 0, occupant.maxHealth, 'good')}}
{{else}}
{^{:~displayBar(occupant.health, 0, occupant.minHealth, 'average alignRight')}}
{{:~displayBar(occupant.health, 0, occupant.minHealth, 'average alignRight')}}
{{/if}}
<div class="statusValue">{^{:~round(occupant.health)}}</div>
<div class="statusValue">{{:~round(occupant.health)}}</div>
</div>
<div class="line">
<div class="statusLabel">=&gt; Brute Damage:</div>
{^{:~displayBar(occupant.bruteLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{^{:~round(occupant.bruteLoss)}}</div>
{{:~displayBar(occupant.bruteLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{{:~round(occupant.bruteLoss)}}</div>
</div>
<div class="line">
<div class="statusLabel">=&gt; Resp. Damage:</div>
{^{:~displayBar(occupant.oxyLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{^{:~round(occupant.oxyLoss)}}</div>
{{:~displayBar(occupant.oxyLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{{:~round(occupant.oxyLoss)}}</div>
</div>
<div class="line">
<div class="statusLabel">=&gt; Toxin Damage:</div>
{^{:~displayBar(occupant.toxLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{^{:~round(occupant.toxLoss)}}</div>
{{:~displayBar(occupant.toxLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{{:~round(occupant.toxLoss)}}</div>
</div>
<div class="line">
<div class="statusLabel">=&gt; Burn Severity:</div>
{^{:~displayBar(occupant.fireLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{^{:~round(occupant.fireLoss)}}</div>
{{:~displayBar(occupant.fireLoss, 0, occupant.maxHealth, 'bad')}}
<div class="statusValue">{{:~round(occupant.fireLoss)}}</div>
</div>
{{/if}}
{{/if}}
<hr>
<div class="line"><div class="statusLabel">Cell Temperature:</div><div class="statusValue">
{^{:~string('<span class="{0}">{1} K</span>', cellTemperatureStatus, cellTemperature)}}
{{:~string('<span class="{0}">{1} K</span>', cellTemperatureStatus, cellTemperature)}}
</div></div>
</div>
@@ -67,10 +67,10 @@ Used In File(s): \code\game\machinery\cryo.dm
Cryo Cell Status:
</div>
<div class="itemContent" style="width: 40%;">
{^{:~link('On', 'power', {'switchOn' : 1}, isOperating ? 'selected' : null)}}{^{:~link('Off', 'close', {'switchOff' : 1}, isOperating ? null : 'selected')}}
{{:~link('On', 'power', {'switchOn' : 1}, isOperating ? 'selected' : null)}}{{:~link('Off', 'close', {'switchOff' : 1}, isOperating ? null : 'selected')}}
</div>
<div class="itemContent" style="width: 26%;">
{^{:~link('Eject Occupant', 'arrowreturnthick-1-s', {'ejectOccupant' : 1}, hasOccupant ? null : 'disabled')}}
{{:~link('Eject Occupant', 'arrowreturnthick-1-s', {'ejectOccupant' : 1}, hasOccupant ? null : 'disabled')}}
</div>
</div>
<div class="item">&nbsp;</div>
@@ -79,10 +79,10 @@ Used In File(s): \code\game\machinery\cryo.dm
Beaker:
</div>
<div class="itemContent" style="width: 40%;">
{^{if isBeakerLoaded}}
{^{:beakerLabel ? beakerLabel : '<span class="average">No label</span>'}}<br>
{^{if beakerVolume}}
<span class="highlight">{^{:beakerVolume}} units remaining</span><br>
{{if isBeakerLoaded}}
{{:beakerLabel ? beakerLabel : '<span class="average">No label</span>'}}<br>
{{if beakerVolume}}
<span class="highlight">{{:beakerVolume}} units remaining</span><br>
{{else}}
<span class="bad">Beaker is empty</span>
{{/if}}
@@ -91,6 +91,6 @@ Used In File(s): \code\game\machinery\cryo.dm
{{/if}}
</div>
<div class="itemContent" style="width: 26%;">
{^{:~link('Eject Beaker', 'eject', {'ejectBeaker' : 1}, isBeakerLoaded ? null : 'disabled')}}
{{:~link('Eject Beaker', 'eject', {'ejectBeaker' : 1}, isBeakerLoaded ? null : 'disabled')}}
</div>
</div>
+71 -71
View File
@@ -5,12 +5,12 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
<h3>Status</h3>
<div class="statusDisplay">
{^{if !hasOccupant}}
{{if !hasOccupant}}
<div class="line">Cell Unoccupied</div>
{{else}}
<div class="line">
{^{:occupant.name}}&nbsp;=>&nbsp;
{^{if occupant.stat == 0}}
{{:occupant.name}}&nbsp;=>&nbsp;
{{if occupant.stat == 0}}
<span class="good">Conscious</span>
{{else occupant.stat == 1}}
<span class="average">Unconscious</span>
@@ -19,40 +19,40 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
{{/if}}
</div>
{^{if !occupant.isViableSubject || !occupant.uniqueIdentity || !occupant.structuralEnzymes}}
{{if !occupant.isViableSubject || !occupant.uniqueIdentity || !occupant.structuralEnzymes}}
<div class="notice">
The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure.
</div>
{{else occupant.stat < 2}}
<div class="line">
<div class="statusLabel">Health:</div>
{^{if occupant.health >= 0}}
{^{:~displayBar(occupant.health, 0, occupant.maxHealth, 'good')}}
{{if occupant.health >= 0}}
{{:~displayBar(occupant.health, 0, occupant.maxHealth, 'good')}}
{{else}}
{^{:~displayBar(occupant.health, 0, occupant.minHealth, 'average alignRight')}}
{{:~displayBar(occupant.health, 0, occupant.minHealth, 'average alignRight')}}
{{/if}}
<div class="statusValue">{^{:~round(occupant.health)}}</div>
<div class="statusValue">{{:~round(occupant.health)}}</div>
</div>
<div class="line">
<div class="statusLabel">Radiation:</div>
{^{:~displayBar(occupant.radiationLevel, 0, 100, 'average')}}
<div class="statusValue">{^{:~round(occupant.radiationLevel)}}</div>
{{:~displayBar(occupant.radiationLevel, 0, 100, 'average')}}
<div class="statusValue">{{:~round(occupant.radiationLevel)}}</div>
</div>
<div class="line">
<div class="statusLabel">Unique Enzymes:</div>
<div class="statusValue">{^{:occupant.uniqueEnzymes ? occupant.uniqueEnzymes : '<span class="bad">Unknown</span>'}}</div>
<div class="statusValue">{{:occupant.uniqueEnzymes ? occupant.uniqueEnzymes : '<span class="bad">Unknown</span>'}}</div>
</div>
<!--<div class="line">
<div class="statusLabel"><small>Unique Identifier:</small></div>
<div class="statusValue"><small>{^{:occupant.uniqueIdentity}}</small></div>
<div class="statusValue"><small>{{:occupant.uniqueIdentity}}</small></div>
</div>
<div class="line">
<div class="statusLabel"><small>Structural Enzymes:</small></div>
<div class="statusValue"><small>{^{:occupant.structuralEnzymes}}</small></div>
<div class="statusValue"><small>{{:occupant.structuralEnzymes}}</small></div>
</div>-->
{{/if}}
{{/if}}
@@ -61,45 +61,45 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
<h3>Operations</h3>
<div class="item">
{^{:~link('Modify U.I.', 'link', {'selectMenuKey' : 'ui'}, selectedMenuKey == 'ui' ? 'selected' : null)}}
{^{:~link('Modify S.E.', 'link', {'selectMenuKey' : 'se'}, selectedMenuKey == 'se' ? 'selected' : null)}}
{^{:~link('Transfer Buffers', 'disk', {'selectMenuKey' : 'buffer'}, selectedMenuKey == 'buffer' ? 'selected' : null)}}
{^{:~link('Rejuvenators', 'plusthick', {'selectMenuKey' : 'rejuvenators'}, selectedMenuKey == 'rejuvenators' ? 'selected' : null)}}
{{:~link('Modify U.I.', 'link', {'selectMenuKey' : 'ui'}, selectedMenuKey == 'ui' ? 'selected' : null)}}
{{:~link('Modify S.E.', 'link', {'selectMenuKey' : 'se'}, selectedMenuKey == 'se' ? 'selected' : null)}}
{{:~link('Transfer Buffers', 'disk', {'selectMenuKey' : 'buffer'}, selectedMenuKey == 'buffer' ? 'selected' : null)}}
{{:~link('Rejuvenators', 'plusthick', {'selectMenuKey' : 'rejuvenators'}, selectedMenuKey == 'rejuvenators' ? 'selected' : null)}}
</div>
<div class="item">&nbsp;</div>
{^{if !selectedMenuKey || selectedMenuKey == 'ui'}}
{{if !selectedMenuKey || selectedMenuKey == 'ui'}}
<h3>Modify Unique Identifier</h3>
{^{:~displayDNABlocks(occupant.uniqueIdentity, selectedUIBlock, selectedUISubBlock, dnaBlockSize, 'UI')}}
{{:~displayDNABlocks(occupant.uniqueIdentity, selectedUIBlock, selectedUISubBlock, dnaBlockSize, 'UI')}}
<div class="clearBoth"></div>
<div class="item">
<div class="itemLabelNarrow">
Target:
</div>
<div class="itemContentWide">
{^{:~link('-', null, {'changeUITarget' : 0}, selectedUITarget > 0 ? null : 'disabled')}}
<div class="statusValue">&nbsp;{^{:selectedUITargetHex}}&nbsp;</div>
{^{:~link('+', null, {'changeUITarget' : 1}, selectedUITarget < 15 ? null : 'disabled')}}
{{:~link('-', null, {'changeUITarget' : 0}, selectedUITarget > 0 ? null : 'disabled')}}
<div class="statusValue">&nbsp;{{:selectedUITargetHex}}&nbsp;</div>
{{:~link('+', null, {'changeUITarget' : 1}, selectedUITarget < 15 ? null : 'disabled')}}
</div>
</div>
<div class="item">
<div class="itemContentWide">
{^{:~link('Irradiate Block', 'radiation', {'pulseUIRadiation' : 1}, !occupant.isViableSubject ? 'disabled' : null)}}
{{:~link('Irradiate Block', 'radiation', {'pulseUIRadiation' : 1}, !occupant.isViableSubject ? 'disabled' : null)}}
</div>
</div>
{{else selectedMenuKey == 'se'}}
<h3>Modify Structural Enzymes</h3>
{^{:~displayDNABlocks(occupant.structuralEnzymes, selectedSEBlock, selectedSESubBlock, dnaBlockSize, 'SE')}}
{{:~displayDNABlocks(occupant.structuralEnzymes, selectedSEBlock, selectedSESubBlock, dnaBlockSize, 'SE')}}
<div class="clearBoth"></div>
<div class="item">
<div class="itemContentWide">
{^{:~link('Irradiate Block', 'radiation', {'pulseSERadiation' : 1}, !occupant.isViableSubject ? 'disabled' : null)}}
{{:~link('Irradiate Block', 'radiation', {'pulseSERadiation' : 1}, !occupant.isViableSubject ? 'disabled' : null)}}
</div>
</div>
{{else selectedMenuKey == 'buffer'}}
<h3>Transfer Buffers</h3>
{^{for buffers}}
{{for buffers}}
<h4>Buffer {{:#index + 1}}</h4>
<div class="itemGroup">
<div class="item">
@@ -107,19 +107,19 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Load Data:
</div>
<div class="itemContentWide">
{^{:~link('Subject U.I.', 'link', {'bufferOption' : 'saveUI', 'bufferId' : (#index + 1)}, !~root.hasOccupant ? 'disabled' : null)}}
{^{:~link('Subject U.I. + U.E.', 'link', {'bufferOption' : 'saveUIAndUE', 'bufferId' : (#index + 1)}, !~root.hasOccupant ? 'disabled' : null)}}
{^{:~link('Subject S.E.', 'link', {'bufferOption' : 'saveSE', 'bufferId' : (#index + 1)}, !~root.hasOccupant ? 'disabled' : null)}}
{^{:~link('From Disk', 'disk', {'bufferOption' : 'loadDisk', 'bufferId' : (#index + 1)}, !~root.hasDisk || !~root.disk.data ? 'disabled' : null)}}
{{:~link('Subject U.I.', 'link', {'bufferOption' : 'saveUI', 'bufferId' : (#index + 1)}, !~root.hasOccupant ? 'disabled' : null)}}
{{:~link('Subject U.I. + U.E.', 'link', {'bufferOption' : 'saveUIAndUE', 'bufferId' : (#index + 1)}, !~root.hasOccupant ? 'disabled' : null)}}
{{:~link('Subject S.E.', 'link', {'bufferOption' : 'saveSE', 'bufferId' : (#index + 1)}, !~root.hasOccupant ? 'disabled' : null)}}
{{:~link('From Disk', 'disk', {'bufferOption' : 'loadDisk', 'bufferId' : (#index + 1)}, !~root.hasDisk || !~root.disk.data ? 'disabled' : null)}}
</div>
</div>
{^{if data}}
{{if data}}
<div class="item">
<div class="itemLabelNarrow">
Label:
</div>
<div class="itemContentWide">
{^{:~link(label, 'document-b', {'bufferOption' : 'changeLabel', 'bufferId' : (#parent.index + 1)})}}
{{:~link(label, 'document-b', {'bufferOption' : 'changeLabel', 'bufferId' : (#parent.index + 1)})}}
</div>
</div>
<div class="item">
@@ -127,7 +127,7 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Subject:
</div>
<div class="itemContentWide">
{^{:owner ? owner : '<span class="average">Unknown</span>'}}
{{:owner ? owner : '<span class="average">Unknown</span>'}}
</div>
</div>
<div class="item">
@@ -135,8 +135,8 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Stored Data:
</div>
<div class="itemContentWide">
{^{:data == 'ui' ? 'Unique Identifiers' : 'Structural Enzymes'}}
{^{:ue ? ' + Unique Enzymes' : ''}}
{{:data == 'ui' ? 'Unique Identifiers' : 'Structural Enzymes'}}
{{:ue ? ' + Unique Enzymes' : ''}}
</div>
</div>
{{else}}
@@ -151,11 +151,11 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Options:
</div>
<div class="itemContentWide">
{^{:~link('Clear', 'trash', {'bufferOption' : 'clear', 'bufferId' : (#index + 1)}, !data ? 'disabled' : null)}}
{^{:~link('Injector', ~root.isInjectorReady ? 'pencil' : 'clock', {'bufferOption' : 'createInjector', 'bufferId' : (#index + 1)}, !~root.isInjectorReady || !data ? 'disabled' : null)}}
{^{:~link('Block Injector', ~root.isInjectorReady ? 'pencil' : 'clock', {'bufferOption' : 'createInjector', 'bufferId' : (#index + 1), 'createBlockInjector' : 1}, !~root.isInjectorReady || !data ? 'disabled' : null)}}
{^{:~link('Transfer', 'radiation', {'bufferOption' : 'transfer', 'bufferId' : (#index + 1)}, !~root.hasOccupant || !data ? 'disabled' : null)}}
{^{:~link('Save To Disk', 'disk', {'bufferOption' : 'saveDisk', 'bufferId' : (#index + 1)}, !data || !~root.hasDisk ? 'disabled' : null)}}
{{:~link('Clear', 'trash', {'bufferOption' : 'clear', 'bufferId' : (#index + 1)}, !data ? 'disabled' : null)}}
{{:~link('Injector', ~root.isInjectorReady ? 'pencil' : 'clock', {'bufferOption' : 'createInjector', 'bufferId' : (#index + 1)}, !~root.isInjectorReady || !data ? 'disabled' : null)}}
{{:~link('Block Injector', ~root.isInjectorReady ? 'pencil' : 'clock', {'bufferOption' : 'createInjector', 'bufferId' : (#index + 1), 'createBlockInjector' : 1}, !~root.isInjectorReady || !data ? 'disabled' : null)}}
{{:~link('Transfer', 'radiation', {'bufferOption' : 'transfer', 'bufferId' : (#index + 1)}, !~root.hasOccupant || !data ? 'disabled' : null)}}
{{:~link('Save To Disk', 'disk', {'bufferOption' : 'saveDisk', 'bufferId' : (#index + 1)}, !data || !~root.hasDisk ? 'disabled' : null)}}
</div>
</div>
</div>
@@ -163,14 +163,14 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
<h4>Data Disk</h4>
<div class="itemGroup">
{^{if hasDisk}}
{^{if disk.data}}
{{if hasDisk}}
{{if disk.data}}
<div class="item">
<div class="itemLabelNarrow">
Label:
</div>
<div class="itemContentWide">
{^{:disk.label ? disk.label : 'No Label'}}
{{:disk.label ? disk.label : 'No Label'}}
</div>
</div>
<div class="item">
@@ -178,7 +178,7 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Subject:
</div>
<div class="itemContentWide">
{^{:disk.owner ? disk.owner : '<span class="average">Unknown</span>'}}
{{:disk.owner ? disk.owner : '<span class="average">Unknown</span>'}}
</div>
</div>
<div class="item">
@@ -186,8 +186,8 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Stored Data:
</div>
<div class="itemContentWide">
{^{:disk.data == 'ui' ? 'Unique Identifiers' : 'Structural Enzymes'}}
{^{:disk.ue ? ' + Unique Enzymes' : ''}}
{{:disk.data == 'ui' ? 'Unique Identifiers' : 'Structural Enzymes'}}
{{:disk.ue ? ' + Unique Enzymes' : ''}}
</div>
</div>
{{else}}
@@ -209,8 +209,8 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Options:
</div>
<div class="itemContentWide">
{^{:~link('Wipe Disk', 'trash', {'bufferOption' : 'wipeDisk'}, !hasDisk || !disk.data ? 'disabled' : null)}}
{^{:~link('Eject Disk', 'eject', {'bufferOption' : 'ejectDisk'}, !hasDisk ? 'disabled' : null)}}
{{:~link('Wipe Disk', 'trash', {'bufferOption' : 'wipeDisk'}, !hasDisk || !disk.data ? 'disabled' : null)}}
{{:~link('Eject Disk', 'eject', {'bufferOption' : 'ejectDisk'}, !hasDisk ? 'disabled' : null)}}
</div>
</div>
</div>
@@ -221,11 +221,11 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Inject:
</div>
<div class="itemContentWide">
{^{:~link('5', 'pencil', {'injectRejuvenators' : 5}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{^{:~link('10', 'pencil', {'injectRejuvenators' : 10}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{^{:~link('20', 'pencil', {'injectRejuvenators' : 20}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{^{:~link('30', 'pencil', {'injectRejuvenators' : 30}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{^{:~link('50', 'pencil', {'injectRejuvenators' : 50}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{{:~link('5', 'pencil', {'injectRejuvenators' : 5}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{{:~link('10', 'pencil', {'injectRejuvenators' : 10}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{{:~link('20', 'pencil', {'injectRejuvenators' : 20}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{{:~link('30', 'pencil', {'injectRejuvenators' : 30}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
{{:~link('50', 'pencil', {'injectRejuvenators' : 50}, !hasOccupant || !beakerVolume ? 'disabled' : null)}}
</div>
</div>
<div class="item">&nbsp;</div>
@@ -234,10 +234,10 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Beaker:
</div>
<div class="itemContentWide" style="width: 40%;">
{^{if isBeakerLoaded}}
{^{:beakerLabel ? beakerLabel : '<span class="average">No label</span>'}}<br>
{^{if beakerVolume}}
<span class="highlight">{^{:beakerVolume}} units remaining</span><br>
{{if isBeakerLoaded}}
{{:beakerLabel ? beakerLabel : '<span class="average">No label</span>'}}<br>
{{if beakerVolume}}
<span class="highlight">{{:beakerVolume}} units remaining</span><br>
{{else}}
<span class="bad">Beaker is empty</span>
{{/if}}
@@ -246,23 +246,23 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
{{/if}}
</div>
<div class="itemContentWide" style="width: 26%;">
{^{:~link('Eject Beaker', 'eject', {'ejectBeaker' : 1}, isBeakerLoaded ? null : 'disabled')}}
{{:~link('Eject Beaker', 'eject', {'ejectBeaker' : 1}, isBeakerLoaded ? null : 'disabled')}}
</div>
</div>
{{/if}}
<div class="item">&nbsp;</div>
{^{if !selectedMenuKey || selectedMenuKey == 'ui' || selectedMenuKey == 'se'}}
{{if !selectedMenuKey || selectedMenuKey == 'ui' || selectedMenuKey == 'se'}}
<h3>Radiation Emitter Settings</h3>
<div class="item">
<div class="itemLabelNarrow">
Intensity:
</div>
<div class="itemContentWide">
{^{:~link('-', null, {'radiationIntensity' : 0}, radiationIntensity > 1 ? null : 'disabled')}}
<div class="statusValue">&nbsp;{^{:radiationIntensity}}&nbsp;</div>
{^{:~link('+', null, {'radiationIntensity' : 1}, radiationIntensity < 10 ? null : 'disabled')}}
{{:~link('-', null, {'radiationIntensity' : 0}, radiationIntensity > 1 ? null : 'disabled')}}
<div class="statusValue">&nbsp;{{:radiationIntensity}}&nbsp;</div>
{{:~link('+', null, {'radiationIntensity' : 1}, radiationIntensity < 10 ? null : 'disabled')}}
</div>
</div>
<div class="item">
@@ -270,9 +270,9 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Duration:
</div>
<div class="itemContentWide">
{^{:~link('-', null, {'radiationDuration' : 0}, radiationDuration > 2 ? null : 'disabled')}}
<div class="statusValue">&nbsp;{^{:radiationDuration}}&nbsp;</div>
{^{:~link('+', null, {'radiationDuration' : 1}, radiationDuration < 20 ? null : 'disabled')}}
{{:~link('-', null, {'radiationDuration' : 0}, radiationDuration > 2 ? null : 'disabled')}}
<div class="statusValue">&nbsp;{{:radiationDuration}}&nbsp;</div>
{{:~link('+', null, {'radiationDuration' : 1}, radiationDuration < 20 ? null : 'disabled')}}
</div>
</div>
<div class="item">
@@ -280,7 +280,7 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
&nbsp;
</div>
<div class="itemContentWide">
{^{:~link('Pulse Radiation', 'radiation', {'pulseRadiation' : 1}, !hasOccupant ? 'disabled' : null)}}
{{:~link('Pulse Radiation', 'radiation', {'pulseRadiation' : 1}, !hasOccupant ? 'disabled' : null)}}
</div>
</div>
{{/if}}
@@ -294,7 +294,7 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Occupant:
</div>
<div class="itemContentWide">
{^{:~link('Eject Occupant', 'eject', {'ejectOccupant' : 1}, locked || !hasOccupant || irradiating ? 'disabled' : null)}}
{{:~link('Eject Occupant', 'eject', {'ejectOccupant' : 1}, locked || !hasOccupant || irradiating ? 'disabled' : null)}}
</div>
</div>
<div class="item">
@@ -302,16 +302,16 @@ Used In File(s): D:\Development\SS13-BS12\code\game\dna\dna_modifier.dm
Door Lock:
</div>
<div class="itemContentWide">
{^{:~link('Engaged', 'locked', {'toggleLock' : 1}, locked ? 'selected' : !hasOccupant ? 'disabled' : null)}}
{^{:~link('Disengaged', 'unlocked', {'toggleLock' : 1}, !locked ? 'selected' : irradiating ? 'disabled' : null)}}
{{:~link('Engaged', 'locked', {'toggleLock' : 1}, locked ? 'selected' : !hasOccupant ? 'disabled' : null)}}
{{:~link('Disengaged', 'unlocked', {'toggleLock' : 1}, !locked ? 'selected' : irradiating ? 'disabled' : null)}}
</div>
</div>
{^{if irradiating}}
{{if irradiating}}
<div class="mask">
<div class="maskContent">
<h1>Irradiating Subject</h1>
<h3>For {^{:irradiating}} seconds.</h3>
<h3>For {{:irradiating}} seconds.</h3>
</div>
</div>
{{/if}}
+49 -49
View File
@@ -6,10 +6,10 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<h3>Machine Status</h3>
<div class="item">
<div class="itemContent" style="width: 20%;">
{^{:~link(scanning ? 'Halt Scan' : 'Begin Scan', 'signal-diag', {'scanItem' : 1}, null)}}
{{:~link(scanning ? 'Halt Scan' : 'Begin Scan', 'signal-diag', {'scanItem' : 1}, null)}}
</div>
<div class="itemContent" style="width: 20%;">
{^{:~link('Eject item', 'eject', {'ejectItem' : 1}, (scanned_item && !scanning) ? null : 'disabled')}}
{{:~link('Eject item', 'eject', {'ejectItem' : 1}, (scanned_item && !scanning) ? null : 'disabled')}}
</div>
</div>
@@ -17,8 +17,8 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="line">
<div class="statusLabel">Item:</div>
<div class="statusValue">
{^{if scanned_item}}
<span class="good">{^{:scanned_item}}</span>
{{if scanned_item}}
<span class="good">{{:scanned_item}}</span>
{{else}}
<span class="bad">No item inserted</span>
{{/if}}
@@ -27,8 +27,8 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="line">
<div class="statusLabel">Heuristic analysis:</div>
<div class="statusValue">
{^{if scanned_item_desc}}
<span class="average">{^{:scanned_item_desc}}</span>
{{if scanned_item_desc}}
<span class="average">{{:scanned_item_desc}}</span>
{{/if}}
</div>
</div>
@@ -38,11 +38,11 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Scan progress:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(scan_progress, 0, 100, 'good')}}
{^{:scan_progress}} %
{{:~displayBar(scan_progress, 0, 100, 'good')}}
{{:scan_progress}} %
</div>
<div class="itemContent" style="width: 44%;">
{^{if scan_progress >= 100}}
{{if scan_progress >= 100}}
<span class="notice" style="width: 100%;">Scan completed successfully.</span>
{{/if}}
</div>
@@ -50,11 +50,11 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Vacuum seal integrity:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(scanner_seal_integrity, 0, 100, (scanner_seal_integrity < 66 ? (scanner_seal_integrity < 33 ? 'bad' : 'average') : 'good'))}}
{^{:scanner_seal_integrity}} %
{{:~displayBar(scanner_seal_integrity, 0, 100, (scanner_seal_integrity < 66 ? (scanner_seal_integrity < 33 ? 'bad' : 'average') : 'good'))}}
{{:scanner_seal_integrity}} %
</div>
<div class="itemContent" style="width: 44%;">
{^{if scanner_seal_integrity < 25}}
{{if scanner_seal_integrity < 25}}
<span class="notice">Warning! Vacuum seal breach will result in scan failure!</span>
{{/if}}
</div>
@@ -64,11 +64,11 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">MASER Efficiency:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(maser_efficiency, 1, 100, (maser_efficiency < 66 ? (maser_efficiency < 33 ? 'bad' : 'average') : 'good'))}}
{^{:maser_efficiency}} %
{{:~displayBar(maser_efficiency, 1, 100, (maser_efficiency < 66 ? (maser_efficiency < 33 ? 'bad' : 'average') : 'good'))}}
{{:maser_efficiency}} %
</div>
<div class="itemContent" style="width: 44%;">
{^{if maser_efficiency < 50}}
{{if maser_efficiency < 50}}
<span class="notice">Match wavelengths to progress the scan.</span>
{{/if}}
</div>
@@ -76,25 +76,25 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Optimal Wavelength:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(optimal_wavelength, 1, 10000, 'good')}}
{^{:optimal_wavelength}} MHz
{{:~displayBar(optimal_wavelength, 1, 10000, 'good')}}
{{:optimal_wavelength}} MHz
</div>
</div>
<div class="item">
<div class="itemLabel" style="width: 21%;">Current Wavelength:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(maser_wavelength, 1, 10000, 'good')}}
{^{:maser_wavelength}} MHz
{{:~displayBar(maser_wavelength, 1, 10000, 'good')}}
{{:maser_wavelength}} MHz
</div>
<div class="itemContent" style="text-align:left; width: 22%;">
{^{:~link('-2 KHz', null, {'maserWavelength' : -2}, null)}}
{^{:~link('-1 KHz', null, {'maserWavelength' : -1}, null)}}
{^{:~link('-0.5 KHz', null, {'maserWavelength' : -0.5}, null)}}
{{:~link('-2 KHz', null, {'maserWavelength' : -2}, null)}}
{{:~link('-1 KHz', null, {'maserWavelength' : -1}, null)}}
{{:~link('-0.5 KHz', null, {'maserWavelength' : -0.5}, null)}}
</div>
<div class="itemContent" style="text-align:right; width: 22%;">
{^{:~link('+0.5 KHz', null, {'maserWavelength' : 0.5}, null)}}
{^{:~link('+1 KHz', null, {'maserWavelength' : 1}, null)}}
{^{:~link('+2 KHz', null, {'maserWavelength' : 2}, null)}}
{{:~link('+0.5 KHz', null, {'maserWavelength' : 0.5}, null)}}
{{:~link('+1 KHz', null, {'maserWavelength' : 1}, null)}}
{{:~link('+2 KHz', null, {'maserWavelength' : 2}, null)}}
</div>
</div>
@@ -102,18 +102,18 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Centrifuge speed:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(scanner_rpm, 0, 1000, 'good')}}
{^{:scanner_rpm}} RPM
{{:~displayBar(scanner_rpm, 0, 1000, 'good')}}
{{:scanner_rpm}} RPM
</div>
</div>
<div class="item">
<div class="itemLabel" style="width: 21%;">Internal temperature:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(scanner_temperature, 0, 1273, (scanner_temperature > 250 ? (scanner_temperature > 1000 ? 'bad' : 'average') : 'good')))}}
{^{:scanner_temperature}} K
{{:~displayBar(scanner_temperature, 0, 1273, (scanner_temperature > 250 ? (scanner_temperature > 1000 ? 'bad' : 'average') : 'good')))}}
{{:scanner_temperature}} K
</div>
<div class="itemContent" style="width: 44%;">
{^{if scanner_temperature > 1000}}
{{if scanner_temperature > 1000}}
<span class="notice" style="width: 100%;">Warning! Exceeding 1200K will result in scan failure!</span>
{{/if}}
</div>
@@ -123,12 +123,12 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Ambient radiation:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(radiation, 0, 100, (radiation > 15 ? (radiation > 65 ? 'bad' : 'average') : 'good'))}}
{^{:radiation}} mSv
{{:~displayBar(radiation, 0, 100, (radiation > 15 ? (radiation > 65 ? 'bad' : 'average') : 'good'))}}
{{:radiation}} mSv
</div>
<div class="itemContent" style="width: 44%;">
{^{:~link(rad_shield_on ? 'Disable Radiation Shielding' : 'Enable Radiation Shielding', 'radiation', {'toggle_rad_shield' : 1}, null)}}
{^{if rad_shield_on}}
{{:~link(rad_shield_on ? 'Disable Radiation Shielding' : 'Enable Radiation Shielding', 'radiation', {'toggle_rad_shield' : 1}, null)}}
{{if rad_shield_on}}
<span class="notice" style="width: 100%;">Shield blocking scanner.</span>
{{/if}}
</div>
@@ -138,11 +138,11 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Coolant remaining:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(unused_coolant_per, 0, 100, (unused_coolant_per < 66 ? (unused_coolant_per < 33 ? 'bad' : 'average') : 'good'))}}
{^{:unused_coolant_abs}} u
{{:~displayBar(unused_coolant_per, 0, 100, (unused_coolant_per < 66 ? (unused_coolant_per < 33 ? 'bad' : 'average') : 'good'))}}
{{:unused_coolant_abs}} u
</div>
<div class="itemContent" style="width: 44%;">
{^{if unused_coolant_per < 20}}
{{if unused_coolant_per < 20}}
<span class="notice" style="width: 100%;">Warning! Coolant stocks low!</span>
{{/if}}
</div>
@@ -150,28 +150,28 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<div class="item">
<div class="itemLabel" style="width: 21%;">Coolant flow rate:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(coolant_usage_rate, 0, 10, 'good')}}
{^{:coolant_usage_rate}} u/s
{{:~displayBar(coolant_usage_rate, 0, 10, 'good')}}
{{:coolant_usage_rate}} u/s
</div>
<div class="itemContent" style="text-align:left; width: 22%;">
{^{:~link('Min u/s', null, {'coolantRate' : -10}, null)}}
{^{:~link('-3 u/s', null, {'coolantRate' : -3}, null)}}
{^{:~link('-1 u/s', null, {'coolantRate' : -1}, null)}}
{{:~link('Min u/s', null, {'coolantRate' : -10}, null)}}
{{:~link('-3 u/s', null, {'coolantRate' : -3}, null)}}
{{:~link('-1 u/s', null, {'coolantRate' : -1}, null)}}
</div>
<div class="itemContent" style="text-align:right; width: 22%;">
{^{:~link('+1 u/s', null, {'coolantRate' : 1}, null)}}
{^{:~link('+3 u/s', null, {'coolantRate' : 3}, null)}}
{^{:~link('Max u/s', null, {'coolantRate' : 10}, null)}}
{{:~link('+1 u/s', null, {'coolantRate' : 1}, null)}}
{{:~link('+3 u/s', null, {'coolantRate' : 3}, null)}}
{{:~link('Max u/s', null, {'coolantRate' : 10}, null)}}
</div>
</div>
<div class="item">
<div class="itemLabel" style="width: 21%;">Coolant purity:</div>
<div class="itemContent" style="width: 35%;">
{^{:~displayBar(coolant_purity, 0, 100, (coolant_purity < 66 ? (coolant_purity < 33 ? 'bad' : 'average') : 'good'))}}
{^{:coolant_purity}} %
{{:~displayBar(coolant_purity, 0, 100, (coolant_purity < 66 ? (coolant_purity < 33 ? 'bad' : 'average') : 'good'))}}
{{:coolant_purity}} %
</div>
<div class="itemContent" style="width: 44%;">
{^{if coolant_purity < 0.5}}
{{if coolant_purity < 0.5}}
<span class="notice" style="width: 100%;">Warning! Check coolant for contaminants!</span>
{{/if}}
</div>
@@ -180,6 +180,6 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
<h3>Latest Results</h3>
<div class="statusDisplay">
<div class="line">
<span class="highlight">{^{:last_scan_data}}</span>
<span class="highlight">{{:last_scan_data}}</span>
</div>
</div>
+245 -245
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -5,16 +5,16 @@ Used In File(s): \code\modules\telesci\telesci_computer.dm
<div class="item">
<div class="itemLabel">Coordinates:</div>
<div class="itemContent">
{^{:~link('X: ' + coordx, 'gear', {'setx': 1})}}
{^{:~link('Y: ' + coordy, 'gear', {'sety': 1})}}
{^{:~link('Z: ' + coordz, 'gear', {'setz': 1})}}
{{:~link('X: ' + coordx, 'gear', {'setx': 1})}}
{{:~link('Y: ' + coordy, 'gear', {'sety': 1})}}
{{:~link('Z: ' + coordz, 'gear', {'setz': 1})}}
</div>
</div>
<div class="item">
<div class="itemLabel">Controls:</div>
<div class="itemContent">
{^{:~link('Send', 'gear', {'send': 1}, null, (coordx != null && coordy != null && coordz != null) ? '' : 'disabled')}}
{^{:~link('Receive', 'gear', {'receive': 1}, null, (coordx != null && coordy != null && coordz != null) ? '' : 'disabled')}}
{^{:~link('Recalibrate', 'gear', {'recal': 1})}}
{{:~link('Send', 'gear', {'send': 1}, null, (coordx != null && coordy != null && coordz != null) ? '' : 'disabled')}}
{{:~link('Receive', 'gear', {'receive': 1}, null, (coordx != null && coordy != null && coordz != null) ? '' : 'disabled')}}
{{:~link('Recalibrate', 'gear', {'recal': 1})}}
</div>
</div>
+9 -9
View File
@@ -3,15 +3,15 @@
Title: Syndicate Uplink, uses some javascript to change nanoUI up a bit.
Used In File(s): \code\game\objects\items\devices\uplinks.dm
-->
{^{:~syndicateMode()}}
<H2><span class="white">{^{:welcome}}</span></H2>
{{:~syndicateMode()}}
<H2><span class="white">{{:welcome}}</span></H2>
<br>
<div class="item">
<div class="itemLabelNarrow">
<b>Functions</b>:
</div>
<div class="itemContent">
{^{:~link('Close', 'gear', {'lock' : "1"}, null, 'fixedLeft')}}
{{:~link('Close', 'gear', {'lock' : "1"}, null, 'fixedLeft')}}
</div>
</div>
<br>
@@ -20,20 +20,20 @@ Used In File(s): \code\game\objects\items\devices\uplinks.dm
<b>Tele-Crystals</b>:
</div>
<div class="itemContent">
{^{:crystals}}
{{:crystals}}
</div>
</div>
<H2><span class="white">Request items:</span></H2><br>
<span class="white"><i>Each item costs a number of tele-crystals as indicated by the number following their name.</i></span>
<br><br>
{^{for nano_items}}
{{for nano_items}}
<div class="item">
<H3><span class="white">{^{:Category}}</span></H3>
<H3><span class="white">{{:Category}}</span></H3>
</div>
{^{for items}}
{{for items}}
<div class="item">
{^{:~link( Name, 'gear', {'buy_item' : obj_path, 'cost' : Cost}, Cost > ~root.crystals ? 'disabled' : null, null)}} -<span class="white"> {^{:Cost}}</span>
{{:~link( Name, 'gear', {'buy_item' : obj_path, 'cost' : Cost}, Cost > ~root.crystals ? 'disabled' : null, null)}} -<span class="white"> {{:Cost}}</span>
</div>
{{/for}}
<br>
@@ -41,6 +41,6 @@ Used In File(s): \code\game\objects\items\devices\uplinks.dm
{{/for}}
<div class="item">
{^{:~link('Buy Random (??)' , 'gear', {'buy_item' : 'random'}, null, 'fixedLeftWidest')}}
{{:~link('Buy Random (??)' , 'gear', {'buy_item' : 'random'}, null, 'fixedLeftWidest')}}
</div>