Updates files as necessary to adhere to the new standard.

This commit is contained in:
PsiOmegaDelta
2015-07-27 09:32:51 +02:00
parent 688b8b52f7
commit 0ba7643217
71 changed files with 1097 additions and 1246 deletions

View File

@@ -109,13 +109,13 @@ Class Procs:
simulated_turf_count++ simulated_turf_count++
S.update_air_properties() S.update_air_properties()
admin_notice({"<span class='danger'>Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds.</b></span> admin_notice({"<span class='danger'>Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds.</span>
<span class='info'> <span class='info'>
Total Simulated Turfs: [simulated_turf_count] Total Simulated Turfs: [simulated_turf_count]
Total Zones: [zones.len] Total Zones: [zones.len]
Total Edges: [edges.len] Total Edges: [edges.len]
Total Active Edges: [active_edges.len ? "<span class='danger'>[active_edges.len]</span>" : "None"] Total Active Edges: [active_edges.len ? "<span class='danger'>[active_edges.len]</span>" : "None"]
Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]</font> Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]
</span>"}, R_DEBUG) </span>"}, R_DEBUG)
@@ -154,18 +154,18 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
#ifdef ZASDBG #ifdef ZASDBG
var/updated = 0 var/updated = 0
#endif #endif
//defer updating of self-zone-blocked turfs until after all other turfs have been updated. //defer updating of self-zone-blocked turfs until after all other turfs have been updated.
//this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones //this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones
//have valid zones when the self-zone-blocked turfs update. //have valid zones when the self-zone-blocked turfs update.
var/list/deferred = list() var/list/deferred = list()
for(var/turf/T in updating) for(var/turf/T in updating)
//check if the turf is self-zone-blocked //check if the turf is self-zone-blocked
if(T.c_airblock(T) & ZONE_BLOCKED) if(T.c_airblock(T) & ZONE_BLOCKED)
deferred += T deferred += T
continue continue
T.update_air_properties() T.update_air_properties()
T.post_update_air_properties() T.post_update_air_properties()
T.needs_air_update = 0 T.needs_air_update = 0

View File

@@ -289,7 +289,7 @@ datum/controller/vote
else . += "<h2>Vote: [capitalize(mode)]</h2>" else . += "<h2>Vote: [capitalize(mode)]</h2>"
. += "Time Left: [time_remaining] s<hr>" . += "Time Left: [time_remaining] s<hr>"
. += "<table width = '100%'><tr><td align = 'center'><b>Choices</b></td><td align = 'center'><b>Votes</b></td>" . += "<table width = '100%'><tr><td align = 'center'><b>Choices</b></td><td align = 'center'><b>Votes</b></td>"
if(capitalize(mode) == "Gamemode") .+= "<td align = 'center'><b>Minimum Players</b></td></b></tr>" if(capitalize(mode) == "Gamemode") .+= "<td align = 'center'><b>Minimum Players</b></td></tr>"
for(var/i = 1, i <= choices.len, i++) for(var/i = 1, i <= choices.len, i++)
var/votes = choices[choices[i]] var/votes = choices[choices[i]]
@@ -299,12 +299,12 @@ datum/controller/vote
if(current_votes[C.ckey] == i) if(current_votes[C.ckey] == i)
. += "<td><b><a href='?src=\ref[src];vote=[i]'>[gamemode_names[choices[i]]]</a></b></td><td align = 'center'>[votes]</td>" . += "<td><b><a href='?src=\ref[src];vote=[i]'>[gamemode_names[choices[i]]]</a></b></td><td align = 'center'>[votes]</td>"
else else
. += "<td><a href='?src=\ref[src];vote=[i]'>[gamemode_names[choices[i]]]</a></b></td><td align = 'center'>[votes]</td>" . += "<td><a href='?src=\ref[src];vote=[i]'>[gamemode_names[choices[i]]]</a></td><td align = 'center'>[votes]</td>"
else else
if(current_votes[C.ckey] == i) if(current_votes[C.ckey] == i)
. += "<td><b><a href='?src=\ref[src];vote=[i]'>[choices[i]]</a></b></td><td align = 'center'>[votes]</td>" . += "<td><b><a href='?src=\ref[src];vote=[i]'>[choices[i]]</a></b></td><td align = 'center'>[votes]</td>"
else else
. += "<td><a href='?src=\ref[src];vote=[i]'>[choices[i]]</a></b></td><td align = 'center'>[votes]</td>" . += "<td><a href='?src=\ref[src];vote=[i]'>[choices[i]]</a></td><td align = 'center'>[votes]</td>"
if (additional_text.len >= i) if (additional_text.len >= i)
. += additional_text[i] . += additional_text[i]
. += "</tr>" . += "</tr>"

View File

@@ -180,12 +180,12 @@ client
body += "<br><font size='1'><a href='?_src_=vars;datumedit=\ref[D];varnameedit=ckey'>[M.ckey ? M.ckey : "No ckey"]</a> / <a href='?_src_=vars;datumedit=\ref[D];varnameedit=real_name'>[M.real_name ? M.real_name : "No real name"]</a></font>" body += "<br><font size='1'><a href='?_src_=vars;datumedit=\ref[D];varnameedit=ckey'>[M.ckey ? M.ckey : "No ckey"]</a> / <a href='?_src_=vars;datumedit=\ref[D];varnameedit=real_name'>[M.real_name ? M.real_name : "No real name"]</a></font>"
body += {" body += {"
<br><font size='1'> <br><font size='1'>
BRUTE:<font size='1'><a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=brute'>[M.getBruteLoss()]</a> BRUTE:<a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=brute'>[M.getBruteLoss()]</a>
FIRE:<font size='1'><a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=fire'>[M.getFireLoss()]</a> FIRE:<a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=fire'>[M.getFireLoss()]</a>
TOXIN:<font size='1'><a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=toxin'>[M.getToxLoss()]</a> TOXIN:<a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=toxin'>[M.getToxLoss()]</a>
OXY:<font size='1'><a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=oxygen'>[M.getOxyLoss()]</a> OXY:<a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=oxygen'>[M.getOxyLoss()]</a>
CLONE:<font size='1'><a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=clone'>[M.getCloneLoss()]</a> CLONE:<a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=clone'>[M.getCloneLoss()]</a>
BRAIN:<font size='1'><a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=brain'>[M.getBrainLoss()]</a> BRAIN:<a href='?_src_=vars;mobToDamage=\ref[D];adjustDamage=brain'>[M.getBrainLoss()]</a>
</font> </font>
@@ -866,7 +866,7 @@ client
return return
new new_organ(M) new new_organ(M)
else if(href_list["remorgan"]) else if(href_list["remorgan"])
if(!check_rights(R_SPAWN)) return if(!check_rights(R_SPAWN)) return

View File

@@ -314,7 +314,7 @@
if(I in organs.implants) if(I in organs.implants)
qdel(I) qdel(I)
break break
H << "<span class='notice'><font size =3><B>Your loyalty implant has been deactivated.</font></span>" H << "<span class='notice'><font size =3><B>Your loyalty implant has been deactivated.</B></font></span>"
log_admin("[key_name_admin(usr)] has de-loyalty implanted [current].") log_admin("[key_name_admin(usr)] has de-loyalty implanted [current].")
if("add") if("add")
H << "<span class='danger'><font size =3>You somehow have become the recepient of a loyalty transplant, and it just activated!</font></span>" H << "<span class='danger'><font size =3>You somehow have become the recepient of a loyalty transplant, and it just activated!</font></span>"

View File

@@ -24,9 +24,9 @@
if(!O.completed && !O.check_completion()) if(!O.completed && !O.check_completion())
result = 0 result = 0
if(result && victory_text) if(result && victory_text)
world << "<span class='danger'><font size = 3>[victory_text]</span>" world << "<span class='danger'><font size = 3>[victory_text]</font></span>"
if(victory_feedback_tag) feedback_set_details("round_end_result","[victory_feedback_tag]") if(victory_feedback_tag) feedback_set_details("round_end_result","[victory_feedback_tag]")
else if(loss_text) else if(loss_text)
world << "<span class='danger'><font size = 3>[loss_text]</span>" world << "<span class='danger'><font size = 3>[loss_text]</font></span>"
if(loss_feedback_tag) feedback_set_details("round_end_result","[loss_feedback_tag]") if(loss_feedback_tag) feedback_set_details("round_end_result","[loss_feedback_tag]")

View File

@@ -28,7 +28,7 @@
text += "<br><font color='green'><B>The [role_text] was successful!</B></font>" text += "<br><font color='green'><B>The [role_text] was successful!</B></font>"
if(global_objectives && global_objectives.len) if(global_objectives && global_objectives.len)
text += "<BR><FONT size = 2>Their objectives were:<FONT>" text += "<BR><FONT size = 2>Their objectives were:</FONT>"
var/num = 1 var/num = 1
for(var/datum/objective/O in global_objectives) for(var/datum/objective/O in global_objectives)
text += print_objective(O, num, 1) text += print_objective(O, num, 1)

View File

@@ -164,7 +164,7 @@
if(!M.client && M.mind) if(!M.client && M.mind)
for(var/mob/dead/observer/ghost in player_list) for(var/mob/dead/observer/ghost in player_list)
if(ghost.mind == M.mind) if(ghost.mind == M.mind)
ghost << "<b><font color = #330033><font size = 3>Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned!</b> (Verbs -> Ghost -> Re-enter corpse)</font color>" ghost << "<b><font color = #330033><font size = 3>Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned!</b> (Verbs -> Ghost -> Re-enter corpse)</font></font>"
break break
return return

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,7 @@
///////////////////////////////////////////////////////// /////////////////////////////////////////////////////////
/datum/game_mode/epidemic/send_intercept() /datum/game_mode/epidemic/send_intercept()
var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>" var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</B></FONT><HR>"
virus_name = "X-[rand(1,99)]&trade;" virus_name = "X-[rand(1,99)]&trade;"
intercepttext += "<B>Warning: Pathogen [virus_name] has been detected on [station_name()].</B><BR><BR>" intercepttext += "<B>Warning: Pathogen [virus_name] has been detected on [station_name()].</B><BR><BR>"
intercepttext += "<B>Code violet quarantine of [station_name()] put under immediate effect.</B><BR>" intercepttext += "<B>Code violet quarantine of [station_name()] put under immediate effect.</B><BR>"
@@ -64,7 +64,7 @@
M << "<span class='danger'>[extra_law]</span>" M << "<span class='danger'>[extra_law]</span>"
/datum/game_mode/epidemic/proc/announce_to_kill_crew() /datum/game_mode/epidemic/proc/announce_to_kill_crew()
var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>" var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</B></FONT><HR>"
intercepttext += "<FONT size = 2;color='red'><B>PATHOGEN [virus_name] IS STILL PRESENT ON [station_name()]. IN COMPLIANCE WITH NANOTRASEN LAWS FOR INTERSTELLAR SAFETY, EMERGENCY SAFETY MEASURES HAVE BEEN AUTHORIZED. ALL INFECTED CREW MEMBERS ON [station_name()] ARE TO BE NEUTRALIZED AND DISPOSED OF IN A MANNER THAT WILL DESTROY ALL TRACES OF THE PATHOGEN. FAILURE TO COMPLY WILL RESULT IN IMMEDIATE DESTRUCTION OF [station_name].</B></FONT><BR>" intercepttext += "<FONT size = 2;color='red'><B>PATHOGEN [virus_name] IS STILL PRESENT ON [station_name()]. IN COMPLIANCE WITH NANOTRASEN LAWS FOR INTERSTELLAR SAFETY, EMERGENCY SAFETY MEASURES HAVE BEEN AUTHORIZED. ALL INFECTED CREW MEMBERS ON [station_name()] ARE TO BE NEUTRALIZED AND DISPOSED OF IN A MANNER THAT WILL DESTROY ALL TRACES OF THE PATHOGEN. FAILURE TO COMPLY WILL RESULT IN IMMEDIATE DESTRUCTION OF [station_name].</B></FONT><BR>"
intercepttext += "<B>CRUISER WILL ARRIVE IN [round(cruiser_seconds()/60)] MINUTES</B><BR>" intercepttext += "<B>CRUISER WILL ARRIVE IN [round(cruiser_seconds()/60)] MINUTES</B><BR>"

View File

@@ -323,10 +323,10 @@ var/global/list/additional_antag_types = list()
var/text = "" var/text = ""
if(surviving_total > 0) if(surviving_total > 0)
text += "<br>There [surviving_total>1 ? "were <b>[surviving_total] survivors</b>" : "was <b>one survivor</b>"]</b>" text += "<br>There [surviving_total>1 ? "were <b>[surviving_total] survivors</b>" : "was <b>one survivor</b>"]"
text += " (<b>[escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]</b>) and <b>[ghosts] ghosts</b>.</b><br>" text += " (<b>[escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]</b>) and <b>[ghosts] ghosts</b>.<br>"
else else
text += "There were <b>no survivors</b> (<b>[ghosts] ghosts</b>).</b>" text += "There were <b>no survivors</b> (<b>[ghosts] ghosts</b>)."
world << text world << text
if(clients > 0) if(clients > 0)

View File

@@ -105,7 +105,7 @@ datum/hSB
hsb.req_access += A hsb.req_access += A
hsb.loc = usr.loc hsb.loc = usr.loc
usr << "<b>Sandbox: Created an airlock." usr << "<b>Sandbox: Created an airlock.</b>"
if("hsbcanister") if("hsbcanister")
var/list/hsbcanisters = typesof(/obj/machinery/portable_atmospherics/canister/) - /obj/machinery/portable_atmospherics/canister/ var/list/hsbcanisters = typesof(/obj/machinery/portable_atmospherics/canister/) - /obj/machinery/portable_atmospherics/canister/
var/hsbcanister = input(usr, "Choose a canister to spawn.", "Sandbox:") in hsbcanisters + "Cancel" var/hsbcanister = input(usr, "Choose a canister to spawn.", "Sandbox:") in hsbcanisters + "Cancel"

View File

@@ -71,14 +71,14 @@
if(2) if(2)
t1 = "<font color='red'>*dead*</font>" t1 = "<font color='red'>*dead*</font>"
else else
dat += text("[]\tHealth %: [] ([])</FONT><BR>", (occupant.health > 50 ? "<font color='blue'>" : "<font color='red'>"), occupant.health, t1) dat += text("[]\tHealth %: [] ([])</FONT><BR>", ("<font color='[occupant.health > 50 ? "blue" : "red"]'>"), occupant.health, t1)
if(iscarbon(occupant)) if(iscarbon(occupant))
var/mob/living/carbon/C = occupant var/mob/living/carbon/C = occupant
dat += text("[]\t-Pulse, bpm: []</FONT><BR>", (C.pulse == PULSE_NONE || C.pulse == PULSE_THREADY ? "<font color='red'>" : "<font color='blue'>"), C.get_pulse(GETPULSE_TOOL)) dat += text("[]\t-Pulse, bpm: []</FONT><BR>", ("<font color='[C.pulse == PULSE_NONE || C.pulse == PULSE_THREADY ? "red" : "blue"]'>"), C.get_pulse(GETPULSE_TOOL))
dat += text("[]\t-Brute Damage %: []</FONT><BR>", (occupant.getBruteLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getBruteLoss()) dat += text("[]\t-Brute Damage %: []</FONT><BR>", ("<font color='[occupant.getBruteLoss() < 60 ? "blue" : "red"]'>"), occupant.getBruteLoss())
dat += text("[]\t-Respiratory Damage %: []</FONT><BR>", (occupant.getOxyLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getOxyLoss()) dat += text("[]\t-Respiratory Damage %: []</FONT><BR>", ("<font color='[occupant.getOxyLoss() < 60 ? "blue" : "red"]'>"), occupant.getOxyLoss())
dat += text("[]\t-Toxin Content %: []</FONT><BR>", (occupant.getToxLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getToxLoss()) dat += text("[]\t-Toxin Content %: []</FONT><BR>", ("<font color='[occupant.getToxLoss() < 60 ? "blue" : "red"]'>"), occupant.getToxLoss())
dat += text("[]\t-Burn Severity %: []</FONT><BR>", (occupant.getFireLoss() < 60 ? "<font color='blue'>" : "<font color='red'>"), occupant.getFireLoss()) dat += text("[]\t-Burn Severity %: []</FONT><BR>", ("<font color='[occupant.getFireLoss() < 60 ? "blue" : "red"]'>"), occupant.getFireLoss())
dat += text("<HR>Paralysis Summary %: [] ([] seconds left!)<BR>", occupant.paralysis, round(occupant.paralysis / 4)) dat += text("<HR>Paralysis Summary %: [] ([] seconds left!)<BR>", occupant.paralysis, round(occupant.paralysis / 4))
if(occupant.reagents) if(occupant.reagents)
for(var/chemical in connected.available_chemicals) for(var/chemical in connected.available_chemicals)

View File

@@ -236,7 +236,7 @@
dat = format_occupant_data(src.connected.get_occupant_data()) dat = format_occupant_data(src.connected.get_occupant_data())
dat += "<HR><A href='?src=\ref[src];print=1'>Print</A><BR>" dat += "<HR><A href='?src=\ref[src];print=1'>Print</A><BR>"
else else
dat = "<font color='red'> Error: No Body Scanner connected.</font>" dat = "<span class='warning'>Error: No Body Scanner connected.</span>"
dat += text("<BR><A href='?src=\ref[];mach_close=scanconsole'>Close</A>", user) dat += text("<BR><A href='?src=\ref[];mach_close=scanconsole'>Close</A>", user)
user << browse(dat, "window=scanconsole;size=430x600") user << browse(dat, "window=scanconsole;size=430x600")
@@ -309,30 +309,30 @@
aux = "Unconscious" aux = "Unconscious"
else else
aux = "Dead" aux = "Dead"
dat += text("[]\tHealth %: [] ([])</font><br>", (occ["health"] > 50 ? "<font color='blue'>" : "<font color='red'>"), occ["health"], aux) dat += text("[]\tHealth %: [] ([])</font><br>", ("<font color='[occ["health"] > 50 ? "blue" : "red"]>"), occ["health"], aux)
if (occ["virus_present"]) if (occ["virus_present"])
dat += "<font color='red'>Viral pathogen detected in blood stream.</font><br>" dat += "<font color='red'>Viral pathogen detected in blood stream.</font><br>"
dat += text("[]\t-Brute Damage %: []</font><br>", (occ["bruteloss"] < 60 ? "<font color='blue'>" : "<font color='red'>"), occ["bruteloss"]) dat += text("[]\t-Brute Damage %: []</font><br>", ("<font color='[occ["bruteloss"] < 60 ? "blue" : "red"]'>"), occ["bruteloss"])
dat += text("[]\t-Respiratory Damage %: []</font><br>", (occ["oxyloss"] < 60 ? "<font color='blue'>" : "<font color='red'>"), occ["oxyloss"]) dat += text("[]\t-Respiratory Damage %: []</font><br>", ("<font color='[occ["oxyloss"] < 60 ? "blue'" : "red"]'>"), occ["oxyloss"])
dat += text("[]\t-Toxin Content %: []</font><br>", (occ["toxloss"] < 60 ? "<font color='blue'>" : "<font color='red'>"), occ["toxloss"]) dat += text("[]\t-Toxin Content %: []</font><br>", ("<font color='[occ["toxloss"] < 60 ? "blue" : "red"]'>"), occ["toxloss"])
dat += text("[]\t-Burn Severity %: []</font><br><br>", (occ["fireloss"] < 60 ? "<font color='blue'>" : "<font color='red'>"), occ["fireloss"]) dat += text("[]\t-Burn Severity %: []</font><br><br>", ("<font color='[occ["fireloss"] < 60 ? "blue" : "red"]'>"), occ["fireloss"])
dat += text("[]\tRadiation Level %: []</font><br>", (occ["rads"] < 10 ?"<font color='blue'>" : "<font color='red'>"), occ["rads"]) dat += text("[]\tRadiation Level %: []</font><br>", ("<font color='[occ["rads"] < 10 ? "blue" : "red"]'>"), occ["rads"])
dat += text("[]\tGenetic Tissue Damage %: []</font><br>", (occ["cloneloss"] < 1 ?"<font color='blue'>" : "<font color='red'>"), occ["cloneloss"]) dat += text("[]\tGenetic Tissue Damage %: []</font><br>", ("<font color='[occ["cloneloss"] < 1 ? "blue" : "red"]'>"), occ["cloneloss"])
dat += text("[]\tApprox. Brain Damage %: []</font><br>", (occ["brainloss"] < 1 ?"<font color='blue'>" : "<font color='red'>"), occ["brainloss"]) dat += text("[]\tApprox. Brain Damage %: []</font><br>", ("<font color='[occ["brainloss"] < 1 ? "blue" : "red"]'>"), occ["brainloss"])
dat += text("Paralysis Summary %: [] ([] seconds left!)<br>", occ["paralysis"], round(occ["paralysis"] / 4)) dat += text("Paralysis Summary %: [] ([] seconds left!)<br>", occ["paralysis"], round(occ["paralysis"] / 4))
dat += text("Body Temperature: [occ["bodytemp"]-T0C]&deg;C ([occ["bodytemp"]*1.8-459.67]&deg;F)<br><HR>") dat += text("Body Temperature: [occ["bodytemp"]-T0C]&deg;C ([occ["bodytemp"]*1.8-459.67]&deg;F)<br><HR>")
if(occ["borer_present"]) if(occ["borer_present"])
dat += "Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended.<br>" dat += "Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended.<br>"
dat += text("[]\tBlood Level %: [] ([] units)</FONT><BR>", (occ["blood_amount"] > 448 ?"<font color='blue'>" : "<font color='red'>"), occ["blood_amount"]*100 / 560, occ["blood_amount"]) dat += text("[]\tBlood Level %: [] ([] units)</FONT><BR>", ("<font color='[occ["blood_amount"] > 448 ? "blue" : "red"]'>"), occ["blood_amount"]*100 / 560, occ["blood_amount"])
dat += text("Inaprovaline: [] units<BR>", occ["inaprovaline_amount"]) dat += text("Inaprovaline: [] units<BR>", occ["inaprovaline_amount"])
dat += text("Soporific: [] units<BR>", occ["stoxin_amount"]) dat += text("Soporific: [] units<BR>", occ["stoxin_amount"])
dat += text("[]\tDermaline: [] units</FONT><BR>", (occ["dermaline_amount"] < 30 ? "<font color='black'>" : "<font color='red'>"), occ["dermaline_amount"]) dat += text("[]\tDermaline: [] units</FONT><BR>", ("<font color='[occ["dermaline_amount"] < 30 ? "black" : "red"]'>"), occ["dermaline_amount"])
dat += text("[]\tBicaridine: [] units<BR>", (occ["bicaridine_amount"] < 30 ? "<font color='black'>" : "<font color='red'>"), occ["bicaridine_amount"]) dat += text("[]\tBicaridine: [] units</font><BR>", ("<font color='[occ["bicaridine_amount"] < 30 ? "black" : "red"]'>"), occ["bicaridine_amount"])
dat += text("[]\tDexalin: [] units<BR>", (occ["dexalin_amount"] < 30 ? "<font color='black'>" : "<font color='red'>"), occ["dexalin_amount"]) dat += text("[]\tDexalin: [] units</font><BR>", ("<font color='[occ["dexalin_amount"] < 30 ? "black" : "red"]'>"), occ["dexalin_amount"])
for(var/datum/disease/D in occ["tg_diseases_list"]) for(var/datum/disease/D in occ["tg_diseases_list"])
if(!D.hidden[SCANNER]) if(!D.hidden[SCANNER])

View File

@@ -1034,7 +1034,7 @@ FIRE ALARM
d2 = text("<A href='?src=\ref[];time=1'>Initiate Time Lock</A>", src) d2 = text("<A href='?src=\ref[];time=1'>Initiate Time Lock</A>", src)
var/second = round(src.time) % 60 var/second = round(src.time) % 60
var/minute = (round(src.time) - second) / 60 var/minute = (round(src.time) - second) / 60
var/dat = "<HTML><HEAD></HEAD><BODY><TT><B>Fire alarm</B> [d1]\n<HR>The current alert level is: [get_security_level()]</b><br><br>\nTimer System: [d2]<BR>\nTime Left: [(minute ? "[minute]:" : null)][second] <A href='?src=\ref[src];tp=-30'>-</A> <A href='?src=\ref[src];tp=-1'>-</A> <A href='?src=\ref[src];tp=1'>+</A> <A href='?src=\ref[src];tp=30'>+</A>\n</TT></BODY></HTML>" var/dat = "<HTML><HEAD></HEAD><BODY><TT><B>Fire alarm</B> [d1]\n<HR>The current alert level is: <b>[get_security_level()]</b><br><br>\nTimer System: [d2]<BR>\nTime Left: [(minute ? "[minute]:" : null)][second] <A href='?src=\ref[src];tp=-30'>-</A> <A href='?src=\ref[src];tp=-1'>-</A> <A href='?src=\ref[src];tp=1'>+</A> <A href='?src=\ref[src];tp=30'>+</A>\n</TT></BODY></HTML>"
user << browse(dat, "window=firealarm") user << browse(dat, "window=firealarm")
onclose(user, "firealarm") onclose(user, "firealarm")
else else

View File

@@ -33,7 +33,7 @@
/obj/item/toy/prize/odysseus = 1, /obj/item/toy/prize/odysseus = 1,
/obj/item/toy/prize/phazon = 1, /obj/item/toy/prize/phazon = 1,
/obj/item/toy/waterflower = 1, /obj/item/toy/waterflower = 1,
/obj/random/action_figure = 1, /obj/random/action_figure = 1,
/obj/random/plushie = 1, /obj/random/plushie = 1,
/obj/item/toy/cultsword = 1 /obj/item/toy/cultsword = 1
) )
@@ -69,10 +69,11 @@
dat += "<br><center><h3>[src.temp]</h3></center>" dat += "<br><center><h3>[src.temp]</h3></center>"
dat += "<br><center>Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp]</center>" dat += "<br><center>Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp]</center>"
dat += "<center><b>"
if (src.gameover) if (src.gameover)
dat += "<center><b><a href='byond://?src=\ref[src];newgame=1'>New Game</a>" dat += "<a href='byond://?src=\ref[src];newgame=1'>New Game</a>"
else else
dat += "<center><b><a href='byond://?src=\ref[src];attack=1'>Attack</a> | " dat += "<a href='byond://?src=\ref[src];attack=1'>Attack</a> | "
dat += "<a href='byond://?src=\ref[src];heal=1'>Heal</a> | " dat += "<a href='byond://?src=\ref[src];heal=1'>Heal</a> | "
dat += "<a href='byond://?src=\ref[src];charge=1'>Recharge Power</a>" dat += "<a href='byond://?src=\ref[src];charge=1'>Recharge Power</a>"

View File

@@ -1,153 +0,0 @@
//this computer displays status and remotely activates multiple shutters / blast doors
//todo: lock / electrify specified area doors? might be a bit gamebreaking
/obj/machinery/computer/lockdown
//for reference
/*name = "lockdown control"
desc = "Used to control blast doors."
icon_state = "lockdown"
circuit = "/obj/item/weapon/circuitboard/lockdown"
var/connected_doors
var/department*/
var/list/displayedNetworks
New()
..()
connected_doors = new/list()
displayedNetworks = new/list()
//only load blast doors for map-defined departments for the moment
//door networks are hardcoded here.
switch(department)
if("Engineering")
connected_doors.Add("Engineering")
//Antiqua Engineering
connected_doors.Add("Reactor core")
connected_doors.Add("Control Room")
connected_doors.Add("Vent Seal")
connected_doors.Add("Rig Storage")
connected_doors.Add("Fore Port Shutters")
connected_doors.Add("Fore Starboard Shutters")
connected_doors.Add("Electrical Storage Shutters")
connected_doors.Add("Locker Room Shutters")
connected_doors.Add("Breakroom Shutters")
connected_doors.Add("Observation Shutters")
//exodus engineering
if("Medbay")
//Exodus Medbay
connected_doors.Add("Genetics Outer Shutters")
connected_doors.Add("Genetics Inner Shutters")
connected_doors.Add("Chemistry Outer Shutters")
connected_doors.Add("Observation Shutters")
connected_doors.Add("Patient Room 1 Shutters")
connected_doors.Add("Patient Room 2 Shutters")
connected_doors.Add("Patient Room 3 Shutters")
for(var/net in connected_doors)
connected_doors[net] = new/list()
//loop through the world, grabbing all the relevant doors
spawn(1)
ConnectDoors()
proc/ConnectDoors()
for(var/list/L in connected_doors)
for(var/item in L)
L.Remove(item)
//
for(var/obj/machinery/door/poddoor/D in world)
if(D.network in connected_doors)
var/list/L = connected_doors[D.network]
L.Add(D)
attack_ai(mob/user)
attack_hand(user)
attack_hand(mob/user)
add_fingerprint(user)
if(stat & (BROKEN|NOPOWER))
return
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
if (!istype(user, /mob/living/silicon))
user.machine = null
user << browse(null, "window=lockdown")
return
var/t = "<B>Lockdown Control</B><BR>"
t += "<A href='?src=\ref[src];refresh=1'>Refresh</A><BR>"
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
t += "<table border=1>"
var/empty = 1
for(var/curNetId in connected_doors)
var/list/L = connected_doors[curNetId]
if(!L || L.len == 0)
continue
empty = 0
t += "<tr>"
if(curNetId in displayedNetworks)
t += "<td><a href='?src=\ref[src];hide_net=[curNetId]'>\[-\]</a><b> " + curNetId + "<b></td>"
t += "<td colspan=\"2\"><b><a href='?src=\ref[src];open_net=[curNetId]'>Open all</a> / <a href='?src=\ref[src];close_net=[curNetId]'>Close all</a></b></td>"
t += "</tr>"
for(var/obj/machinery/door/poddoor/D in connected_doors[curNetId])
t += "<tr>"
t += "<td>[D.id]</td>"
if(istype(D,/obj/machinery/door/poddoor/shutters))
t += "<td>Shutter ([D.density ? "Closed" : "Open"])</td>"
else
t += "<td>Blast door ([D.density ? "Closed" : "Open"])</td>"
t += "<td><b><a href='?src=\ref[D];toggle=1'>Toggle</a></b></td>"
t += "</tr>"
else
t += "<td><a href='?src=\ref[src];show_net=[curNetId]'>\[+\]</a> <b>" + curNetId + "<b></td>"
t += "</table>"
if(empty)
t += "<span class='warning'>No networks connected.</span><br>"
t += "<A href='?src=\ref[src];refresh=1'>Refresh</A><BR>"
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
user << browse(t, "window=lockdown;size=550x600")
onclose(user, "lockdown")
Topic(href, href_list)
if(..()) return 1
if( href_list["close"] )
usr << browse(null, "window=lockdown")
usr.machine = null
if( href_list["show_net"] )
displayedNetworks.Add(href_list["show_net"])
updateDialog()
if( href_list["hide_net"] )
if(href_list["hide_net"] in displayedNetworks)
displayedNetworks.Remove(href_list["hide_net"])
updateDialog()
if( href_list["toggle_id"] )
var/idTag = href_list["toggle_id"]
for(var/net in connected_doors)
for(var/obj/machinery/door/poddoor/D in connected_doors[net])
if(D.id == idTag)
if(D.density)
D.open()
else
D.close()
break
if( href_list["open_net"] )
var/netTag = href_list["open_net"]
for(var/obj/machinery/door/poddoor/D in connected_doors[netTag])
if(D.density) //for some reason, there's no var saying whether the door is open or not >.>
spawn(0)
D.open()
if( href_list["close_net"] )
var/netTag = href_list["close_net"]
for(var/obj/machinery/door/poddoor/D in connected_doors[netTag])
if(!D.density)
spawn(0)
D.close()
src.updateDialog()

View File

@@ -213,7 +213,7 @@
<td width='20%'>[customjob]</td> <td width='20%'>[customjob]</td>
<td width='20%'>[customrecepient ? customrecepient.owner : "NONE"]</td> <td width='20%'>[customrecepient ? customrecepient.owner : "NONE"]</td>
<td width='300px'>[custommessage]</td></tr>"} <td width='300px'>[custommessage]</td></tr>"}
dat += "</table><br><center><A href='?src=\ref[src];select=Send'>Send</a>" dat += "</table><br><center><A href='?src=\ref[src];select=Send'>Send</a></center>"
//Request Console Logs //Request Console Logs
if(4) if(4)

View File

@@ -26,12 +26,12 @@
if(!interactable()) if(!interactable())
return return
var/dat = "<h3>Current Loaded Programs</h3>" var/dat = "<h3>Current Loaded Programs</h3>"
dat += "<A href='?src=\ref[src];emptycourt'>((Empty Court)</font>)</A><BR>" dat += "<A href='?src=\ref[src];emptycourt'>((Empty Court))</A><BR>"
dat += "<A href='?src=\ref[src];boxingcourt'>((Boxing Court)</font>)</A><BR>" dat += "<A href='?src=\ref[src];boxingcourt'>((Boxing Court))</A><BR>"
dat += "<A href='?src=\ref[src];basketball'>((Basketball Court)</font>)</A><BR>" dat += "<A href='?src=\ref[src];basketball'>((Basketball Court))</A><BR>"
dat += "<A href='?src=\ref[src];thunderdomecourt'>((Thunderdome Court)</font>)</A><BR>" dat += "<A href='?src=\ref[src];thunderdomecourt'>((Thunderdome Court))</A><BR>"
dat += "<A href='?src=\ref[src];beach'>((Beach)</font>)</A><BR>" dat += "<A href='?src=\ref[src];beach'>((Beach))</A><BR>"
// dat += "<A href='?src=\ref[src];turnoff'>((Shutdown System)</font>)</A><BR>" // dat += "<A href='?src=\ref[src];turnoff'>((Shutdown System))</A><BR>"
dat += "<span class='notice'>Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.</span><BR>" dat += "<span class='notice'>Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.</span><BR>"

View File

@@ -75,11 +75,12 @@
dat += "<br><center><h3>[temp]</h3></center>" dat += "<br><center><h3>[temp]</h3></center>"
dat += "<br><center>Health: [player_hp] | Magic: [player_mp] | Enemy Health: [enemy_hp]</center>" dat += "<br><center>Health: [player_hp] | Magic: [player_mp] | Enemy Health: [enemy_hp]</center>"
dat += "<center><b>"
if (gameover) if (gameover)
dat += "<center><b>[topic_link(src,"newgame","New Game")]" dat += "[topic_link(src,"newgame","New Game")]"
else else
dat += "<center><b>[topic_link(src,"attack","Attack")] | [topic_link(src,"heal","Heal")] | [topic_link(src,"charge","Recharge Power")]" dat += "[topic_link(src,"attack","Attack")] | [topic_link(src,"heal","Heal")] | [topic_link(src,"charge","Recharge Power")]"
dat += "</b></center>" dat += "</b></center>"

View File

@@ -35,7 +35,7 @@
var jobs_all = "" var jobs_all = ""
jobs_all += "<table><tr><td></td><td><b>Command</b></td>" jobs_all += "<table><tr><td></td><td><b>Command</b></td>"
jobs_all += "</tr><tr height='20'><td><b>Special</b></font></td>"//Captain in special because he is head of heads ~Intercross21 jobs_all += "</tr><tr height='20'><td><b>Special</b></td>"//Captain in special because he is head of heads ~Intercross21
jobs_all += "<td weight='100'><a href='?src=\ref[src];;assign=Captain'>Captain</a></td>" jobs_all += "<td weight='100'><a href='?src=\ref[src];;assign=Captain'>Captain</a></td>"
jobs_all += "<td weight='100'><a href='?src=\ref[src];;assign=Custom'>Custom</a></td>" jobs_all += "<td weight='100'><a href='?src=\ref[src];;assign=Custom'>Custom</a></td>"

View File

@@ -50,7 +50,7 @@
for(var/log in logs) for(var/log in logs)
t += log t += log
t += "</table>" t += "</table>"
t += "</FONT></PRE></TT>" t += "</TT>"
popup.set_content(t) popup.set_content(t)
popup.open() popup.open()

View File

@@ -49,7 +49,7 @@
if(T.malfunction) if(T.malfunction)
loc_display = pick(teleportlocs) loc_display = pick(teleportlocs)
dat += "ID: [T.id] | Location: [loc_display]<BR>" dat += "ID: [T.id] | Location: [loc_display]<BR>"
dat += "<A href='?src=\ref[src];warn=\ref[T]'>(<i>Send Message</i></font>)</A> |<BR>" dat += "<A href='?src=\ref[src];warn=\ref[T]'>(<font color=red><i>Send Message</i></font>)</A> |<BR>"
dat += "********************************<BR>" dat += "********************************<BR>"
dat += "<HR><A href='?src=\ref[src];lock=1'>Lock Console</A>" dat += "<HR><A href='?src=\ref[src];lock=1'>Lock Console</A>"

View File

@@ -67,14 +67,14 @@
var/dat = "<TT><center><b>[vendorname]</b></center><hr /><br>" //display the name, and added a horizontal rule var/dat = "<TT><center><b>[vendorname]</b></center><hr /><br>" //display the name, and added a horizontal rule
if(vendmode == 0) if(vendmode == 0)
dat += "<center><b>Please choose your laptop customization options</b></center><br>" dat += "<center><b>Please choose your laptop customization options</b></center><br>"
dat += "<center>Your comptuer will automatically be loaded with any programs you can use after the transaction is complete." dat += "<center>Your comptuer will automatically be loaded with any programs you can use after the transaction is complete.</center>"
dat += "<center><b>Some programs will require additional components to be installed!</center></b><hr /><br>" dat += "<center><b>Some programs will require additional components to be installed!</center></b><hr /><br>"
dat += "<center><b>HDD (Required)</b> : Added</center><br>" dat += "<center><b>HDD (Required)</b> : Added</center><br>"
dat += "<center><b>Card Reader</b> : <A href='?src=\ref[src];choice=single_add'>Single (50)</a> | <A href='?src=\ref[src];choice=dual_add'>Dual (125)</a><br>" dat += "<center><b>Card Reader</b> : <A href='?src=\ref[src];choice=single_add'>Single (50)</a> | <A href='?src=\ref[src];choice=dual_add'>Dual (125)</a></center><br>"
dat += "<center><b>Floppy Drive</b>: <A href='?src=\ref[src];choice=floppy_add'>Add (50)</a><br>" dat += "<center><b>Floppy Drive</b>: <A href='?src=\ref[src];choice=floppy_add'>Add (50)</a></center><br>"
dat += "<center><b>Radio Network card</b> <A href='?src=\ref[src];choice=radio_add'>Add (50)</a><br>" dat += "<center><b>Radio Network card</b> <A href='?src=\ref[src];choice=radio_add'>Add (50)</a></center><br>"
dat += "<center><b>Camera Card</b> <A href='?src=\ref[src];choice=camnet_add'>Add (100)</a><br>" dat += "<center><b>Camera Card</b> <A href='?src=\ref[src];choice=camnet_add'>Add (100)</a></center><br>"
dat += "<center><b> Network card</b> <A href='?src=\ref[src];choice=area_add'>Area (75)</a> <A href='?src=\ref[src];choice=prox_add'>Adjacent (50)</a><A href='?src=\ref[src];choice=cable_add'>Powernet (25)</a><br>" dat += "<center><b> Network card</b> <A href='?src=\ref[src];choice=area_add'>Area (75)</a> <A href='?src=\ref[src];choice=prox_add'>Adjacent (50)</a><A href='?src=\ref[src];choice=cable_add'>Powernet (25)</a></center><br>"
dat += "<hr /><center> Power source upgrade</center> <A href='?src=\ref[src];choice=high_add'>Extended (175)</a> <A href='?src=\ref[src];choice=super_add'>Unreal (250)</a>" dat += "<hr /><center> Power source upgrade</center> <A href='?src=\ref[src];choice=high_add'>Extended (175)</a> <A href='?src=\ref[src];choice=super_add'>Unreal (250)</a>"
if(vendmode == 0 || vendmode == 1) if(vendmode == 0 || vendmode == 1)

View File

@@ -417,7 +417,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
dat+="Channel messages listed below. If you deem them dangerous to the station, you can <A href='?src=\ref[src];toggle_d_notice=\ref[src.viewing_channel]'>Bestow a D-Notice upon the channel</A>.<HR>" dat+="Channel messages listed below. If you deem them dangerous to the station, you can <A href='?src=\ref[src];toggle_d_notice=\ref[src.viewing_channel]'>Bestow a D-Notice upon the channel</A>.<HR>"
if(src.viewing_channel.censored) if(src.viewing_channel.censored)
dat+="<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR>" dat+="<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR>"
dat+="No further feed story additions are allowed while the D-Notice is in effect.</FONT><BR><BR>" dat+="No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>"
else else
if( isemptylist(src.viewing_channel.messages) ) if( isemptylist(src.viewing_channel.messages) )
dat+="<I>No feed messages found in channel...</I><BR>" dat+="<I>No feed messages found in channel...</I><BR>"

View File

@@ -99,8 +99,8 @@
if(src.panelopen) //The maintenance panel is open. Time for some shady stuff if(src.panelopen) //The maintenance panel is open. Time for some shady stuff
dat+= "<HEAD><TITLE>Suit storage unit: Maintenance panel</TITLE></HEAD>" dat+= "<HEAD><TITLE>Suit storage unit: Maintenance panel</TITLE></HEAD>"
dat+= "<Font color ='black'><B>Maintenance panel controls</B></font><HR>" dat+= "<Font color ='black'><B>Maintenance panel controls</B></font><HR>"
dat+= "<font color ='grey'>The panel is ridden with controls, button and meters, labeled in strange signs and symbols that <BR>you cannot understand. Probably the manufactoring world's language.<BR> Among other things, a few controls catch your eye.<BR><BR>" dat+= "<font color ='grey'>The panel is ridden with controls, button and meters, labeled in strange signs and symbols that <BR>you cannot understand. Probably the manufactoring world's language.<BR> Among other things, a few controls catch your eye.</font><BR><BR>"
dat+= text("<font color ='black'>A small dial with a small lambda symbol on it. It's pointing towards a gauge that reads []</font>.<BR> <font color='blue'><A href='?src=\ref[];toggleUV=1'> Turn towards []</A><BR>",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") ) dat+= text("<font color ='black'>A small dial with a small lambda symbol on it. It's pointing towards a gauge that reads []</font>.<BR> <font color='blue'><A href='?src=\ref[];toggleUV=1'> Turn towards []</A></font><BR>",(src.issuperUV ? "15nm" : "185nm"),src,(src.issuperUV ? "185nm" : "15nm") )
dat+= text("<font color ='black'>A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.</font><BR><font color ='blue'><A href='?src=\ref[];togglesafeties=1'>Press button</a></font>",(src.safetieson? "<font color='green'><B>GREEN</B></font>" : "<font color='red'><B>RED</B></font>"),src) dat+= text("<font color ='black'>A thick old-style button, with 2 grimy LED lights next to it. The [] LED is on.</font><BR><font color ='blue'><A href='?src=\ref[];togglesafeties=1'>Press button</a></font>",(src.safetieson? "<font color='green'><B>GREEN</B></font>" : "<font color='red'><B>RED</B></font>"),src)
dat+= text("<HR><BR><A href='?src=\ref[];mach_close=suit_storage_unit'>Close panel</A>", user) dat+= text("<HR><BR><A href='?src=\ref[];mach_close=suit_storage_unit'>Close panel</A>", user)
//user << browse(dat, "window=ssu_m_panel;size=400x500") //user << browse(dat, "window=ssu_m_panel;size=400x500")
@@ -116,7 +116,7 @@
if(!src.isbroken) if(!src.isbroken)
dat+= "<HEAD><TITLE>Suit storage unit</TITLE></HEAD>" dat+= "<HEAD><TITLE>Suit storage unit</TITLE></HEAD>"
dat+= "<font color='blue'><font size = 4><B>U-Stor-It Suit Storage Unit, model DS1900</B></FONT><BR>" dat+= "<font color='blue'><font size = 4><B>U-Stor-It Suit Storage Unit, model DS1900</B></FONT><BR>"
dat+= "<B>Welcome to the Unit control panel.</B><HR>" dat+= "<B>Welcome to the Unit control panel.</B></FONT><HR>"
dat+= text("<font color='black'>Helmet storage compartment: <B>[]</B></font><BR>",(src.HELMET ? HELMET.name : "</font><font color ='grey'>No helmet detected.") ) dat+= text("<font color='black'>Helmet storage compartment: <B>[]</B></font><BR>",(src.HELMET ? HELMET.name : "</font><font color ='grey'>No helmet detected.") )
if(HELMET && src.isopen) if(HELMET && src.isopen)
dat+=text("<A href='?src=\ref[];dispense_helmet=1'>Dispense helmet</A><BR>",src) dat+=text("<A href='?src=\ref[];dispense_helmet=1'>Dispense helmet</A><BR>",src)
@@ -755,7 +755,7 @@
return return
..() ..()
/obj/machinery/suit_cycler/emag_act(var/remaining_charges, var/mob/user) /obj/machinery/suit_cycler/emag_act(var/remaining_charges, var/mob/user)
if(emagged) if(emagged)
user << "<span class='danger'>The cycler has already been subverted.</span>" user << "<span class='danger'>The cycler has already been subverted.</span>"
@@ -811,7 +811,7 @@
dat += "<A href='?src=\ref[src];select_rad_level=1'>\[select power level\]</a> <A href='?src=\ref[src];begin_decontamination=1'>\[begin decontamination cycle\]</a><br><hr>" dat += "<A href='?src=\ref[src];select_rad_level=1'>\[select power level\]</a> <A href='?src=\ref[src];begin_decontamination=1'>\[begin decontamination cycle\]</a><br><hr>"
dat += "<h2>Customisation</h2>" dat += "<h2>Customisation</h2>"
dat += "<b>Target product: <A href='?src=\ref[src];select_department=1'>[target_department]</a>, <A href='?src=\ref[src];select_species=1'>[target_species]</a>." dat += "<b>Target product:</b> <A href='?src=\ref[src];select_department=1'>[target_department]</a>, <A href='?src=\ref[src];select_species=1'>[target_species]</a>."
dat += "<A href='?src=\ref[src];apply_paintjob=1'><br>\[apply customisation routine\]</a><br><hr>" dat += "<A href='?src=\ref[src];apply_paintjob=1'><br>\[apply customisation routine\]</a><br><hr>"
if(panel_open) if(panel_open)

View File

@@ -92,7 +92,7 @@
else if(C.input_type == "Execution Error") else if(C.input_type == "Execution Error")
dat += "<li><font color = #990000>[C.name]</font> <font color = #FF0000><a href='?src=\ref[src];delete=[i]'>\[X\]</a></font color><br>" dat += "<li><font color = #990000>[C.name]</font> <font color = #FF0000><a href='?src=\ref[src];delete=[i]'>\[X\]</a></font><br>"
dat += "<u><font color = #787700>Output</font></u>: \"[C.parameters["message"]]\"<br>" dat += "<u><font color = #787700>Output</font></u>: \"[C.parameters["message"]]\"<br>"
dat += "</li><br>" dat += "</li><br>"
@@ -135,7 +135,7 @@
if("scan") if("scan")
if(servers.len > 0) if(servers.len > 0)
temp = "<font color = #D70B00>- FAILED: CANNOT PROBE WHEN BUFFER FULL -</font color>" temp = "<font color = #D70B00>- FAILED: CANNOT PROBE WHEN BUFFER FULL -</font>"
else else
for(var/obj/machinery/telecomms/server/T in range(25, src)) for(var/obj/machinery/telecomms/server/T in range(25, src))
@@ -143,9 +143,9 @@
servers.Add(T) servers.Add(T)
if(!servers.len) if(!servers.len)
temp = "<font color = #D70B00>- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -</font color>" temp = "<font color = #D70B00>- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -</font>"
else else
temp = "<font color = #336699>- [servers.len] SERVERS PROBED & BUFFERED -</font color>" temp = "<font color = #336699>- [servers.len] SERVERS PROBED & BUFFERED -</font>"
screen = 0 screen = 0
@@ -159,13 +159,13 @@
var/datum/comm_log_entry/D = SelectedServer.log_entries[text2num(href_list["delete"])] var/datum/comm_log_entry/D = SelectedServer.log_entries[text2num(href_list["delete"])]
temp = "<font color = #336699>- DELETED ENTRY: [D.name] -</font color>" temp = "<font color = #336699>- DELETED ENTRY: [D.name] -</font>"
SelectedServer.log_entries.Remove(D) SelectedServer.log_entries.Remove(D)
qdel(D) qdel(D)
else else
temp = "<font color = #D70B00>- FAILED: NO SELECTED MACHINE -</font color>" temp = "<font color = #D70B00>- FAILED: NO SELECTED MACHINE -</font>"
if(href_list["network"]) if(href_list["network"])
@@ -173,14 +173,14 @@
if(newnet && ((usr in range(1, src) || issilicon(usr)))) if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(length(newnet) > 15) if(length(newnet) > 15)
temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font color>" temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font>"
else else
network = newnet network = newnet
screen = 0 screen = 0
servers = list() servers = list()
temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font color>" temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font>"
updateUsrDialog() updateUsrDialog()
return return

View File

@@ -231,7 +231,7 @@
/obj/machinery/telecomms/processor/Options_Topic(href, href_list) /obj/machinery/telecomms/processor/Options_Topic(href, href_list)
if(href_list["process"]) if(href_list["process"])
temp = "<font color = #666633>-% Processing mode changed. %-</font color>" temp = "<font color = #666633>-% Processing mode changed. %-</font>"
src.process_mode = !src.process_mode src.process_mode = !src.process_mode
*/ */
@@ -249,18 +249,18 @@
if(href_list["receive"]) if(href_list["receive"])
receiving = !receiving receiving = !receiving
temp = "<font color = #666633>-% Receiving mode changed. %-</font color>" temp = "<font color = #666633>-% Receiving mode changed. %-</font>"
if(href_list["broadcast"]) if(href_list["broadcast"])
broadcasting = !broadcasting broadcasting = !broadcasting
temp = "<font color = #666633>-% Broadcasting mode changed. %-</font color>" temp = "<font color = #666633>-% Broadcasting mode changed. %-</font>"
if(href_list["change_listening"]) if(href_list["change_listening"])
//Lock to the station OR lock to the current position! //Lock to the station OR lock to the current position!
//You need at least two receivers and two broadcasters for this to work, this includes the machine. //You need at least two receivers and two broadcasters for this to work, this includes the machine.
var/result = toggle_level() var/result = toggle_level()
if(result) if(result)
temp = "<font color = #666633>-% [src]'s signal has been successfully changed.</font color>" temp = "<font color = #666633>-% [src]'s signal has been successfully changed.</font>"
else else
temp = "<font color = #666633>-% [src] could not lock it's signal onto the station. Two broadcasters or receivers required.</font color>" temp = "<font color = #666633>-% [src] could not lock it's signal onto the station. Two broadcasters or receivers required.</font>"
// BUS // BUS
@@ -279,10 +279,10 @@
newfreq *= 10 // shift the decimal one place newfreq *= 10 // shift the decimal one place
if(newfreq < 10000) if(newfreq < 10000)
change_frequency = newfreq change_frequency = newfreq
temp = "<font color = #666633>-% New frequency to change to assigned: \"[newfreq] GHz\" %-</font color>" temp = "<font color = #666633>-% New frequency to change to assigned: \"[newfreq] GHz\" %-</font>"
else else
change_frequency = 0 change_frequency = 0
temp = "<font color = #666633>-% Frequency changing deactivated %-</font color>" temp = "<font color = #666633>-% Frequency changing deactivated %-</font>"
/obj/machinery/telecomms/Topic(href, href_list) /obj/machinery/telecomms/Topic(href, href_list)
@@ -302,27 +302,27 @@
if("toggle") if("toggle")
src.toggled = !src.toggled src.toggled = !src.toggled
temp = "<font color = #666633>-% [src] has been [src.toggled ? "activated" : "deactivated"].</font color>" temp = "<font color = #666633>-% [src] has been [src.toggled ? "activated" : "deactivated"].</font>"
update_power() update_power()
/* /*
if("hide") if("hide")
src.hide = !hide src.hide = !hide
temp = "<font color = #666633>-% Shadow Link has been [src.hide ? "activated" : "deactivated"].</font color>" temp = "<font color = #666633>-% Shadow Link has been [src.hide ? "activated" : "deactivated"].</font>"
*/ */
if("id") if("id")
var/newid = copytext(reject_bad_text(input(usr, "Specify the new ID for this machine", src, id) as null|text),1,MAX_MESSAGE_LEN) var/newid = copytext(reject_bad_text(input(usr, "Specify the new ID for this machine", src, id) as null|text),1,MAX_MESSAGE_LEN)
if(newid && canAccess(usr)) if(newid && canAccess(usr))
id = newid id = newid
temp = "<font color = #666633>-% New ID assigned: \"[id]\" %-</font color>" temp = "<font color = #666633>-% New ID assigned: \"[id]\" %-</font>"
if("network") if("network")
var/newnet = input(usr, "Specify the new network for this machine. This will break all current links.", src, network) as null|text var/newnet = input(usr, "Specify the new network for this machine. This will break all current links.", src, network) as null|text
if(newnet && canAccess(usr)) if(newnet && canAccess(usr))
if(length(newnet) > 15) if(length(newnet) > 15)
temp = "<font color = #666633>-% Too many characters in new network tag %-</font color>" temp = "<font color = #666633>-% Too many characters in new network tag %-</font>"
else else
for(var/obj/machinery/telecomms/T in links) for(var/obj/machinery/telecomms/T in links)
@@ -330,7 +330,7 @@
network = newnet network = newnet
links = list() links = list()
temp = "<font color = #666633>-% New network tag assigned: \"[network]\" %-</font color>" temp = "<font color = #666633>-% New network tag assigned: \"[network]\" %-</font>"
if("freq") if("freq")
@@ -340,21 +340,21 @@
newfreq *= 10 // shift the decimal one place newfreq *= 10 // shift the decimal one place
if(!(newfreq in freq_listening) && newfreq < 10000) if(!(newfreq in freq_listening) && newfreq < 10000)
freq_listening.Add(newfreq) freq_listening.Add(newfreq)
temp = "<font color = #666633>-% New frequency filter assigned: \"[newfreq] GHz\" %-</font color>" temp = "<font color = #666633>-% New frequency filter assigned: \"[newfreq] GHz\" %-</font>"
if(href_list["delete"]) if(href_list["delete"])
// changed the layout about to workaround a pesky runtime -- Doohl // changed the layout about to workaround a pesky runtime -- Doohl
var/x = text2num(href_list["delete"]) var/x = text2num(href_list["delete"])
temp = "<font color = #666633>-% Removed frequency filter [x] %-</font color>" temp = "<font color = #666633>-% Removed frequency filter [x] %-</font>"
freq_listening.Remove(x) freq_listening.Remove(x)
if(href_list["unlink"]) if(href_list["unlink"])
if(text2num(href_list["unlink"]) <= length(links)) if(text2num(href_list["unlink"]) <= length(links))
var/obj/machinery/telecomms/T = links[text2num(href_list["unlink"])] var/obj/machinery/telecomms/T = links[text2num(href_list["unlink"])]
temp = "<font color = #666633>-% Removed \ref[T] [T.name] from linked entities. %-</font color>" temp = "<font color = #666633>-% Removed \ref[T] [T.name] from linked entities. %-</font>"
// Remove link entries from both T and src. // Remove link entries from both T and src.
@@ -372,20 +372,20 @@
if(!(P.buffer in src.links)) if(!(P.buffer in src.links))
src.links.Add(P.buffer) src.links.Add(P.buffer)
temp = "<font color = #666633>-% Successfully linked with \ref[P.buffer] [P.buffer.name] %-</font color>" temp = "<font color = #666633>-% Successfully linked with \ref[P.buffer] [P.buffer.name] %-</font>"
else else
temp = "<font color = #666633>-% Unable to acquire buffer %-</font color>" temp = "<font color = #666633>-% Unable to acquire buffer %-</font>"
if(href_list["buffer"]) if(href_list["buffer"])
P.buffer = src P.buffer = src
temp = "<font color = #666633>-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-</font color>" temp = "<font color = #666633>-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-</font>"
if(href_list["flush"]) if(href_list["flush"])
temp = "<font color = #666633>-% Buffer successfully flushed. %-</font color>" temp = "<font color = #666633>-% Buffer successfully flushed. %-</font>"
P.buffer = null P.buffer = null
src.Options_Topic(href, href_list) src.Options_Topic(href, href_list)

View File

@@ -92,7 +92,7 @@
if("probe") if("probe")
if(machinelist.len > 0) if(machinelist.len > 0)
temp = "<font color = #D70B00>- FAILED: CANNOT PROBE WHEN BUFFER FULL -</font color>" temp = "<font color = #D70B00>- FAILED: CANNOT PROBE WHEN BUFFER FULL -</font>"
else else
for(var/obj/machinery/telecomms/T in range(25, src)) for(var/obj/machinery/telecomms/T in range(25, src))
@@ -100,9 +100,9 @@
machinelist.Add(T) machinelist.Add(T)
if(!machinelist.len) if(!machinelist.len)
temp = "<font color = #D70B00>- FAILED: UNABLE TO LOCATE NETWORK ENTITIES IN \[[network]\] -</font color>" temp = "<font color = #D70B00>- FAILED: UNABLE TO LOCATE NETWORK ENTITIES IN \[[network]\] -</font>"
else else
temp = "<font color = #336699>- [machinelist.len] ENTITIES LOCATED & BUFFERED -</font color>" temp = "<font color = #336699>- [machinelist.len] ENTITIES LOCATED & BUFFERED -</font>"
screen = 0 screen = 0
@@ -112,13 +112,13 @@
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
if(newnet && ((usr in range(1, src) || issilicon(usr)))) if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(length(newnet) > 15) if(length(newnet) > 15)
temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font color>" temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font>"
else else
network = newnet network = newnet
screen = 0 screen = 0
machinelist = list() machinelist = list()
temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font color>" temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font>"
updateUsrDialog() updateUsrDialog()
return return

View File

@@ -147,7 +147,7 @@
if("scan") if("scan")
if(servers.len > 0) if(servers.len > 0)
temp = "<font color = #D70B00>- FAILED: CANNOT PROBE WHEN BUFFER FULL -</font color>" temp = "<font color = #D70B00>- FAILED: CANNOT PROBE WHEN BUFFER FULL -</font>"
else else
for(var/obj/machinery/telecomms/server/T in range(25, src)) for(var/obj/machinery/telecomms/server/T in range(25, src))
@@ -155,9 +155,9 @@
servers.Add(T) servers.Add(T)
if(!servers.len) if(!servers.len)
temp = "<font color = #D70B00>- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -</font color>" temp = "<font color = #D70B00>- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -</font>"
else else
temp = "<font color = #336699>- [servers.len] SERVERS PROBED & BUFFERED -</font color>" temp = "<font color = #336699>- [servers.len] SERVERS PROBED & BUFFERED -</font>"
screen = 0 screen = 0
@@ -194,14 +194,14 @@
if(newnet && ((usr in range(1, src) || issilicon(usr)))) if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(length(newnet) > 15) if(length(newnet) > 15)
temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font color>" temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font>"
else else
network = newnet network = newnet
screen = 0 screen = 0
servers = list() servers = list()
temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font color>" temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font>"
updateUsrDialog() updateUsrDialog()
return return

View File

@@ -136,7 +136,7 @@
if(get_charge() > 0) if(get_charge() > 0)
thrusters = !thrusters thrusters = !thrusters
src.log_message("Toggled thrusters.") src.log_message("Toggled thrusters.")
src.occupant_message("<font color='[src.thrusters?"blue":"red"]'>Thrusters [thrusters?"en":"dis"]abled.") src.occupant_message("<font color='[src.thrusters?"blue":"red"]'>Thrusters [thrusters?"en":"dis"]abled.</font>")
return return

View File

@@ -153,7 +153,7 @@ var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/blood/writing/examine(mob/user) /obj/effect/decal/cleanable/blood/writing/examine(mob/user)
..(user) ..(user)
user << "It reads: <font color='[basecolor]'>\"[message]\"<font>" user << "It reads: <font color='[basecolor]'>\"[message]\"</font>"
/obj/effect/decal/cleanable/blood/gibs /obj/effect/decal/cleanable/blood/gibs
name = "gibs" name = "gibs"

View File

@@ -1238,7 +1238,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
for(var/datum/disease/D in C.viruses) for(var/datum/disease/D in C.viruses)
if(!D.hidden[SCANNER]) if(!D.hidden[SCANNER])
user.show_message("<span class='warning'>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]</span>") user.show_message("<span class='warning'><b>Warning: [D.form] Detected</b>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]</span>")
if(2) if(2)
if (!istype(C:dna, /datum/dna)) if (!istype(C:dna, /datum/dna))

View File

@@ -181,7 +181,7 @@
</table> </table>
<br> <br>
"} "}
else else //</font></font>
dat += "<b>Radio Uplink</b><br>" dat += "<b>Radio Uplink</b><br>"
dat += "<font color=red><i>Radio firmware not loaded. Please install a pAI personality to load firmware.</i></font><br>" dat += "<font color=red><i>Radio firmware not loaded. Please install a pAI personality to load firmware.</i></font><br>"
dat += {" dat += {"

View File

@@ -271,7 +271,7 @@
Notes are played by the names of the note, and optionally, the accidental, and/or the octave number.<br> Notes are played by the names of the note, and optionally, the accidental, and/or the octave number.<br>
By default, every note is natural and in octave 3. Defining otherwise is remembered for each note.<br> By default, every note is natural and in octave 3. Defining otherwise is remembered for each note.<br>
Example: <i>C,D,E,F,G,A,B</i> will play a C major scale.<br> Example: <i>C,D,E,F,G,A,B</i> will play a C major scale.<br>
After a note has an accidental placed, it will be remembered: <i>C,C4,C,C3</i> is C3,C4,C4,C3</i><br> After a note has an accidental placed, it will be remembered: <i>C,C4,C,C3</i> is <i>C3,C4,C4,C3</i><br>
Chords can be played simply by seperating each note with a hyphon: <i>A-C#,Cn-E,E-G#,Gn-B</i><br> Chords can be played simply by seperating each note with a hyphon: <i>A-C#,Cn-E,E-G#,Gn-B</i><br>
A pause may be denoted by an empty chord: <i>C,E,,C,G</i><br> A pause may be denoted by an empty chord: <i>C,E,,C,G</i><br>
To make a chord be a different time, end it with /x, where the chord length will be length<br> To make a chord be a different time, end it with /x, where the chord length will be length<br>

View File

@@ -373,7 +373,7 @@
<body> <body>
<center> <center>
<br> <br>
<b style='font-size: 12px;'>Weyland-Yutani - Building Better Worlds</b> <span style='font-size: 12px;'><b>Weyland-Yutani - Building Better Worlds</b></span>
<h1>Autonomous Power Loader Unit \"Ripley\"</h1> <h1>Autonomous Power Loader Unit \"Ripley\"</h1>
</center> </center>
<h2>Specifications:</h2> <h2>Specifications:</h2>
@@ -384,7 +384,7 @@
<li><b>Height:</b> 2.5m</li> <li><b>Height:</b> 2.5m</li>
<li><b>Width:</b> 1.8m</li> <li><b>Width:</b> 1.8m</li>
<li><b>Top speed:</b> 5km/hour</li> <li><b>Top speed:</b> 5km/hour</li>
<li><b>Operation in vacuum/hostile environment:</b> Possible</b> <li><b>Operation in vacuum/hostile environment: Possible</b>
<li><b>Airtank volume:</b> 500 liters</li> <li><b>Airtank volume:</b> 500 liters</li>
<li><b>Devices:</b> <li><b>Devices:</b>
<ul class="a"> <ul class="a">

View File

@@ -9,7 +9,7 @@
* Banhammer * Banhammer
*/ */
/obj/item/weapon/banhammer/attack(mob/M as mob, mob/user as mob) /obj/item/weapon/banhammer/attack(mob/M as mob, mob/user as mob)
M << "<font color='red'><b> You have been banned FOR NO REISIN by [user]<b></font>" M << "<font color='red'><b> You have been banned FOR NO REISIN by [user]</b></font>"
user << "<font color='red'> You have <b>BANNED</b> [M]</font>" user << "<font color='red'> You have <b>BANNED</b> [M]</font>"
/* /*

View File

@@ -291,7 +291,7 @@
Notes are played by the names of the note, and optionally, the accidental, and/or the octave number.<br> Notes are played by the names of the note, and optionally, the accidental, and/or the octave number.<br>
By default, every note is natural and in octave 3. Defining otherwise is remembered for each note.<br> By default, every note is natural and in octave 3. Defining otherwise is remembered for each note.<br>
Example: <i>C,D,E,F,G,A,B</i> will play a C major scale.<br> Example: <i>C,D,E,F,G,A,B</i> will play a C major scale.<br>
After a note has an accidental placed, it will be remembered: <i>C,C4,C,C3</i> is C3,C4,C4,C3</i><br> After a note has an accidental placed, it will be remembered: <i>C,C4,C,C3</i> is <i>C3,C4,C4,C3</i><br>
Chords can be played simply by seperating each note with a hyphon: <i>A-C#,Cn-E,E-G#,Gn-B</i><br> Chords can be played simply by seperating each note with a hyphon: <i>A-C#,Cn-E,E-G#,Gn-B</i><br>
A pause may be denoted by an empty chord: <i>C,E,,C,G</i><br> A pause may be denoted by an empty chord: <i>C,E,,C,G</i><br>
To make a chord be a different time, end it with /x, where the chord length will be length<br> To make a chord be a different time, end it with /x, where the chord length will be length<br>

View File

@@ -51,7 +51,7 @@ client/verb/JoinResponseTeam()
usr << "No emergency response team is currently being sent." usr << "No emergency response team is currently being sent."
return return
if(jobban_isbanned(usr, "Syndicate") || jobban_isbanned(usr, "Emergency Response Team") || jobban_isbanned(usr, "Security Officer")) if(jobban_isbanned(usr, "Syndicate") || jobban_isbanned(usr, "Emergency Response Team") || jobban_isbanned(usr, "Security Officer"))
usr << "<font color=red><b>You are jobbanned from the emergency reponse team!" usr << "<span class='danger'>You are jobbanned from the emergency reponse team!</span>"
return return
if(ert.current_antagonists.len > 5) if(ert.current_antagonists.len > 5)
usr << "The emergency response team is already full!" usr << "The emergency response team is already full!"

View File

@@ -430,9 +430,9 @@ datum/admins/proc/DB_ban_unban_by_id(var/id)
if("TEMPBAN") if("TEMPBAN")
typedesc = "<b>TEMPBAN</b><br><font size='2'>([duration] minutes [(unbanned) ? "" : "(<a href=\"byond://?src=\ref[src];dbbanedit=duration;dbbanid=[banid]\">Edit</a>))"]<br>Expires [expiration]</font>" typedesc = "<b>TEMPBAN</b><br><font size='2'>([duration] minutes [(unbanned) ? "" : "(<a href=\"byond://?src=\ref[src];dbbanedit=duration;dbbanid=[banid]\">Edit</a>))"]<br>Expires [expiration]</font>"
if("JOB_PERMABAN") if("JOB_PERMABAN")
typedesc = "<b>JOBBAN</b><br><font size='2'>([job])" typedesc = "<b>JOBBAN</b><br><font size='2'>([job])</font>"
if("JOB_TEMPBAN") if("JOB_TEMPBAN")
typedesc = "<b>TEMP JOBBAN</b><br><font size='2'>([job])<br>([duration] minutes<br>Expires [expiration]" typedesc = "<b>TEMP JOBBAN</b><br><font size='2'>([job])<br>([duration] minutes<br>Expires [expiration]</font>"
output += "<tr bgcolor='[dcolor]'>" output += "<tr bgcolor='[dcolor]'>"
output += "<td align='center'>[typedesc]</td>" output += "<td align='center'>[typedesc]</td>"

View File

@@ -58,7 +58,7 @@ proc/admin_notice(var/message, var/rights)
<a href='?src=\ref[src];traitor=\ref[M]'>TP</a> - <a href='?src=\ref[src];traitor=\ref[M]'>TP</a> -
<a href='?src=\ref[usr];priv_msg=\ref[M]'>PM</a> - <a href='?src=\ref[usr];priv_msg=\ref[M]'>PM</a> -
<a href='?src=\ref[src];subtlemessage=\ref[M]'>SM</a> - <a href='?src=\ref[src];subtlemessage=\ref[M]'>SM</a> -
[admin_jump_link(M, src)]\] </b><br> [admin_jump_link(M, src)]\] <br>
<b>Mob type</b> = [M.type]<br><br> <b>Mob type</b> = [M.type]<br><br>
<A href='?src=\ref[src];boot2=\ref[M]'>Kick</A> | <A href='?src=\ref[src];boot2=\ref[M]'>Kick</A> |
<A href='?_src_=holder;warn=[M.ckey]'>Warn</A> | <A href='?_src_=holder;warn=[M.ckey]'>Warn</A> |
@@ -335,7 +335,7 @@ proc/admin_notice(var/message, var/rights)
if(0) if(0)
dat += {"Welcome to the admin newscaster.<BR> Here you can add, edit and censor every newspiece on the network. dat += {"Welcome to the admin newscaster.<BR> Here you can add, edit and censor every newspiece on the network.
<BR>Feed channels and stories entered through here will be uneditable and handled as official news by the rest of the units. <BR>Feed channels and stories entered through here will be uneditable and handled as official news by the rest of the units.
<BR>Note that this panel allows full freedom over the news network, there are no constrictions except the few basic ones. Don't break things!</FONT> <BR>Note that this panel allows full freedom over the news network, there are no constrictions except the few basic ones. Don't break things!
"} "}
if(news_network.wanted_issue) if(news_network.wanted_issue)
dat+= "<HR><A href='?src=\ref[src];ac_view_wanted=1'>Read Wanted Issue</A>" dat+= "<HR><A href='?src=\ref[src];ac_view_wanted=1'>Read Wanted Issue</A>"
@@ -420,7 +420,7 @@ proc/admin_notice(var/message, var/rights)
if(src.admincaster_feed_channel.censored) if(src.admincaster_feed_channel.censored)
dat+={" dat+={"
<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR> <FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR>
No further feed story additions are allowed while the D-Notice is in effect.</FONT><BR><BR> No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>
"} "}
else else
if( isemptylist(src.admincaster_feed_channel.messages) ) if( isemptylist(src.admincaster_feed_channel.messages) )
@@ -487,7 +487,7 @@ proc/admin_notice(var/message, var/rights)
if(src.admincaster_feed_channel.censored) if(src.admincaster_feed_channel.censored)
dat+={" dat+={"
<FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR> <FONT COLOR='red'><B>ATTENTION: </B></FONT>This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.<BR>
No further feed story additions are allowed while the D-Notice is in effect.</FONT><BR><BR> No further feed story additions are allowed while the D-Notice is in effect.<BR><BR>
"} "}
else else
if( isemptylist(src.admincaster_feed_channel.messages) ) if( isemptylist(src.admincaster_feed_channel.messages) )
@@ -727,7 +727,7 @@ proc/admin_notice(var/message, var/rights)
if(confirm == "Cancel") if(confirm == "Cancel")
return return
if(confirm == "Yes") if(confirm == "Yes")
world << "\red <b>Restarting world!</b> \blue Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!" world << "<span class='danger'>Restarting world!</span> <span class='notice'>Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</span>"
log_admin("[key_name(usr)] initiated a reboot.") log_admin("[key_name(usr)] initiated a reboot.")
feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]") feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]")

View File

@@ -1,180 +1,180 @@
// Reports are a way to notify admins of wrongdoings that happened // Reports are a way to notify admins of wrongdoings that happened
// while no admin was present. They work a bit similar to news, but // while no admin was present. They work a bit similar to news, but
// they can only be read by admins and moderators. // they can only be read by admins and moderators.
// a single admin report // a single admin report
datum/admin_report/var datum/admin_report/var
ID // the ID of the report ID // the ID of the report
body // the content of the report body // the content of the report
author // key of the author author // key of the author
date // date on which this was created date // date on which this was created
done // whether this was handled done // whether this was handled
offender_key // store the key of the offender offender_key // store the key of the offender
offender_cid // store the cid of the offender offender_cid // store the cid of the offender
datum/report_topic_handler datum/report_topic_handler
Topic(href,href_list) Topic(href,href_list)
..() ..()
var/client/C = locate(href_list["client"]) var/client/C = locate(href_list["client"])
if(href_list["action"] == "show_reports") if(href_list["action"] == "show_reports")
C.display_admin_reports() C.display_admin_reports()
else if(href_list["action"] == "remove") else if(href_list["action"] == "remove")
C.mark_report_done(text2num(href_list["ID"])) C.mark_report_done(text2num(href_list["ID"]))
else if(href_list["action"] == "edit") else if(href_list["action"] == "edit")
C.edit_report(text2num(href_list["ID"])) C.edit_report(text2num(href_list["ID"]))
var/datum/report_topic_handler/report_topic_handler var/datum/report_topic_handler/report_topic_handler
world/New() world/New()
..() ..()
report_topic_handler = new report_topic_handler = new
// add a new news datums // add a new news datums
proc/make_report(body, author, okey, cid) proc/make_report(body, author, okey, cid)
var/savefile/Reports = new("data/reports.sav") var/savefile/Reports = new("data/reports.sav")
var/list/reports var/list/reports
var/lastID var/lastID
Reports["reports"] >> reports Reports["reports"] >> reports
Reports["lastID"] >> lastID Reports["lastID"] >> lastID
if(!reports) reports = list() if(!reports) reports = list()
if(!lastID) lastID = 0 if(!lastID) lastID = 0
var/datum/admin_report/created = new() var/datum/admin_report/created = new()
created.ID = ++lastID created.ID = ++lastID
created.body = body created.body = body
created.author = author created.author = author
created.date = world.realtime created.date = world.realtime
created.done = 0 created.done = 0
created.offender_key = okey created.offender_key = okey
created.offender_cid = cid created.offender_cid = cid
reports.Insert(1, created) reports.Insert(1, created)
Reports["reports"] << reports Reports["reports"] << reports
Reports["lastID"] << lastID Reports["lastID"] << lastID
// load the reports from disk // load the reports from disk
proc/load_reports() proc/load_reports()
var/savefile/Reports = new("data/reports.sav") var/savefile/Reports = new("data/reports.sav")
var/list/reports var/list/reports
Reports["reports"] >> reports Reports["reports"] >> reports
if(!reports) reports = list() if(!reports) reports = list()
return reports return reports
// check if there are any unhandled reports // check if there are any unhandled reports
client/proc/unhandled_reports() client/proc/unhandled_reports()
if(!src.holder) return 0 if(!src.holder) return 0
var/list/reports = load_reports() var/list/reports = load_reports()
for(var/datum/admin_report/N in reports) for(var/datum/admin_report/N in reports)
if(N.done) if(N.done)
continue continue
else return 1 else return 1
return 0 return 0
// checks if the player has an unhandled report against him // checks if the player has an unhandled report against him
client/proc/is_reported() client/proc/is_reported()
var/list/reports = load_reports() var/list/reports = load_reports()
for(var/datum/admin_report/N in reports) if(!N.done) for(var/datum/admin_report/N in reports) if(!N.done)
if(N.offender_key == src.key) if(N.offender_key == src.key)
return 1 return 1
return 0 return 0
// display only the reports that haven't been handled // display only the reports that haven't been handled
client/proc/display_admin_reports() client/proc/display_admin_reports()
set category = "Admin" set category = "Admin"
set name = "Display Admin Reports" set name = "Display Admin Reports"
if(!src.holder) return if(!src.holder) return
var/list/reports = load_reports() var/list/reports = load_reports()
var/output = "" var/output = ""
if(unhandled_reports()) if(unhandled_reports())
// load the list of unhandled reports // load the list of unhandled reports
for(var/datum/admin_report/N in reports) for(var/datum/admin_report/N in reports)
if(N.done) if(N.done)
continue continue
output += "<b>Reported player:</b> [N.offender_key](CID: [N.offender_cid])<br>" output += "<b>Reported player:</b> [N.offender_key](CID: [N.offender_cid])<br>"
output += "<b>Offense:</b>[N.body]<br>" output += "<b>Offense:</b>[N.body]<br>"
output += "<small>Occured at [time2text(N.date,"MM/DD hh:mm:ss")]</small><br>" output += "<small>Occured at [time2text(N.date,"MM/DD hh:mm:ss")]</small><br>"
output += "<small>authored by <i>[N.author]</i></small><br>" output += "<small>authored by <i>[N.author]</i></small><br>"
output += " <a href='?src=\ref[report_topic_handler];client=\ref[src];action=remove;ID=[N.ID]'>Flag as Handled</a>" output += " <a href='?src=\ref[report_topic_handler];client=\ref[src];action=remove;ID=[N.ID]'>Flag as Handled</a>"
if(src.key == N.author) if(src.key == N.author)
output += " <a href='?src=\ref[report_topic_handler];client=\ref[src];action=edit;ID=[N.ID]'>Edit</a>" output += " <a href='?src=\ref[report_topic_handler];client=\ref[src];action=edit;ID=[N.ID]'>Edit</a>"
output += "<br>" output += "<br>"
output += "<br>" output += "<br>"
else else
output += "Whoops, no reports!" output += "Whoops, no reports!"
usr << browse(output, "window=news;size=600x400") usr << browse(output, "window=news;size=600x400")
client/proc/Report(mob/M as mob in world) client/proc/Report(mob/M as mob in world)
set category = "Admin" set category = "Admin"
if(!src.holder) if(!src.holder)
return return
var/CID = "Unknown" var/CID = "Unknown"
if(M.client) if(M.client)
CID = M.client.computer_id CID = M.client.computer_id
var/body = input(src.mob, "Describe in detail what you're reporting [M] for", "Report") as null|text var/body = input(src.mob, "Describe in detail what you're reporting [M] for", "Report") as null|text
if(!body) return if(!body) return
make_report(body, key, M.key, CID) make_report(body, key, M.key, CID)
spawn(1) spawn(1)
display_admin_reports() display_admin_reports()
client/proc/mark_report_done(ID as num) client/proc/mark_report_done(ID as num)
if(!src.holder || src.holder.level < 0) if(!src.holder || src.holder.level < 0)
return return
var/savefile/Reports = new("data/reports.sav") var/savefile/Reports = new("data/reports.sav")
var/list/reports var/list/reports
Reports["reports"] >> reports Reports["reports"] >> reports
var/datum/admin_report/found var/datum/admin_report/found
for(var/datum/admin_report/N in reports) for(var/datum/admin_report/N in reports)
if(N.ID == ID) if(N.ID == ID)
found = N found = N
if(!found) src << "<b>* An error occured, sorry.</b>" if(!found) src << "<b>* An error occured, sorry.</b>"
found.done = 1 found.done = 1
Reports["reports"] << reports Reports["reports"] << reports
client/proc/edit_report(ID as num) client/proc/edit_report(ID as num)
if(!src.holder || src.holder.level < 0) if(!src.holder || src.holder.level < 0)
src << "<b>You tried to modify the news, but you're not an admin!" src << "<b>You tried to modify the news, but you're not an admin!</b>"
return return
var/savefile/Reports = new("data/reports.sav") var/savefile/Reports = new("data/reports.sav")
var/list/reports var/list/reports
Reports["reports"] >> reports Reports["reports"] >> reports
var/datum/admin_report/found var/datum/admin_report/found
for(var/datum/admin_report/N in reports) for(var/datum/admin_report/N in reports)
if(N.ID == ID) if(N.ID == ID)
found = N found = N
if(!found) src << "<b>* An error occured, sorry.</b>" if(!found) src << "<b>* An error occured, sorry.</b>"
var/body = input(src.mob, "Enter a body for the news", "Body") as null|message var/body = input(src.mob, "Enter a body for the news", "Body") as null|message
if(!body) return if(!body) return
found.body = body found.body = body
Reports["reports"] << reports Reports["reports"] << reports

View File

@@ -535,8 +535,8 @@ var/list/admin_verbs_mentor = list(
ban_unban_log_save("[ckey] warned [warned_ckey], resulting in a [AUTOBANTIME] minute autoban.") ban_unban_log_save("[ckey] warned [warned_ckey], resulting in a [AUTOBANTIME] minute autoban.")
if(C) if(C)
message_admins("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban.") message_admins("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban.")
C << "<font color='red'><BIG><B>You have been autobanned due to a warning by [ckey].</B></BIG><br>This is a temporary ban, it will be removed in [AUTOBANTIME] minutes." C << "<font color='red'><BIG><B>You have been autobanned due to a warning by [ckey].</B></BIG><br>This is a temporary ban, it will be removed in [AUTOBANTIME] minutes.</font>"
qdel(C) del(C)
else else
message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban.") message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban.")
AddBan(warned_ckey, D.last_id, "Autobanning due to too many formal warnings", ckey, 1, AUTOBANTIME) AddBan(warned_ckey, D.last_id, "Autobanning due to too many formal warnings", ckey, 1, AUTOBANTIME)

View File

@@ -33,7 +33,7 @@
output += "<tr>" output += "<tr>"
output += "<td style='text-align:right;'>[adm_ckey] <a class='small' href='?src=\ref[src];editrights=remove;ckey=[adm_ckey]'>\[-\]</a></td>" output += "<td style='text-align:right;'>[adm_ckey] <a class='small' href='?src=\ref[src];editrights=remove;ckey=[adm_ckey]'>\[-\]</a></td>"
output += "<td><a href='?src=\ref[src];editrights=rank;ckey=[adm_ckey]'>[rank]</a></td>" output += "<td><a href='?src=\ref[src];editrights=rank;ckey=[adm_ckey]'>[rank]</a></td>"
output += "<td><a class='small' href='?src=\ref[src];editrights=permissions;ckey=[adm_ckey]'>[rights]</a></font></td>" output += "<td><a class='small' href='?src=\ref[src];editrights=permissions;ckey=[adm_ckey]'>[rights]</a></td>"
output += "</tr>" output += "</tr>"
output += {" output += {"

View File

@@ -290,7 +290,7 @@
<a id='link[i]' <a id='link[i]'
onmouseover='expand("item[i]","[M_job]","[M_name]","[M_rname]","--unused--","[M_key]","[M.lastKnownIP]",[is_antagonist],"\ref[M]")' onmouseover='expand("item[i]","[M_job]","[M_name]","[M_rname]","--unused--","[M_key]","[M.lastKnownIP]",[is_antagonist],"\ref[M]")'
> >
<b id='search[i]'>[M_name] - [M_rname] - [M_key] ([M_job])</b> <span id='search><b>[i]'>[M_name] - [M_rname] - [M_key] ([M_job])</b></span>
</a> </a>
<br><span id='item[i]'></span> <br><span id='item[i]'></span>
</td> </td>

View File

@@ -2301,7 +2301,7 @@
if("clear_bombs") if("clear_bombs")
//I do nothing //I do nothing
if("list_bombers") if("list_bombers")
var/dat = "<B>Bombing List<HR>" var/dat = "<B>Bombing List</B><HR>"
for(var/l in bombers) for(var/l in bombers)
dat += text("[l]<BR>") dat += text("[l]<BR>")
usr << browse(dat, "window=bombers") usr << browse(dat, "window=bombers")

View File

@@ -865,7 +865,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.", 1) message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.", 1)
if(notifyplayers == "Yes") if(notifyplayers == "Yes")
world << "\blue <b>Admin [usr.key] has forced the players to have completely random identities!" world << "\blue <b>Admin [usr.key] has forced the players to have completely random identities!</b>"
usr << "<i>Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet</i>." usr << "<i>Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet</i>."

View File

@@ -441,7 +441,7 @@ datum/preferences
for (var/i in special_roles) for (var/i in special_roles)
if(special_roles[i]) //if mode is available on the server if(special_roles[i]) //if mode is available on the server
if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, "AI") && jobban_isbanned(user, "Cyborg")) || (i == "pAI candidate" && jobban_isbanned(user, "pAI"))) if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, "AI") && jobban_isbanned(user, "Cyborg")) || (i == "pAI candidate" && jobban_isbanned(user, "pAI")))
dat += "<b>Be [i]:<b> <font color=red><b> \[BANNED]</b></font><br>" dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
else else
dat += "<b>Be [i]:</b> <a href='?_src_=prefs;preference=be_special;num=[n]'><b>[src.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>" dat += "<b>Be [i]:</b> <a href='?_src_=prefs;preference=be_special;num=[n]'><b>[src.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
n++ n++

View File

@@ -89,7 +89,7 @@
if(src.loc == usr) if(src.loc == usr)
usr << "The maintenance panel is [open ? "open" : "closed"]." usr << "The maintenance panel is [open ? "open" : "closed"]."
usr << "Hardsuit systems are [offline ? "<font color='red'>offline</font>" : "<font color='green'>online</green>"]." usr << "Hardsuit systems are [offline ? "<font color='red'>offline</font>" : "<font color='green'>online</font>"]."
/obj/item/weapon/rig/New() /obj/item/weapon/rig/New()
..() ..()
@@ -635,7 +635,7 @@
if(!H.equip_to_slot_if_possible(use_obj, equip_to, 0)) if(!H.equip_to_slot_if_possible(use_obj, equip_to, 0))
use_obj.loc = src use_obj.loc = src
else else
H << "<font color='blue'><b>Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly.</b></span>" H << "<font color='blue'><b>Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly.</b></font>"
if(piece == "helmet" && helmet) if(piece == "helmet" && helmet)
helmet.update_light(H) helmet.update_light(H)
@@ -750,7 +750,7 @@
if(dam_module.damage >= 2) if(dam_module.damage >= 2)
wearer << "<span class='danger'>The [source] has disabled your [dam_module.interface_name]!</span>" wearer << "<span class='danger'>The [source] has disabled your [dam_module.interface_name]!</span>"
else else
wearer << "<span class='warning'>The [source] has damaged your [dam_module.interface_name]!" wearer << "<span class='warning'>The [source] has damaged your [dam_module.interface_name]!</span>"
dam_module.deactivate() dam_module.deactivate()
/obj/item/weapon/rig/proc/malfunction_check(var/mob/living/carbon/human/user) /obj/item/weapon/rig/proc/malfunction_check(var/mob/living/carbon/human/user)

View File

@@ -1,12 +1,12 @@
/proc/communications_blackout(var/silent = 1) /proc/communications_blackout(var/silent = 1)
if(!silent) if(!silent)
command_announcement.Announce("Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you-BZZT", new_sound = 'sound/misc/interference.ogg') command_announcement.Announce("Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you-BZZT", new_sound = 'sound/misc/interference.ogg')
else // AIs will always know if there's a comm blackout, rogue AIs could then lie about comm blackouts in the future while they shutdown comms else // AIs will always know if there's a comm blackout, rogue AIs could then lie about comm blackouts in the future while they shutdown comms
for(var/mob/living/silicon/ai/A in player_list) for(var/mob/living/silicon/ai/A in player_list)
A << "<br>" A << "<br>"
A << "<span class='warning'><b>Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you-BZZT<b></span>" A << "<span class='warning'><b>Ionospheric anomalies detected. Temporary telecommunication failure imminent. Please contact you-BZZT</b></span>"
A << "<br>" A << "<br>"
for(var/obj/machinery/telecomms/T in telecomms_list) for(var/obj/machinery/telecomms/T in telecomms_list)
T.emp_act(1) T.emp_act(1)

View File

@@ -44,20 +44,20 @@
if(!machine.ores_stored[ore] && !show_all_ores) continue if(!machine.ores_stored[ore] && !show_all_ores) continue
var/ore/O = ore_data[ore] var/ore/O = ore_data[ore]
if(!O) continue if(!O) continue
dat += "<tr><td width = 40><b>[capitalize(O.display_name)]</b></td><td width = 30>[machine.ores_stored[ore]]</td><td width = 100><font color='" dat += "<tr><td width = 40><b>[capitalize(O.display_name)]</b></td><td width = 30>[machine.ores_stored[ore]]</td><td width = 100>"
if(machine.ores_processing[ore]) if(machine.ores_processing[ore])
switch(machine.ores_processing[ore]) switch(machine.ores_processing[ore])
if(0) if(0)
dat += "red'>not processing" dat += "<font color='red'>not processing</font>"
if(1) if(1)
dat += "orange'>smelting" dat += "<font color='orange'>smelting</font>"
if(2) if(2)
dat += "blue'>compressing" dat += "<font color='blue'>compressing</font>"
if(3) if(3)
dat += "gray'>alloying" dat += "<font color='gray'>alloying</font>"
else else
dat += "red'>not processing" dat += "<font color='red'>not processing</font>"
dat += "</font>.</td><td width = 30><a href='?src=\ref[src];toggle_smelting=[ore]'>\[change\]</a></td></tr>" dat += ".</td><td width = 30><a href='?src=\ref[src];toggle_smelting=[ore]'>\[change\]</a></td></tr>"
dat += "</table><hr>" dat += "</table><hr>"
dat += "Currently displaying [show_all_ores ? "all ore types" : "only available ore types"]. <A href='?src=\ref[src];toggle_ores=1'>\[[show_all_ores ? "show less" : "show more"]\]</a></br>" dat += "Currently displaying [show_all_ores ? "all ore types" : "only available ore types"]. <A href='?src=\ref[src];toggle_ores=1'>\[[show_all_ores ? "show less" : "show more"]\]</a></br>"

View File

@@ -29,7 +29,7 @@
if(drone_only && !istype(S,/mob/living/silicon/robot/drone)) if(drone_only && !istype(S,/mob/living/silicon/robot/drone))
continue continue
else if(istype(S , /mob/living/silicon/ai)) else if(istype(S , /mob/living/silicon/ai))
message_start = "<i><span class='game say'>[name], <a href='byond://?src=\ref[S];track2=\ref[S];track=\ref[speaker];trackname=[html_encode(speaker.name)]'><span class='name'>[speaker.name]</span></a></span>" message_start = "<i><span class='game say'>[name], <a href='byond://?src=\ref[S];track2=\ref[S];track=\ref[speaker];trackname=[html_encode(speaker.name)]'><span class='name'>[speaker.name]</span></a></span></i>"
else if (!S.binarycheck()) else if (!S.binarycheck())
continue continue

View File

@@ -191,7 +191,7 @@ emp_act
if(user == src) // Attacking yourself can't miss if(user == src) // Attacking yourself can't miss
target_zone = user.zone_sel.selecting target_zone = user.zone_sel.selecting
if(!target_zone) if(!target_zone)
visible_message("\red <B>[user] misses [src] with \the [I]!") visible_message("<span class='danger'>[user] misses [src] with \the [I]!</span>")
return 1 return 1
var/obj/item/organ/external/affecting = get_organ(target_zone) var/obj/item/organ/external/affecting = get_organ(target_zone)

View File

@@ -155,7 +155,7 @@
for(var/mob/O in viewers(src, null)) for(var/mob/O in viewers(src, null))
if(O == src) if(O == src)
continue continue
O.show_message(text("\red <B>[src] starts having a seizure!"), 1) O.show_message(text("<span class='danger'>[src] starts having a seizure!</span>"), 1)
Paralyse(10) Paralyse(10)
make_jittery(1000) make_jittery(1000)
if (disabilities & COUGHING) if (disabilities & COUGHING)

View File

@@ -29,7 +29,7 @@
for(var/mob/living/silicon/robot/drone/D in world) for(var/mob/living/silicon/robot/drone/D in world)
if(D.z != src.z) if(D.z != src.z)
continue continue
dat += "<BR>[D.real_name] ([D.stat == 2 ? "<font color='red'>INACTIVE" : "<font color='green'>ACTIVE"]</FONT>)" dat += "<BR>[D.real_name] ([D.stat == 2 ? "<font color='red'>INACTIVE</FONT>" : "<font color='green'>ACTIVE</FONT>"])"
dat += "<font dize = 9><BR>Cell charge: [D.cell.charge]/[D.cell.maxcharge]." dat += "<font dize = 9><BR>Cell charge: [D.cell.charge]/[D.cell.maxcharge]."
dat += "<BR>Currently located in: [get_area(D)]." dat += "<BR>Currently located in: [get_area(D)]."
dat += "<BR><A href='?src=\ref[src];resync=\ref[D]'>Resync</A> | <A href='?src=\ref[src];shutdown=\ref[D]'>Shutdown</A></font>" dat += "<BR><A href='?src=\ref[src];resync=\ref[D]'>Resync</A> | <A href='?src=\ref[src];shutdown=\ref[D]'>Shutdown</A></font>"

View File

@@ -22,7 +22,7 @@
src << "<b>Laws synced with AI, be sure to note any changes.</b>" src << "<b>Laws synced with AI, be sure to note any changes.</b>"
// TODO: Update to new antagonist system. // TODO: Update to new antagonist system.
if(mind && mind.special_role == "traitor" && mind.original == src) if(mind && mind.special_role == "traitor" && mind.original == src)
src << "<b>Remember, your AI does NOT share or know about your law 0." src << "<b>Remember, your AI does NOT share or know about your law 0.</b>"
else else
src << "<b>No AI selected to sync laws with, disabling lawsync protocol.</b>" src << "<b>No AI selected to sync laws with, disabling lawsync protocol.</b>"
lawupdate = 0 lawupdate = 0

View File

@@ -312,7 +312,7 @@
killswitch_time -- killswitch_time --
if(killswitch_time <= 0) if(killswitch_time <= 0)
if(src.client) if(src.client)
src << "\red <B>Killswitch Activated" src << "<span class='danger'>Killswitch Activated</span>"
killswitch = 0 killswitch = 0
spawn(5) spawn(5)
gib() gib()
@@ -323,7 +323,7 @@
weaponlock_time -- weaponlock_time --
if(weaponlock_time <= 0) if(weaponlock_time <= 0)
if(src.client) if(src.client)
src << "\red <B>Weapon Lock Timed Out!" src << "<span class='danger'>Weapon Lock Timed Out!</span>"
weapon_lock = 0 weapon_lock = 0
weaponlock_time = 120 weaponlock_time = 120

View File

@@ -58,7 +58,7 @@
if(istype(user, /mob/living/simple_animal/construct/builder)) if(istype(user, /mob/living/simple_animal/construct/builder))
if(health < maxHealth) if(health < maxHealth)
adjustBruteLoss(-5) adjustBruteLoss(-5)
user.visible_message("<span class='notice'>\The [user]</b> mends some of \the [src]'s wounds.</span>") user.visible_message("<span class='notice'>\The [user] mends some of \the [src]'s wounds.</span>")
else else
user << "<span class='notice'>\The [src] is undamaged.</span>" user << "<span class='notice'>\The [src] is undamaged.</span>"
return return

View File

@@ -17,10 +17,10 @@
spawn() alert("You have logged in already with another key this round, please log out of this one NOW or risk being banned!") spawn() alert("You have logged in already with another key this round, please log out of this one NOW or risk being banned!")
if(matches) if(matches)
if(M.client) if(M.client)
message_admins("<font color='red'><B>Notice: </B><font color='blue'><A href='?src=\ref[usr];priv_msg=\ref[src]'>[key_name_admin(src)]</A> has the same [matches] as <A href='?src=\ref[usr];priv_msg=\ref[M]'>[key_name_admin(M)]</A>.</font>", 1) message_admins("<font color='red'><B>Notice: </B></font><font color='blue'><A href='?src=\ref[usr];priv_msg=\ref[src]'>[key_name_admin(src)]</A> has the same [matches] as <A href='?src=\ref[usr];priv_msg=\ref[M]'>[key_name_admin(M)]</A>.</font>", 1)
log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)].") log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)].")
else else
message_admins("<font color='red'><B>Notice: </B><font color='blue'><A href='?src=\ref[usr];priv_msg=\ref[src]'>[key_name_admin(src)]</A> has the same [matches] as [key_name_admin(M)] (no longer logged in). </font>", 1) message_admins("<font color='red'><B>Notice: </B></font><font color='blue'><A href='?src=\ref[usr];priv_msg=\ref[src]'>[key_name_admin(src)]</A> has the same [matches] as [key_name_admin(M)] (no longer logged in). </font>", 1)
log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).") log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).")
/mob/Login() /mob/Login()

View File

@@ -1,50 +1,51 @@
/obj/item/weapon/paper/carbon /obj/item/weapon/paper/carbon
name = "paper" name = "paper"
icon_state = "paper_stack" icon_state = "paper_stack"
item_state = "paper" item_state = "paper"
var copied = 0 var copied = 0
var iscopy = 0 var iscopy = 0
/obj/item/weapon/paper/carbon/update_icon() /obj/item/weapon/paper/carbon/update_icon()
if(iscopy) if(iscopy)
if(info) if(info)
icon_state = "cpaper_words" icon_state = "cpaper_words"
return return
icon_state = "cpaper" icon_state = "cpaper"
else if (copied) else if (copied)
if(info) if(info)
icon_state = "paper_words" icon_state = "paper_words"
return return
icon_state = "paper" icon_state = "paper"
else else
if(info) if(info)
icon_state = "paper_stack_words" icon_state = "paper_stack_words"
return return
icon_state = "paper_stack" icon_state = "paper_stack"
/obj/item/weapon/paper/carbon/verb/removecopy() /obj/item/weapon/paper/carbon/verb/removecopy()
set name = "Remove carbon-copy" set name = "Remove carbon-copy"
set category = "Object" set category = "Object"
set src in usr set src in usr
if (copied == 0) if (copied == 0)
var/obj/item/weapon/paper/carbon/c = src var/obj/item/weapon/paper/carbon/c = src
var/copycontents = html_decode(c.info) var/copycontents = html_decode(c.info)
var/obj/item/weapon/paper/carbon/copy = new /obj/item/weapon/paper/carbon (usr.loc) var/obj/item/weapon/paper/carbon/copy = new /obj/item/weapon/paper/carbon (usr.loc)
copycontents = replacetext(copycontents, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action // <font>
copycontents = replacetext(copycontents, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority. copycontents = replacetext(copycontents, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action
copy.info += copycontents copycontents = replacetext(copycontents, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority.
copy.info += "</font>" copy.info += copycontents
copy.name = "Copy - " + c.name copy.info += "</font>"
copy.fields = c.fields copy.name = "Copy - " + c.name
copy.updateinfolinks() copy.fields = c.fields
usr << "<span class='notice'>You tear off the carbon-copy!</span>" copy.updateinfolinks()
c.copied = 1 usr << "<span class='notice'>You tear off the carbon-copy!</span>"
copy.iscopy = 1 c.copied = 1
copy.update_icon() copy.iscopy = 1
c.update_icon() copy.update_icon()
else c.update_icon()
else
usr << "There are no more carbon copies attached to this paper!" usr << "There are no more carbon copies attached to this paper!"

View File

@@ -165,7 +165,7 @@
copied = replacetext(copied, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action copied = replacetext(copied, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action
copied = replacetext(copied, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority. copied = replacetext(copied, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority.
c.info += copied c.info += copied
c.info += "</font>" c.info += "</font>"//</font>
c.name = copy.name // -- Doohl c.name = copy.name // -- Doohl
c.fields = copy.fields c.fields = copy.fields
c.stamps = copy.stamps c.stamps = copy.stamps
@@ -228,7 +228,7 @@
W = photocopy(W) W = photocopy(W)
W.loc = p W.loc = p
p.pages += W p.pages += W
p.loc = src.loc p.loc = src.loc
p.update_icon() p.update_icon()
p.icon_state = "paper_words" p.icon_state = "paper_words"

View File

@@ -366,7 +366,7 @@
output_level = input(usr, "Enter new output level (0-[output_level_max])", "SMES Output Power Control", output_level) as num output_level = input(usr, "Enter new output level (0-[output_level_max])", "SMES Output Power Control", output_level) as num
output_level = max(0, min(output_level_max, output_level)) // clamp to range output_level = max(0, min(output_level_max, output_level)) // clamp to range
investigate_log("input/output; [input_level>output_level?"<font color='green'>":"<font color='red'>"][input_level]/[output_level]</font> | Output-mode: [output_attempt?"<font color='green'>on</font>":"<font color='red'>off</font>"] | Input-mode: [input_attempt?"<font color='green'>auto</font>":"<font color='red'>off</font>"] by [usr.key]","singulo") investigate_log("input/output; <font color='[input_level>output_level?"green":"red"][input_level]/[output_level]</font> | Output-mode: [output_attempt?"<font color='green'>on</font>":"<font color='red'>off</font>"] | Input-mode: [input_attempt?"<font color='green'>auto</font>":"<font color='red'>off</font>"] by [usr.key]","singulo")
return 1 return 1

View File

@@ -277,7 +277,7 @@
\n<BR> \n<BR>
\n"} \n"}
else else
dat += "\red<B>No compatible attached compressor found." dat += "<span class='danger'>No compatible attached compressor found.</span>"
user << browse(dat, "window=computer;size=400x500") user << browse(dat, "window=computer;size=400x500")
onclose(user, "computer") onclose(user, "computer")

View File

@@ -233,7 +233,7 @@
if(reflex) if(reflex)
user.visible_message( user.visible_message(
"<span class='reflex_shoot'><b>\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""] by reflex!<b></span>", "<span class='reflex_shoot'><b>\The [user] fires \the [src][pointblank ? " point blank at \the [target]":""] by reflex!</b></span>",
"<span class='reflex_shoot'>You fire \the [src] by reflex!</span>", "<span class='reflex_shoot'>You fire \the [src] by reflex!</span>",
"You hear a [fire_sound_text]!" "You hear a [fire_sound_text]!"
) )

View File

@@ -235,7 +235,7 @@ var/list/valid_secondary_effect_types = list(\
src.add_fingerprint(user) src.add_fingerprint(user)
if(my_effect.trigger == TRIGGER_TOUCH) if(my_effect.trigger == TRIGGER_TOUCH)
user << "<b>You touch [src].<b>" user << "<b>You touch [src].</b>"
my_effect.ToggleActivate() my_effect.ToggleActivate()
else else
user << "<b>You touch [src],</b> [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")]." user << "<b>You touch [src],</b> [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")]."
@@ -321,7 +321,7 @@ var/list/valid_secondary_effect_types = list(\
warn = 1 warn = 1
if(warn) if(warn)
M << "<b>You accidentally touch [src].<b>" M << "<b>You accidentally touch [src].</b>"
..() ..()
/obj/machinery/artifact/bullet_act(var/obj/item/projectile/P) /obj/machinery/artifact/bullet_act(var/obj/item/projectile/P)

View File

@@ -1,70 +1,70 @@
/datum/artifact_effect/badfeeling /datum/artifact_effect/badfeeling
effecttype = "badfeeling" effecttype = "badfeeling"
effect_type = 2 effect_type = 2
var/list/messages = list("You feel worried.",\ var/list/messages = list("You feel worried.",\
"Something doesn't feel right.",\ "Something doesn't feel right.",\
"You get a strange feeling in your gut.",\ "You get a strange feeling in your gut.",\
"Your instincts are trying to warn you about something.",\ "Your instincts are trying to warn you about something.",\
"Someone just walked over your grave.",\ "Someone just walked over your grave.",\
"There's a strange feeling in the air.",\ "There's a strange feeling in the air.",\
"There's a strange smell in the air.",\ "There's a strange smell in the air.",\
"The tips of your fingers feel tingly.",\ "The tips of your fingers feel tingly.",\
"You feel witchy.",\ "You feel witchy.",\
"You have a terrible sense of foreboding.",\ "You have a terrible sense of foreboding.",\
"You've got a bad feeling about this.",\ "You've got a bad feeling about this.",\
"Your scalp prickles.",\ "Your scalp prickles.",\
"The light seems to flicker.",\ "The light seems to flicker.",\
"The shadows seem to lengthen.",\ "The shadows seem to lengthen.",\
"The walls are getting closer.",\ "The walls are getting closer.",\
"Something is wrong") "Something is wrong")
var/list/drastic_messages = list("You've got to get out of here!",\ var/list/drastic_messages = list("You've got to get out of here!",\
"Someone's trying to kill you!",\ "Someone's trying to kill you!",\
"There's something out there!",\ "There's something out there!",\
"What's happening to you?",\ "What's happening to you?",\
"OH GOD!",\ "OH GOD!",\
"HELP ME!") "HELP ME!")
/datum/artifact_effect/badfeeling/DoEffectTouch(var/mob/user) /datum/artifact_effect/badfeeling/DoEffectTouch(var/mob/user)
if(user) if(user)
if (istype(user, /mob/living/carbon/human)) if (istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(prob(50)) if(prob(50))
if(prob(75)) if(prob(75))
H << "<b><font color='red' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>" H << "<b><font color='red' size='[num2text(rand(1,5))]'>[pick(drastic_messages)]</b></font>"
else else
H << "<font color='red'>[pick(messages)]</font>" H << "<font color='red'>[pick(messages)]</font>"
if(prob(50)) if(prob(50))
H.dizziness += rand(3,5) H.dizziness += rand(3,5)
/datum/artifact_effect/badfeeling/DoEffectAura() /datum/artifact_effect/badfeeling/DoEffectAura()
if(holder) if(holder)
var/turf/T = get_turf(holder) var/turf/T = get_turf(holder)
for (var/mob/living/carbon/human/H in range(src.effectrange,T)) for (var/mob/living/carbon/human/H in range(src.effectrange,T))
if(prob(5)) if(prob(5))
if(prob(75)) if(prob(75))
H << "<font color='red'>[pick(messages)]</font>" H << "<font color='red'>[pick(messages)]</font>"
else else
H << "<font color='red' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>" H << "<font color='red' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>"
if(prob(10)) if(prob(10))
H.dizziness += rand(3,5) H.dizziness += rand(3,5)
return 1 return 1
/datum/artifact_effect/badfeeling/DoEffectPulse() /datum/artifact_effect/badfeeling/DoEffectPulse()
if(holder) if(holder)
var/turf/T = get_turf(holder) var/turf/T = get_turf(holder)
for (var/mob/living/carbon/human/H in range(src.effectrange,T)) for (var/mob/living/carbon/human/H in range(src.effectrange,T))
if(prob(50)) if(prob(50))
if(prob(95)) if(prob(95))
H << "<font color='red' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>" H << "<font color='red' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>"
else else
H << "<font color='red'>[pick(messages)]</font>" H << "<font color='red'>[pick(messages)]</font>"
if(prob(50)) if(prob(50))
H.dizziness += rand(3,5) H.dizziness += rand(3,5)
else if(prob(25)) else if(prob(25))
H.dizziness += rand(5,15) H.dizziness += rand(5,15)
return 1 return 1

View File

@@ -1,68 +1,68 @@
/datum/artifact_effect/goodfeeling /datum/artifact_effect/goodfeeling
effecttype = "goodfeeling" effecttype = "goodfeeling"
effect_type = 2 effect_type = 2
var/list/messages = list("You feel good.",\ var/list/messages = list("You feel good.",\
"Everything seems to be going alright",\ "Everything seems to be going alright",\
"You've got a good feeling about this",\ "You've got a good feeling about this",\
"Your instincts tell you everything is going to be getting better.",\ "Your instincts tell you everything is going to be getting better.",\
"There's a good feeling in the air.",\ "There's a good feeling in the air.",\
"Something smells... good.",\ "Something smells... good.",\
"The tips of your fingers feel tingly.",\ "The tips of your fingers feel tingly.",\
"You've got a good feeling about this.",\ "You've got a good feeling about this.",\
"You feel happy.",\ "You feel happy.",\
"You fight the urge to smile.",\ "You fight the urge to smile.",\
"Your scalp prickles.",\ "Your scalp prickles.",\
"All the colours seem a bit more vibrant.",\ "All the colours seem a bit more vibrant.",\
"Everything seems a little lighter.",\ "Everything seems a little lighter.",\
"The troubles of the world seem to fade away.") "The troubles of the world seem to fade away.")
var/list/drastic_messages = list("You want to hug everyone you meet!",\ var/list/drastic_messages = list("You want to hug everyone you meet!",\
"Everything is going so well!",\ "Everything is going so well!",\
"You feel euphoric.",\ "You feel euphoric.",\
"You feel giddy.",\ "You feel giddy.",\
"You're so happy suddenly, you almost want to dance and sing.",\ "You're so happy suddenly, you almost want to dance and sing.",\
"You feel like the world is out to help you.") "You feel like the world is out to help you.")
/datum/artifact_effect/goodfeeling/DoEffectTouch(var/mob/user) /datum/artifact_effect/goodfeeling/DoEffectTouch(var/mob/user)
if(user) if(user)
if (istype(user, /mob/living/carbon/human)) if (istype(user, /mob/living/carbon/human))
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(prob(50)) if(prob(50))
if(prob(75)) if(prob(75))
H << "<b><font color='blue' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>" H << "<b><font color='blue' size='[num2text(rand(1,5))]'>[pick(drastic_messages)]</b></font>"
else else
H << "<font color='blue'>[pick(messages)]</font>" H << "<font color='blue'>[pick(messages)]</font>"
if(prob(50)) if(prob(50))
H.dizziness += rand(3,5) H.dizziness += rand(3,5)
/datum/artifact_effect/goodfeeling/DoEffectAura() /datum/artifact_effect/goodfeeling/DoEffectAura()
if(holder) if(holder)
var/turf/T = get_turf(holder) var/turf/T = get_turf(holder)
for (var/mob/living/carbon/human/H in range(src.effectrange,T)) for (var/mob/living/carbon/human/H in range(src.effectrange,T))
if(prob(5)) if(prob(5))
if(prob(75)) if(prob(75))
H << "<font color='blue'>[pick(messages)]</font>" H << "<font color='blue'>[pick(messages)]</font>"
else else
H << "<font color='blue' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>" H << "<font color='blue' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>"
if(prob(5)) if(prob(5))
H.dizziness += rand(3,5) H.dizziness += rand(3,5)
return 1 return 1
/datum/artifact_effect/goodfeeling/DoEffectPulse() /datum/artifact_effect/goodfeeling/DoEffectPulse()
if(holder) if(holder)
var/turf/T = get_turf(holder) var/turf/T = get_turf(holder)
for (var/mob/living/carbon/human/H in range(src.effectrange,T)) for (var/mob/living/carbon/human/H in range(src.effectrange,T))
if(prob(50)) if(prob(50))
if(prob(95)) if(prob(95))
H << "<font color='blue' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>" H << "<font color='blue' size='[num2text(rand(1,5))]'><b>[pick(drastic_messages)]</b></font>"
else else
H << "<font color='blue'>[pick(messages)]</font>" H << "<font color='blue'>[pick(messages)]</font>"
if(prob(50)) if(prob(50))
H.dizziness += rand(3,5) H.dizziness += rand(3,5)
else if(prob(25)) else if(prob(25))
H.dizziness += rand(5,15) H.dizziness += rand(5,15)
return 1 return 1

View File

@@ -132,9 +132,9 @@
I.loc = src I.loc = src
auth_card = I auth_card = I
if(attempt_unlock(I, usr)) if(attempt_unlock(I, usr))
usr << "<span class='info'>You insert [I], the console flashes \'<i>Access granted.</a>\'</span>" usr << "<span class='info'>You insert [I], the console flashes \'<i>Access granted.</i>\'</span>"
else else
usr << "<span class='warning'>You insert [I], the console flashes \'<i>Access denied.</a>\'</span>" usr << "<span class='warning'>You insert [I], the console flashes \'<i>Access denied.</i>\'</span>"
else if(href_list["ejectcard"]) else if(href_list["ejectcard"])
if(auth_card) if(auth_card)
if(ishuman(usr)) if(ishuman(usr))

View File

@@ -16,13 +16,13 @@ client/verb/tcssave()
src << output(null, "tcserror") // clear the errors src << output(null, "tcserror") // clear the errors
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to save: Unable to locate server machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to save: Unable to locate server machine. (Back up your code before exiting the window!)</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to save: Unable to locate machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to save: Unable to locate machine. (Back up your code before exiting the window!)</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to save: Unable to locate machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to save: Unable to locate machine. (Back up your code before exiting the window!)</font>", "tcserror")
client/verb/tcscompile() client/verb/tcscompile()
@@ -44,7 +44,7 @@ client/verb/tcscompile()
if(compileerrors.len) if(compileerrors.len)
src << output("<b>Compile Errors</b>", "tcserror") src << output("<b>Compile Errors</b>", "tcserror")
for(var/scriptError/e in compileerrors) for(var/scriptError/e in compileerrors)
src << output("<font color = red>\t>[e.message]</font color>", "tcserror") src << output("<font color = red>\t>[e.message]</font>", "tcserror")
src << output("([compileerrors.len] errors)", "tcserror") src << output("([compileerrors.len] errors)", "tcserror")
// Output compile errors to all other people viewing the code too // Output compile errors to all other people viewing the code too
@@ -53,28 +53,28 @@ client/verb/tcscompile()
M << output(null, "tcserror") M << output(null, "tcserror")
M << output("<b>Compile Errors</b>", "tcserror") M << output("<b>Compile Errors</b>", "tcserror")
for(var/scriptError/e in compileerrors) for(var/scriptError/e in compileerrors)
M << output("<font color = red>\t>[e.message]</font color>", "tcserror") M << output("<font color = red>\t>[e.message]</font>", "tcserror")
M << output("([compileerrors.len] errors)", "tcserror") M << output("([compileerrors.len] errors)", "tcserror")
else else
src << output("<font color = blue>TCS compilation successful!</font color>", "tcserror") src << output("<font color = blue>TCS compilation successful!</font>", "tcserror")
src << output("(0 errors)", "tcserror") src << output("(0 errors)", "tcserror")
for(var/mob/M in Machine.viewingcode) for(var/mob/M in Machine.viewingcode)
if(M.client) if(M.client)
M << output("<font color = blue>TCS compilation successful!</font color>", "tcserror") M << output("<font color = blue>TCS compilation successful!</font>", "tcserror")
M << output("(0 errors)", "tcserror") M << output("(0 errors)", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to compile: Unable to locate server machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to compile: Unable to locate server machine. (Back up your code before exiting the window!)</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to compile: Unable to locate machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to compile: Unable to locate machine. (Back up your code before exiting the window!)</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to compile: Unable to locate machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to compile: Unable to locate machine. (Back up your code before exiting the window!)</font>", "tcserror")
client/verb/tcsrun() client/verb/tcsrun()
set hidden = 1 set hidden = 1
@@ -95,7 +95,7 @@ client/verb/tcsrun()
if(compileerrors.len) if(compileerrors.len)
src << output("<b>Compile Errors</b>", "tcserror") src << output("<b>Compile Errors</b>", "tcserror")
for(var/scriptError/e in compileerrors) for(var/scriptError/e in compileerrors)
src << output("<font color = red>\t>[e.message]</font color>", "tcserror") src << output("<font color = red>\t>[e.message]</font>", "tcserror")
src << output("([compileerrors.len] errors)", "tcserror") src << output("([compileerrors.len] errors)", "tcserror")
// Output compile errors to all other people viewing the code too // Output compile errors to all other people viewing the code too
@@ -104,17 +104,17 @@ client/verb/tcsrun()
M << output(null, "tcserror") M << output(null, "tcserror")
M << output("<b>Compile Errors</b>", "tcserror") M << output("<b>Compile Errors</b>", "tcserror")
for(var/scriptError/e in compileerrors) for(var/scriptError/e in compileerrors)
M << output("<font color = red>\t>[e.message]</font color>", "tcserror") M << output("<font color = red>\t>[e.message]</font>", "tcserror")
M << output("([compileerrors.len] errors)", "tcserror") M << output("([compileerrors.len] errors)", "tcserror")
else else
// Finally, we run the code! // Finally, we run the code!
src << output("<font color = blue>TCS compilation successful! Code executed.</font color>", "tcserror") src << output("<font color = blue>TCS compilation successful! Code executed.</font>", "tcserror")
src << output("(0 errors)", "tcserror") src << output("(0 errors)", "tcserror")
for(var/mob/M in Machine.viewingcode) for(var/mob/M in Machine.viewingcode)
if(M.client) if(M.client)
M << output("<font color = blue>TCS compilation successful!</font color>", "tcserror") M << output("<font color = blue>TCS compilation successful!</font>", "tcserror")
M << output("(0 errors)", "tcserror") M << output("(0 errors)", "tcserror")
var/datum/signal/signal = new() var/datum/signal/signal = new()
@@ -133,13 +133,13 @@ client/verb/tcsrun()
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to run: Unable to locate server machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to run: Unable to locate server machine. (Back up your code before exiting the window!)</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to run: Unable to locate machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to run: Unable to locate machine. (Back up your code before exiting the window!)</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to run: Unable to locate machine. (Back up your code before exiting the window!)</font color>", "tcserror") src << output("<font color = red>Failed to run: Unable to locate machine. (Back up your code before exiting the window!)</font>", "tcserror")
client/verb/exittcs() client/verb/exittcs()
@@ -174,13 +174,13 @@ client/verb/tcsrevert()
src << output(null, "tcserror") // clear the errors src << output(null, "tcserror") // clear the errors
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to revert: Unable to locate server machine.</font color>", "tcserror") src << output("<font color = red>Failed to revert: Unable to locate server machine.</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to revert: Unable to locate machine.</font color>", "tcserror") src << output("<font color = red>Failed to revert: Unable to locate machine.</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to revert: Unable to locate machine.</font color>", "tcserror") src << output("<font color = red>Failed to revert: Unable to locate machine.</font>", "tcserror")
client/verb/tcsclearmem() client/verb/tcsclearmem()
@@ -196,16 +196,16 @@ client/verb/tcsclearmem()
Server.memory = list() // clear the memory Server.memory = list() // clear the memory
// Show results // Show results
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = blue>Server memory cleared!</font color>", "tcserror") src << output("<font color = blue>Server memory cleared!</font>", "tcserror")
for(var/mob/M in Machine.viewingcode) for(var/mob/M in Machine.viewingcode)
if(M.client) if(M.client)
M << output("<font color = blue>Server memory cleared!</font color>", "tcserror") M << output("<font color = blue>Server memory cleared!</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to clear memory: Unable to locate server machine.</font color>", "tcserror") src << output("<font color = red>Failed to clear memory: Unable to locate server machine.</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to clear memory: Unable to locate machine.</font color>", "tcserror") src << output("<font color = red>Failed to clear memory: Unable to locate machine.</font>", "tcserror")
else else
src << output(null, "tcserror") src << output(null, "tcserror")
src << output("<font color = red>Failed to clear memory: Unable to locate machine.</font color>", "tcserror") src << output("<font color = red>Failed to clear memory: Unable to locate machine.</font>", "tcserror")

View File

@@ -248,7 +248,7 @@ datum/signal
if(source in S.stored_names) if(source in S.stored_names)
newsign.data["name"] = source newsign.data["name"] = source
else else
newsign.data["name"] = "<i>[html_encode(uppertext(source))]<i>" newsign.data["name"] = "<i>[html_encode(uppertext(source))]</i>"
newsign.data["realname"] = newsign.data["name"] newsign.data["realname"] = newsign.data["name"]
newsign.data["job"] = job newsign.data["job"] = job
newsign.data["compression"] = 0 newsign.data["compression"] = 0

View File

@@ -34,12 +34,12 @@
destination_dock_controllers[destination] = docking_controller destination_dock_controllers[destination] = docking_controller
else else
var/datum/computer/file/embedded_program/docking/C = locate(controller_tag) var/datum/computer/file/embedded_program/docking/C = locate(controller_tag)
if(!istype(C)) if(!istype(C))
world << "<span class='danger'>warning: shuttle with docking tag [controller_tag] could not find it's controller!</span>" world << "<span class='danger'>warning: shuttle with docking tag [controller_tag] could not find it's controller!</span>"
else else
destination_dock_controllers[destination] = C destination_dock_controllers[destination] = C
//might as well set this up here. //might as well set this up here.
if(origin) last_departed = origin if(origin) last_departed = origin
last_location = start_location last_location = start_location
@@ -99,15 +99,15 @@
dat += "<br><b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>" dat += "<br><b><A href='?src=\ref[src];toggle_cloak=[1]'>Toggle cloaking field</A></b><br>"
dat += "<b><A href='?src=\ref[src];move_multi=[1]'>Move ship</A></b><br>" dat += "<b><A href='?src=\ref[src];move_multi=[1]'>Move ship</A></b><br>"
dat += "<b><A href='?src=\ref[src];start=[1]'>Return to base</A></b></center>" dat += "<b><A href='?src=\ref[src];start=[1]'>Return to base</A></b></center>"
//Docking //Docking
dat += "<center><br><br>" dat += "<center><br><br>"
if(MS.skip_docking_checks()) if(MS.skip_docking_checks())
dat += "Docking Status: <font color='grey'>Not in use.</font></center>" dat += "Docking Status: <font color='grey'>Not in use.</font>"
else else
var/override_en = MS.docking_controller.override_enabled var/override_en = MS.docking_controller.override_enabled
var/docking_status = MS.docking_controller.get_docking_status() var/docking_status = MS.docking_controller.get_docking_status()
dat += "Docking Status: " dat += "Docking Status: "
switch(docking_status) switch(docking_status)
if("undocked") if("undocked")
@@ -118,16 +118,17 @@
dat += "<font color='[override_en? "red" : "yellow"]'>Undocking</font>" dat += "<font color='[override_en? "red" : "yellow"]'>Undocking</font>"
if("docked") if("docked")
dat += "<font color='[override_en? "red" : "green"]'>Docked</font>" dat += "<font color='[override_en? "red" : "green"]'>Docked</font>"
if(override_en) dat += " <font color='red'>(Override Enabled)</font>" if(override_en) dat += " <font color='red'>(Override Enabled)</font>"
dat += ". <A href='?src=\ref[src];refresh=[1]'>\[Refresh\]</A><br><br>" dat += ". <A href='?src=\ref[src];refresh=[1]'>\[Refresh\]</A><br><br>"
switch(docking_status) switch(docking_status)
if("undocked") if("undocked")
dat += "<b><A href='?src=\ref[src];dock_command=[1]'>Dock</A></b></center>" dat += "<b><A href='?src=\ref[src];dock_command=[1]'>Dock</A></b>"
if("docked") if("docked")
dat += "<b><A href='?src=\ref[src];undock_command=[1]'>Undock</A></b></center>" dat += "<b><A href='?src=\ref[src];undock_command=[1]'>Undock</A></b>"
dat += "</center>"
user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=300x600") user << browse("[dat]", "window=[shuttle_tag]shuttlecontrol;size=300x600")
@@ -139,11 +140,11 @@
var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch") var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch")
if(choice == "Cancel") if(choice == "Cancel")
return 0 return 0
choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel") choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel")
if(choice == "Cancel") if(choice == "Cancel")
return 0 return 0
return 1 return 1
/obj/machinery/computer/shuttle_control/multi/Topic(href, href_list) /obj/machinery/computer/shuttle_control/multi/Topic(href, href_list)
@@ -165,11 +166,11 @@
if (MS.moving_status != SHUTTLE_IDLE) if (MS.moving_status != SHUTTLE_IDLE)
usr << "\blue [shuttle_tag] vessel is moving." usr << "\blue [shuttle_tag] vessel is moving."
return return
if(href_list["dock_command"]) if(href_list["dock_command"])
MS.dock() MS.dock()
return return
if(href_list["undock_command"]) if(href_list["undock_command"])
MS.undock() MS.undock()
return return
@@ -178,7 +179,7 @@
if(MS.at_origin) if(MS.at_origin)
usr << "\red You are already at your home base." usr << "\red You are already at your home base."
return return
if((MS.last_move + MS.cooldown*10) > world.time) if((MS.last_move + MS.cooldown*10) > world.time)
usr << "\red The ship's drive is inoperable while the engines are charging." usr << "\red The ship's drive is inoperable while the engines are charging."
return return
@@ -186,7 +187,7 @@
if(!check_docking(MS)) if(!check_docking(MS))
updateUsrDialog() updateUsrDialog()
return return
if(!MS.return_warning) if(!MS.return_warning)
usr << "\red Returning to your home base will end your mission. If you are sure, press the button again." usr << "\red Returning to your home base will end your mission. If you are sure, press the button again."
//TODO: Actually end the mission. //TODO: Actually end the mission.
@@ -207,11 +208,11 @@
if((MS.last_move + MS.cooldown*10) > world.time) if((MS.last_move + MS.cooldown*10) > world.time)
usr << "\red The ship's drive is inoperable while the engines are charging." usr << "\red The ship's drive is inoperable while the engines are charging."
return return
if(!check_docking(MS)) if(!check_docking(MS))
updateUsrDialog() updateUsrDialog()
return return
var/choice = input("Select a destination.") as null|anything in MS.destinations var/choice = input("Select a destination.") as null|anything in MS.destinations
if(!choice) return if(!choice) return

View File

@@ -18,7 +18,7 @@
return return
if(istype(I,/obj/item/weapon/virusdish)) if(istype(I,/obj/item/weapon/virusdish))
if(virusing) if(virusing)
user << "<b>The pathogen materializer is still recharging.." user << "<b>The pathogen materializer is still recharging..</b>"
return return
var/obj/item/weapon/reagent_containers/glass/beaker/product = new(src.loc) var/obj/item/weapon/reagent_containers/glass/beaker/product = new(src.loc)