Support Regex in replaceall, re-implement lizard hiss limits

This commit is contained in:
Bjorn Neergaard
2016-02-04 17:19:46 -06:00
parent e3bd22b481
commit ef19e7904f
2 changed files with 9 additions and 7 deletions
+5 -5
View File
@@ -2,7 +2,11 @@
#if DM_VERSION < 510
#define BYGEX "code/__HELPERS/bygex.dll"
/proc/replacetext(text, replace, replacement)
return call(BYGEX, "regex_replaceallliteral")(text, replace, replacement)
if(istype(replace, /regex))
var/regex/R = replace
return R.Replace(text, replacement)
else
return call(BYGEX, "regex_replaceallliteral")(text, replace, replacement)
/proc/replacetextEx(text, replace, replacement)
return call(BYGEX, "regEx_replaceallliteral")(text, replace, replacement)
@@ -246,8 +250,4 @@
#undef CannotBeFlat
#undef CannotBeAssoc
#undef BadList
#else
/regex/Replace()
..()
return text
#endif
@@ -74,10 +74,12 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H)
return randname
var/regex/lizard_hiss = new("s{1,2}(?!s)", "g")
var/regex/lizard_hiSS = new("S{1,2}(?!S)", "g")
/datum/species/lizard/handle_speech(message)
if(copytext(message, 1, 2) != "*")
message = replacetextEx(message, "s", "sss")
message = replacetextEx(message, "S", "SSS")
message = lizard_hiss.Replace(message, "sss")
message = lizard_hiSS.Replace(message, "SSS")
return message
//I wag in death