From 4ca54e876184cedb08b68a8a657a100e16d69ee1 Mon Sep 17 00:00:00 2001 From: MangosArentLiterature <58055358+MangosArentLiterature@users.noreply.github.com> Date: Thu, 29 Apr 2021 22:13:06 -0500 Subject: [PATCH] Fix dezalgo Changes how dezalgo works. Still filters zalgo text without breaking languages. Removes zalgo tolerance because it's not really necessary with this system. --- src/packets.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/packets.cpp b/src/packets.cpp index 10f25c7..331d3d2 100644 --- a/src/packets.cpp +++ b/src/packets.cpp @@ -109,7 +109,7 @@ void AOClient::pktLoadingDone(AreaData* area, int argc, QStringList argv, AOPack sendPacket("OPPASS", {"DEADBEEF"}); sendPacket("DONE"); sendPacket("BN", {area->background}); - + sendServerMessage("=== MOTD ===\r\n" + server->MOTD + "\r\n============="); fullArup(); // Give client all the area data @@ -185,7 +185,7 @@ void AOClient::pktOocChat(AreaData* area, int argc, QStringList argv, AOPacket p sendServerMessage("Your name is too long! Please limit it to under 30 characters."); return; } - + QString message = dezalgo(argv[1]); if (message.length() == 0 || message.length() > server->max_chars) return; @@ -770,7 +770,7 @@ AOPacket AOClient::validateIcPacket(AOPacket packet) QString AOClient::dezalgo(QString p_text) { - QRegExp rxp("([\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f\u115f\u1160\u3164]{" + QRegExp::escape(QString::number(server->zalgo_tolerance)) + ",})"); + QRegularExpression rxp("([̴̵̶̷̸̡̢̧̨̛̖̗̘̙̜̝̞̟̠̣̤̥̦̩̪̫̬̭̮̯̰̱̲̳̹̺̻̼͇͈͉͍͎̀́̂̃̄̅̆̇̈̉̊̋̌̍̎̏̐̑̒̓̔̽̾̿̀́͂̓̈́͆͊͋͌̕̚ͅ͏͓͔͕͖͙͚͐͑͒͗͛ͣͤͥͦͧͨͩͪͫͬͭͮͯ͘͜͟͢͝͞͠͡])"); QString filtered = p_text.replace(rxp, ""); return filtered; }