"To Wander Theoma" by Rakeela Windrider and Kistaro Windrider Release along with a "Bisquixe" interpreter. Use DICT_WORD_SIZE of 15. Include Simple Multimedia Effects by Mathbrush. Include Basic Screen Effects by Emily Short. The block sleeping rule is not listed in the check sleeping rulebook. A person has an indexed text called a full name. Understand the full name property as describing a person. A person has an indexed text called a short name. Understand the short name property as describing a person. The player's sex is indexed text that varies. The player's gender is indexed text that varies. Understand the printed name property as describing a thing. A species is a kind of value. A person has a species. The species are vrash, vashael, kalla, vohntrai, izerah, veserus, myrskor, myrghon, swaivshon, tesam, esseri, chakocha, and undefined. The list of random dragon species is always {vrash, vashael, kalla, vohntrai, izerah, veserus, myrskor, myrghon, swaivshon}. A current city is a kind of value. The current cities are Ethriel, Edge of Paradise, Kylon, Galrien, Nowhere, Norvsiik, Comptichrak, Myrhigh, Korltian, Akaveach, Whinge, Kantin, Rhaltin, Dartroveiln, Kravakaneke, Woodwall, Kreskechrak, Nerevehn, Asere, Mosdenechrak, Zyrine, Inrakaveach, Rhakanin, Suvkeyanin, Hiakoreska, Corvuseach, Hyvaline, Wyranine, Vishen, Ghost Farm, Mivsiik, Baunt, Fishergon's Retreat, Stone River, Sea's Bounty, Viviveyrm, Sovesviik, Xanasal, Raldrani, Moriskiik, Ediveyrm, Izaeyaranth, Polser, Mania, Ztornaranth, Borochrak, Iron Hills, Shraneyrm, Isoss, Shibanyet, Korjek, Sorjek, Wild Edge, Norickhum, Phoenix Sea, Theoma's Limit, Zyaket, Inevrae, Iyanti, Mundanity, Rodrimor, Onayraye, Uskadi, Skrend, Oriaryo, Tearvek, Irovek, Kyvsiveiln, Memory of Esseri, Memory of Tesam, and Memory of Chakocha. The current city is usually Ethriel. A home in Ethriel is a truth state that varies. A home in Ethriel is usually true. A job is a kind of value. The jobs are merchantgon, servicegon, travelgon, laborgon, wildgon, agrigon, craftsgon, and unemployed. Every person has a job. The job of a person is usually unemployed. Understand the job property as describing a person. A career is a kind of value. The careers are lumbergon, huntgon, pottergon, haulergon, smithgon, farmgon, authorgon, philosophygon, sex pest, charitygon, rangergon, physical dissolutionist, mental dissolutionist, holygon, lutragon, petgon, musicgon, flygon, sportsgon, and kaimagon. A color is a kind of value. The colors are green, crimson, brown, blue, grey, black, pink, white, bronze, gold, and silver. A marking pattern is a kind of value. A person has a marking pattern. The marking patterns are stripes, speckles, spots, blotches, socks, and mask. A culture is a kind of value. The cultures are Kelkaithian, Tachamundi, Kanjamundi, and Memorian. A person has a number called age. A person has a color called a dominant color. The dominant color of a person is usually green. A person has a color called a minor color. The minor color of a person is usually green. A person has a marking pattern. The marking pattern of a person is usually stripes. An aquatic semblance is a kind of value. The aquatic semblances are fish-like, orca-like, dolphin-like, vrash-passing, and not fishy. A person has an aquatic semblance. The aquatic semblance of a person is usually not fishy. The list of veserus aquatic semblances is always {fish-like, orca-like, dolphin-like, vrash-passing}. An alloace spectrum is a kind of value. The alloace spectrums are allosexual, sex-positive asexual, and sex-repulsed asexual. A person has an alloace spectrum. The alloace spectrum of a person is usually allosexual. Displaying sheet is an action applying to nothing. Understand "sheet" as displaying sheet. Instead of displaying sheet: say "This command has not yet been implemented." A person has a number called a securityNum. The securityNum of a person is usually 7. A person has a number called an entertainNum. The entertainNum of a person is usually 7. DateDayKelkaith is a number that varies. DateDayKelkaith is usually 25. DateMonthKelkaith is a number that varies. DateMonthKelkaith is usually 3. DateDayTachamund is a number that varies. DateDayTachamund is usually 11. DateMonthTachamund is a number that varies. DateMonthTachamund is usually 4. DateSeason is a number that varies. DateSeason is usually 2. DateSeasonDay is a number that varies. DateSeasonDay is usually 4. DateYear is a number that varies. DateYear is usually 1227. DateWeekday is a number that varies. DateWeekday is usually 4. to say Current Weekday: If DateWeekday is 1: say "Niesday"; If DateWeekday is 2: say "Tinsday"; If DateWeekday is 3: say "Gwensday"; If DateWeekday is 4: say "Varsday"; If DateWeekday is 5: say "Ryesday"; If DateWeekday is 6: say "Pretsday"; If DateWeekday is 7: say "Skansday". to say Kelkaithian Month: If DateMonthKelkaith is 1: say "Frigidae"; Otherwise if DateMonthKelkaith is 2: say "Vesvor"; Otherwise if DateMonthKelkaith is 3: say "Inesqua"; Otherwise if DateMonthKelkaith is 4: say "Spring Celebration"; Otherwise if DateMonthKelkaith is 5: say "Kinish"; Otherwise if DateMonthKelkaith is 6: say "Chyran"; Otherwise if DateMonthKelkaith is 7: say "Kelit"; Otherwise if DateMonthKelkaith is 8: say "Emrak"; Otherwise if DateMonthKelkaith is 9: say "Autumn Celebration"; Otherwise if DateMonthKelkaith is 10: say "Skelundy"; to say Kelkaithian Calendar Date: say "[Kelkaithian Month] [DateDayKelkaith], [DateYear] or [DateYear]-[DateMonthKelkaith]-[DateDayKelkaith]." To say Tachamundi Month: If DateMonthTachamund is 1: say "Firstmonth"; If DateMonthTachamund is 2: say "Secondmonth"; If DateMonthTachamund is 3: say "Thirdmonth"; If DateMonthTachamund is 4: say "Fourthmonth"; If DateMonthTachamund is 5: say "Fifthmonth"; If DateMonthTachamund is 6: say "Sixthmonth"; If DateMonthTachamund is 7: say "Seventhmonth"; If DateMonthTachamund is 8: say "Eighthmonth"; If DateMonthTachamund is 9: say "Ninthmonth"; If DateMonthTachamund is 10: say "Tenthmonth"; If DateMonthTachamund is 11: say "Eleventhmonth"; If DateMonthTachamund is 12: say "Twelfthmonth"; If DateMonthTachamund is 13: say "Thirteenthmonth"; To say Tachamundi Calendar Date: say "[Tachamundi Month] [DateDayTachamund], [DateYear] or [DateYear]-[DateMonthTachamund]-[DateDayTachamund]." To say The Current Season: If DateSeason is 1: say "Winter"; If DateSeason is 2: say "Spring"; If DateSeason is 3: say "Summer"; If DateSeason is 4: say "Autumn". To say Seasonal Calendar Date: say "It is day [DateSeasonDay] of [The Current Season]." Displaying the calendar is an action applying to nothing. Understand "calendar" as displaying the calendar. Instead of displaying the calendar: say "As Kelkaith and Reytas reckon it, is is [Kelkaithian Calendar Date]"; say "As Tachamund and Kanjamund reckon it, it is [Tachamundi Calendar Date]"; say "In the calendar handed down by the land gods, it is [Seasonal Calendar Date]"; say "In all three calendars, it is a [Current Weekday]."; say "If you would like to change the calender listing on the command prompt, type in 'calendar toggle' without the quotes." Calendar Setting is a number that varies. Calendar Setting is usually 1. Calendar toggling is an action applying to nothing. Understand "calendar toggle" or "calendartoggle" as calendar toggling. Instead of calendar toggling: If Calendar Setting is less than 3: Now Calendar Setting is Calendar Setting plus 1; Otherwise: Now Calendar Setting is 1. TimekeepingVar is a number that varies. instead of waiting: follow the turnpass rule; TurnsCount is a number that varies. TurnsCount is usually 0. Every turn: now TimekeepingVar is remainder after dividing TurnsCount by 4; A person has a number called TirednessVar. TirednessVar is usually 1. This is the turnpass rule: Now TurnsCount is TurnsCount + 1; let Tiredness be the TirednessVar of the player; If Tiredness is 0: do nothing; Otherwise if Tiredness is 1: do nothing; Otherwise if Tiredness is 2: do nothing; Otherwise if Tiredness is 3: If the species of the player is izerah: say "You could sleep now. You don't need to yet."; Otherwise: say "You really badly want to sleep now."; Otherwise if Tiredness is 4: If the species of the player is izerah: say "You could sleep now. You don't need to yet."; Otherwise: say "You're really questioning the sanity of your decision to skip a night of sleep."; If a random chance of 1 in 2 succeeds: follow the zombiesleep rule; Otherwise if Tiredness is 5: If the species of the player is izerah: say "You could sleep now. You don't need to yet."; Otherwise: say "You're really questioning the sanity of your decision to skip a night of sleep."; If a random chance of 1 in 2 succeeds: follow the zombiesleep rule; Otherwise if Tiredness is 6: If the species of the player is izerah: say "You could sleep now. You don't need to yet."; Otherwise: say "You're really questioning the sanity of your decision to skip a night of sleep."; If a random chance of 1 in 2 succeeds: follow the zombiesleep rule; Otherwise if Tiredness is 7: If the species of the player is izerah: say "You're running into the limits of the izerah ability to ignore the need for sleep. You really want to go to bed."; Otherwise: say "You're really questioning the sanity of your decision to skip a night of sleep."; If a random chance of 1 in 2 succeeds: follow the zombiesleep rule; Otherwise if Tiredness > 7: say "You're really running on fumes now. The world is getting noisy and harder to perceive as your brain struggles with your lack of sleep."; If a random chance of 1 in 2 succeeds: follow the zombiesleep rule; Now the TirednessVar of the player is the TirednessVar of the player + 1; If the entertainNum of the player > 10: now the entertainNum of the player is 10; If the entertainNum of the player < 0: now the entertainNum of the player is 0; let the boredom chance be 11 - the entertainNum of the player; If a random chance of 1 in boredom chance succeeds: If the entertainNum of the player > 8: say "You feel your elation fading."; now the entertainNum of the player is the entertainNum of the player - 1; Otherwise if the entertainNum of the player > 6: say "You're starting to feel a bit bored."; now the entertainNum of the player is the entertainNum of the player - 1; Otherwise if the entertainNum of the player > 4: say "You feel like it's been far too long since you did something fun."; now the entertainNum of the player is the entertainNum of the player - 1; Otherwise if the entertainNum of the player > 2: say "You're starting to feel depressed."; now the entertainNum of the player is the entertainNum of the player - 1; Otherwise if the entertainNum of the player > 0: say "Immortality is a curse, after all."; now the entertainNum of the player is the entertainNum of the player - 1; Otherwise: do nothing; If the securityNum of the player > 10: now the securitynum of the player is 10; If a random chance of 1 in 100 succeeds: say "You feel nervous for no obvious reason."; now the securityNum of the player is the SecurityNum of the player - 1; If the securityNum of the player < 0: now the securitynum of the player is 0; If TimekeepingVar is 3: Now DateDayKelkaith is DateDayKelkaith + 1; Now DateDayTachamund is DateDayTachamund + 1; Now DateSeasonDay is DateSeasonDay + 1; Now DateWeekday is DateWeekday + 1; If DateWeekday is 8: Now DateWeekday is 1; If DateMonthKelkaith is 4: If DateDayKelkaith is 8: Now DateDayKelkaith is 1; Now DateMonthKelkaith is 5; Otherwise if DateMonthKelkaith is 9: If DateDayKelkaith is 8: Now DateDayKelkaith is 1; Now DateMonthKelkaith is 10; Otherwise if DateMonthKelkaith is 11: Now DateMonthKelkaith is 1; Now DateYear is DateYear + 1; Otherwise: If DateDayKelkaith is 36: Now DateDayKelkaith is 1; Now DateMonthKelkaith is DateMonthKelkaith + 1; If DateDayTachamund is 29: Now DateDayTachamund is 1; Now DateMonthTachamund is DateMonthTachamund + 1; If DateMonthTachamund is 14: Now DateMonthTachamund is 1; This is the zombiesleep rule: say "You can't help yourself any longer. You wander off, semi-conscious, and find somewhere to fall asleep."; try silently going home; try silently sleeping; To say Time Of Day: If TimekeepingVar is 0: say "Morning"; If TimekeepingVar is 1: say "Afternoon"; If TimekeepingVar is 2: say "Evening"; If TimekeepingVar is 3: say "Night"; Name your Character is a room. "What is your name? Names in Theoma mostly take the form of X the Y, where X is the name and Y is a title or descriptor that applies to your character. Alternatively, some dragons are named X of Z, where X is still their name and Z is a theome or city with special significance to the individual. If your title is a profession, remember the -gon suffix!" When play begins: now the dominant color of the player is a random color; now the minor color of the player is a random color; while the minor color of the player is the dominant color of the player: now the minor color of player is a random color; now the marking pattern of the player is a random marking pattern; now the species of the player is chakocha; now the TheomaGender of the player is a random number between 1 and 3; now the TheomaSex of the player is a random number between 1 and 3; now the age of the player is 100; now the command prompt is "What is your name? > ". Table of Fancy Status left central right "[Current Time and Date]" "[Location]" "" "Mood: [Boredom Indicator]" "Confidence: [Security Indicator]" "" To say Boredom Indicator: If entertainNum of the player > 8: say "Elated"; Otherwise if entertainNum of the player > 6: say "Calm"; Otherwise if entertainNum of the player > 4: say "Bored"; Otherwise if entertainNum of the player > 2: say "Depressed"; Otherwise: say "Cursed"; To say Security Indicator: If securityNum of the player > 8: say "Invulnerable"; Otherwise if securityNum of the player > 6: say "Comfortable"; Otherwise if securityNum of the player > 4: say "Uncertain"; Otherwise if securityNum of the player > 2: say "Anxious"; Otherwise: say "Broken"; Rule for constructing the status line: fill status bar with Table of Fancy Status; rule succeeds. To decide whether collecting names: if the command prompt is "What is your name? > ", yes; no. To say Current Time and Date: If Calendar Setting is 1: say "[Time of Day], [DateYear]-[DateMonthKelkaith]-[DateDayKelkaith]"; If Calendar Setting is 2: say "[Time of Day], [DateYear]-[DateMonthTachamund]-[DateDayTachamund]"; If Calendar Setting is 3: say "[Time of Day], [The Current Season] [DateSeasonDay], [DateYear]"; After reading a command when collecting names: now the full name of the player is the player's command; now the short name of the player is word number 1 in the player's command; now the command prompt is "[Current Time and Date]>"; say "Hi, [short name of the player]![paragraph break]"; say "[banner text]"; move the player to Your Home in Ethriel; reject the player's command. To say veserus body description: say "You have a[if aquatic semblance of the player is orca-like]n[end if] [aquatic semblance of the player][if aquatic semblance of the player is not vrash-passing] yet draconic[end if] face on a body that is in general that of a quadrupedal dragon's. You have four legs, the front two of which end in pfods that you can with equal faculty use as hands or walk on. You only breathe in order to talk. When you're standing around or even when you're exerting yourself, your chest is still unless you're moving. Beyond the details of your patterning, you also have bioluminescent stripes any part of which can be made to glow at your will, and in fact you can speak without sound by glowing in patterns along your stripes."; To say marking pattern description of the player: say "accents of [minor color of the player] in [if the marking pattern of the player is mask]a mask-like pattern[otherwise][marking pattern of the player][end if]." To say marking pattern description: say "accents of [minor color] in [if the marking pattern is mask]a mask-like pattern[otherwise][marking pattern][end if]." Instead of examining the player: if the species of the player is vrash: say "You have four legs, the front two of which end in pfods that you can with equal faculty use as hands or walk upon. You have broad wings upon your back and a muscular, prehensile tail. You are not hugely tall, but the length and strength of your body gives you quite a strong presence. You are not especially dexterous, but the world is soft to you, partly because you are strong, and partly because your magic reshapes the things you touch. Your steps upon the road leave the road finer and greater than it was before you trod upon it."; otherwise if the species of the player is vashael: say "You stand on two legs in a forward posture with your tail extending behind you, though you can drop to all fours if you're feeling shy. You have broad wings upon your back and a drifting wind perpetually circling you. The wind is comfortable and friendly."; otherwise if the species of the player is kalla: say "You are a two-legged bipedal dragon resembling the gryphons of prior worlds. You have a beak! Your feet end in hooves like those of horses, and you have a horse tail behind you. You have no wings. Your forearms are heavily scaled in your minor color (which is also the color of your beak), and have a great grip and dexterity, perhaps the best dexterity among all dragons. It's a small compensation for being smaller, weaker, and flightless relative to most dragons. Sparks of electricity occasionally travel along your limbs, especially if you summon them on purpose."; otherwise if the species of the player is vohntrai: say "You are a two-legged bipedal dragon like a bipedal version of a vrash. You are a bit skinny and a little taller than a kalla, but certainly any vashael looms over you. You have grip and dexterity rivaling a kalla, but you are as flightless as a kalla. You are very faintly translucent; you can see through yourself, not into yourself, as though you were just a little unreal."; otherwise if the species of the player is izerah: say "You are a two-legged bipedal dragon with a forward posture similar to that of a vashael, but somewhat smaller, and slightly less flexible. You cannot comfortably move on all fours. You have no wings! However, you have infinite endurance, and your ability to exert yourself is limited only by the need to sleep every other night. You feel almost perpetually invigorated."; otherwise if the species of the player is veserus: say "[veserus body description]"; otherwise if the species of the player is myrskor: say "You are a quadrupedal dragon with exaggerated earfins to each side of your head. You have four legs, the front two of which end in pfods that you can with equal faculty use as hands or walk upon. You are not especially dexterous, but you can get by in all but the finest tasks. Your body can emit sunlight from any part of itself, and it really is sunlight, not just bioluminescence. Your glow is warm!"; otherwise if the species of the player is myrghon: say "You are a small, fat bipedal dragon, the smallest species of dragon in fact. Your body type is beyond your control, barring powerful necromantic flesh-sculpting, but generally nobody cares. Myrghon always tend to be too skinny or too fat. It's just your species. You have six blue hexagonal diamond gems floating nearby. You can move them wherever you want within a few feet of your body, and they're VERY strong."; otherwise if the species of the player is swaivshon: say "You are a furry quadrupedal dragon. You have a similar bodily structure to a vrash, complete with pfods that you can walk on or use as hands. Complex horns — often likened to antlers — rise from the back of your head. A tremendous sense of comfort and safety fills you almost always. Your body resists everything. You can stick your pfod in a fire without getting burned. You can walk through a blizzard without getting cold. If someone struck you with intent to do violence to you, they would be unlikely to get through your fur. While you do not try to harm others, the world also will not try to harm you."; otherwise if the species of the player is tesam: say "You are a legendary tesam! You are a short bipedal furred creature with a long body and a heavy tail. Your hands are webbed, but still very dexterous. You are extremely flexible and proportionally quite strong, albeit only in the way that kalla are proportionally quite strong, and still certainly not strong enough to haul a wagon. You have no wings. You resemble an otter."; otherwise if the species of the player is esseri: say "You are a legendary esseri! You are a short bipedal furred creature with a long body and a moderate tail. Your dexterity is exceptional, and you are extremely flexible and agile. You are proportionally quite strong, albeit only in the way that kalla are proportionally quite strong, and still certainly not strong enough to haul a wagon. You have no wings. You resemble a ferret."; otherwise if the species of the player is chakocha: say "You are a legendary chakocha! You are a long-bodied dragon with heavy overlapping scales. You are as strong as a vrash and far more flexible, however you have no wings. You resemble a mix between a dragon, an otter, and a pangolin."; say "Your [if species of the player is kalla]feathers and fur[otherwise if species of the player is tesam]fur[otherwise if species of the player is esseri]fur[otherwise if species of the player is swaivshon]fur[otherwise]scales[end if] are [dominant color of the player] with [marking pattern description of the player]."; Your Home in Ethriel is a room. "You, [full name of player], live in a five story home in Ethriel, on the fifth floor of Dome Three. Your home is quite humble by the standards of Ethriel, tall and narrow as most homes in the city-dome are. You sleep on the top floor. The view from the windows doesn't go outside, but only to the street below and the tall, narrow buildings on the other side of it. You've been saving up resources to go on a long journey. Click [chargenlink chargen start] or type 'chargen' (without the quotes) to start creating your character. (It is highly recommended to play this game using a mouse as your primary input mechanism.)" Chargencondition is a truth state that varies. Chargencondition is usually false. Initial Character Generation is a scene. Initial Character Generation begins when chargencondition is true. Initial Character Generation ends when chargencondition is false. Understand "chargen" as initial character generation. Initial character generation is an action applying to nothing. Instead of initial character generation in Your Home in Ethriel: Now the species of the player is a random item from the list of random dragon species; Now chargencondition is true; say "[chargencore]"; To say chargenlink (nextChargenLink - a chargenlink): hyperlink "[Displayname of nextChargenLink]" as "zzxvm [nextChargenLink]" A chargenlink is a kind of thing. Understand "zzxvm [any chargenlink]" as chargen linking. Chargen linking is an action applying to one thing. Carry out chargen linking: if the noun is a chargenlink listed in the Table of All ChargenLinks: clear the screen; say "[reply entry]"; otherwise: say "[bold type]BUG:[roman type] Tried to carry out chargen linking with [italic type][the noun][roman type] but that does not appear to be a chargen link:"; showme the noun; Chargenlinks are defined by the table of all chargenlinks. A chargenlink has some text called the reply. When play begins: now every chargenlink is held by the player; Table of All Chargenlinks chargenlink Displayname reply chargen start "here" "[chargen start]" Alloace Toggle "Alloace Toggle" "[alloace toggle]" Species Selector "Species Selector" "[species selector]" Choosing Vrash "Vrash" "[select vrash]" Choosing Vashael "Vashael" "[select vashael]" Choosing Izerah "Izerah" "[select izerah]" Choosing Veserus "Veserus" "[select veserus]" Choosing Kalla "Kalla" "[select kalla]" Choosing Swaivshon "Swaivshon" "[select swaivshon]" Choosing Myrskor "Myrskor" "[select myrskor]" Choosing Myrghon "Myrghon" "[select myrghon]" Choosing Vohntrai "Vohntrai" "[select vohntrai]" Gender Toggle "Gender Toggle" "[gender toggle]" Sex Toggle "Sex Toggle" "[sex toggle]" Enter Career Selector "Career Selector" "[career selector]" Choosing Pottergon "Pottergon" "[select pottergon]" Choosing Haulergon "Haulergon" "[select haulergon]" Choosing Lumbergon "Lumbergon" "[select lumbergon]" Choosing Smithgon "Smithgon" "[select smithgon]" Choosing Huntgon "Huntgon" "[select huntgon]" Choosing Farmgon "Farmgon" "[select farmgon]" Choosing Authorgon "Authorgon" "[select authorgon]" Choosing Philosophygon "Philosophygon" "[select philosophygon]" Choosing Sex Pest "Sex Pest" "[select sex pest]" Choosing Charitygon "Charitygon" "[select charitygon]" Choosing Rangergon "Rangergon" "[select rangergon]" Choosing Physical Dissolutionist "Physical Dissolutionist" "[select physical dissolutionist]" Choosing Mental Dissolutionist "Mental Dissolutionist" "[select mental dissolutionist]" Choosing Holygon "Holygon" "[select holygon]" Choosing Lutragon "Lutragon" "[select lutragon]" Choosing Petgon "Petgon" "[select petgon]" Choosing Musicgon "Musicgon" "[select musicgon]" Choosing Flygon "Flygon" "[select flygon]" Choosing Sportsgon "Sportsgon" "[select sportsgon]" Choosing Kaimagon "Kaimagon" "[select kaimagon]" To say chargen start: Now the species of the player is a random item from the list of random dragon species; Now chargencondition is true; say "[chargencore]" To say chargencore: say "[chargenlink Alloace Toggle]: [alloace spectrum of the player][line break]"; say "[chargenlink Species Selector]: [species of the player][line break]"; say "[chargenlink Gender Toggle]: [the player's TheomaGender][line break]"; say "[chargenlink Sex Toggle]: [the player's TheomaSex][line break]"; say "Age: [age of the player] years[line break]"; say "[career sanity check] To reset your careers, reselect your species."; say "[Many careers]"; To say alloace toggle: if the alloace spectrum of the player is allosexual: Now the alloace spectrum of the player is sex-positive asexual; Otherwise if the alloace spectrum of the player is sex-positive asexual: Now the alloace spectrum of the player is sex-repulsed asexual; Otherwise if the alloace spectrum of the player is sex-repulsed asexual: Now the alloace spectrum of the player is allosexual; Clear the screen; say "[chargencore]"; A person has a number called TheomaGender. To say the player's TheomaGender: If the TheomaGender of the player is 1: say "male"; Otherwise if the TheomaGender of the player is 2: say "female"; Otherwise if the TheomaGender of the player is 3: say "herm"; To say gender toggle: If the TheomaGender of the player is 1: Now the TheomaGender of the player is 2; Otherwise if the TheomaGender of the player is 2: Now the TheomaGender of the player is 3; Otherwise if the TheomaGender of the player is 3: Now the TheomaGender of the player is 1; Clear the screen; say "[chargencore]"; A person has a number called TheomaSex. To say the player's TheomaSex: If the TheomaSex of the player is 1: say "male"; Otherwise if the TheomaSex of the player is 2: say "female"; Otherwise if the TheomaSex of the player is 3: say "herm"; To say sex toggle: If the TheomaSex of the player is 1: Now the TheomaSex of the player is 2; Otherwise if the TheomaSex of the player is 2: Now the TheomaSex of the player is 3; Otherwise if the TheomaSex of the player is 3: Now the TheomaSex of the player is 1; Clear the screen; say "[chargencore]"; To say many careers: Let career length be the number of entries in the career history of the player; If the career history of the player is empty: say ""; Otherwise if career length is 1: say "First career: [entry 1 of the career history of the player]"; Otherwise if career length is 2: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player]"; Otherwise if career length is 3: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player]"; Otherwise if career length is 4: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player]"; Otherwise if career length is 5: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player]"; Otherwise if career length is 6: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player]"; Otherwise if career length is 7: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player]"; Otherwise if career length is 8: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; Otherwise if career length is 9: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; Otherwise if career length is 10: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; say "Tenth career: [entry 10 of the career history of the player]"; Otherwise if career length is 11: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; say "Tenth career: [entry 10 of the career history of the player][line break]"; say "Eleventh career: [entry 11 of the career history of the player][line break]"; Otherwise if career length is 12: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; say "Tenth career: [entry 10 of the career history of the player][line break]"; say "Eleventh career: [entry 11 of the career history of the player][line break]"; say "Twelfth career: [entry 12 of the career history of the player]"; Otherwise if career length is 13: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; say "Tenth career: [entry 10 of the career history of the player][line break]"; say "Eleventh career: [entry 11 of the career history of the player][line break]"; say "Twelfth career: [entry 12 of the career history of the player][line break]"; say "Thirteenth career: [entry 13 of the career history of the player]"; Otherwise if career length is 14: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; say "Tenth career: [entry 10 of the career history of the player][line break]"; say "Eleventh career: [entry 11 of the career history of the player][line break]"; say "Twelfth career: [entry 12 of the career history of the player][line break]"; say "Thirteenth career: [entry 13 of the career history of the player][line break]"; say "Fourteenth career: [entry 14 of the career history of the player]"; Otherwise if career length is 15: say "First career: [entry 1 of the career history of the player][line break]"; say "Second career: [entry 2 of the career history of the player][line break]"; say "Third career: [entry 3 of the career history of the player][line break]"; say "Fourth career: [entry 4 of the career history of the player][line break]"; say "Fifth career: [entry 5 of the career history of the player][line break]"; say "Sixth career: [entry 6 of the career history of the player][line break]"; say "Seventh career: [entry 7 of the career history of the player][line break]"; say "Eighth career: [entry 8 of the career history of the player][line break]"; say "Ninth career: [entry 9 of the career history of the player][line break]"; say "Tenth career: [entry 10 of the career history of the player][line break]"; say "Eleventh career: [entry 11 of the career history of the player][line break]"; say "Twelfth career: [entry 12 of the career history of the player][line break]"; say "Thirteenth career: [entry 13 of the career history of the player][line break]"; say "Fourteenth career: [entry 14 of the career history of the player][line break]"; say "Fifteenth career: [entry 15 of the career history of the player]"; To say species selector: say "The species options are vrash, vashael, izerah, veserus, kalla, swaivshon, myrskor, myrghon, and vohntrai. There are a few hidden species options accessible through necromantic species reassignment later — no, not skeleton dragon — but the starting options are those. Clicking a name will set your species and take you back to the chargen overview menu."; say "[chargenlink Choosing Vrash]: The vrash are winged quadrupedal dragons. They walk on four legs, but their forelimbs are also dexterous hands. Such hand-feet are called 'pfods'. Vrash can walk three-legged to carry an object. One of the three abundant species of Theoma, vrash are the strongest dragons of all. They typically wear armor, but this is generally only a show of wealth, and expensive clothing sometimes takes the place of traditional vrash armor. Vrash have the most awesome innate magic, being the ability to pay only basic drain (ie, bodily fatigue) for the ability to reconfigure (though not transmute) objects that they are touching."; say "[chargenlink Choosing Vashael]: The vashael are winged theropod dragons. They walk on two legs, although they can drop and move on four instead if they chooose. One of the three abundant species of Theoma, vashael are strong enough to pull laden wagons. They have a perpetual breeze flowing about them and can manipulate the wind while paying only basic drain (ie, bodily fatigue). This ability is called the 'amicus breeze'. Vashael are instinctively the best flyers among dragonkind, flying faster than other dragons with less fatigue for distance, though this ability is difficult to use in trade without owning one of the very rare flying wagons."; say "[chargenlink Choosing Izerah]: The izerah are wingless theropod dragons. They are the smallest of the three abundant species of dragons. Izerah have no innate magic, but they do not tire. They have limitless stamina. They need to sleep only every other night, and nothing stops them from sprinting for two days straight before collapsing into slumber. They cannot fly, but their ability to sprint unceasingly means they are actually more mobile than the average vrash or vashael, who finds flying at least a little tiring. Izerah are stereotyped for their restless nomadism, but it isn't true of all of them. They are also stereotyped for always having energy, and that stereotype is generally accurate. Izerah are almost never strong enough to pull wagons designed for vrash and vashael, but they do often pull izerah carts."; say "[chargenlink Choosing Veserus]: The veserus are winged quadrupedal dragons. They are technically the fourth abundant species of Theoma, but most veserus live underwater such that their presence and cultural influence on the surface is limited. They are as strong as vrash and have more stamina. They may look like fish-dragons, cetacean-dragons, or just like vrash. They don't have gills, and in fact do not breathe for any purpose other than speaking. They have complex bioluminescent stripes which may be made to glow in any pattern, and while underwater they speak in glow-language. Their only innate magic is being unbreathing."; say "[chargenlink Choosing Kalla]: The kalla are wingless anthro hippogryphs. Stronger than humans, kalla are nonetheless smaller and weaker than most dragons. They cannot fly and are unlikely to be able to pull wagons. Your manual dexterity is superior to that of most dragons, and you have an innate intuition for the physical (but not magical) mechanisms of the world. Kalla are famous as inventorgons and craftsgons, and are said to have a natural affinity for Weld magics. You have the ability to summon lightning while paying only basic drain (ie, bodily fatigue), but this violent ability is famously useless. In general, they are considered a more limited and unfortunate kind of dragon, and this choice will make your game harder."; say "[chargenlink Choosing Swaivshon]: The swaivshon are winged furry quadrupedal dragons. They have the stature of vrash, but they're only about as strong as vashael, which is still sufficient to pull a wagon. Swaivshon are occasionally called 'saint souls' and it is considered expected that they never do any harm to anyone. This positive stereotyping makes their social lives easier as other dragons naturally trust swaivshon. Swaivshon naturally resist magic that they disapprove of, which makes them luckier as they resist negative Fates without knowing what they're resisting. They also resist temperature extremes, physical violence, poisons of all sorts, and even necromantic energies. Aside from this omni-resistance, they have no innate magic."; say "[chargenlink Choosing Myrskor]: The myrskor are wingless quadrupedal dragons. They have very large fins, particularly on their cheeks. They have pfods as vrash do, with similar dexterity and similar limitations, and they are almost as strong. Any part of a myrskor can be made to glow brightly, as often as the myrskor wishes to make it glow, and they can summon orbs that emit warm, bright sunlight at a minor temporary cost to their sanity (it is generally considered safe and desirable to summon one every week, as they are a saleable trade good). Myrskor can sense the distance and direction to every orb they've ever made. Myrskor can learn veserus glow-language."; say "[chargenlink Choosing Myrghon]: The myrghon are wingless anthro dragons. They are the smallest of dragons, shorter than vohntrai and kalla (though stronger than vohntrai), and their metabolisms run peculiarly; they tend to either pack on the pounds or find it impossible to gain weight. Their innate magic is a set of floating gems, two for every power of ten in their age, which they can control to a range of about twenty feet with very forceful telekinesis. Myrghon are said to share the dexterity and mechanical intuition of kalla, but they are rare on the surface as most myrghon live in the Deep-Under. Very few myrghon have ever been born in Theoma; their species is almost 100% composed of primordial dragons who were created by the greater divinities, and as such nearly all myrskor have exactly six gems. Being a myrghon locks the age selector at 15 careers."; say "[chargenlink Choosing Vohntrai]: The vohntrai are wingless anthro dragons. They are the weakest kind of dragon, but highly dexterous. Their innate magic is self-resurrection. A vohntrai who dies to any cause resurrects five years later in a safe location. However, the death rate in Theoma is so low, that vohntrai are generally considered cursed rather than blessed, because of their weakness and the fact that their memories extend only four hundred years into the past. They are also famously bad at necromancy. In general, they are considered a more limited and unfortunate kind of dragon, and this choice will make your game harder."; To say select vrash: Now the species of the player is vrash; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select vashael: Now the species of the player is vashael; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select izerah: Now the species of the player is izerah; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select veserus: Now the species of the player is veserus; Now the aquatic semblance of the player is a random item from the list of veserus aquatic semblances; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select kalla: Now the species of the player is kalla; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select swaivshon: Now the species of the player is swaivshon; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select myrskor: Now the species of the player is myrskor; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say select myrghon: Now the species of the player is myrghon; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 1227; Clear the screen; say "[chargencore]"; To say select vohntrai: Now the species of the player is vohntrai; Now the aquatic semblance of the player is not fishy; Now the career history of the player is {}; Now the age of the player is 100; Clear the screen; say "[chargencore]"; To say career sanity check: Let career length be the number of entries in the career history of the player; If career length is less than 12: say "[chargenlink Enter Career Selector][line break]"; Otherwise if career length is less than 15: If the species of the player is myrghon: say "[chargenlink Enter Career Selector][line break]"; Otherwise: say "Career limit reached."; Otherwise if career length is 15: say "Career limit reached."; To calculate the age of (P - a person): Let career length be the number of entries in the career history of P; Let calculated age be 30; Repeat with counter running from 1 to career length: Let calculated age be calculated age plus 79; Let calculated age be calculated age plus a random number between 1 and 21; If career length is not 1: Let calculated age be calculated age minus a random number between 1 and 70; If the species of P is not myrghon: Now the age of P is the calculated age; Otherwise if the species of P is myrghon: Do nothing; To say career selector: say "Your character starts at age 30, but the first career is mandatory. Every career will add 79+1d21 years to your character's age."; say "[chargenlink Choosing Pottergon]: A pottergon is a dragon who made their way by creating clayware. Pots are a basic, ubiquitous trade good that are as old as the world. They are necessary for storage and transit, and they are often used as cooking vessels or tableware. Additionally, pottergons are responsible for making ceramic floor tiles. In addition to the savings from having worked this career, a former pottergon will have a skill bonus applicable to finding and evaluating claywares."; say "[haulergon check]"; say "[chargenlink Choosing Lumbergon]: A lumbergon practiced the harvesting and processing of wood for use in construction and manufacturing. Considered an unskilled trade, this brings with it some familiarity with the wilderness as well as a bonus to stamina (for non-izerah). It provides a bonus for finding and evaluating cargos of wood or woodworking tools."; say "[chargenlink Choosing Smithgon]: A smithgon is a metalworker. This is a skilled trade that will have included a lengthy apprenticeship including some books and skillgem usage. In Ethriel, this will have included working with the superior construction metal known as 'swaivshon alloy'. You will start with a Piety Fatecharm of Smithing. Taking this career again will increase the strength of its enchantment (up to 4 times)."; say "[chargenlink Choosing Huntgon]: A huntgon hunts for meat, hide, and other animal products, as well as producing a secondary intake of herbs, fungi, and edible plants. This career comes with an extensive familiarity with wilderness areas. You will start with a Piety Fatecharm of Hunting. Taking this career again will increase the strength of its enchantment (up to 4 times). Being a huntgon doesn't pay very well, but Theoma is not densely settled. You can make your way across most lands by hunting for food. If you're good at hunting, you can travel with no preparation. You can even generate shipments by sweat equity."; say "[chargenlink Choosing Farmgon]: A farmgon grows crops. Dragons can live by meat alone, but many of them are fond of baked goods. There's a bonus to evaluating crops, but the primary bonus is social. Theoman farmers are frequently tight-knit."; say "[chargenlink Choosing Authorgon]: Authorgons can be profitable in theory, but not you. That doesn't mean you're bad at what you do. It just means that you've struggled to find a market. Perhaps the problem is just how expensive distribution is. There's got to be a better way than copying texts by hand... You spend a lot of time copying your books for distribution, and a lot of your income getting your books copied by distributors. You're a fast, accurate writer in the literal sense, and you have a keen empathetic sense from studying literature and producing it. The land gods might favor you... Your piety is increased by this profession. You start with a collection of bookgems you've already read as well as a wagonload of books for every time you take this profession, to a maximum of five wagonloads of books, after which the surplus will be converted to savings. The five wagonloads limit is shared with philosophygon career terms."; say "[chargenlink Choosing Philosophygon]: Philosophygons have rarely ever been profitable. In this time period of this world, you have to be your own scribegon. That doesn't help. This career makes you respectable to people much richer than you, enough that they'll provide some amount of resources, but not enough that they'll make you rich. They see you as having no need of riches. Quite probably, you see yourself as having no need of riches, or you wouldn't have tried this. This career is the best way to learn to teach, and it will give you a wagonload of books every time you take it, up to five wagonloads, after which the surplus will be converted to savings. The five wagonloads limit is shared with authorgon career terms."; say "[sex pest check]"; say "[chargenlink Choosing Charitygon]: The protective embrace of Fate reduces the degree to which misfortune befalls dragonkind, but sometimes what the protective embrace of Fate does to protect dragons is to direct them towards dragons who stand ready to help them. Stepping in to provide free services is as benevolent here as it is in any world. Career terms spent on charity work will build up your influence and leadership potential, but not your wealth."; say "[chargenlink Choosing Rangergon]: Rangergons are huntergons who aren't serving a market. Hunting for enjoyment, pleasure, or even ranger, the rangergon studies the wilderness and takes only as much prey as they need to stay supplied. You will start with a Piety Fatecharm of Hunting. Terms in this career stack with terms in huntgon for determining the level of the Fatecharm (up to four terms). You also learn more as a rangergon, even picking up some magic."; say "[chargenlink Choosing Physical Dissolutionist]: Physical dissolutionists are hedonistic geomancers who are only concerned with finding what is most pleasurable, and who favor physical pleasures. They drink, play, and fuck. They learn physical games and music, but they differ from sportsgons and musicgons by lacking dedication. They learn sexual skills, but they differ from mere sex pests by studying magical abilities as well. Physical dissolutionists are probably the single least reputable kind of geomancer, but they are still geomancers, and they still learn holy spells. This career will provide a diverse range of entertainment skills and a little bit of magic. Even sex-positive asexuals will pick up sexual skills in this career, but it is possible to be a sex-repulsed physical dissolutionist, skipping those."; say "[chargenlink Choosing Mental Dissolutionist]: Mental dissolutionists are hedonistic geomancers who are only concerned with finding what is most pleasurable, and who favor mental pleasures. They study games and culture, and can often be quite refined individuals. This career provides some entertainment skills, a little bit of magic, and some influence. This career also slightly trains sexuality even for those disinclined to initiate sex, as long as the prospect doesn't repulse them."; say "[chargenlink Choosing Holygon]: Some dragons fall entirely into the contemplation of what is holy. Immortality in a pleasant world frees them to spend their lives in prayer and contemplation. This is usually a kind of geomantic dedication; holygons pick up Chime magic, and a smattering of spells from other principles. Dragons think this career provides them the information that they need to evaluate the social dynamics of the Consensus, the reigning body of greater divinities that controls Theoma."; say "[chargenlink Choosing Lutragon]: Lutragons love water, and they love the party culture of the tesams, who resemble otters. Tesams don't exist in Theoma (or do they?), but they existed in prior worlds and your home city of Ethriel is one of the places where their culture is preserved. This is one of the best ways to gain past world knowledge, but otherwise yields only entertainment skills and a modicum of hunting. Sexuality is quite favored among Lutragons, but not so obligatory that a sex-repulsed lutragon is an impossibility."; say "[petgon check]"; say "[chargenlink Choosing Musicgon]: A musicgon has dedicated themselves to pleasing the ear, or at least impressing it. 80-odd years of dedication to music will make you really quite good at it. Can you imagine what someone would be like if they had a thousand years to dedicate to music? Maybe practicality demands a limit, but how you distribute your careers is up to you. In any case, the lack of celebrity, imperial, or otherwise elite culture in Theoma limits the income potential."; say "[flygon check]"; say "[chargenlink Choosing Sportsgon]: A sportsgon dedicated decades of blessed eternal youth to maximizing their ability to play games of strength and agility. This career mostly develops your physical condition. It has the largest strength bonus of all careers, as well as a small piety bonus. There are some good group entertainment skills here if you gather together a group of sportsgons, or dragons willing to learn. Some dedicated mental dissolutionists put a career into being sportsgons just to maximize their ability to play every game in Theoma, covering both mind and body."; say "[chargenlink Choosing Kaimagon]: A kaimagon is a specialist in a kind of divination popularly practiced in the region of Ethriel, called Kaima. It is a distinctly regional system, with other systems predominating in other regions, but you can carry it with you. Kaima is primarily an entertainment skill whose predictive power is bluntly inferior to actual divination magic, but kaimagons say that it preserves their serenity while telling them what the Consensus wants them to know. Being a kaimagon will give you a tool to scrape up funds while in travel that is also good for entertaining people in your party."; To say haulergon check: If the species of the player is kalla or the species of the player is vohntrai: say "[species of the player] are almost never strong enough to haul wagons, and unlike myrghon, they do not have access to magitech wagons to take the place of physical strength."; Otherwise: say "[chargenlink Choosing Haulergon]: A haulergon is a a dragon who made their way by hauling goods in a local region. This is merchant work, if very repetitive merchant work, and ably develops the mercantile skill, slightly improving the ability to find and evaluate all cargos. It also promotes the development of stamina and teaches the reading of bookgems, which can be appreciated while walking. Myrghon and izerah are not strong enough to haul vashael wagons, but can drive myrghon wagons and haul izerah carts respectively." To say sex pest check: If the alloace spectrum of the player is allosexual: say "[chargenlink Choosing Sex Pest]: With no unplanned pregnancies, no STDs, and benevolent Fates protecting individual dragons from the majority of unpleasant encounters, sexuality is very open in Theoma, and a high libido is generally considered a positive trait. This is all some dragons need to decide that they dwell in paradise. This career will exaggerate your basic social skills and provide a bonus to finding and evaluating cargos of intimacy aids. The experience gained here can also help provide cheap entertainment while travelling."; Otherwise: say "Some dragons make a 'career' out of sexuality, but even sex-positive asexuals lack the necessary drive."; To say petgon check: If the alloace spectrum of the player is sex-repulsed asexual: say "[chargenlink Choosing Petgon]: A petgon is a dragon who has dedicated themselves to being someone else's live-in pet. The usual benefactor is someone wealthy. It is typical for petgons to be artists benefitting from the patronage of one person willing and able to support them. It is not strictly necessary that a 'petgon' is a submissive partner in their relationship. You might have deeply loved your benefactor, or you might have thought you'd get a share of their wealth, but either way it obviously didn't last forever considering that you're going adventuring without them or their money. These relationships are typically sexual, but it's possible in the absence of sex to pursue these relationships for love and/or artistic patronage."; Otherwise: say "[chargenlink Choosing Petgon]: A petgon is a dragon who has dedicated themselves to being someone else's live-in pet. The usual benefactor is someone wealthy. It is typical for petgons to be artists benefitting from the patronage of one person willing and able to support them. It is not strictly necessary that a 'petgon' is a submissive partner in their relationship. You might have deeply loved your benefactor, or you might have thought you'd get a share of their wealth, but either way it obviously didn't last forever considering that you're going adventuring without them or their money. These relationships are typically sexual, so some sexual skills training is included."; To say flygon check: If the species of the player is kalla or the species of the player is vohntrai or the species of the player is myrghon or the species of the player is myrskor: say "Your species is not capable of flight, and does not typically spend all day jogging just for fun."; Otherwise if the species of the player is izerah: say "[chargenlink Choosing Flygon]: Your species is not capable of flight, but some izerah are called flygons anyways. They're the ones who just run non-stop for the sheer pleasure of running. This is considered pretty dumb — popular opinion is that you ought to at least be carrying trade goods (working as a haulergon) while running long distances, and flygons are disparaged as bums — but there's a certain freedom in traveling places without needing to worry about market conditions. This career mostly develops your physical condition. It has the largest speed bonus of all careers. Be careful about overinvesting in speed. You'll be traveling with others at some point, won't you? You'll never be faster than the slowest member of your party. If you do ground travel with non-izerah, the base speed of the izerah will never be met by the mixed-species group, and all career speed bonuses will be wasted. Even with other izerah, being the most fly dragon in the party will mean slowing down for izerah who didn't take their species gift in the same direction."; Otherwise: say "[chargenlink Choosing Flygon]: A flygon is a dragon who has dedicated themselves to flight. You may have worked as a courier or traded small amounts of rare goods, or you may even have leaned on beggary, but your priority was always spending as much time as possible in the air. You fly faster with less fatigue and boredom than other dragons. This career mostly develops your physical condition. It has the largest speed bonus of all careers. Be careful about overinvesting in speed. You'll be traveling with others at some point, won't you? You'll never be faster than the slowest member of your party. If you do ground travel, the flight speed bonus will be wasted. Even if you stay in the air, being the most fly dragon in the party will mean slowing down for dragons who didn't lavish so much love upon their wings."; To say select pottergon: employ the player as a pottergon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select haulergon: employ the player as a haulergon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select lumbergon: employ the player as a lumbergon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select smithgon: employ the player as a smithgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select huntgon: employ the player as a huntgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select farmgon: employ the player as a farmgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select authorgon: employ the player as an authorgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select philosophygon: employ the player as a philosophygon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select sex pest: employ the player as a sex pest; calculate the age of the player; clear the screen; say "[chargencore]"; To say select charitygon: employ the player as a charitygon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select rangergon: employ the player as a rangergon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select physical dissolutionist: employ the player as a physical dissolutionist; calculate the age of the player; clear the screen; say "[chargencore]"; To say select mental dissolutionist: employ the player as a mental dissolutionist; calculate the age of the player; clear the screen; say "[chargencore]"; To say select holygon: employ the player as a holygon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select lutragon: employ the player as a lutragon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select petgon: employ the player as a petgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select musicgon: employ the player as a musicgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select flygon: employ the player as a flygon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select sportsgon: employ the player as a sportsgon; calculate the age of the player; clear the screen; say "[chargencore]"; To say select kaimagon: employ the player as a kaimagon; calculate the age of the player; clear the screen; say "[chargencore]"; [alksdjfl;kasjdf;lkajsd;flkajsd;lfkjas;lkdfj;alksdnvl;kasneriohwo;iuwerhjo;lanefl.aSNe89uo23 894u7r8902ur01h3nl.naoui;scvn98p32n3lkjn23ioup4rbn2kj3bn4rkj.,32n4k] A skill is a kind of value. The skills are lumbering, hunting, gathering, smithing, pottery, kaima, panhandling, physical games, mental games, teaching, influence, song, instrument, trophy hunter, ecology, theology, sex appeal, erotic art, bookgems, skillgems, past world knowledge, carousing, mercantile, farming, visual arts, and writing. An XP counter is a kind of object. An XP counter has a number called XP. An XP counter has a number called level. An XP counter has a skill called associated skill. The XP of an XP counter is usually 0. The level of an XP counter is usually 0. Tallying relates various XP counters to a person. The verb to tally means the tallying relation. A lumbering XP counter is a kind of XP counter. The associated skill of a lumbering XP counter is always lumbering. Every person is tallied by a lumbering XP counter. A hunting XP counter is a kind of XP counter. The associated skill of a hunting XP counter is always hunting. Every person is tallied by a hunting XP counter. A gathering XP counter is a kind of XP counter. The associated skill of a gathering XP counter is always gathering. Every person is tallied by a gathering XP counter. A smithing XP counter is a kind of XP counter. The associated skill of a smithing XP counter is always smithing. Every person is tallied by a smithing XP counter. A pottery XP counter is a kind of XP counter. The associated skill of a pottery XP counter is always pottery. Every person is tallied by a pottery XP counter. A kaima XP counter is a kind of XP counter. The associated skill of a kaima XP counter is always kaima. Every person is tallied by a kaima XP counter. A panhandling XP counter is a kind of XP counter. The associated skill of a panhandling XP counter is always panhandling. Every person is tallied by a panhandling XP counter. A physical games XP counter is a kind of XP counter. The associated skill of a physical games XP counter is always physical games. Every person is tallied by a physical games XP counter. A mental games XP counter is a kind of XP counter. The associated skill of a mental games XP counter is always mental games. Every person is tallied by a mental games XP counter. A teaching XP counter is a kind of XP counter. The associated skill of a teaching XP counter is always teaching. Every person is tallied by a teaching XP counter. An influence XP counter is a kind of XP counter. The associated skill of an influence XP counter is always influence. Every person is tallied by an influence XP counter. A song XP counter is a kind of XP counter. The associated skill of a song XP counter is always song. Every person is tallied by a song XP counter. An instrument XP counter is a kind of XP counter. The associated skill of an instrument XP counter is always instrument. Every person is tallied by an instrument XP counter. A trophy hunter XP counter is a kind of XP counter. The associated skill of a trophy hunter XP counter is always trophy hunter. Every person is tallied by a trophy hunter XP counter. An ecology XP counter is a kind of XP counter. The associated skill of an ecology XP counter is always ecology. Every person is tallied by an ecology XP counter. A theology XP counter is a kind of XP counter. The associated skill of a theology XP counter is always theology. Every person is tallied by a theology XP counter. A sex appeal XP counter is a kind of XP counter. The associated skill of a sex appeal XP counter is always sex appeal. Every person is tallied by a sex appeal XP counter. An erotic art XP counter is a kind of XP counter. The associated skill of an erotic art XP counter is always erotic art. Every person is tallied by an erotic art XP counter. A bookgems XP counter is a kind of XP counter. The associated skill of a bookgems XP counter is always bookgems. Every person is tallied by a bookgems XP counter. A skillgems XP counter is a kind of XP counter. The associated skill of a skillgems XP counter is always skillgems. Every person is tallied by a skillgems XP counter. A past world XP counter is a kind of XP counter. The associated skill of a past world XP counter is always past world knowledge. Every person is tallied by a past world XP counter. A carousing XP counter is a kind of XP counter. The associated skill of a carousing XP counter is always carousing. Every person is tallied by a carousing XP counter. A mercantile XP counter is a kind of XP counter. The associated skill of a mercantile XP counter is always mercantile. Every person is tallied by a mercantile XP counter. A farming XP counter is a kind of XP counter. The associated skill of a farming XP counter is always farming. Every person is tallied by a farming XP counter. A visual arts XP counter is a kind of XP counter. The associated skill of a visual arts XP counter is always visual arts. Every person is tallied by a visual arts XP counter. A writing XP counter is a kind of XP counter. The associated skill of a writing XP counter is always writing. Every person is tallied by a writing XP counter. The base XP cost is always 100. The cost multiplier is always 1.33. To decide which number is required XP to level past (current level - a number): let the current XP multiplier be the cost multiplier to the power current level; let required XP be the base XP cost multiplied by the current XP multiplier; decide on required XP to the nearest whole number. To check for level-up on (X - an XP counter), quietly: let original level be the level of X; While the XP of X is at least the required XP to level past the level of X: decrease the XP of X by the required XP to level past the level of X; increase the level of X by 1; if not quietly and the level of X is not the original level: say "You have gained enough XP to level up your [associated skill of X] skill!"; say "Your [associated skill of X] skill is now at [level of X] level and you have [XP of X] XP remaining."; say "You need [required XP to level past the level of X] total [associated skill of X] XP to get to the next level."; To decide which XP counter is the (S - a skill) counter tallying (P - a person): let counters be the list of XP counters which relate to P by the tallying relation; repeat with X running through counters: if the associated skill of X is S, decide on X; say "[bold type]BUG:[roman type] I tried to find the [S] XP counter for [P], but I couldn't find it."; decide on nothing. [uh-oh] To give (N - a number) XP to (P - a person) in (S - a skill): If the alloace spectrum of P is sex-repulsed asexual: If S is sex appeal: do nothing; Otherwise if S is erotic art: do nothing; Otherwise: let X be the S counter tallying P; if X is nothing, stop; increase XP of X by N; if P is the player: check for level-up on X; otherwise: check for level-up on X, quietly; Otherwise: let X be the S counter tallying P; if X is nothing, stop; increase XP of X by N; if P is the player: check for level-up on X; otherwise: check for level-up on X, quietly; A person has a list of careers called a career history. To employ (P - a person) as a/an (C - a career): Add C to the career history of P; If C is lumbergon: give 645 XP to P in lumbering; give 100 XP to P in physical games; give 100 XP to P in hunting; give 100 XP to P in gathering; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is huntgon: give 645 XP to P in hunting; give 410 XP to P in gathering; give 100 XP to P in physical games; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is pottergon: give 645 XP to P in pottery; give 233 XP to P in visual arts; give 100 XP to P in mental games; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is haulergon: give 410 XP to P in mercantile; give 410 XP to P in bookgems; give 233 XP to P in song; give 100 XP to P in skillgems; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is smithgon: give 645 XP to P in smithing; give 100 XP to P in physical games; give 100 XP to P in carousing; give 100 XP to P in skillgems; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is farmgon: give 410 XP to P in farming; give 233 XP to P in song; give 233 XP to P in physical games; give 233 XP to P in mental games; give 100 XP to P in influence; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is authorgon: give 645 XP to P in writing; give 645 XP to P in bookgems; give 233 XP to P in kaima; give 100 XP to P in skillgems; give 100 XP to P in mental games; give 100 XP to P in theology; give 100 XP to P in influence; give 100 XP to P in teaching; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is philosophygon: give 645 XP to P in teaching; give 410 XP to P in theology; give 410 XP to P in writing; give 233 XP to P in skillgems; give 100 XP to P in bookgems; give 100 XP to P in mental games; give 100 XP to P in kaima; give 100 XP to P in influence; give 100 XP to P in ecology; If C is sex pest: give 645 XP to P in sex appeal; give 645 XP to P in erotic art; give 233 XP to P in carousing; give 100 XP to P in mental games; give 100 XP to P in physical games; give 100 XP to P in song; give 100 XP to P in instrument; If C is charitygon: give 645 XP to P in influence; give 645 XP to P in panhandling; give 410 XP to P in teaching; give 233 XP to P in mental games; give 100 XP to P in theology; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is rangergon: give 645 XP to P in hunting; give 410 XP to P in trophy hunter; give 410 XP to P in ecology; give 233 XP to P in gathering; give 100 XP to P in physical games; give 100 XP to P in bookgems; If the alloace spectrum of the player is allosexual: give 233 XP to P in sex appeal; give 100 XP to P in erotic art; If C is physical dissolutionist: give 645 XP to P in carousing; If the alloace spectrum of the player is not sex-repulsed asexual: give 410 XP to P in erotic art; give 233 XP to P in sex appeal; give 233 XP to P in physical games; give 233 XP to P in hunting; give 233 XP to P in gathering; give 100 XP to P in theology; give 100 XP to P in trophy hunter; give 100 XP to P in song; If C is mental dissolutionist: give 645 XP to P in mental games; give 410 XP to P in theology; give 233 XP to P in writing; give 100 XP to P in gathering; give 100 XP to P in farming; give 100 XP to P in ecology; give 100 XP to P in bookgems; give 100 XP to P in instrument; give 100 XP to P in song; give 100 XP to P in teaching; give 100 XP to P in influence; give 100 XP to P in kaima; If the alloace spectrum of the player is not sex-repulsed asexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is holygon: give 645 XP to P in theology; give 645 XP to P in bookgems; give 410 XP to P in teaching; give 100 XP to P in influence; give 100 XP to P in kaima; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is lutragon: give 645 XP to P in carousing; give 410 XP to P in past world knowledge; give 233 XP to P in mental games; give 233 XP to P in physical games; If the alloace spectrum of the player is not sex-repulsed asexual: give 233 XP to P in sex appeal; give 233 XP to P in erotic art; give 100 XP to P in hunting; If C is petgon: give 645 XP to P in visual arts; If the alloace spectrum of the player is not sex-repulsed asexual: give 410 XP to P in sex appeal; give 410 XP to P in erotic art; give 410 XP to P in mental games; give 233 XP to P in physical games; give 233 XP to P in writing; give 100 XP to P in theology; give 100 XP to P in bookgems; give 100 XP to P in skillgems; If C is musicgon: give 645 XP to P in instrument; give 645 XP to P in song; If the alloace spectrum of the player is not sex-repulsed asexual: give 410 XP to P in sex appeal; If the alloace spectrum of the player is allosexual: give 100 XP to P in erotic art; give 100 XP to P in panhandling; give 100 XP to P in carousing; give 100 XP to P in mental games; If C is flygon: give 645 XP to P in panhandling; give 410 XP to P in physical games; give 233 XP to P in song; give 233 XP to P in bookgems; give 100 XP to P in mercantile; If the alloace spectrum of the player is allosexual: give 100 XP to P in sex appeal; give 100 XP to P in erotic art; If C is sportsgon: give 645 XP to P in physical games; give 233 XP to P in mental games; give 233 XP to P in teaching; give 233 XP to P in hunting; give 233 XP to P in gathering; If the alloace spectrum of the player is allosexual: give 233 XP to P in sex appeal; give 100 XP to P in erotic art; Otherwise if the alloace spectrum of the player is sex-positive asexual: give 233 XP to P in sex appeal; If C is kaimagon: give 645 XP to P in kaima; give 410 XP to P in theology; give 410 XP to P in panhandling; give 233 XP to P in teaching; give 100 XP to P in writing; give 100 XP to P in past world knowledge; give 100 XP to P in visual arts; give 100 XP to P in mental games; If the alloace spectrum of the player is allosexual: give 233 XP to P in sex appeal; give 233 XP to P in erotic art; A person has some text called odor. Instead of smelling a thing that provides the property odor: say the odor of the noun; rule succeeds. Table of Body Odor species job odor undefined -- "You smell a strange lack of anything in particular." vrash merchantgon "Stone and incense." vrash laborgon "Stone and sweat." vrash servicegon "Stone and civilization." vrash wildgon "Stone and blood." vrash agrigon "Vegetables and healthy soil." vrash travelgon "Stone and the open sky." vrash craftsgon "Stone and wood." vrash unemployed "Stone and unmet, restless ambition." vashael merchantgon "Fresh air and incense." vashael servicegon "Fresh air and civilization." vashael travelgon "This dragon smells like nothing but the open sky." vashael laborgon "Fresh air and civilization." vashael wildgon "Fresh air and blood." vashael agrigon "Fresh air and healthy soil." vashael craftsgon "Fresh air and civilization." vashael unemployed "Fresh air and civilization." kalla merchantgon "Feathers and wealth." kalla servicegon "This dragon smells like a clean horse with a touch of ordinary civilization." kalla travelgon "Why did the game generate a kalla flygon? This is an error." kalla laborgon "Hard-working horse in an urban setting." kalla wildgon "This dragon smells like a bird of prey." kalla agrigon "Hard-working horse and healthy soil." kalla craftsgon "This dragon smells like a horse in a workshop." kalla unemployed "Horse, feathers, and poverty." vohntrai merchantgon "You smell a strange lack of anything in particular. Do vohntrai have no scent?" vohntrai laborgon "You smell a strange lack of anything in particular. Do vohntrai have no scent?" vohntrai servicegon "You smell a strange lack of anything in particular. Do vohntrai have no scent?" vohntrai travelgon "Why did the game generate a vohntrai flygon? This is an error." vohntrai wildgon "You smell a strange lack of anything in particular. Do vohntrai have no scent?" vohntrai agrigon "You smell a strange lack of anything in particular. Do vohntrai have no scent?" vohntrai craftsgon "You smell a strange lack of anything in particular. Do vohntrai have no scent?" vohntrai unemployed "You smell a strange lack of anything in particular. Do vohntrai have no scent?" izerah merchantgon "Izerah never smell like they're exerting themselves, but this one is wearing a drop of perfume." izerah servicegon "This izerah smells surprisingly like the city. It's a sedentary scent." izerah travelgon "Even though they can't fly, this izerah smells like the open sky. There's road dust in there too, of course." izerah laborgon "Izerah never smell like they're exerting themselves. This one smells like they spend their day around other dragons without that blessing." izerah wildgon "Blood and trees." izerah agrigon "Vegetables and healthy soil." izerah craftsgon "This izerah smells like the city and a workshop." izerah unemployed "Stone and unmet, restless ambition." veserus merchantgon "A mild fishiness masked with a bit of incense." veserus servicegon "A mild fishiness and an attempt to cover it with soap." veserus travelgon "A mild fishiness and the open sky." veserus laborgon "This veserus smells fishier than others of their kind. You can tell they work their body hard." veserus wildgon "This veserus smells fishier than others of their kind. There are traces of the wilderness twined into their scent." veserus agrigon "A mild fishiness and healthy soil." veserus craftsgon "A mild fishiness and the scent of workshops." veserus unemployed "This veserus smells fishier than others of their kind. They smell like they don't have better things to do than chase fish like a feral." myrskor merchantgon "Myrskor are normally scentless, but this one smells like they're wearing a little perfume." myrskor servicegon "Myrskor have very clean metabolisms... so much so that they shed virtually no scent." myrskor travelgon "Why did the game generate a myrskor flygon? This is an error." myrskor laborgon "Myrskor have very clean metabolisms, but this one just barely manages to smell like they're working their body hard." myrskor wildgon "Myrskor are normally scentless, but this one smells a little like blood." myrskor agrigon "Myrskor bodies are scentless, but nevertheless the stereotypical scent is more like soil and vegetables. They are famous for the farming economy, and this, apparently, is a farming myrskor." myrskor craftsgon "This myrskor has stone and metal smells clinging to their body." myrskor unemployed "Myrskor have very clean metabolisms... so much so that they shed virtually no scent." myrghon merchantgon "Myrghon are normally scentless, but this one smells like they're wearing a little perfume." myrghon servicegon "Myrghon have very clean metabolisms... so much so that they shed virtually no scent." myrghon travelgon "Why did the game generate a myrghon flygon? This is an error." myrghon laborgon "Myrghon have very clean metabolisms, but this one just barely manages to smell like they're working their body hard." myrghon wildgon "Myrghon are normally scentless, but this one smells a little like blood." myrghon agrigon "Myrghon are normally scentless, but this one smells a little like soil and vegetables." myrghon craftsgon "This myrghon has stone and metal smells clinging to their body." myrghon unemployed "Myrghon have very clean metabolisms... so much so that they shed virtually no scent." swaivshon merchantgon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon servicegon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon travelgon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon laborgon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon wildgon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon agrigon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon craftsgon "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" swaivshon unemployed "This dragon's scent is strangely simple. They are a living being, but in a good way, and that is it. Do scents not cling to swaivshon?" tesam merchantgon "This biped's scent is complex, musky, a bit fishy, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." tesam servicegon "This biped's scent is complex, musky, a bit fishy, and very potent. Their natural scent overpowers anything that might cling to their body from their profession." tesam travelgon "Why did the game generate a tesam flygon? This is an error." tesam laborgon "This biped's scent is complex, musky, a bit fishy, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." tesam wildgon "This biped's scent is complex, musky, a bit fishy, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." tesam agrigon "This biped's scent is complex, musky, a bit fishy, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." tesam craftsgon "This biped's scent is complex, musky, a bit fishy, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." tesam unemployed "This biped's scent is complex, musky, a bit fishy, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri merchantgon "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri servicegon "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri travelgon "Why did the game generate an esseri flygon? This is an error." esseri laborgon "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri wildgon "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri agrigon "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri craftsgon "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." esseri unemployed "This biped's scent is complex, musky, and very potent. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha merchantgon "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha servicegon "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha travelgon "Why did the game generate a chakocha flygon? This is an error." chakocha laborgon "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha wildgon "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha agrigon "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha craftsgon "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." chakocha unemployed "This quadruped's scent is complex, musky, and strong. It seems to fluctuate from moment to moment, too. Their natural scent overpowers anything that might cling to their body from their profession." To decide which K is a random item from (elements - list of values of kind K): if the number of entries in elements is 0: [Crash the game.] say "Cannot pick a random item from an empty list. [entry 9999 of elements]"; let n be a random number from 1 to the number of entries in elements; decide on entry n of elements. To decide which text is a randomly generated name: choose a random row in the Table of Name Fragments; decide on "[a random item from fore entry][a random item from aft entry]". The list of non-travelgon jobs is always {merchantgon, servicegon, laborgon, wildgon, agrigon, craftsgon, unemployed}. To procgen (NPC - a person): now the description of NPC is a random item from the list of random NPC description templates; now the species of NPC is a random item from the list of random dragon species; If the species of NPC is kalla or the species of NPC is esseri or the species of NPC is vohntrai or the species of NPC is chakocha or the species of NPC is myrskor or the species of NPC is myrghon: now the job of NPC is a random item from the list of non-travelgon jobs; Otherwise: now the job of NPC is a random job; now the dominant color of NPC is a random color; now the minor color of NPC is a random color; while the minor color of NPC is the dominant color of NPC: [My canned descriptions don't work well with monochrome procgen NPCs!] now the minor color of NPC is a random color; now the marking pattern of NPC is a random marking pattern; now the odor of NPC is "The smell confuses you."; repeat through the Table of Body Odor: if the species entry is the species of NPC: if there is no job entry or the job entry is the job of NPC: now the odor of NPC is the odor entry; break; now the age of NPC is a random number between 100 and 1227; now the printed name of NPC is a randomly generated name; [todo: randomize gender; requires an extension that implements more complicated gender] To decide which text is the epidermis of (spe - a species): if spe is kalla, decide on "feathers and fur"; if spe is tesam or spe is esseri or spe is swaivshon, decide on "fur"; decide on "scales". The list of random NPC description templates is always {"The [epidermis of species] of this [species] are [dominant color] with [marking pattern description]."}. Table of Name Fragments culture fore aft Kelkaithian {"Stal", "Kanu", "Cha", "Vana", "To", "Ro", "Rew", "Su", "Suka", "Quel", "Ral", "Mera", "Mo", "Molo", "Mako", "Moko", "Quelno", "Saka", "Sak", "Hel", "Hev", "Nal", "Mal", "Ker", "Val", "Valnay"} {"bon", "van", "kar", "naffi", "itar", "en", "vold", "zold", "rold", "rol", "vo", "vol", "zo", "zol", "ul", "quan", "ley", "lee", "ria", "riz"} Tachamundi {"Va", "Ko", "We", "Til", "Tai", "Ro", "Thimo", "Dan", "Alei", "Indi", "Malu", "Met", "Raul", "Cha", "Daw", "Dau", "Moko", "Nalko", "E", "Ora", "Hon", "Lor", "Chatu", "Daub", "Dar", "Sei"} {"bon", "bold", "pare", "sei", "tios", "ziu", "sach", "tarn", "ria", "goli", "loave", "koave", "zin", "zau", "riara", "tis", "rezen", "hai", "lin", "chrak", "skeld", "riz", "ta", "rio", "rian", "kret"} Kanjamundi {"Cr", "Sp", "Sh", "Kr", "Tal", "N", "Tin", "Raul", "Yar", "Y", "Kel", "Ingr", "Indr", "Vul", "Nal", "W", "Qu", "Mol", "Molt", "Quir", "Yt", "Kish", "Riz", "Wr", "Vrek", "Dyl", "Zyr", "Sol"} {"inoi", "ailo", "eave", "amae", "inika", "alva", "ion", "ika", "ia", "ian", "alae", "amaino", "amaine", "onoko", "euven", "en", "imist", "osta", "imista", "atha", "eyen", "askal"} Memorian {"Tira", "Nor", "Kro", "Quan", "Vana", "Chan", "Quaru", "Ethru", "Mal", "Il", "Quel", "Quirra", "Mol", "Ri", "Rini", "Me", "Enderenu", "Va", "Val"} {"lista", "nista", "para", "tios", "konos", "molian", "laith", "ria", "drao", "nori", "vaskal", "dem", "mista", "vista"} Definition: a person (called The Dude) is ambiguously-named: let whereabouts be the location of The Dude; repeat with candidate running through the people in whereabouts: if candidate is The Dude, next; if the printed name of candidate is the printed name of The Dude, decide yes; decide no. When play begins: repeat with dude running through the people in Your Favorite Bathhouse in Ethriel: if dude is the player, next; procgen dude. To say Location Command Block: say "'Seek entertainment' will bring you to the entertainment options for your current city, 'Seek rest' will take you to your home, or to your room at a local inn if you haven't got a home in this town, 'seek work' will take you to the daywork options screen, 'seek cargo' will take you to a mercantile clearinghouse (also the destination for delivering cargo), or 'seek nature' to go hunting, gathering, or just relax in nature (doesn't work in some cities). 'Seek food' will give you the civilized restaurant and grocery options (if available). You can also 'depart' to go to another city if your preparations are adequate." To say Personal Command Block: say "You can always 'calendar' to see the current date in all three calendars or check the 'sheet' to see your own stats and skills." Understand "seek rest" as going home. Going home is an action applying to nothing. Instead of going home when current city is Ethriel: If the location is Your Sort-Of Home in Ethriel: stop the action; Otherwise if the location is Your Room in an Ethriel Inn: stop the action; Otherwise if a home in Ethriel is true: move the player to Your Sort-Of Home in Ethriel; Otherwise: move the player to Your Room in an Ethriel Inn; Understand "seek entertainment" as seeking entertainment. Seeking entertainment is an action applying to nothing. Instead of seeking entertainment when current city is Ethriel: move the player to Entertainment Options in Ethriel. Your Favorite Bathhouse in Ethriel is a room. [It is chargen of Career Intercept.] "Ethriel is on the short, prestigious list of theomes renowned for its public bathhouses. Most of the bathhouses in Theoma have separated sex-positive and sex-negative baths. The hot water is delightful. [if the alloace spectrum of the player is sex-repulsed asexual]You, of course, are in the sex-negative side of the baths. You're allowed to flirt here, but you'll never see anything more explicit than a kiss.[otherwise]You are in the sex-positive side of the baths. Public displays of sexuality are acceptable but never compulsory here.[end if] Off to the side, you see a [if the alloace spectrum of the player is sex-repulsed asexual]vrash parent lounging with a small vrash who is almost certainly their child.[otherwise]trio of vrash groping each other. One of them is out of the water with her tail raised over the pool, and another has his nose pushed forward to take advantage.[end if] This kind of scene is pretty normal here. Local commands: You can 'relax' here, or 'talk to' a local. Area Change commands: [Location Command Block] Personal Commands: [Personal Command Block]". There are 2 privately-named proper-named people in Your Favorite Bathhouse in Ethriel. Your Sort-Of Home in Ethriel is a room. "This isn't really your home anymore, now that you've quit your job and resolved to go adventuring. You'll be gone for years, so you imagine. This traveling is going to be your new career. Are you going to come back to Ethriel at the end of your journey? If you're just going to move away, you should probably sell your home. Otherwise, it'll sit here gathering dust in your absence. Local commands: You can 'sleep' or 'read a book' here. If you want to read a specific book or bookgem, 'read