From dae05be18b76cfdb000412b3cad85c13fb6d4209 Mon Sep 17 00:00:00 2001 From: Rory Hinnen Date: Sat, 11 Jul 2026 13:23:07 -0500 Subject: [PATCH] now uses a json file for word structure --- .../Interject!.xcodeproj/project.pbxproj | 4 + .../UserInterfaceState.xcuserstate | Bin 15096 -> 16892 bytes interject/Interject!/Model/Words.swift | 265 ++---------------- interject/Interject!/words.json | 241 ++++++++++++++++ 4 files changed, 264 insertions(+), 246 deletions(-) create mode 100644 interject/Interject!/words.json diff --git a/interject/Interject!.xcodeproj/project.pbxproj b/interject/Interject!.xcodeproj/project.pbxproj index e91926e..0a13cd2 100644 --- a/interject/Interject!.xcodeproj/project.pbxproj +++ b/interject/Interject!.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 762C51AA2BCB4305000689D9 /* Products.plist in Resources */ = {isa = PBXBuildFile; fileRef = 762C51A92BCB4305000689D9 /* Products.plist */; }; 762C51AC2BCC5C06000689D9 /* ListCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 762C51AB2BCC5C06000689D9 /* ListCellView.swift */; }; 762C51AE2BCC9C52000689D9 /* BuyButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 762C51AD2BCC9C52000689D9 /* BuyButtonStyle.swift */; }; + 765F5A4C30029EC8004C2F29 /* words.json in Resources */ = {isa = PBXBuildFile; fileRef = 765F5A4B30029EC7004C2F29 /* words.json */; }; 76CBBDC22BD46EA10019C344 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 76CBBDC12BD46EA10019C344 /* PrivacyInfo.xcprivacy */; }; 981334CE2754530100E9E53A /* WordView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981334CD2754530100E9E53A /* WordView.swift */; }; 9814700D286162030097E0A7 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9814700C286162030097E0A7 /* Utils.swift */; }; @@ -75,6 +76,7 @@ 762C51A92BCB4305000689D9 /* Products.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Products.plist; sourceTree = ""; }; 762C51AB2BCC5C06000689D9 /* ListCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListCellView.swift; sourceTree = ""; }; 762C51AD2BCC9C52000689D9 /* BuyButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuyButtonStyle.swift; sourceTree = ""; }; + 765F5A4B30029EC7004C2F29 /* words.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = words.json; sourceTree = ""; }; 76C445E02BDD4DE30033B339 /* Messages.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Messages.framework; path = System/Library/Frameworks/Messages.framework; sourceTree = SDKROOT; }; 76CBBDC12BD46EA10019C344 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; 981334CD2754530100E9E53A /* WordView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordView.swift; sourceTree = ""; }; @@ -185,6 +187,7 @@ 762C51A52BCADA1C000689D9 /* Products.storekit */, 762C51A92BCB4305000689D9 /* Products.plist */, 76CBBDC12BD46EA10019C344 /* PrivacyInfo.xcprivacy */, + 765F5A4B30029EC7004C2F29 /* words.json */, ); path = "Interject!"; sourceTree = ""; @@ -349,6 +352,7 @@ 762C51AA2BCB4305000689D9 /* Products.plist in Resources */, 98D0A2B027471FF90084F7F9 /* Preview Assets.xcassets in Resources */, 98D0A2AD27471FF90084F7F9 /* Assets.xcassets in Resources */, + 765F5A4C30029EC8004C2F29 /* words.json in Resources */, 76CBBDC22BD46EA10019C344 /* PrivacyInfo.xcprivacy in Resources */, 762C51A62BCADA1C000689D9 /* Products.storekit in Resources */, ); diff --git a/interject/Interject!.xcodeproj/project.xcworkspace/xcuserdata/roryhinnen.xcuserdatad/UserInterfaceState.xcuserstate b/interject/Interject!.xcodeproj/project.xcworkspace/xcuserdata/roryhinnen.xcuserdatad/UserInterfaceState.xcuserstate index 3d8be01e36dacc3a9f249033140077ddd22034e8..dcaf34d574617b1932e687099cd1986d62f87ae5 100644 GIT binary patch delta 9074 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 Id%~6f0Uk^6K>z>% delta 7304 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 diff --git a/interject/Interject!/Model/Words.swift b/interject/Interject!/Model/Words.swift index de291b0..71da3ba 100644 --- a/interject/Interject!/Model/Words.swift +++ b/interject/Interject!/Model/Words.swift @@ -245,6 +245,7 @@ class Sentence: NSObject, Codable { return noun.word(safe) } } + func definition(_ place: Place, safe: Bool) -> String { switch place { case .first: @@ -254,255 +255,27 @@ class Sentence: NSObject, Codable { case .noun: return noun.definition(safe) } - } } +private struct WordList: Codable { + let first: [Entry] + let adjectives: [Entry] + let nouns: [Entry] +} + extension Sentence { // MARK: Create the pool of words - // first are words that will only be in adjective one. There should be a better - // algorithm for sorting these, that will come soon. - // adjectives are words that can be in adjective one or two. - // nouns are words that can only be a noun - static var first = [ - Entry(nsfw: nil, nsfwMeaning: nil, word: "absolute", meaning: "The most extreme example"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "complete", meaning: "The most extreme example"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "utter", meaning: "The most extreme example") - ] - - static var adjectives = [ - Entry(nsfw: nil, nsfwMeaning: nil, word: "artless", meaning: "Without craft or intelligence"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "base-court", meaning: "From the lower English court, common"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bat-fowling", meaning: "An archaic method of bird hunting, like fishing from a barrel"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bawdy", meaning: "Humorously indecent"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bawheeded", meaning: "A person who speaks nonsense"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "beef-witted", meaning: "Brainless, a meat head"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "beetle-headed", meaning: "Witless"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "beslubbering", meaning: "Drooling"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bloomin’", meaning: "For emphasis"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "boil-brained", meaning: "Filled with thoughts of pestilence and misery"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bootless", meaning: "Common, or poor"), - Entry(nsfw: "pussy grabbing", nsfwMeaning: "A conman", word: "cat grabbing", meaning: "A man who respects women, and is always concerned for their well being"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "churlish", meaning: "Intentionally rude"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clapper-clawed", meaning: "Brutish, all hands"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clarted", meaning: "Mud covered"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clatty", meaning: "Dirty, slovely, cluttered"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clay-brained", meaning: "Rock head"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clouted", meaning: "Senseless, reeling from being beat"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "cockered", meaning: "Spoiled"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "common-kissing", meaning: "Rogue, a rascal, grabs others without permission"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "craven", meaning: "Cowardly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "crook-pated", meaning: "A thug, a thief who takes by violence"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "currish", meaning: "Like a feral dog, wild and snappish"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "daft", meaning: "Silly, foolish"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dankish", meaning: "Dark, damp, humid"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dismal-dreaming", meaning: "A person with foul and depressing dreams or goals"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dissembling", meaning: "A rambling liar"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dizzy-eyed", meaning: "Easily distracted"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "doaty", meaning: "A malingerer, one who obsesses over unimportant things"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "doddering", meaning: "Someone who rambles on, complaining of witchhunts and fake news"), - Entry(nsfw: "dog fucking", nsfwMeaning: nil, word: "dog loving", meaning: "Low standards"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "doghearted", meaning: "Inhuman, cruel"), - Entry(nsfw: "knobdobbing", nsfwMeaning: nil, word: "door knobbing", meaning: "Dickish"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dread-bolted", meaning: "Frightning, terrifying"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "droning", meaning: "One who goes on and on, monotonous, boring and obsessive"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "earth-vexing", meaning: "Causes pain to all around"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "elf-skinned", meaning: "Shrunken, tiny, a mere nothing"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "errant", meaning: "One who wanders from what is right"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fat-kidneyed", meaning: "Gross, clumsy"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fawning", meaning: "Obsequious"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fen-sucked", meaning: "Rising from the marshes"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fly-bitten", meaning: "Marked by fly bites, wild and unkempt"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fobbing", meaning: "A con man, a cheat"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "folly-fallen", meaning: "Stooping to foolishness"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fool-born", meaning: "A second-generation fool"), - Entry(nsfw: "fucking", nsfwMeaning: "An old germanic word", word: "freaking", meaning: "A bad word"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "frothy", meaning: "Of little substance, foolish"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "froward", meaning: "A contrary person, difficult to deal with"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fuddy", meaning: "Stuffy and old fashioned"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "full-gorged", meaning: "Well fed"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "glaikit", meaning: "Foolish, giddy"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "glakit", meaning: "Unsightly and stupid"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gleeking", meaning: "Spitting"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "goatish", meaning: "Goatlike in manners"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gommy", meaning: "Idiotic, mammering"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gorbellied", meaning: "Corpulent"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gormless", meaning: "Stupid or dull, lacking in gorm"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "guts-griping", meaning: "Belly aching"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "hackit", meaning: "Ugly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "half-faced", meaning: "Imperfect, incomplete, defective"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "hasty-witted", meaning: "Shallow"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "hedge-born", meaning: "Of low birth"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "hell-hated", meaning: "Even despised by the Devil"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "howlin’", meaning: "Complaining, waling"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "idle-headed", meaning: "Stupid"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "ill-bred", meaning: "Lacking class"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "ill-nurtured", meaning: "Ill bred, raised common"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "impertinent", meaning: "Not respectful, rude"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "infectious", meaning: "Likely to spread infection"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "jakey", meaning: "A drunken tramp"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "jarring", meaning: "Incongruous, ill fitting"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "knotty-pated", meaning: "Easily distracted"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "lavvy-heided", meaning: "Toilet headed"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "loggerheaded", meaning: "Block headed"), - Entry(nsfw: nil, nsfwMeaning: "Orange, and pocked", word: "loofa-faced", meaning: "Pale and pocked"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "lumpish", meaning: "Roughly or crudely formed"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "malodorous", meaning: "Bad smelling"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "mammering", meaning: "To mumble endlessly without point"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "mangled", meaning: "Disfigured"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "mewling", meaning: "Whimpering"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "milk-livered", meaning: "Gutless, cowardly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "mingin’", meaning: "Foul smelling"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "motley minded", meaning: "Foolish"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "naffy", meaning: "Self centered fop"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "onion-eyed", meaning: "One so ugly they make your eyes water"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "paunchy", meaning: "Pot bellied"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pencil-necked", meaning: "Skinny, useless, annoying, weak"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "plume-plucked", meaning: "Humbled"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pottle-deep", meaning: "Drunken, one who has emptied the dregs of his drink"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pox-marked", meaning: "Pitted skin, marked with pox"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pribbling", meaning: "A quibbler who argues just to argue"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "puking", meaning: "Nauseating"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "puny", meaning: "Small and weak"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "qualling", meaning: "Quail like, cowardly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "rank", meaning: "Low or vile, stinking"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "reeky", meaning: "Stinky"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "reeling-ripe", meaning: "Smelly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "roguish", meaning: "Loutish, and not in a good way"), - Entry(nsfw: "cock-juggling", nsfwMeaning: "A promiscous person", word: "rooster juggling", meaning: "A fowl manager"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "rude-growing", meaning: "Rough and wild"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "rump-fed", meaning: "Pampered"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "ruttish", meaning: "Salacious, lascivious"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "saucy", meaning: "Lascivious, salacious"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "scabby", meaning: "Covered in scars, ugly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "shard borne", meaning: "Born in dung"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "sheep-biting", meaning: "A person who preys on the defenseless"), - Entry(nsfw: nil, nsfwMeaning: "Refering to the size of one's third leg", word: "small-handed", meaning: "An observation regarding one's manliness"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "spleeny", meaning: "Having a lot of spleen"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "spongy", meaning: "Soft headed"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "spur-galled", meaning: "Ridden hard, put away wet, worn out"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "straw-headed", meaning: "A numpty"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "surly", meaning: "One of the dwarfs"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "swag-bellied", meaning: "Well fed, a golf course owner"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "swollen", meaning: "Distended, fat, puffy"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "tardy-gaited", meaning: "Sluggish"), - Entry(nsfw: nil, nsfwMeaning: "As reported by Stormy Daniels", word: "three-inched", meaning: "An observation regarding one's manliness"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "tickle-brained", meaning: "Flighty, unreliable, probably a drunk"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "toad-spotted", meaning: "Spotted like a toad"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "toffee-nosed", meaning: "Having a soft, brown nose"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "tottering", meaning: "Doddering"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "unchin-snouted", meaning: "A face like a hedgehog"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "unmuzzled", meaning: "Unrestrained, obnoxiously capricious"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "vacuous", meaning: "Empty headed"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "vain", meaning: "Self obsessed"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "venomed", meaning: "Poisonous"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "villianous", meaning: "Evil"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "warped", meaning: "Bent, bad"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "wayward", meaning: "Errant"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "weapons-grade", meaning: "The most extreme example of"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "weather-bitten", meaning: "Scarred by a life outside"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "weedy", meaning: "Thin"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "witless", meaning: "Uhh.."), - Entry(nsfw: nil, nsfwMeaning: nil, word: "yeasty", meaning: "Pale and soft") - ] - - static var nouns = [ - Entry(nsfw: nil, nsfwMeaning: nil, word: "apple john", meaning: "Withered"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "arse", meaning: "That thing you sit on"), - Entry(nsfw: "cocksplat", nsfwMeaning: "The money shot", word: "babysplat" , meaning: "Everywhere. Just everywhere"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "baggage", meaning: "A person you would rather not carry"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bampot", meaning: "An idiot"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "barnacle", meaning: "A clingy person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bassa", meaning: "Bastard"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bawbag", meaning: "An annoying person, a sack"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bladder", meaning: "A bag of urine"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "boaby", meaning: "Penis"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "boar-pig", meaning: "A pig"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bugbear", meaning: "A hobgoblin bogeyman"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bull’s pizzle", meaning: "Pizzle from a bull"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "bum-ailey", meaning: "A bad cop"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "canker blossom", meaning: "A common person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clack-dish", meaning: "A beggars bowl"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clawbaw", meaning: "A person who keeps their hands in thier pockets"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "clotpole", meaning: "A foolish person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "cockwomble", meaning: "A foolish or obnoxious person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "codpiece", meaning: "A flap of cloth covering one’s cod"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "coxcomb", meaning: "A dandy, vain and conceited"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "death-token", meaning: "A sign of impending death"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dewberry", meaning: "A species of berry"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "diddy", meaning: "A tit"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dobber", meaning: "A tool, a member"), - Entry(nsfw: "dog-fucker", nsfwMeaning: "A classless heel", word: "dog-lover", meaning: "An individual of low standards"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "doiley", meaning: "A foolish old person"), - Entry(nsfw: "dickweed", nsfwMeaning: nil, word: "dorkweed", meaning: "Not a swearword"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "dottard", meaning: "A decript senior as identified by the Leader of North Korea"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "doughnut", meaning: "A person with a hole in their head, witless"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "eejit", meaning: "An idiot"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fannybaws", meaning: "A twat"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "flap-dragon", meaning: "A raisin floating in a lit glass of rum"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "flax-wench", meaning: "A prostitute"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "flirt gill", meaning: "A wanton person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "foot-licker", meaning: "A syncophant"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fud", meaning: "Female genitalia, but more likely a person who does blindingly stupid things"), - Entry(nsfw: "fucknugget", nsfwMeaning: "The consequences of sex", word: "fudge-nugget", meaning: "Mmmm. Fudge"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "fustilarian", meaning: "A scoundrel, but not a space smuggler"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "geek", meaning: "Not athletic, a programmer"), - Entry(nsfw: "shit-gibbon", nsfwMeaning: "A monkey who flings shit", word: "gibbon", meaning: "A monkey"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "giglet", meaning: "A lascivious girl"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gobshite", meaning: "A natterer, one who doesn’t know how to shut"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gowk", meaning: "An awkward or foolish person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "gudgeon", meaning: "A foolish person, gullible"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "haggard", meaning: "A worn out person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "harpy", meaning: "Virginia Woolf"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "hedge-pig", meaning: "Hedgehog, prickly"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "horn-beast", meaning: "Easily enraged, bestial"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "hugger mugger", meaning: "A pretender"), - Entry(nsfw: "jizztrumpet", nsfwMeaning: "Someone who plays a trumpet of jizz", word: "jazztrumpet", meaning: "Not Miles Davis"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "jobby", meaning: "Feces, junk"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "joithead", meaning: "A hothead"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "lewdster", meaning: "A lecher, a lewd person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "lickspittle", meaning: "A weak-willed flatterer"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "lout", meaning: "An uncouth, aggressive man"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "maggot-pie", meaning: "A pie of maggots"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "malt-worm", meaning: "A drunkard"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "mammet", meaning: "A scarecrow"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "measle", meaning: "A leper"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "midden", meaning: "A trash heap, a dung hill"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "minnow", meaning: "A small fish in a big pond"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "miscreant", meaning: "A wicked, sinful person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "moldwarp", meaning: "A mud thrower, a politician"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "moron", meaning: "Intentionally ignorant"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "mumble-news", meaning: "A gossiper, a tattler"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "nimrod", meaning: "A mighty hunter. Not what you expected, is it?"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "numpty", meaning: "A stupid, useless person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "nut-hook", meaning: "A constable, an officer"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "nyaff", meaning: "A stupid, irritating person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pervert", meaning: "Deviant sexual standards"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pigeon-egg", meaning: "A small useless thing"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pignut", meaning: "An ugly tuber"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "plamf", meaning: "An underwear sniffer"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "plum", meaning: "A person who says or does stupid things"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "pumpion", meaning: "A person who makes a fool of themselves"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "puttock", meaning: "A greedy, rapacious person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "ratsbane", meaning: "Rat poisioner"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "roaster", meaning: "A person who makes a fool of themselves"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "rocket", meaning: "An idiot"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "scunner", meaning: "Disgusting, unlikeable"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "scut", meaning: "A foolish or contemptible person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "skainsmate", meaning: "A shipboard companion"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "strumpet", meaning: "A promiscuous person, a prostitute"), - Entry(nsfw: "thundercunt", nsfwMeaning:"Queefing genitalia", word: "thundercat", meaning: "A cartoon from the 70's"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "tube", meaning: "The cave where you conquer the fear"), - Entry(nsfw: "shit-tobogganist", nsfwMeaning: "A person who creates chaos just because they fucking love it", word: "turd-tobogganist", meaning: "A person who likes to create discord"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "twally-washer", meaning: "Someone who cleans twallies orally"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "twit", meaning: "A annoying, stupid person. Oliver St. John-Mollusc"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "twonk", meaning: "A stupid person"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "varlot", meaning: "A punk"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "vassal", meaning: "A subordinant, servile"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "wagtail", meaning: "A syncophant"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "walloper", meaning: "A male member"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "whalluper", meaning: "A male member"), - Entry(nsfw: nil, nsfwMeaning: nil, word: "whey-face", meaning: "Pale of face, sickly") - ] -} + private static let wordList: WordList = { + guard let url = Bundle.main.url(forResource: "words", withExtension: "json"), + let data = try? Data(contentsOf: url), + let list = try? JSONDecoder().decode(WordList.self, from: data) else { + fatalError("words.json missing or malformed in bundle") + } + return list + }() + static var first: [Entry] { wordList.first } + static var adjectives: [Entry] { wordList.adjectives } + static var nouns: [Entry] { wordList.nouns } +} diff --git a/interject/Interject!/words.json b/interject/Interject!/words.json new file mode 100644 index 0000000..71d864d --- /dev/null +++ b/interject/Interject!/words.json @@ -0,0 +1,241 @@ +{ + "first": [ + {"word": "absolute", "meaning": "The most extreme example"}, + {"word": "complete", "meaning": "The most extreme example"}, + {"word": "utter", "meaning": "The most extreme example"} + ], + "adjectives": [ + {"word": "artless", "meaning": "Without craft or intelligence"}, + {"word": "base-court", "meaning": "From the lower English court, common"}, + {"word": "bat-fowling", "meaning": "An archaic method of bird hunting, like fishing from a barrel"}, + {"word": "bawdy", "meaning": "Humorously indecent"}, + {"word": "bawheeded", "meaning": "A person who speaks nonsense"}, + {"word": "beef-witted", "meaning": "Brainless, a meat head"}, + {"word": "beetle-headed", "meaning": "Witless"}, + {"word": "beslubbering", "meaning": "Drooling"}, + {"word": "bloomin'", "meaning": "For emphasis"}, + {"word": "boil-brained", "meaning": "Filled with thoughts of pestilence and misery"}, + {"word": "bootless", "meaning": "Common, or poor"}, + {"word": "cat grabbing", "meaning": "A man who respects women, and is always concerned for their well being", "nsfw": "pussy grabbing", "nsfwMeaning": "A conman"}, + {"word": "churlish", "meaning": "Intentionally rude"}, + {"word": "clapper-clawed", "meaning": "Brutish, all hands"}, + {"word": "clarted", "meaning": "Mud covered"}, + {"word": "clatty", "meaning": "Dirty, slovely, cluttered"}, + {"word": "clay-brained", "meaning": "Rock head"}, + {"word": "clouted", "meaning": "Senseless, reeling from being beat"}, + {"word": "cockered", "meaning": "Spoiled"}, + {"word": "couch-loving", "meaning": "A less than attractive person", "nsfw": "couch-fucking", "nsfwMeaning":, "J.D. Vance"}, + {"word": "common-kissing", "meaning": "Rogue, a rascal, grabs others without permission"}, + {"word": "craven", "meaning": "Cowardly"}, + {"word": "crook-pated", "meaning": "A thug, a thief who takes by violence"}, + {"word": "currish", "meaning": "Like a feral dog, wild and snappish"}, + {"word": "daft", "meaning": "Silly, foolish"}, + {"word": "dankish", "meaning": "Dark, damp, humid"}, + {"word": "dismal-dreaming", "meaning": "A person with foul and depressing dreams or goals"}, + {"word": "dissembling", "meaning": "A rambling liar"}, + {"word": "dizzy-eyed", "meaning": "Easily distracted"}, + {"word": "doaty", "meaning": "A malingerer, one who obsesses over unimportant things"}, + {"word": "doddering", "meaning": "Someone who rambles on, complaining of witchhunts and fake news"}, + {"word": "dog loving", "meaning": "Low standards", "nsfw": "dog fucking"}, + {"word": "doghearted", "meaning": "Inhuman, cruel"}, + {"word": "door knobbing", "meaning": "Dickish", "nsfw": "knobdobbing"}, + {"word": "dread-bolted", "meaning": "Frightning, terrifying"}, + {"word": "droning", "meaning": "One who goes on and on, monotonous, boring and obsessive"}, + {"word": "earth-vexing", "meaning": "Causes pain to all around"}, + {"word": "elf-skinned", "meaning": "Shrunken, tiny, a mere nothing"}, + {"word": "errant", "meaning": "One who wanders from what is right"}, + {"word": "fat-kidneyed", "meaning": "Gross, clumsy"}, + {"word": "fawning", "meaning": "Obsequious"}, + {"word": "fen-sucked", "meaning": "Rising from the marshes"}, + {"word": "fly-bitten", "meaning": "Marked by fly bites, wild and unkempt"}, + {"word": "fobbing", "meaning": "A con man, a cheat"}, + {"word": "folly-fallen", "meaning": "Stooping to foolishness"}, + {"word": "fool-born", "meaning": "A second-generation fool"}, + {"word": "freaking", "meaning": "A bad word", "nsfw": "fucking", "nsfwMeaning": "An old germanic word"}, + {"word": "frothy", "meaning": "Of little substance, foolish"}, + {"word": "froward", "meaning": "A contrary person, difficult to deal with"}, + {"word": "fuddy", "meaning": "Stuffy and old fashioned"}, + {"word": "full-gorged", "meaning": "Well fed"}, + {"word": "glaikit", "meaning": "Foolish, giddy"}, + {"word": "glakit", "meaning": "Unsightly and stupid"}, + {"word": "gleeking", "meaning": "Spitting"}, + {"word": "goatish", "meaning": "Goatlike in manners"}, + {"word": "gommy", "meaning": "Idiotic, mammering"}, + {"word": "gorbellied", "meaning": "Corpulent"}, + {"word": "gormless", "meaning": "Stupid or dull, lacking in gorm"}, + {"word": "guts-griping", "meaning": "Belly aching"}, + {"word": "hackit", "meaning": "Ugly"}, + {"word": "half-faced", "meaning": "Imperfect, incomplete, defective"}, + {"word": "hasty-witted", "meaning": "Shallow"}, + {"word": "hedge-born", "meaning": "Of low birth"}, + {"word": "hell-hated", "meaning": "Even despised by the Devil"}, + {"word": "howlin'", "meaning": "Complaining, waling"}, + {"word": "idle-headed", "meaning": "Stupid"}, + {"word": "ill-bred", "meaning": "Lacking class"}, + {"word": "ill-nurtured", "meaning": "Ill bred, raised common"}, + {"word": "impertinent", "meaning": "Not respectful, rude"}, + {"word": "infectious", "meaning": "Likely to spread infection"}, + {"word": "jakey", "meaning": "A drunken tramp"}, + {"word": "jarring", "meaning": "Incongruous, ill fitting"}, + {"word": "knotty-pated", "meaning": "Easily distracted"}, + {"word": "lavvy-heided", "meaning": "Toilet headed"}, + {"word": "loggerheaded", "meaning": "Block headed"}, + {"word": "loofa-faced", "meaning": "Pale and pocked", "nsfwMeaning": "Orange, and pocked"}, + {"word": "lumpish", "meaning": "Roughly or crudely formed"}, + {"word": "malodorous", "meaning": "Bad smelling"}, + {"word": "mammering", "meaning": "To mumble endlessly without point"}, + {"word": "mangled", "meaning": "Disfigured"}, + {"word": "mewling", "meaning": "Whimpering"}, + {"word": "milk-livered", "meaning": "Gutless, cowardly"}, + {"word": "mingin'", "meaning": "Foul smelling"}, + {"word": "motley minded", "meaning": "Foolish"}, + {"word": "naffy", "meaning": "Self centered fop"}, + {"word": "onion-eyed", "meaning": "One so ugly they make your eyes water"}, + {"word": "paunchy", "meaning": "Pot bellied"}, + {"word": "pencil-necked", "meaning": "Skinny, useless, annoying, weak"}, + {"word": "plume-plucked", "meaning": "Humbled"}, + {"word": "pottle-deep", "meaning": "Drunken, one who has emptied the dregs of his drink"}, + {"word": "pox-marked", "meaning": "Pitted skin, marked with pox"}, + {"word": "pribbling", "meaning": "A quibbler who argues just to argue"}, + {"word": "puking", "meaning": "Nauseating"}, + {"word": "puny", "meaning": "Small and weak"}, + {"word": "qualling", "meaning": "Quail like, cowardly"}, + {"word": "rank", "meaning": "Low or vile, stinking"}, + {"word": "reeky", "meaning": "Stinky"}, + {"word": "reeling-ripe", "meaning": "Smelly"}, + {"word": "roguish", "meaning": "Loutish, and not in a good way"}, + {"word": "rooster juggling", "meaning": "A fowl manager", "nsfw": "cock-juggling", "nsfwMeaning": "A promiscous person"}, + {"word": "rude-growing", "meaning": "Rough and wild"}, + {"word": "rump-fed", "meaning": "Pampered"}, + {"word": "ruttish", "meaning": "Salacious, lascivious"}, + {"word": "saucy", "meaning": "Lascivious, salacious"}, + {"word": "scabby", "meaning": "Covered in scars, ugly"}, + {"word": "shard borne", "meaning": "Born in dung"}, + {"word": "sheep-biting", "meaning": "A person who preys on the defenseless"}, + {"word": "small-handed", "meaning": "An observation regarding one's manliness", "nsfwMeaning": "Refering to the size of one's third leg"}, + {"word": "spleeny", "meaning": "Having a lot of spleen"}, + {"word": "spongy", "meaning": "Soft headed"}, + {"word": "spur-galled", "meaning": "Ridden hard, put away wet, worn out"}, + {"word": "straw-headed", "meaning": "A numpty"}, + {"word": "surly", "meaning": "One of the dwarfs"}, + {"word": "swag-bellied", "meaning": "Well fed, a golf course owner"}, + {"word": "swollen", "meaning": "Distended, fat, puffy"}, + {"word": "tardy-gaited", "meaning": "Sluggish"}, + {"word": "three-inched", "meaning": "An observation regarding one's manliness", "nsfwMeaning": "As reported by Stormy Daniels"}, + {"word": "tickle-brained", "meaning": "Flighty, unreliable, probably a drunk"}, + {"word": "toad-spotted", "meaning": "Spotted like a toad"}, + {"word": "toffee-nosed", "meaning": "Having a soft, brown nose"}, + {"word": "tottering", "meaning": "Doddering"}, + {"word": "unchin-snouted", "meaning": "A face like a hedgehog"}, + {"word": "unmuzzled", "meaning": "Unrestrained, obnoxiously capricious"}, + {"word": "vacuous", "meaning": "Empty headed"}, + {"word": "vain", "meaning": "Self obsessed"}, + {"word": "venomed", "meaning": "Poisonous"}, + {"word": "villianous", "meaning": "Evil"}, + {"word": "warped", "meaning": "Bent, bad"}, + {"word": "wayward", "meaning": "Errant"}, + {"word": "weapons-grade", "meaning": "The most extreme example of"}, + {"word": "weather-bitten", "meaning": "Scarred by a life outside"}, + {"word": "weedy", "meaning": "Thin"}, + {"word": "witless", "meaning": "Uhh.."}, + {"word": "yeasty", "meaning": "Pale and soft"} + ], + "nouns": [ + {"word": "apple john", "meaning": "Withered"}, + {"word": "arse", "meaning": "That thing you sit on"}, + {"word": "babysplat", "meaning": "Everywhere. Just everywhere", "nsfw": "cocksplat", "nsfwMeaning": "The money shot"}, + {"word": "baggage", "meaning": "A person you would rather not carry"}, + {"word": "bampot", "meaning": "An idiot"}, + {"word": "barnacle", "meaning": "A clingy person"}, + {"word": "bassa", "meaning": "Bastard"}, + {"word": "bawbag", "meaning": "An annoying person, a sack"}, + {"word": "bladder", "meaning": "A bag of urine"}, + {"word": "boaby", "meaning": "Penis"}, + {"word": "boar-pig", "meaning": "A pig"}, + {"word": "bugbear", "meaning": "A hobgoblin bogeyman"}, + {"word": "bull's pizzle", "meaning": "Pizzle from a bull"}, + {"word": "bum-ailey", "meaning": "A bad cop"}, + {"word": "canker blossom", "meaning": "A common person"}, + {"word": "clack-dish", "meaning": "A beggars bowl"}, + {"word": "clawbaw", "meaning": "A person who keeps their hands in thier pockets"}, + {"word": "clotpole", "meaning": "A foolish person"}, + {"word": "cockwomble", "meaning": "A foolish or obnoxious person"}, + {"word": "codpiece", "meaning": "A flap of cloth covering one's cod"}, + {"word": "coxcomb", "meaning": "A dandy, vain and conceited"}, + {"word": "death-token", "meaning": "A sign of impending death"}, + {"word": "dewberry", "meaning": "A species of berry"}, + {"word": "diddy", "meaning": "A tit"}, + {"word": "dobber", "meaning": "A tool, a member"}, + {"word": "dog-lover", "meaning": "An individual of low standards", "nsfw": "dog-fucker", "nsfwMeaning": "A classless heel"}, + {"word": "doiley", "meaning": "A foolish old person"}, + {"word": "dorkweed", "meaning": "Not a swearword", "nsfw": "dickweed"}, + {"word": "dottard", "meaning": "A decript senior as identified by the Leader of North Korea"}, + {"word": "doughnut", "meaning": "A person with a hole in their head, witless"}, + {"word": "eejit", "meaning": "An idiot"}, + {"word": "fannybaws", "meaning": "A twat"}, + {"word": "flap-dragon", "meaning": "A raisin floating in a lit glass of rum"}, + {"word": "flax-wench", "meaning": "A prostitute"}, + {"word": "flirt gill", "meaning": "A wanton person"}, + {"word": "foot-licker", "meaning": "A syncophant"}, + {"word": "fud", "meaning": "Female genitalia, but more likely a person who does blindingly stupid things"}, + {"word": "fudge-nugget", "meaning": "Mmmm. Fudge", "nsfw": "fucknugget", "nsfwMeaning": "The consequences of sex"}, + {"word": "fustilarian", "meaning": "A scoundrel, but not a space smuggler"}, + {"word": "geek", "meaning": "Not athletic, a programmer"}, + {"word": "gibbon", "meaning": "A monkey", "nsfw": "shit-gibbon", "nsfwMeaning": "A monkey who flings shit"}, + {"word": "giglet", "meaning": "A lascivious girl"}, + {"word": "gobshite", "meaning": "A natterer, one who doesn't know how to shut"}, + {"word": "gowk", "meaning": "An awkward or foolish person"}, + {"word": "gudgeon", "meaning": "A foolish person, gullible"}, + {"word": "haggard", "meaning": "A worn out person"}, + {"word": "harpy", "meaning": "Virginia Woolf"}, + {"word": "hedge-pig", "meaning": "Hedgehog, prickly"}, + {"word": "horn-beast", "meaning": "Easily enraged, bestial"}, + {"word": "hugger mugger", "meaning": "A pretender"}, + {"word": "jazztrumpet", "meaning": "Not Miles Davis", "nsfw": "jizztrumpet", "nsfwMeaning": "Someone who plays a trumpet of jizz"}, + {"word": "jobby", "meaning": "Feces, junk"}, + {"word": "joithead", "meaning": "A hothead"}, + {"word": "lewdster", "meaning": "A lecher, a lewd person"}, + {"word": "lickspittle", "meaning": "A weak-willed flatterer"}, + {"word": "lout", "meaning": "An uncouth, aggressive man"}, + {"word": "maggot-pie", "meaning": "A pie of maggots"}, + {"word": "malt-worm", "meaning": "A drunkard"}, + {"word": "mammet", "meaning": "A scarecrow"}, + {"word": "measle", "meaning": "A leper"}, + {"word": "midden", "meaning": "A trash heap, a dung hill"}, + {"word": "minnow", "meaning": "A small fish in a big pond"}, + {"word": "miscreant", "meaning": "A wicked, sinful person"}, + {"word": "moldwarp", "meaning": "A mud thrower, a politician"}, + {"word": "moron", "meaning": "Intentionally ignorant"}, + {"word": "mumble-news", "meaning": "A gossiper, a tattler"}, + {"word": "nimrod", "meaning": "A mighty hunter. Not what you expected, is it?"}, + {"word": "numpty", "meaning": "A stupid, useless person"}, + {"word": "nut-hook", "meaning": "A constable, an officer"}, + {"word": "nyaff", "meaning": "A stupid, irritating person"}, + {"word": "pervert", "meaning": "Deviant sexual standards"}, + {"word": "pigeon-egg", "meaning": "A small useless thing"}, + {"word": "pignut", "meaning": "An ugly tuber"}, + {"word": "plamf", "meaning": "An underwear sniffer"}, + {"word": "plum", "meaning": "A person who says or does stupid things"}, + {"word": "pumpion", "meaning": "A person who makes a fool of themselves"}, + {"word": "puttock", "meaning": "A greedy, rapacious person"}, + {"word": "ratsbane", "meaning": "Rat poisioner"}, + {"word": "roaster", "meaning": "A person who makes a fool of themselves"}, + {"word": "rocket", "meaning": "An idiot"}, + {"word": "scunner", "meaning": "Disgusting, unlikeable"}, + {"word": "scut", "meaning": "A foolish or contemptible person"}, + {"word": "skainsmate", "meaning": "A shipboard companion"}, + {"word": "strumpet", "meaning": "A promiscuous person, a prostitute"}, + {"word": "thundercat", "meaning": "A cartoon from the 70's", "nsfw": "thundercunt", "nsfwMeaning": "Queefing genitalia"}, + {"word": "tube", "meaning": "The cave where you conquer the fear"}, + {"word": "turd-tobogganist", "meaning": "A person who likes to create discord", "nsfw": "shit-tobogganist", "nsfwMeaning": "A person who creates chaos just because they fucking love it"}, + {"word": "twally-washer", "meaning": "Someone who cleans twallies orally"}, + {"word": "twit", "meaning": "A annoying, stupid person. Oliver St. John-Mollusc"}, + {"word": "twonk", "meaning": "A stupid person"}, + {"word": "varlot", "meaning": "A punk"}, + {"word": "vassal", "meaning": "A subordinant, servile"}, + {"word": "wagtail", "meaning": "A syncophant"}, + {"word": "walloper", "meaning": "A male member"}, + {"word": "whalluper", "meaning": "A male member"}, + {"word": "whey-face", "meaning": "Pale of face, sickly"} + ] +}