78 lines
1.7 KiB
Markdown
78 lines
1.7 KiB
Markdown
<%*
|
|
const title = (
|
|
tp.file.title === "Untitled"
|
|
? await tp.system.prompt("Campaign Title")
|
|
: tp.file.title
|
|
);
|
|
const gm = await tp.system.prompt("Add a GM to this campaign")
|
|
let isAddingPlayers = true;
|
|
const players = [];
|
|
while (isAddingPlayers) {
|
|
const player = await tp.system.prompt("Add a player to this campaign")
|
|
if (player) {
|
|
players.push(player)
|
|
} else {
|
|
isAddingPlayers = false;
|
|
}
|
|
}
|
|
const settingFiles = tp.user.util.filesWithTag("ttrpg/setting");
|
|
const settingFile = (
|
|
settingFiles.length > 0
|
|
? await tp.system.suggester((file) => file.basename, settingFiles, false, "Select a setting")
|
|
: null
|
|
);
|
|
const systemFiles = tp.user.util.filesWithTag("ttrpg/system");
|
|
const systemFile = (
|
|
systemFiles.length > 0
|
|
? await tp.system.suggester((file) => file.basename, systemFiles, false, "Select a system")
|
|
: null
|
|
);
|
|
const metadata = {
|
|
title,
|
|
tags: ["ttrpg/campaign"],
|
|
data: {
|
|
icon: "notebook-tabs",
|
|
title,
|
|
players,
|
|
gm,
|
|
pdfs: [],
|
|
campaignStatus: "planning",
|
|
},
|
|
};
|
|
if (settingFile) {
|
|
metadata.data.setting = tp.app.fileManager.generateMarkdownLink(
|
|
settingFile, tp.file.path(true), null, settingFile.basename
|
|
);
|
|
}
|
|
if (systemFile) {
|
|
metadata.data.system = tp.app.fileManager.generateMarkdownLink(
|
|
systemFile, tp.file.path(true), null, systemFile.basename
|
|
);
|
|
}
|
|
await tp.user.util.updateMetadata(tp, metadata);
|
|
%>
|
|
|
|
<% tp.file.cursor() %>
|
|
|
|
## Player Characters
|
|
|
|
![[CampaignInfo.base#Player Character Cards]]
|
|
## Sessions
|
|
|
|
![[CampaignInfo.base#Sessions]]
|
|
|
|
## Factions
|
|
|
|
![[CampaignInfo.base#Factions]]
|
|
|
|
## NPCs
|
|
|
|
![[CampaignInfo.base#Nonplayer Characters]]
|
|
|
|
## Places
|
|
|
|
![[CampaignInfo.base#Places]]
|
|
|
|
## PDFs
|
|
|
|
![[PDFinfo.base]] |