From a89e89f99aa6b89b59541e8ad7e4f2761a74b8e9 Mon Sep 17 00:00:00 2001 From: Loudrob Date: Thu, 16 Jul 2015 14:14:00 -0400 Subject: [PATCH] Chat Offense --- otp/chat/ChatAgentUD.py | 91 +- toontown/friends/TTSFriendsManagerUD.py | 19 + toontown/toonbase/TTLocalizerEnglish.py | 1265 ++++++++++++++++++- toontown/uberdog/ClientServicesManagerUD.py | 6 +- 4 files changed, 1355 insertions(+), 26 deletions(-) diff --git a/otp/chat/ChatAgentUD.py b/otp/chat/ChatAgentUD.py index 2e13d84a..1ece070f 100755 --- a/otp/chat/ChatAgentUD.py +++ b/otp/chat/ChatAgentUD.py @@ -1,40 +1,83 @@ from direct.directnotify import DirectNotifyGlobal from direct.distributed.DistributedObjectGlobalUD import DistributedObjectGlobalUD +from direct.distributed.PyDatagram import PyDatagram +from direct.distributed.MsgTypes import * from otp.distributed import OtpDoGlobals - +from toontown.toonbase import TTLocalizer + +BLACKLIST = TTLocalizer.Blacklist +OFFENSE_MSGS = ('-- DEV CHAT -- word blocked: %s', 'Watch your language! This is your first offense. You said "%s".', + 'Watch your language! This is your second offense. Next offense you\'ll get banned for 24 hours. You said "%s".') + class ChatAgentUD(DistributedObjectGlobalUD): - notify = DirectNotifyGlobal.directNotify.newCategory("ChatAgentUD") - - def announceGenerate(self): - DistributedObjectGlobalUD.announceGenerate(self) - - self.chatMode2channel = { + notify = DirectNotifyGlobal.directNotify.newCategory('ChatAgentUD') + WantWhitelist = config.GetBool('want-whitelist', True) + + chatMode2channel = { 1 : OtpDoGlobals.OTP_MOD_CHANNEL, 2 : OtpDoGlobals.OTP_ADMIN_CHANNEL, 3 : OtpDoGlobals.OTP_SYSADMIN_CHANNEL, - } - self.chatMode2prefix = { + } + chatMode2prefix = { 1 : "[MOD] ", 2 : "[ADMIN] ", 3 : "[SYSADMIN] ", - } - + } + + def announceGenerate(self): + DistributedObjectGlobalUD.announceGenerate(self) + + self.offenses = {} + def chatMessage(self, message, chatMode): sender = self.air.getAvatarIdFromSender() - if sender == 0: - self.air.writeServerEvent('suspicious', accId=self.air.getAccountIdFromSender(), - issue='Account sent chat without an avatar', message=message) + self.air.writeServerEvent('suspicious', self.air.getAccountIdFromSender(), + 'Account sent chat without an avatar', message) return - - self.air.writeServerEvent('chat-said', avId=sender, chatMode=chatMode, msg=message) - - if chatMode != 0: - if message.startswith('.'): - message = '.' + self.chatMode2prefix.get(chatMode, "") + message[1:] - else: - message = self.chatMode2prefix.get(chatMode, "") + message - + + if chatMode == 0: + if self.detectBadWords(self.air.getMsgSender(), message): + return + + self.air.writeServerEvent('chat-said', sender, message) + DistributedAvatar = self.air.dclassesByName['DistributedAvatarUD'] - dg = DistributedAvatar.aiFormatUpdate('setTalk', sender, self.chatMode2channel.get(chatMode, sender), self.air.ourChannel, [message]) + dg = DistributedAvatar.aiFormatUpdate('setTalk', sender, sender, + self.air.ourChannel, + [message]) self.air.send(dg) + + def detectBadWords(self, sender, message): + words = message.split() + print words + for word in words: + if word.lower() in BLACKLIST: + accountId = (sender >> 32) & 0xFFFFFFFF + avId = sender & 0xFFFFFFFF + + if not sender in self.offenses: + self.offenses[sender] = 0 + + if self.air.friendsManager.getToonAccess(avId) < 300: + self.offenses[sender] += 1 + + if self.offenses[sender] >= 3: + msg = 'Banned' + + else: + msg = OFFENSE_MSGS[self.offenses[sender]] % word + dclass = self.air.dclassesByName['ClientServicesManagerUD'] + dg = dclass.aiFormatUpdate('systemMessage', + OtpDoGlobals.OTP_DO_ID_CLIENT_SERVICES_MANAGER, + sender, 1000000, [msg]) + self.air.send(dg) + #self.air.banManager.ban(sender, 2, 'language') + + self.air.writeServerEvent('chat-offense', accountId, word=word, num=self.offenses[sender], msg=msg) + if self.offenses[sender] >= 3: + del self.offenses[sender] + + return 1 + + return 0 \ No newline at end of file diff --git a/toontown/friends/TTSFriendsManagerUD.py b/toontown/friends/TTSFriendsManagerUD.py index 39443f18..5a118b5b 100755 --- a/toontown/friends/TTSFriendsManagerUD.py +++ b/toontown/friends/TTSFriendsManagerUD.py @@ -149,6 +149,7 @@ class TTSFriendsManagerUD(DistributedObjectGlobalUD): self.onlineToons = [] self.tpRequests = {} self.whisperRequests = {} + self.toon2data = {} self.operations = [] self.delayTime = 1.0 @@ -252,6 +253,8 @@ class TTSFriendsManagerUD(DistributedObjectGlobalUD): self.sendUpdateToAvatarId(friendId, 'friendOffline', [doId]) if doId in self.onlineToons: self.onlineToons.remove(doId) + if doId in self.toon2data: + del self.toon2data[doId] self.air.dbInterface.queryObject(self.air.dbId, doId, handleToon) # -- Clear List -- @@ -356,3 +359,19 @@ class TTSFriendsManagerUD(DistributedObjectGlobalUD): def sleepAutoReply(self, toId): requester = self.air.getAvatarIdFromSender() self.sendUpdateToAvatarId(toId, 'setSleepAutoReply', [requester]) + + def getToonAccess(self, doId): + return self.toon2data.get(doId, {}).get('access', 0) + + def getToonName(self, doId): + return self.toon2data.get(doId, {}).get('name', '???') + + def getToonAccId(self, doId): + return self.toon2data.get(doId, {}).get('accId', 0) + + def addToonData(self, doId, fields): + data = {} + data['access'] = fields.get('setAdminAccess', [0])[0] + data['name'] = fields['setName'][0] + data['accId'] = fields.get('setDISLid', [0])[0] + self.toon2data[doId] = data diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 46a4e9f1..5bb247e3 100755 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -8601,4 +8601,1267 @@ CEOSpeech = [ 'And thus we, the Cog Nation, are striving.', 'I am very delighted by this news, I just wanted to thank you all for working so hard for this news.', "Wait, what's going on? I can't see but I hear explosions." -] # Len of words + 10 \ No newline at end of file + ] +Blacklist = [ + "$1ut", + "$h1t", + "$hit", + "$lut", + "'ho", + "'hobag", + "a$$", + "anal", + "anus", + "ass", + "assmunch", + "b1tch", + "ballsack", + "bastard", + "beaner", + "beastiality", + "biatch", + "beeyotch", + "bitch", + "bitchy", + "blow job", + "blow me", + "blowjob", + "bollock", + "bollocks", + "bollok", + "boner", + "boob", + "bugger", + "buttplug", + "c-0-c-k", + "c-o-c-k", + "c-u-n-t", + "c.0.c.k", + "c.o.c.k.", + "c.u.n.t", + "jerk", + "jackoff", + "jackhole", + "j3rk0ff", + "homo", + "hom0", + "hobag", + "hell", + "h0mo", + "h0m0", + "goddamn", + "goddammit", + "godamnit", + "god damn", + "ghey", + "ghay", + "gfy", + "gay", + "fudgepacker", + "fudge packer", + "fuckwad", + "fucktard", + "fuckoff", + "fucker", + "fuck-tard", + "fuck off", + "fuck", + "fellatio", + "fellate", + "felching", + "felcher", + "felch", + "fartknocker", + "fart", + "fannybandit", + "fanny bandit", + "faggot", + "fagg", + "fag", + "f.u.c.k", + "f-u-c-k", + "f u c k", + "dyke", + "douchebag", + "douche", + "douch3", + "doosh", + "dildo", + "dike", + "dick", + "damnit", + "damn", + "dammit", + "d1ldo", + "d1ld0", + "d1ck", + "d0uche", + "d0uch3", + "cunt", + "cumstain", + "cum", + "crap", + "coon", + "cock", + "clitoris", + "clit", + "cl1t", + "cawk", + "c0ck", + "jerk0ff", + "jerkoff", + "jizz", + "knob end", + "knobend", + "labia", + "lmfao", + "lul", + "moolie", + "muff", + "nigga", + "nigger", + "p.u.s.s.y.", + "penis", + "piss", + "piss-off", + "pissoff", + "prick", + "pube", + "pussy", + "queer", + "retard", + "retarded", + "s hit", + "s-h-1-t", + "s-h-i-t", + "s.h.i.t.", + "scrotum", + "sex", + "sh1t", + "shit", + "slut", + "smegma", + "t1t", + "tard", + "terd", + "tit", + "tits", + "titties", + "turd", + "twat", + "vag", + "vagina", + "wank", + "wetback", + "whore", + "whoreface", + "F*ck", + "sh*t", + "pu$$y", + "p*ssy", + "diligaf", + "wtf", + "stfu", + "fu*ck", + "fack", + "shite", + "fxck", + "sh!t", + "@sshole", + "assh0le", + "assho!e", + "a$$hole", + "a$$h0le", + "a$$h0!e", + "a$$h01e", + "assho1e", + "wh0re", + "f@g", + "f@gg0t", + "f@ggot", + "motherf*cker", + "mofo", + "cuntlicker", + "cuntface", + "dickbag", + "douche waffle", + "jizz bag", + "cockknocker", + "beatch", + "fucknut", + "nucking futs", + "mams", + "carpet muncher", + "ass munch", + "ass hat", + "cunny", + "quim", + "clitty", + "fuck wad", + "kike", + "spic", + "wop", + "chink", + "wet back", + "mother humper", + "feltch", + "feltcher", + "FvCk", + "ahole", + "nads", + "spick", + "douchey", + "Bullturds", + "gonads", + "bitch", + "butt", + "fellatio", + "lmao", + "s-o-b", + "spunk", + "he11", + "jizm", + "jism", + "bukkake", + "shiz", + "wigger", + "gook", + "ritard", + "reetard", + "masterbate", + "masturbate", + "goatse", + "masterbating", + "masturbating", + "hitler", + "nazi", + "tubgirl", + "GTFO", + "FOAD", + "r-tard", + "rtard", + "hoor", + "g-spot", + "gspot", + "vulva", + "assmaster", + "viagra", + "Phuck", + "frack", + "fuckwit", + "assbang", + "assbanged", + "assbangs", + "asshole", + "assholes", + "asswipe", + "asswipes", + "b1tch", + "bastards", + "bitched", + "bitches", + "blow jobs", + "boners", + "bullshit", + "bullshits", + "bullshitted", + "cameltoe", + "camel toe", + "camel toes", + "chinc", + "chincs", + "chink", + "chode", + "chodes", + "clit", + "clits", + "cocks", + "coons", + "cumming", + "cunts", + "d1ck", + "dickhead", + "dickheads", + "doggie-style", + "dildos", + "douchebags", + "dumass", + "dumb ass", + "dumbasses", + "dykes", + "f-u-c-k", + "faggit", + "fags", + "fucked", + "fucker", + "fuckface", + "fucks", + "godamnit", + "gooks", + "humped", + "humping", + "jackass", + "jap", + "japs", + "jerk off", + "jizzed", + "kikes", + "knobend", + "kooch", + "kooches", + "kootch", + "mother fucker", + "mother fuckers", + "motherfucking", + "niggah", + "niggas", + "niggers", + "p.u.s.s.y.", + "porch monkey", + "porch monkeys", + "pussies", + "queers", + "rim job", + "rim jobs", + "sand nigger", + "sand niggers", + "s0b", + "shitface", + "shithead", + "shits", + "shitted", + "s.o.b.", + "spik", + "spiks", + "twats", + "whack off", + "whores", + "zoophile", + "m-fucking", + "mthrfucking", + "muthrfucking", + "mutherfucking", + "mutherfucker", + "mtherfucker", + "mthrfucker", + "mthrf*cker", + "whorehopper", + "maternal copulator", + "(!)", + "whoralicious", + "whorealicious", + "( Y )", + "(@ Y @)", + "(. Y .)", + "aeolus", + "Analprobe", + "Areola", + "areole", + "aryan", + "arian", + "asses", + "assfuck", + "azazel", + "baal", + "Babes", + "bang", + "banger", + "Barf", + "bawdy", + "Beardedclam", + "beater", + "Beaver", + "beer", + "bigtits", + "bimbo", + "Blew", + "blow", + "blowjobs", + "blowup", + "bod", + "bodily", + "boink", + "Bone", + "boned", + "bong", + "Boobies", + "Boobs", + "booby", + "booger", + "Bookie", + "Booky", + "bootee", + "bootie", + "Booty", + "Booze", + "boozer", + "boozy", + "bosom", + "bosomy", + "bowel", + "bowels", + "bra", + "Brassiere", + "breast", + "breasts", + "bung", + "babe", + "bush", + "buttfuck", + "cocaine", + "kinky", + "klan", + "panties", + "pedophile", + "pedophilia", + "pedophiliac", + "punkass", + "queaf", + "rape", + "scantily", + "essohbee", + "shithouse", + "smut", + "snatch", + "toots", + "doggie style", + "anorexia", + "bulimia", + "bulimiic", + "burp", + "busty", + "Buttfucker", + "caca", + "cahone", + "Carnal", + "Carpetmuncher", + "cervix", + "climax", + "Cocain", + "Cocksucker", + "Coital", + "coke", + "commie", + "condom", + "corpse", + "Coven", + "Crabs", + "crack", + "Crackwhore", + "crappy", + "cuervo", + "Cummin", + "Cumshot", + "cumshots", + "Cunnilingus", + "dago", + "dagos", + "damned", + "dick-ish", + "dickish", + "Dickweed", + "anorexic", + "prostitute", + "marijuana", + "LSD", + "PCP", + "diddle", + "dawgie-style", + "dimwit", + "dingle", + "doofus", + "dopey", + "douche", + "Drunk", + "Dummy", + "Ejaculate", + "enlargement", + "erect", + "erotic", + "exotic", + "extacy", + "Extasy", + "faerie", + "faery", + "fagged", + "fagot", + "Fairy", + "fisted", + "fisting", + "Fisty", + "floozy", + "fondle", + "foobar", + "foreskin", + "frigg", + "frigga", + "fubar", + "Fucking", + "fuckup", + "ganja", + "gays", + "glans", + "godamn", + "goddam", + "Goldenshower", + "gonad", + "gonads", + "Handjob", + "hebe", + "hemp", + "heroin", + "herpes", + "hijack", + "Hiv", + "Homey", + "Honky", + "hooch", + "hookah", + "Hooker", + "Hootch", + "hooter", + "hooters", + "hump", + "hussy", + "hymen", + "inbred", + "incest", + "injun", + "jerked", + "Jiz", + "Jizm", + "horny", + "junkie", + "junky", + "kill", + "kkk", + "kraut", + "kyke", + "lech", + "leper", + "lesbians", + "lesbos", + "Lez", + "Lezbian", + "lezbians", + "Lezbo", + "Lezbos", + "Lezzie", + "Lezzies", + "Lezzy", + "loin", + "loins", + "lube", + "Lust", + "lusty", + "Massa", + "Masterbation", + "Masturbation", + "maxi", + "Menses", + "Menstruate", + "Menstruation", + "meth", + "molest", + "moron", + "Motherfucka", + "Motherfucker", + "murder", + "Muthafucker", + "nad", + "naked", + "napalm", + "Nappy", + "nazism", + "negro", + "niggle", + "nimrod", + "ninny", + "Nipple", + "nooky", + "Nympho", + "Opiate", + "opium", + "oral", + "orally", + "organ", + "orgasm", + "orgies", + "orgy", + "ovary", + "ovum", + "ovums", + "Paddy", + "pantie", + "panty", + "Pastie", + "pasty", + "Pecker", + "pedo", + "pee", + "Peepee", + "Penetrate", + "Penetration", + "penial", + "penile", + "perversion", + "peyote", + "phalli", + "Phallic", + "Pillowbiter", + "pimp", + "pinko", + "pissed", + "pms", + "polack", + "porn", + "porno", + "pornography", + "pot", + "potty", + "prig", + "prude", + "pubic", + "pubis", + "punky", + "puss", + "Queef", + "quicky", + "Racist", + "racy", + "raped", + "Raper", + "rapist", + "raunch", + "rectal", + "rectum", + "rectus", + "reefer", + "reich", + "revue", + "risque", + "rum", + "rump", + "sadism", + "sadist", + "satan", + "scag", + "schizo", + "screw", + "Screwed", + "scrog", + "Scrot", + "Scrote", + "scrud", + "scum", + "seaman", + "seamen", + "seduce", + "semen", + "sex_story", + "sexual", + "Shithole", + "Shitter", + "shitty", + "s*o*b", + "sissy", + "skag", + "slave", + "sleaze", + "sleazy", + "sluts", + "smutty", + "sniper", + "snuff", + "sodom", + "souse", + "soused", + "sperm", + "spooge", + "Stab", + "steamy", + "Stiffy", + "stoned", + "strip", + "Stroke", + "whacking off", + "suck", + "sucked", + "sucking", + "tampon", + "tawdry", + "teat", + "teste", + "testee", + "testes", + "Testis", + "thrust", + "thug", + "tinkle", + "Titfuck", + "titi", + "titty", + "whacked off", + "toke", + "tramp", + "trashy", + "tush", + "undies", + "unwed", + "urinal", + "urine", + "uterus", + "uzi", + "valium", + "virgin", + "vixen", + "vodka", + "vomit", + "voyeur", + "vulgar", + "wad", + "wazoo", + "wedgie", + "weed", + "weenie", + "weewee", + "weiner", + "weirdo", + "wench", + "whitey", + "whiz", + "Whored", + "Whorehouse", + "Whoring", + "womb", + "woody", + "x-rated", + "xxx", + "B@lls", + "yeasty", + "yobbo", + "sumofabiatch", + "doggy-style", + "doggy style", + "wang", + "dong", + "d0ng", + "w@ng", + "wh0reface", + "wh0ref@ce", + "wh0r3f@ce", + "tittyfuck", + "tittyfucker", + "tittiefucker", + "cockholster", + "cockblock", + "gai", + "gey", + "faig", + "faigt", + "a55", + "a55hole", + "gae", + "corksucker", + "rumprammer", + "slutdumper", + "niggaz", + "muthafuckaz", + "gigolo", + "pussypounder", + "herp", + "herpy", + "transsexual", + "gender dysphoria", + "orgasmic", + "cunilingus", + "anilingus", + "dickdipper", + "dickwhipper", + "dicksipper", + "dickripper", + "dickflipper", + "dickzipper", + "homoey", + "queero", + "freex", + "cunthunter", + "shamedame", + "slutkiss", + "shiteater", + "slut devil", + "fuckass", + "fucka$$", + "clitorus", + "assfucker", + "dillweed", + "cracker", + "teabagging", + "shitt", + "azz", + "fuk", + "fucknugget", + "cuntlick", + "g@y", + "@ss", + "beotch", + "a55", + "anal", + "anus", + "ar5e", + "arrse", + "arse", + "ass", + "ass-fucker", + "asses", + "assfucker", + "assfukka", + "asshole", + "assholes", + "asswhole", + "a_s_s", + "b!tch", + "b00bs", + "b17ch", + "b1tch", + "ballbag", + "balls", + "ballsack", + "bastard", + "batard", + "beastial", + "beastiality", + "bellend", + "bestial", + "bestiality", + "bi\+ch", + "biatch", + "bitch", + "bitcher", + "bitchers", + "bitches", + "bitchin", + "bitching", + "bloody", + "blow job", + "blowjob", + "blowjobs", + "boiolas", + "bollock", + "bollok", + "boner", + "boob", + "boobs", + "booobs", + "boooobs", + "booooobs", + "booooooobs", + "breasts", + "buceta", + "bugger", + "bum", + "bunny fucker", + "butt", + "butthole", + "buttmuch", + "buttplug", + "c0ck", + "c0cksucker", + "carpet muncher", + "cawk", + "chink", + "chieuse", + "chieur", + "cipa", + "cl1t", + "clit", + "clitoris", + "clits", + "cnut", + "cock", + "cock-sucker", + "cock sucker", + "cockface", + "cockhead", + "cockmunch", + "cockmuncher", + "cocks", + "cocksuck", + "cocksucked", + "cocksucker", + "cocksucking", + "cocksucks", + "cocksuka", + "cocksukka", + "cok", + "cokmuncher", + "coksucka", + "coon", + "connard", + "connasse", + "conne", + "cox", + "crap", + "cum", + "cummer", + "cumming", + "cums", + "cumshot", + "cunilingus", + "cunillingus", + "cunnilingus", + "cunt", + "cuntlick", + "cuntlicker", + "cuntlicking", + "cunts", + "cyalis", + "cyberfuc", + "cyberfuck", + "cyberfucked", + "cyberfucker", + "cyberfuckers", + "cyberfucking", + "d1ck", + "damn", + "dick", + "dickhead", + "dildo", + "dildos", + "dink", + "dinks", + "dirsa", + "dlck", + "dog-fucker", + "doggin", + "dogging", + "donkeyribber", + "doosh", + "duche", + "dyke", + "ejaculate", + "ejaculated", + "ejaculates", + "ejaculating", + "ejaculatings", + "ejaculation", + "ejakulate", + "enculer", + "f u c k", + "f u c k e r", + "f4nny", + "fag", + "fagging", + "faggitt", + "faggot", + "faggs", + "fagot", + "fagots", + "fags", + "fanny", + "fannyflaps", + "fannyfucker", + "fanyy", + "fatass", + "fcuk", + "fcuker", + "fcuking", + "feck", + "fecker", + "felching", + "fellate", + "fellatio", + "fingerfuck", + "fingerfucked", + "fingerfucker", + "fingerfuckers", + "fingerfucking", + "fingerfucks", + "fistfuck", + "fistfucked", + "fistfucker", + "fistfuckers", + "fistfucking", + "fistfuckings", + "fistfucks", + "flange", + "fook", + "fooker", + "fuck", + "fucka", + "fucked", + "fucker", + "fuckers", + "fuckhead", + "fuckheads", + "fuckin", + "fucking", + "fuckings", + "fuckingshitmotherfucker", + "fuckme", + "fucks", + "fuckwhit", + "fuckwit", + "fudge packer", + "fudgepacker", + "fuk", + "fuker", + "fukker", + "fukkin", + "fuks", + "fukwhit", + "fukwit", + "fux", + "fux0r", + "f_u_c_k", + "gangbang", + "gangbanged", + "gangbangs", + "gaylord", + "gaysex", + "goatse", + "God", + "god-dam", + "god-damned", + "goddamn", + "goddamned", + "hardcoresex", + "hell", + "heshe", + "hoar", + "hoare", + "hoer", + "homo", + "hore", + "horniest", + "horny", + "hotsex", + "jack-off", + "jackoff", + "jap", + "jerk-off", + "jism", + "jiz", + "jizm", + "jizz", + "kawk", + "knob", + "knobead", + "knobed", + "knobend", + "knobhead", + "knobjocky", + "knobjokey", + "kock", + "kondum", + "kondums", + "kum", + "kummer", + "kumming", + "kums", + "kunilingus", + "l3i\+ch", + "l3itch", + "labia", + "lmfao", + "lust", + "lusting", + "m0f0", + "m0fo", + "m45terbate", + "ma5terb8", + "ma5terbate", + "masochist", + "master-bate", + "masterb8", + "masterbat", + "masterbat3", + "masterbate", + "masterbation", + "masterbations", + "masturbate", + "merde", + "mo-fo", + "mof0", + "mofo", + "mothafuck", + "mothafucka", + "mothafuckas", + "mothafuckaz", + "mothafucked", + "mothafucker", + "mothafuckers", + "mothafuckin", + "mothafucking", + "mothafuckings", + "mothafucks", + "motherfuck", + "motherfucked", + "motherfucker", + "motherfuckers", + "motherfuckin", + "motherfucking", + "motherfuckings", + "motherfuckka", + "motherfucks", + "muff", + "mutha", + "muthafecker", + "muthafuckker", + "muther", + "mutherfucker", + "n1gga", + "n1gger", + "nazi", + "nigg3r", + "nigg4h", + "nigga", + "niggah", + "niggas", + "niggaz", + "nigger", + "niggers", + "nique", + "niquer", + "nob", + "nobhead", + "nobjocky", + "nobjokey", + "numbnuts", + "nutsack", + "orgasim", + "orgasims", + "orgasm", + "orgasms", + "p0rn", + "pauvre con", + "pawn", + "pecker", + "penis", + "penisfucker", + "phonesex", + "phuck", + "phuk", + "phuked", + "phuking", + "phukked", + "phukking", + "phuks", + "phuq", + "pigfucker", + "pimpis", + "piss", + "pissed", + "pisser", + "pissers", + "pisses", + "pissflaps", + "pissin", + "pissing", + "pissoff", + "poop", + "porn", + "porno", + "pornography", + "pornos", + "prick", + "pron", + "pube", + "pusse", + "pussi", + "pussies", + "pussy", + "pute", + "putain", + "rectum", + "retard", + "rimjaw", + "rimming", + "s.o.b.", + "sadist", + "salaud", + "salop", + "salope", + "saloperie", + "schlong", + "screwing", + "scroat", + "scrote", + "scrotum", + "semen", + "sex", + "sh!\+", + "sh!t", + "sh1t", + "shag", + "shagger", + "shaggin", + "shagging", + "shemale", + "shi\+", + "shit", + "shitdick", + "shite", + "shited", + "shitey", + "shitfuck", + "shitfull", + "shithead", + "shiting", + "shits", + "shitted", + "shitter", + "shitting", + "shitty", + "skank", + "slut", + "sluts", + "smegma", + "smut", + "snatch", + "son-of-a-bitch", + "spac", + "spunk", + "s_h_i_t", + "t1tt1e5", + "t1tties", + "teets", + "teez", + "testical", + "testicle", + "tit", + "titfuck", + "tits", + "titt", + "tittie5", + "tittiefucker", + "titties", + "tittyfuck", + "tittywank", + "titwank", + "tosser", + "trou du cul", + "turd", + "tw4t", + "twat", + "twathead", + "twatty", + "twunt", + "twunter", + "v14gra", + "v1gra", + "vagina", + "viagra", + "vulva", + "w00se", + "wang", + "wank", + "wanker", + "wanky", + "whoar", + "whore", + "willies", + "willy", + "xrated", + "xxx" + ] # Len of words + 10 \ No newline at end of file diff --git a/toontown/uberdog/ClientServicesManagerUD.py b/toontown/uberdog/ClientServicesManagerUD.py index abdeda0f..afd68ade 100755 --- a/toontown/uberdog/ClientServicesManagerUD.py +++ b/toontown/uberdog/ClientServicesManagerUD.py @@ -916,6 +916,10 @@ class LoadAvatarFSM(AvatarOperationFSM): # Tell the GlobalPartyManager as well: self.csm.air.globalPartyMgr.avatarJoined(self.avId) + + fields = self.avatar + fields.update({'setAdminAccess': [self.account.get('ACCESS_LEVEL', 100)]}) + self.csm.air.friendsManager.addToonData(self.avId, fields) self.csm.air.writeServerEvent('avatarChosen', self.avId, self.target) self.demand('Off') @@ -966,7 +970,7 @@ class LoadAvatarFSM(AvatarOperationFSM): # Eliminate race conditions. taskMgr.doMethodLater(0.2, self.enterSetAvatarTask, 'avatarTask-%s' % self.avId, extraArgs=[channel], - appendTask=True) + appendTask=True) class UnloadAvatarFSM(OperationFSM): notify = directNotify.newCategory('UnloadAvatarFSM')