@xaroth8088/random-names
Version:
A random name generator for all kinds of things
119 lines (118 loc) • 11.7 kB
JavaScript
export default function dragons() {
const nm1 = ['Angry', 'Bright', 'Calm', 'Dark', 'Enormous', 'Fierce', 'Gentle', 'Large', 'Narrow', 'Piercing', 'Restless', 'Savage', 'Small', 'Tranquil', 'Wide'];
const nm2 = ['amber', 'azure', 'blazing', 'cerulean', 'cobalt', 'crimson', 'ebony', 'emerald', 'fiery', 'flaming', 'ivory', 'jade', 'obsidian', 'onyx', 'pearly', 'ruby', 'sapphire', 'scarlet', 'umber', 'viridian'];
const nm3 = ['deep', 'narrowly', 'buried', 'far', 'rooted', 'well', 'low', 'high', 'sunken', 'lightly', 'thightly', 'graciously', 'concealed', 'delicately', 'elegantly', 'gracefully', 'dreadfully', 'wickedly'];
const nm4 = ['angular', 'bony', 'hard', 'thorny', 'narrow', 'horned', 'long', 'scaled', 'rounded', 'soft'];
const nm5 = ['rather menacing', 'menacing', 'terrifying', 'fierce', 'frightening', 'very ominous', 'rather intimidating', 'vicious', 'threatening', 'savage', 'rather gentle', 'fairly mellow', 'mild', 'disciplined', 'rather peaceful', 'sympathetic', 'fairly kind', 'considerate', 'rather docile', 'merciful'];
const nm6 = ['Two enormous horns', 'Two small horns', 'Two horns', 'Several enormous horns', 'Several small horns', 'Several horns', 'One enormous central horn', 'One small central horn', 'One central horn', 'Several enormous central horns', 'Several small central horns', 'Several central horns', 'Several large tendrils', 'Several small tendrils', 'Several tendrils', 'Two crystal growths', 'Two enormous crystal growths', 'Two small crystal growths', 'Several crystal growths', 'Several enormous crystal growths', 'Several small crystal growths'];
const nm7 = ['small', 'large', 'enormous', 'tiny', 'narrow', 'wide', 'thick', 'thin', 'long', 'short'];
const nm8 = ['pointy', 'round', 'cat-like', 'dog-like', 'angular', 'curved', 'warped'];
const nm9 = ['A row of small horns', 'A row of small tendrils', 'A row of small crystal growths', 'A row of crystal growths', 'A row of horns', 'A row of tendrils', 'Several rows of small horns', 'Several rows of small tendrils', 'Several rows of small crystal growths', 'Several rows of crystal growths', 'Several rows of horns', 'Several rows of tendrils', 'Large fan-like skin and bone structures', 'Small fan-like skin and bone structures', 'Several large fan-like skin and bone structures', 'Several small fan-like skin and bone structures'];
const nm10 = ['pointy', 'round', 'wide', 'thick', 'thing', 'long', 'short', 'stubby', 'flat', 'large', 'small'];
const nm11 = ['rounded', 'curved', 'slitted', 'pointy', 'angular', 'warped', 'oval'];
const nm12 = ['there\'s a small horn', 'there\'s a small crystal growth', 'there\'s a small tendril', 'there are small horns', 'there are small crystal growths', 'there are small tendrils', 'there\'s a horn', 'there\'s a crystal growth', 'there\'s a tendril', 'there are horns', 'there are crystal growths', 'there are tendrils'];
const nm13 = ['A few sharp teeth', 'Rows of sharp teeth', 'Two huge teeth', 'Several huge teeth', 'Several sharp teeth', 'Several rows of sharp teeth', 'Rows of large teeth', 'A few large teeth', 'Several rows of large teeth', 'Four large teeth'];
const nm14 = ['reveal only a fraction of', 'give a slight hint at', 'show a glimpse of', 'give a preview of'];
const nm15 = ['short', 'thick', 'muscular', 'long', 'wide', 'huge', 'thin', 'broad', 'strong', 'lean'];
const nm16 = ['massive', 'huge', 'slim', 'slender', 'long', 'short', 'bulky', 'colossal', 'narrow', 'snake-like', 'muscular'];
const nm17 = ['massive scales', 'small scales', 'thick scales', 'narrow scales', 'wide scales', 'rounded scales', 'curved scales', 'warped scales', 'smooth skin', 'coarse skin', 'thick skin', 'radiant skin', 'crystal-like skin', 'reptilian skin', 'stone-like scales', 'scale-like skin'];
const nm18 = ['a row of spikes', 'rows of spikes', 'a row of thick armor plating', 'rows of thick armor plating', 'a row of small spikes', 'rows of small spikes', 'a row of armor plating', 'rows of armor plating', 'a row of crystal growths', 'rows of crystal growths', 'a row of fan-like growths', 'rows of fan-like growths', 'a row of small crystal growths', 'rows of small crystal growths', 'a row of small fan-like growths', 'rows of small fan-like growths', 'a row of tendrils', 'a row of small tendrils', 'rows of tendrils', 'rows of small tendrils', 'a crystal ridge', 'an armored ridge', 'a fan-like growth'];
const nm19 = ['much lighter', 'slightly lighter', 'lighter', 'darker', 'slightly darker', 'much darker', 'differently'];
const nm20 = ['Four', 'Six', 'Two', 'Four', 'Two', 'Four'];
const nm21 = ['huge', 'muscular', 'slim', 'slender', 'bulky', 'thick', 'long', 'massive', 'powerful', 'mighty'];
const nm22 = ['graceful', 'proud', 'tall', 'sturdy', 'elegantly', 'poised', 'noble', 'illustrious', 'dignified', 'imposing', 'intimidating', 'towering', 'mighty', 'elevated', 'arrogantly'];
const nm23 = ['3', '4', '5', '6'];
const nm24 = ['sharp', 'thick', 'strong', 'long', 'narrow', 'massive', 'huge', 'pointy', 'barbed', 'keen', 'spiny', 'thorny'];
const nm25 = ['claws', 'talons', 'nails'];
const nm26 = ['bone', 'obsidian', 'onyx', 'crystal', 'stone'];
const nm27 = ['Enormous', 'Massive', 'Gigantic', 'Huge', 'Colossal', 'Monstrous', 'Giant', 'Humongous', 'Magnificent', 'Freakish', 'Terrifying', 'Horrendous', 'Graceful', 'Delicate', 'Slender'];
const nm28 = ['its shoulders', 'just below its shoulders', 'just above its shoulders', 'its shoulders'];
const nm29 = ['all the way down at its pelvis', 'at the middle of its back', 'at the lower end of its back', 'at the end of its shoulder blades', 'at its hips', 'just passed its shoulder blades'];
const nm30 = ['angular', 'rounded', 'curved', 'bat-like', 'somewhat triangular', 'scythe-shaped', 'bladed in structure', 'almost butterfly-like', 'almost angel-like', 'almost demonic'];
const nm31 = ['bone structures are clearly visible through the thin layer of skin', 'a specialized layer of skin is all that\'s visible inside', 'the inside is almost entirely see-through, especially when viewed from a distance', 'thick skin and eerie bone structures make up most of the wing', 'a specialized layer of seeminly color-changing skin makes up most of the wing', 'the edges of the skin inside the wings are tattered and damaged', 'the inner sides of the wing are full of minor holes', 'the insides of the wing seem to be made of thin crystals', 'the skin of the wings seems to glow as if made from fire itself'];
const nm32 = ['curved talons grow from each ending like giant scythes', 'sharp hooks grow from the endings of each bone', 'long tendril-like growths grow from many parts of the bottom sides of each wing', 'armor-like scales grow on top of the wing\'s primary bones', 'small, sharp tips grow from each ending like massive spears', 'each bone structures ends in a curved, yet blunt tip', 'sharp, spiky scales cover the top of each visible bone', 'jagged edges at the bottom almost give it a feathered look'];
const nm33 = ['long', 'massive', 'elegant', 'fairly short', 'graceful', 'barbed', 'spiky', 'simple', 'thick', 'narrow', 'wide', 'flat'];
const nm34 = ['sharp tip', 'curved talon', 'single tendril', 'seemingly fluffy tip', 'mace-like growth', 'sword-like edge', 'sharp, arrowhead shaped tip', 'gentle point', 'scythe-like blade', 'hammer-like growth', 'curled tip', 'fan-like tip'];
const rnd1 = Math.floor(Math.random() * nm1.length);
const rnd2 = Math.floor(Math.random() * nm2.length);
const rnd3 = Math.floor(Math.random() * nm3.length);
const rnd4a = Math.floor(Math.random() * nm4.length);
let rnd4b = Math.floor(Math.random() * nm4.length);
if (rnd4a < 8) {
while (rnd4b > 7) {
rnd4b = Math.floor(Math.random() * nm4.length);
while (rnd4a === rnd4b) {
rnd4b = Math.floor(Math.random() * nm4.length);
}
}
}
let rnd5 = Math.floor(Math.random() * nm5.length);
if (rnd4a < 5 || rnd4b < 5) {
while (rnd5 > 9) {
rnd5 = Math.floor(Math.random() * nm5.length);
}
}
const rnd6 = Math.floor(Math.random() * nm6.length);
const rnd7 = Math.floor(Math.random() * nm7.length);
const rnd7b = Math.floor(Math.random() * nm7.length);
const rnd8 = Math.floor(Math.random() * nm8.length);
const rnd9 = Math.floor(Math.random() * nm9.length);
const rnd10 = Math.floor(Math.random() * nm10.length);
const rnd11 = Math.floor(Math.random() * nm11.length);
const rnd12 = Math.floor(Math.random() * nm12.length);
const rnd13 = Math.floor(Math.random() * nm13.length);
const rnd14 = Math.floor(Math.random() * nm14.length);
const rnd15 = Math.floor(Math.random() * nm15.length);
const rnd16 = Math.floor(Math.random() * nm16.length);
const rnd17 = Math.floor(Math.random() * nm17.length);
let rnd17a = Math.floor(Math.random() * nm17.length);
while (rnd17 === rnd17a) {
rnd17a = Math.floor(Math.random() * nm17.length);
}
const rnd18 = Math.floor(Math.random() * nm18.length);
const rnd19 = Math.floor(Math.random() * nm19.length);
const rnd20 = Math.floor(Math.random() * nm20.length);
const rnd21 = Math.floor(Math.random() * nm21.length);
const rnd22 = Math.floor(Math.random() * nm22.length);
const rnd22a = Math.floor(Math.random() * nm22.length);
const rnd23 = Math.floor(Math.random() * nm23.length);
const rnd24 = Math.floor(Math.random() * nm24.length);
const rnd25 = Math.floor(Math.random() * nm25.length);
const rnd26 = Math.floor(Math.random() * nm26.length);
const rnd27 = Math.floor(Math.random() * nm27.length);
const rnd28 = Math.floor(Math.random() * nm28.length);
const rnd29 = Math.floor(Math.random() * nm29.length);
const rnd30 = Math.floor(Math.random() * nm30.length);
const rnd31 = Math.floor(Math.random() * nm31.length);
const rnd32 = Math.floor(Math.random() * nm32.length);
const rnd33 = Math.floor(Math.random() * nm33.length);
const rnd34 = Math.floor(Math.random() * nm34.length);
const name = `${nm1[rnd1]} ${nm2[rnd2]} eyes sit ${nm3[rnd3]} within the creature's ${nm4[rnd4a]}, ${nm4[rnd4b]} skull, which gives the creature a ${nm5[rnd5]} looking appearance.`;
const name2 = `${nm6[rnd6]} sit atop its head, just above its ${nm7[rnd7]}, ${nm8[rnd8]} ears. ${nm9[rnd9]} runs down the sides of each of its jaw lines.`;
const name3 = `Its nose is ${nm10[rnd10]} and has two ${nm7[rnd7b]}, ${nm11[rnd11]} nostrils and ${nm12[rnd12]} on its chin. ${nm13[rnd13]} poke out from the side of its mouth and ${nm14[rnd14]} the terror hiding inside.`;
const name4 = `A ${nm15[rnd15]} neck runs down from its head and into a ${nm16[rnd16]} body. The top is covered in ${nm17[rnd17]} and ${nm18[rnd18]} runs down its spine.`;
const name5 = `Its bottom is covered in ${nm17[rnd17a]} and is colored ${nm19[rnd19]} than the rest of its body. `;
const name6 = `${nm20[rnd20]} ${nm21[rnd21]} limbs carry its body and allow the creature to stand ${nm22[rnd22]} and ${nm22[rnd22a]}. Each limb has ${nm23[rnd23]} digits, each of which end in ${nm24[rnd24]} ${nm25[rnd25]} seemingly made of ${nm26[rnd26]}.`;
const name7 = `${nm27[rnd27]} wings grow starting from ${nm28[rnd28]} and end ${nm29[rnd29]}. The wings are ${nm30[rnd30]}, ${nm31[rnd31]} and ${nm32[rnd32]}.`;
const name8 = `Its ${nm33[rnd33]} tail ends in a ${nm34[rnd34]} and is covered in the same ${nm17[rnd17]} as its body.`;
let result = '';
result += name;
result += '\n';
result += name2;
result += '\n';
result += name3;
result += '\n';
result += '\n';
result += name4;
result += '\n';
result += name5;
result += name6;
result += '\n';
result += '\n';
result += name7;
result += '\n';
result += '\n';
result += name8;
result += '\n';
return result;
}