NPC Career History Generator

Incomplete, needs age generator logic as well.  I'll do it soon.
This commit is contained in:
2025-09-23 05:20:16 +00:00
parent 4635b2bf3b
commit 89b0c7ebc3

View File

@@ -43,7 +43,9 @@ A person has a color called a dominant color. The dominant color of a person is
A person has a color called a minor color. The minor 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. A person has a marking pattern. The marking pattern of a person is usually stripes.
A personal interest is a kind of value. A person has personal interests. The personal interests are economics, art, and playing kaima. A personal interest is a kind of value. A person has personal interests. The personal interests are economics, art, playing kaima, vegetarianism, carnivory, fine foods, books, religion, sex, necromancy, plants, sports, technology, and accumulating wealth.
A person has a personal interest called first interest.
A person has a personal interest called second interest.
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. 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.
@@ -562,7 +564,7 @@ Choosing Myrskor "Myrskor" "[select myrskor]"
Choosing Myrghon "Myrghon" "[select myrghon]" Choosing Myrghon "Myrghon" "[select myrghon]"
Choosing Vohntrai "Vohntrai" "[select vohntrai]" Choosing Vohntrai "Vohntrai" "[select vohntrai]"
Gender Toggle "Gender Toggle" "[gender toggle]" Gender Toggle "Gender Toggle" "[gender toggle]"
Sex Toggle "Sex Toggle" "[sex toggle]" Sex Toggle Link "Sex Toggle" "[sex toggle]"
Enter Career Selector "Career Selector" "[career selector]" Enter Career Selector "Career Selector" "[career selector]"
Choosing Pottergon "Pottergon" "[select pottergon]" Choosing Pottergon "Pottergon" "[select pottergon]"
Choosing Haulergon "Haulergon" "[select haulergon]" Choosing Haulergon "Haulergon" "[select haulergon]"
@@ -595,7 +597,7 @@ To say chargencore:
say "[chargenlink Alloace Toggle]: [alloace spectrum of the player][line break]"; say "[chargenlink Alloace Toggle]: [alloace spectrum of the player][line break]";
say "[chargenlink Species Selector]: [species 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 Gender Toggle]: [the player's TheomaGender][line break]";
say "[chargenlink Sex Toggle]: [the player's TheomaSex][line break]"; say "[chargenlink Sex Toggle Link]: [the player's TheomaSex][line break]";
say "Age: [age of the player] years[line break]"; say "Age: [age of the player] years[line break]";
say "[career sanity check] To reset your careers, reselect your species."; say "[career sanity check] To reset your careers, reselect your species.";
say "[Many careers]"; say "[Many careers]";
@@ -1247,6 +1249,7 @@ To employ (P - a person) as a/an (C - a career):
give 645 XP to P in sex appeal; give 645 XP to P in sex appeal;
give 645 XP to P in erotic art; give 645 XP to P in erotic art;
give 233 XP to P in carousing; give 233 XP to P in carousing;
give 233 XP to P in panhandling;
give 100 XP to P in mental games; give 100 XP to P in mental games;
give 100 XP to P in physical games; give 100 XP to P in physical games;
give 100 XP to P in song; give 100 XP to P in song;
@@ -1341,6 +1344,8 @@ To employ (P - a person) as a/an (C - a career):
give 410 XP to P in physical games; give 410 XP to P in physical games;
give 233 XP to P in song; give 233 XP to P in song;
give 233 XP to P in bookgems; give 233 XP to P in bookgems;
give 233 XP to P in gathering;
give 100 XP to P in hunting;
give 100 XP to P in mercantile; give 100 XP to P in mercantile;
If the alloace spectrum of the player is allosexual: If the alloace spectrum of the player is allosexual:
give 100 XP to P in sex appeal; give 100 XP to P in sex appeal;
@@ -1512,7 +1517,6 @@ To procgen (NPC - a genericNPC):
if there is no job entry or the job entry is the job 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; now the odor of NPC is the odor entry;
break; 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; now the printed name of NPC is a randomly generated name;
If the alloace spectrum of the player is sex-repulsed asexual: If the alloace spectrum of the player is sex-repulsed asexual:
now the alloace spectrum of NPC is sex-repulsed asexual; now the alloace spectrum of NPC is sex-repulsed asexual;
@@ -1546,8 +1550,35 @@ To procgen (NPC - a genericNPC):
Otherwise: Otherwise:
Now the TheomaGender of NPC is a random number between 1 and 3; Now the TheomaGender of NPC is a random number between 1 and 3;
While TheomaSex is TheomaGender: While TheomaSex is TheomaGender:
Now the TheomaGender of NPC is a random number between 1 and 3. 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] [todo: make sex and gender matter. 1 = male, 2 = female, 3 = herm]
Let IntList be the list of personal interests;
sort IntList in random order;
now the first interest of NPC is entry 1 of IntList;
while the first interest of NPC is Sex:
sort IntList in random order;
now the first interest of NPC is entry 1 of IntList;
now the second interest of NPC is entry 2 of IntList;
while the second interest of NPC is Sex:
sort IntList in random order;
now the second interest of NPC is entry 2 of IntList;
let FI be the first interest of NPC;
let SI be the second interest of NPC;
Let CN be the culture of the current city;
Let Result List be a list of careers;
repeat through the Table of Interests:
If Culture entry is not CN:
next;
If Personal Interest entry is not FI and Personal Interest entry is not SI:
next;
repeat with C running through career possibilities entry:
add C to Result List;
let career length be a random number between 1 and 12;
repeat with N running from 1 to career length:
let next career be a random item from Result List;
employ NPC as a next career;
now the age of NPC is a random number between 100 and 1227;
[todo: fix the age generator so that it generates more valid numbers.]
To decide which text is the epidermis of (spe - a species): To decide which text is the epidermis of (spe - a species):
if spe is kalla, decide on "feathers and fur"; if spe is kalla, decide on "feathers and fur";
@@ -1571,9 +1602,9 @@ Tachamundi {"Va", "Ko", "We", "Til", "Tai", "Ro", "Thimo", "Dan", "Alei", "Indi"
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"} 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"} 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: Definition: a genericNPC (called The Dude) is ambiguously-named:
let whereabouts be the location of The Dude; let whereabouts be the location of The Dude;
repeat with candidate running through the people in whereabouts: repeat with candidate running through the genericNPCs in whereabouts:
if candidate is The Dude, next; if candidate is The Dude, next;
if the printed name of candidate is the printed name of The Dude, decide yes; if the printed name of candidate is the printed name of The Dude, decide yes;
decide no. decide no.
@@ -1686,7 +1717,7 @@ To say accessing the calendar in Ethriel:
To say sleeping in Ethriel: To say sleeping in Ethriel:
try sleeping; 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, 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] 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 dragons 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. 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.
@@ -1960,9 +1991,20 @@ playyear playtitle play
Table of Interests Table of Interests
Personal Interest Culture Career Possibilities Conversations Personal Interest Culture Career Possibilities Conversations
Economics Kelkaithian {haulergon, haulergon, haulergon, haulergon, philosophygon, mental dissolutionist, smithgon, authorgon, farmgon} {"the price of hogs"} Economics Kelkaithian {haulergon, haulergon, haulergon, haulergon, philosophygon, mental dissolutionist, smithgon, authorgon, farmgon, charitygon} {"the price of hogs", "the price of sheep", "the price of vegetables", "food prices", "vrash armor", "the weather", "the economy the local land god wants to see built", "their daily divinations", "a book of production technologies", "the difficulty of making the latest goods available even to the poor", "exotic luxuries available in distant places", "the importance of the general savings rate", "cheap, resilient architecture", "their long-term investments", "other, very wealthy dragons", "the importance of long-term planning", "how and why prices vary between cities in the region", "the origins of common local goods", "the design of irrigation systems"}
Art Kelkaithian {pottergon, pottergon, petgon, petgon, authorgon, mental dissolutionist, musicgon, kaimagon} {"the plays running in local theatres this year"} Art Kelkaithian {pottergon, pottergon, petgon, petgon, authorgon, mental dissolutionist, musicgon, kaimagon} {"the plays running in local theatres this year", "the latest masterpiece of a famous artgon", "their envy of the beloved pet of a very rich dragon", "the latest masterpice of a famous artgon", "an obscure artgon they wish was more known", "an infamous actorgon", "the villain of a popular play", "a short story they once wrote", "a fictional character they invented", "the way archetypes interact", "a famous old piece of artwork", "exotic luxuries available in distant places", "the inherent piety of play", "a fun dream they once had", "the way the world was made to promote the ethical development of dragonkind", "the way that art promotes empathy"}
Playing Kaima Kelkaithian {pottergon, haulergon, lumbergon, smithgon, huntgon, farmgon, authorgon, holygon, holygon, mental dissolutionist, flygon, kaimagon, kaimagon} {"the meaning of different kaima cards"} Playing Kaima Kelkaithian {pottergon, haulergon, lumbergon, smithgon, huntgon, farmgon, authorgon, holygon, holygon, mental dissolutionist, flygon, kaimagon, kaimagon} {"the meaning of different kaima cards", "the weather", "the nature of the consensus of the land gods", "their daily divinations", "the art of cold-reading dragons", "an exciting kaima reading they gave to someone once", "a game that can be played with kaima cards", "the dread of drawing The Firestorm in a kaima draw", "the implications of universal benevolence", "the way the consensus of the land gods talks to dragons in every moment", "the divine principle of Chime", "the inherent piety of play", "a fun dream they once had", "an emotionally significant dream they once had", "the way the world was supposedly made to make dragons happy"}
Vegetarianism Kelkaithian {farmgon, farmgon, farmgon, rangergon, philosophygon, holygon, physical dissolutionist} {"vegetarian recipes", "the price of vegetables", "rare vegetables", "rare fruits", "exotic vegetarian recipes", "the pleasure of a good meal", "the difficulty of getting most kalla to eat plants", "edible plants that can be gathered in the wilderness", "dandelion wine", "cheap edible plants", "a particularly savory species of mushroom with a meaty flavor", "the ethical problems with hunting and raising meat animals", "bean-based meat substitutes", "tofu", "the way the world was made to promote the ethical development of dragonkind"}
Carnivory Kelkaithian {huntgon, huntgon, rangergon, rangergon, farmgon, physical dissolutionist, holygon} {"meaty recipes", "Woodwall-style sausage gravy", "the price of beef", "the price of mutton", "exotic game", "the pleasure of a good meal", "a particularly savory species of mushroom with a meaty flavor", "the best kinds of bread to pair with different meats", "meat-frying", "gravy recipes", "bread recipes with meat baked into them", "a fantasy of hunting", "a book starring a great huntgon", "the way the world was supposedly made for meat-eating", "a dream they once had of an endless feast"}
Fine Foods Kelkaithian {farmgon, farmgon, huntgon, huntgon, rangergon, rangergon, mental dissolutionist, physical dissolutionist, physical dissolutionist, petgon} {"fancy foods", "food prices", "rare vegetables", "rare fruits", "the pleasure of a good meal", "exotic luxuries available in distant places", "a dream they once had of an endless feast", "Woodwall-style sausage gravy", "a particularly savory species of mushroom with a meaty flavor", "their opinions about the finest kind of bread", "kinds of cake", "kinds of candy", "unusual foods", "fine foreign liquors", "non-alcoholic spirits, which are beverages that emulate the flavor of spirits while having no alcohol content", "the best kinds of wine to pair with various meals", "edible plants that can be gathered in the wilderness", "dandelion wine"}
Books Kelkaithian {authorgon, authorgon, authorgon, philosophygon, philosophygon, philosophygon, mental dissolutionist, mental dissolutionist, petgon} {"a popular novel", "an obscure novel", "their favorite novel", "a random philosophy text", "a popular philosophy text", "their favorite polemic", "their least-favorite polemic", "a piece of past-world fiction", "the price of books", "a book of production technologies", "a popular authorgon", "an infamous fictional dissolutionist", "a dissolutionist who has produced a famous story", "an account of the life of an inventor", "a fictional villain", "a surprisingly bloody description of a fictional battle", "a fictional family", "the way archetypes interact", "a fictional character they invented", "a fun dream they once had", "an emotionally significant dream they once had", "a dream they once had of visiting a fictional world", "the way the world was made to promote the ethical development of dragonkind", "the way that reading promotes empathy"}
Religion Kelkaithian {holygon, holygon, holygon, holygon, charitygon, physical dissolutionist, mental dissolutionist, mental dissolutionist, philosophygon, kaimagon} {"the preferences of the local land god", "the weather", "the correlations between theome climates and the kinds of land gods", "the implications of universal benevolence", "the economy the local land god wants to see built", "the way archetypes interact", "controversial decisions of the land gods", "the nature of the consensus of the land gods", "the inherent piety of play", "the divine principle of Chime", "the divine principle of Weld", "the divine principle of Rift", "the divine principle of Dissolution", "the divine principle of Garden", "the divine principle of Chains", "the divine principle of Hydra", "the Ascending Path theology", "the faith of Uttermost Dark", "the faith of the Illuminated Order", "the duty to try to make others happy", "a fun dream they once had", "an emotionally significant dream they once had", "the way the world was supposedly made to promote the ethical development of dragonkind", "the way the world was supposedly made to make dragons happy"}
Sex Kelkaithian {sex pest, sex pest, sex pest, sex pest, mental dissolutionist, petgon, sportsgon, lutragon, physical dissolutionist, physical dissolutionist} {"inventive sex positions", "inventive sex positions", "a sexual dream they once had", "the infamous vrash-myrghon problem in sexuality", "a book about sex", "Baunt, a city known for its bathhouses", "Wyranine, a Tachamundi city known for its bathhouses", "Ethriel, a city known for its bathhouses", "a myth about the exploits of the otter-like tesam", "an amusing anecdote of something that happened at an orgy", "a description of a weird species said to have existed in a prior world", "fetishes", "the way the world was supposedly made to make dragons happy", "an uncomfortable sexual experience they once had"}
Necromancy Kelkaithian {holygon, authorgon, philosophygon, haulergon, mental dissolutionist, rangergon, flygon, huntgon, farmgon} {"gossip about material summoners in the city", "controversial decisions of the land gods", "the nature of the consensus of the land gods", "sexual reassignment magics", "past world divinations", "past life divinations", "the importance of balancing piety and independence when studying necromancy", "the divine principle of Hydra", "the divine principle of Rift", "the divine principle of Dissolution", "a grandiose dream they once had", "a fun dream they once had"}
Plants Kelkaithian {farmgon, farmgon, farmgon, huntgon, rangergon, rangergon, rangergon, haulergon} {"common flowers", "popular flowers", "rare flowers", "the parts of flowers", "the price of vegetables", "the weather", "rare fruits", "rare vegetables", "the effects of climate on plantlife", "the crops of a distant place", "glowing plants", "edible plants that can be gathered in the wilderness", "the difficulty of getting most kalla to eat plants", "a fun dream they once had", "the use of plants in adornment", "garden ornaments", "the design of irrigation systems"}
Sports Kelkaithian {sportsgon, sportsgon, sportsgon, sportsgon, smithgon, farmgon, huntgon, rangergon, haulergon, physical dissolutionist, lutragon, flygon} {"a common local sport", "A common local spor", "an aerobatic trick", "endurance-maintenance strategies for heavy exertion", "a sport played in a distant place", "a sport from a prior world", "the difficulty of wrangling dragons to play a game together", "a strong local dragon", "a fast local dragon", "the inherent piety of play", "the divine principle of Hydra", "a fun dream they once had", "cheap entertainments"}
Technology Kelkaithian {smithgon, smithgon, smithgon, smithgon, smithgon, authorgon, philosophygon, mental dissolutionist, charitygon} {"a clock they once bought", "welding", "welding", "smithing", "smithing", "metallurgy", "metallurgy", "common tools", "a book of production technologies", "past world divinations", "the divine principle of Weld", "models of printing press", "the history of pens", "the importance of advanced tools in providing even the most basic assets of modern life", "the difficulty of making the latest goods available even to the poor", "the importance of trying new things", "neophilia", "a daydream they once indulged at length", "a work of past-world fiction depicting a more advanced world", "a fun dream they once had", "an account of the life of an inventor", "an account of the life of a wealthy and neophilic dragon", "a mayorgon in a distant town who is a renowned modernizer", "cheap, resilient architecture", "the design of irrigation systems", "mansion architecture", "an exotic theory about causality"}
Accumulating Wealth Kelkaithian {pottergon, haulergon, haulergon, haulergon, lumbergon, lumbergon, smithgon, smithgon, farmgon, farmgon, huntgon} {"food prices", "living cheaply", "past experiences at work", "cheap entertainments", "the importance of living humbly", "the price of beef", "the price of mutton", "the price of vegetables", "the importance of advanced tools in providing even the most basic assets of modern life", "the difficulty of making the latest goods available even to the poor", "the weather", "a daydream they once indulged at length", "their favorite card game", "cheap recipes", "the divine principle of Chime", "efficiency", "the importance of saving money", "a fantasy of being ludicrously wealthy", "mansion architecture", "cheap, resilient architecture", "minimizing maintenance costs", "a fun dream they once had", "cheap edible plants", "the importance of savings", "other, very wealthy dragons", "a daydream they once indulged at length"}
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: 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; playerport to Your Favorite Bathhouse in Ethriel;
@@ -2014,8 +2056,8 @@ Game together rules is an object based rulebook.
A relax together rule for a person (called The NPC): A relax together rule for a person (called The NPC):
If bathhouses is listed in the Local Amenities of the current city: If bathhouses is listed in the Local Amenities of the current city:
let active barrier be the reserve of the NPC; let active barrier be the reserve of the NPC;
If the NPC is in a bathhouse: If the NPC is in a bathhouse:
say "[The NPC] rests with you, but this feature is not yet fully implemented."; say "[The NPC] rests with you in the bathhouse. You talk lightly about ";
now the flightyRel of the NPC is the flightyRel of the NPC + 6; now the flightyRel of the NPC is the flightyRel of the NPC + 6;
now the firmRel of the NPC is the firmRel of the NPC + 3; now the firmRel of the NPC is the firmRel of the NPC + 3;
If the flightyRel of the NPC > 12: If the flightyRel of the NPC > 12: