Files
lampac/mods/WatchTogether/web/names.js
T

387 lines
5.2 KiB
JavaScript

/**
* Friendly names for a participant — "Clever Mango" rather than a random id.
*
* The idea, the adjective-then-greengrocer shape and the word lists come from LocalSend
* (Apache License 2.0) by way of the JAPP player, which solves the same problem: something
* a stranger can read off a screen and repeat out loud, that says nothing about the device
* or its owner. 222 x 137 is 30414, which puts two people in a room of five
* drawing the same name at around one chance in three thousand.
*
* Deliberately not localised, exactly as LocalSend is not, so a name generated here reads
* the same as one generated in the Android player.
*/
const ADJECTIVES = [
"Able",
"Active",
"Adorable",
"Agile",
"Alert",
"Amber",
"Amused",
"Ancient",
"Artful",
"Autumn",
"Balanced",
"Beautiful",
"Big",
"Bold",
"Brave",
"Breezy",
"Bright",
"Brisk",
"Calm",
"Candid",
"Careful",
"Cheerful",
"Chosen",
"Civil",
"Classic",
"Clean",
"Clear",
"Clever",
"Cool",
"Cosmic",
"Crafty",
"Crimson",
"Crisp",
"Cunning",
"Curious",
"Cute",
"Dapper",
"Daring",
"Dazzling",
"Deep",
"Deft",
"Determined",
"Devoted",
"Diligent",
"Distant",
"Divine",
"Eager",
"Early",
"Earnest",
"Easy",
"Efficient",
"Elder",
"Electric",
"Elegant",
"Endless",
"Energetic",
"Epic",
"Equal",
"Eternal",
"Exact",
"Fabled",
"Faithful",
"Famous",
"Fantastic",
"Fast",
"Fearless",
"Feisty",
"Fertile",
"Festive",
"Fiery",
"Fine",
"Firm",
"Fond",
"Frank",
"Free",
"Fresh",
"Friendly",
"Frosty",
"Gallant",
"Gentle",
"Genuine",
"Gifted",
"Glad",
"Gleaming",
"Glossy",
"Golden",
"Good",
"Gorgeous",
"Graceful",
"Grand",
"Grateful",
"Great",
"Handsome",
"Happy",
"Hardy",
"Hearty",
"Helpful",
"Heroic",
"Hidden",
"Honest",
"Hopeful",
"Hot",
"Humble",
"Ideal",
"Immense",
"Inner",
"Iron",
"Jolly",
"Joyful",
"Keen",
"Kind",
"Lively",
"Lovely",
"Loyal",
"Lucid",
"Lucky",
"Lunar",
"Magic",
"Major",
"Merry",
"Mighty",
"Mild",
"Modern",
"Modest",
"Mystic",
"Neat",
"Nice",
"Nimble",
"Noble",
"Northern",
"Novel",
"Open",
"Orbital",
"Original",
"Patient",
"Peaceful",
"Perfect",
"Playful",
"Pleasant",
"Polished",
"Polite",
"Powerful",
"Precise",
"Pretty",
"Prime",
"Proud",
"Prudent",
"Quick",
"Quiet",
"Radiant",
"Rapid",
"Ready",
"Refined",
"Regal",
"Reliable",
"Rich",
"Robust",
"Royal",
"Ruby",
"Rustic",
"Sage",
"Scarlet",
"Secret",
"Serene",
"Sharp",
"Shining",
"Silent",
"Silver",
"Sincere",
"Skilled",
"Sleek",
"Smart",
"Smooth",
"Snowy",
"Solar",
"Solid",
"Southern",
"Special",
"Spirited",
"Splendid",
"Spry",
"Stately",
"Steady",
"Sterling",
"Stormy",
"Strategic",
"Strong",
"Sturdy",
"Subtle",
"Sunny",
"Superb",
"Supreme",
"Swift",
"Tactful",
"Tender",
"Thankful",
"Thoughtful",
"Tidy",
"Timely",
"Tranquil",
"True",
"Trusty",
"Unique",
"Upbeat",
"Valiant",
"Velvet",
"Vibrant",
"Vigilant",
"Violet",
"Vivid",
"Warm",
"Watchful",
"Welcome",
"Whole",
"Wild",
"Willing",
"Wise",
"Witty",
"Wondrous",
"Worthy",
"Zealous",
"Zesty",
];
const FRUITS = [
"Almond",
"Apple",
"Apricot",
"Artichoke",
"Arugula",
"Asparagus",
"Aubergine",
"Avocado",
"Banana",
"Barley",
"Basil",
"Beetroot",
"Blackberry",
"Blackcurrant",
"Blueberry",
"Broccoli",
"Cabbage",
"Cantaloupe",
"Caper",
"Cardamom",
"Carrot",
"Cashew",
"Cauliflower",
"Celery",
"Chard",
"Cherry",
"Chestnut",
"Chickpea",
"Chicory",
"Chili",
"Chive",
"Cilantro",
"Clementine",
"Cloudberry",
"Clove",
"Coconut",
"Cranberry",
"Cucumber",
"Currant",
"Damson",
"Date",
"Dill",
"Durian",
"Eggplant",
"Elderberry",
"Endive",
"Fennel",
"Fig",
"Garlic",
"Ginger",
"Gooseberry",
"Grape",
"Grapefruit",
"Guava",
"Hazelnut",
"Honeydew",
"Horseradish",
"Jackfruit",
"Jicama",
"Kale",
"Kiwi",
"Kohlrabi",
"Kumquat",
"Leek",
"Lemon",
"Lentil",
"Lettuce",
"Lime",
"Longan",
"Loquat",
"Lychee",
"Mandarin",
"Mango",
"Marrow",
"Melon",
"Millet",
"Mint",
"Mulberry",
"Mushroom",
"Nectarine",
"Nutmeg",
"Oat",
"Okra",
"Olive",
"Onion",
"Orange",
"Oregano",
"Papaya",
"Paprika",
"Parsley",
"Parsnip",
"Passionfruit",
"Pea",
"Peach",
"Peanut",
"Pear",
"Pecan",
"Pepper",
"Persimmon",
"Pineapple",
"Pistachio",
"Plantain",
"Plum",
"Pomegranate",
"Pomelo",
"Poppy",
"Potato",
"Pumpkin",
"Quince",
"Radish",
"Raisin",
"Raspberry",
"Rhubarb",
"Rosemary",
"Rutabaga",
"Saffron",
"Sesame",
"Shallot",
"Sorrel",
"Soybean",
"Spinach",
"Sprout",
"Squash",
"Strawberry",
"Tamarind",
"Tangerine",
"Tarragon",
"Thyme",
"Tomato",
"Turnip",
"Vanilla",
"Walnut",
"Wasabi",
"Watercress",
"Watermelon",
"Yam",
"Zucchini",
];
const pick = (list) =>
list[crypto.getRandomValues(new Uint32Array(1))[0] % list.length];
export function randomAlias() {
return pick(ADJECTIVES) + " " + pick(FRUITS);
}
export const ALIAS_WORDS = { ADJECTIVES, FRUITS };