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