"To Wander Theoma" by Rakeela Windrider and Kistaro Windrider Release along with a "Bisquixe" interpreter. Use DICT_WORD_SIZE of 35. 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 defined by the Table of Cities. [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. Amenities are a kind of value. The amenities are bathhouses, theaters, cardhouses, master artists, brothels, and bowling alleys. Table of Cities Current City Local Amenities Special Amenity Ethriel {bathhouses, theaters, cardhouses, master artists, bowling alleys} "Archive of Lost Things" 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 sex-repulsed asexual. 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. A person has a number called a flightyRel. The flightyRel of a person is usually 1. A person has a number called a firmRel. The firmRel of a person is usually 1. 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 12 - 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: say "Every passing hour fills you with horror at the prospect of living in an eternity as dull as this one."; now the securityNum of the player is the securityNum of the player - 1; If the securityNum of the player > 10: now the securitynum of the player is 10; If a random chance of 1 in 30 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 < 10 and a random chance of 1 in 50 succeeds: say "You sense Fate's blessing upon you, soothing your insecurities."; 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 the securityNum of the player is 0: say "You are plagued by a sense that everything you attempt is doomed."; If the entertainNum of the player > 0: now the entertainNum of the player is the entertainNum of the player - 1; say "So beset are you by anxiety that you're questioning the value of immortality. Do you really want to feel this way forever?"; 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]"; playerport 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 true. 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; While the species of the player is veserus: 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]" Complete Chargen "Click Here to Finish Chargen" "[finish chargen]" 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]"; say "[chargen finish check]"; 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 chargen finish check: Let career length be the number of entries in the career history of player; If career length is at least 1: say "[line break]When you're satisfied, [chargenlink Complete Chargen]."; Otherwise: say ""; To say finish chargen: now everything carried by the player is nowhere; now chargencondition is false; Move the player to Your Sort-Of Home in Ethriel; 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 dragons 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 dragons 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]"; 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", "Kaul"} {"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. You Are In Ethriel is a scene. You Are In Ethriel begins when current city is Ethriel and chargencondition is false. You Are In Ethriel ends when current city is not Ethriel. When You Are In Ethriel begins: now every ethriellink is held by the player; To say ethriellink (nextEthrielLink - an ethriellink): hyperlink "[Displayname of nextEthrielLink]" as "zzxvm [nextEthrielLink]" An ethriellink is a kind of thing. Understand "zzxvm [any ethriellink]" as ethriel linking. Ethriel linking is an action applying to one thing. Carry out ethriel linking: if the noun is an ethriellink listed in the Table of All EthrielLinks: say "[reply entry]"; otherwise: say "[bold type]BUG:[roman type] Tried to carry out ethriel linking with [italic type][the noun][roman type] but that does not appear to be an ethriel link:"; showme the noun; Ethriellinks are defined by the Table of All EthrielLinks. An Ethriellink has some text called the reply. Table of All EthrielLinks Ethriellink Displayname reply Going Home in Ethriel "seek rest" "[seeking rest in Ethriel]" Seeking Entertainment in Ethriel "seek entertainment" "[seeking entertainment in Ethriel]" Accessing the Calendar in Ethriel "calendar" "[accessing the calendar in Ethriel]" Sleeping in Ethriel "sleep" "[sleeping in Ethriel]" Visiting an Ethriel Theatre "visit theatre" "[visiting a theatre in Ethriel]" Theatre Secondlink "theatres" "[visiting a theatre in Ethriel]" Visiting an Ethriel Bathhouse "visit bathhouse" "[visiting a bathhouse in Ethriel]" Bathhouse Secondlink "bathhouses" "[visiting a bathhouse in Ethriel]" Relaxing in an Ethriel Bathhouse "relax" "[relaxing in a bathhouse in Ethriel]" To say seeking rest in 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: playerport to Your Sort-Of Home in Ethriel; Otherwise: playerport to Your Room in an Ethriel Inn; To say visiting a theatre in Ethriel: try visiting a theatre. To say visiting a bathhouse in Ethriel: If the location is Your Favorite Bathhouse in Ethriel: Stop the action; Otherwise: playerport to Your Favorite Bathhouse in Ethriel. To say relaxing in a bathhouse in Ethriel: say "You find somewhere calm and comfortable, and just rest. The land gods favor you with a basic spell of cleanliness. The world is pure, good, and gentle."; now securitynum of the player is securitynum of the player + 1; follow the turnpass rule. To say Location Command Block in Ethriel: say "'[EthrielLink Seeking Entertainment in Ethriel]' will bring you to the entertainment options for your current city, '[EthrielLink Going Home in Ethriel]' 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 in Ethriel: say "You can always '[EthrielLink Accessing the Calendar in Ethriel]' to see the current date in all three calendars or check the 'sheet' to see your own stats and skills. '[EthrielLink Sleeping in Ethriel]' will automatically move you to your housing in the current city, either a home (if you have one locally) or a room at an inn (if you don't)." Understand "seek rest" as going home. Going home is an action applying to nothing. Instead of going home when current city is Ethriel and chargencondition is false: 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: playerport to Your Sort-Of Home in Ethriel; Otherwise: playerport 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 and chargencondition is false: If the location is Entertainment Options in Ethriel: Stop the action; Otherwise: playerport to Entertainment Options in Ethriel. To say seeking entertainment in Ethriel: If the location is Entertainment Options in Ethriel: Stop the action; Otherwise: playerport to Entertainment Options in Ethriel. To say accessing the calendar in Ethriel: try displaying the calendar. To say sleeping in Ethriel: try sleeping; Your Favorite Bathhouse in Ethriel is a room. "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 either way, but the vibe is very different. [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 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 '[EthrielLink Relaxing in an Ethriel Bathhouse]' here, or 'talk to' a local. Area Change commands: [Location Command Block in Ethriel] Personal Commands: [Personal Command Block in Ethriel]". 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 have some books and bookgems in the home (potentially quite a lot if you've been an authorgon or philosophygon). 'Check library' will yield a list of notable titles. If anyone is traveling with you and staying in your room as they do, you may 'talk to' them. Area Change commands: [Location Command Block in Ethriel] Personal Commands: [Personal Command Block in Ethriel]" A check sleeping rule: If the TirednessVar of the player is less than 3: say "You're not sleepy."; Stop the action; Carry out sleeping (this is the standard carry out sleeping rule): try silently going home; say "[Dream]"; follow the resting rule; This is the resting rule: Now the TirednessVar of the player is 0; follow the turnpass rule; To say Dream: If a random chance of 1 in 9 succeeds: choose row 4 in the Table of Dreams; say "You have a nightmare about [a random item from subject entry]."; now the securityNum of the player is the securityNum of the player - 1; If a random chance of 1 in 2 succeeds: now the entertainNum of the player is the entertainNum of the player - 1; If a random chance of 1 in 20 succeeds: now the securityNum of the player is the securityNum of the player + 2; Otherwise if a random chance of 3 in 9 succeeds: choose row 3 in the Table of Dreams; say "You have a confusing dream about [a random item from subject entry]."; If a random chance of 1 in 4 succeeds: now the entertainNum of the player is the entertainNum of the player - 1; If a random chance of 1 in 4 succeeds: now the securityNum of the player is the securityNum of the player - 1; If a random chance of 1 in 5 succeeds: now the entertainNum of the player is the entertainNum of the player + 1; If a random chance of 1 in 10 succeeds: now the securityNum of the player is the securityNum of the player + 1; Otherwise if a random chance of 8 in 9 succeeds: choose row 2 in the Table of Dreams; say "You have a pleasant dream about [a random item from subject entry]."; now the securityNum of the player is the securityNum of the player + 1; If a random chance of 1 in 2 succeeds: now the entertainNum of the player is the entertainNum of the player + 1; If a random chance of 1 in 3 succeeds: now the securityNum of the player is the securityNum of the player - 1; Otherwise: choose row 1 in the Table of Dreams; say "You have a boring dream about [a random item from subject entry]."; now the entertainNum of the player is the entertainNum of the player - 1; If a random chance of 1 in 4 succeeds: now the securityNum of the player is the securityNum of the player + 1; Table of Dreams valence subject "boring" {"phoenixes", "talking with your parents", "studying a simple pattern", "doing math", "watching shadow puppets", "watching a dull play", "meditating", "nothing you can remember", "an illimitable void, safe and empty", "a gentle snowfall", "boring, simple music", "a nearly-featureless flat plane with a few houses, widely separated", "a dark, quiet place", "listening to an interminable sermon", "walking along an endless road", "going out to eat at a restaurant that serves only bland foods", "arguing with a dragon who speaks in a monotone voice with no urgency", "staffing a charitable collections booth at a fairground", "reading a book", "listening to someone you don't know well as they ramble endlessly about an interest you don't share", "watching grass grow", "watching paint dry", "a simple, fluctuating pattern", "being snowed in with nothing to do", "being rained on while walking a long distance", "things that should've been exciting, but inexplicably weren't", "attending a banquet of bland food", "resting somewhat uncomfortably, but not so uncomfortably that you actually get up", "being so safe that nothing ever happens", "a static, blank landscape of grey rocks", "a cloud of twinkling stars", "exploring a hot, dry landscape where nothing lives", "wandering an endless cityscape without the money to enjoy any of the amenities or buy anything in the shops", "flipping through a book of illustrations drawn from unexceptional moments in your own life", "exploring a museum that has no connection to your interests", "studying abstract art", "attending a party where nothing particularly happens", "a perfectly ordinary day that happened decades ago", "working a cordsaw in a forest", "a quiet place of perfect safety", "a stream of nonsensical text that doesn't actually hold your attention, but from which you find you somehow cannot look away", "being menaced by threats that you absolutely know cannot harm you in any way"} "good" {"phoenixes", "friendly vrash-like beings", "stinky but amicable chakocha, tesam, and esseri", "exploring a ruined city while feeling oddly serene", "being a fantastic musician", "being a fantastic artgon", "cuddling someone you like", "resting in a beautiful place", "counting an endless pile of treasure", "playing a game", "exploring an endless temple", "flying over a metal cityscape", "sunning yourself", "swimming in a coastal lagoon", "eating in a fancy restaurant", "playing in a treasure vault", "bells", "cute otters", "being a ghost", "running endlessly without fatigue", "an infinite forest", "an infinite swamp", "vacationing in a place with beautiful clifftop vistas", "talking to a raven", "talking to a friend", "talking to your parents", "contemplating a beautiful, shifting pattern", "sleeping in a comfortable, safe place", "a vrash in beautiful armor", "the greater tube-like shape of Theoma", "your own geomantic interface", "flying over a herd of prey animals in a fertile plains", "eating an endless meal of your favorite foods", "a strangely familiar vohntrai", "the Archive of Lost Things", "writing a story", "resting in a quiet, silent cave", "shopping with an unlimited budget", "playing a game with dragons you like", "reading a book", "talking to a snake", "nothing you can remember", "watching a play", "dismantling a complicated machine", "listening to a choir of dragons", "music", "a symphony", "painting a picture of a landscape", "painting a picture of a familiar dragon", "looking out over the landscape from a mountain peak", "writing a letter to a childhood friend", "cooking", "watching a large structure be built at a pace of a day every four seconds", "a quiet place of perfect safety", "roasting marshmallows over a campfire with friends", "swimming in a forest river", "attending a campfire party with a bunch of stinky, friendly tesams", "hunting", "eating sweets bigger than you are", "exploring a landscape of candy", "visiting a mountaintop monastery", "just being an izerah", "dancing under a lightning storm", "a band performing with a kalla lead singer who calls down lightning bolts at exciting moments in their songs", "a temple ground redolent with incense and the sound of gentle music", "a fairground full of games of strength and skill", "attending a free drinks night at a bar", "flying", "wrestling with a friendly vrash who is slightly smaller and weaker than you are", "exploring a museum", "playing cards with dragons you like", "resting under a starry sky", "raising a Kelkaithian city-dome", "flying between cities at unnatural speed, passing countless dragons along the way", "a gentle snowfall", "playing in the snow", "dancing in the rain", "being too comfortable to move", "studying a bizarre creature", "exploring a hot, dry landscape with beautiful rock formations", "flying over an infinite tundra", "visiting a city so vast that it could contain the famous megacity Polser many times over", "flipping through a book of illustrations drawn from happy moments in your own life", "studying abstract art", "attending a festival of handpies with unlimited free samples", "discovering a sacred truth about reality that, unfortunately, no longer makes sense after you wake up", "hunting", "visiting a spa", "creating a world", "running a citystate", "getting a kaima reading from an attractive dragon"} "confusing" {"phoenixes", "friendly bugs", "eating in a fancy restaurant where you don't recognize any of the food items", "dancing with a weird thing", "tracing a complicated knot", "cutting the world apart with your claws", "getting lost in an endless temple", "getting lost in a ruined city", "chasing something between several different worlds", "time travel", "playing an extremely complicated game", "a chaotic mishmash of images", "a friendly being whose shape changes constantly", "being too drunk to function", "performing in a play whose lines you don't know", "reciting a nonsensical poem", "doing math", "an otter the size of Theoma", "meditating in a land of endless fire", "contemplating a beautiful, shifting pattern", "dragons who can't say anything directly, but who can only speak in jokes, puns, and innuendo", "being a hive-mind", "being a thing made of lightning that cannot see or speak, yet interacts with the world nonetheless", "nothing you can remember", "trying to solve a shifting puzzle", "watching a poorly written play", "trying to assemble a complicated machine", "navigating a crowded space while blind", "struggling to wake up from a series of harmless dreamspaces", "studying a bizarre creature", "flipping through a book of illustrations drawn from moments in your life when you were baffled", "an endless stream of nonsensical text", "disjointed mathematical equations", "trying to solve a riddle featuring three scammergons and an honest merchantgon", "an impossible city where the direction of gravity changes from surface to surface", "getting lost in an infinite city", "running a citystate", "studying nonsensical equations that someone has assured you are key to creating entire worlds out of magic", "trying to write a story, but changing your mind every few sentences about what the story is about", "being threatened in comically implausible ways", "an infinite city", "an infinite maze", "a chaotically structured and electrified mesh that you can't touch without being jolted, but which you feel compelled to study intently", "talking to a fire", "being lectured by shadows", "exploring a pale forest inhabited by ghosts"} "bad" {"bugs", "not having wings", "fleshy pink things"," demonic entities", "phoenixes", "scenes of tremendous violence", "ruined cities", "giant dragon-eating predators", "babbling nonsense every time you try to talk", "useless legs", "paralysis", "hurting a friend", "snoutless dragons", "toothy monstrosities", "meat moss", "fire", "drowning", "hearing voices", "being wounded", "burying a loved one", "a great calamity", "a vile deception from someone you trusted", "flooding", "a blizzard", "salad", "an otter the size of Theoma", "doing math", "burning in a land of endless fire", "being attacked by a mad ghost", "trying to interact with other dragons while having a stiff, emotionless face", "nothing you can remember", "fighting for your life", "watching a play designed to personally insult you", "falling", "yourself as a zombie", "exploring a landscape of candy where everything is half-eaten, sticky, and stinky with decay", "being ravenous in a world where all the food is rotten", "your teeth falling out", "repeatedly waking up from a nightmare only to discover it is still ongoing", "flipping through a book of illustrations drawn from unpleasant moments in your own life", "having to write a self-insulting sentence many times over with a pen that draws your own blood to convert it into ink", "running a citystate amidst disaster", "discovering a horrifying truth about reality that, thankfully, no longer makes sense after you wake up", "trying to create a world, but the dragons of your world are impossibly evil", "trying to create a world, but everything you attempt goes wrong", "exploring a pale forest inhabited by mad ghosts", "being a destitute wanderer dependent on handouts and hunting to get by"} Your Room in an Ethriel Inn is a room. "You've lived in Ethriel for years, but now you've no home here. The inn charges nightly... Your room is nice, but small. It's just one of many. You've got a blue-padded nest to sleep in and some art on the wall to appreciate, if you like a painting of a rare steak and some fruit. Local commands: You can 'sleep' or 'read a book' here. If you want to read a specific book or bookgem, 'read ' will focus on it. If anyone is traveling with you and staying in your room as they do, you may 'talk to' them. Area Change commands: [Location Command Block in Ethriel] Personal Commands: [Personal Command Block in Ethriel]" Entertainment Options in Ethriel is a room. "Ethriel has a lot of pilgrimgons visiting the Archive of Lost Things, which gives it a touristgon economy. It has many options for entertainments. Really, it's no wonder you lived here for so long. There are [EthrielLink Theatre Secondlink], bowling alleys, [EthrielLink Bathhouse Secondlink], card houses, and the most famous museum in Theoma: The Archive of Lost Things. You can also visit a master artgon to try to view recent paintings and potentially commission a new one, or a book shop to try to pick up a book or bookgem that might just be your new favorite. Local commands: The 'visit <type of venue> command will go to specific places. '[EthrielLink Visiting an Ethriel Theatre]' to see a play, '[EthrielLink Visiting an Ethriel Bathhouse]' to visit a bathhouse, and so on. 'Visit a theatre' will also be recognized. Of special note in this location is the 'visit museum' command, which will visit the Archive of Lost Things, the most notable landmark of Ethriel. Area Change commands: [Location Command Block in Ethriel] Personal Commands: [Personal Command Block in Ethriel]" Understand "visit theatre" or "visit a theatre" as visiting a theatre. Visiting a theatre is an action applying to nothing. Instead of visiting a theatre in Entertainment Options in Ethriel: sort the Table of Ethriel Plays in random order; If there is a playyear of DateYear in the Table of Ethriel Plays: say "You attend [the play corresponding to a playyear of DateYear in the Table of Ethriel Plays]."; Otherwise: choose row 1 in the Table of Ethriel Plays; say "You attend [play entry]."; say "You spend a few hours hanging out in cafes, picking up some snacks and chatting about the play you saw with others who attended the showing. [if TimekeepingVar is 3]Ethriel is spectacular. It's still alit and active all night long.[end if]"; Now the entertainNum of the player is the entertainNum of the player + 1; follow the turnpass rule; Table of Ethriel Plays playyear play 1227 "Fear the Firelands. It's a decent drama about an expedition to the firelands that separates a formerly loving couple who were on the expedition. One of the two develops a god complex when exposed to the ever-burning lands, and refuses to return to Theoma!" 1227 "Nura's Abyss. It's a fantastical adventure with wild sets and costumes, and a bunch of staged fights with fake blood and illusions. It's one of the showiest plays in local theatres and a big hit, but expensive to perform. You've seen it before, but it retains its imaginative character." 1227 "Fiddling Lizards. This romantic comedy romp features a failed polyamorous romance and several energetic musical numbers. The actual story is tell-y and obvious, but the musical numbers make the whole performance worthwhile." Understand "visit bathhouse" or "visit a bathhouse" as visiting a bathhouse. Visiting a bathhouse is an action applying to nothing. Instead of visiting a bathhouse in Entertainment Options in Ethriel: playerport to Your Favorite Bathhouse in Ethriel; An NPClink is a kind of thing. An NPCLink has some text called the reply. NPCLinks are defined by the Table of NPC Menu Options. To say NPCLink (nextNPCLink - an NPCLink) for (NPC - a person): hyperlink "[DisplayName of nextNPCLink]" as "zzxvm [nextNPCLink] [NPC]" Understand "zzxvm [any NPCLink] [a person]" as NPC linking. NPC linking is an action applying to two things. Carry out NPC linking: if the noun is an NPCLink listed in the Table of NPC Menu Options: abide by behavior entry for the second noun; otherwise: say "[bold type]BUG:[roman type] Tried to carry out NPC linking with [italic type][the noun][roman type] but that does not appear to be an NPC link:"; showme the noun; Instead of examining a person: try talking to the noun; Talking to is an action applying to one visible thing. Understand "talk to [someone]" or “converse with [someone]” or "talk [someone]" or "converse [someone]" as talking to. Carry out talking to a person: say "[description of the noun]"; let the NPC be the noun; say "[line break]You could [NPCLink relax together link for the NPC] to try to hang out in the local bathhouse."; If current city is Ethriel: Now the player is carrying the relax together link; say "[line break]Until you talk to someone else or leave the room, these links will continue to work. This feature is in debug." After playerporting rules is a rulebook. To playerport to (place - a room): move the player to place; follow the after playerporting rules. An after playerporting rule: now all NPClinks are nowhere. Table of NPC Menu Options NPCLink DisplayName Behavior relax together link "relax together" relax together rules Relax together rules is an object based rulebook. A relax together rule for a person (called The NPC) in Your Favorite Bathhouse in Ethriel: say "'Hi! I'm [the NPC].' This feature is not yet implemented." [Remember to come back and apply skill effects. Ideas for skills, based on the above careers: Inspired by the non-remunerative careers: Kaima - Entertainment skill. Possibly alters a kaima engine to be designed later. Requires a kaima deck to use. Trained by kaimagon (++++), authorgon (++), philosophygon (+), mental dissolutionist (+), and gamesgon (+++). Panhandling - A way to generate funds in urban areas (only). Boosted by having a kaima deck if you have at least level 4 in kaima. Boosted by having an instrument if you have at least level 3 in music, or by song if you have at least level 5 in song. Doesn't work very well. Trained by flygon (+), kaimagon (++), musicgon (+), and charitygon (++++). Games (Physical) - Entertainment skill. Participants must have at least level 1 to participate; watching produces less entertainment and gets boring more quickly. Trained by sportsgon (++++), flygon (+), physical dissolutionist (++), gamesgon (++), petgon (++), and lutragon (+). Games (Mental) - Entertainment skill. Participants must have at least level 1 to participate; watching produces less entertainment and gets boring more quickly. Trained by gamesgon (++++), mental dissolutionist (++), sportsgon (+++), petgon (+++), philosophygon (+), authorgon (+), and lutragon (+). Teaching - Entertainment skill, sort of. Teaching dragons things provides only a small amount of entertainment value and gets boring quickly. Builds up XP in audience with less XP than the teacher in the subject being taught. Trained by holygon (+++), philosophygon (++++), authorgon (+), gamesgon (+), sportsgon (+), charitygon (+++), kaimagon (+), mental dissolutionist (+). Influence - Social skill. Effective engagement with large numbers of people. Public speaking, for instance. Bad rolls drain security. Trained by charitygon (+++), holygon (+), philosophygon (+), mental dissolutionist (+), and authorgon (+). Song - Entertainment skill. Bad rolls drain security. Doesn't require any kind of tool. Traveling groups often sing with each other. Trained by musicgon (++++), flygon (+), haulergon (++), mental dissolutionist (+), physical dissolutionist (+), sex pest (+), and farmergon (+). Instrument - Entertainment skill. Bad rolls drain security. Requires an instrument. Multiple dragons can play together, or with singers. Not a very common traveling group skill. Trained by musicgon (++++), mental dissolutionist (+), sex pest (+), and farmergon (+). Hunting - Supply skill. Also provides entertainment, but gets boring quickly. Trained by huntergon (++++), rangergon (++++), physical dissolutionist (++), lutragon (+), lumbergon (+). Gatherer - Supply skill. Provides a small bycatch of herbs, fruits, tubers, and edible leaves when hunting, or a larger yield when doing just this specifically. Trained by huntergon (++), rangergon (++), physical dissolutionist (+), mental dissolutionist (+), Trophy Hunter - Bonus skill. Occasionally increases the entertainment from hunting. Trained by rangergon (+++) and physical dissolutionist (+). Ecologist - Bonus skill. Occasionally increases the entertainment and XP gain from hunting and gathering. Trained by huntergon (+), rangergon (+++), mental dissolutionist (+), and philosophygon (+). Theology - Esoteric skill. Understanding of the different religions of Theoma. Trained by holygon (++++), mental dissolutionist (++), physical dissolutionist (+), petgon (+), charitygon (+), philosophygon (+++), authorgon (+), kaimagon (+) Sex appeal - Social skill. Ability to seem like you'd be fun, sexually. Bad rolls drain security. Vital for sexual activity. Trained by sex pest (++++), petgon (+++), physical dissolutionist (+++), and all careers (+). Erotic Art - Entertainment skill. Ability to actually be fun, sexually. Bad rolls drain security and entertainment. Vital for sexual activity. Large bonus to find and evaluate cargos of intimacy aids. Trained by sex pest (++++), petgon (+++), physical dissolutionist (+++), and all careers (+). Bookgems - Entertainment skill. The ability to attune to and comprehend story gems. Reduces the entertainment drain from boring tasks that leave the mind free to wander, such as travel, and allows books to be multitasked with anything. Trained by haulergon (+++), flygon (++), philosophygon (+), petgon (+), authorgon (++++), mental dissolutionist (+), holygon (++), lumbergon (+), farmgon (+). Skillgems - Study skill. The ability to attune to and comprehend skill gems. Generates XP while doing boring tasks that leave the mind free to wander, such as travel. Does not reduce entertainment drain. Trained by haulergon (+), flygon (+), philosophygon (++), petgon (+), authorgon (+), holygon (+). Past World Knowledge - Esoteric skill. Large bonus to find and evaluate all cargos in areas with Past World Culture (Three Memories, Kyvisveiln, a few settlements in Kanjamund). Trained by Lutragon (+++). Carousing - Entertainment Skill. Carousing is not free, but it's easy entertainment in most settlements, even some of the small ones. Physical Dissolutionist (++), Lutragon (++), Sex Pest (+) Writing - Supply Skill. Can be used for entertainment that very slowly generates stories, or to duplicate books for sale, or for finding and evaluating books. Authorgon (++++), philosophygon (++), holygon (+), mental dissolutionist (+). Inspired by the remunerative careers: Mercantile - Supply skill. Social bonus when dealing with merchantgons. Small bonus to the ability to find and evaluate ALL cargos. Trained by haulergon (+++). Lumbering - Supply skill. Social bonus when dealing with lumbergons. Potential to gain cargo by sweat equity in forested areas. Large bonus to find and evaluate cargos of wood, wood products, and woodworking tools. Trained by lumbergon (++++). Pottery - Supply skill. Social bonus when dealing with pottergons. Large bonus to find and evaluate cargos of clay, ceramic products, and clayworking tools. Trained by pottergon (++++). Smithing - Supply skill. Social bonus when dealing with smithgons. Large bonus to find and evaluate cargos of metal, metal products, and metalworking tools. Trained by smithgon (++++). Farming - Supply Skill. Social bonus when dealing with farmgons. Large bonus to find and evaluate cargos of foods, cash crops, spices, and farming tools. Trained by farmgons (++++) and Mental Dissolutionist (+) Visual Arts - Supply Skill. Social bonus when dealing with high society. Large bonus to find and evaluate cargos of art. Pottergon (++), Petgon (++) ] [Basic needs: Entertainment, food, security. Security is a social need, it's harmed by bad social interactions and loneliness. It's also harmed by signs that things aren't going well, and by performing skills you aren't great at. Entertainment is also a social need. It drains naturally over time. Specific sources of entertainment get used up by repetition, but variety will restore weakened sources of entertainment.] [I should include an option at the start which says, "I, the author, am asexual. Do you want to play an asexual character?" The options will be: 1) No, allosexual. (Sexual content implemented as normal.) 2) Yes, a sex-positive asexual. (Disables passive gain of sex skills, reduces entertainment gains from sex, and blocks player-initiated sexuality.) 3) Yes, a sex-negative asexual. (Disables sex skills and most references to sex.) The sex-positive asexual should not see the Sex Appeal and Erotic Arts gains from careers that grant only one of each, and they can't be sex pests, so they will only gain them from petgon and physical dissolutionist terms.] [Daily spells ritual. Morning spells and evening spells. Prior careers will determine what spells someone has. Caster regains 1/32nd of their serenity pool per half-hour tick of the simulation. Spells that affect others are usually more advanced than spells that affect the self, although cheat to lose is very trivial. Potential spell scratch space: Suppress boredom (chance per tick to reduce or eliminate entertainment drain) Promote bliss (chance when gaining entertainment to gain more) Confident singing (small bonus to singing, chance to suppress security loss from singing poorly) Confident instruments (small bonus to instruments, chance to suppress security loss from instrumenting poorly) Suppress insecurity (chance to suppress security loss from any source) Secure bonding (chance to increase security gains) Sense attraction (chance to abort bad seduction attempts before they would happen) Ecstatic sexuality (chance to increase entertainment gains from sex) Shared ecstatic sexuality (chance to increase partner's entertainment gains from sex) Loving sexuality (chance to increase security while having sex; only acts if this possibility exists in the first place, ie not from one night stands) Shared loving sexuality (chance to increase partner's security while having sex; only acts if this possibility exists in the first place, ie not from one night stands) Song of peace (chance to increase security of listeners when performing music) Embrace chaos (increases chance of random events) Suppress chaos (reduces chance of random events) Safety curse (increases chance of mildly negative random event, lowers chance of very negative random event) Safety blessing (reduces chance of negative random event; may fail into the safety curse) Perception of ecology (increases chance of Ecologist proccing when hunting and gathering) Exuberant wildlife (increases chance of Trophy Hunter proccing when hunting) Self-thieving creativity (adds a reroll on the next visual arts challenge) Market evaluations (adds a bonus to mercantile for the day) (Category) market ally (adds a bonus to the most relevant supply skills for the purpose of finding and evaluating the category they boost) Cold read (adds a bonus to kaima and panhandling checks) Fixed draw (adds a bonus when using kaima for panhandling) Transfixing public performance (adds a bonus when using song/instrument for panhandling) Nature's bounty (adds a reroll to Gathering) Preyfinder (adds a reroll to Hunting) Play to win (adds a bonus to one's Games skills on the next challenge of them) Cheat to lose (adds a penalty to one's Games skills on the next challenge of them, but adds a bonus to the skills of everyone one is playing against) Binding drain (adds a chance to abort events brought on by doing things while serenity drained) (Skill) teaching ally (increases XP gain for the recipients of the instruction) ] [Six hour time segments. 7:00, 13:00, 19:00, and 1:00. Morning, midday, evening, and night. This gives four locations for standard citydweller characters to cycle between. Wandering around within a city doesn't take time. Doing things consumes a time block. Fatigue hits hard in the night time block — unless someone is an izerah, in which case they can use every other night in some way. Every NPC needs a home, a workplace, and three preferred recreations. They're home during their sleep block — which will usually be 1:00-to-7:00. ] test testgon with "chargen / allosexual / chargen / kalla / kalla / herm herm / chargen / 2 careers".