Part 3 - Describing Terrain
A terrain-type has a list of adjectives called the appropriate terrain adjective list.
To describe terrain:
initialize terrain description lists;
repeat with temporary locale running through Blight rooms:
[say "Describing terrain in [temporary locale]. ";]
now the current terrain is a random terrain in the temporary locale;
let the temporary terrain-type be the terrain-type of the current terrain;
sort the appropriate terrain adjective list of the temporary terrain-type in random order;
now the terrain adjective of the current terrain is entry 1 of the appropriate terrain adjective list of the temporary terrain-type.
To initialize terrain description lists:
now the appropriate terrain adjective list of grass is {pale brown, brown, dying, dead, prickly, sparse, thick, jagged};
if the current humidity is arid:
add {dry, brittle} to the appropriate terrain adjective list of grass;
otherwise:
add {damp, slippery} to the appropriate terrain adjective list of grass;
if the current weather is raining:
add {rain-soaked} to the appropriate terrain adjective list of grass;
otherwise if the current weather is snowing:
add {frozen} to the appropriate terrain adjective list of grass;
now the appropriate terrain adjective list of moss is {pale brown, brown, dying, dead, prickly, thick, lichen-spotted};
if the current humidity is arid:
add {dry, brittle} to the appropriate terrain adjective list of moss;
otherwise:
add {damp, slippery} to the appropriate terrain adjective list of moss;
if the current weather is raining:
add {rain-soaked} to the appropriate terrain adjective list of moss;
otherwise if the current weather is snowing:
add {frozen} to the appropriate terrain adjective list of moss;
now the appropriate terrain adjective list of fallen leaves is {pale brown, brown, mildewed, molding, white-spotted};
if the current humidity is arid:
add {dry, brittle, rustling} to the appropriate terrain adjective list of fallen leaves;
otherwise:
add {damp, slippery} to the appropriate terrain adjective list of fallen leaves;
if the current weather is raining:
add {rain-soaked, rain-dampened} to the appropriate terrain adjective list of fallen leaves;
otherwise if the current weather is snowing:
add {frozen} to the appropriate terrain adjective list of fallen leaves;
now the appropriate terrain adjective list of sand is {fine, coarse, pale, dark-hued, gritty};
if the current humidity is arid:
add {dry} to the appropriate terrain adjective list of sand;
if the current temperature is hot:
add {baked} to the appropriate terrain adjective list of sand;
otherwise if the current weather is raining:
add {rain-soaked, damp} to the appropriate terrain adjective list of sand;
otherwise if the current weather is snowing:
add {caked, frozen} to the appropriate terrain adjective list of sand;
now the appropriate terrain adjective list of mud is {gray, dark-hued, brown, dark brown, coarse, slippery, slick, nondescript};
if the current weather is raining:
add {oozing, wet, rain-soaked} to the appropriate terrain adjective list of mud;
otherwise if the current weather is snowing:
add {frozen} to the appropriate terrain adjective list of mud;
now the appropriate terrain adjective list of pebbles is {pale, pale gray, gray, dark gray, black, round, oval, oblong, smooth, water-smoothed, striped, spotted, irregularly shaped, hard};
if the current weather is raining:
add {glistening} to the appropriate terrain adjective list of pebbles;
now the appropriate terrain adjective list of bare rock is {hard, jagged, irregular, smooth, dirt-encrusted, rough};
if the current humidity is precipitating:
add {slippery, damp} to the appropriate terrain adjective list of bare rock;
now the appropriate terrain adjective list of bare earth is {gray, dark gray, brown, dark brown, black, barren, hard};
if the current humidity is arid:
add {dry} to the appropriate terrain adjective list of bare earth;
if the current temperature is hot:
add {baked} to the appropriate terrain adjective list of bare earth;
now the appropriate terrain adjective list of slush is {pale gray, dark gray, light gray, gray, oozing, wet, slippery, slick, chill, frigid};
if the current weather is raining:
add {rain-soaked} to the appropriate terrain adjective list of slush;
if the current temperature is temperate:
add {melting} to the appropriate terrain adjective list of slush;
if the current weather is raining:
add {rapidly melting} to the appropriate terrain adjective list of slush;
otherwise:
add {slowly melting} to the appropriate terrain adjective list of slush;
otherwise if the current weather is snowing:
add {freezing} to the appropriate terrain adjective list of slush;
now the appropriate terrain adjective list of snow is {pale, pallid, dense, dirty, pale gray, light gray, dark gray, gray, chill, frigid};
if the current weather is sunny:
add {glistening, glinting, brilliant, shining, blindingly bright, painfully bright} to the appropriate terrain adjective list of snow;
now the appropriate terrain adjective list of ice is {translucent, pale, pallid, sharp};
if the current weather is sunny:
add {glistening, glinting, brilliant, shining, blindingly bright, painfully bright} to the appropriate terrain adjective list of ice.
Rule for printing the name of a terrain (called target terrain):
say "[terrain adjective of the target terrain] [terrain-type of the target terrain]".