diff --git a/story.ni b/story.ni index ad415bf..9b46eff 100644 --- a/story.ni +++ b/story.ni @@ -12,8 +12,6 @@ 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. @@ -27,9 +25,11 @@ A city record is a kind of value. The city records are defined by the Table of Amenities are a kind of value. The amenities are bathhouses, theatres, cardhouses, master artists, museums, brothels, and bowling alleys. +A culture name is a kind of value. The culture names are Kelkaithian, Tachamundi, Kanjamundi, and Memorian. + Table of Cities -City Record Local Amenities Special Amenity -Ethriel {bathhouses, theatres, cardhouses, master artists, bowling alleys} "Archive of Lost Things" +City Record Local Amenities Special Amenity Culture +Ethriel {bathhouses, theatres, cardhouses, master artists, bowling alleys} "Archive of Lost Things" Kelkaithian A home in Ethriel is a truth state that varies. A home in Ethriel is usually true. @@ -37,7 +37,6 @@ A job is a kind of value. The jobs are merchantgon, servicegon, travelgon, labor 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. @@ -50,8 +49,10 @@ The list of veserus aquatic semblances is always {fish-like, orca-like, dolphin- 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. +A genericNPC is a kind of person. + 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."; + say "This command has mostly not yet been implemented."; tabulate the skills of the player; say "Your top three skills are: [line break][row 1 in Table of Extracted Skills][line break][row 2 in Table of Extracted Skills][line break][row 3 in Table of Extracted Skills]" @@ -76,6 +77,7 @@ To tabulate the skills of (P - a person): sort the Table of Extracted Skills in reverse Skill Level order. A bathhouse is a kind of room. +A cardhouse is a kind of room. 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. @@ -87,6 +89,9 @@ A person has a number called a maxGeomInterface. The maxGeomInterface of a pers A person has a number called a geomInterface. The geomInterface of a person is usually 12. A person has a truth state called IsAGhost. IsAGhost is usually false. +A person has a number called TheomaGender. +A person has a number called TheomaSex. +A person has a truth state called PostTFTrans. PostTFTrans is usually false. A person has a number called fantasizeCooldown. The fantasizeCooldown of a person is usually 0. A person has a number called theatreCooldown. The theatreCooldown of a person is usually 0. @@ -480,7 +485,7 @@ 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."; + 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 a large upright frill behind the center of your head, and a line of outwards-bending frills lining the top-sides of your tail. 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: @@ -603,8 +608,6 @@ To say alloace toggle: 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: @@ -624,8 +627,6 @@ To say gender toggle: 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"; @@ -808,11 +809,18 @@ To say species selector: 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 reset the player's skills: + let counters be the list of XP counters which relate to the player by the tallying relation; + repeat with X running through counters: + now the level of X is 0; + now the XP of X is 0; + 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; + reset the player's skills; Clear the screen; say "[chargencore]"; @@ -1476,7 +1484,7 @@ To decide which number is the count/number of (needle - value of kind K) entries if candidate is needle, now tally is tally + 1; decide on tally. -To procgen (NPC - a person): +To procgen (NPC - a genericNPC): 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; @@ -1518,14 +1526,33 @@ To procgen (NPC - a person): If a random chance of 1 in 200 succeeds: now the alloace spectrum of NPC is sex-positive asexual; now the reserve of NPC is a random number between 1 and 25; - [todo: randomize gender; requires an extension that implements more complicated gender] + Now the TheomaSex of NPC is a random number between 1 and 3; + If a random chance of 9 in 10 succeeds: + Now the TheomaGender of NPC is the TheomaSex of NPC; + Otherwise: + If a random chance of 9 in 10 succeeds: + now the PostTFTrans of NPC is true; + now the TheomaGender of NPC is the TheomaSex of NPC; + Otherwise: + Now the TheomaGender of NPC is a random number between 1 and 3; + While TheomaSex is TheomaGender: + Now the TheomaGender of NPC is a random number between 1 and 3. + [todo: make sex and gender matter. 1 = male, 2 = female, 3 = herm] 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]."}. +The list of random NPC description templates is always {"The [epidermis of species] of this [species] [if species is swaivshon]is[otherwise]are[end if] [dominant color] with [marking pattern description]. You scent them as [interpretation of TheomaSex]."} + +to say interpretation of TheomaSex: + If the TheomaSex of noun is 1: + say "male"; + If the TheomaSex of the noun is 2: + say "female"; + If the TheomaSex of the noun is 3: + say "herm"; Table of Name Fragments culture fore aft @@ -1542,8 +1569,9 @@ Definition: a person (called The Dude) is ambiguously-named: decide no. When You Are In Ethriel begins: - repeat with dude running through the people in Your Favorite Bathhouse in Ethriel: - if dude is the player, next; + repeat with dude running through the genericNPCs in Your Favorite Bathhouse in Ethriel: + procgen dude; + repeat with dude running through the genericNPCs in Skakel's Games: 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: @@ -1579,7 +1607,8 @@ Visiting an Ethriel Bathhouse "visit bathhouse" "[visiting a bathhouse in Ethrie Bathhouse Secondlink "bathhouses" "[visiting a bathhouse in Ethriel]" Relaxing in an Ethriel Bathhouse "relax" "[relaxing in a bathhouse in Ethriel]" Fantasizing at Home in Ethriel "fantasize" "[fantasizing in Ethriel]" -Cardhouses Link "cardhouses" "[cardhouses in Ethriel]" +Cardhouses Link in Ethriel "cardhouses" "[cardhouses in Ethriel]" +Playing Games in Ethriel "play games" "[playin da games]" To say cardhouses in Ethriel: try visiting a cardhouse; @@ -1614,10 +1643,10 @@ To say relaxing in a bathhouse in Ethriel: try relaxing; 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." - + 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.[run paragraph on]". + 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)." + 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).[run paragraph on]". 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: @@ -1647,23 +1676,26 @@ To say accessing the calendar in Ethriel: To say sleeping in Ethriel: try sleeping; -Your Favorite Bathhouse in Ethriel is a room. Your Favorite Bathhouse in Ethriel is a bathhouse. "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] +Your Favorite Bathhouse in Ethriel is a room. Your Favorite Bathhouse in Ethriel is a bathhouse. "Ethriel is on the short, prestigious list of theomes renowned for its public bathhouses, having twenty five in all to serve the five city-domes in which its people dwell. 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 your favorite bathhouse. 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 your favorite bathhouse. 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. +Local commands: You can '[EthrielLink Relaxing in an Ethriel Bathhouse]' here, or 'talk to' a local. [line break]Area Change commands: [Location Command Block in Ethriel] [line break]Personal Commands: [Personal Command Block in Ethriel]". -Area Change commands: [Location Command Block in Ethriel] -Personal Commands: [Personal Command Block in Ethriel]". +There are 2 privately-named proper-named genericNPCs in Your Favorite Bathhouse in Ethriel. -There are 2 privately-named proper-named people in Your Favorite Bathhouse in Ethriel. +Skakel's Games is a room. Skakel's games is a cardhouse. "Skakel's Games is a place to buy and sell board games and card games, but more than that it's a place to play them. A table can be rented for a petty sum. There are usually gamesgons hanging around to recruit into a game, and games to spectate when you're waiting for a slot to open or a group to come apart and seek other entertainments. Failing all else, Skakel zirself is there most of the time and willing to play any game zie knows (of which zie knows a great many). And there are finger-friendly snacks and drinks available here or in adjacent businesses. + +Local commands: You can '[EthrielLink Playing Games in Ethriel]' here, or 'talk to' a local. [line break]Area Change commands: [Location Command Block in Ethriel][line break]Personal Commands: [Personal Command Block in Ethriel]" + +There is a privately-named proper-named genericNPC in Skakel's Games. 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. You can try to amuse yourself with the power of your mind alone using the '[EthrielLink fantasizing at home in Ethriel]' command, but it'll get old pretty quick. If anyone is traveling with you and staying in your room as they do, you may 'talk to' them. +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. You can try to amuse yourself with the power of your mind alone using the '[EthrielLink fantasizing at home in Ethriel]' command, but it'll get old pretty quick. If anyone is traveling with you and staying in your room as they do, you may 'talk to' them. [line break] Area Change commands: [Location Command Block in Ethriel] [line break]Personal Commands: [Personal Command Block in Ethriel]" -Area Change commands: [Location Command Block in Ethriel] -Personal Commands: [Personal Command Block in Ethriel]" +To say playin da games: + try playing games; Fantasizing is an action applying to nothing. Understand "fantasize" as fantasizing. Instead of fantasizing when current city is Ethriel and chargencondition is false: If the entertainNum of the player is 10: @@ -1757,21 +1789,18 @@ The list of daydreams is always {"phoenixes", "talking with a friend", "a comple 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