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:
Fluffy
2024-09-21 12:46:31 +00:00
committed by GitHub
parent 1aeeb6827d
commit 8f9de7c3e2
76 changed files with 351 additions and 264 deletions
+4
View File
@@ -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]"))
+1 -1
View File
@@ -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
*/
+2 -2
View File
@@ -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
View File
@@ -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)
+5 -5
View File
@@ -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
View File
@@ -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.
+2 -2
View File
@@ -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)
+3 -3
View File
@@ -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")
+1 -1
View File
@@ -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]")
+26 -26
View File
@@ -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: []&deg;C ", (occ["bodytemp"] - T0C))
dat += text("([]&deg;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)]&deg;C "
dat += "([(occ["bodytemp"]*1.8-459.67)]&deg;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>"
+1 -1
View File
@@ -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))
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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)
+6 -6
View File
@@ -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>"
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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!"
+1 -1
View File
@@ -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()
+1 -1
View File
@@ -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'"
+2 -2
View File
@@ -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))
+4 -4
View File
@@ -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)
+10 -10
View File
@@ -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]")
+3 -3
View File
@@ -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)
+1 -1
View File
@@ -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]"
+2 -2
View File
@@ -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")
+10 -10
View File
@@ -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)
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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)
+4 -4
View File
@@ -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
View File
@@ -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)
+2 -2
View File
@@ -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
+4 -4
View File
@@ -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)
+2 -2
View File
@@ -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
+3 -3
View File
@@ -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)
+2 -2
View File
@@ -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)
+5 -5
View File
@@ -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)
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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>"
+2 -2
View File
@@ -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
+4 -4
View File
@@ -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)
+4 -4
View File
@@ -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
+3 -3
View File
@@ -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)
+2 -2
View File
@@ -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)
+3 -3
View File
@@ -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>"
//-------------------------------------------
+1 -1
View File
@@ -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."
+21
View File
@@ -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