Choose Profession

- Updated to new UI
- Put professions into columns to reduce the length of the window

Supply Ordering Console
- Updated to new UI
- Added "Main Menu" button to the top of all lists

Security Records Console
- Fixed colors (eyes should bleed less now)

Voting Panel
- Updated to new UI

Newscaster Unit
- Updated to new UI

DNA Modifier Console
- Overhauled UI to make it (slightly) more accessible

Airlock Control Console
- Fixed UI not updating automatically
- Updated to new UI
- Overhauled UI
This commit is contained in:
Mark Aherne (Faerdan)
2013-08-01 18:09:58 +01:00
parent 9455a1a49e
commit dacd5da81a
26 changed files with 257 additions and 203 deletions

View File

@@ -33,10 +33,16 @@ datum/controller/vote
i++
reset()
else
var/datum/browser/client_popup
while(i<=voting.len)
var/client/C = voting[i]
var/client/C = voting[i]
if(C)
C << browse(vote.interface(C),"window=vote;can_close=0")
//C << browse(vote.interface(C),"window=vote;can_close=0")
client_popup = new(C, "vote", "Voting Panel")
client_popup.set_window_options("can_close=0")
client_popup.set_content(vote.interface(C))
client_popup.open(0)
i++
else
voting.Cut(i,i+1)
@@ -176,7 +182,6 @@ datum/controller/vote
trialmin = 1
voting |= C
. = "<html><head><title>Voting Panel</title></head><body>"
if(mode)
if(question) . += "<h2>Vote: '[question]'</h2>"
else . += "<h2>Vote: [capitalize(mode)]</h2>"
@@ -211,7 +216,7 @@ datum/controller/vote
if(trialmin)
. += "<li><a href='?src=\ref[src];vote=custom'>Custom</a></li>"
. += "</ul><hr>"
. += "<a href='?src=\ref[src];vote=close' style='position:absolute;right:50px'>Close</a></body></html>"
. += "<a href='?src=\ref[src];vote=close' style='position:absolute;right:50px'>Close</a>"
return .
@@ -250,4 +255,8 @@ datum/controller/vote
set name = "Vote"
if(vote)
src << browse(vote.interface(client),"window=vote;can_close=0")
//src << browse(vote.interface(client),"window=vote;can_close=0")
var/datum/browser/popup = new(src, "vote", "Voting Panel")
popup.set_window_options("can_close=0")
popup.set_content(vote.interface(client))
popup.open(0)

View File

@@ -583,47 +583,61 @@
/obj/machinery/computer/scan_consolenew/proc/ShowInterface(mob/user, last_change)
if(!user) return
var/datum/browser/popup = new(user, "scannernew", "DNA Modifier Console", 880, 470) // Set up the popup browser window
var/datum/browser/popup = new(user, "scannernew", "DNA Modifier Console", 880, 600) // Set up the popup browser window
if(!( in_range(src, user) || istype(user, /mob/living/silicon) ))
popup.close()
return
popup.add_stylesheet("scannernew", 'html/browser/scannernew.css')
var/mob/living/carbon/viable_occupant
var/occupant_status
var/occupant_status = "<div class='line'><div class='statusLabel'>Subject Status:</div><div class='statusValue'>"
var/scanner_status
var/temp_html
if(connected)
if(connected.occupant) //set occupant_status message
viable_occupant = connected.occupant
if(check_dna_integrity(viable_occupant) && !(NOCLONE in viable_occupant.mutations)) //occupent is viable for dna modification
occupant_status += "[viable_occupant.name] => "
switch(viable_occupant.stat)
if(CONSCIOUS) occupant_status = "<span class='good'>Conscious</span>"
if(UNCONSCIOUS) occupant_status = "<span class='average'>Unconscious</span>"
else occupant_status = "<span class='bad'>DEAD - Cannot Operate</span>"
occupant_status = "[viable_occupant.name] => [occupant_status]<br />"
if(CONSCIOUS) occupant_status += "<span class='good'>Conscious</span>"
if(UNCONSCIOUS) occupant_status += "<span class='average'>Unconscious</span>"
else occupant_status += "<span class='bad'>DEAD - Cannot Operate</span>"
occupant_status += "</div></div>"
occupant_status += "<div class='line'><div class='statusLabel'>Health:</div><div class='progressBar'><div style='width: [viable_occupant.health]%;' class='progressFill good'></div></div><div class='statusValue'>[viable_occupant.health]%</div></div>"
occupant_status += "<div class='line'><div class='statusLabel'>Radiation Level:</div><div class='progressBar'><div style='width: [viable_occupant.radiation]%;' class='progressFill bad'></div></div><div class='statusValue'>[viable_occupant.radiation]%</div></div>"
var/rejuvenators = viable_occupant.reagents.get_reagent_amount("inaprovaline")
occupant_status += "<div class='line'><div class='statusLabel'>Rejuvenators:</div><div class='progressBar'><div style='width: [round((rejuvenators / REJUVENATORS_MAX) * 100)]%;' class='progressFill highlight'></div></div><div class='statusValue'>[rejuvenators] units</div></div>"
occupant_status += "<div class='line'><div class='statusLabel'>Last Operation:</div> [last_change]</div>"
occupant_status += "<div class='line'><div class='statusLabel'>Unique Enzymes :</div><div class='statusValue'><span class='highlight'>[viable_occupant.dna.unique_enzymes]</span></div></div>"
occupant_status += "<div class='line'><div class='statusLabel'>Last Operation:</div><div class='statusValue'>[last_change ? last_change : "----"]</div></div>"
else
viable_occupant = null
occupant_status = "<span class='bad'>Invalid DNA structure</span>"
occupant_status += "<span class='bad'>Invalid DNA structure</span></div></div>"
else
occupant_status = "<span class='bad'>No subject detected</span>"
occupant_status += "<span class='bad'>No subject detected</span></div></div>"
if(connected.locked)
scanner_status = "<span class='bad'>Locked</span>"
if(connected.open)
scanner_status = "Open"
else
scanner_status = "<span class='good'>Unlocked</span>"
scanner_status = "Closed"
if(connected.locked)
scanner_status += " <span class='bad'>(Locked)</span>"
else
scanner_status += " <span class='good'>(Unlocked)</span>"
else
occupant_status = "<span class='bad'>Error: Undefined</span>"
scanner_status = "<span class='bad'>Error: No scanner detected</span>"
occupant_status += "<span class='bad'>----</span></div></div>"
scanner_status += "<span class='bad'>Error: No scanner detected</span>"
var/status = "<div class='statusDisplay'>Scanner Status: [scanner_status]<br>Subject Status: [occupant_status]<br>"
var/status = "<div class='statusDisplay'>"
status += "<div class='line'><div class='statusLabel'>Scanner:</div><div class='statusValue'>[scanner_status]</div></div>"
status += "[occupant_status]"
status += "<h3>Radiation Emitter Status</h3>"
var/stddev = radstrength*RADIATION_STRENGTH_MULTIPLIER
status += "Emitter Array Output Level: [radstrength] <i>Mutation: (-[stddev]<->+[stddev])=68% (-[2*stddev]<->+[2*stddev])=95%</i><br>"
status += "<div class='line'><div class='statusLabel'>Output Level:</div><div class='statusValue'>[radstrength]</div></div>"
status += "<div class='line'><div class='statusLabel'>&nbsp;&nbsp;\> Mutation:</div><div class='statusValue'>(-[stddev] to +[stddev] = 68%) (-[2*stddev] to +[2*stddev] = 95%)</div></div>"
stddev = RADIATION_ACCURACY_MULTIPLIER/radduration
var/chance_to_hit
switch(stddev) //hardcoded values from a z-table for a normal distribution
@@ -631,29 +645,33 @@
if(0.25 to 0.5) chance_to_hit = "68-95%"
if(0.5 to 0.75) chance_to_hit = "55-68%"
else chance_to_hit = "<38%"
status += "Emitter Array Pulse Duration: [radduration] <i>Accuracy: ([chance_to_hit])</i></div>"
status += "<div class='line'><div class='statusLabel'>Pulse Duration:</div><div class='statusValue'>[radduration]</div></div>"
status += "<div class='line'><div class='statusLabel'>&nbsp;&nbsp;\> Accuracy:</div><div class='statusValue'>[chance_to_hit]</div></div>"
status += "</div>" // Close statusDisplay div
var/buttons = "<a href='?src=\ref[src];'>Scan</a> "
if(connected) buttons += "<a href='?src=\ref[src];task=togglelock;'>Toggle Bolts</a> <a href='?src=\ref[src];task=toggleopen;'>[connected.open ? "Close" : "Open"] Scanner</a> "
else buttons += "<span class='linkOff'>Toggle Bolts</span> <span class='linkOff'>Open Scanner</span> "
if(connected)
buttons += " <a href='?src=\ref[src];task=toggleopen;'>[connected.open ? "Close" : "Open"] Scanner</a> "
if (connected.open)
buttons += "<span class='linkOff'>[connected.locked ? "Unlock" : "Lock"] Scanner</span> "
else
buttons += "<a href='?src=\ref[src];task=togglelock;'>[connected.locked ? "Unlock" : "Lock"] Scanner</a> "
else buttons += "<span class='linkOff'>Open Scanner</span> <span class='linkOff'>Lock Scanner</span> "
if(viable_occupant) buttons += "<a href='?src=\ref[src];task=rejuv'>Inject Rejuvenators</a> "
else buttons += "<span class='linkOff'>Inject Rejuvenators</span> "
if(diskette) buttons += "<a href='?src=\ref[src];task=ejectdisk'>Eject Disk</a> "
else buttons += "<span class='linkOff'>Eject Disk</span> "
if(current_screen == "buffer") buttons += "<a href='?src=\ref[src];task=screen;text=mainmenu;'>Main Menu</a> "
else buttons += "<a href='?src=\ref[src];task=screen;text=buffer;'>Buffers</a> "
buttons += "<br><a href='?src=\ref[src];task=setstrength;num=[radstrength-1];'>--</a> <a href='?src=\ref[src];task=setstrength;'>Emitter Array Output Level</a> <a href='?src=\ref[src];task=setstrength;num=[radstrength+1];'>++</a>"
buttons += "<br><a href='?src=\ref[src];task=setduration;num=[radduration-1];'>--</a> <a href='?src=\ref[src];task=setduration;'>Emitter Array Pulse Duration</a> <a href='?src=\ref[src];task=setduration;num=[radduration+1];'>++</a>"
if(current_screen == "buffer") buttons += "<a href='?src=\ref[src];task=screen;text=mainmenu;'>Radiation Emitter Menu</a> "
else buttons += "<a href='?src=\ref[src];task=screen;text=buffer;'>Buffer Menu</a> "
switch(current_screen)
if("working")
temp_html += "<h3>System Busy</h3>"
temp_html += status
temp_html += "<h1>System Busy</h1>"
temp_html += "Working ... Please wait ([radduration] Seconds)"
if("buffer")
temp_html += "<h3>Buffer Menu</h3>"
if("buffer")
temp_html += status
temp_html += buttons
temp_html += "<h1>Buffer Menu</h1>"
if(istype(buffer))
for(var/i=1, i<=buffer.len, i++)
@@ -710,44 +728,43 @@
if(diskette && !diskette.read_only) temp_html += "<a href='?src=\ref[src];task=savedisk;num=[i];'>Save to Disk</a> "
else temp_html += "<span class='linkOff'>Save to Disk</span> "
else
temp_html += "<h3>Main Menu</h3>"
temp_html += status
temp_html += buttons
temp_html += "<h1>Radiation Emitter Menu</h1>"
var/max_line_len = 10*DNA_BLOCK_SIZE
temp_html += "<a href='?src=\ref[src];task=setstrength;num=[radstrength-1];'>--</a> <a href='?src=\ref[src];task=setstrength;'>Output Level</a> <a href='?src=\ref[src];task=setstrength;num=[radstrength+1];'>++</a>"
temp_html += "<br><a href='?src=\ref[src];task=setduration;num=[radduration-1];'>--</a> <a href='?src=\ref[src];task=setduration;'>Pulse Duration</a> <a href='?src=\ref[src];task=setduration;num=[radduration+1];'>++</a>"
temp_html += "<h3>Irradiate Subject</h3>"
temp_html += "<div class='line'><div class='statusLabel'>Unique Identifier:</div><div class='statusValue'><div class='clearBoth'>"
temp_html += "<div class='line'><div class='statusLabel'>Unique Enzymes :</div><div class='statusValue'><span class='highlight'>"
if(viable_occupant)
temp_html += "[viable_occupant.dna.unique_enzymes]"
else
temp_html += " - "
temp_html += "</span></div></div><br>"
temp_html += "<div class='line'><div class='statusLabel'>Unique Identifier:</div><div class='statusValue'><span class='highlight'>"
var/max_line_len = 7*DNA_BLOCK_SIZE
if(viable_occupant)
temp_html += "<div class='dnaBlockNumber'>1</div>"
var/len = length(viable_occupant.dna.uni_identity)
for(var/i=1, i<=len, i++)
temp_html += "<a href='?src=\ref[src];task=pulseui;num=[i];'>[copytext(viable_occupant.dna.uni_identity,i,i+1)]</a>"
if((i % max_line_len) == 0)
temp_html += "<br>"
else if((i % DNA_BLOCK_SIZE) == 0)
temp_html += " "
temp_html += "<a class='dnaBlock' href='?src=\ref[src];task=pulseui;num=[i];'>[copytext(viable_occupant.dna.uni_identity,i,i+1)]</a>"
if ((i % max_line_len) == 0)
temp_html += "</div><div class='clearBoth'>"
if((i % DNA_BLOCK_SIZE) == 0 && i < len)
temp_html += "<div class='dnaBlockNumber'>[(i / DNA_BLOCK_SIZE) + 1]</div>"
else
temp_html += " - "
temp_html += "</span></div></div><br>"
temp_html += "----"
temp_html += "</div></div></div><br>"
temp_html += "<div class='line'><div class='statusLabel'>Structural Enzymes:</div><div class='statusValue'><span class='highlight'>"
temp_html += "<div class='line'><div class='statusLabel'>Structural Enzymes:</div><div class='statusValue'><div class='clearBoth'>"
if(viable_occupant)
temp_html += "<div class='dnaBlockNumber'>1</div>"
var/len = length(viable_occupant.dna.struc_enzymes)
for(var/i=1, i<=len, i++)
temp_html += "<a href='?src=\ref[src];task=pulsese;num=[i];'>[copytext(viable_occupant.dna.struc_enzymes,i,i+1)]</a>"
if((i % max_line_len) == 0)
temp_html += "<br>"
else if((i % DNA_BLOCK_SIZE) == 0)
temp_html += " "
temp_html += "<a class='dnaBlock' href='?src=\ref[src];task=pulsese;num=[i];'>[copytext(viable_occupant.dna.struc_enzymes,i,i+1)]</a>"
if ((i % max_line_len) == 0)
temp_html += "</div><div class='clearBoth'>"
if((i % DNA_BLOCK_SIZE) == 0 && i < len)
temp_html += "<div class='dnaBlockNumber'>[(i / DNA_BLOCK_SIZE) + 1]</div>"
else
temp_html += " - "
temp_html += "</span></div></div>"
temp_html += "----"
temp_html += "</div></div></div>"
popup.set_content(temp_html)
popup.open()

View File

@@ -82,7 +82,6 @@
<BR><span class='linkOff'>Inject Dexalin</span>"}
var/datum/browser/popup = new(user, "sleeper", "Sleeper Console", 520, 540) //Set up the popup browser window
popup.add_stylesheet("sleeper", 'html/browser/sleeper.css')
popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
popup.set_content(dat)
popup.open()

View File

@@ -49,7 +49,7 @@
build_path = "/obj/machinery/computer/borgupload"
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/med_data
name = "Circuit board (Medical Records)"
name = "Circuit board (Medical Records Console)"
build_path = "/obj/machinery/computer/med_data"
/obj/item/weapon/circuitboard/pandemic
name = "Circuit board (PanD.E.M.I.C. 2200)"
@@ -77,7 +77,7 @@
build_path = "/obj/machinery/computer/teleporter"
origin_tech = "programming=2;bluespace=2"
/obj/item/weapon/circuitboard/secure_data
name = "Circuit board (Security Records)"
name = "Circuit board (Security Records Console)"
build_path = "/obj/machinery/computer/secure_data"
/obj/item/weapon/circuitboard/stationalert
name = "Circuit board (Station Alerts)"
@@ -129,7 +129,7 @@
name = "Circuit board (Magix)"
build_path = "/obj/machinery/computer/pod/old/swf"
/obj/item/weapon/circuitboard/prisoner
name = "Circuit board (Prisoner Management)"
name = "Circuit board (Prisoner Management Console)"
build_path = "/obj/machinery/computer/prisoner"
/obj/item/weapon/circuitboard/rdconsole
name = "Circuit Board (RD Console)"
@@ -141,7 +141,7 @@
name = "Circuit Board (R&D Server Control)"
build_path = "/obj/machinery/computer/rdservercontrol"
/obj/item/weapon/circuitboard/crew
name = "Circuit board (Crew monitoring computer)"
name = "Circuit board (Crew Monitoring Console)"
build_path = "/obj/machinery/computer/crew"
origin_tech = "programming=3;biotech=2;magnets=2"
/obj/item/weapon/circuitboard/mech_bay_power_console
@@ -149,7 +149,7 @@
build_path = "/obj/machinery/computer/mech_bay_power_console"
origin_tech = "programming=2;powerstorage=3"
/obj/item/weapon/circuitboard/ordercomp
name = "Circuit board (Supply ordering console)"
name = "Circuit board (Supply Ordering Console)"
build_path = "/obj/machinery/computer/ordercomp"
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/supplycomp

View File

@@ -1,5 +1,5 @@
/obj/machinery/computer/security
name = "security cameras"
name = "Security Cameras"
desc = "Used to access the various cameras on the station."
icon_state = "cameras"
circuit = "/obj/item/weapon/circuitboard/security"

View File

@@ -276,7 +276,7 @@
//user << browse(dat, "window=id_com;size=900x520")
//onclose(user, "id_com")
var/datum/browser/popup = new(user, "id_com", "Identification Card Modifier", 900, 590)
var/datum/browser/popup = new(user, "id_com", "Identification Card Modifier Console", 900, 590)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()

View File

@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/med_data//TODO:SANITY
name = "Medical Records"
name = "Medical Records Console"
desc = "This can be used to check medical records."
icon_state = "medcomp"
req_one_access = list(access_medical, access_forensics_lockers)
@@ -105,7 +105,7 @@
dat += text("<A href='?src=\ref[];login=1'>{Log In}</A>", src)
//user << browse(text("<HEAD><TITLE>Medical Records</TITLE></HEAD><TT>[]</TT>", dat), "window=med_rec")
//onclose(user, "med_rec")
var/datum/browser/popup = new(user, "med_rec", "Medical Records")
var/datum/browser/popup = new(user, "med_rec", "Medical Records Console")
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()

View File

@@ -1,5 +1,5 @@
/obj/machinery/computer/prisoner
name = "prisoner management console"
name = "Prisoner Management Console"
icon = 'icons/obj/computer.dmi'
icon_state = "explosive"
req_access = list(access_armory)
@@ -28,6 +28,7 @@
if(screen == 0)
dat += "<HR><A href='?src=\ref[src];lock=1'>Unlock Console</A>"
else if(screen == 1)
dat += "<H3>Prisoner Implant Management</H3>"
dat += "<HR>Chemical Implants<BR>"
var/turf/Tr = null
for(var/obj/item/weapon/implant/chem/C in world)
@@ -56,7 +57,7 @@
//user << browse(dat, "window=computer;size=400x500")
//onclose(user, "computer")
var/datum/browser/popup = new(user, "computer", "Prisoner Implant Management System", 400, 500)
var/datum/browser/popup = new(user, "computer", "Prisoner Management Console", 400, 500)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()

View File

@@ -1,7 +1,7 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
/obj/machinery/computer/secure_data//TODO:SANITY
name = "Security Records"
name = "Security Records Console"
desc = "Used to view and edit personnel's security records"
icon_state = "security"
req_one_access = list(access_security, access_forensics_lockers)
@@ -81,17 +81,17 @@
var/background
switch(crimstat)
if("*Arrest*")
background = "'background-color:#DC143C;'"
background = "'background-color:#990000;'"
if("Incarcerated")
background = "'background-color:#CD853F;'"
background = "'background-color:#CD6500;'"
if("Parolled")
background = "'background-color:#CD853F;'"
background = "'background-color:#CD6500;'"
if("Released")
background = "'background-color:#3BB9FF;'"
background = "'background-color:#006699;'"
if("None")
background = "'background-color:#00FF7F;'"
background = "'background-color:#4F7529;'"
if("")
background = "'background-color:#FFFFFF;'"
background = "''" //"'background-color:#FFFFFF;'"
crimstat = "No Record."
dat += text("<tr style=[]><td><A href='?src=\ref[];choice=Browse Record;d_rec=\ref[]'>[]</a></td>", background, src, R, R.fields["name"])
dat += text("<td>[]</td>", R.fields["id"])
@@ -174,7 +174,7 @@
dat += text("<A href='?src=\ref[];choice=Log In'>{Log In}</A>", src)
//user << browse(text("<HEAD><TITLE>Security Records</TITLE></HEAD><TT>[]</TT>", dat), "window=secure_rec;size=600x400")
//onclose(user, "secure_rec")
var/datum/browser/popup = new(user, "secure_rec", "Security Records", 600, 400)
var/datum/browser/popup = new(user, "secure_rec", "Security Records Console", 600, 400)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()

View File

@@ -45,7 +45,7 @@
dat += "<BR>\n"
//user << browse(dat, "window=alerts")
//onclose(user, "alerts")
var/datum/browser/popup = new(user, "alerts", "Current Station Alerts")
var/datum/browser/popup = new(user, "alerts", "Station Alert Console")
popup.add_head_content("<META HTTP-EQUIV='Refresh' CONTENT='10'>")
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))

View File

@@ -121,7 +121,6 @@
user.set_machine(src)
var/datum/browser/popup = new(user, "cryo", "Cryo Cell Control System", 520, 410) // Set up the popup browser window
popup.add_stylesheet("sleeper", 'html/browser/cryo.css')
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.set_content(dat)
popup.open()

View File

@@ -252,33 +252,42 @@ obj/machinery/embedded_controller/radio/airlock_controller
var/exterior_status = "----"
var/interior_status = "----"
var/pump_status = "----"
var/current_status = "Inactive<BR>&nbsp;"
if(program)
state = program.state
sensor_pressure = program.memory["sensor_pressure"]
exterior_status = program.memory["exterior_status"]
interior_status = program.memory["interior_status"]
pump_status = program.memory["pump_status"]
sensor_pressure = program.memory["sensor_pressure"] ? program.memory["sensor_pressure"] : "----"
exterior_status = program.memory["exterior_status"] ? program.memory["exterior_status"] : "----"
interior_status = program.memory["interior_status"] ? program.memory["interior_status"] : "----"
pump_status = program.memory["pump_status"] ? program.memory["pump_status"] : "----"
switch(state)
if(AIRLOCK_STATE_INOPEN)
state_options = {"<A href='?src=\ref[src];command=cycle_closed'>Close Interior Airlock</A><BR>
<A href='?src=\ref[src];command=cycle_exterior'>Cycle to Exterior Airlock</A><BR>"}
current_status = "Interior Airlock Open<BR><span class='good'>Chamber Pressurized</span>"
if(AIRLOCK_STATE_PRESSURIZE)
state_options = "<A href='?src=\ref[src];command=abort'>Abort Cycling</A><BR>"
current_status = "Cycling to Interior Airlock<BR><span class='average'>Chamber Pressurizing</span>"
if(AIRLOCK_STATE_CLOSED)
state_options = {"<A href='?src=\ref[src];command=cycle_interior'>Open Interior Airlock</A><BR>
<A href='?src=\ref[src];command=cycle_exterior'>Open Exterior Airlock</A><BR>"}
if(AIRLOCK_STATE_DEPRESSURIZE)
state_options = "<A href='?src=\ref[src];command=abort'>Abort Cycling</A><BR>"
current_status = "Cycling to Exterior Airlock<BR><span class='average'>Chamber Depressurizing</span>"
if(AIRLOCK_STATE_OUTOPEN)
state_options = {"<A href='?src=\ref[src];command=cycle_interior'>Cycle to Interior Airlock</A><BR>
<A href='?src=\ref[src];command=cycle_closed'>Close Exterior Airlock</A><BR>"}
current_status = "Exterior Airlock Open<BR><span class='bad'>Chamber Depressurized</span>"
var/output = {"<B>Airlock Control Console</B><HR>
[state_options]<HR>
<B>Chamber Pressure:</B> [sensor_pressure] kPa<BR>
<B>Exterior Door: </B> [exterior_status]<BR>
<B>Interior Door: </B> [interior_status]<BR>
<B>Control Pump: </B> [pump_status]<BR>"}
var/output = {"<h3>Airlock Status</h3>
<div class='statusDisplay'>
<div class='line'><div class='statusLabel'>Current Status:</div><div class='statusValue'>[current_status]</div></div>
<div class='line'>&nbsp;</div>
<div class='line'><div class='statusLabel'> \> Chamber Pressure:</div><div class='statusValue'>[sensor_pressure] kPa</div></div>
<div class='line'><div class='statusLabel'> \> Control Pump:</div><div class='statusValue'>[pump_status]</div></div>
<div class='line'><div class='statusLabel'> \> Interior Door:</div><div class='statusValue'>[interior_status]</div></div>
<div class='line'><div class='statusLabel'> \> Exterior Door:</div><div class='statusValue'>[exterior_status]</div></div>
</div>
[state_options]"}
return output

View File

@@ -26,11 +26,18 @@ obj/machinery/embedded_controller
anchored = 1
var/on = 1
attack_hand(mob/user)
user << browse(return_text(), "window=computer")
interact(mob/user as mob)
//user << browse(return_text(), "window=computer")
//onclose(user, "computer")
user.set_machine(src)
onclose(user, "computer")
var/datum/browser/popup = new(user, "computer", name) // Set up the popup browser window
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.set_content(return_text())
popup.open()
attack_hand(mob/user as mob)
interact(user)
update_icon()
proc/return_text()

View File

@@ -175,7 +175,6 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) )
var/mob/living/human_or_robot_user = user
var/dat
dat = text("<HEAD><TITLE>Newscaster</TITLE></HEAD><H3>Newscaster Unit #[src.unit_no]</H3>")
src.scan_user(human_or_robot_user) //Newscaster scans you
@@ -418,9 +417,13 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
else
dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com"
human_or_robot_user << browse(dat, "window=newscaster_main;size=400x600")
onclose(human_or_robot_user, "newscaster_main")
//human_or_robot_user << browse(dat, "window=newscaster_main;size=400x600")
//onclose(human_or_robot_user, "newscaster_main")
var/datum/browser/popup = new(human_or_robot_user, "newscaster_main", "Newscaster Unit #[src.unit_no]", 400, 600)
popup.set_content(dat)
popup.set_title_image(human_or_robot_user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
/*if(src.isbroken) //debugging shit
return

View File

@@ -86,7 +86,7 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
var/can_order_contraband = 0
/obj/machinery/computer/ordercomp
name = "supply ordering console"
name = "Supply Ordering Console"
icon = 'icons/obj/computer.dmi'
icon_state = "request"
circuit = "/obj/item/weapon/circuitboard/ordercomp"
@@ -397,16 +397,22 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
if(temp)
dat = temp
else
dat += {"<BR><B>Supply shuttle</B><HR>
Location: [supply_shuttle.moving ? "Moving to station ([supply_shuttle.eta] Mins.)":supply_shuttle.at_station ? "Station":"Dock"]<BR>
<HR>Supply points: [supply_shuttle.points]<BR>
dat += {"Shuttle Location: [supply_shuttle.moving ? "Moving to station ([supply_shuttle.eta] Mins.)":supply_shuttle.at_station ? "Station":"Dock"]<BR>
<HR>Supply Points: [supply_shuttle.points]<BR>
<BR>\n<A href='?src=\ref[src];order=1'>Request items</A><BR><BR>
<A href='?src=\ref[src];vieworders=1'>View approved orders</A><BR><BR>
<A href='?src=\ref[src];viewrequests=1'>View requests</A><BR><BR>
<A href='?src=\ref[user];mach_close=computer'>Close</A>"}
user << browse(dat, "window=computer;size=575x450")
onclose(user, "computer")
// Removing the old window method but leaving it here for reference
//user << browse(dat, "window=computer;size=575x450")
//onclose(user, "computer")
// Added the new browser window method
var/datum/browser/popup = new(user, "computer", "Supply Ordering Console", 575, 450)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
return
/obj/machinery/computer/ordercomp/Topic(href, href_list)
@@ -417,12 +423,12 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
usr.set_machine(src)
if(href_list["order"])
temp = "Supply points: [supply_shuttle.points]<BR><HR><BR>Request what?<BR><BR>"
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Request what?<BR><BR>Supply Points: [supply_shuttle.points]<BR><HR>"
for(var/supply_name in supply_shuttle.supply_packs )
var/datum/supply_packs/N = supply_shuttle.supply_packs[supply_name]
if(N.hidden || N.contraband) continue //Have to send the type instead of a reference to
temp += "<A href='?src=\ref[src];doorder=[supply_name]'>[supply_name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["doorder"])
if(world.time < reqtime)
@@ -474,21 +480,21 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
supply_shuttle.requestlist += O
temp = "Thanks for your request. The cargo team will process it as soon as possible.<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["vieworders"])
temp = "Current approved orders: <BR><BR>"
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current approved orders: <BR><BR>"
for(var/S in supply_shuttle.shoppinglist)
var/datum/supply_order/SO = S
temp += "[SO.object.name] approved by [SO.orderedby] [SO.comment ? "([SO.comment])":""]<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["viewrequests"])
temp = "Current requests: <BR><BR>"
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current requests: <BR><BR>"
for(var/S in supply_shuttle.requestlist)
var/datum/supply_order/SO = S
temp += "#[SO.ordernum] - [SO.object.name] requested by [SO.orderedby]<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["mainmenu"])
temp = null
@@ -512,7 +518,7 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
else
dat += {"<BR><B>Supply shuttle</B><HR>
\nLocation: [supply_shuttle.moving ? "Moving to station ([supply_shuttle.eta] Mins.)":supply_shuttle.at_station ? "Station":"Away"]<BR>
<HR>\nSupply points: [supply_shuttle.points]<BR>\n<BR>
<HR>\nSupply Points: [supply_shuttle.points]<BR>\n<BR>
[supply_shuttle.moving ? "\n*Must be away to order items*<BR>\n<BR>":supply_shuttle.at_station ? "\n*Must be away to order items*<BR>\n<BR>":"\n<A href='?src=\ref[src];order=1'>Order items</A><BR>\n<BR>"]
[supply_shuttle.moving ? "\n*Shuttle already called*<BR>\n<BR>":supply_shuttle.at_station ? "\n<A href='?src=\ref[src];send=1'>Send away</A><BR>\n<BR>":"\n<A href='?src=\ref[src];send=1'>Send to station</A><BR>\n<BR>"]
\n<A href='?src=\ref[src];viewrequests=1'>View requests</A><BR>\n<BR>
@@ -574,30 +580,30 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
//Calling the shuttle
if(href_list["send"])
if(!supply_shuttle.can_move())
temp = "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp = "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if(supply_shuttle.at_station)
supply_shuttle.moving = -1
supply_shuttle.sell()
supply_shuttle.send()
temp = "The supply shuttle has departed.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp = "The supply shuttle has departed.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else
supply_shuttle.moving = 1
supply_shuttle.buy()
supply_shuttle.eta_timeofday = (world.timeofday + supply_shuttle.movetime) % 864000
temp = "The supply shuttle has been called and will arrive in [round(supply_shuttle.movetime/600,1)] minutes.<BR><BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp = "The supply shuttle has been called and will arrive in [round(supply_shuttle.movetime/600,1)] minutes.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
post_signal("supply")
else if (href_list["order"])
if(supply_shuttle.moving) return
temp = "Supply points: [supply_shuttle.points]<BR><HR><BR>Request what?<BR><BR>"
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Supply Points: [supply_shuttle.points]<BR><HR><BR>Request what?<BR><BR>"
for(var/supply_name in supply_shuttle.supply_packs )
var/datum/supply_packs/N = supply_shuttle.supply_packs[supply_name]
if(N.hidden && !hacked) continue
if(N.contraband && !can_order_contraband) continue
temp += "<A href='?src=\ref[src];doorder=[supply_name]'>[supply_name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["doorder"])
if(world.time < reqtime)
@@ -649,7 +655,7 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
supply_shuttle.requestlist += O
temp = "Order request placed.<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A> | <A href='?src=\ref[src];confirmorder=[O.ordernum]'>Authorize Order</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A> | <A href='?src=\ref[src];confirmorder=[O.ordernum]'>Authorize Order</A>"
else if(href_list["confirmorder"])
//Find the correct supply_order datum
@@ -670,14 +676,14 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
else
temp = "Not enough supply points.<BR>"
break
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["vieworders"])
temp = "Current approved orders: <BR><BR>"
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current approved orders: <BR><BR>"
for(var/S in supply_shuttle.shoppinglist)
var/datum/supply_order/SO = S
temp += "#[SO.ordernum] - [SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""]<BR>"// <A href='?src=\ref[src];cancelorder=[S]'>(Cancel)</A><BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
/*
else if (href_list["cancelorder"])
var/datum/supply_order/remove_supply = href_list["cancelorder"]
@@ -688,16 +694,16 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
for(var/S in supply_shuttle_shoppinglist)
var/datum/supply_order/SO = S
temp += "[SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""] <A href='?src=\ref[src];cancelorder=[S]'>(Cancel)</A><BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
*/
else if (href_list["viewrequests"])
temp = "Current requests: <BR><BR>"
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current requests: <BR><BR>"
for(var/S in supply_shuttle.requestlist)
var/datum/supply_order/SO = S
temp += "#[SO.ordernum] - [SO.object.name] requested by [SO.orderedby] [supply_shuttle.moving ? "":supply_shuttle.at_station ? "":"<A href='?src=\ref[src];confirmorder=[SO.ordernum]'>Approve</A> <A href='?src=\ref[src];rreq=[SO.ordernum]'>Remove</A>"]<BR>"
temp += "<BR><A href='?src=\ref[src];clearreq=1'>Clear list</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["rreq"])
var/ordernum = text2num(href_list["rreq"])
@@ -713,7 +719,7 @@ var/datum/controller/supply_shuttle/supply_shuttle = new()
else if (href_list["clearreq"])
supply_shuttle.requestlist.Cut()
temp = "List cleared.<BR>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
else if (href_list["mainmenu"])
temp = null

View File

@@ -232,9 +232,8 @@ var/next_external_rsc = 0
'html/search.js',
'html/panels.css',
'html/browser/common.css',
'html/browser/cryo.css',
'html/browser/scannernew.css',
'html/browser/sleeper.css',
'html/browser/playeroptions.css',
'icons/pda_icons/pda_atmos.png',
'icons/pda_icons/pda_back.png',
'icons/pda_icons/pda_bell.png',

View File

@@ -65,7 +65,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
dat += "<A href='?src=\ref[src];back=1'>\[Go Back\]</A><BR>"
//user << browse(dat, "window=publiclibrary")
//onclose(user, "publiclibrary")
var/datum/browser/popup = new(user, "publiclibrary", name)
var/datum/browser/popup = new(user, "publiclibrary", name, 600, 400)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
@@ -240,7 +240,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
//dat += "<A HREF='?src=\ref[user];mach_close=library'>Close</A><br><br>"
//user << browse(dat, "window=library")
//onclose(user, "library")
var/datum/browser/popup = new(user, "library", name)
var/datum/browser/popup = new(user, "library", name, 600, 400)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
@@ -425,7 +425,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
dat += "<BR>"
//user << browse(dat, "window=scanner")
//onclose(user, "scanner")
var/datum/browser/popup = new(user, "scanner", name)
var/datum/browser/popup = new(user, "scanner", name, 600, 400)
popup.set_content(dat)
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
popup.open()

View File

@@ -286,22 +286,41 @@
var/mins = (mills % 36000) / 600
var/hours = mills / 36000
var/dat = "<html><body><center>"
dat += "Round Duration: [round(hours)]h [round(mins)]m<br>"
var/dat = "<div class='notice'>Round Duration: [round(hours)]h [round(mins)]m</div>"
if(emergency_shuttle) //In case Nanotrasen decides reposess Centcom's shuttles.
if(emergency_shuttle.direction == 2) //Shuttle is going to centcom, not recalled
dat += "<font color='red'><b>The station has been evacuated.</b></font><br>"
dat += "<div class='notice red'>The station has been evacuated.</div><br>"
if(emergency_shuttle.direction == 1 && emergency_shuttle.timeleft() < 300) //Shuttle is past the point of no recall
dat += "<font color='red'>The station is currently undergoing evacuation procedures.</font><br>"
dat += "<div class='notice red'>The station is currently undergoing evacuation procedures.</div><br>"
dat += "Choose from the following open positions:<br>"
var/available_job_count = 0
for(var/datum/job/job in job_master.occupations)
if(job && IsJobAvailable(job.title))
dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions])</a><br>"
available_job_count++;
dat += "</center>"
src << browse(dat, "window=latechoices;size=300x640;can_close=1")
dat += "<div class='clearBoth'>Choose from the following open positions:</div><br>"
dat += "<div class='jobs'><div class='jobsColumn'>"
var/job_count = 0
for(var/datum/job/job in job_master.occupations)
if(job && IsJobAvailable(job.title))
job_count++;
if (job_count > round(available_job_count / 2))
dat += "</div><div class='jobsColumn'>"
var/position_class = "otherPosition"
if (job.title in command_positions)
position_class = "commandPosition"
dat += "<a class='[position_class]' href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions])</a><br>"
dat += "</div></div>"
// Removing the old window method but leaving it here for reference
//src << browse(dat, "window=latechoices;size=300x640;can_close=1")
// Added the new browser window method
var/datum/browser/popup = new(src, "latechoices", "Choose Profession", 440, 500)
popup.add_stylesheet("playeroptions", 'html/browser/playeroptions.css')
popup.set_content(dat)
popup.open(0) // 0 is passed to open so that it doesn't use the onclose() proc
proc/create_character()

View File

@@ -5,25 +5,5 @@
# Ranks can be anything defined in admin_ranks.txt ~Carn #
######################################################################
quarxink - Game Master
tle - Game Master
xsi - Game Master
scaredofshadows - Game Master
neofite - Game Master
trubblebass - Game Master
mport2004 - Game Master
deuryn - Game Master
agouri - Game Master
errorage - Game Master
superxpdude - Game Master
petethegoat - Game Master
korphaeron - Game Master
nodrak - Game Master
carnwennan - Game Master
ikarrus - Game Master
cheridan - Game Master
giacomand - Game Master
rockdtben - Game Master
sieve - Game Master
aranclanos - Game Master
intigracy - Game Master
faerdan - Game Master
Faerdan - Game Master

View File

@@ -2,7 +2,7 @@
# SERVERNAME tgstation
# Lobby time: This is the amount of time between rounds that players have to setup their characters and be ready.
LOBBY_COUNTDOWN 120
LOBBY_COUNTDOWN 20
## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system.
ADMIN_LEGACY_SYSTEM
@@ -136,10 +136,10 @@ ALLOW_HOLIDAYS
#USEIRCBOT
##Defines the ticklag for the world. 0.9 is the normal one, 0.5 is smoother.
TICKLAG 0.9
TICKLAG 0.5
## Defines if Tick Compensation is used. It results in a minor slowdown of movement of all mobs, but attempts to result in a level movement speed across all ticks. Recommended if tickrate is lowered.
TICKCOMP 0
TICKCOMP 1
## Uncomment this to ban use of ToR
#TOR_BAN

View File

@@ -136,7 +136,7 @@ GATEWAY_DELAY 18000
## This is intended for servers with low populations - where there are not enough
## players to fill all roles, so players need to do more than just one job.
## Also for servers where they don't want people to hide in their own departments.
JOBS_HAVE_MINIMAL_ACCESS
#JOBS_HAVE_MINIMAL_ACCESS
## Uncomment to give assistants maint access.
#ASSISTANTS_HAVE_MAINT_ACCESS

View File

@@ -216,6 +216,19 @@ div.notice
margin: 3px 0;
}
.statusLabel
{
width: 138px;
float: left;
overflow: hidden;
color: #98B0C3;
}
.statusValue
{
float: left;
}
.block
{
padding: 8px;

View File

@@ -1,11 +0,0 @@
.statusLabel
{
width: 128px;
float: left;
overflow: hidden;
}
.statusValue
{
float: left;
}

View File

@@ -0,0 +1,22 @@
.jobs
{
width: 400px;
margin: 0 auto;
}
.jobsColumn
{
float: left;
width: 200px;
text-align: center;
}
.commandPosition
{
font-weight: bold;
}
.otherPosition
{
}

View File

@@ -1,25 +1,18 @@
.getblockstring
.dnaBlockNumber
{
font-family: Fixed, monospace;
float: left;
color: #ffffff;
background: #363636;
width: 20px;
padding: -3px 0 -1px 0;
margin: 2px 2px 0 10px;
text-align: center;
}
.blockString
{
width: 55px;
height: 19px;
padding: 0 8px 8px 0;
float: left;
}
.statusLabel
{
width: 128px;
float: left;
overflow: hidden;
}
.statusValue
.dnaBlock
{
font-family: Fixed, monospace;
float: left;
}

View File

@@ -1,11 +0,0 @@
.statusLabel
{
width: 128px;
float: left;
overflow: hidden;
}
.statusValue
{
float: left;
}