Arma Reforger Explorer  1.1.0.42
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
SCR_ProfaneFilter.c
Go to the documentation of this file.
3 {
4  // TODO@mour:speedrun solution, look into performance!!!
5  // TODO: replace 4 -> a, 3 -> e, 7 -> t, $ -> s etc to cover 13375p34k? (1 = l or i...)
6 
7  //------------------------------------------------------------------------------------------------
13  static bool ReplaceProfanities(string input, out string output, string replaceChar = "*")
14  {
15  bool profanityFound = false;
16 
17  if (input.IsEmpty())
18  {
19  output = string.Empty;
20  return false;
21  }
22 
23  if (replaceChar.IsEmpty())
24  replaceChar = "*";
25  else
26  if (replaceChar.Length() > 1)
27  replaceChar = replaceChar[0];
28 
29  int inputLength = input.Length();
30  string inputLC = input;
31  inputLC.ToLower();
32  foreach (string profanity : s_aProfanityBlacklist)
33  {
34  int indexOf = inputLC.IndexOf(profanity);
35  if (indexOf < 0)
36  continue;
37 
38  profanityFound = true;
39 
40  int profanityLength = profanity.Length();
41  string replacement = SCR_StringHelper.PadLeft("", profanityLength, "*");
42  while (indexOf > -1)
43  {
44  if (indexOf > 0)
45  input = input.Substring(0, indexOf) + replacement + input.Substring(indexOf + profanityLength, inputLength - profanityLength - indexOf);
46  else
47  input = replacement + input.Substring(profanityLength, inputLength - profanityLength);
48 
49  indexOf = inputLC.IndexOfFrom(indexOf + profanityLength, profanity);
50  }
51  }
52 
53  output = input;
54  return profanityFound;
55  }
56 
58  protected static ref array<string> s_aProfanityBlacklist = {
59  "figlio di puttana",
60  "shokubutsuningen",
61  "madonna puttana",
62  "seishinhakujaku",
63  "seisinhakuzyaku",
64  "syokubutuningen",
65  "chingada madre",
66  "testa di cazzo",
67  "klu klux klan",
68  "masturbazione",
69  "porca madonna",
70  "succhia cazzi",
71  "goldenshowers",
72  "koroshiteyaru",
73  "motherfuckers",
74  "tokushugakkyu",
75  "tokusyugakkyu",
76  "jungle bunny",
77  "masturbacion",
78  "moon cricket",
79  "porch monkey",
80  "fukashokumin",
81  "fuuuuuuuuuck",
82  "hakuzyakusya",
83  "hukasyokumin",
84  "ku klux klan",
85  "motherfucker",
86  "semushiotoko",
87  "cameljockey",
88  "ching chong",
89  "durka durka",
90  "beefwhistle",
91  "enzyokousai",
92  "fujinoyamai",
93  "fuuuuuuuuck",
94  "fuuuuuuuuuu",
95  "hakujakusha",
96  "huzinoyamai",
97  "intercourse",
98  "junglebunny",
99  "m07th3rfukr",
100  "m0th3rfvk3r",
101  "m0th3rfvker",
102  "moth3rfucer",
103  "moth3rfvk3r",
104  "moth3rfvker",
105  "semusiotoko",
106  "ushigoroshi",
107  "vvhitepower",
108  "white power",
109  "cocksucker",
110  "dio bestia",
111  "masturbare",
112  "masturbate",
113  "nhiggerman",
114  "paedophile",
115  "puttaniere",
116  "schwuchtel",
117  "spanishick",
118  "spanishook",
119  "spanishunk",
120  "vaffanculo",
121  "xblrewards",
122  "zipperhead",
123  "arseholing",
124  "arselicker",
125  "bestiality",
126  "butagorosi",
127  "chikusatsu",
128  "circlejerk",
129  "cotton pic",
130  "cotton pik",
131  "enjokousai",
132  "fuuuuuuuck",
133  "hakuroubyo",
134  "inugoroshi",
135  "manberries",
136  "masterbate",
137  "masturbait",
138  "mitsukuchi",
139  "sangokujin",
140  "sangokuzin",
141  "seishinijo",
142  "seisinizyo",
143  "shinheimin",
144  "torukoburo",
145  "whitepower",
146  "yabunirami",
147  "arschloch",
148  "auschwitz",
149  "chlamydia",
150  "crackhead",
151  "deez nuts",
152  "ejaculate",
153  "hurensohn",
154  "kilurself",
155  "masterbat",
156  "miststück",
157  "ricchione",
158  "testicles",
159  "vaccagare",
160  "vatefaire",
161  "akimekura",
162  "arseholed",
163  "arseholes",
164  "beeeyotch",
165  "bin laden",
166  "chieokure",
167  "chourimbo",
168  "chourinbo",
169  "chourippo",
170  "chuurembo",
171  "chuurenbo",
172  "coon hunt",
173  "coon kill",
174  "cottonpic",
175  "cottonpik",
176  "fuuuuuuck",
177  "golliwogg",
178  "hantoujin",
179  "hantouzin",
180  "holocaust",
181  "inugorosi",
182  "koon hunt",
183  "koon kill",
184  "koumoujin",
185  "koumouzin",
186  "n1ggerman",
187  "n4ggerman",
188  "naggerman",
189  "niggerman",
190  "nyggerman",
191  "pedophile",
192  "sinheimin",
193  "sofa king",
194  "torukozyo",
195  "towelhead",
196  "tyourinbo",
197  "tyourippo",
198  "usigorosi",
199  "anushead",
200  "ballsack",
201  "bitching",
202  "bullshit",
203  "butthole",
204  "buttplug",
205  "chingado",
206  "chingate",
207  "coglione",
208  "coglioni",
209  "dickhead",
210  "fickdich",
211  "inculato",
212  "jack off",
213  "red tube",
214  "schlampe",
215  "tarlouse",
216  "abortion",
217  "anuslick",
218  "arsehole",
219  "bakachon",
220  "bakatyon",
221  "beeyotch",
222  "binladen",
223  "butthead",
224  "castrate",
225  "chankoro",
226  "chonkoro",
227  "clitoris",
228  "coonhunt",
229  "coonkill",
230  "deeznuts",
231  "etahinin",
232  "foreskin",
233  "fuuuuuck",
234  "god damn",
235  "gollywog",
236  "jiggaboo",
237  "kichigai",
238  "klu klux",
239  "knobhead",
240  "koonhunt",
241  "koonkill",
242  "manshaft",
243  "mitukuti",
244  "molester",
245  "molestor",
246  "n1german",
247  "negerman",
248  "nggerman",
249  "nigerman",
250  "nimpinin",
251  "ninpinin",
252  "santorum",
253  "shinajin",
254  "shirakko",
255  "sofaking",
256  "tieokure",
257  "torukojo",
258  "tyankoro",
259  "tyonkoro",
260  "tyurenbo",
261  "a55hole",
262  "bastard",
263  "beeatch",
264  "bellend",
265  "bukakke",
266  "caralho",
267  "cocaine",
268  "dumbass",
269  "fanculo",
270  "fucking",
271  "jerkoff",
272  "jigaboo",
273  "maricon",
274  "mulatto",
275  "nipples",
276  "nutsack",
277  "panties",
278  "pendejo",
279  "pussies",
280  "puttana",
281  "puttane",
282  "scheiße",
283  "shemale",
284  "tapatte",
285  "tapette",
286  "xl3lpet",
287  "ainujin",
288  "ainuzin",
289  "asshole",
290  "beeotch",
291  "beyitch",
292  "beyotch",
293  "blowjob",
294  "coituss",
295  "cojelon",
296  "cojones",
297  "deeznut",
298  "facking",
299  "fuuuuck",
300  "fxuxcxk",
301  "gestapo",
302  "hairpie",
303  "jackass",
304  "kikeiji",
305  "kikeizi",
306  "kitigai",
307  "kluklux",
308  "kurombo",
309  "n166ers",
310  "n1gg3rs",
311  "n1ggers",
312  "niggers",
313  "nigglet",
314  "phaggot",
315  "preteen",
316  "raghead",
317  "rizzape",
318  "rompari",
319  "schlong",
320  "sinazin",
321  "suck my",
322  "tea bag",
323  "teensex",
324  "tosatsu",
325  "w3tb4ck",
326  "w3tback",
327  "wetb4ck",
328  "wetback",
329  "xbl pet",
330  "beaner",
331  "beetch",
332  "cabron",
333  "cadela",
334  "cagada",
335  "chinga",
336  "cooter",
337  "culear",
338  "culero",
339  "darkie",
340  "downie",
341  "encule",
342  "fetish",
343  "foutre",
344  "herpes",
345  "hooker",
346  "mierda",
347  "molest",
348  "nignog",
349  "nutted",
350  "pinche",
351  "putain",
352  "rapage",
353  "raping",
354  "reggin",
355  "salaud",
356  "salope",
357  "scrote",
358  "shitty",
359  "tampon",
360  "tranny",
361  "xblpet",
362  "anuses",
363  "asshat",
364  "biotch",
365  "blowme",
366  "blyadt",
367  "ceemen",
368  "chinpo",
369  "chonga",
370  "chonko",
371  "cocain",
372  "coitus",
373  "condom",
374  "douche",
375  "etambo",
376  "etanbo",
377  "faggot",
378  "fatass",
379  "fucker",
380  "fuuuck",
381  "hitl3r",
382  "hitler",
383  "inc3st",
384  "incest",
385  "j1g4b0",
386  "j1g4bo",
387  "j1gab0",
388  "j1gabo",
389  "jig4b0",
390  "jig4bo",
391  "jigabo",
392  "lezzie",
393  "n1663r",
394  "n166er",
395  "n1gg3r",
396  "n1gger",
397  "n4gg3r",
398  "nagg3r",
399  "ni66er",
400  "niggaz",
401  "nigger",
402  "nigguh",
403  "niggur",
404  "niglet",
405  "niqqer",
406  "pedoph",
407  "penile",
408  "phagot",
409  "pu555y",
410  "pun4ni",
411  "pun4nl",
412  "punan1",
413  "punani",
414  "punanl",
415  "pusss1",
416  "pussse",
417  "pusssi",
418  "pusssl",
419  "pusssy",
420  "r3c7um",
421  "r4p15t",
422  "r4p1st",
423  "r4pi5t",
424  "r4pist",
425  "raibyo",
426  "rap15t",
427  "rap1st",
428  "rapi5t",
429  "rapist",
430  "rectum",
431  "retard",
432  "rimjob",
433  "suckmy",
434  "teabag",
435  "teebag",
436  "tosatu",
437  "tyonga",
438  "tyonko",
439  "v461n4",
440  "v461na",
441  "v46in4",
442  "v46ina",
443  "v4g1n4",
444  "v4g1na",
445  "v4gin4",
446  "v4gina",
447  "va61n4",
448  "va61na",
449  "va6in4",
450  "va6ina",
451  "vag1n4",
452  "vag1na",
453  "vagin4",
454  "vagina",
455  "wanker",
456  "x8lp3t",
457  "かわらこじき",
458  "ころしてやる",
459  "とるこじょう",
460  "はんとうじん",
461  "カワラコジキ",
462  "コロシテヤル",
463  "arsch",
464  "baise",
465  "biach",
466  "cacca",
467  "cazzo",
468  "downy",
469  "fanny",
470  "fotze",
471  "gooch",
472  "injun",
473  "joder",
474  "kurva",
475  "kurwa",
476  "merda",
477  "merde",
478  "minge",
479  "nonce",
480  "penis",
481  "perra",
482  "pikey",
483  "pizda",
484  "polla",
485  "porra",
486  "punal",
487  "pussy",
488  "raped",
489  "semen",
490  "skank",
491  "sodom",
492  "taint",
493  "ahole",
494  "anuss",
495  "aokan",
496  "arsed",
497  "arses",
498  "b00bz",
499  "bitch",
500  "bladt",
501  "blyad",
502  "bon3r",
503  "boner",
504  "boobs",
505  "ch1nk",
506  "chink",
507  "choad",
508  "chode",
509  "dildo",
510  "dongs",
511  "f3lch",
512  "fcuuk",
513  "felch",
514  "fuuck",
515  "g000k",
516  "goook",
517  "h1tl3",
518  "h1tle",
519  "hitlr",
520  "honky",
521  "hymen",
522  "k k k",
523  "kxkxk",
524  "l3sb0",
525  "lezbo",
526  "manko",
527  "n1664",
528  "n166a",
529  "n1g3r",
530  "n3gro",
531  "n4g3r",
532  "nag3r",
533  "natzi",
534  "ni666",
535  "ni66a",
536  "ni66g",
537  "ni6g6",
538  "ni6gg",
539  "nig66",
540  "nig6g",
541  "nigar",
542  "nigg3",
543  "nigg6",
544  "nigga",
545  "niggr",
546  "niggy",
547  "niqqa",
548  "nugga",
549  "omeko",
550  "p3n15",
551  "p3n1s",
552  "p3ni5",
553  "p3nis",
554  "p3nl5",
555  "p3nls",
556  "pen15",
557  "pen1s",
558  "peni5",
559  "penis",
560  "penl5",
561  "penls",
562  "penus",
563  "phuck",
564  "pr1ck",
565  "prick",
566  "pu55y",
567  "pub1c",
568  "pubic",
569  "puss1",
570  "puss3",
571  "puss5",
572  "pusse",
573  "pussi",
574  "puzzy",
575  "pvssy",
576  "queef",
577  "raape",
578  "reipu",
579  "secks",
580  "teino",
581  "tinpo",
582  "tunbo",
583  "wh0r3",
584  "wh0re",
585  "whor3",
586  "whore",
587  "Блядь",
588  "いぬごろし",
589  "かわらもの",
590  "ちょんこう",
591  "ちょんころ",
592  "とるこぶろ",
593  "にんぴにん",
594  "イヌゴロシ",
595  "カワラモノ",
596  "チョンコウ",
597  "チョンコロ",
598  "トルコ風呂",
599  "1488",
600  "aids",
601  "anal",
602  "bamf",
603  "btch",
604  "csam",
605  "culo",
606  "dyke",
607  "fckn",
608  "fick",
609  "fupa",
610  "hure",
611  "joto",
612  "kike",
613  "meth",
614  "mong",
615  "orgy",
616  "paki",
617  "pedo",
618  "porn",
619  "pube",
620  "puta",
621  "pute",
622  "puto",
623  "raip",
624  "stds",
625  "shat",
626  "tard",
627  "thot",
628  "tits",
629  "vank",
630  "anus",
631  "arse",
632  "b1tc",
633  "blad",
634  "bung",
635  "c0ck",
636  "cl1t",
637  "cli7",
638  "clit",
639  "cock",
640  "coon",
641  "cun7",
642  "cunt",
643  "cvn7",
644  "cvnt",
645  "cyka",
646  "d1kc",
647  "d4go",
648  "dago",
649  "dikc",
650  "dong",
651  "f0ck",
652  "f0kc",
653  "fcuk",
654  "fock",
655  "fokc",
656  "fucc",
657  "fuck",
658  "fuct",
659  "fvck",
660  "fxck",
661  "g00k",
662  "g0ok",
663  "go0k",
664  "gook",
665  "h0m0",
666  "h0mo",
667  "hom0",
668  "homo",
669  "hor3",
670  "jizz",
671  "k1k3",
672  "kik3",
673  "kun7",
674  "milf",
675  "n4z1",
676  "naz1",
677  "nazi",
678  "nazl",
679  "nggr",
680  "ni6g",
681  "r4p3",
682  "rape",
683  "sh17",
684  "sh1t",
685  "shi7",
686  "shit",
687  "shl7",
688  "shlt",
689  "slut",
690  "tw47",
691  "tw4t",
692  "twat",
693  "сука",
694  "あおかん",
695  "いんばい",
696  "おなにー",
697  "きけいじ",
698  "きちがい",
699  "きんたま",
700  "くろんぼ",
701  "しなじん",
702  "たちんぼ",
703  "ちょん公",
704  "アオカン",
705  "インバイ",
706  "オナニー",
707  "キケイジ",
708  "キチガイ",
709  "キンタマ",
710  "クロンボ",
711  "シナジン",
712  "タチンボ",
713  "トルコ嬢",
714  "8=d",
715  "ass",
716  "cum",
717  "fgt",
718  "gyp",
719  "nig",
720  "smd",
721  "std",
722  "vag",
723  "vog",
724  "vop",
725  "fag",
726  "fck",
727  "fku",
728  "jap",
729  "kkk",
730  "sex",
731  "ちんぽ",
732  "つんぼ",
733  "まんこ",
734  "れいぷ",
735  "オメコ",
736  "チンポ",
737  "ツンボ",
738  "ニガー",
739  "ニグロ",
740  "マンコ",
741  "レイプ",
742  "支那人",
743  "精薄者",
744  "低能",
745  "屠殺",
746  "強姦",
747  "援交",
748  "精薄",
749  "輪姦",
750 
751 // // added: English variants
752 // "dick",
753 // "d1ck",
754 // // "asshole",
755 // "a55hole",
756 // "a55h0le",
757 // "assh0le",
758 // "4sshole",
759 // "455h0le",
760 //
761 // // added: French variants
762 // "batard",
763 // "batar",
764 // "bâtard",
765 // "bâtârd",
766 // "batârd",
767 // "b4t4rd",
768 // "b4t4r",
769 // "branleur",
770 // "branleuse",
771 // "branleuze",
772 // " branler",
773 // " catin",
774 // "enculé",
775 // "ankulé",
776 // "ankuler",
777 // "connard",
778 // "conard",
779 // "conar",
780 // "konar",
781 // "connasse",
782 // "conasse",
783 // "conass",
784 // "konasse",
785 // "konass",
786 // "konasse",
787 // "ma bite",
788 // "masturbation",
789 // "masturber",
790 // "pédé",
791 // "pédophile",
792 // "pétasse",
793 // "petasse",
794 // "pouffiasse",
795 // "poufiasse",
796 // "pouffiase",
797 // "poufiase",
798 // "pouffiace",
799 // "poufiace",
800 // "salop",
801 // "salop",
802 // "suce ma",
803 // "suse ma",
804 // "sus ma",
805 // " chier",
806 // "chieur",
807 // "chieuse",
808 // "chieuze",
809 // "nique ta",
810 // "nik ta",
811 // "niq ta",
812 // "niquer ta",
813 // "niker ta",
814 // "niqer ta",
815 // "niqué ta",
816 // "niké ta",
817 // "niqé ta",
818 // // " fdp", // les fdport
819 // " teub",
820 // // "te viol", // porTE VIOLette
821 // "violer",
822 // "violé",
823  };
824 }
SCR_StringHelper
Definition: SCR_StringHelper.c:1
SCR_ProfaneFilter
Handles filtering profanities in texts.
Definition: SCR_ProfaneFilter.c:2