Skip to content

Instantly share code, notes, and snippets.

@lyger
Created January 18, 2018 07:39
Show Gist options
  • Save lyger/dd2c8f497d2803a7a65d714415d8cbcc to your computer and use it in GitHub Desktop.
Save lyger/dd2c8f497d2803a7a65d714415d8cbcc to your computer and use it in GitHub Desktop.
Template strings to distinguish monsters
const templates = {
"Humanoid traits": [
"with [genericadj+limbadj] [limbs]",
"with a missing [limb+appendage+face]",
"with [genericadj+eyeadj] eyes",
"wearing @[jewelryadj] [jewelry]",
"with [hairadj] hair",
"with @[voiceadj] voice"
],
"Mammalian traits": [
"with [genericadj+limbadj+mammallimbadj] [limbs]",
"with a missing [limb+appendage+face]",
"with [hairadj+furadj] hair",
"with a [genericadj+limbadj+furadj] tail"
],
"Reptilian traits": [
"with [genericadj+limbadj+reptileadj] [limbs]",
"with [genericadj+reptileadj] [limbs+appendages]",
"with a missing [limb+appendage+face+claw]"
],
"Insectoid traits": [
"with [genericadj+insectlimbadj] [limbs+insectlimbs]"
],
"Bird traits": [
"with [genericadj+limbadj] [wings+birdparts]",
"with @[genericadj] [wing+birdpart]"
],
"Fish traits": [
"with @[genericadj+fishfinadj] [fishfin]",
"with [scaleadj] scales"
],
"Dragon traits": [
"with [genericadj+reptileadj+limbadj] [limbs+wings]",
"with [scaleadj] scales",
"with @[voiceadj] voice"
],
"Undead traits": [
"with a missing [limb+appendage+face]",
"with rotting [limbs+appendages+faces]",
"that smells like [badsmell]",
"infested with [vermin]"
],
"Lovecraftian traits": [
"with [amorphadj+genericadj+limbadj+mammallimbadj+reptileadj] [amorphpart+limbs+appendages+faces+lcparts]"
],
"Amorphous traits": [
"that is [amorphadj]",
"with a prominent [amorphpart]"
]
};
const words = {
genericadj: ["big", "small", "deformed", "injured"],
limb: ["arm", "leg"],
limbs: ["arms", "legs"],
limbadj: ["stubby", "long", "bony"],
mammallimbadj: ["hairy", "hairless"],
insectlimbs: ["antennae"],
insectlimbadj: ["segmented", "spiky"],
reptileadj: ["scaly", "spiny", "bone-plated"],
appendage: ["hand", "foot", "finger", "toe"],
appendages: ["hands", "feet", "fingers", "toes"],
claw: ["claw"],
claws: ["claws"],
face: ["eye", "ear", "nose", "tooth"],
faces: ["eyes", "ears", "teeth"],
birdpart: ["talon", "beak"],
birdparts: ["talons", "legs"],
eyeadj: ["beady", "red", "blue", "green", "mismatched", "sunken", "milky", "piercing"],
jewelryadj: ["gold", "silver", "tarnished", "gem-encrusted", "diamond", "emerald", "ruby"],
jewelry: ["necklace", "ring", "bracelet", "earring"],
hairadj: ["matted", "shaggy", "bristly", "curly"],
furadj: ["fluffy", "striped", "spotted", "mottled"],
lcparts: ["tentacles", "mouths", "growths", "faces", "tendrils", "beaks"],
fishfin: ["dorsal fin", "pectoral fin", "tail"],
fishfinadj: ["notched", "torn", "pointed"],
amorphadj: ["slimy", "translucent", "bulbous", "glistening", "pulsating"],
amorphpart: ["pustule", "growth", "protrusion", "pseudopod"],
wing: ["wing"],
wings: ["wings"],
vermin: ["flies", "maggots", "spiders"],
badsmell: ["dead fish", "a sewer", "sulfur"],
scaleadj: ["iridescent", "reflective", "dull", "pockmarked"],
voiceadj: ["rumbling", "wheezing", "shrill", "smooth"]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment