Foundry: Forbidden Lands - Name Generator

 avatar
9littlebees
plain_text
a year ago
4.3 kB
36
Indexable
MACRO NAME: Name Generator
MACRO TYPE: script

// copy and paste from below this line:
let message;
async function printMessage(table) {
	let roll = await table.roll()
	let result = roll.results[0];
	let chatData = {
		content: `<div class="border" style="text-align:center">
                         <h2>NPC Generator</h2>
                         <div class="forbidden-lands chat-item">
                         <p>You encounter ${message}, named</p>
                         <h3 style="padding:4px;">${result.data.text}</h3>
                         </div></div>`,
		whisper: [game.user],
	};
	ChatMessage.create(chatData, {});
}
let dType = new Dialog({
	title: "Kin",
	content: "<h3>What kin do you need a name for?</h3>",
	buttons: {
		aslenef: {
			label: "Aslene&nbsp;(feminine)",
			callback: () => {
				message = "an Aslene";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Aslene-F")
				);
			},
		},
		aslenem: {
			label: "Aslene&nbsp;(masculine)",
			callback: () => {
				message = "an Aslene";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Aslene-M")
				);
			},
		},
		dwarff: {
			label: "Dwarf&nbsp;(feminine)",
			callback: () => {
				message = "a Dwarf";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Dwarf-F")
				);
			},
		},
		dwarfm: {
			label: "Dwarf&nbsp;(masculine)",
			callback: () => {
				message = "a Dwarf";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Dwarf-M")
				);
			},
		},
		elff: {
			label: "Elf&nbsp;(feminine)",
			callback: () => {
				message = "an Elf";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Elf-F")
				);
			},
		},
		elfm: {
			label: "Elf&nbsp;(masculine)",
			callback: () => {
				message = "an Elf";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Elf-M")
				);
			},
		},
		goblinf: {
			label: "Goblin&nbsp;(feminine)",
			callback: () => {
				message = "a Goblin";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Goblin-F")
				);
			},
		},
		goblinm: {
			label: "Goblin&nbsp;(masculine)",
			callback: () => {
				message = "a Goblin";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Goblin-M")
				);
			},
		},
		halflingf: {
			label: "Halfling&nbsp;(feminine)",
			callback: () => {
				message = "a Halfling";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Halfling-F")
				);
			},
		},
		halflingm: {
			label: "Halfling&nbsp;(masculine)",
			callback: () => {
				message = "a Halfling";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Halfling-M")
				);
			},
		},
		humanf: {
			label: "Human&nbsp;(feminine)",
			callback: () => {
				message = "an Alderlander, Ailander, or Half-Elf";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Human-F")
				);
			},
		},
		humanm: {
			label: "Human&nbsp;(masculine)",
			callback: () => {
				message = "an Alderlander, Ailander, or Half-Elf";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Human-M")
				);
			},
		},
		orcf: {
			label: "Orc&nbsp;(feminine)",
			callback: () => {
				message = "an Orc";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Orc-F")
				);
			},
		},
		orcm: {
			label: "Orc&nbsp;(masculine)",
			callback: () => {
				message = "an Orc";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Orc-M")
				);
			},
		},
		wolfkinf: {
			label: "Wolfkin&nbsp;(feminine)",
			callback: () => {
				message = "a Wolfkin";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Wolfkin-F")
				);
			},
		},
		wolfkinm: {
			label: "Wolfkin&nbsp;(masculine)",
			callback: () => {
				message = "a Wolfkin";
				printMessage(
					game.tables.contents
						.find((t) => t.name === "Names-Wolfkin-M")
				);
			},
		},
	},
}).render(true);
Editor is loading...
Leave a Comment