mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 04:22:39 +01:00
Text() away (#19850)
Refactored all the builtin text procs to use string interpolation instead. Added a linting for the above. This is based on, and should only be merged after, #19847
This commit is contained in:
@@ -62,3 +62,7 @@ var/regex/filename_forbidden_chars = regex(@{""|[\\\n\t/?%*:|<>]|\.\."}, "g")
|
||||
|
||||
/// Removes everything enclose in < and > inclusive of the bracket, and limits the length of the message.
|
||||
#define STRIP_HTML_FULL(text, limit) (html_tags.Replace(copytext(text, 1, limit), ""))
|
||||
|
||||
/// BYOND's string procs don't support being used on datum references (as in it doesn't look for a name for stringification)
|
||||
/// We just use this macro to ensure that we will only pass strings to this BYOND-level function without developers needing to really worry about it.
|
||||
#define LOWER_TEXT(thing) lowertext(UNLINT("[thing]"))
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* Arguments:
|
||||
* * message - The message being logged
|
||||
* * message_type - the type of log the message is(ATTACK, SAY, etc)
|
||||
* * tag - tag that indicates the type of text(announcement, telepathy, etc)
|
||||
* * tag - tag that indicates the type of text (announcement, telepathy, etc)
|
||||
* * log_globally - boolean checking whether or not we write this log to the log file
|
||||
* * forced_by - source that forced the dialogue if any
|
||||
*/
|
||||
|
||||
@@ -182,9 +182,9 @@ Proc for attack log creation, because really why not
|
||||
|
||||
/proc/add_logs(mob/user, mob/target, what_done, var/admin=1, var/object=null, var/addition=null)
|
||||
if(user && ismob(user))
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]</span>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]</span>"
|
||||
if(target && ismob(target))
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]</font>")
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]</font>"
|
||||
if(admin)
|
||||
log_attack(SPAN_WARNING("[user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(ismob(target) && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition]"))
|
||||
|
||||
|
||||
+22
-19
@@ -725,49 +725,52 @@
|
||||
|
||||
var/leng = length(string)
|
||||
|
||||
var/next_space = findtext_char(string, " ", next_backslash + 1)
|
||||
var/next_space = findtext(string, " ", next_backslash + length(string[next_backslash]))
|
||||
if(!next_space)
|
||||
next_space = leng - next_backslash
|
||||
|
||||
if(!next_space) //trailing bs
|
||||
if(!next_space) //trailing bs
|
||||
return string
|
||||
|
||||
var/base = next_backslash == 1 ? "" : copytext(string, 1, next_backslash)
|
||||
var/macro = lowertext(copytext(string, next_backslash + 1, next_space))
|
||||
var/rest = next_backslash > leng ? "" : copytext(string, next_space + 1)
|
||||
var/macro = LOWER_TEXT(copytext(string, next_backslash + length(string[next_backslash]), next_space))
|
||||
var/rest = next_backslash > leng ? "" : copytext(string, next_space + length(string[next_space]))
|
||||
|
||||
//See http://www.byond.com/docs/ref/info.html#/DM/text/macros
|
||||
//See https://secure.byond.com/docs/ref/info.html#/DM/text/macros
|
||||
switch(macro)
|
||||
//prefixes/agnostic
|
||||
if("the")
|
||||
rest = text("\the []", rest)
|
||||
rest = "\the [rest]"
|
||||
if("a")
|
||||
rest = text("\a []", rest)
|
||||
rest = "\a [rest]"
|
||||
if("an")
|
||||
rest = text("\an []", rest)
|
||||
rest = "\an [rest]"
|
||||
if("proper")
|
||||
rest = text("\proper []", rest)
|
||||
rest = "\proper [rest]"
|
||||
if("improper")
|
||||
rest = text("\improper []", rest)
|
||||
rest = "\improper [rest]"
|
||||
if("roman")
|
||||
rest = text("\roman []", rest)
|
||||
rest = "\roman [rest]"
|
||||
//postfixes
|
||||
if("th")
|
||||
base = text("[]\th", rest)
|
||||
base = "[rest]\th"
|
||||
if("s")
|
||||
base = text("[]\s", rest)
|
||||
base = "[rest]\s"
|
||||
if("he")
|
||||
base = text("[]\he", rest)
|
||||
base = "[rest]\he"
|
||||
if("she")
|
||||
base = text("[]\she", rest)
|
||||
base = "[rest]\she"
|
||||
if("his")
|
||||
base = text("[]\his", rest)
|
||||
base = "[rest]\his"
|
||||
if("himself")
|
||||
base = text("[]\himself", rest)
|
||||
base = "[rest]\himself"
|
||||
if("herself")
|
||||
base = text("[]\herself", rest)
|
||||
base = "[rest]\herself"
|
||||
if("hers")
|
||||
base = text("[]\hers", rest)
|
||||
base = "[rest]\hers"
|
||||
else // Someone fucked up, if you're not a macro just go home yeah?
|
||||
// This does technically break parsing, but at least it's better then what it used to do
|
||||
return base
|
||||
|
||||
. = base
|
||||
if(rest)
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
textg = num2hex(255 - g, 0)
|
||||
textb = num2hex(255 - b, 0)
|
||||
if (length(textr) < 2)
|
||||
textr = text("0[]", textr)
|
||||
textr = "0[textr]"
|
||||
if (length(textg) < 2)
|
||||
textr = text("0[]", textg)
|
||||
textr = "0[textg]"
|
||||
if (length(textb) < 2)
|
||||
textr = text("0[]", textb)
|
||||
return text("#[][][]", textr, textg, textb)
|
||||
textr = "0[textb]"
|
||||
return "#[textr][textg][textb]"
|
||||
|
||||
//Returns the middle-most value
|
||||
/proc/dd_range(var/low, var/high, var/num)
|
||||
@@ -1116,7 +1116,7 @@ var/global/known_proc = /proc/get_type_ref_bytes
|
||||
if(ispath(V))
|
||||
return details && path_names ? "path([V])" : "path"
|
||||
if(istext(V))
|
||||
return details && text_lengths ? "text([length(V) ])" : "text"
|
||||
return details && text_lengths ? "text ([length(V) ])" : "text"
|
||||
if(isnum(V)) // Byond doesn't really differentiate between floats and ints, but we can sort of guess here
|
||||
// also technically we could also say that 0 and 1 are boolean but that'd be quite silly
|
||||
if(IsInteger(V) && V < 16777216 && V > -16777216)
|
||||
|
||||
+6
-6
@@ -266,17 +266,17 @@
|
||||
return 0
|
||||
if (H.gloves)
|
||||
if(src.fingerprintslast != H.key)
|
||||
src.fingerprintshidden += text("\[[time_stamp()]\] (Wearing gloves). Real name: [], Key: []",H.real_name, H.key)
|
||||
src.fingerprintshidden += "\[[time_stamp()]\] (Wearing gloves). Real name: [H.real_name], Key: [H.key]"
|
||||
src.fingerprintslast = H.key
|
||||
return 0
|
||||
if (!( src.fingerprints ))
|
||||
if(src.fingerprintslast != H.key)
|
||||
src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",H.real_name, H.key)
|
||||
src.fingerprintshidden += "\[[time_stamp()]\] Real name: [H.real_name], Key: [H.key]"
|
||||
src.fingerprintslast = H.key
|
||||
return 1
|
||||
else
|
||||
if(src.fingerprintslast != M.key)
|
||||
src.fingerprintshidden += text("\[[time_stamp()]\] Real name: [], Key: []",M.real_name, M.key)
|
||||
src.fingerprintshidden += "\[[time_stamp()]\] Real name: [M.real_name], Key: [M.key]"
|
||||
src.fingerprintslast = M.key
|
||||
return
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
// Now, deal with gloves.
|
||||
if (H.gloves && H.gloves != src)
|
||||
if(fingerprintslast != H.key)
|
||||
fingerprintshidden += text("\[[]\](Wearing gloves). Real name: [], Key: []",time_stamp(), H.real_name, H.key)
|
||||
fingerprintshidden += "\[[time_stamp()]\](Wearing gloves). Real name: [H.real_name], Key: [H.key]"
|
||||
fingerprintslast = H.key
|
||||
H.gloves.add_fingerprint(M)
|
||||
|
||||
@@ -323,7 +323,7 @@
|
||||
|
||||
// Admin related.
|
||||
if(fingerprintslast != H.key)
|
||||
fingerprintshidden += text("\[[]\]Real name: [], Key: []",time_stamp(), H.real_name, H.key)
|
||||
fingerprintshidden += "\[[time_stamp()]\]Real name: [H.real_name], Key: [H.key]"
|
||||
fingerprintslast = H.key
|
||||
|
||||
// Make the list if it does not exist.
|
||||
@@ -375,7 +375,7 @@
|
||||
else
|
||||
// Smudge up the prints a bit.
|
||||
if(fingerprintslast != M.key)
|
||||
fingerprintshidden += text("\[[]\]Real name: [], Key: []",time_stamp(), M.real_name, M.key)
|
||||
fingerprintshidden += "\[[time_stamp()]\]Real name: [M.real_name], Key: [M.key]"
|
||||
fingerprintslast = M.key
|
||||
|
||||
// Cleaning up.
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
attack_admins(M, user)
|
||||
|
||||
/obj/item/book/tome/proc/attack_admins(var/mob/living/M, var/mob/living/user)
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has had the [name] used on them by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used [name] on [M.name] ([M.ckey])</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <font color='orange'>Has had the [name] used on them by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used [name] on [M.name] ([M.ckey])</span>"
|
||||
msg_admin_attack("[key_name_admin(user)] used [name] on [M.name] ([M.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(M))
|
||||
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
/proc/log_ability_use(var/mob/living/silicon/ai/A, var/ability_name, var/atom/target = null, var/notify_admins = 1)
|
||||
var/message
|
||||
if(target)
|
||||
message = text("used malf ability/function: [ability_name] on [target] ([target.x], [target.y], [target.z])")
|
||||
message = "used malf ability/function: [ability_name] on [target] ([target.x], [target.y], [target.z])"
|
||||
else
|
||||
message = text("used malf ability/function: [ability_name].")
|
||||
message = "used malf ability/function: [ability_name]."
|
||||
admin_attack_log(A, null, message, null, message)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
return
|
||||
if ( (get_dist(src, user) > 1 ))
|
||||
if (!istype(user, /mob/living/silicon))
|
||||
to_chat(user, text("Too far away."))
|
||||
to_chat(user, "Too far away.")
|
||||
user.unset_machine()
|
||||
user << browse(null, "window=ai_slipper")
|
||||
return
|
||||
@@ -72,7 +72,7 @@
|
||||
if (istype(loc, /turf))
|
||||
loc = loc:loc
|
||||
if (!istype(loc, /area))
|
||||
to_chat(user, text("Turret badly positioned - loc.loc is [].", loc))
|
||||
to_chat(user, "Turret badly positioned - loc.loc is [loc].")
|
||||
return
|
||||
var/area/area = loc
|
||||
var/t = "<TT><B>AI Liquid Dispenser</B> ([area.name])<HR>"
|
||||
@@ -81,7 +81,7 @@
|
||||
t += "<I>(Swipe ID card to unlock control panel.)</I><BR>"
|
||||
else
|
||||
t += "Dispenser [(src.disabled ? "deactivated" : "activated")] - <A href='?src=[REF(src)];toggleOn=1'>[(src.disabled ? "Enable" : "Disable")]?</a><br>\n"
|
||||
t += text("Uses Left: [uses]. <A href='?src=[REF(src)];toggleUse=1'>Activate the dispenser?</A><br>\n")
|
||||
t += "Uses Left: [uses]. <A href='?src=[REF(src)];toggleUse=1'>Activate the dispenser?</A><br>\n"
|
||||
|
||||
user << browse(t, "window=computer;size=575x450")
|
||||
onclose(user, "computer")
|
||||
|
||||
@@ -278,7 +278,7 @@ update_flag
|
||||
if (src.destroyed)
|
||||
ClearOverlays()
|
||||
set_light(FALSE)
|
||||
src.icon_state = text("[]-1", src.canister_color)
|
||||
src.icon_state = "[src.canister_color]-1"
|
||||
return
|
||||
|
||||
if(icon_state != "[canister_color]")
|
||||
|
||||
@@ -786,48 +786,48 @@
|
||||
dat += "<font face=\"Verdana\">"
|
||||
dat += "<b>Patient Status</b><br><HR>"
|
||||
dat += "<font size=\"1\">"
|
||||
dat += text("Name: []<br>", occ["name"])
|
||||
dat += text("Status: []<br>", occ["stat"])
|
||||
dat += text("Species: []<br>", occ["species"])
|
||||
dat += text("Pulse: [] BPM<br>", occ["pulse"])
|
||||
dat += text("Brain Activity: []<br>", occ["brain_activity"])
|
||||
dat += text("Body Temperature: []°C ", (occ["bodytemp"] - T0C))
|
||||
dat += text("([]°F)<br>", (occ["bodytemp"]*1.8-459.67))
|
||||
dat += "Name: [occ["name"]]<br>"
|
||||
dat += "Status: [occ["stat"]]<br>"
|
||||
dat += "Species: [occ["species"]]<br>"
|
||||
dat += "Pulse: [occ["pulse"]] BPM<br>"
|
||||
dat += "Brain Activity: [occ["brain_activity"]]<br>"
|
||||
dat += "Body Temperature: [(occ["bodytemp"] - T0C)]°C "
|
||||
dat += "([(occ["bodytemp"]*1.8-459.67)]°F)<br>"
|
||||
|
||||
dat += "<b><br>Blood Status</b><br><HR>"
|
||||
dat += text("Blood Pressure: []<br>", occ["blood_pressure"])
|
||||
dat += text("Blood Oxygenation: []%<br>", occ["blood_oxygenation"])
|
||||
dat += text("Blood Volume: []%<br>", occ["blood_volume"])
|
||||
dat += text("Blood Type: []<br>", occ["blood_type"])
|
||||
dat += "Blood Pressure: [occ["blood_pressure"]]<br>"
|
||||
dat += "Blood Oxygenation: [occ["blood_oxygenation"]]%<br>"
|
||||
dat += "Blood Volume: [occ["blood_volume"]]%<br>"
|
||||
dat += "Blood Type: [occ["blood_type"]]<br>"
|
||||
|
||||
if(occ["inaprovaline_amount"])
|
||||
dat += text("Inaprovaline: [] units<BR>", occ["inaprovaline_amount"])
|
||||
dat += "Inaprovaline: [occ["inaprovaline_amount"]] units<BR>"
|
||||
if(occ["soporific_amount"])
|
||||
dat += text("Soporific: [] units<BR>", occ["soporific_amount"])
|
||||
dat += "Soporific: [occ["soporific_amount"]] units<BR>"
|
||||
if(occ["dermaline_amount"])
|
||||
dat += text("[]\tDermaline: [] units</font><BR>", ("<font color='[occ["dermaline_amount"] < 20 ? "black" : "red"]'>"), occ["dermaline_amount"])
|
||||
dat += "[("<font color='[occ["dermaline_amount"] < 20 ? "black" : "red"]'>")]\tDermaline: [occ["dermaline_amount"]] units</font><BR>"
|
||||
if(occ["bicaridine_amount"])
|
||||
dat += text("[]\tBicaridine: [] units</font><BR>", ("<font color='[occ["bicaridine_amount"] < 20 ? "black" : "red"]'>"), occ["bicaridine_amount"])
|
||||
dat += "[("<font color='[occ["bicaridine_amount"] < 20 ? "black" : "red"]'>")]\tBicaridine: [occ["bicaridine_amount"]] units</font><BR>"
|
||||
if(occ["dexalin_amount"])
|
||||
dat += text("[]\tDexalin: [] units</font><BR>", ("<font color='[occ["dexalin_amount"] < 20 ? "black" : "red"]'>"), occ["dexalin_amount"])
|
||||
dat += "[("<font color='[occ["dexalin_amount"] < 20 ? "black" : "red"]'>")]\tDexalin: [occ["dexalin_amount"]] units</font><BR>"
|
||||
if(occ["thetamycin_amount"])
|
||||
dat += text("[]\tThetamycin: [] units</font><BR>", ("<font color='[occ["thetamycin_amount"] < 20 ? "black" : "red"]'>"), occ["thetamycin_amount"])
|
||||
dat += "[("<font color='[occ["thetamycin_amount"] < 20 ? "black" : "red"]'>")]\tThetamycin: [occ["thetamycin_amount"]] units</font><BR>"
|
||||
if(occ["other_amount"])
|
||||
dat += text("Other: [] units<BR>", occ["other_amount"])
|
||||
dat += "Other: [occ["other_amount"]] units<BR>"
|
||||
|
||||
dat += "<b><br>Symptom Status</b><br><HR>"
|
||||
dat += text("Radiation Level: [] Gy<br>", round(occ["rads"]))
|
||||
dat += text("Genetic Damage: []<br>", occ["cloneloss"])
|
||||
dat += "Radiation Level: [round(occ["rads"])] Gy<br>"
|
||||
dat += "Genetic Damage: [occ["cloneloss"]]<br>"
|
||||
if(occ["paralysis"])
|
||||
dat += text("Est Paralysis Level: [] Seconds Left<br>", round(occ["paralysis"] / 4))
|
||||
dat += "Est Paralysis Level: [round(occ["paralysis"] / 4)] Seconds Left<br>"
|
||||
else
|
||||
dat += text("Est Paralysis Level: None<br>")
|
||||
dat += "Est Paralysis Level: None<br>"
|
||||
|
||||
dat += "<b><br>Damage Status</b><br><HR>"
|
||||
dat += text("Brute Trauma: []<br>", occ["bruteloss"])
|
||||
dat += text("Burn Severity: []<br>", occ["fireloss"])
|
||||
dat += text("Oxygen Deprivation: []<br>", occ["oxyloss"])
|
||||
dat += text("Toxin Exposure: []<br>", occ["toxloss"])
|
||||
dat += "Brute Trauma: [occ["bruteloss"]]<br>"
|
||||
dat += "Burn Severity: [occ["fireloss"]]<br>"
|
||||
dat += "Oxygen Deprivation: [occ["oxyloss"]]<br>"
|
||||
dat += "Toxin Exposure: [occ["toxloss"]]<br>"
|
||||
|
||||
dat += "<br><b>Body Status</b><HR>"
|
||||
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
var/obj/machinery/computer/security/S = O.machine
|
||||
if (S.current_camera == src)
|
||||
to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...")
|
||||
O << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", itemname, info), text("window=[]", itemname)) //Force people watching to open the page so they can't see it again)
|
||||
O << browse("<HTML><HEAD><TITLE>[itemname]</TITLE></HEAD><BODY><TT>[info]</TT></BODY></HTML>", "window=[itemname]") //Force people watching to open the page so they can't see it again)
|
||||
return TRUE
|
||||
|
||||
else if (istype(attacking_item, /obj/item/camera_bug))
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
for (var/obj/machinery/camera/C in GLOB.cameranet.cameras)
|
||||
var/list/tempnetwork = C.network&src.network
|
||||
if (tempnetwork.len)
|
||||
T[text("[][]", C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C
|
||||
T["[C.c_tag][(C.can_use() ? null : " (Deactivated)")]"] = C
|
||||
|
||||
track = new()
|
||||
track.cameras = T
|
||||
@@ -113,7 +113,7 @@
|
||||
var/name = M.name
|
||||
if (name in TB.names)
|
||||
TB.namecounts[name]++
|
||||
name = text("[] ([])", name, TB.namecounts[name])
|
||||
name = "[name] ([TB.namecounts[name]])"
|
||||
else
|
||||
TB.names.Add(name)
|
||||
TB.namecounts[name] = 1
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
to_chat(user, "The access level of [id.registered_name]\'s card is not high enough. ")
|
||||
return 0
|
||||
|
||||
var/choice = alert(user, text("Would you like to (un)authorize a shortened launch time? [] authorization\s are still needed. Use abort to cancel all authorizations.", src.auth_need - src.authorized.len), "Shuttle Launch", "Authorize", "Repeal", "Abort")
|
||||
var/choice = alert(user, "Would you like to (un)authorize a shortened launch time? [(src.auth_need - src.authorized.len)] authorization\s are still needed. Use abort to cancel all authorizations.", "Shuttle Launch", "Authorize", "Repeal", "Abort")
|
||||
if(evacuation_controller.is_prepared() && user.get_active_hand() != id)
|
||||
return 0
|
||||
switch(choice)
|
||||
|
||||
@@ -915,10 +915,10 @@ About the new airlock wires panel:
|
||||
/obj/machinery/door/airlock/proc/electrify(var/duration, var/feedback = 0)
|
||||
var/message = ""
|
||||
if(isWireCut(WIRE_SHOCK) && arePowerSystemsOn())
|
||||
message = text("The electrification wire is cut - Door permanently electrified.")
|
||||
message ="The electrification wire is cut - Door permanently electrified."
|
||||
electrified_until = -1
|
||||
else if(duration && !arePowerSystemsOn())
|
||||
message = text("The door is unpowered - Cannot electrify the door.")
|
||||
message = "The door is unpowered - Cannot electrify the door."
|
||||
electrified_until = 0
|
||||
else if(!duration && electrified_until != 0)
|
||||
message = "The door is now un-electrified."
|
||||
@@ -926,7 +926,7 @@ About the new airlock wires panel:
|
||||
else if(duration) //electrify door for the given duration seconds
|
||||
if(usr)
|
||||
LAZYADD(shockedby, "\[[time_stamp()]\] - [usr](ckey:[usr.ckey])")
|
||||
usr.attack_log += text("\[[time_stamp()]\] <span class='warning'>Electrified the [name] at [x] [y] [z]</span>")
|
||||
usr.attack_log += "\[[time_stamp()]\] <span class='warning'>Electrified the [name] at [x] [y] [z]</span>"
|
||||
else
|
||||
LAZYADD(shockedby, "\[[time_stamp()]\] - EMP)")
|
||||
message = "The door is now electrified [duration == -1 ? "permanently" : "for [duration] second\s"]."
|
||||
@@ -956,7 +956,7 @@ About the new airlock wires panel:
|
||||
var/message = ""
|
||||
// Safeties! We don't need no stinking safeties!
|
||||
if (src.isWireCut(WIRE_SAFETY))
|
||||
message = text("The safety wire is cut - Cannot enable safeties.")
|
||||
message = "The safety wire is cut - Cannot enable safeties."
|
||||
else if (!activate && src.safe)
|
||||
safe = FALSE
|
||||
else if (activate && !src.safe)
|
||||
@@ -1231,7 +1231,7 @@ About the new airlock wires panel:
|
||||
if("timing")
|
||||
// Door speed control
|
||||
if(src.isWireCut(WIRE_TIMING))
|
||||
to_chat(usr, text("The timing wire is cut - Cannot alter timing."))
|
||||
to_chat(usr, "The timing wire is cut - Cannot alter timing.")
|
||||
else if (activate && src.normalspeed)
|
||||
normalspeed = FALSE
|
||||
else if (!activate && !src.normalspeed)
|
||||
@@ -1617,7 +1617,7 @@ About the new airlock wires panel:
|
||||
if("timing")
|
||||
// Door speed control
|
||||
if(src.isWireCut(WIRE_TIMING))
|
||||
to_chat(usr, text("The timing wire is cut - Cannot alter timing."))
|
||||
to_chat(usr, "The timing wire is cut - Cannot alter timing.")
|
||||
else if (activate && src.normalspeed)
|
||||
normalspeed = FALSE
|
||||
else if (!activate && !src.normalspeed)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if(!ishuman(user) && !istype(user,/mob/living/silicon/robot))
|
||||
return ..(user)
|
||||
|
||||
var/t1 = text("<B>Access Control</B><br>\n")
|
||||
var/t1 = "<B>Access Control</B><br>\n"
|
||||
|
||||
if(last_configurator)
|
||||
t1 += "Operator: [last_configurator]<br>"
|
||||
|
||||
@@ -224,8 +224,8 @@
|
||||
if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis)
|
||||
user.visible_message(SPAN_WARNING("[user] feeds the [target]'s hair into the [src] and flicks it on!"), SPAN_ALERT("You turn the [src] on!"))
|
||||
do_hair_pull(target)
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Has fed [target.name]'s ([target.ckey]) hair into a [src].</span>")
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has had their hair fed into [src] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Has fed [target.name]'s ([target.ckey]) hair into a [src].</span>"
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has had their hair fed into [src] by [user.name] ([user.ckey])</font>"
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] in a [src]. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
else
|
||||
return
|
||||
|
||||
@@ -295,7 +295,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
|
||||
if(istype(user, /mob/living/carbon/human) || istype(user,/mob/living/silicon) )
|
||||
var/mob/living/human_or_robot_user = user
|
||||
var/dat
|
||||
dat = text("<H3>Newscaster Unit #[src.unit_no]</H3>")
|
||||
dat = "<H3>Newscaster Unit #[src.unit_no]</H3>"
|
||||
|
||||
src.scan_user(human_or_robot_user) //Newscaster scans you
|
||||
|
||||
|
||||
@@ -247,7 +247,7 @@ var/bomb_set
|
||||
yes_code = 0
|
||||
code = null
|
||||
else
|
||||
lastentered = text("[]", href_list["type"])
|
||||
lastentered = "[href_list["type"]]"
|
||||
if (text2num(lastentered) == null)
|
||||
var/turf/LOC = get_turf(usr)
|
||||
message_admins("[key_name_admin(usr)] tried to exploit a nuclear bomb by entering non-numerical codes: <a href='?_src_=vars;Vars=[REF(src)]'>[lastentered]</a>! ([LOC ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[LOC.x];Y=[LOC.y];Z=[LOC.z]'>JMP</a>" : "null"])", 0)
|
||||
|
||||
@@ -453,7 +453,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
if(!operable(MAINT)) return TRUE
|
||||
if(screen == RCS_MESSAUTH)
|
||||
var/obj/item/card/id/T = attacking_item
|
||||
msgVerified = text("<font color='green'><b>Verified by [T.registered_name], [T.assignment]</b></font>")
|
||||
msgVerified = "<font color='green'><b>Verified by [T.registered_name], [T.assignment]</b></font>"
|
||||
updateUsrDialog()
|
||||
if(screen == RCS_ANNOUNCE)
|
||||
var/obj/item/card/id/ID = attacking_item
|
||||
|
||||
@@ -139,13 +139,13 @@
|
||||
dat+= ""
|
||||
dat+= "<span class='notice'><font size = 4><B>U-Stor-It Suit Storage Unit, model DS1900</B></span><BR>"
|
||||
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+= "<font color='black'>Helmet storage compartment: <B>[(src.HELMET ? HELMET.name : "</font><font color ='grey'>No helmet detected.")]</B></font><BR>"
|
||||
if(HELMET && src.isopen)
|
||||
dat += "<A href='?src=[REF(src)];dispense_helmet=1'>Dispense helmet</A><BR>"
|
||||
dat+= text("<font color='black'>Suit storage compartment: <B>[]</B></font><BR>",(src.SUIT ? SUIT.name : "</font><font color ='grey'>No exosuit detected.") )
|
||||
dat+= "<font color='black'>Suit storage compartment: <B>[(src.SUIT ? SUIT.name : "</font><font color ='grey'>No exosuit detected.")]</B></font><BR>"
|
||||
if(SUIT && src.isopen)
|
||||
dat += "<A href='?src=[REF(src)];dispense_suit=1'>Dispense suit</A><BR>"
|
||||
dat+= text("<font color='black'>Breathmask storage compartment: <B>[]</B></font><BR>",(src.MASK ? MASK.name : "</font><font color ='grey'>No breathmask detected.") )
|
||||
dat+= "<font color='black'>Breathmask storage compartment: <B>[(src.MASK ? MASK.name : "</font><font color ='grey'>No breathmask detected.")]</B></font><BR>"
|
||||
if(MASK && src.isopen)
|
||||
dat += "<A href='?src=[REF(src)];dispense_mask=1'>Dispense mask</A><BR>"
|
||||
if(src.OCCUPANT)
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
if(2)
|
||||
if(!Console.silent)
|
||||
playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
Console.audible_message(text("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'PRIORITY Alert in [sender]'"),,5)
|
||||
Console.audible_message("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'PRIORITY Alert in [sender]'",,5)
|
||||
Console.message_log += "<B><span class='warning'>High Priority message from <A href='?src=[REF(Console)];write=[sender]'>[sender]</A></span></B><BR>[authmsg]"
|
||||
for(var/obj/item/modular_computer/pda in Console.alert_pdas)
|
||||
var/pda_message = "A high priority message has arrived!"
|
||||
@@ -139,7 +139,7 @@
|
||||
else
|
||||
if(!Console.silent)
|
||||
playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
Console.audible_message(text("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'Message from [sender]'"),,4)
|
||||
Console.audible_message("[icon2html(Console, viewers(get_turf(Console)))] *The Requests Console beeps: 'Message from [sender]'",,4)
|
||||
Console.message_log += "<B>Message from <A href='?src=[REF(Console)];write=[sender]'>[sender]</A></B><BR>[authmsg]"
|
||||
for(var/obj/item/modular_computer/pda in Console.alert_pdas)
|
||||
var/pda_message = "A message has arrived!"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
INITIALIZE_IMMEDIATE(/obj/effect/landmark)
|
||||
/obj/effect/landmark/Initialize(mapload)
|
||||
. = ..()
|
||||
tag = text("landmark*[]", name)
|
||||
tag = "landmark*[name]"
|
||||
GLOB.landmarks_list += src
|
||||
|
||||
/obj/effect/landmark/Destroy()
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/obj/effect/manifest/proc/manifest()
|
||||
var/dat = "<B>Crew Manifest</B>:<BR>"
|
||||
for(var/mob/living/carbon/human/M in GLOB.mob_list)
|
||||
dat += text(" <B>[]</B> - []<BR>", M.name, M.get_assignment())
|
||||
dat += " <B>[M.name]</B> - [M.get_assignment()]<BR>"
|
||||
var/obj/item/paper/P = new /obj/item/paper( src.loc )
|
||||
P.info = dat
|
||||
P.name = "paper- 'Crew Manifest'"
|
||||
|
||||
@@ -97,8 +97,8 @@
|
||||
attack_self(user)
|
||||
return
|
||||
|
||||
L.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [src.name] to flash [L.name] ([L.ckey])</span>")
|
||||
L.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been flashed (attempt) with [src.name] by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [src.name] to flash [L.name] ([L.ckey])</span>"
|
||||
msg_admin_attack("[user.name] ([user.ckey]) Used the [src.name] to flash [L.name] ([L.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(L))
|
||||
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
|
||||
@@ -35,7 +35,7 @@ effective or pretty fucking useless.
|
||||
to_chat(user, SPAN_WARNING("The mind batterer has been burnt out!"))
|
||||
return
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used [src] to knock down people in the area.</span>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used [src] to knock down people in the area.</span>"
|
||||
|
||||
for(var/mob/living/carbon/human/M in orange(10, user))
|
||||
if(prob(50))
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
var/obj/item/gift/G = new /obj/item/gift(src.loc)
|
||||
G.size = attacking_item.w_class
|
||||
G.w_class = G.size + 1
|
||||
G.icon_state = text("gift[]", G.size)
|
||||
G.icon_state = "gift[G.size]"
|
||||
G.gift = attacking_item
|
||||
attacking_item.forceMove(G)
|
||||
G.add_fingerprint(user)
|
||||
@@ -82,8 +82,8 @@
|
||||
|
||||
H.forceMove(present)
|
||||
|
||||
H.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been wrapped with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [src.name] to wrap [H.name] ([H.ckey])</span>")
|
||||
H.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been wrapped with [src.name] by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [src.name] to wrap [H.name] ([H.ckey])</span>"
|
||||
msg_admin_attack("[key_name_admin(user)] used [src] to wrap [key_name_admin(H)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(H))
|
||||
|
||||
else
|
||||
@@ -123,7 +123,7 @@
|
||||
if(user in target) //no wrapping closets that you are inside - it's not physically possible
|
||||
return
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='notice'>Has used [src.name] on [REF(target)]</span>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='notice'>Has used [src.name] on [REF(target)]</span>"
|
||||
|
||||
if(istype(target, /obj/item) && !(istype(target, /obj/item/storage) && !istype(target,/obj/item/storage/box)))
|
||||
var/obj/item/O = target
|
||||
|
||||
@@ -110,7 +110,7 @@ AI MODULES
|
||||
..()
|
||||
var/targName = sanitize(input("Please enter the name of the person to safeguard.", "Safeguard who?", user.name))
|
||||
targetName = targName
|
||||
desc = text("A 'safeguard' AI module: 'Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.'", targetName, targetName)
|
||||
desc = "A 'safeguard' AI module: 'Safeguard [targetName]. Anyone threatening or attempting to harm [targetName] is no longer to be considered a crew member, and is a threat which must be neutralized.'"
|
||||
|
||||
/obj/item/aiModule/safeguard/install(var/obj/machinery/computer/C)
|
||||
if(!targetName)
|
||||
@@ -119,7 +119,7 @@ AI MODULES
|
||||
..()
|
||||
|
||||
/obj/item/aiModule/safeguard/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
var/law = text("Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.", targetName, targetName)
|
||||
var/law = "Safeguard [targetName]. Anyone threatening or attempting to harm [targetName] is no longer to be considered a crew member, and is a threat which must be neutralized."
|
||||
target.add_supplied_law(9, law)
|
||||
GLOB.lawchanges.Add("The law specified [targetName]")
|
||||
|
||||
@@ -136,7 +136,7 @@ AI MODULES
|
||||
..()
|
||||
var/targName = sanitize(input("Please enter the name of the person who is the only crew member.", "Who?", user.real_name))
|
||||
targetName = targName
|
||||
desc = text("A 'one crew member' AI module: 'Only [] is a crew member.'", targetName)
|
||||
desc = "A 'one crew member' AI module: 'Only [targetName] is a crew member.'"
|
||||
|
||||
/obj/item/aiModule/oneHuman/install(var/obj/machinery/computer/C)
|
||||
if(!targetName)
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
set src in usr
|
||||
|
||||
if (t)
|
||||
src.name = text("data disk- '[]'", t)
|
||||
src.name = "data disk- '[t]'"
|
||||
else
|
||||
src.name = "data disk"
|
||||
src.add_fingerprint(usr)
|
||||
@@ -185,16 +185,16 @@ var/const/NO_EMAG_ACT = -50
|
||||
|
||||
/obj/item/card/id/proc/dat()
|
||||
var/dat = ("<table><tr><td>")
|
||||
dat += text("Name: []<br>", registered_name)
|
||||
dat += text("Age: []<br>\n", age)
|
||||
dat += text("Sex: []<br>\n", sex)
|
||||
dat += text("Citizenship: []<br>\n", citizenship)
|
||||
dat += text("Assignment and Employer: []<br>\n", assignment)
|
||||
dat += text("Blood Type: []<br>\n", blood_type)
|
||||
dat += text("Fingerprint Hash: []<br>\n", fingerprint_hash)
|
||||
dat += text("DNA Hash: []\n", dna_hash)
|
||||
dat += "Name: [registered_name]<br>"
|
||||
dat += "Age: [age]<br>\n"
|
||||
dat += "Sex: [sex]<br>\n"
|
||||
dat += "Citizenship: [citizenship]<br>\n"
|
||||
dat += "Assignment and Employer: [assignment]<br>\n"
|
||||
dat += "Blood Type: [blood_type]<br>\n"
|
||||
dat += "Fingerprint Hash: [fingerprint_hash]<br>\n"
|
||||
dat += "DNA Hash: [dna_hash]\n"
|
||||
if(mining_points)
|
||||
dat += text("<br>Ore Redemption Points: []\n", mining_points)
|
||||
dat += "<br>Ore Redemption Points: [mining_points]\n"
|
||||
if(front && side)
|
||||
dat +="<td align = center valign = top>Front and Side Photograph<br><img src=front.png height=128 width=128 border=4><img src=side.png height=128 width=128 border=4></td>"
|
||||
dat += "</tr></table>"
|
||||
|
||||
@@ -132,8 +132,8 @@
|
||||
if((buf.types & DNA2_BUF_SE) && (block ? (GetState() && block == MONKEYBLOCK) : GetState(MONKEYBLOCK)))
|
||||
injected_with_monkey = SPAN_DANGER(" (MONKEY)")
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been injected with [name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [name] to inject [M.name] ([M.ckey])</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been injected with [name] by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [name] to inject [M.name] ([M.ckey])</span>"
|
||||
log_attack("[user.name] ([user.ckey]) used the [name] to inject [M.name] ([M.ckey])")
|
||||
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with \the [src][injected_with_monkey]")
|
||||
|
||||
|
||||
@@ -83,8 +83,8 @@
|
||||
return
|
||||
|
||||
if(user)
|
||||
H.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Attempted to handcuff [H.name] ([H.ckey])</span>")
|
||||
H.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been handcuffed (attempt) by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Attempted to handcuff [H.name] ([H.ckey])</span>"
|
||||
msg_admin_attack("[key_name_admin(user)] attempted to handcuff [key_name_admin(H)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(H))
|
||||
feedback_add_details("handcuffs","H")
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
var/s = SPAN_WARNING("[H] chews on [H.get_pronoun("his")] [O.name]!")
|
||||
H.visible_message(s, SPAN_WARNING("You chew on your [O.name]!"))
|
||||
message_admins("[key_name_admin(H)] is chewing on [H.get_pronoun("his")] restrained hand - (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)")
|
||||
H.attack_log += text("\[[time_stamp()]\] <span class='warning'>[s] ([H.ckey])</span>")
|
||||
H.attack_log += "\[[time_stamp()]\] <span class='warning'>[s] ([H.ckey])</span>"
|
||||
log_attack("[s] ([H.ckey])")
|
||||
|
||||
if(O.take_damage(3, 0, damage_flags = DAMAGE_FLAG_SHARP|DAMAGE_FLAG_EDGE, used_weapon = "teeth marks"))
|
||||
|
||||
@@ -100,8 +100,8 @@
|
||||
|
||||
user.visible_message(SPAN_WARNING("\The [user] tags \the [M] with \the [src]!"), SPAN_NOTICE("You tag \the [M] with \the [src]."), range = 3)
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'> Implanted with [name] ([ipc_tag.name]) by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [name] ([ipc_tag.name]) to implant [M.name] ([M.ckey])</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <font color='orange'> Implanted with [name] ([ipc_tag.name]) by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [name] ([ipc_tag.name]) to implant [M.name] ([M.ckey])</span>"
|
||||
msg_admin_attack("[key_name_admin(user)] implanted [key_name_admin(M)] with [name] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(M))
|
||||
|
||||
ipc_tag.replaced(H, H.organs_by_name[BP_HEAD])
|
||||
|
||||
@@ -79,15 +79,15 @@
|
||||
|
||||
/obj/item/storage/secure/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
var/dat = text("<TT><B>[]</B><BR>\n\nLock Status: []",src, (src.locked ? "LOCKED" : "UNLOCKED"))
|
||||
var/dat = "<TT><B>[src]</B><BR>\n\nLock Status: [(src.locked ? "LOCKED" : "UNLOCKED")]"
|
||||
var/message = "Code"
|
||||
if ((src.l_set == 0) && (!src.emagged) && (!src.l_setshort))
|
||||
dat += text("<p>\n<b>5-DIGIT PASSCODE NOT SET.<br>ENTER NEW PASSCODE.</b>")
|
||||
dat += "<p>\n<b>5-DIGIT PASSCODE NOT SET.<br>ENTER NEW PASSCODE.</b>"
|
||||
if (src.emagged)
|
||||
dat += text("<p>\n<font color=red><b>LOCKING SYSTEM ERROR - 1701</b></font>")
|
||||
dat += "<p>\n<font color=red><b>LOCKING SYSTEM ERROR - 1701</b></font>"
|
||||
if (src.l_setshort)
|
||||
dat += text("<p>\n<font color=red><b>ALERT: MEMORY SYSTEM ERROR - 6040 201</b></font>")
|
||||
message = text("[]", src.code)
|
||||
dat += "<p>\n<font color=red><b>ALERT: MEMORY SYSTEM ERROR - 6040 201</b></font>"
|
||||
message = "src.code[]"
|
||||
if (!src.locked)
|
||||
message = "*****"
|
||||
dat += "<HR>\n>[message]<BR>\n<A href='?src=[REF(src)];type=1'>1</A>-<A href='?src=[REF(src)];type=2'>2</A>-<A href='?src=[REF(src)];type=3'>3</A><BR>\n<A href='?src=[REF(src)];type=4'>4</A>-<A href='?src=[REF(src)];type=5'>5</A>-<A href='?src=[REF(src)];type=6'>6</A><BR>\n<A href='?src=[REF(src)];type=7'>7</A>-<A href='?src=[REF(src)];type=8'>8</A>-<A href='?src=[REF(src)];type=9'>9</A><BR>\n<A href='?src=[REF(src)];type=R'>R</A>-<A href='?src=[REF(src)];type=0'>0</A>-<A href='?src=[REF(src)];type=E'>E</A><BR>\n</TT>"
|
||||
@@ -117,7 +117,7 @@
|
||||
src.code = null
|
||||
src.close(usr)
|
||||
else
|
||||
src.code += text("[]", href_list["type"])
|
||||
src.code += "[href_list["type"]]"
|
||||
if (length(src.code) > 5)
|
||||
src.code = "ERROR"
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
@@ -185,7 +185,7 @@ var/savefile/Banlist
|
||||
if(!expiry) expiry = "Removal Pending"
|
||||
else expiry = "Permaban"
|
||||
|
||||
dat += text("<tr><td><A href='?src=[ref];unbanf=[key][id]'>(U)</A><A href='?src=[ref];unbane=[key][id]'>(E)</A> Key: <B>[key]</B></td><td>ComputerID: <B>[id]</B></td><td>IP: <B>[ip]</B></td><td> [expiry]</td><td>(By: [by])</td><td>(Reason: [reason])</td></tr>")
|
||||
dat += "<tr><td><A href='?src=[ref];unbanf=[key][id]'>(U)</A><A href='?src=[ref];unbane=[key][id]'>(E)</A> Key: <B>[key]</B></td><td>ComputerID: <B>[id]</B></td><td>IP: <B>[ip]</B></td><td> [expiry]</td><td>(By: [by])</td><td>(Reason: [reason])</td></tr>"
|
||||
|
||||
dat += "</table>"
|
||||
dat = "<HR><B>Bans:</B> <FONT COLOR=blue>(U) = Unban , (E) = Edit Ban</FONT> - <FONT COLOR=green>([count] Bans)</FONT><HR><table border=1 rules=all frame=void cellspacing=0 cellpadding=3 >[dat]"
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
/proc/admin_attack_log(var/mob/attacker, var/mob/victim, var/attacker_message, var/victim_message, var/admin_message)
|
||||
var/jmp_link = ""
|
||||
if(victim)
|
||||
victim.attack_log += text("\[[time_stamp()]\] <font color='orange'>[key_name(attacker)] - [victim_message]</font>")
|
||||
victim.attack_log +="\[[time_stamp()]\] <font color='orange'>[key_name(attacker)] - [victim_message]</font>"
|
||||
jmp_link = " (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[victim.x];Y=[victim.y];Z=[victim.z]'>JMP</a>)"
|
||||
if(attacker)
|
||||
attacker.attack_log += text("\[[time_stamp()]\] <span class='warning'>[key_name(victim)] - [attacker_message]</span>")
|
||||
attacker.attack_log += "\[[time_stamp()]\] <span class='warning'>[key_name(victim)] - [attacker_message]</span>"
|
||||
jmp_link = " (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[attacker.x];Y=[attacker.y];Z=[attacker.z]'>JMP</a>)"
|
||||
|
||||
msg_admin_attack("[attacker ? key_name_admin(attacker) : ""] [admin_message] [victim ? key_name_admin(victim) : ""] (INTENT: [attacker? uppertext(attacker.a_intent) : "N/A"])[jmp_link]",ckey=key_name(attacker),ckey_target=key_name(victim))
|
||||
|
||||
@@ -8,5 +8,5 @@
|
||||
|
||||
var/dat = "<B>Bombing List</B>"
|
||||
for(var/l in GLOB.bombers)
|
||||
dat += text("[l]<BR>")
|
||||
dat += "[l]<BR>"
|
||||
user << browse(dat, "window=bombers")
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
to_chat(src, "Only administrators may use this command.")
|
||||
return
|
||||
|
||||
var/msg = sanitize(input("Message:", text("Subtle PM to [M.key]")) as text)
|
||||
var/msg = sanitize(input("Message:", "Subtle PM to [M.key]"))
|
||||
|
||||
if (!msg)
|
||||
return
|
||||
@@ -83,7 +83,7 @@
|
||||
to_chat(src, "Only administrators may use this command.")
|
||||
return
|
||||
|
||||
var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to everyone:")) as text))
|
||||
var/msg = html_decode(sanitize(input("Message:", "Enter the text you wish to appear to everyone:")))
|
||||
|
||||
if (!msg)
|
||||
return
|
||||
@@ -110,7 +110,7 @@
|
||||
else
|
||||
return
|
||||
|
||||
var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to everyone within seven tiles of you:")) as text))
|
||||
var/msg = html_decode(sanitize(input("Message:", "Enter the text you wish to appear to everyone within seven tiles of you:")))
|
||||
if(!msg)
|
||||
return
|
||||
for(var/M in message_mobs)
|
||||
@@ -133,7 +133,7 @@
|
||||
if(!M)
|
||||
return
|
||||
|
||||
var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to your target:")) as text))
|
||||
var/msg = html_decode(sanitize(input("Message:", "Enter the text you wish to appear to your target:")))
|
||||
|
||||
if( !msg )
|
||||
return
|
||||
@@ -662,13 +662,13 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
if(!check_rights(R_DEBUG|R_FUN)) return
|
||||
|
||||
var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null
|
||||
var/devastation = input("Range of total devastation. -1 to none", "Input") as num|null
|
||||
if(devastation == null) return
|
||||
var/heavy = input("Range of heavy impact. -1 to none", text("Input")) as num|null
|
||||
var/heavy = input("Range of heavy impact. -1 to none", "Input") as num|null
|
||||
if(heavy == null) return
|
||||
var/light = input("Range of light impact. -1 to none", text("Input")) as num|null
|
||||
var/light = input("Range of light impact. -1 to none", "Input") as num|null
|
||||
if(light == null) return
|
||||
var/flash = input("Range of flash. -1 to none", text("Input")) as num|null
|
||||
var/flash = input("Range of flash. -1 to none", "Input") as num|null
|
||||
if(flash == null) return
|
||||
|
||||
if ((devastation != -1) || (heavy != -1) || (light != -1) || (flash != -1))
|
||||
@@ -690,9 +690,9 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
if(!check_rights(R_DEBUG|R_FUN)) return
|
||||
|
||||
var/heavy = input("Range of heavy pulse.", text("Input")) as num|null
|
||||
var/heavy = input("Range of heavy pulse.", "Input") as num|null
|
||||
if(heavy == null) return
|
||||
var/light = input("Range of light pulse.", text("Input")) as num|null
|
||||
var/light = input("Range of light pulse.", "Input") as num|null
|
||||
if(light == null) return
|
||||
|
||||
if (heavy || light)
|
||||
|
||||
@@ -559,7 +559,7 @@
|
||||
var/mob/living/carbon/human/D = H
|
||||
if(D.lying)
|
||||
D.attack_log += "\[[time_stamp()]\]<font color='orange'> Was trampled by [src]</font>"
|
||||
attack_log += text("\[[time_stamp()]\] <span class='warning'>trampled [D.name] ([D.ckey]) with \the [src].</span>")
|
||||
attack_log += "\[[time_stamp()]\] <span class='warning'>trampled [D.name] ([D.ckey]) with \the [src].</span>"
|
||||
msg_admin_attack("[src] trampled [key_name(D)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[D.x];Y=[D.y];Z=[D.z]'>JMP</a>)" )
|
||||
src.visible_message(SPAN_DANGER("\The [src] runs over \the [D]!"))
|
||||
D.apply_damage(legs.trample_damage, DAMAGE_BRUTE)
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
close()
|
||||
|
||||
else if (src.density)
|
||||
flick(text("[]deny", src.base_state), src)
|
||||
flick("[src.base_state]deny", src)
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
activate_pin(3)
|
||||
|
||||
for(var/mob/O in hearers(1, get_turf(src)))
|
||||
O.show_message(text("[icon2html(src, viewers(get_turf(src)))] *beep* *beep*"), 3, "*beep* *beep*", 2)
|
||||
O.show_message("[icon2html(src, viewers(get_turf(src)))] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
|
||||
//This circuit gives information on where the machine is.
|
||||
/obj/item/integrated_circuit/input/gps
|
||||
|
||||
@@ -88,8 +88,8 @@
|
||||
D.visible_message(SPAN_DANGER("[attack_message]"))
|
||||
|
||||
playsound(D.loc, ((miss_type) ? (miss_type == 1 ? attack.miss_sound : 'sound/weapons/thudswoosh.ogg') : attack.attack_sound), 25, 1, -1)
|
||||
A.attack_log += text("\[[time_stamp()]\] <span class='warning'>[miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [D.name] ([D.ckey])</span>")
|
||||
D.attack_log += text("\[[time_stamp()]\] <font color='orange'>[miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [A.name] ([A.ckey])</font>")
|
||||
A.attack_log += "\[[time_stamp()]\] <span class='warning'>[miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [D.name] ([D.ckey])</span>"
|
||||
D.attack_log += "\[[time_stamp()]\] <font color='orange'>[miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [A.name] ([A.ckey])</font>"
|
||||
msg_admin_attack("[key_name(A)] [miss_type ? (miss_type == 1 ? "has missed" : "was blocked by") : "has [pick(attack.attack_verb)]"] [key_name(D)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[A.x];Y=[A.y];Z=[A.z]'>JMP</a>)",ckey=key_name(A),ckey_target=key_name(D))
|
||||
|
||||
if(miss_type)
|
||||
|
||||
@@ -88,8 +88,8 @@
|
||||
playsound(get_turf(D), /singleton/sound_category/punch_sound, 50, 1, -1)
|
||||
|
||||
A.visible_message(SPAN_DANGER("[A] [picked_hit_type] [D]!"))
|
||||
A.attack_log += text("\[[time_stamp()]\] <span class='warning'>["[picked_hit_type]"] [D.name] ([D.ckey])</span>")
|
||||
D.attack_log += text("\[[time_stamp()]\] <font color='orange'>["Has Been [picked_hit_type]"] by [A.name] ([A.ckey])</font>")
|
||||
A.attack_log += "\[[time_stamp()]\] <span class='warning'>["[picked_hit_type]"] [D.name] ([D.ckey])</span>"
|
||||
D.attack_log += "\[[time_stamp()]\] <font color='orange'>["Has Been [picked_hit_type]"] by [A.name] ([A.ckey])</font>"
|
||||
msg_admin_attack("[key_name(A)] ["has [picked_hit_type]"] [key_name(D)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[A.x];Y=[A.y];Z=[A.z]'>JMP</a>)",ckey=key_name(A),ckey_target=key_name(D))
|
||||
|
||||
return 1
|
||||
@@ -100,8 +100,8 @@
|
||||
if(check_streak(A,D))
|
||||
return 1
|
||||
|
||||
A.attack_log += text("\[[time_stamp()]\] <span class='warning'>Disarmed [D.name] ([D.ckey])</span>")
|
||||
D.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been disarmed by [A.name] ([A.ckey])</font>")
|
||||
A.attack_log += "\[[time_stamp()]\] <span class='warning'>Disarmed [D.name] ([D.ckey])</span>"
|
||||
D.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been disarmed by [A.name] ([A.ckey])</font>"
|
||||
msg_admin_attack("[key_name(A)] disarmed [D.name] ([D.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[D.x];Y=[D.y];Z=[D.z]'>JMP</a>)",ckey=key_name(D),ckey_target=key_name(A))
|
||||
|
||||
if(prob(60))
|
||||
|
||||
+31
-31
@@ -60,53 +60,53 @@
|
||||
var/dat = "<b>Coin Press</b><br>"
|
||||
|
||||
if(!input)
|
||||
dat += text("input connection status: ")
|
||||
dat += text("<b><span class='warning'>NOT CONNECTED</span></b><br>")
|
||||
dat += "input connection status: "
|
||||
dat += "<b><span class='warning'>NOT CONNECTED</span></b><br>"
|
||||
if(!output)
|
||||
dat += text("<br>output connection status: ")
|
||||
dat += text("<b><span class='warning'>NOT CONNECTED</span></b><br>")
|
||||
dat += "<br>output connection status: "
|
||||
dat += "<b><span class='warning'>NOT CONNECTED</span></b><br>"
|
||||
|
||||
dat += text("<br><font color='#ffcc00'><b>Gold inserted: </b>[amt_gold]</font> ")
|
||||
dat += "<br><font color='#ffcc00'><b>Gold inserted: </b>[amt_gold]</font> "
|
||||
if(chosen == "gold")
|
||||
dat += text("chosen")
|
||||
dat += "chosen"
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];choose=gold'>Choose</A>")
|
||||
dat += text("<br><font color='#888888'><b>Silver inserted: </b>[amt_silver]</font> ")
|
||||
dat += "<A href='?src=[REF(src)];choose=gold'>Choose</A>"
|
||||
dat += "<br><font color='#888888'><b>Silver inserted: </b>[amt_silver]</font> "
|
||||
if(chosen == "silver")
|
||||
dat += text("chosen")
|
||||
dat += "chosen"
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];choose=silver'>Choose</A>")
|
||||
dat += text("<br><font color='#555555'><b>Iron inserted: </b>[amt_iron]</font> ")
|
||||
dat += "<A href='?src=[REF(src)];choose=silver'>Choose</A>"
|
||||
dat += "<br><font color='#555555'><b>Iron inserted: </b>[amt_iron]</font> "
|
||||
if(chosen == DEFAULT_WALL_MATERIAL)
|
||||
dat += text("chosen")
|
||||
dat += "chosen"
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];choose=metal'>Choose</A>")
|
||||
dat += text("<br><font color='#8888FF'><b>Diamond inserted: </b>[amt_diamond]</font> ")
|
||||
dat += "<A href='?src=[REF(src)];choose=metal'>Choose</A>"
|
||||
dat += "<br><font color='#8888FF'><b>Diamond inserted: </b>[amt_diamond]</font> "
|
||||
if(chosen == "diamond")
|
||||
dat += text("chosen")
|
||||
dat += "chosen"
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];choose=diamond'>Choose</A>")
|
||||
dat += text("<br><font color='#FF8800'><b>Phoron inserted: </b>[amt_phoron]</font> ")
|
||||
dat += "<A href='?src=[REF(src)];choose=diamond'>Choose</A>"
|
||||
dat += "<br><font color='#FF8800'><b>Phoron inserted: </b>[amt_phoron]</font> "
|
||||
if(chosen == "phoron")
|
||||
dat += text("chosen")
|
||||
dat += "chosen"
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];choose=phoron'>Choose</A>")
|
||||
dat += text("<br><font color='#008800'><b>Uranium inserted: </b>[amt_uranium]</font> ")
|
||||
dat += "<A href='?src=[REF(src)];choose=phoron'>Choose</A>"
|
||||
dat += "<br><font color='#008800'><b>Uranium inserted: </b>[amt_uranium]</font> "
|
||||
if(chosen == "uranium")
|
||||
dat += text("chosen")
|
||||
dat += "chosen"
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];choose=uranium'>Choose</A>")
|
||||
dat += "<A href='?src=[REF(src)];choose=uranium'>Choose</A>"
|
||||
|
||||
dat += text("<br><br>Will produce [coinsToProduce] [chosen] coins if enough materials are available.<br>")
|
||||
dat += text("<A href='?src=[REF(src)];chooseAmt=-10'>-10</A> ")
|
||||
dat += text("<A href='?src=[REF(src)];chooseAmt=-5'>-5</A> ")
|
||||
dat += text("<A href='?src=[REF(src)];chooseAmt=-1'>-1</A> ")
|
||||
dat += text("<A href='?src=[REF(src)];chooseAmt=1'>+1</A> ")
|
||||
dat += text("<A href='?src=[REF(src)];chooseAmt=5'>+5</A> ")
|
||||
dat += text("<A href='?src=[REF(src)];chooseAmt=10'>+10</A> ")
|
||||
dat += "<br><br>Will produce [coinsToProduce] [chosen] coins if enough materials are available.<br>"
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=-10'>-10</A> "
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=-5'>-5</A> "
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=-1'>-1</A> "
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=1'>+1</A> "
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=5'>+5</A> "
|
||||
dat += "<A href='?src=[REF(src)];chooseAmt=10'>+10</A> "
|
||||
|
||||
dat += text("<br><br>In total this machine produced <font color='green'><b>[newCoins]</b></font> coins.")
|
||||
dat += text("<br><A href='?src=[REF(src)];makeCoins=[1]'>Make coins</A>")
|
||||
dat += "<br><br>In total this machine produced <font color='green'><b>[newCoins]</b></font> coins."
|
||||
dat += "<br><A href='?src=[REF(src)];makeCoins=[1]'>Make coins</A>"
|
||||
user << browse("[dat]", "window=mint")
|
||||
|
||||
/obj/machinery/mineral/mint/Topic(href, href_list)
|
||||
|
||||
@@ -431,8 +431,8 @@ var/list/slot_equipment_priority = list( \
|
||||
var/start_T_descriptor = "<font color='#6b5d00'>tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]</font>"
|
||||
var/end_T_descriptor = "<font color='#6b4400'>tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]</font>"
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</font>")
|
||||
usr.attack_log += text("\[[time_stamp()]\] <span class='warning'>Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</font>"
|
||||
usr.attack_log += "\[[time_stamp()]\] <span class='warning'>Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</span>"
|
||||
msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[usr.x];Y=[usr.y];Z=[usr.z]'>JMP</a>)",ckey=key_name(usr),ckey_target=key_name(M))
|
||||
|
||||
qdel(G)
|
||||
|
||||
@@ -565,7 +565,7 @@
|
||||
show_inv(machine)
|
||||
|
||||
if (href_list["mach_close"])
|
||||
var/t1 = text("window=[]", href_list["mach_close"])
|
||||
var/t1 = "window=[href_list["mach_close"]]"
|
||||
unset_machine()
|
||||
src << browse(null, t1)
|
||||
|
||||
@@ -673,10 +673,10 @@
|
||||
return
|
||||
if(istype(usr,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/U = usr
|
||||
R.security.comments += text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]")
|
||||
R.security.comments += "Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]"
|
||||
if(istype(usr,/mob/living/silicon/robot))
|
||||
var/mob/living/silicon/robot/U = usr
|
||||
R.security.comments += text("Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]")
|
||||
R.security.comments += "Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]"
|
||||
|
||||
if (href_list["medical"])
|
||||
if(hasHUD(usr,"medical"))
|
||||
@@ -774,10 +774,10 @@
|
||||
return
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/U = usr
|
||||
R.medical.comments += text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]")
|
||||
R.medical.comments += "Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]"
|
||||
if(isrobot(usr))
|
||||
var/mob/living/silicon/robot/U = usr
|
||||
R.medical.comments += text("Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]")
|
||||
R.medical.comments += "Made by [U.name] ([U.mod_type] [U.braintype]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]<BR>[t1]"
|
||||
|
||||
if(href_list["triagetag"])
|
||||
if(hasHUD(usr, "medical"))
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
if(G.cell.charge >= 2500)
|
||||
G.cell.use(G.cell.charge) //So it drains the cell.
|
||||
visible_message(SPAN_DANGER("[src] has been touched with the stun gloves by [M]!"))
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>Stungloved [src.name] ([src.ckey])</span>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been stungloved by [M.name] ([M.ckey])</font>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>Stungloved [src.name] ([src.ckey])</span>"
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been stungloved by [M.name] ([M.ckey])</font>"
|
||||
|
||||
msg_admin_attack("[key_name_admin(M)] stungloved [src.name] ([src.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[M.x];Y=[M.y];Z=[M.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
|
||||
@@ -248,8 +248,8 @@
|
||||
H.visible_message(SPAN_DANGER("[attack_message]"))
|
||||
|
||||
playsound(loc, ((miss_type) ? (miss_type == 1 ? attack.miss_sound : 'sound/weapons/thudswoosh.ogg') : attack.attack_sound), 25, 1, -1)
|
||||
H.attack_log += text("\[[time_stamp()]\] <span class='warning'>[miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [src.name] ([src.ckey])</span>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>[miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [H.name] ([H.ckey])</font>")
|
||||
H.attack_log += "\[[time_stamp()]\] <span class='warning'>[miss_type ? (miss_type == 1 ? "Missed" : "Blocked") : "[pick(attack.attack_verb)]"] [src.name] ([src.ckey])</span>"
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>[miss_type ? (miss_type == 1 ? "Was missed by" : "Has blocked") : "Has Been [pick(attack.attack_verb)]"] by [H.name] ([H.ckey])</font>"
|
||||
msg_admin_attack("[key_name(H)] [miss_type ? (miss_type == 1 ? "has missed" : "was blocked by") : "has [pick(attack.attack_verb)]"] [key_name(src)] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)",ckey=key_name(H),ckey_target=key_name(src))
|
||||
|
||||
if(miss_type)
|
||||
@@ -335,8 +335,8 @@
|
||||
return FALSE
|
||||
M.nutrition = Clamp(M.nutrition - disarm_cost, 0, M.max_nutrition)
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>Disarmed [src.name] ([src.ckey])</span>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been disarmed by [M.name] ([M.ckey])</font>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>Disarmed [src.name] ([src.ckey])</span>"
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been disarmed by [M.name] ([M.ckey])</font>"
|
||||
|
||||
msg_admin_attack("[key_name(M)] disarmed [src.name] ([src.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[M.x];Y=[M.y];Z=[M.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
M.do_attack_animation(src)
|
||||
@@ -546,8 +546,8 @@
|
||||
if(!damage)
|
||||
return
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>attacked [src.name] ([src.ckey])</span>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>was attacked by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>attacked [src.name] ([src.ckey])</span>"
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>was attacked by [user.name] ([user.ckey])</font>"
|
||||
user.do_attack_animation(src)
|
||||
if(damage < 15 && check_shields(damage, null, user, null, "\the [user]"))
|
||||
return
|
||||
|
||||
@@ -382,8 +382,8 @@ emp_act
|
||||
var/mob/M = O.throwing?.thrower?.resolve()
|
||||
var/client/assailant = M.client
|
||||
if(assailant)
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been hit with a [O], thrown by [M.name] ([assailant.ckey])</font>")
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>Hit [src.name] ([src.ckey]) with a thrown [O]</span>")
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been hit with a [O], thrown by [M.name] ([assailant.ckey])</font>"
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>Hit [src.name] ([src.ckey]) with a thrown [O]</span>"
|
||||
if(!istype(src,/mob/living/simple_animal/rat))
|
||||
msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return FALSE
|
||||
|
||||
if(user.incapacitated() || !user.Adjacent(src))
|
||||
user << browse(null, text("window=mob[src.name]"))
|
||||
user << browse(null, "window=mob[src.name]")
|
||||
return FALSE
|
||||
|
||||
if(ishuman(user))
|
||||
@@ -134,8 +134,8 @@
|
||||
if (suit.has_sensor >= 2)
|
||||
to_chat(user, SPAN_WARNING("\The [src]'s suit sensor controls are locked."))
|
||||
return
|
||||
attack_log += text("\[[time_stamp()]\] <font color='orange'>Has had their sensors toggled by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Attempted to toggle [name]'s ([ckey]) sensors</span>")
|
||||
attack_log += "\[[time_stamp()]\] <font color='orange'>Has had their sensors toggled by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Attempted to toggle [name]'s ([ckey]) sensors</span>"
|
||||
suit.set_sensors(user)
|
||||
|
||||
// Remove all splints.
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
health = maxHealth
|
||||
amount_grown = 0
|
||||
regenerate_icons()
|
||||
name = text("[colour] [is_adult ? "adult" : "baby"] slime ([number])")
|
||||
name = "[colour] [is_adult ? "adult" : "baby"] slime ([number])"
|
||||
real_name = name
|
||||
set_content(TRUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(set_content), FALSE), 1200) // You get two minutes of safety
|
||||
|
||||
@@ -193,8 +193,8 @@
|
||||
var/mob/M = O.throwing?.thrower?.resolve()
|
||||
var/client/assailant = M.client
|
||||
if(assailant)
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been hit with a [O], thrown by [M.name] ([assailant.ckey])</font>")
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>Hit [src.name] ([src.ckey]) with a thrown [O]</span>")
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been hit with a [O], thrown by [M.name] ([assailant.ckey])</font>"
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>Hit [src.name] ([src.ckey]) with a thrown [O]</span>"
|
||||
if(!istype(src,/mob/living/simple_animal/rat))
|
||||
msg_admin_attack("[src.name] ([src.ckey]) was hit by a [O], thrown by [M.name] ([assailant.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)",ckey=key_name(M),ckey_target=key_name(src))
|
||||
|
||||
@@ -261,8 +261,8 @@
|
||||
if(!damage)
|
||||
return
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>attacked [src.name] ([src.ckey])</span>")
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>was attacked by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>attacked [src.name] ([src.ckey])</span>"
|
||||
src.attack_log += "\[[time_stamp()]\] <font color='orange'>was attacked by [user.name] ([user.ckey])</font>"
|
||||
if (attack_message)
|
||||
src.visible_message(SPAN_DANGER("[user] has [attack_message] [src]!"))
|
||||
user.do_attack_animation(src)
|
||||
|
||||
@@ -517,7 +517,7 @@ var/list/ai_verbs_default = list(
|
||||
if (href_list["mach_close"])
|
||||
if (href_list["mach_close"] == "aialerts")
|
||||
view_alerts = 0
|
||||
var/t1 = text("window=[]", href_list["mach_close"])
|
||||
var/t1 = "window=[href_list["mach_close"]]"
|
||||
unset_machine()
|
||||
src << browse(null, t1)
|
||||
if (href_list["switchcamera"])
|
||||
@@ -546,7 +546,7 @@ var/list/ai_verbs_default = list(
|
||||
to_chat(src, SPAN_NOTICE("Unable to locate visual entry."))
|
||||
return
|
||||
var/info = cameraRecords[entry]
|
||||
src << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", info[1], info[2]), text("window=[]", html_encode(info[1])))
|
||||
src << browse("<HTML><HEAD><TITLE>[info[1]]</TITLE></HEAD><BODY><TT>[info[2]]</TT></BODY></HTML>", "window=[html_encode(info[1])]")
|
||||
return
|
||||
|
||||
return
|
||||
|
||||
@@ -197,11 +197,11 @@
|
||||
for(var/O in module.modules)
|
||||
var/module_string = ""
|
||||
if(!O)
|
||||
module_string += text("<B>Resource depleted</B><BR>")
|
||||
module_string +="<B>Resource depleted</B><BR>"
|
||||
else if(activated(O))
|
||||
module_string += text("[O]: <B>Activated</B><BR>")
|
||||
module_string += "[O]: <B>Activated</B><BR>"
|
||||
else
|
||||
module_string += text("[O]: <A HREF=?src=[REF(src)];act=[REF(O)]>Activate</A><BR>")
|
||||
module_string += "[O]: <A HREF=?src=[REF(src)];act=[REF(O)]>Activate</A><BR>"
|
||||
|
||||
var/obj/item/I = O
|
||||
if((istype(I, /obj/item) || istype(I, /obj/item/device)) && !(I.iscoil()))
|
||||
@@ -213,11 +213,11 @@
|
||||
|
||||
if(emagged)
|
||||
if(!module.emag)
|
||||
dat += text("<B>Resource depleted</B><BR>")
|
||||
dat += "<B>Resource depleted</B><BR>"
|
||||
else if(activated(module.emag))
|
||||
dat += text("[module.emag]: <B>Activated</B><BR>")
|
||||
dat += "[module.emag]: <B>Activated</B><BR>"
|
||||
else
|
||||
dat += text("[module.emag]: <A HREF=?src=[REF(src)];act=[REF(module.emag)]>Activate</A><BR>")
|
||||
dat += "[module.emag]: <A HREF=?src=[REF(src)];act=[REF(module.emag)]>Activate</A><BR>"
|
||||
|
||||
dat += resources
|
||||
|
||||
|
||||
@@ -878,21 +878,21 @@
|
||||
|
||||
for(var/obj in module.modules)
|
||||
if(!obj)
|
||||
dat += text("<B>Resource depleted</B><BR>")
|
||||
dat += "<B>Resource depleted</B><BR>"
|
||||
else if(activated(obj))
|
||||
dat += text("[obj]: <B>Activated</B><BR>")
|
||||
dat += "[obj]: <B>Activated</B><BR>"
|
||||
else
|
||||
dat += text("[obj]: <A HREF=?src=[REF(src)];act=[REF(obj)]>Activate</A><BR>")
|
||||
dat += "[obj]: <A HREF=?src=[REF(src)];act=[REF(obj)]>Activate</A><BR>"
|
||||
if(emagged)
|
||||
if(activated(module.emag))
|
||||
dat += text("[module.emag]: <B>Activated</B><BR>")
|
||||
dat += "[module.emag]: <B>Activated</B><BR>"
|
||||
else
|
||||
dat += text("[module.emag]: <A HREF=?src=[REF(src)];act=[REF(module.emag)]>Activate</A><BR>")
|
||||
dat += "[module.emag]: <A HREF=?src=[REF(src)];act=[REF(module.emag)]>Activate</A><BR>"
|
||||
if(malf_AI_module)
|
||||
if(activated(module.malf_AI_module))
|
||||
dat += text("[module.malf_AI_module]: <B>Activated</B><BR>")
|
||||
dat += "[module.malf_AI_module]: <B>Activated</B><BR>"
|
||||
else
|
||||
dat += text("[module.malf_AI_module]: <A HREF=?src=[REF(src)];act=[REF(module.malf_AI_module)]>Activate</A><BR>")
|
||||
dat += "[module.malf_AI_module]: <A HREF=?src=[REF(src)];act=[REF(module.malf_AI_module)]>Activate</A><BR>"
|
||||
src << browse(dat, "window=robotmod")
|
||||
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
to_chat(user, SPAN_WARNING("This being is corrupted by an alien intelligence and cannot be soul trapped."))
|
||||
return..()
|
||||
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has had their soul captured with [src.name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [src.name] to capture the soul of [M.name] ([M.ckey])</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <font color='orange'>Has had their soul captured with [src.name] by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [src.name] to capture the soul of [M.name] ([M.ckey])</span>"
|
||||
msg_admin_attack("[user.name] ([user.ckey]) used the [src.name] to capture the soul of [M.name] ([M.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(src),ckey_target=key_name(M))
|
||||
|
||||
transfer_soul("VICTIM", M, user)
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
else
|
||||
dat += "<br><b>Headset:</b> <a href='?src=[REF(src)];add_inv=ears'>Nothing</a>"
|
||||
|
||||
user << browse(dat, text("window=mob[];size=325x500", name))
|
||||
user << browse(dat, "window=mob[name];size=325x500")
|
||||
onclose(user, "mob[real_name]")
|
||||
return
|
||||
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
|
||||
/mob/proc/findname(msg)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if (M.real_name == text("[]", msg))
|
||||
if (M.real_name == "[msg]")
|
||||
return M
|
||||
return 0
|
||||
|
||||
@@ -367,7 +367,7 @@
|
||||
<BR><B>Left Hand:</B> <A href='?src=[REF(src)];item=l_hand'>[(l_hand ? l_hand : "Nothing")]</A>
|
||||
<BR><B>Right Hand:</B> <A href='?src=[REF(src)];item=r_hand'>[(r_hand ? r_hand : "Nothing")]</A>
|
||||
<BR><B>Back:</B> <A href='?src=[REF(src)];item=back'>[(back ? back : "Nothing")]</A> [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " <A href='?src=[REF(src)];item=internal'>Set Internal</A>" : "")]
|
||||
<BR>[(internal ? text("<A href='?src=[REF(src)];item=internal'>Remove Internal</A>") : "")]
|
||||
<BR>[(internal ? "<A href='?src=[REF(src)];item=internal'>Remove Internal</A>" : "")]
|
||||
<BR><A href='?src=[REF(src)];item=pockets'>Empty Pockets</A>
|
||||
<BR><A href='?src=[REF(user)];refresh=1'>Refresh</A>
|
||||
<BR><A href='?src=[REF(user)];mach_close=mob[name]'>Close</A>
|
||||
@@ -657,7 +657,7 @@
|
||||
|
||||
/mob/Topic(href, href_list)
|
||||
if(href_list["mach_close"])
|
||||
var/t1 = text("window=[href_list["mach_close"]]")
|
||||
var/t1 = "window=[href_list["mach_close"]]"
|
||||
unset_machine()
|
||||
src << browse(null, t1)
|
||||
|
||||
|
||||
@@ -113,8 +113,8 @@
|
||||
attacker.visible_message(SPAN_DANGER("[attacker] [attacker.species.knockout_message]"))
|
||||
|
||||
playsound(attacker.loc, /singleton/sound_category/swing_hit_sound, 25, 1, -1)
|
||||
attacker.attack_log += text("\[[time_stamp()]\] <span class='warning'>Headbutted [target.name] ([target.ckey])</span>")
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Headbutted by [attacker.name] ([attacker.ckey])</font>")
|
||||
attacker.attack_log += "\[[time_stamp()]\] <span class='warning'>Headbutted [target.name] ([target.ckey])</span>"
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Headbutted by [attacker.name] ([attacker.ckey])</font>"
|
||||
msg_admin_attack("[key_name(attacker)] has headbutted [key_name(target)]",ckey=key_name(attacker),ckey_target=key_name(target))
|
||||
|
||||
qdel(src)
|
||||
|
||||
@@ -442,12 +442,12 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
n_letter = copytext(te, p, p+n_mod)
|
||||
if (prob(50))
|
||||
if (prob(30))
|
||||
n_letter = text("[n_letter]-[n_letter]-[n_letter]")
|
||||
n_letter = "[n_letter]-[n_letter]-[n_letter]"
|
||||
else
|
||||
n_letter = text("[n_letter]-[n_letter]")
|
||||
n_letter = "[n_letter]-[n_letter]"
|
||||
else
|
||||
n_letter = text("[n_letter]")
|
||||
t = text("[t][n_letter]")
|
||||
n_letter = "[n_letter]"
|
||||
t = "[t][n_letter]"
|
||||
p=p+n_mod
|
||||
return sanitize(t)
|
||||
|
||||
@@ -472,7 +472,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
|
||||
/proc/findname(msg)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if (M.real_name == text("[msg]"))
|
||||
if (M.real_name == "[msg]")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
var/obj/item/card/id/held_card = get_held_card()
|
||||
|
||||
data["has_printer"] = !!computer.nano_printer
|
||||
data["id_card"] = held_card ? text("[held_card.registered_name], [held_card.assignment]") : null
|
||||
data["id_card"] = held_card ? "[held_card.registered_name], [held_card.assignment]" : null
|
||||
data["access_level"] = get_access_level()
|
||||
data["machine_id"] = machine_id
|
||||
data["station_account_number"] = "[SSeconomy.station_account.account_number]"
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
id_card.access += access_type
|
||||
. = TRUE
|
||||
if(id_card)
|
||||
id_card.name = text("[id_card.registered_name]'s ID Card ([id_card.assignment])")
|
||||
id_card.name = "[id_card.registered_name]'s ID Card ([id_card.assignment])"
|
||||
. = TRUE
|
||||
|
||||
/datum/computer_file/program/card_mod/proc/remove_nt_access(var/obj/item/card/id/id_card)
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
else if(attacking_item.ispen())
|
||||
var/n_name = sanitizeSafe( tgui_input_text(user, "What would you like to label the folder?", "Folder Labelling", max_length = MAX_NAME_LEN), MAX_NAME_LEN )
|
||||
if(Adjacent(user) && user.stat == 0)
|
||||
name = "folder[(n_name ? text("- '[n_name]'") : null)]"
|
||||
name = "folder[(n_name ? "- '[n_name]'" : null)]"
|
||||
return
|
||||
|
||||
/obj/item/folder/attack_self(mob/user as mob)
|
||||
|
||||
@@ -187,8 +187,8 @@
|
||||
var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD)
|
||||
to_chat(user, SPAN_ALERT("You stab \the [M] with \the [src], injecting all of its contents.")) // To the stabber.
|
||||
to_chat(M, SPAN_WARNING("You feel a small <b>pinch</b>!")) // To the stabbed.
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been stabbed with [name] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [name] to stab [M.name] ([M.ckey])</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been stabbed with [name] by [user.name] ([user.ckey])</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [name] to stab [M.name] ([M.ckey])</span>"
|
||||
msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(M))
|
||||
admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans) // Admin log.
|
||||
|
||||
|
||||
@@ -141,9 +141,9 @@
|
||||
var/singleton/reagent/R = GET_SINGLETON(_R)
|
||||
dat += "<br> [B.reagents.reagent_volumes[_R]] units of [R.name], "
|
||||
if (check_beaker_mixing(B))
|
||||
dat += text("<A href='?src=[REF(src)];stop_mix=[i]'><font color='green'>Mixing</font></A> ")
|
||||
dat += "<A href='?src=[REF(src)];stop_mix=[i]'><font color='green'>Mixing</font></A> "
|
||||
else
|
||||
dat += text("<A href='?src=[REF(src)];mix=[i]'><span class='warning'>Not mixing</span></A> ")
|
||||
dat += "<A href='?src=[REF(src)];mix=[i]'><span class='warning'>Not mixing</span></A> "
|
||||
else
|
||||
dat += "nothing."
|
||||
dat += " \[<A href='?src=[REF(src)];eject=[i]'>Eject</A>\]<br>"
|
||||
|
||||
@@ -599,8 +599,8 @@
|
||||
target.apply_damage(25, DAMAGE_PAIN)
|
||||
target.say("*scream")
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Has fed [target.name]'s ([target.ckey]) hair into a [src].</span>")
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has had their hair fed into [src] by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Has fed [target.name]'s ([target.ckey]) hair into a [src].</span>"
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has had their hair fed into [src] by [user.name] ([user.ckey])</font>"
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] in a [src]. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
else
|
||||
return
|
||||
|
||||
@@ -190,8 +190,8 @@
|
||||
var/contained = reagentlist()
|
||||
var/temperature = reagents.get_temperature()
|
||||
var/temperature_text = "Temperature: ([temperature]K/[temperature]C)"
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been splashed with [name] by [user.name] ([user.ckey]). Reagents: [contained] [temperature_text].</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Used the [name] to splash [target.name] ([target.key]). Reagents: [contained] [temperature_text].</span>")
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been splashed with [name] by [user.name] ([user.ckey]). Reagents: [contained] [temperature_text].</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Used the [name] to splash [target.name] ([target.key]). Reagents: [contained] [temperature_text].</span>"
|
||||
msg_admin_attack("[user.name] ([user.ckey]) splashed [target.name] ([target.key]) with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
|
||||
user.visible_message(SPAN_DANGER("\The [target] has been splashed with something by \the [user]!"),
|
||||
@@ -274,8 +274,8 @@
|
||||
other_feed_message_finish(user, target)
|
||||
|
||||
var/contained = reagentlist()
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [user.name] ([user.ckey]). Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Fed [name] by [target.name] ([target.ckey]). Reagents: [contained]</span>")
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [user.name] ([user.ckey]). Reagents: [contained]</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Fed [name] by [target.name] ([target.ckey]). Reagents: [contained]</span>"
|
||||
msg_admin_attack("[key_name(user)] fed [key_name(target)] with [name]. Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
|
||||
reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST)
|
||||
|
||||
@@ -130,8 +130,8 @@
|
||||
other_feed_message_finish(user,target)
|
||||
|
||||
var/contained = reagentlist()
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Fed [name] to [key_name(target)] Reagents: [contained]</span>")
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Fed [name] to [key_name(target)] Reagents: [contained]</span>"
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
reagents.trans_to_mob(target, min(reagents.total_volume,bitesize), CHEM_INGEST)
|
||||
|
||||
|
||||
@@ -49,8 +49,8 @@
|
||||
user.visible_message(SPAN_WARNING("[user] forces [M] to swallow \the [src]."))
|
||||
|
||||
var/contained = reagentlist()
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>")
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Fed [name] to [key_name(M)] Reagents: [contained]</span>")
|
||||
M.attack_log +="\[[time_stamp()]\] <font color='orange'>Has been fed [name] by [key_name(user)] Reagents: [contained]</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Fed [name] to [key_name(M)] Reagents: [contained]</span>"
|
||||
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(M))
|
||||
|
||||
if(reagents.total_volume)
|
||||
@@ -68,7 +68,7 @@
|
||||
return
|
||||
to_chat(user, SPAN_NOTICE("You dissolve \the [src] in [target]."))
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Spiked \a [target] with a pill. Reagents: [reagentlist()]</span>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Spiked \a [target] with a pill. Reagents: [reagentlist()]</span>"
|
||||
msg_admin_attack("[user.name] ([user.ckey]) spiked \a [target] with a pill. Reagents: [reagentlist()] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
|
||||
reagents.trans_to(target, reagents.total_volume)
|
||||
|
||||
@@ -229,8 +229,8 @@
|
||||
for (var/mob/C in viewers(src))
|
||||
C.show_message(SPAN_WARNING("[GM.name] has been placed in the [src] by [user]."), 3)
|
||||
qdel(G)
|
||||
usr.attack_log += text("\[[time_stamp()]\] <span class='warning'>Has placed [GM.name] ([GM.ckey]) in disposals.</span>")
|
||||
GM.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been placed in disposals by [usr.name] ([usr.ckey])</font>")
|
||||
usr.attack_log += "\[[time_stamp()]\] <span class='warning'>Has placed [GM.name] ([GM.ckey]) in disposals.</span>"
|
||||
GM.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been placed in disposals by [usr.name] ([usr.ckey])</font>"
|
||||
msg_admin_attack("[key_name_admin(usr)] placed [key_name_admin(GM)] in a disposals unit. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[usr.x];Y=[usr.y];Z=[usr.z]'>JMP</a>)",ckey=key_name(usr),ckey_target=key_name(GM))
|
||||
return TRUE
|
||||
if(!attacking_item.dropsafety())
|
||||
@@ -287,8 +287,8 @@
|
||||
msg = "[user.name] stuffs [target.name] into the [src]!"
|
||||
to_chat(user, "You stuff [target.name] into the [src]!")
|
||||
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>Has placed [target.name] ([target.ckey]) in disposals.</span>")
|
||||
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been placed in disposals by [user.name] ([user.ckey])</font>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>Has placed [target.name] ([target.ckey]) in disposals.</span>"
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been placed in disposals by [user.name] ([user.ckey])</font>"
|
||||
msg_admin_attack("[user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit. (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)",ckey=key_name(user),ckey_target=key_name(target))
|
||||
else
|
||||
return
|
||||
|
||||
@@ -103,7 +103,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now
|
||||
take_charge(user, skipcharge)
|
||||
|
||||
before_cast(targets) //applies any overlays and effects
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>[user.real_name] ([user.ckey]) cast the spell [name].</span>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>[user.real_name] ([user.ckey]) cast the spell [name].</span>"
|
||||
if(prob(critfailchance))
|
||||
critfail(targets, user)
|
||||
else
|
||||
@@ -172,7 +172,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now
|
||||
for(var/atom/target in targets)
|
||||
var/location = get_turf(target)
|
||||
if(istype(target,/mob/living) && message)
|
||||
to_chat(target, text("[message]"))
|
||||
to_chat(target, "[message]")
|
||||
if(sparks_spread)
|
||||
spark(location, sparks_amt)
|
||||
if(smoke_spread)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
if ("import")
|
||||
var/t = ""
|
||||
do
|
||||
t = html_encode(input(usr, "Please paste the entire song, formatted:", text("[]", owner.name), t) as message)
|
||||
t = html_encode(input(usr, "Please paste the entire song, formatted:", "[owner.name]", t) as message)
|
||||
if(!CanInteractWith(usr, owner, GLOB.physical_state))
|
||||
return
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/human/H = AM
|
||||
M.attack_log += "\[[time_stamp()]\]<font color='orange'> Was rammed by [src]</font>"
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>"
|
||||
msg_admin_attack("[src] crashed into [key_name(H)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)" )
|
||||
src.visible_message(SPAN_DANGER("\The [src] smashes into \the [H]!"))
|
||||
playsound(src, /singleton/sound_category/swing_hit_sound, 50, 1)
|
||||
@@ -258,7 +258,7 @@
|
||||
M = buckled
|
||||
if(M.m_intent == M_RUN)
|
||||
M.attack_log += "\[[time_stamp()]\]<font color='orange'> Was rammed by [src]</font>"
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>"
|
||||
msg_admin_attack("[src] crashed into [key_name(H)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)" )
|
||||
src.visible_message(SPAN_DANGER("\The [src] charges into \the [H]!"))
|
||||
playsound(src, 'sound/weapons/pierce.ogg', 50, 1)
|
||||
@@ -299,7 +299,7 @@
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/human/H = AM
|
||||
M.attack_log += "\[[time_stamp()]\]<font color='orange'> Was rammed by [src]</font>"
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>"
|
||||
msg_admin_attack("[src] crashed into [key_name(H)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)" )
|
||||
src.visible_message(SPAN_DANGER("\The [src] charges into \the [H]!"))
|
||||
playsound(src, 'sound/weapons/pierce.ogg', 50, 1)
|
||||
|
||||
@@ -303,7 +303,7 @@
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/human/H = AM
|
||||
M.attack_log += "\[[time_stamp()]\]<font color='orange'> Was rammed by [src]</font>"
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>"
|
||||
msg_admin_attack("[src] crashed into [key_name(H)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)" )
|
||||
src.visible_message(SPAN_DANGER("\The [src] smashes into \the [H]!"))
|
||||
playsound(src, /singleton/sound_category/swing_hit_sound, 50, 1)
|
||||
@@ -379,7 +379,7 @@
|
||||
M = buckled
|
||||
if(M.m_intent == M_RUN)
|
||||
M.attack_log += "\[[time_stamp()]\]<font color='orange'> Was rammed by [src]</font>"
|
||||
M.attack_log += text("\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>")
|
||||
M.attack_log += "\[[time_stamp()]\] <span class='warning'>rammed[M.name] ([M.ckey]) rammed [H.name] ([H.ckey]) with the [src].</span>"
|
||||
msg_admin_attack("[src] crashed into [key_name(H)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[H.x];Y=[H.y];Z=[H.z]'>JMP</a>)" )
|
||||
src.visible_message(SPAN_DANGER("\The [src] runs over \the [H]!"))
|
||||
H.apply_damage(30, DAMAGE_BRUTE)
|
||||
|
||||
@@ -216,7 +216,7 @@
|
||||
|
||||
/obj/vehicle/train/cargo/trolley/RunOver(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
attack_log += text("\[[time_stamp()]\] <span class='warning'>ran over [H.name] ([H.ckey])</span>")
|
||||
attack_log += "\[[time_stamp()]\] <span class='warning'>ran over [H.name] ([H.ckey])</span>"
|
||||
|
||||
/obj/vehicle/train/cargo/engine/RunOver(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
@@ -225,10 +225,10 @@
|
||||
var/mob/living/carbon/human/D = load
|
||||
to_chat(D, SPAN_DANGER("You ran over [H]!"))
|
||||
visible_message(SPAN_DANGER("\The [src] ran over [H]!"))
|
||||
attack_log += text("\[[time_stamp()]\] <span class='warning'>ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])</span>")
|
||||
attack_log += "\[[time_stamp()]\] <span class='warning'>ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])</span>"
|
||||
msg_admin_attack("[D.name] ([D.ckey]) ran over [H.name] ([H.ckey]). (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)",ckey=key_name(D),ckey_target=key_name(H))
|
||||
else
|
||||
attack_log += text("\[[time_stamp()]\] <span class='warning'>ran over [H.name] ([H.ckey])</span>")
|
||||
attack_log += "\[[time_stamp()]\] <span class='warning'>ran over [H.name] ([H.ckey])</span>"
|
||||
|
||||
|
||||
//-------------------------------------------
|
||||
|
||||
@@ -419,7 +419,7 @@
|
||||
if(!damage)
|
||||
return
|
||||
visible_message(SPAN_DANGER("[user] [attack_message] the [src]!"))
|
||||
user.attack_log += text("\[[time_stamp()]\] <span class='warning'>attacked [src.name]</span>")
|
||||
user.attack_log += "\[[time_stamp()]\] <span class='warning'>attacked [src.name]</span>"
|
||||
user.do_attack_animation(src)
|
||||
src.health -= damage
|
||||
if(prob(10))
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# - (fixes bugs)
|
||||
# wip
|
||||
# - (work in progress)
|
||||
# qol
|
||||
# - (quality of life)
|
||||
# soundadd
|
||||
# - (adds a sound)
|
||||
# sounddel
|
||||
# - (removes a sound)
|
||||
# rscadd
|
||||
# - (adds a feature)
|
||||
# rscdel
|
||||
# - (removes a feature)
|
||||
# imageadd
|
||||
# - (adds an image or sprite)
|
||||
# imagedel
|
||||
# - (removes an image or sprite)
|
||||
# spellcheck
|
||||
# - (fixes spelling or grammar)
|
||||
# experiment
|
||||
# - (experimental change)
|
||||
# balance
|
||||
# - (balance changes)
|
||||
# code_imp
|
||||
# - (misc internal code change)
|
||||
# refactor
|
||||
# - (refactors code)
|
||||
# config
|
||||
# - (makes a change to the config files)
|
||||
# admin
|
||||
# - (makes changes to administrator tools)
|
||||
# server
|
||||
# - (miscellaneous changes to server)
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: FluffyGhost
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
|
||||
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- refactor: "Refactored all the builtin text procs to use string interpolation instead."
|
||||
- server: "Added a linting for the above."
|
||||
@@ -132,6 +132,27 @@ else
|
||||
echo "PASS: Only the expected number of raw ref proc calls were found" >> code_error.log
|
||||
fi
|
||||
|
||||
# Check that only the expected amount of raw ref proc calls are present
|
||||
echo "Verifying no raw ref proc calls are being added" >> code_error.log
|
||||
RAW_REF_BUILTIN_PROCS=`grep -r --include \*.dm -P --regexp='[^\w_]ref[\(\[]' | wc -l`
|
||||
if [[ $RAW_REF_BUILTIN_PROCS -ne 3 ]]; then
|
||||
ERROR_COUNT=$(($ERROR_COUNT+1))
|
||||
echo "FAIL: Found new raw ref proc calls in code" >> code_error.log
|
||||
else
|
||||
echo "PASS: Only the expected number of raw ref proc calls were found" >> code_error.log
|
||||
fi
|
||||
|
||||
# Check that the text proc is not being used
|
||||
echo "Verifying no built in text proc calls are being added" >> code_error.log
|
||||
BUILTIN_TEXT_PROC_CALLS=`grep -r --include \*.dm -P --regexp='[^\w_\/\.]text\('`
|
||||
if [[ $BUILTIN_TEXT_PROC_CALLS != '' ]]; then
|
||||
ERROR_COUNT=$(($ERROR_COUNT+1))
|
||||
echo "FAIL: Found builtin calls to the text proc, use string interpolation instead:" >> code_error.log
|
||||
echo $BUILTIN_TEXT_PROC_CALLS >> code_error.log
|
||||
else
|
||||
echo "PASS: No builtin calls to the text proc were found" >> code_error.log
|
||||
fi
|
||||
|
||||
echo "Found $ERROR_COUNT errors while performing code check"
|
||||
|
||||
if [ $ERROR_COUNT -ne 0 ]; then
|
||||
|
||||
Reference in New Issue
Block a user