Skip to main content
Module

x/lala/mod.js

A collection of random useful (probably) javascript classes and functions.
Latest
File
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329
// deno-fmt-ignore-file// deno-lint-ignore-file// This code was bundled using `deno bundle` and it's not recommended to edit it manually
const capitalize = (s = "s", titlecase = false)=>s.charAt(0).toUpperCase() + `${titlecase ? s.slice(1).toLowerCase() : s.slice(1)}`;const getRandom = (arr)=>Array.isArray(arr) ? arr[Math.floor(Math.random() * arr.length)] : arr;const reverseString = (str)=>str.split("").reverse().join();export { capitalize as capitalize };export { getRandom as getRandom };export { reverseString as reverseString };const __default = [ "accurate", "adventurous", "aggressive", "agoraphobic", "alien", "alpha", "amazing", "amphibious", "ancient", "angelic", "average", "avian", "awesome", "bad", "beefy", "belligerent", "betrayed", "bipedal", "bitter", "black", "blind", "boisterous", "brilliant", "bronze", "canine", "certified", "charitable", "charming", "cheeky", "cheerful", "childish", "chivalrous", "clever", "clueless", "clumsy", "comical", "complex", "confident", "cool", "crybaby", "cuddly", "cunning", "curious", "cute", "dangerous", "dark", "decent", "delicious", "delusional", "dense", "desperate", "diabetic", "divine", "dominant", "dragon", "dramatic", "drunk", "dwarven", "eerie", "egghead", "electric", "elegant", "elemental", "elven", "enchanting", "faithful", "famous", "fantastic", "feline", "female", "feminine", "friendly", "funny", "gallant", "gay", "generous", "gentle", "geographic", "giant", "godlike", "gold", "good", "grand", "great", "gruesome", "gullible", "harsh", "high", "holy", "hostile", "humble", "hypersonic", "idiotic", "immortal", "inferior", "innocent", "invincible", "iron", "jazzy", "jinxed", "jittery", "kidney-shaped", "kindhearted", "lackadaisical", "lackluster", "large", "lawful", "legendary", "lemon-like", "listless", "lively", "lowly", "malnourished", "masculine", "massive", "matchless", "meek", "melancholic", "merciless", "mindless", "monstrous", "mythical", "naive", "naked", "nerdy", "noble", "nocturnal", "notorious", "novel", "nutty", "obsessive", "omnipotent", "omniscient", "optimistic", "outstanding", "overpowered", "overweight", "peaceful", "pessimistic", "popular", "powerful", "powerless", "pretty", "proud", "pure", "rabid", "reincarnated", "reinstated", "repugnant", "repulsive", "rich", "rotten", "round", "rowdy", "royal", "rude", "rugged", "ruthless", "sacred", "sassy", "selfish", "selfless", "shiny", "short", "silver", "skinny", "slender", "slick", "slim", "slimy", "sly", "spirit", "steel", "stereotypical", "strong", "successful", "summoned", "super", "sweet", "talkative", "tall", "tender", "timid", "tiny", "trashy", "tyrannical", "ultimate", "underweight", "unmatched", "upbeat", "valiant", "verbose", "villainous", "viscous", "voracious", "war-crazed", "warlord", "weak", "weary", "wheezy", "whiny", "wholesome", "wicked", "wise", "witty", "world-class", "xenophobic", "young", "zazzy", "zen", ];const __default1 = { fight: [ "attack", "battle", "brawl", "challenge", "combat", "counter", "duel", "fight", "joust", ], death: [ "died", "got killed", "ended up dying", "passed away", "lost my life", ], intro: [ "I am", "My name is", "I'm", "I am called", "I was known as", "I used to be called", "I was once called", "When I was alive, they called me", "Once upon a time, I was called", "I think my name was", "I am not sure if my name was", ], join: [ "band together", "join hands", "compete with each other", "form an alliance", "declare their love to each other", "become sworn siblings", "pledge their souls", "form a truce", "become allies", "forget their differences", ], actions: { singular: [ "defend against", "negotiate with", "hold out against", "run from", "survive", ], plural: [ "defends against", "negotiates with", "holds out against", "runs from", "strives to survive", ] }, forward: [ "forward", "send", "show", "copy/paste" ], message: [ "message", "story", "text" ], level: [ "level", "lv", "lvl", "tier", "stage", "rank", "class" ]};const __default2 = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 69, 70, 80, 90, 99, 100, 101, 200, 420, 500, 666, 999, 1000, 6969, 9999, 10000, 42069, 69420, 99999, 100000, 1000000, ];const __default3 = [ "hero", "mage", "wizard", "sage", "monk", "NEET", "dragon", "hunter", "salesman", "salaryman", "digital artist", "weeb", "artist", "gacha gamer", "game developer", "Florida man", "pokemon master", "narcissist", "programmer", "web developer", "yankee", "yakuza", "ying-yang master", "taoist", "archangel", "baiter", "investigator", "king", "magician", "eggman", "lancer", "archer", "berserker", "rider", "athlete", "master", "martial artist", "demon", "god", "zombie", "skeleton", "vampire", "undead", "lich", "golem", "swordsman", "sword saint", "shielder", "spearmaster", "gunslinger", "cowboy", "karen", "tomboy", "femboy", "gal", "nerd", ];const generateCharacter = ()=>{ return `${Math.random() < 0.9 ? Math.random() > 0.3 ? `${getRandom(__default)} ` : `${getRandom(__default1.level)} ${getRandom(__default2)} ` : ""}${getRandom(__default3)}`;};const vowels = [ "A", "E", "I", "O", "U"];const alphabet = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ];const consonants = alphabet.filter((x)=>!vowels.includes(x));const __default4 = [ { letter: "A", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ] }, { letter: "B", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "W", ] }, { letter: "C", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "W", ] }, { letter: "D", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "W", ] }, { letter: "E", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ] }, { letter: "F", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "W", ] }, { letter: "G", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "W", ] }, { letter: "H", possible: [ "A", "E", "I", "O", "U", "Y", "W", ] }, { letter: "I", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ] }, { letter: "J", possible: [ "A", "E", "I", "O", "U", "H", "Y", ] }, { letter: "K", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "W", ] }, { letter: "L", possible: [ "A", "E", "I", "O", "U", "Y" ] }, { letter: "M", possible: [ "A", "E", "I", "O", "U", "H", "Y", ] }, { letter: "N", possible: [ "A", "E", "I", "O", "U", "H", "Y", "W", ] }, { letter: "O", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ] }, { letter: "P", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "S", "W", ] }, { letter: "Q", possible: [ "A", "E", "I", "O", "U" ] }, { letter: "R", possible: [ "A", "E", "I", "O", "U", "H", "Y", "W", ] }, { letter: "S", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ] }, { letter: "T", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", "S", "W", ] }, { letter: "U", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", ] }, { letter: "V", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", ] }, { letter: "W", possible: [ "A", "E", "I", "O", "U", "H", "Y", "R", ] }, { letter: "X", possible: [ "A", "E", "I", "O", "U", "H" ] }, { letter: "Y", possible: [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Z", ] }, { letter: "Z", possible: [ "A", "E", "I", "O", "U", "H" ] }, ];function generateName(lenn) { if (!lenn) lenn = 4 + Math.floor(Math.random() * 5); let name = getRandom(alphabet); for(let pointer = 0; pointer < lenn - 1; ++pointer){ if (pointer === lenn - 2) { name += getRandom(__default4.find((x)=>x.letter === name.charAt(name.length - 1).toUpperCase())?.possible ?? vowels); } else { if (consonants.includes(name.charAt(name.length - 1)) && consonants.includes(name.charAt(name.length - 2))) { name += getRandom(vowels); } else if (vowels.includes(name.charAt(name.length - 1)) && vowels.includes(name.charAt(name.length - 2)) && vowels.includes(name.charAt(name.length - 3))) { name += getRandom(consonants); } else { name += getRandom(__default4.find((x)=>x.letter === name.charAt(name.length - 1).toUpperCase())?.possible ?? vowels); } } } return name;}const __default5 = [ "er", "ug", "ugg", "or", "in", "ius", "ion", "xion", "ixie", "ora", "ra", ];const generateFantasyName = ()=>{ return `${generateName(3 + Math.floor(Math.random() * 5)).toLowerCase()}${getRandom(__default5)}`;};const Creatures = [ { name: "imp", plural: "imps", level: 2, affiliation: -1, intelligence: 3, size: 1, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: true, appearance: 1 }, { name: "fairy", plural: "faries", level: 3, affiliation: 1, intelligence: 5, size: 1, body_parts: { tail: false, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: true, appearance: 6 }, { name: "dragon", plural: "dragons", level: 7, affiliation: 0, intelligence: 7, size: 5, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: true, appearance: 5 }, { name: "elf", plural: "elves", level: 5, affiliation: 0, intelligence: 5, size: 3, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: true, appearance: 6 }, { name: "angel", plural: "angels", level: 7, affiliation: 1, intelligence: 7, size: 3, body_parts: { tail: false, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: true, appearance: 7 }, { name: "giant", plural: "giants", level: 5, affiliation: 0, intelligence: 3, size: 5, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: true, appearance: 1 }, { name: "skeleton", plural: "skeletons", level: 1, affiliation: -1, intelligence: 0, size: 3, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 0 }, { name: "undead", plural: "undead", level: 1, affiliation: -1, intelligence: 0, size: 3, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 0 }, { name: "succubus", plural: "succubi", level: 3, affiliation: -1, intelligence: 5, size: 3, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: true, appearance: 6 }, { name: "incubus", plural: "incubi", level: 3, affiliation: -1, intelligence: 5, size: 3, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: true, appearance: 6 }, { name: "demon", plural: "demons", level: 3, affiliation: -1, intelligence: 3, size: 3, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: true, appearance: 3 }, { name: "slime", plural: "slimes", level: 1, affiliation: -1, intelligence: 3, size: 1, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: true, appearance: 0 }, { name: "wisp", plural: "wisps", level: 1, affiliation: 0, intelligence: 0, size: 1, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: true, appearance: 0 }, { name: "harpy", plural: "harpies", level: 1, affiliation: 0, intelligence: 3, size: 3, body_parts: { tail: true, head: true, wings: true, hands: false, legs: true, fingers: false, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "bat", plural: "bats", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: true, hands: false, legs: true, fingers: false, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 1 }, { name: "orc", plural: "orcs", level: 3, affiliation: -1, intelligence: 3, size: 4, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: false, appearance: 1 }, { name: "goblin", plural: "goblins", level: 1, affiliation: -1, intelligence: 3, size: 1, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 1 }, { name: "kobold", plural: "kobolds", level: 5, affiliation: 0, intelligence: 3, size: 4, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 1 }, { name: "dark elf", plural: "dark elves", level: 5, affiliation: -1, intelligence: 5, size: 3, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: true, appearance: 6 }, { name: "golem", plural: "golems", level: 5, affiliation: 0, intelligence: 1, size: 0, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: true, appearance: 0 }, { name: "dragonewt", plural: "dragonewts", level: 5, affiliation: 0, intelligence: 5, size: 3, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: false, appearance: 5 }, { name: "sandworm", plural: "sandworms", level: 6, affiliation: -1, intelligence: 0, size: 5, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 1 }, { name: "werewolf", plural: "werewolves", level: 3, affiliation: 0, intelligence: 3, size: 4, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "vampire", plural: "vampires", level: 5, affiliation: -1, intelligence: 5, size: 3, body_parts: { tail: false, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 5 }, { name: "lamia", plural: "lamia", level: 1, affiliation: -1, intelligence: 3, size: 3, body_parts: { tail: true, head: true, wings: false, hands: true, legs: false, fingers: true, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 5 }, { name: "ogre", plural: "ogres", level: 3, affiliation: -1, intelligence: 3, size: 4, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: false, appearance: 1 }, { name: "oni", plural: "oni", level: 3, affiliation: -1, intelligence: 3, size: 4, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: false, appearance: 1 }, { name: "siren", plural: "sirens", level: 3, affiliation: -1, intelligence: 3, size: 3, body_parts: { tail: true, head: true, wings: false, hands: true, legs: false, fingers: true, toes: true, horns: false, animal_ears: false }, magical: true, appearance: 5 }, { name: "griffon", plural: "griffons", level: 5, affiliation: 1, intelligence: 5, size: 4, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: false, appearance: 5 }, { name: "manticore", plural: "manticores", level: 5, affiliation: -1, intelligence: 3, size: 4, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: false, appearance: 1 }, { name: "hippogriff", plural: "hippogriff", level: 5, affiliation: 1, intelligence: 5, size: 4, body_parts: { tail: true, head: true, wings: true, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: false, appearance: 1 }, { name: "drake", plural: "drakes", level: 5, affiliation: 0, intelligence: 5, size: 5, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: true }, magical: true, appearance: 5 }, { name: "wyvern", plural: "wyverns", level: 3, affiliation: -1, intelligence: 1, size: 4, body_parts: { tail: true, head: true, wings: true, hands: false, legs: false, fingers: false, toes: false, horns: true, animal_ears: true }, magical: false, appearance: 1 }, { name: "wraith", plural: "wraiths", level: 3, affiliation: -1, intelligence: 1, size: 3, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: true, appearance: 1 }, { name: "gashadokuro", plural: "gashadokuro", level: 5, affiliation: -1, intelligence: 1, size: 5, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: true, appearance: 1 }, { name: "lich", plural: "lich", level: 5, affiliation: -1, intelligence: 5, size: 3, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: true, appearance: 1 }, { name: "monstrous mushroom", plural: "monstrous mushrooms", level: 3, affiliation: -1, intelligence: 5, size: 3, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 1 }, { name: "mycelium", plural: "mycelium", level: 1, affiliation: -1, intelligence: 3, size: 1, body_parts: { tail: false, head: true, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 1 }, ];class Race { name; body; affiliation; intelligence; size; magical; appearance; constructor(){ const { body , similarities } = run(); this.name = capitalize(generateFantasyName()); this.body = { tail: {}, head: {}, wings: {}, hands: {}, legs: {}, fingers: {}, toes: {}, horns: {}, animal_ears: {} }; Object.keys(this.body).forEach((x)=>{ this.body[x] = { exists: body[x], similarities: similarities[x] }; }); this.affiliation = getRandom(Creatures).affiliation; this.intelligence = getRandom(Creatures).intelligence; this.size = getRandom(Creatures).size; this.magical = getRandom(Creatures).magical; this.appearance = getRandom(Creatures).size; } get human() { if (this.body.head?.exists && this.body.hands?.exists && this.body.legs?.exists && this.body.fingers?.exists && this.body.toes?.exists) { return true; } return false; } get description() { return `${this.name}${this.affiliation === 0 ? ` ${getRandom([ "is a neutral race", "do not take sides" ])}` : this.affiliation === 1 ? ` ${getRandom([ "is a race that walks the righteous path", "are self-proclaimed messengers of justice", "is a race that proclaims to work towards the absolute good", ])}` : ` ${getRandom([ "is a chaotic race", "live in the darkness", "serve the demons", ])}`}. ${this.body.head.exists ? `${getRandom([ `Their head looks similar to that of a ${this.body.head.similarities}`, `They possess facial features that remind one of a ${this.body.head.similarities}`, `Their head is akin to that of a ${this.body.head.similarities}`, ])}${this.body.animal_ears.exists ? this.body.animal_ears.similarities === this.body.head.similarities ? "" : ` but with ears that look like a ${this.body.animal_ears.similarities}` : ""}` : `${getRandom([ "They possess no head", "They lack a head", "They are headless", ])}`} and ${this.magical ? "possess a spiritual body" : `${getRandom([ "possess a material body", "have a living, organic body", "have a normal body", ])}`}. ${this.body.wings.exists ? `They possess wings that look like that of a ${this.body.wings.similarities}${Math.random() < 0.5 ? " but are actually flightless" : ""}. ` : ""}They are ${rate.size[this.size]} in size and ${rate.intelligence[this.intelligence]}. ${this.body.legs.exists ? `${getRandom([ `Their legs look like a ${this.body.legs.similarities}'s legs`, `Their legs are similar to a ${this.body.legs.similarities} with small differences`, ])}${!this.body.toes.exists ? " and a notable absence of toes" : ""}` : getRandom([ "They possess no feet", "They lack legs" ])}. ${this.body.hands.exists ? this.body.legs.exists && this.body.hands.similarities === this.body.legs.similarities ? "The same could be said for their hands" : `However, they possess hands like that of a ${this.body.hands.similarities}${!this.body.fingers.exists ? "with no fingers" : ""}.` : `They possess no ${!this.body.legs.exists ? "hands either" : "modified forearms"}.`} ${this.body.horns.exists ? `They sport ${Math.random() < 0.5 ? "a wonderful horn" : `${1 + Math.ceil(Math.random() * 3)} horns`} which distantly resemble that of a ${this.body.horns.similarities}. ` : ""}On the whole, they are said to be ${rate.appearance[this.appearance]} in appearance.`; }}const rate = { size: [ "very small", "small", "medium-sized", "somewhat large", "large", "giant", ], strength: [ "very weak", "weak", "strong", "somewhat strong", "formidable", "extremely powerful", "invincible", "godly", ], intelligence: [ "brainless", "unintelligent", "somewhat intelligent", "intelligent", "highly intelligent", "most intelligent", ], appearance: [ "disgusting", "unsettling", "average", "beautiful", "splendid", "indescribable", "unimaginable", ]};function run() { const body = { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }; Object.keys(body).forEach((x)=>{ Object.defineProperty(body, x, { value: getRandom(Creatures).body_parts[x] }); }); const similarities = { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }; Object.keys(similarities).forEach((x)=>{ similarities[x] = getRandom(Creatures.filter((y)=>y.body_parts[x])).name; }); return { body, similarities };}function generateRace(name) { const race = new Race(); if (name) race.name = name; return race;}export { generateCharacter as generateCharacter };export { generateName as generateName };export { generateFantasyName as generateFantasyName };export { generateRace as generateRace };const __default6 = [ "AAA", "AARP", "ABARTH", "ABB", "ABBOTT", "ABBVIE", "ABC", "ABLE", "ABOGADO", "ABUDHABI", "AC", "ACADEMY", "ACCENTURE", "ACCOUNTANT", "ACCOUNTANTS", "ACO", "ACTOR", "AD", "ADAC", "ADS", "ADULT", "AE", "AEG", "AERO", "AETNA", "AF", "AFL", "AFRICA", "AG", "AGAKHAN", "AGENCY", "AI", "AIG", "AIRBUS", "AIRFORCE", "AIRTEL", "AKDN", "AL", "ALFAROMEO", "ALIBABA", "ALIPAY", "ALLFINANZ", "ALLSTATE", "ALLY", "ALSACE", "ALSTOM", "AM", "AMAZON", "AMERICANEXPRESS", "AMERICANFAMILY", "AMEX", "AMFAM", "AMICA", "AMSTERDAM", "ANALYTICS", "ANDROID", "ANQUAN", "ANZ", "AO", "AOL", "APARTMENTS", "APP", "APPLE", "AQ", "AQUARELLE", "AR", "ARAB", "ARAMCO", "ARCHI", "ARMY", "ARPA", "ART", "ARTE", "AS", "ASDA", "ASIA", "ASSOCIATES", "AT", "ATHLETA", "ATTORNEY", "AU", "AUCTION", "AUDI", "AUDIBLE", "AUDIO", "AUSPOST", "AUTHOR", "AUTO", "AUTOS", "AVIANCA", "AW", "AWS", "AX", "AXA", "AZ", "AZURE", "BA", "BABY", "BAIDU", "BANAMEX", "BANANAREPUBLIC", "BAND", "BANK", "BAR", "BARCELONA", "BARCLAYCARD", "BARCLAYS", "BAREFOOT", "BARGAINS", "BASEBALL", "BASKETBALL", "BAUHAUS", "BAYERN", "BB", "BBC", "BBT", "BBVA", "BCG", "BCN", "BD", "BE", "BEATS", "BEAUTY", "BEER", "BENTLEY", "BERLIN", "BEST", "BESTBUY", "BET", "BF", "BG", "BH", "BHARTI", "BI", "BIBLE", "BID", "BIKE", "BING", "BINGO", "BIO", "BIZ", "BJ", "BLACK", "BLACKFRIDAY", "BLOCKBUSTER", "BLOG", "BLOOMBERG", "BLUE", "BM", "BMS", "BMW", "BN", "BNPPARIBAS", "BO", "BOATS", "BOEHRINGER", "BOFA", "BOM", "BOND", "BOO", "BOOK", "BOOKING", "BOSCH", "BOSTIK", "BOSTON", "BOT", "BOUTIQUE", "BOX", "BR", "BRADESCO", "BRIDGESTONE", "BROADWAY", "BROKER", "BROTHER", "BRUSSELS", "BS", "BT", "BUGATTI", "BUILD", "BUILDERS", "BUSINESS", "BUY", "BUZZ", "BV", "BW", "BY", "BZ", "BZH", "CA", "CAB", "CAFE", "CAL", "CALL", "CALVINKLEIN", "CAM", "CAMERA", "CAMP", "CANCERRESEARCH", "CANON", "CAPETOWN", "CAPITAL", "CAPITALONE", "CAR", "CARAVAN", "CARDS", "CARE", "CAREER", "CAREERS", "CARS", "CASA", "CASE", "CASH", "CASINO", "CAT", "CATERING", "CATHOLIC", "CBA", "CBN", "CBRE", "CBS", "CC", "CD", "CENTER", "CEO", "CERN", "CF", "CFA", "CFD", "CG", "CH", "CHANEL", "CHANNEL", "CHARITY", "CHASE", "CHAT", "CHEAP", "CHINTAI", "CHRISTMAS", "CHROME", "CHURCH", "CI", "CIPRIANI", "CIRCLE", "CISCO", "CITADEL", "CITI", "CITIC", "CITY", "CITYEATS", "CK", "CL", "CLAIMS", "CLEANING", "CLICK", "CLINIC", "CLINIQUE", "CLOTHING", "CLOUD", "CLUB", "CLUBMED", "CM", "CN", "CO", "COACH", "CODES", "COFFEE", "COLLEGE", "COLOGNE", "COM", "COMCAST", "COMMBANK", "COMMUNITY", "COMPANY", "COMPARE", "COMPUTER", "COMSEC", "CONDOS", "CONSTRUCTION", "CONSULTING", "CONTACT", "CONTRACTORS", "COOKING", "COOKINGCHANNEL", "COOL", "COOP", "CORSICA", "COUNTRY", "COUPON", "COUPONS", "COURSES", "CPA", "CR", "CREDIT", "CREDITCARD", "CREDITUNION", "CRICKET", "CROWN", "CRS", "CRUISE", "CRUISES", "CU", "CUISINELLA", "CV", "CW", "CX", "CY", "CYMRU", "CYOU", "CZ", "DABUR", "DAD", "DANCE", "DATA", "DATE", "DATING", "DATSUN", "DAY", "DCLK", "DDS", "DE", "DEAL", "DEALER", "DEALS", "DEGREE", "DELIVERY", "DELL", "DELOITTE", "DELTA", "DEMOCRAT", "DENTAL", "DENTIST", "DESI", "DESIGN", "DEV", "DHL", "DIAMONDS", "DIET", "DIGITAL", "DIRECT", "DIRECTORY", "DISCOUNT", "DISCOVER", "DISH", "DIY", "DJ", "DK", "DM", "DNP", "DO", "DOCS", "DOCTOR", "DOG", "DOMAINS", "DOT", "DOWNLOAD", "DRIVE", "DTV", "DUBAI", "DUNLOP", "DUPONT", "DURBAN", "DVAG", "DVR", "DZ", "EARTH", "EAT", "EC", "ECO", "EDEKA", "EDU", "EDUCATION", "EE", "EG", "EMAIL", "EMERCK", "ENERGY", "ENGINEER", "ENGINEERING", "ENTERPRISES", "EPSON", "EQUIPMENT", "ER", "ERICSSON", "ERNI", "ES", "ESQ", "ESTATE", "ET", "ETISALAT", "EU", "EUROVISION", "EUS", "EVENTS", "EXCHANGE", "EXPERT", "EXPOSED", "EXPRESS", "EXTRASPACE", "FAGE", "FAIL", "FAIRWINDS", "FAITH", "FAMILY", "FAN", "FANS", "FARM", "FARMERS", "FASHION", "FAST", "FEDEX", "FEEDBACK", "FERRARI", "FERRERO", "FI", "FIAT", "FIDELITY", "FIDO", "FILM", "FINAL", "FINANCE", "FINANCIAL", "FIRE", "FIRESTONE", "FIRMDALE", "FISH", "FISHING", "FIT", "FITNESS", "FJ", "FK", "FLICKR", "FLIGHTS", "FLIR", "FLORIST", "FLOWERS", "FLY", "FM", "FO", "FOO", "FOOD", "FOODNETWORK", "FOOTBALL", "FORD", "FOREX", "FORSALE", "FORUM", "FOUNDATION", "FOX", "FR", "FREE", "FRESENIUS", "FRL", "FROGANS", "FRONTDOOR", "FRONTIER", "FTR", "FUJITSU", "FUN", "FUND", "FURNITURE", "FUTBOL", "FYI", "GA", "GAL", "GALLERY", "GALLO", "GALLUP", "GAME", "GAMES", "GAP", "GARDEN", "GAY", "GB", "GBIZ", "GD", "GDN", "GE", "GEA", "GENT", "GENTING", "GEORGE", "GF", "GG", "GGEE", "GH", "GI", "GIFT", "GIFTS", "GIVES", "GIVING", "GL", "GLASS", "GLE", "GLOBAL", "GLOBO", "GM", "GMAIL", "GMBH", "GMO", "GMX", "GN", "GODADDY", "GOLD", "GOLDPOINT", "GOLF", "GOO", "GOODYEAR", "GOOG", "GOOGLE", "GOP", "GOT", "GOV", "GP", "GQ", "GR", "GRAINGER", "GRAPHICS", "GRATIS", "GREEN", "GRIPE", "GROCERY", "GROUP", "GS", "GT", "GU", "GUARDIAN", "GUCCI", "GUGE", "GUIDE", "GUITARS", "GURU", "GW", "GY", "HAIR", "HAMBURG", "HANGOUT", "HAUS", "HBO", "HDFC", "HDFCBANK", "HEALTH", "HEALTHCARE", "HELP", "HELSINKI", "HERE", "HERMES", "HGTV", "HIPHOP", "HISAMITSU", "HITACHI", "HIV", "HK", "HKT", "HM", "HN", "HOCKEY", "HOLDINGS", "HOLIDAY", "HOMEDEPOT", "HOMEGOODS", "HOMES", "HOMESENSE", "HONDA", "HORSE", "HOSPITAL", "HOST", "HOSTING", "HOT", "HOTELES", "HOTELS", "HOTMAIL", "HOUSE", "HOW", "HR", "HSBC", "HT", "HU", "HUGHES", "HYATT", "HYUNDAI", "IBM", "ICBC", "ICE", "ICU", "ID", "IE", "IEEE", "IFM", "IKANO", "IL", "IM", "IMAMAT", "IMDB", "IMMO", "IMMOBILIEN", "IN", "INC", "INDUSTRIES", "INFINITI", "INFO", "ING", "INK", "INSTITUTE", "INSURANCE", "INSURE", "INT", "INTERNATIONAL", "INTUIT", "INVESTMENTS", "IO", "IPIRANGA", "IQ", "IR", "IRISH", "IS", "ISMAILI", "IST", "ISTANBUL", "IT", "ITAU", "ITV", "JAGUAR", "JAVA", "JCB", "JE", "JEEP", "JETZT", "JEWELRY", "JIO", "JLL", "JM", "JMP", "JNJ", "JO", "JOBS", "JOBURG", "JOT", "JOY", "JP", "JPMORGAN", "JPRS", "JUEGOS", "JUNIPER", "KAUFEN", "KDDI", "KE", "KERRYHOTELS", "KERRYLOGISTICS", "KERRYPROPERTIES", "KFH", "KG", "KH", "KI", "KIA", "KIDS", "KIM", "KINDER", "KINDLE", "KITCHEN", "KIWI", "KM", "KN", "KOELN", "KOMATSU", "KOSHER", "KP", "KPMG", "KPN", "KR", "KRD", "KRED", "KUOKGROUP", "KW", "KY", "KYOTO", "KZ", "LA", "LACAIXA", "LAMBORGHINI", "LAMER", "LANCASTER", "LANCIA", "LAND", "LANDROVER", "LANXESS", "LASALLE", "LAT", "LATINO", "LATROBE", "LAW", "LAWYER", "LB", "LC", "LDS", "LEASE", "LECLERC", "LEFRAK", "LEGAL", "LEGO", "LEXUS", "LGBT", "LI", "LIDL", "LIFE", "LIFEINSURANCE", "LIFESTYLE", "LIGHTING", "LIKE", "LILLY", "LIMITED", "LIMO", "LINCOLN", "LINDE", "LINK", "LIPSY", "LIVE", "LIVING", "LK", "LLC", "LLP", "LOAN", "LOANS", "LOCKER", "LOCUS", "LOFT", "LOL", "LONDON", "LOTTE", "LOTTO", "LOVE", "LPL", "LPLFINANCIAL", "LR", "LS", "LT", "LTD", "LTDA", "LU", "LUNDBECK", "LUXE", "LUXURY", "LV", "LY", "MA", "MACYS", "MADRID", "MAIF", "MAISON", "MAKEUP", "MAN", "MANAGEMENT", "MANGO", "MAP", "MARKET", "MARKETING", "MARKETS", "MARRIOTT", "MARSHALLS", "MASERATI", "MATTEL", "MBA", "MC", "MCKINSEY", "MD", "ME", "MED", "MEDIA", "MEET", "MELBOURNE", "MEME", "MEMORIAL", "MEN", "MENU", "MERCKMSD", "MG", "MH", "MIAMI", "MICROSOFT", "MIL", "MINI", "MINT", "MIT", "MITSUBISHI", "MK", "ML", "MLB", "MLS", "MM", "MMA", "MN", "MO", "MOBI", "MOBILE", "MODA", "MOE", "MOI", "MOM", "MONASH", "MONEY", "MONSTER", "MORMON", "MORTGAGE", "MOSCOW", "MOTO", "MOTORCYCLES", "MOV", "MOVIE", "MP", "MQ", "MR", "MS", "MSD", "MT", "MTN", "MTR", "MU", "MUSEUM", "MUSIC", "MUTUAL", "MV", "MW", "MX", "MY", "MZ", "NA", "NAB", "NAGOYA", "NAME", "NATURA", "NAVY", "NBA", "NC", "NE", "NEC", "NET", "NETBANK", "NETFLIX", "NETWORK", "NEUSTAR", "NEW", "NEWS", "NEXT", "NEXTDIRECT", "NEXUS", "NF", "NFL", "NG", "NGO", "NHK", "NI", "NICO", "NIKE", "NIKON", "NINJA", "NISSAN", "NISSAY", "NL", "NO", "NOKIA", "NORTHWESTERNMUTUAL", "NORTON", "NOW", "NOWRUZ", "NOWTV", "NP", "NR", "NRA", "NRW", "NTT", "NU", "NYC", "NZ", "OBI", "OBSERVER", "OFFICE", "OKINAWA", "OLAYAN", "OLAYANGROUP", "OLDNAVY", "OLLO", "OM", "OMEGA", "ONE", "ONG", "ONL", "ONLINE", "OOO", "OPEN", "ORACLE", "ORANGE", "ORG", "ORGANIC", "ORIGINS", "OSAKA", "OTSUKA", "OTT", "OVH", "PA", "PAGE", "PANASONIC", "PARIS", "PARS", "PARTNERS", "PARTS", "PARTY", "PASSAGENS", "PAY", "PCCW", "PE", "PET", "PF", "PFIZER", "PG", "PH", "PHARMACY", "PHD", "PHILIPS", "PHONE", "PHOTO", "PHOTOGRAPHY", "PHOTOS", "PHYSIO", "PICS", "PICTET", "PICTURES", "PID", "PIN", "PING", "PINK", "PIONEER", "PIZZA", "PK", "PL", "PLACE", "PLAY", "PLAYSTATION", "PLUMBING", "PLUS", "PM", "PN", "PNC", "POHL", "POKER", "POLITIE", "PORN", "POST", "PR", "PRAMERICA", "PRAXI", "PRESS", "PRIME", "PRO", "PROD", "PRODUCTIONS", "PROF", "PROGRESSIVE", "PROMO", "PROPERTIES", "PROPERTY", "PROTECTION", "PRU", "PRUDENTIAL", "PS", "PT", "PUB", "PW", "PWC", "PY", "QA", "QPON", "QUEBEC", "QUEST", "RACING", "RADIO", "RE", "READ", "REALESTATE", "REALTOR", "REALTY", "RECIPES", "RED", "REDSTONE", "REDUMBRELLA", "REHAB", "REISE", "REISEN", "REIT", "RELIANCE", "REN", "RENT", "RENTALS", "REPAIR", "REPORT", "REPUBLICAN", "REST", "RESTAURANT", "REVIEW", "REVIEWS", "REXROTH", "RICH", "RICHARDLI", "RICOH", "RIL", "RIO", "RIP", "RO", "ROCHER", "ROCKS", "RODEO", "ROGERS", "ROOM", "RS", "RSVP", "RU", "RUGBY", "RUHR", "RUN", "RW", "RWE", "RYUKYU", "SA", "SAARLAND", "SAFE", "SAFETY", "SAKURA", "SALE", "SALON", "SAMSCLUB", "SAMSUNG", "SANDVIK", "SANDVIKCOROMANT", "SANOFI", "SAP", "SARL", "SAS", "SAVE", "SAXO", "SB", "SBI", "SBS", "SC", "SCA", "SCB", "SCHAEFFLER", "SCHMIDT", "SCHOLARSHIPS", "SCHOOL", "SCHULE", "SCHWARZ", "SCIENCE", "SCOT", "SD", "SE", "SEARCH", "SEAT", "SECURE", "SECURITY", "SEEK", "SELECT", "SENER", "SERVICES", "SES", "SEVEN", "SEW", "SEX", "SEXY", "SFR", "SG", "SH", "SHANGRILA", "SHARP", "SHAW", "SHELL", "SHIA", "SHIKSHA", "SHOES", "SHOP", "SHOPPING", "SHOUJI", "SHOW", "SHOWTIME", "SI", "SILK", "SINA", "SINGLES", "SITE", "SJ", "SK", "SKI", "SKIN", "SKY", "SKYPE", "SL", "SLING", "SM", "SMART", "SMILE", "SN", "SNCF", "SO", "SOCCER", "SOCIAL", "SOFTBANK", "SOFTWARE", "SOHU", "SOLAR", "SOLUTIONS", "SONG", "SONY", "SOY", "SPA", "SPACE", "SPORT", "SPOT", "SR", "SRL", "SS", "ST", "STADA", "STAPLES", "STAR", "STATEBANK", "STATEFARM", "STC", "STCGROUP", "STOCKHOLM", "STORAGE", "STORE", "STREAM", "STUDIO", "STUDY", "STYLE", "SU", "SUCKS", "SUPPLIES", "SUPPLY", "SUPPORT", "SURF", "SURGERY", "SUZUKI", "SV", "SWATCH", "SWISS", "SX", "SY", "SYDNEY", "SYSTEMS", "SZ", "TAB", "TAIPEI", "TALK", "TAOBAO", "TARGET", "TATAMOTORS", "TATAR", "TATTOO", "TAX", "TAXI", "TC", "TCI", "TD", "TDK", "TEAM", "TECH", "TECHNOLOGY", "TEL", "TEMASEK", "TENNIS", "TEVA", "TF", "TG", "TH", "THD", "THEATER", "THEATRE", "TIAA", "TICKETS", "TIENDA", "TIFFANY", "TIPS", "TIRES", "TIROL", "TJ", "TJMAXX", "TJX", "TK", "TKMAXX", "TL", "TM", "TMALL", "TN", "TO", "TODAY", "TOKYO", "TOOLS", "TOP", "TORAY", "TOSHIBA", "TOTAL", "TOURS", "TOWN", "TOYOTA", "TOYS", "TR", "TRADE", "TRADING", "TRAINING", "TRAVEL", "TRAVELCHANNEL", "TRAVELERS", "TRAVELERSINSURANCE", "TRUST", "TRV", "TT", "TUBE", "TUI", "TUNES", "TUSHU", "TV", "TVS", "TW", "TZ", "UA", "UBANK", "UBS", "UG", "UK", "UNICOM", "UNIVERSITY", "UNO", "UOL", "UPS", "US", "UY", "UZ", "VA", "VACATIONS", "VANA", "VANGUARD", "VC", "VE", "VEGAS", "VENTURES", "VERISIGN", "VERSICHERUNG", "VET", "VG", "VI", "VIAJES", "VIDEO", "VIG", "VIKING", "VILLAS", "VIN", "VIP", "VIRGIN", "VISA", "VISION", "VIVA", "VIVO", "VLAANDEREN", "VN", "VODKA", "VOLKSWAGEN", "VOLVO", "VOTE", "VOTING", "VOTO", "VOYAGE", "VU", "VUELOS", "WALES", "WALMART", "WALTER", "WANG", "WANGGOU", "WATCH", "WATCHES", "WEATHER", "WEATHERCHANNEL", "WEBCAM", "WEBER", "WEBSITE", "WED", "WEDDING", "WEIBO", "WEIR", "WF", "WHOSWHO", "WIEN", "WIKI", "WILLIAMHILL", "WIN", "WINDOWS", "WINE", "WINNERS", "WME", "WOLTERSKLUWER", "WOODSIDE", "WORK", "WORKS", "WORLD", "WOW", "WS", "WTC", "WTF", "XBOX", "XEROX", "XFINITY", "XIHUAN", "XIN", "XN--11B4C3D", "XN--1CK2E1B", "XN--1QQW23A", "XN--2SCRJ9C", "XN--30RR7Y", "XN--3BST00M", "XN--3DS443G", "XN--3E0B707E", "XN--3HCRJ9C", "XN--3PXU8K", "XN--42C2D9A", "XN--45BR5CYL", "XN--45BRJ9C", "XN--45Q11C", "XN--4DBRK0CE", "XN--4GBRIM", "XN--54B7FTA0CC", "XN--55QW42G", "XN--55QX5D", "XN--5SU34J936BGSG", "XN--5TZM5G", "XN--6FRZ82G", "XN--6QQ986B3XL", "XN--80ADXHKS", "XN--80AO21A", "XN--80AQECDR1A", "XN--80ASEHDB", "XN--80ASWG", "XN--8Y0A063A", "XN--90A3AC", "XN--90AE", "XN--90AIS", "XN--9DBQ2A", "XN--9ET52U", "XN--9KRT00A", "XN--B4W605FERD", "XN--BCK1B9A5DRE4C", "XN--C1AVG", "XN--C2BR7G", "XN--CCK2B3B", "XN--CCKWCXETD", "XN--CG4BKI", "XN--CLCHC0EA0B2G2A9GCD", "XN--CZR694B", "XN--CZRS0T", "XN--CZRU2D", "XN--D1ACJ3B", "XN--D1ALF", "XN--E1A4C", "XN--ECKVDTC9D", "XN--EFVY88H", "XN--FCT429K", "XN--FHBEI", "XN--FIQ228C5HS", "XN--FIQ64B", "XN--FIQS8S", "XN--FIQZ9S", "XN--FJQ720A", "XN--FLW351E", "XN--FPCRJ9C3D", "XN--FZC2C9E2C", "XN--FZYS8D69UVGM", "XN--G2XX48C", "XN--GCKR3F0F", "XN--GECRJ9C", "XN--GK3AT1E", "XN--H2BREG3EVE", "XN--H2BRJ9C", "XN--H2BRJ9C8C", "XN--HXT814E", "XN--I1B6B1A6A2E", "XN--IMR513N", "XN--IO0A7I", "XN--J1AEF", "XN--J1AMH", "XN--J6W193G", "XN--JLQ480N2RG", "XN--JLQ61U9W7B", "XN--JVR189M", "XN--KCRX77D1X4A", "XN--KPRW13D", "XN--KPRY57D", "XN--KPUT3I", "XN--L1ACC", "XN--LGBBAT1AD8J", "XN--MGB9AWBF", "XN--MGBA3A3EJT", "XN--MGBA3A4F16A", "XN--MGBA7C0BBN0A", "XN--MGBAAKC7DVF", "XN--MGBAAM7A8H", "XN--MGBAB2BD", "XN--MGBAH1A3HJKRD", "XN--MGBAI9AZGQP6J", "XN--MGBAYH7GPA", "XN--MGBBH1A", "XN--MGBBH1A71E", "XN--MGBC0A9AZCG", "XN--MGBCA7DZDO", "XN--MGBCPQ6GPA1A", "XN--MGBERP4A5D4AR", "XN--MGBGU82A", "XN--MGBI4ECEXP", "XN--MGBPL2FH", "XN--MGBT3DHD", "XN--MGBTX2B", "XN--MGBX4CD0AB", "XN--MIX891F", "XN--MK1BU44C", "XN--MXTQ1M", "XN--NGBC5AZD", "XN--NGBE9E0A", "XN--NGBRX", "XN--NODE", "XN--NQV7F", "XN--NQV7FS00EMA", "XN--NYQY26A", "XN--O3CW4H", "XN--OGBPF8FL", "XN--OTU796D", "XN--P1ACF", "XN--P1AI", "XN--PGBS0DH", "XN--PSSY2U", "XN--Q7CE6A", "XN--Q9JYB4C", "XN--QCKA1PMC", "XN--QXA6A", "XN--QXAM", "XN--RHQV96G", "XN--ROVU88B", "XN--RVC1E0AM3E", "XN--S9BRJ9C", "XN--SES554G", "XN--T60B56A", "XN--TCKWE", "XN--TIQ49XQYJ", "XN--UNUP4Y", "XN--VERMGENSBERATER-CTB", "XN--VERMGENSBERATUNG-PWB", "XN--VHQUV", "XN--VUQ861B", "XN--W4R85EL8FHU5DNRA", "XN--W4RS40L", "XN--WGBH1C", "XN--WGBL6A", "XN--XHQ521B", "XN--XKC2AL3HYE2A", "XN--XKC2DL3A5EE0H", "XN--Y9A3AQ", "XN--YFRO4I67O", "XN--YGBI2AMMX", "XN--ZFR164B", "XXX", "XYZ", "YACHTS", "YAHOO", "YAMAXUN", "YANDEX", "YE", "YODOBASHI", "YOGA", "YOKOHAMA", "YOU", "YOUTUBE", "YT", "YUN", "ZA", "ZAPPOS", "ZARA", "ZERO", "ZIP", "ZM", "ZONE", "ZUERICH", "ZW", ];const __default7 = [ "co", "org", "edu", "ac", "gov"];const __default8 = [ "gmail.com", "yahoo.com", "mail.com", "email.com", "hotmail.com", "aol.com", ];const __default9 = [ "de", "di", "der", "no", "of", "von"];function generateEmail(common = false) { return `${generateName(3 + Math.floor(Math.random() * 5)).toLowerCase()}${Math.random() < 0.5 ? "." : Math.random() < 0.5 ? getRandom(__default9) : ""}${generateName(3 + Math.floor(Math.random() * 5)).toLowerCase()}@${common ? getRandom(__default8) : `${generateName(4 + Math.floor(Math.random() * 3)).toLowerCase()}.${Math.random() < 0.5 ? getRandom(__default7) : ""}${getRandom(__default6)}`}`;}export { generateEmail as generateEmail };const Creatures1 = [ { name: "cat", plural: "cats", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "kitten", plural: "kittens", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "watermelon", plural: "watermelons", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "project manager", plural: "project managers", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: true, animal_ears: false }, magical: false, appearance: 3 }, { name: "nokia", plural: "nokia", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "cock", plural: "cocks", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: true, hands: false, legs: true, fingers: false, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "chicken", plural: "chickens", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: true, hands: false, legs: true, fingers: false, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "sheep", plural: "sheeps", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "mule", plural: "mules", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "horse", plural: "horses", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "grizzly", plural: "grizzlies", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "leopard", plural: "leopards", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "spider", plural: "spiders", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: false, legs: true, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "fly", plural: "flies", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: true, hands: false, legs: true, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "crocodile", plural: "crocodiles", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "gorilla", plural: "gorillas", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "fox", plural: "foxes", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "puppy", plural: "puppies", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "dog", plural: "dogs", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "chimpanzee", plural: "chimpanzees", level: 1, affiliation: 0, intelligence: 3, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "polar bear", plural: "polar bears", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "wolf", plural: "wolves", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "snake", plural: "snakes", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "ant", plural: "ants", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "serial killer", plural: "serial killers", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "catfood", plural: "catfood", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: false, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "pumpkin", plural: "pumpkins", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: false, legs: false, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "spider", plural: "spiders", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: false, legs: true, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "centipede", plural: "centipedes", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: false, legs: true, fingers: false, toes: false, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "clown", plural: "clowns", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "godzilla", plural: "godzillas", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, { name: "villager", plural: "villagers", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "yakuza", plural: "yakuza", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: false, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: false }, magical: false, appearance: 3 }, { name: "lion", plural: "lions", level: 1, affiliation: 0, intelligence: 1, size: 1, body_parts: { tail: true, head: true, wings: false, hands: true, legs: true, fingers: true, toes: true, horns: false, animal_ears: true }, magical: false, appearance: 3 }, ];const __default10 = [ "north", "east", "west", "south"];const __default11 = [ "friendship", "training", "cheats", "darkness", "light", "flames", "wind", "laziness", "dancing", "math", "eighth grade syndrome", "edginess", "cringe", "technology", "science", "religion", "outsmarting", "workout", ];const creatures = Creatures.concat(Creatures1);const { actions , fight , join } = __default1;const penance = (name)=>{ const ml = generateCharacter(); const fl = generateCharacter(); const goodcreature = getRandom(creatures.filter((x)=>x.affiliation === 1 || x.affiliation === 0)); const evilcreature = getRandom(creatures.filter((x)=>x.affiliation === -1 || x.affiliation === 0)); const evilcreature2 = getRandom(creatures.filter((x)=>(x.affiliation === -1 || x.affiliation === 0) && x !== evilcreature)); const rand = Math.random(); return `${name ? name : `The ${ml}`} ${rand > 0.5 ? `and the ${fl} ${getRandom(join)} to ` : ``}${Math.random() < 0.5 ? rand > 0.5 ? getRandom(actions.singular) : getRandom(actions.plural) : `${getRandom(fight)}${rand > 0.5 ? `` : `s`}`} the${Math.random() < 0.5 ? ` ${evil()}` : ``} ${Math.random() < 0.5 ? generateCharacter() : evilcreature.name}${Math.random() < 0.5 ? `, ${capitalize(generateFantasyName())},` : ``}${Math.random() < 0.5 ? ` with the help of the ${goodcreature.plural}${Math.random() < 0.5 ? ` of ${Math.random() < 0.5 ? `the ${getRandom(__default10)}` : capitalize(generateName(4 + Math.floor(Math.random() * 3)))}` : ``}` : Math.random() < 0.5 ? ` facing powerful enemies from the ${evilcreature2.name} clan` : Math.random() < 0.5 ? ` using the power of ${getRandom(__default11)}` : ``}${Math.random() < 0.5 ? rand > 0.5 ? ` and save the world` : ` and saves the world` : Math.random() < 0.5 ? ` for the sake of their peaceful life` : Math.random() < 0.5 ? ` to reach the final treasure` : Math.random() < 0.5 ? ` to protect what is important to them` : Math.random() < 0.5 ? ` to protect the smiles of innocent children` : Math.random() < 0.5 ? ` to commit war crimes` : Math.random() < 0.5 ? ` to avenge the ${generateCharacter()}` : Math.random() < 0.5 ? ` for world peace` : Math.random() < 0.5 ? ` but end up forming a truce instead` : Math.random() < 0.5 ? ` but end up with a crushing defeat` : ` but tragically die`}.`;};function evil() { const evilstuff = [ "demonic", "vile", "evil", "merciless", "greedy", "ambitious", "giant", "mecha", "divine", "almighty", "godly", "corrupt", "angelic", ]; return getRandom(evilstuff);}const __default12 = [ "friends", "family", "best friend", "parents", "mother", "father", "grandparents", "classmates", "grandpa", "grandma", "lonely ass", "tamagotchi", "pokemon", "favorite streamer", "college professor", "imaginary friend", "air friend", "sleep paralysis demon", "in-game character", "most important person", "school principal", "teacher from kindergarten", "pet spider", "loved ones", "favorite character", "disgusting self", "senior", "junior", "great-grandchild", "great-grandchildren", "phone", "internet friends", "pet ant", "donkey", "cat", "rock"];const __default13 = [ "kidnapped", "hacked", "stabbed", "pushed from a cliff", "mutilated", "eaten alive", "possessed by an evil spirit", "spirited away", "hit by a car", "hit by a truck", "hit by a train", "thrown away from a flying airplane", "abducted by aliens", "burned alive", "caught in an explosion", "mauled by a bear", "mugged", "bitten by a snake", "poisoned", "crushed by an elevator", "caught in a stampede", "starved to death", "hit by lightning", "stabbed by a killer", "eaten by a shark", "caught in a tsunami", "stuck in an elevator", "shot by a stray bullet", "buried alive", "caught off-guard by the sleep paralysis demon", "eaten by monsters", "tossed from a cliff", "tied up and tossed into the Atlantic ocean", "tied up and tossed into the Pacific ocean", "tied up and tossed into the Indian ocean", "taken to Brazil", "thrown into gulag", "bonked by cheems", "killed by the imposter", "impaled by an umbrella", "turned into fumo", "returned to monke", "killed by herobrine", "eaten by ants", "electrocuted by a pikachu", "forced to eat pizza with choco chips and wasabi sauce", "discovered by a discord mod", "turned into a discord mod", "eaten by a llama", "thrown into a snake pit", "decapitated by a piece of paper", "ejected into the space", "forced to watch Dragon Ball Evolution", "burned at the stakes", "discovered by a plague doctor", "down with a fatal disease after eating moldy bread", "down with pneumonia", "crushed by an elephant", "assaulted by a yandere", "assaulted by a stalker", "mutilated alive", "killed by sunlight after being a shut-in for years", ];const { death , forward , intro , message } = __default1;const generateChainMail = (name)=>{ return `${getRandom(intro)} ${name ? name : capitalize(generateName(4 + Math.floor(Math.random() * 5)).toLowerCase())}. ${Math.random() > 0.5 ? `${Math.floor(Math.random() * 52)} years ago,` : `When I was ${5 + Math.floor(Math.random() * 12)}${Math.random() > 0.5 ? ` years old` : ""},`} I was ${getRandom(__default13)} and ${getRandom(death)}. ${capitalize(getRandom(forward))} this ${getRandom(message)} to ${5 + Math.floor(Math.random() * 5) * 10} people or ${Math.random() > 0.5 ? `you` : `your ${getRandom(__default12)}`} will be ${getRandom(__default13)}.`;};export { generateChainMail as generateChainMail };function generateStory(mc) { return penance(mc || "");}export { generateStory as generateStory };function generateString(lenn) { if (!lenn) lenn = 4 + Math.floor(Math.random() * 5); let phrase = Math.random() > 0.5 ? `${Math.floor(Math.random() * 10)}` : Math.random() > 0.5 ? getRandom(alphabet) : getRandom(alphabet).toLowerCase(); for(let pointer = 0; pointer < lenn - 1; ++pointer){ const chances = Math.random(); if (chances < 0.3) phrase += getRandom(alphabet); else if (chances > 0.3 && chances < 0.7) { phrase += getRandom(alphabet).toLowerCase(); } else phrase += Math.floor(Math.random() * 10); } return phrase;}export { generateString as generateString };const __default14 = (txt)=>{ if (!txt) return ""; return txt.replace(/(?:r|l)/g, "w").replace(/(?:R|L)/g, "W").replace(/n([aeou])/g, "ny$1").replace(/N([aeou])/g, "Ny$1").replace(/N([AEOU])/g, "Ny$1").replace(/nyny/g, "nny").replace(/NyNy/g, "NNy");};const __default15 = (txt)=>{ if (!txt) return ""; return txt.replace(/(?:l)/g, "r").replace(/(?:L)/g, "R").replace(/cute/ig, "kawaii").replace(/wife/ig, "waifu").replace(/husband/ig, "husbando");};export { __default14 as owoify };export { __default15 as weebify };const mod = { capitalize, getRandom, reverseString, owoify: __default14, weebify: __default15, generateEmail, generateCharacter, generateName, generateFantasyName, generateRace, generateString, generateChainMail, generateStory};export { mod as default };