Fixes issues with pen bbcode. Replacetext did not work correctly after I changed text2list - (It was missing 'needles' at the beginning of 'haystacks').

>dd_replacetext and dd_replacetext_case are now replacetext and replacetextEx respectively.
>replacetext and replacetextEx works using strings only; it doesn't convert it into a list and then back into a string.

Fixes some dumb-dumbs in textlist and text2listEx
> "<" where there should be a "<="
> no else case for when the separator is longer than the text (causing empty lists to be returned)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4971 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
elly1989@rocketmail.com
2012-10-27 21:21:17 +00:00
parent 6af0e6ab84
commit 4d9876fd65
28 changed files with 231 additions and 212 deletions

View File

@@ -15,8 +15,8 @@
// Run all strings to be used in an SQL query through this proc first to properly escape out injection attempts. // Run all strings to be used in an SQL query through this proc first to properly escape out injection attempts.
/proc/sanitizeSQL(var/t as text) /proc/sanitizeSQL(var/t as text)
var/sanitized_text = dd_replacetext(t, "'", "\\'") var/sanitized_text = replacetext(t, "'", "\\'")
sanitized_text = dd_replacetext(sanitized_text, "\"", "\\\"") sanitized_text = replacetext(sanitized_text, "\"", "\\\"")
return sanitized_text return sanitized_text
/* /*
@@ -177,18 +177,33 @@
/* /*
* Text modification * Text modification
*/ */
/proc/replacetext(text, find, replacement)
var/find_len = length(find)
if(find_len < 1) return text
. = ""
var/last_found = 1
while(1)
var/found = findtext(text, find, last_found, 0)
. += copytext(text, last_found, found)
if(found)
. += replacement
last_found = found + find_len
continue
return .
//Search and replace a sub-string within a string /proc/replacetextEx(text, find, replacement)
/proc/dd_replacetext(text, search_string, replacement_string) var/find_len = length(find)
if(!text || !istext(text) || !search_string || !istext(search_string) || !istext(replacement_string)) if(find_len < 1) return text
return null . = ""
var/textList = text2list(text, search_string) var/last_found = 1
return dd_list2text(textList, replacement_string) while(1)
var/found = findtextEx(text, find, last_found, 0)
//Search and replace a case sensitive sub-string within a string . += copytext(text, last_found, found)
/proc/dd_replacetext_case(text, search_string, replacement_string) if(found)
var/textList = text2list(text, search_string) . += replacement
return dd_list2text(textList, replacement_string) last_found = found + find_len
continue
return .
//Adds 'u' number of zeros ahead of the text 't' //Adds 'u' number of zeros ahead of the text 't'
/proc/add_zero(t, u) /proc/add_zero(t, u)

View File

@@ -129,6 +129,8 @@ proc/tg_list2text(list/list, glue=",")
if(last_i <= text_len) if(last_i <= text_len)
. += copytext(text, last_i, 0) . += copytext(text, last_i, 0)
else
. += text
return . return .
//Converts a text string into a list by splitting the string at each seperator found in text (discarding the seperator) //Converts a text string into a list by splitting the string at each seperator found in text (discarding the seperator)
@@ -141,7 +143,7 @@ proc/tg_list2text(list/list, glue=",")
var/text_len = length(text) //length of the input text var/text_len = length(text) //length of the input text
var/seperator_len = length(seperator) //length of the seperator text var/seperator_len = length(seperator) //length of the seperator text
if(text_len > seperator_len) if(text_len >= seperator_len)
var/i var/i
var/last_i = 1 var/last_i = 1
@@ -153,6 +155,8 @@ proc/tg_list2text(list/list, glue=",")
if(last_i <= text_len) if(last_i <= text_len)
. += copytext(text, last_i, 0) . += copytext(text, last_i, 0)
else
. += text
return . return .
//Splits the text of a file at seperator and returns them in a list. //Splits the text of a file at seperator and returns them in a list.

View File

@@ -917,7 +917,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl
corner.density = 1 corner.density = 1
corner.anchored = 1 corner.anchored = 1
corner.icon = X.icon corner.icon = X.icon
corner.icon_state = dd_replacetext(X.icon_state, "_s", "_f") corner.icon_state = replacetext(X.icon_state, "_s", "_f")
corner.tag = "delete me" corner.tag = "delete me"
corner.name = "wall" corner.name = "wall"
@@ -937,7 +937,7 @@ proc/anim(turf/location as turf,target as mob|obj,a_icon,a_icon_state as text,fl
// Reset the shuttle corners // Reset the shuttle corners
if(O.tag == "delete me") if(O.tag == "delete me")
X.icon = 'icons/turf/shuttle.dmi' X.icon = 'icons/turf/shuttle.dmi'
X.icon_state = dd_replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state X.icon_state = replacetext(O.icon_state, "_f", "_s") // revert the turf to the old icon_state
X.name = "wall" X.name = "wall"
del(O) // prevents multiple shuttle corners from stacking del(O) // prevents multiple shuttle corners from stacking
continue continue

View File

@@ -96,7 +96,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(prob(50))//Auto-mute? Fuck that noise if(prob(50))//Auto-mute? Fuck that noise
usr.say(invocation) usr.say(invocation)
else else
usr.say(dd_replacetext(invocation," ","`")) usr.say(replacetext(invocation," ","`"))
if(usr.gender==MALE) if(usr.gender==MALE)
playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1) playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1)
else else
@@ -105,7 +105,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(prob(50)) if(prob(50))
usr.whisper(invocation) usr.whisper(invocation)
else else
usr.whisper(dd_replacetext(invocation," ","`")) usr.whisper(replacetext(invocation," ","`"))
/obj/effect/proc_holder/spell/New() /obj/effect/proc_holder/spell/New()
..() ..()

View File

@@ -48,7 +48,7 @@
name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Cuban ", "the Evil ", "the Dread King ", "the Space ", "Lord ", "the Great ", "Duke ", "General ") name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Cuban ", "the Evil ", "the Dread King ", "the Space ", "Lord ", "the Great ", "Duke ", "General ")
name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon", "Uhangoid", "Vhakoid", "Peteoid", "Metroid", "Griefer", "ERPer", "Lizard Man", "Unicorn") name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon", "Uhangoid", "Vhakoid", "Peteoid", "Metroid", "Griefer", "ERPer", "Lizard Man", "Unicorn")
src.enemy_name = dd_replacetext((name_part1 + name_part2), "the ", "") src.enemy_name = replacetext((name_part1 + name_part2), "the ", "")
src.name = (name_action + name_part1 + name_part2) src.name = (name_action + name_part1 + name_part2)

View File

@@ -100,7 +100,7 @@
var/jobs_all = "" var/jobs_all = ""
var/list/alljobs = (istype(src,/obj/machinery/computer/card/centcom)? get_all_centcom_jobs() : get_all_jobs()) + "Custom" var/list/alljobs = (istype(src,/obj/machinery/computer/card/centcom)? get_all_centcom_jobs() : get_all_jobs()) + "Custom"
for(var/job in alljobs) for(var/job in alljobs)
jobs_all += "<a href='?src=\ref[src];choice=assign;assign_target=[job]'>[dd_replacetext(job, " ", "&nbsp")]</a> " //make sure there isn't a line break in the middle of a job jobs_all += "<a href='?src=\ref[src];choice=assign;assign_target=[job]'>[replacetext(job, " ", "&nbsp")]</a> " //make sure there isn't a line break in the middle of a job
var/body var/body
@@ -138,9 +138,9 @@
accesses += "<h5>Central Command:</h5>" accesses += "<h5>Central Command:</h5>"
for(var/A in get_all_centcom_access()) for(var/A in get_all_centcom_access())
if(A in modify.access) if(A in modify.access)
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[dd_replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</font></a> " accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</font></a> "
else else
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[dd_replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</a> " accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[replacetext(get_centcom_access_desc(A), " ", "&nbsp")]</a> "
else else
accesses += "<div align='center'><b>Access</b></div>" accesses += "<div align='center'><b>Access</b></div>"
accesses += "<table style='width:100%'>" accesses += "<table style='width:100%'>"
@@ -152,9 +152,9 @@
accesses += "<td style='width:14%' valign='top'>" accesses += "<td style='width:14%' valign='top'>"
for(var/A in get_region_accesses(i)) for(var/A in get_region_accesses(i))
if(A in modify.access) if(A in modify.access)
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[dd_replacetext(get_access_desc(A), " ", "&nbsp")]</font></a> " accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=0'><font color=\"red\">[replacetext(get_access_desc(A), " ", "&nbsp")]</font></a> "
else else
accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[dd_replacetext(get_access_desc(A), " ", "&nbsp")]</a> " accesses += "<a href='?src=\ref[src];choice=access;access_target=[A];allowed=1'>[replacetext(get_access_desc(A), " ", "&nbsp")]</a> "
accesses += "<br>" accesses += "<br>"
accesses += "</td>" accesses += "</td>"
accesses += "</tr></table>" accesses += "</tr></table>"

View File

@@ -47,8 +47,8 @@
if(length(viewingcode)) if(length(viewingcode))
// This piece of code is very important - it escapes quotation marks so string aren't cut off by the input element // This piece of code is very important - it escapes quotation marks so string aren't cut off by the input element
var/showcode = dd_replacetext(storedcode, "\\\"", "\\\\\"") var/showcode = replacetext(storedcode, "\\\"", "\\\\\"")
showcode = dd_replacetext(storedcode, "\"", "\\\"") showcode = replacetext(storedcode, "\"", "\\\"")
for(var/mob/M in viewingcode) for(var/mob/M in viewingcode)
@@ -171,8 +171,8 @@
winshow(editingcode, "Telecomms IDE", 1) // show the IDE winshow(editingcode, "Telecomms IDE", 1) // show the IDE
winset(editingcode, "tcscode", "is-disabled=false") winset(editingcode, "tcscode", "is-disabled=false")
winset(editingcode, "tcscode", "text=\"\"") winset(editingcode, "tcscode", "text=\"\"")
var/showcode = dd_replacetext(storedcode, "\\\"", "\\\\\"") var/showcode = replacetext(storedcode, "\\\"", "\\\\\"")
showcode = dd_replacetext(storedcode, "\"", "\\\"") showcode = replacetext(storedcode, "\"", "\\\"")
winset(editingcode, "tcscode", "text=\"[showcode]\"") winset(editingcode, "tcscode", "text=\"[showcode]\"")
spawn() spawn()
update_ide() update_ide()
@@ -182,7 +182,7 @@
winshow(usr, "Telecomms IDE", 1) // show the IDE winshow(usr, "Telecomms IDE", 1) // show the IDE
winset(usr, "tcscode", "is-disabled=true") winset(usr, "tcscode", "is-disabled=true")
winset(editingcode, "tcscode", "text=\"\"") winset(editingcode, "tcscode", "text=\"\"")
var/showcode = dd_replacetext(storedcode, "\"", "\\\"") var/showcode = replacetext(storedcode, "\"", "\\\"")
winset(usr, "tcscode", "text=\"[showcode]\"") winset(usr, "tcscode", "text=\"[showcode]\"")
if("togglerun") if("togglerun")

View File

@@ -163,19 +163,19 @@ move an amendment</a> to the drawing.</p>
/obj/item/blueprints/proc/set_area_machinery_title(var/area/A,var/title,var/oldtitle) /obj/item/blueprints/proc/set_area_machinery_title(var/area/A,var/title,var/oldtitle)
if (!oldtitle) // or dd_replacetext goes to infinite loop if (!oldtitle) // or replacetext goes to infinite loop
return return
for(var/area/RA in A.related) for(var/area/RA in A.related)
for(var/obj/machinery/alarm/M in RA) for(var/obj/machinery/alarm/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title) M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/power/apc/M in RA) for(var/obj/machinery/power/apc/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title) M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in RA) for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title) M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/atmospherics/unary/vent_pump/M in RA) for(var/obj/machinery/atmospherics/unary/vent_pump/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title) M.name = replacetext(M.name,oldtitle,title)
for(var/obj/machinery/door/M in RA) for(var/obj/machinery/door/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title) M.name = replacetext(M.name,oldtitle,title)
//TODO: much much more. Unnamed airlocks, cameras, etc. //TODO: much much more. Unnamed airlocks, cameras, etc.
/obj/item/blueprints/proc/check_tile_is_border(var/turf/T2,var/dir) /obj/item/blueprints/proc/check_tile_is_border(var/turf/T2,var/dir)

View File

@@ -536,7 +536,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if (in_range(src, U) && loc == U) if (in_range(src, U) && loc == U)
n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN) n = copytext(adminscrub(n), 1, MAX_MESSAGE_LEN)
if (mode == 1) if (mode == 1)
note = dd_replacetext(n, "\n", "<BR>") note = replacetext(n, "\n", "<BR>")
notehtml = n notehtml = n
else else
U << browse(null, "window=pda") U << browse(null, "window=pda")

View File

@@ -18,9 +18,9 @@ A list of items and costs is stored under the datum of every game mode, alongsid
/obj/item/device/uplink/New() /obj/item/device/uplink/New()
welcome = ticker.mode.uplink_welcome welcome = ticker.mode.uplink_welcome
if(!item_data) if(!item_data)
items = dd_replacetext(ticker.mode.uplink_items, "\n", "") // Getting the text string of items items = replacetext(ticker.mode.uplink_items, "\n", "") // Getting the text string of items
else else
items = dd_replacetext(item_data) items = replacetext(item_data)
ItemList = text2list(src.items, ";") // Parsing the items text string ItemList = text2list(src.items, ";") // Parsing the items text string
uses = ticker.mode.uplink_uses uses = ticker.mode.uplink_uses

View File

@@ -330,7 +330,7 @@
proc/compilesong() proc/compilesong()
var/compilestring = "" var/compilestring = ""
var/strippedsourcestring = dd_replacetext(currentsong.sourcestring, "\n", "") var/strippedsourcestring = replacetext(currentsong.sourcestring, "\n", "")
strippedsourcestring = unbayify(strippedsourcestring) strippedsourcestring = unbayify(strippedsourcestring)
@@ -601,7 +601,7 @@
updateUsrDialog() updateUsrDialog()
else if(href_list["export"]) else if(href_list["export"])
var/output = dd_replacetext(currentsong.sourcestring, "\n", "") var/output = replacetext(currentsong.sourcestring, "\n", "")
var/list/sourcelist = text2list(output, ",") var/list/sourcelist = text2list(output, ",")
@@ -728,8 +728,8 @@
var/input = html_encode(input(usr, "", "Edit", currentsong.sourcestring) as message|null) var/input = html_encode(input(usr, "", "Edit", currentsong.sourcestring) as message|null)
if(isnull(input)) return if(isnull(input)) return
input = dd_replacetext(input, " ", "") input = replacetext(input, " ", "")
input = dd_replacetext(input, "\t", "") input = replacetext(input, "\t", "")
if(lentext(input)>4000) if(lentext(input)>4000)
statusmsg("Editor Error: Song too long, end was cutoff (max 4000)") statusmsg("Editor Error: Song too long, end was cutoff (max 4000)")

View File

@@ -10,9 +10,9 @@ var/global/floorIsLava = 0
for(var/client/C in admins) for(var/client/C in admins)
var/msg = rendered var/msg = rendered
if(admin_ref) if(admin_ref)
msg = dd_replacetext(msg, "%admin_ref%", "\ref[C]") msg = replacetext(msg, "%admin_ref%", "\ref[C]")
if(admin_holder_ref && C.holder) if(admin_holder_ref && C.holder)
msg = dd_replacetext(msg, "%holder_ref%", "\ref[C.holder]") msg = replacetext(msg, "%holder_ref%", "\ref[C.holder]")
C << msg C << msg

View File

@@ -4,6 +4,6 @@
var/mobjs = null var/mobjs = null
mobjs = dd_list2text(typesof(/mob), ";") mobjs = dd_list2text(typesof(/mob), ";")
create_mob_html = file2text('html/create_object.html') create_mob_html = file2text('html/create_object.html')
create_mob_html = dd_replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"") create_mob_html = replacetext(create_mob_html, "null /* object types */", "\"[mobjs]\"")
user << browse(dd_replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=425x475") user << browse(replacetext(create_mob_html, "/* ref src */", "\ref[src]"), "window=create_mob;size=425x475")

View File

@@ -5,9 +5,9 @@
var/objectjs = null var/objectjs = null
objectjs = dd_list2text(typesof(/obj), ";") objectjs = dd_list2text(typesof(/obj), ";")
create_object_html = file2text('html/create_object.html') create_object_html = file2text('html/create_object.html')
create_object_html = dd_replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"") create_object_html = replacetext(create_object_html, "null /* object types */", "\"[objectjs]\"")
user << browse(dd_replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=425x475") user << browse(replacetext(create_object_html, "/* ref src */", "\ref[src]"), "window=create_object;size=425x475")
/datum/admins/proc/quick_create_object(var/mob/user) /datum/admins/proc/quick_create_object(var/mob/user)
@@ -23,6 +23,6 @@
var/objectjs = null var/objectjs = null
objectjs = dd_list2text(typesof(path), ";") objectjs = dd_list2text(typesof(path), ";")
quick_create_object_html = file2text('html/create_object.html') quick_create_object_html = file2text('html/create_object.html')
quick_create_object_html = dd_replacetext(quick_create_object_html, "null /* object types */", "\"[objectjs]\"") quick_create_object_html = replacetext(quick_create_object_html, "null /* object types */", "\"[objectjs]\"")
user << browse(dd_replacetext(quick_create_object_html, "/* ref src */", "\ref[src]"), "window=quick_create_object;size=425x475") user << browse(replacetext(quick_create_object_html, "/* ref src */", "\ref[src]"), "window=quick_create_object;size=425x475")

View File

@@ -4,6 +4,6 @@
var/turfjs = null var/turfjs = null
turfjs = dd_list2text(typesof(/turf), ";") turfjs = dd_list2text(typesof(/turf), ";")
create_turf_html = file2text('html/create_object.html') create_turf_html = file2text('html/create_object.html')
create_turf_html = dd_replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"") create_turf_html = replacetext(create_turf_html, "null /* object types */", "\"[turfjs]\"")
user << browse(dd_replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=425x475") user << browse(replacetext(create_turf_html, "/* ref src */", "\ref[src]"), "window=create_turf;size=425x475")

View File

@@ -351,10 +351,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 6) //So things dont get squiiiiished! if(counter >= 6) //So things dont get squiiiiished!
@@ -372,10 +372,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 5) //So things dont get squiiiiished! if(counter >= 5) //So things dont get squiiiiished!
@@ -393,10 +393,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 5) //So things dont get squiiiiished! if(counter >= 5) //So things dont get squiiiiished!
@@ -414,10 +414,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 5) //So things dont get squiiiiished! if(counter >= 5) //So things dont get squiiiiished!
@@ -435,10 +435,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 5) //So things dont get squiiiiished! if(counter >= 5) //So things dont get squiiiiished!
@@ -456,10 +456,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 5) //So things dont get squiiiiished! if(counter >= 5) //So things dont get squiiiiished!
@@ -477,10 +477,10 @@ var/list/admin_datums = list()
if(!job) continue if(!job) continue
if(jobban_isbanned(M, job.title)) if(jobban_isbanned(M, job.title))
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[dd_replacetext(job.title, " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'><font color=red>[replacetext(job.title, " ", "&nbsp")]</font></a></td>"
counter++ counter++
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[dd_replacetext(job.title, " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=[job.title];jobban4=\ref[M]'>[replacetext(job.title, " ", "&nbsp")]</a></td>"
counter++ counter++
if(counter >= 5) //So things dont get squiiiiished! if(counter >= 5) //So things dont get squiiiiished!
@@ -502,59 +502,59 @@ var/list/admin_datums = list()
//Traitor //Traitor
if(jobban_isbanned(M, "traitor") || isbanned_dept) if(jobban_isbanned(M, "traitor") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'><font color=red>[dd_replacetext("Traitor", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'><font color=red>[replacetext("Traitor", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'>[dd_replacetext("Traitor", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=traitor;jobban4=\ref[M]'>[replacetext("Traitor", " ", "&nbsp")]</a></td>"
//Changeling //Changeling
if(jobban_isbanned(M, "changeling") || isbanned_dept) if(jobban_isbanned(M, "changeling") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'><font color=red>[dd_replacetext("Changeling", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'><font color=red>[replacetext("Changeling", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'>[dd_replacetext("Changeling", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=changeling;jobban4=\ref[M]'>[replacetext("Changeling", " ", "&nbsp")]</a></td>"
//Nuke Operative //Nuke Operative
if(jobban_isbanned(M, "operative") || isbanned_dept) if(jobban_isbanned(M, "operative") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'><font color=red>[dd_replacetext("Nuke Operative", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'><font color=red>[replacetext("Nuke Operative", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'>[dd_replacetext("Nuke Operative", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=operative;jobban4=\ref[M]'>[replacetext("Nuke Operative", " ", "&nbsp")]</a></td>"
//Revolutionary //Revolutionary
if(jobban_isbanned(M, "revolutionary") || isbanned_dept) if(jobban_isbanned(M, "revolutionary") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'><font color=red>[dd_replacetext("Revolutionary", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'><font color=red>[replacetext("Revolutionary", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'>[dd_replacetext("Revolutionary", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=revolutionary;jobban4=\ref[M]'>[replacetext("Revolutionary", " ", "&nbsp")]</a></td>"
jobs += "</tr><tr align='center'>" //Breaking it up so it fits nicer on the screen every 5 entries jobs += "</tr><tr align='center'>" //Breaking it up so it fits nicer on the screen every 5 entries
//Cultist //Cultist
if(jobban_isbanned(M, "cultist") || isbanned_dept) if(jobban_isbanned(M, "cultist") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'><font color=red>[dd_replacetext("Cultist", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'><font color=red>[replacetext("Cultist", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'>[dd_replacetext("Cultist", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=cultist;jobban4=\ref[M]'>[replacetext("Cultist", " ", "&nbsp")]</a></td>"
//Wizard //Wizard
if(jobban_isbanned(M, "wizard") || isbanned_dept) if(jobban_isbanned(M, "wizard") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'><font color=red>[dd_replacetext("Wizard", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'><font color=red>[replacetext("Wizard", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'>[dd_replacetext("Wizard", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=wizard;jobban4=\ref[M]'>[replacetext("Wizard", " ", "&nbsp")]</a></td>"
/* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment /* //Malfunctioning AI //Removed Malf-bans because they're a pain to impliment
if(jobban_isbanned(M, "malf AI") || isbanned_dept) if(jobban_isbanned(M, "malf AI") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'><font color=red>[dd_replacetext("Malf AI", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'><font color=red>[replacetext("Malf AI", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'>[dd_replacetext("Malf AI", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=malf AI;jobban4=\ref[M]'>[replacetext("Malf AI", " ", "&nbsp")]</a></td>"
//Alien //Alien
if(jobban_isbanned(M, "alien candidate") || isbanned_dept) if(jobban_isbanned(M, "alien candidate") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'><font color=red>[dd_replacetext("Alien", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'><font color=red>[replacetext("Alien", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'>[dd_replacetext("Alien", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=alien candidate;jobban4=\ref[M]'>[replacetext("Alien", " ", "&nbsp")]</a></td>"
//Infested Monkey //Infested Monkey
if(jobban_isbanned(M, "infested monkey") || isbanned_dept) if(jobban_isbanned(M, "infested monkey") || isbanned_dept)
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'><font color=red>[dd_replacetext("Infested Monkey", " ", "&nbsp")]</font></a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'><font color=red>[replacetext("Infested Monkey", " ", "&nbsp")]</font></a></td>"
else else
jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'>[dd_replacetext("Infested Monkey", " ", "&nbsp")]</a></td>" jobs += "<td width='20%'><a href='?src=\ref[src];jobban3=infested monkey;jobban4=\ref[M]'>[replacetext("Infested Monkey", " ", "&nbsp")]</a></td>"
*/ */
jobs += "</tr></table>" jobs += "</tr></table>"

View File

@@ -265,23 +265,23 @@
else if(isobserver(M)) else if(isobserver(M))
M_job = "Ghost" M_job = "Ghost"
M_job = dd_replacetext(M_job, "'", "") M_job = replacetext(M_job, "'", "")
M_job = dd_replacetext(M_job, "\"", "") M_job = replacetext(M_job, "\"", "")
M_job = dd_replacetext(M_job, "\\", "") M_job = replacetext(M_job, "\\", "")
var/M_name = M.name var/M_name = M.name
M_name = dd_replacetext(M_name, "'", "") M_name = replacetext(M_name, "'", "")
M_name = dd_replacetext(M_name, "\"", "") M_name = replacetext(M_name, "\"", "")
M_name = dd_replacetext(M_name, "\\", "") M_name = replacetext(M_name, "\\", "")
var/M_rname = M.real_name var/M_rname = M.real_name
M_rname = dd_replacetext(M_rname, "'", "") M_rname = replacetext(M_rname, "'", "")
M_rname = dd_replacetext(M_rname, "\"", "") M_rname = replacetext(M_rname, "\"", "")
M_rname = dd_replacetext(M_rname, "\\", "") M_rname = replacetext(M_rname, "\\", "")
var/M_key = M.key var/M_key = M.key
M_key = dd_replacetext(M_key, "'", "") M_key = replacetext(M_key, "'", "")
M_key = dd_replacetext(M_key, "\"", "") M_key = replacetext(M_key, "\"", "")
M_key = dd_replacetext(M_key, "\\", "") M_key = replacetext(M_key, "\\", "")
//output for each mob //output for each mob
dat += {" dat += {"

View File

@@ -25,9 +25,9 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
var/original_msg = msg var/original_msg = msg
//The symbol <20> (fancy multiplication sign) will be used to mark where to put replacements, so the original message must not contain it. //The symbol <20> (fancy multiplication sign) will be used to mark where to put replacements, so the original message must not contain it.
msg = dd_replacetext(msg, "<22>", "") msg = replacetext(msg, "<22>", "")
msg = dd_replacetext(msg, "HOLDERREF", "HOLDER-REF") //HOLDERREF is a key word which gets replaced with the admin's holder ref later on, so it mustn't be in the original message msg = replacetext(msg, "HOLDERREF", "HOLDER-REF") //HOLDERREF is a key word which gets replaced with the admin's holder ref later on, so it mustn't be in the original message
msg = dd_replacetext(msg, "ADMINREF", "ADMIN-REF") //ADMINREF is a key word which gets replaced with the admin's client's ref. So it mustn't be in the original message. msg = replacetext(msg, "ADMINREF", "ADMIN-REF") //ADMINREF is a key word which gets replaced with the admin's client's ref. So it mustn't be in the original message.
var/list/msglist = text2list(msg, " ") var/list/msglist = text2list(msg, " ")
@@ -50,14 +50,14 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
for(var/i = 1; i <= msglist.len; i++) for(var/i = 1; i <= msglist.len; i++)
var/word = msglist[i] var/word = msglist[i]
var/original_word = word var/original_word = word
word = dd_replacetext(word, ".", "") word = replacetext(word, ".", "")
word = dd_replacetext(word, ",", "") word = replacetext(word, ",", "")
word = dd_replacetext(word, "!", "") word = replacetext(word, "!", "")
word = dd_replacetext(word, "?", "") //Strips some common punctuation characters so the actual word can be better compared. word = replacetext(word, "?", "") //Strips some common punctuation characters so the actual word can be better compared.
word = dd_replacetext(word, ";", "") word = replacetext(word, ";", "")
word = dd_replacetext(word, ":", "") word = replacetext(word, ":", "")
word = dd_replacetext(word, "(", "") word = replacetext(word, "(", "")
word = dd_replacetext(word, ")", "") word = replacetext(word, ")", "")
if(lowertext(word) in adminhelp_ignored_words) if(lowertext(word) in adminhelp_ignored_words)
continue continue
if(lowertext(word) == "ai") if(lowertext(word) == "ai")
@@ -104,8 +104,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
check_laws_text = (" (<A HREF='?src=\ref[X.holder];adminchecklaws=[ref_mob]'>CL</A>)") check_laws_text = (" (<A HREF='?src=\ref[X.holder];adminchecklaws=[ref_mob]'>CL</A>)")
var/msg_to_send = "\blue <b><font color=red>HELP: </font>[key_name(src, X)] (<A HREF='?src=\ref[X.holder];adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?src=\ref[X.holder];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?src=\ref[X.holder];adminplayervars=[ref_mob]'>VV</A>) (<A HREF='?src=\ref[X.holder];adminplayersubtlemessage=[ref_mob]'>SM</A>) (<A HREF='?src=\ref[X.holder];adminplayerobservejump=[ref_mob]'>JMP</A>) (<A HREF='?src=\ref[X.holder];secretsadmin=check_antagonist'>CA</A>) [check_laws_text]:</b> [msg]" var/msg_to_send = "\blue <b><font color=red>HELP: </font>[key_name(src, X)] (<A HREF='?src=\ref[X.holder];adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?src=\ref[X.holder];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?src=\ref[X.holder];adminplayervars=[ref_mob]'>VV</A>) (<A HREF='?src=\ref[X.holder];adminplayersubtlemessage=[ref_mob]'>SM</A>) (<A HREF='?src=\ref[X.holder];adminplayerobservejump=[ref_mob]'>JMP</A>) (<A HREF='?src=\ref[X.holder];secretsadmin=check_antagonist'>CA</A>) [check_laws_text]:</b> [msg]"
msg_to_send = dd_replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]") msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]")
msg_to_send = dd_replacetext(msg_to_send, "ADMINREF", "\ref[X]") msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]")
X << msg_to_send X << msg_to_send
else else
var/ref_client = "\ref[src]" var/ref_client = "\ref[src]"
@@ -117,8 +117,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an", "monkey", "ali
if(X.holder.sound_adminhelp) if(X.holder.sound_adminhelp)
X << 'sound/effects/adminhelp.ogg' X << 'sound/effects/adminhelp.ogg'
var/msg_to_send = "\blue <b><font color=red>HELP: </font>[key_name(src, X)] (<A HREF='?src=\ref[X.holder];adminplayervars=[ref_client]'>VV</A>) (<A HREF='?src=\ref[X.holder];secretsadmin=check_antagonist'>CA</A>):</b> [msg]" var/msg_to_send = "\blue <b><font color=red>HELP: </font>[key_name(src, X)] (<A HREF='?src=\ref[X.holder];adminplayervars=[ref_client]'>VV</A>) (<A HREF='?src=\ref[X.holder];secretsadmin=check_antagonist'>CA</A>):</b> [msg]"
msg_to_send = dd_replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]") msg_to_send = replacetext(msg_to_send, "HOLDERREF", "\ref[X.holder]")
msg_to_send = dd_replacetext(msg_to_send, "ADMINREF", "\ref[X]") msg_to_send = replacetext(msg_to_send, "ADMINREF", "\ref[X]")
X << msg_to_send X << msg_to_send
src << "<font color='blue'>PM to-<b>Admins</b>: [original_msg]</font>" src << "<font color='blue'>PM to-<b>Admins</b>: [original_msg]</font>"

View File

@@ -676,7 +676,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/" M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=[mins]&server=[dd_replacetext(config.server_name, "#", "")]") world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=[mins]&server=[replacetext(config.server_name, "#", "")]")
del(M.client) del(M.client)
del(M) del(M)
else else
@@ -691,7 +691,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/" M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=perma&server=[dd_replacetext(config.server_name, "#", "")]") world.Export("http://216.38.134.132/adminlog.php?type=ban&key=[usr.client.key]&key2=[M.key]&msg=[html_decode(reason)]&time=perma&server=[replacetext(config.server_name, "#", "")]")
del(M.client) del(M.client)
del(M) del(M)
*/ */

View File

@@ -21,7 +21,7 @@
if(src.dna) if(src.dna)
if(src.dna.mutantrace == "lizard") if(src.dna.mutantrace == "lizard")
if(copytext(message, 1, 2) != "*") if(copytext(message, 1, 2) != "*")
message = dd_replacetext(message, "s", stutter("ss")) message = replacetext(message, "s", stutter("ss"))
if(src.dna.mutantrace == "metroid" && prob(5)) if(src.dna.mutantrace == "metroid" && prob(5))
if(copytext(message, 1, 2) != "*") if(copytext(message, 1, 2) != "*")
@@ -50,22 +50,22 @@
if(istype(src.wear_mask, /obj/item/clothing/mask/luchador)) if(istype(src.wear_mask, /obj/item/clothing/mask/luchador))
if(copytext(message, 1, 2) != "*") if(copytext(message, 1, 2) != "*")
message = dd_replacetext(message, "captain", "CAPIT<49>N") message = replacetext(message, "captain", "CAPIT<49>N")
message = dd_replacetext(message, "station", "ESTACI<43>N") message = replacetext(message, "station", "ESTACI<43>N")
message = dd_replacetext(message, "sir", "SE<53>OR") message = replacetext(message, "sir", "SE<53>OR")
message = dd_replacetext(message, "the ", "el ") message = replacetext(message, "the ", "el ")
message = dd_replacetext(message, "my ", "mi ") message = replacetext(message, "my ", "mi ")
message = dd_replacetext(message, "is ", "es ") message = replacetext(message, "is ", "es ")
message = dd_replacetext(message, "it's", "es") message = replacetext(message, "it's", "es")
message = dd_replacetext(message, "friend", "amigo") message = replacetext(message, "friend", "amigo")
message = dd_replacetext(message, "buddy", "amigo") message = replacetext(message, "buddy", "amigo")
message = dd_replacetext(message, "hello", "hola") message = replacetext(message, "hello", "hola")
message = dd_replacetext(message, " hot", " caliente") message = replacetext(message, " hot", " caliente")
message = dd_replacetext(message, " very ", " muy ") message = replacetext(message, " very ", " muy ")
message = dd_replacetext(message, "sword", "espada") message = replacetext(message, "sword", "espada")
message = dd_replacetext(message, "library", "biblioteca") message = replacetext(message, "library", "biblioteca")
message = dd_replacetext(message, "traitor", "traidor") message = replacetext(message, "traitor", "traidor")
message = dd_replacetext(message, "wizard", "mago") message = replacetext(message, "wizard", "mago")
message = uppertext(message) //Things end up looking better this way (no mixed cases), and it fits the macho wrestler image. message = uppertext(message) //Things end up looking better this way (no mixed cases), and it fits the macho wrestler image.
if(prob(25)) if(prob(25))
message += " OLE!" message += " OLE!"
@@ -84,37 +84,37 @@
temp_message[H] = ninjaspeak(temp_message[H]) temp_message[H] = ninjaspeak(temp_message[H])
pick_list -= H pick_list -= H
message = dd_list2text(temp_message, " ") message = dd_list2text(temp_message, " ")
message = dd_replacetext(message, "o", "<22>") message = replacetext(message, "o", "<22>")
message = dd_replacetext(message, "p", "<22>") message = replacetext(message, "p", "<22>")
message = dd_replacetext(message, "l", "<22>") message = replacetext(message, "l", "<22>")
message = dd_replacetext(message, "s", "<22>") message = replacetext(message, "s", "<22>")
message = dd_replacetext(message, "u", "<22>") message = replacetext(message, "u", "<22>")
message = dd_replacetext(message, "b", "<22>") message = replacetext(message, "b", "<22>")
/*This text is hilarious but also absolutely retarded. /*This text is hilarious but also absolutely retarded.
message = dd_replacetext(message, "l", "r") message = replacetext(message, "l", "r")
message = dd_replacetext(message, "rr", "ru") message = replacetext(message, "rr", "ru")
message = dd_replacetext(message, "v", "b") message = replacetext(message, "v", "b")
message = dd_replacetext(message, "f", "hu") message = replacetext(message, "f", "hu")
message = dd_replacetext(message, "'t", "") message = replacetext(message, "'t", "")
message = dd_replacetext(message, "t ", "to ") message = replacetext(message, "t ", "to ")
message = dd_replacetext(message, " I ", " ai ") message = replacetext(message, " I ", " ai ")
message = dd_replacetext(message, "th", "z") message = replacetext(message, "th", "z")
message = dd_replacetext(message, "ish", "isu") message = replacetext(message, "ish", "isu")
message = dd_replacetext(message, "is", "izu") message = replacetext(message, "is", "izu")
message = dd_replacetext(message, "ziz", "zis") message = replacetext(message, "ziz", "zis")
message = dd_replacetext(message, "se", "su") message = replacetext(message, "se", "su")
message = dd_replacetext(message, "br", "bur") message = replacetext(message, "br", "bur")
message = dd_replacetext(message, "ry", "ri") message = replacetext(message, "ry", "ri")
message = dd_replacetext(message, "you", "yuu") message = replacetext(message, "you", "yuu")
message = dd_replacetext(message, "ck", "cku") message = replacetext(message, "ck", "cku")
message = dd_replacetext(message, "eu", "uu") message = replacetext(message, "eu", "uu")
message = dd_replacetext(message, "ow", "au") message = replacetext(message, "ow", "au")
message = dd_replacetext(message, "are", "aa") message = replacetext(message, "are", "aa")
message = dd_replacetext(message, "ay", "ayu") message = replacetext(message, "ay", "ayu")
message = dd_replacetext(message, "ea", "ii") message = replacetext(message, "ea", "ii")
message = dd_replacetext(message, "ch", "chi") message = replacetext(message, "ch", "chi")
message = dd_replacetext(message, "than", "sen") message = replacetext(message, "than", "sen")
message = dd_replacetext(message, ".", "") message = replacetext(message, ".", "")
message = lowertext(message) message = lowertext(message)
*/ */
..(message) ..(message)

View File

@@ -48,12 +48,12 @@
temp_message[H] = ninjaspeak(temp_message[H]) temp_message[H] = ninjaspeak(temp_message[H])
pick_list -= H pick_list -= H
message = dd_list2text(temp_message, " ") message = dd_list2text(temp_message, " ")
message = dd_replacetext(message, "o", "<22>") message = replacetext(message, "o", "<22>")
message = dd_replacetext(message, "p", "<22>") message = replacetext(message, "p", "<22>")
message = dd_replacetext(message, "l", "<22>") message = replacetext(message, "l", "<22>")
message = dd_replacetext(message, "s", "<22>") message = replacetext(message, "s", "<22>")
message = dd_replacetext(message, "u", "<22>") message = replacetext(message, "u", "<22>")
message = dd_replacetext(message, "b", "<22>") message = replacetext(message, "b", "<22>")
if (src.stuttering) if (src.stuttering)
message = stutter(message) message = stutter(message)

View File

@@ -143,15 +143,15 @@ var/list/department_radio_keys = list(
// :downs: // :downs:
if (getBrainLoss() >= 60) if (getBrainLoss() >= 60)
message = dd_replacetext(message, " am ", " ") message = replacetext(message, " am ", " ")
message = dd_replacetext(message, " is ", " ") message = replacetext(message, " is ", " ")
message = dd_replacetext(message, " are ", " ") message = replacetext(message, " are ", " ")
message = dd_replacetext(message, "you", "u") message = replacetext(message, "you", "u")
message = dd_replacetext(message, "help", "halp") message = replacetext(message, "help", "halp")
message = dd_replacetext(message, "grief", "grife") message = replacetext(message, "grief", "grife")
message = dd_replacetext(message, "space", "spess") message = replacetext(message, "space", "spess")
message = dd_replacetext(message, "carp", "crap") message = replacetext(message, "carp", "crap")
message = dd_replacetext(message, "reason", "raisin") message = replacetext(message, "reason", "raisin")
if(prob(50)) if(prob(50))
message = uppertext(message) message = uppertext(message)
message += "[stutter(pick("!", "!!", "!!!"))]" message += "[stutter(pick("!", "!!", "!!!"))]"

View File

@@ -422,10 +422,10 @@
adminrank = usr.client.holder.rank adminrank = usr.client.holder.rank
replytext = dd_replacetext(replytext, "%BR%", "") replytext = replacetext(replytext, "%BR%", "")
replytext = dd_replacetext(replytext, "\n", "%BR%") replytext = replacetext(replytext, "\n", "%BR%")
var/text_pass = reject_bad_text(replytext,8000) var/text_pass = reject_bad_text(replytext,8000)
replytext = dd_replacetext(replytext, "%BR%", "<BR>") replytext = replacetext(replytext, "%BR%", "<BR>")
if(!text_pass) if(!text_pass)
usr << "The text you entered was blank, contained illegal characters or was too long. Please correct the text and submit again." usr << "The text you entered was blank, contained illegal characters or was too long. Please correct the text and submit again."

View File

@@ -155,40 +155,40 @@
/obj/item/weapon/paper/proc/parsepencode(var/t, var/obj/item/weapon/pen/P, mob/user as mob, var/iscrayon = 0) /obj/item/weapon/paper/proc/parsepencode(var/t, var/obj/item/weapon/pen/P, mob/user as mob, var/iscrayon = 0)
// t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) // t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
t = dd_replacetext(t, "\[center\]", "<center>") t = replacetext(t, "\[center\]", "<center>")
t = dd_replacetext(t, "\[/center\]", "</center>") t = replacetext(t, "\[/center\]", "</center>")
t = dd_replacetext(t, "\[br\]", "<BR>") t = replacetext(t, "\[br\]", "<BR>")
t = dd_replacetext(t, "\[b\]", "<B>") t = replacetext(t, "\[b\]", "<B>")
t = dd_replacetext(t, "\[/b\]", "</B>") t = replacetext(t, "\[/b\]", "</B>")
t = dd_replacetext(t, "\[i\]", "<I>") t = replacetext(t, "\[i\]", "<I>")
t = dd_replacetext(t, "\[/i\]", "</I>") t = replacetext(t, "\[/i\]", "</I>")
t = dd_replacetext(t, "\[u\]", "<U>") t = replacetext(t, "\[u\]", "<U>")
t = dd_replacetext(t, "\[/u\]", "</U>") t = replacetext(t, "\[/u\]", "</U>")
t = dd_replacetext(t, "\[large\]", "<font size=\"4\">") t = replacetext(t, "\[large\]", "<font size=\"4\">")
t = dd_replacetext(t, "\[/large\]", "</font>") t = replacetext(t, "\[/large\]", "</font>")
t = dd_replacetext(t, "\[sign\]", "<font face=\"[signfont]\"><i>[user.real_name]</i></font>") t = replacetext(t, "\[sign\]", "<font face=\"[signfont]\"><i>[user.real_name]</i></font>")
t = dd_replacetext(t, "\[field\]", "<span class=\"paper_field\"></span>") t = replacetext(t, "\[field\]", "<span class=\"paper_field\"></span>")
if(!iscrayon) if(!iscrayon)
t = dd_replacetext(t, "\[*\]", "<li>") t = replacetext(t, "\[*\]", "<li>")
t = dd_replacetext(t, "\[hr\]", "<HR>") t = replacetext(t, "\[hr\]", "<HR>")
t = dd_replacetext(t, "\[small\]", "<font size = \"1\">") t = replacetext(t, "\[small\]", "<font size = \"1\">")
t = dd_replacetext(t, "\[/small\]", "</font>") t = replacetext(t, "\[/small\]", "</font>")
t = dd_replacetext(t, "\[list\]", "<ul>") t = replacetext(t, "\[list\]", "<ul>")
t = dd_replacetext(t, "\[/list\]", "</ul>") t = replacetext(t, "\[/list\]", "</ul>")
t = "<font face=\"[deffont]\" color=[P.colour]>[t]</font>" t = "<font face=\"[deffont]\" color=[P.colour]>[t]</font>"
else // If it is a crayon, and he still tries to use these, make them empty! else // If it is a crayon, and he still tries to use these, make them empty!
t = dd_replacetext(t, "\[*\]", "") t = replacetext(t, "\[*\]", "")
t = dd_replacetext(t, "\[hr\]", "") t = replacetext(t, "\[hr\]", "")
t = dd_replacetext(t, "\[small\]", "") t = replacetext(t, "\[small\]", "")
t = dd_replacetext(t, "\[/small\]", "") t = replacetext(t, "\[/small\]", "")
t = dd_replacetext(t, "\[list\]", "") t = replacetext(t, "\[list\]", "")
t = dd_replacetext(t, "\[/list\]", "") t = replacetext(t, "\[/list\]", "")
t = "<font face=\"[crayonfont]\" color=[P.colour]><b>[t]</b></font>" t = "<font face=\"[crayonfont]\" color=[P.colour]><b>[t]</b></font>"
// t = dd_replacetext(t, "#", "") // Junk converted to nothing! // t = replacetext(t, "#", "") // Junk converted to nothing!
//Count the fields //Count the fields
var/laststart = 1 var/laststart = 1

View File

@@ -51,8 +51,8 @@
else //no toner? shitty copies for you! else //no toner? shitty copies for you!
c.info = "<font color = #808080>" c.info = "<font color = #808080>"
var/copied = html_decode(copy.info) var/copied = html_decode(copy.info)
copied = dd_replacetext(copied, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action copied = replacetext(copied, "<font face=\"[c.deffont]\" color=", "<font face=\"[c.deffont]\" nocolor=") //state of the art techniques in action
copied = dd_replacetext(copied, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority. copied = replacetext(copied, "<font face=\"[c.crayonfont]\" color=", "<font face=\"[c.crayonfont]\" nocolor=") //This basically just breaks the existing color tag, which we need to do because the innermost tag takes priority.
c.info += copied c.info += copied
c.info += "</font>" c.info += "</font>"
c.name = copy.name // -- Doohl c.name = copy.name // -- Doohl

View File

@@ -303,9 +303,9 @@ var/obj/machinery/blackbox_recorder/blackbox
// Sanitize inputs to avoid SQL injection attacks // Sanitize inputs to avoid SQL injection attacks
proc/sql_sanitize_text(var/text) proc/sql_sanitize_text(var/text)
text = dd_replacetext(text, "'", "''") text = replacetext(text, "'", "''")
text = dd_replacetext(text, ";", "") text = replacetext(text, ";", "")
text = dd_replacetext(text, "&", "") text = replacetext(text, "&", "")
return text return text
proc/feedback_set(var/variable,var/value) proc/feedback_set(var/variable,var/value)

View File

@@ -162,8 +162,8 @@ client/verb/tcsrevert()
var/obj/machinery/telecomms/server/Server = Machine.SelectedServer var/obj/machinery/telecomms/server/Server = Machine.SelectedServer
// Replace quotation marks with quotation macros for proper winset() compatibility // Replace quotation marks with quotation macros for proper winset() compatibility
var/showcode = dd_replacetext(Server.rawcode, "\\\"", "\\\\\"") var/showcode = replacetext(Server.rawcode, "\\\"", "\\\\\"")
showcode = dd_replacetext(showcode, "\"", "\\\"") showcode = replacetext(showcode, "\"", "\\\"")
winset(mob, "tcscode", "text=\"[showcode]\"") winset(mob, "tcscode", "text=\"[showcode]\"")

View File

@@ -119,7 +119,7 @@
@param replacestring: the string to replace the substring with @param replacestring: the string to replace the substring with
*/ */
interpreter.SetProc("replace", /proc/dd_replacetext) interpreter.SetProc("replace", /proc/replacetext)
/* /*
-> Locates an element/substring inside of a list or string -> Locates an element/substring inside of a list or string