UNIVERSE { begin = true who = [] celestials = [] _what = wasteland } _ %UNI ? %UNI._what == wasteland && %UNI.begin { output = in the beginning, the world was formed. %UNI.begin @= false %UNI.celestial @= true } _ %UNI ? %UNI._what == wasteland && %UNI.celestial && !%UNI.finished_celestials { _celestial = {CELESTIAL} output = placed $_celestial.fullname in the sky. | birthed $_celestial.fullname into the sky. | built $_celestial.fullname and placed it in the sky. %UNI.finished_celestials @= #%UNI.celestials < 2 ? false : true | false %UNI.celestials @= $_celestial : %UNI.celestials +++ $_celestial } being = the spirits | the sun | the earth | the ancients CELESTIAL { dname = color = fullname = the $color moon, $dname desc = under magnification, it's possible to see across the surface of $dname. _what = celestial } moon color = pink | golden | green | silver | black | purple | red | blue | pale | dark moon feature = dense jungles | placid oceans | swirling clouds | strange cities | vast craters | a snowy wasteland celestial name = | | CELESTIAL { dname = omen = fullname = $dname, the comet of $omen _what = celestial } omen = ruin | cataclysm | prosperity | chaos | hunger | rain | storms | disaster CELESTIAL { dname = wanderer = fullname = the wandering $wanderer, $dname _what = celestial } wanderer = planet | island | ship | light _ %UNI ? %UNI._what == wasteland && %UNI.finished_celestials && !%UNI.peopling && !%UNI.finished_peopling { output = in the old times, the first peoples came to the wasteland from a far-off place. %UNI.peopling @= true } _ %UNI ? %UNI._what == wasteland && %UNI.peopling && !%UNI.finished_peopling { _p = {PEOPLES} output = the $_p.fullname $_p.from. %UNI.finished_peopling @= #%UNI.who < 2 ? false : true | false %UNI.who @= $_p : %UNI.who +++ $_p } _ %UNI %C ? %UNI._what == wasteland && %UNI.peopling && !%UNI.finished_peopling && %C._what == celestial { _p = {PEOPLES %C} output = the $_p.fullname $_p.from. %UNI.finished_peopling @= #%UNI.who < 2 ? false : true | false %UNI.who @= $_p : %UNI.who +++ $_p } _ %UNI ? %UNI.peopling && %UNI.finished_peopling { output = these people came to build in the wasteland, in the old times. %UNI.peopling @= false [%UNI.who].active @= true [%UNI.who]._wandering @= true [%UNI.who]._unplaced @= true [%UNI.who]._opstr @= while wandering the wasteland } PEOPLES { type = dname = fullname = $type.pname of $dname | $dname-$type.pname name = $type.pname _pdesc = $type.desc _mattr = $type.attr desc = the $fullname are $_pdesc. they $type.accent. $_mattr. p = plural _change = 2 _unrest = 0 _practices = [] _heroes = [] from = _what = people } PEOPLES %C { type = dname = fullname = $type.pname of $dname | $dname-$type.pname name = $type.pname _pdesc = $type.desc _mattr = $type.attr desc = the $fullname are $_pdesc. they $type.accent. $_mattr. p = plural _change = 2 _unrest = 0 _practices = [] _heroes = [] from = from %C.fullname _what = people } peoples = human | orc | ogre | goblin | goatman | rabbit | bullman | centaur celestial froms = fell down | flew down from | crashed down from | fled | were exiled from SPLIT_PEOPLES %P { type = %P.type dname = fullname = $type.pname of $dname | $dname-$type.pname name = $type.pname _pdesc = %P._pdesc _mattr = %P._mattr desc = the $fullname are $_pdesc. they $type.accent. $_mattr. p = plural active = true _wandering = %P._wandering _unplaced = %P._unplaced _change = %P._change > 0 ? 1 : 0 _unrest = 0 _practices = %P._practices _heroes = [] from = %P.from _opstr = %P._opstr location ?= %P.location _what = people } froms = came from across the great water | crossed the old mountains | walked from the great northern forests | came from the acid wastelands in the south human { name = human pname = humans desc = humans, with skin and hair accent = | and attr = city = city } goblin { name = goblin pname = goblins desc = goblins, with skin and hair accent = | and attr = | city = city | hive | maze | labyrinth } orc { name = orc pname = orcs desc = orcs, with skin and hair accent = | and attr = | city = city } ogre { name = ogre pname = ogres desc = ogres, with skin and hair accent = | and attr = | city = city } goatman { name = goatman pname = goatmen desc = goatmen, with , and skin beneath accent = | and attr = | city = city | field | range } bullman { name = bullman pname = bullmen desc = bullmen, with , and skin beneath accent = | and attr = | city = city | field | range } centaur { name = centaur pname = centaurs desc = centaurs, with on their animal halves, and skin on their upper bodies accent = | and attr = | city = city | field | range } rabbit { name = rabbit pname = rabbits desc = rabbits, with , and skin beneath accent = | and attr = city = warren | hutch } race adj = | | heights = short | tall | giant build = broad | fat | muscular | lanky | lean fur placement = coats | fur fur location spread = on their heads, hands, and feet | on their heads and legs | all across their bodies save for their chests ogre attr = their skin is tough, leathery hide | they have | they have a wide, slavering mouth on their bellies | they have two heads hoof attr = they shod themselves with crude iron horseshoes | they shine their hooves and horns to a brilliant polish | they have enormous horns horn adjective = curling | tightly-curled | many-tined | rocky attr = they have glowing eyes | every generations, one of them is born -headed | they keep records of the old times count = three | four | five | six | seven | ten | hundred animal = wolf | jackal | rat | boar | horse | raven | crow | vulture | scorpion | bee | beetle | centipede aquatic animal = octopus | shark | jellyfish | whale tentacle adjective = squirming | clustered horn adjective = fat, stubby | long | jagged | curling gross adjective = gnarled | serrated | branching | thick | glossy | tumescent | bulging | budding | translucent | overlapping | clustered | bloated | perforated | lopsided | fat | scaly | thorny | leathery | pulsing | blubbery | spotted | hairy | oozing bonus material = horns | star marks | chitin plating | quills | veins | blisters | warts | glowing spots | patchy fur | tentacles bonus location = down their chest | down their backs | down their sides | across their shoulders | across their flanks | all over | across their shoulders and backs simple skincolor = black | grey | tan | white | green | blue | red skincolor = | - | and human skincolor = blue-black | coal black | deep brown | darkly tan | bronze simple haircolor = white | red | brown | black pattern = zig-zagging | dappled | spotted haircolor = | and accent = paint their skin with rich earth pigments | practice ritual scarification | wear bone ornaments | practice body piercing, with pieces made from bone and resined wood | use plant pigments to tattoo themselves with | dye their hair with rich earth pigments tattoo design = lines and curves | geometrical designs | figures of tattoo representational = flowers | weapons | monsters | demons | crowns and scepters | stars and constellations tattoo style = dense, tightly knit | artistic | curving, interlocking _ %P ? %P._what == people && %P.active { output = the %P.fullname flourished. %P._change @= %P._change + 1 } _ %P ? %P._what == people && %P.active { output = the %P.fullname debated. %P._unrest @= %P._unrest + 1 } _ %P ? %P._what == people && %P.active && %P._change > 0 { _practice = {PRACTICE} output = the %P.fullname became devoted to $_practice.pname. %P._practices @= $_practice : %P._practices %P._change @= %P._change - 1 } PRACTICE { aspect = class = $aspect.class classes = $class.classes pname = $aspect.quality } aspects = ice | fire | electricity | acid | water | fog | machines | crystal | glass | stars | games | animals | trade | war | plants | art | magic | raids ice { quality = the formation of ice | the storage of ice class = ice classes = [] adjective = frozen | frost-coated | icy | ice desc = shrouded in freezing fog | with walls of black ice } fire { quality = breathing fire | working obsidian class = fire classes = [firebreather] tech = obsidian adjective = burning desc = that opened up into the heart of a vast furnace | that sizzled with impossible heat | bathed in everlasting flame | filled with choking smoke idesc = that sizzled with impossible heat | where strange flames burnt on the bare sand | that was bathed in everlasting flame } electricity { quality = calling down lightning | calling down storms | the use of electric power class = electricity classes = [electrician | storm-caller] adjective = sparking | electric | shocking desc = coated in sparking minerals | lit with constant electric arcs } acid { quality = producing potent acids class = acid classes = [alchemist] adjective = acidic | fuming | poisonous | mutated | rubber desc = half-flooded with fuming acid idesc = covered in dried salt cake | surrounded by pools of fuming acid | shrouded with burning acid fumes | bleached by acid | surrounded by pools of bitter poison } water { quality = flowing water | calling rain class = water classes = [druid | storm-caller] adjective = flowing | liquid desc = streaming with pure water idesc = full of clear, pure water | with pools of water going down to lightless depths } fog { quality = hiding in the fog class = fog classes = [] adjective = smoky | mist desc = shrouded in coils of mist | filled with dense fog idesc = shrouded in coils of mist } machines { quality = repairing the old machines | the machines class = machines classes = [mechanic | engineer] adjective = machine | metal | oil | computerized | rubber desc = choked with the corpses of dead machines | full of strange machines, still running } crystal { quality = the glow of the ancient crystals | cultivating crystals class = crystal classes = [] adjective = crystal | shimmering desc = overgrown with crystal | with crystal veins behind the walls idesc = that was overgrown with crystal outcroppings | where a strange crystal grew } crystal adjective = humming | glowing | singing | twisted | spiralling | scintillating | mirrorlike | glass { quality = glassblowing class = glass classes = [glassblower] adjective = glass | translucent | shattered desc = with many recessed glass panels } stars { quality = chronicling the movement of the stars | the vastness of the sky class = stars classes = [astrologer] adjective = gleaming | shining | flying desc = painted with starcharts | coated in softly-glowing crystals that shone like stars in the dark idesc = where a strange star hung overhead, visible only from that location | that had an unobstructed view of the whole of the night sky | in the midst of a vast, flat wasteland, with no rock or dune or hill breaking the flatness all the way to the horizon } games { quality = playing games class = games classes = [gambler | trickster] adjective = trickster | playful | clever } animals { quality = animal care | sheering fleece | butchering cattle class = animals classes = [shepherd] adjective = beast-lord desc = crawling with strange insects | that had become a vast beehive idesc = where many wasteland beasts congregated | where a strange species of gathered } trade { quality = trade | acquiring wealth class = trade classes = [trader | merchant] adjective = greedy | clever desc = overflowing with ancient coins } war { quality = waging war | fighting battles class = war classes = [soldier | mercenary] adjective = brutal | violent | cruel } raids { quality = raiding class = raids classes = [raider | bandit] adjective = hungry | devouring | cruel } hunt { quality = hunting class = hunt classes = [hunter] adjective = mighty } plants { quality = cultivating plants | restoring life to the wasteland class = plants classes = [druid | farmer] adjective = verdant desc = covered in luminous flowers idesc = that was covered in luminous flowers that only bloomed at night | that was covered in dense, impenetrable brambles | thick with clusters of a } plant = plant adjective = verdant | glossy | blossoming | green | fruiting | foul-smelling | discolored plant type = cactus | reed | grass | bush | flower art { quality = art | creating art class = art classes = [poet | artist | bard] adjective = beautiful | well-spoken | skald | herald desc = decorated with ancient art } magic { quality = the mystical arts | the profane arts class = magic classes = [magician] | [witch] adjective = mystic | mighty | cursed | deathless desc = all pervaded by an unearthly glow | that twisted and turned on their own idesc = where gravity pulled softly up towards the sky | where strange lights curled in the sky above | lit all around by an unearthly glow } PRACTICE { build = pname = the building of $build } builds = cities | walls | temples | monoliths | aqueducts | wells | gardens PRACTICE { tech = pname = the use of $tech } tech = clay | fermenting yeasts | chalk | earth paints | writing implements | lacquer | resin | obsidian | clear glass _ %P ? %P._what == people && %P.active && %P._unrest > 2 { _p1 = {SPLIT_PEOPLES %P} _p2 = {SPLIT_PEOPLES %P} output = the %P.fullname split apart, and became known as the $_p1.fullname and the $_p2.fullname. %P.active @= false +++ $_p1 $_p2 } _ %P ? %P._what == people && %P.active && %P._wandering && %P._unplaced { _region = {REGION} output = %P._opstr, the %P.fullname came to $_region.fullname. initial = %P.p.xec described it as $_region.description. %P.location @= $_region %P._flocation @= %P $_region.adjacent @= [] %P._unplaced @= false +++ $_region } _ %A %R ? %A.active && %A._wandering && %A.location == %R && #%R.adjacent < 4 { _region = {REGION} output = leaving %R.fullname, %A.fullname came to $_region.fullname. initial = %A.p.xec described it as $_region.description. %R.adjacent @= $_region : %R.adjacent $_region.adjacent @= [%R] %A.location @= $_region +++ $_region } _ %A %R ? %A.active && %A._wandering && %A.location == %R && #%R.adjacent >= 4 { _region = <%R.adjacent> output = leaving %R.fullname, %A.fullname came to $_region.fullname. %A.location @= $_region } _ %A %R %S ? %A.active && %A._wandering && %A.location == %R && #%R.adjacent < 4 && %S._what == region && #%S.adjacent < 4 { output = leaving %R.fullname, %A.fullname came to %S.fullname. %R.adjacent @= %S : %R.adjacent %S.adjacent @= %R : %S.adjacent %A.location @= %S } REGION { _adj = _noun = fullname = the $_adj $_noun _aspect = $_adj.aspect _desc = {REGION_DESCRIPTION %%} description = $_desc.output features = [] _beastsgenerated = 0 | 1 prepstr = within _what = region } region adjective = great | dry | metal | crumbling | glass | salt | howling | burning | big | acid | fuming | lost | lava | burnt | painted | rust region noun = dunes | wastes | canyons | hills | valley | mountains | flats | delta | peak | mesas | tarfields | ruin large noun = wrecks | ruins | mines metal { aspect = machines | electricity } rust { aspect = machines | electricity } howling { aspect = electricity } glass { aspect = glass } lost { aspect = machines } crumbling { aspect = machines } great { aspect = stars } big { aspect = stars } dry { aspect = acid | fire } salt { aspect = acid | fire } burning { aspect = acid | fire } acid { aspect = acid } fuming { aspect = acid | fire } roiling { aspect = fire | water | plants | acid } misty { aspect = water | fog | plants } boiling { aspect = fire | water | plants } acrid { aspect = water | acid } foul { aspect = water | plants } oil { aspect = water | machines } slimy { aspect = water | plants } crystal { aspect = crystal } lava { aspect = fire } burnt { aspect = fire } painted { aspect = art } REGION { _sea = yes | no _adj = $_sea ? : _noun = $_sea ? sea : fullname = $_sea ? the $_noun of $_adj : the $_adj $_noun _aspect = $_adj.aspect | water _desc = {REGION_DESCRIPTION %%} description = $_desc.output features = [] _beastsgenerated = 0 prepstr = $_sea ? along : within _what = region } water adjective = acid | fuming | boiling | acrid | foul | oil | slimy | crystal water noun = bog | fen | marsh | swamp | mire | grotto sea adjective = fog | silt | mud | oil fog { aspect = water | fog } silt { aspect = water } mud { aspect = plants | water } oil { aspect = machines } REGION_DESCRIPTION %R ? %R._noun ~ { output = } desert region = dunes | wastes | flats | delta | valley desert span = a stretch of | an expanse of | a region of desert adjective = flat, sandy | dune-swept | wind-swept desert subject = | desert desert noun = | sand sand color = rust-red | black | pale | white | golden | #Nil sand material = fine | powdery | clumping | wind-swept | glimmering | shining sand noun = desert | sand | dunes desert accent = expanding off as far as the eye can see | punctuated by the occasional | covered in patchy stands of scrubgrass | combed into dunes around region vegetation = cactus | dead tree ancient artifact = the rusting rectangular hulks of ancient buildings | ancient monoliths made from some strange iridescent metal REGION_DESCRIPTION %R ? %R._noun ~ { _subject = a %R._noun.snoun of | output = $_subject cracked up into geometric tiles } wasteland region = wastes | flats | valley | hills wasteland span = a stretch of | an expanse of | a region of wasteland material = waste material adjective = dry | hard waste material = earth | clay | mud wasteland adjective = broken | curling | shattered | peeling REGION_DESCRIPTION %R ? %R._noun ~ { output = a wasteland of fused black glass } blasted region = wastes | flats blasted adjective = blasted | ruined | shattered blasted accent = covered in strange metal | , utterly desolate | sculpted into waves blasted artifact = trees | poles | scaffolds | monoliths blasted artifact accent = that still hum with ancient energy | that crackle and erupt with electric bursts | that exude the smell of a storm | that crackle and then burst into flame at random glass wave adjective = craggy | frozen | serrated REGION_DESCRIPTION %R ? %R._noun ~ { output = a %R._noun.snoun , } rocky region = canyons | hills | valley | mountains | peak | mesas wastes { snoun = wasteland } flats { snoun = flat wasteland } canyons { snoun = canyon chain | wasteland criscrossed by deep canyons } hills { snoun = chain of hills | roughland } valley { snoun = lowland | valley chain } mountains { snoun = mountain | mountain chain } peak { snoun = mountain } mesas { snoun = mesa | mesa-studded flatland } rocky adjective = rocky | wind-swept | dry rocky accent = devoid even of sand | with gritty sand on the bare rock rocky features = cluttered with innumerable boulders | scarred with vast cracks | bearing the arryos of ancient rainfall | bearing the scars of ancient battle mountain region = mountains | peak | mesas REGION_DESCRIPTION %R ? %R._noun == tarfields { output = tarfield region } REGION_DESCRIPTION %R ? %R._noun ~ { output = large ruin region } REGION_DESCRIPTION %R ? %R._noun ~ { output = water region } REGION_DESCRIPTION %R ? %R._noun == sea { output = the coast of a vast sea of %R._adj } coast adjective = foggy | sandy | rocky sea desc adjective = roiling | boiling | misty _ %P %R ? %P._what == people && %P.active && %P.location == %R { _feature = {REGION_PRACTICE %R} output = from %R.fullname, the %P.fullname learned the ways of $_feature.pname. %P._practices @= $_feature : %P._practices } REGION_PRACTICE %R { aspect = %R._aspect class = $aspect.class pname = $aspect.quality } _ %P %R ? %P._what == people && %P.active && %P.location == %R && %P._wandering { _feature = {FEATURE} output = %R.prepstr %R.fullname, the %P.fullname came across $_feature.fullname. _report = {FEATURE_REPORT $_feature %P %R} initial = $_report.output %R.features @= $_feature : %R.features $_feature.within @= %R %P._flocation @= $_feature +++ $_feature } _ %P %R ? %P._what == people && %P.active && %P.location == %R && %P._wandering { _feature = {FEATURE_RUIN} | {FEATURE_SUB} output = %R.prepstr %R.fullname, the %P.fullname found an entrance to $_feature.fullname. _report = {FEATURE_REPORT $_feature %P %R} initial = $_report.output %R.features @= $_feature : %R.features $_feature.within @= %R %P._flocation @= $_feature +++ $_feature } FEATURE_RUIN { _adj = _noun = fullname = the $_adj $_noun | the $_noun of _what = feature } ruin adjective = freezing | scintillating | ancient | electric | glowing | grand | dark | quiet | crystalline ruin noun = mine | vault | wreck | shipwreck | kiln | house | dome | tower | highroad ruin suffix = ruin | darkness | death | howling | giants | the ancients FEATURE_SUB { _adj = _noun = fullname = the $_adj $_noun _what = feature } sub adjective = freezing | scintillating | electric | grand | hot | dark | black sub noun = pit | caves | deeps | hollow FEATURE { _noun = _adj = fullname = $_noun.article $_adj $_noun _what = feature } feature adjective = cactus | tumbleweed | sandy | scrubgrass | vulture | bramble | winding | lush | overgrown | crystal | shaded feature noun = oasis | cliffs | lull | vale | creek | gulch FEATURE { _noun = _adj = fullname = $_noun.article $_adj $_noun _what = feature } tree adjective = lone | lonesome | sole | only tree noun = tree | copse tree { article = the } copse { article = the } oasis { article = a } cliffs { article = #Nil | the } lull { article = a } vale { article = a } creek { article = #Nil | a } gulch { article = #Nil | a } pit { inoun = canyons | passages | tunnels } caves { inoun = tunnels | caves } deeps { inoun = tunnels | caves } hollow { inoun = passages | tunnels } gulch { inoun = canyons | passages } mine { inoun = halls | shafts | stairways } vault { inoun = halls | passages | stairways } wreck { inoun = halls | rooms } shipwreck { inoun = halls | rooms } kiln { inoun = halls | rooms } house { inoun = halls | rooms } dome { inoun = halls | rooms } tower { inoun = rooms | stairways } highroad { inoun = roadways } FEATURE_REPORT %F %A %R ? %F._noun ~ { _enoun = _epassage = | at the base of a %F._noun _entrance = a $_enoun _inner = %F._noun.inoun %F._adj.aspect.desc output = it was described by %A.p.xem as $_entrance $_epassage, leading to $_inner. } FEATURE_REPORT %F %A %R ? %F._noun ~ { _entrance = a _epassage = _inner = %F._noun.inoun %F._adj.aspect.desc output = it was described by %A.p.xem as $_entrance $_epassage, leading to $_inner. } entrance adj = lonesome | grand | crumbling | collapsed | metal | concrete entrance noun = doorway | arch entrance sub noun = hatch | trapdoor | doorway | arch sub = mine | vault natural opening = crack | opening | open pit | yawning chasm natural passage = between two boulders | along a cliff face | beneath an ancient rock | in the desert | in a field of rocks | buried in the desert sands inner adjective = vast | unending | mazelike | cramped | cyclopean | curving FEATURE_REPORT %F %A %R ? %F._noun ~ || %F._noun ~ { _aspect = %F._noun.aspect | %F._adj.aspect _subj = %F._adj.adjective %F._noun | %F._noun %F._adj.postfix _location = %F._noun.article $_subj $_aspect.idesc output = it was described by %A.p.xem as $_location. } lone { aspect = stars adjective = #Nil postfix = #Nil } lonesome { aspect = stars adjective = #Nil postfix = #Nil } sole { aspect = stars adjective = #Nil postfix = #Nil } only { aspect = stars adjective = #Nil postfix = #Nil } tree { aspect = plants | animals } copse { aspect = plants | animals } cactus { aspect = plants adjective = cactus-covered postfix = full of spiky cacti } tumbleweed { aspect = plants adjective = tumbleweed-covered postfix = #Nil } scrubgrass { aspect = plants adjective = grassy | yellow-grass postfix = #Nil } bramble { aspect = plants adjective = bramble-choked postfix = #Nil } lush { aspect = plants adjective = green | verdant postfix = full of leafy plants } overgrown { aspect = plants adjective = green | grassy | verdant postfix = #Nil } shaded { aspect = fog adjective = foggy | misty | shadowed postfix = shaded by strange rocks } crystal { aspect = crystal adjective = crystal-encrusted | gleaming postfix = lit by strange crystals } vulture { aspect = animals adjective = #Nil postfix = #Nil } winding { aspect = stars | plants | animals adjective = #Nil postfix = #Nil } sandy { aspect = fire adjective = #Nil postfix = #Nil } oasis { aspect = water | plants | animals } cliffs { aspect = stars | animals } lull { aspect = plants | animals } vale { aspect = plants | animals } creek { aspect = water | plants } gulch { aspect = water | plants | animals } freezing { aspect = ice } scintillating { aspect = electricity | magic | stars } ancient { aspect = electricity | machines | glass | magic } electric { aspect = electricity } glowing { aspect = fire | electricity | magic | stars } grand { aspect = machines | trade | magic } dark { aspect = stars } hot { aspect = fire } quiet { aspect = machines | ice } crystalline { aspect = crystal } black { aspect = acid | water | stars } _ %P ? %P._what == people && %P.active && !%P._wandering { output = a group of the %P.fullname left %P.location.fullname, and went wandering. %P._wandering @= true %P._flocation @= %P %P.location @= %P.location.region } _ %P %F ? %P._what == people && %P.active && %P._flocation == %F && %P._wandering && %P.location._what != city && "cities" ~ %P._practices!build { _city = {CITY %P} output = at %P._flocation.fullname, the %P.fullname ceased their wandering, and built their first city, $_city.fullname. %F.built @= [$_city] $_city.at @= %F $_city.region @= %P.location %P._wandering @= false %P.location @= $_city $_city.members @= %P : $_city.members +++ $_city } _ %P %C ? %P._what == people && %C._what == city && %C.region == %P.location && !(%P ~ %C.members) { output = in %P.location.fullname, some of %P.fullname enter into %C.fullname. %C.members @= %P : %C.members } CITY %P { dname = cnoun = %P.type.city fullname = $dname, $cnoun of | $cnoun, $dname | $cnoun, $dname p = plural members = [] _change = 0 _what = city } city post = rags | bone | stone | ash | sand | dust city prefix = rags | bone | stone | ash | cactus | wild | sand | dust city color = black | white | yellow | red city name = | ur =

spec = - | ' syl =

p i = TS | TH | D | TZ | AD | B | N | #Nil p v = A | E | I | O | U | Y p f = RR | Z | TH | M | MM | L | LL | R | H | N | G | #Nil peoples name = | _ %C ? %C._what == city { output = %C.fullname flourishes. %C._change @= %C._change + 1 } _ %C %R ? %C._what == city && %C.region == %R && %C._change > 0 { _feature = {FEATURE} | {FEATURE_RUIN} | {FEATURE_SUB} outputs = scouts from %C.fullname discovered $_feature.fullname in %R.fullname. _report = {FEATURE_REPORT $_feature %C %R} initial = $_report.output $_feature.within @= %R %R.features @= $_feature : %R.features $_feature.within @= %R %C._change @= %C._change - 1 +++ $_feature } _ %P ? %P._what == people && %P.active && %P.location && %P._practices!classes { _hero = {HERO %P} output = $_hero.fullname rose to prominence among the %P.fullname. %P._heroes @= $_hero : %P._heroes $_hero.location @= %P.location._what == city ? %P.location.region : %P.location +++ $_hero } HERO %P { dname = _class = <%P._practices!classes> p =

fullname = the $_class $dname | $dname the $_class active = yes _wandering = yes _what = hero } mythical beast = dragon | phoenix | unicorn | griffon | hydra beast name = | BEAST { dname = type = | -beast | _aspect = fullname = $dname, the $_aspect.adjective $type p =

active = yes _wandering = yes _what = beast } _ %R ? %R._what == region && %R._beastsgenerated < 1 { _beast = {BEAST} output = $_beast.fullname arose from unknown regions in %R.fullname. %R._beastsgenerated @= %R._beastsgenerated + 1 $_beast.location @= %R +++ $_beast } _ %P %B ? %P._what == people && %P.active && %B._what == _beast && %P.location == %P.location { _practice = {BEAST_PRACTICE %B} output = %B.fullname taught the %P.fullname %B.aspect.quality. %P._practices @= $_practice : %P._practices } BEAST_PRACTICE %B { aspect = %B._aspect class = $aspect.class pname = $aspect.quality } p = male | female | neuter male { xes = he's xesc = He's xyr = his xyrc = His xe = he xec = He xem = him xemc = Him plural = singular } female { xes = she's xesc = She's xyr = her xyrc = Her xe = she xec = She xem = her xemc = Her plural = singular } neuter { xes = it's xesc = It's xyr = its xyrc = Its xe = it xec = It xem = it xemc = It plural = singular } plural { xes = they're xesc = They're xyr = their xyrc = Their xe = they xec = They xem = them xemc = Them plur = plural }