Update for v9 compatibility.

This commit is contained in:
fyorl 2021-12-10 13:39:58 +00:00
parent fb0add4cbc
commit e966775723
No known key found for this signature in database
GPG key ID: 3A4E57DAE36AC3C4
4 changed files with 22 additions and 20 deletions

View file

@ -518,7 +518,7 @@ export class EntitySheetHelper {
const documentName = this.metadata.name;
const folders = game.folders.filter(f => (f.data.type === documentName) && f.displayed);
const label = game.i18n.localize(this.metadata.label);
const title = game.i18n.format("ENTITY.Create", {entity: label});
const title = game.i18n.format("DOCUMENT.Create", {type: label});
// Identify the template Actor types
const collection = game.collections.get(this.documentName);
@ -531,9 +531,11 @@ export class EntitySheetHelper {
types[a.id] = a.name;
}
// Render the entity creation form
const html = await renderTemplate(`templates/sidebar/entity-create.html`, {
name: data.name || game.i18n.format("ENTITY.New", {entity: label}),
// Render the document creation form
const useEntity = foundry.utils.isNewerVersion("9", game.version ?? game.data.version);
const template = `templates/sidebar/${useEntity ? "entity" : "document" }-create.html`;
const html = await renderTemplate(template, {
name: data.name || game.i18n.format("DOCUMENT.New", {type: label}),
folder: data.folder,
folders: folders,
hasFolders: folders.length > 1,
@ -570,4 +572,4 @@ export class EntitySheetHelper {
options: options
});
}
}
}

View file

@ -8,7 +8,7 @@
export async function createWorldbuildingMacro(data, slot) {
const command = `const roll = new Roll("${data.roll}", actor ? actor.getRollData() : {});
roll.toMessage({speaker, flavor: "${data.label}"});`;
let macro = game.macros.entities.find(m => (m.name === item.label) && (m.command === command));
let macro = game.macros.find(m => (m.name === item.label) && (m.command === command));
if (!macro) {
macro = await Macro.create({
name: data.label,

View file

@ -35,7 +35,7 @@ Hooks.once("init", async function() {
createWorldbuildingMacro
};
// Define custom Entity classes
// Define custom Document classes
CONFIG.Actor.documentClass = SimpleActor;
CONFIG.Item.documentClass = SimpleItem;
@ -109,11 +109,11 @@ Hooks.on("getActorDirectoryEntryContext", (html, options) => {
name: game.i18n.localize("SIMPLE.DefineTemplate"),
icon: '<i class="fas fa-stamp"></i>',
condition: li => {
const actor = game.actors.get(li.data("entityId"));
const actor = game.actors.get(li.data("documentId"));
return !actor.getFlag("worldbuilding", "isTemplate");
},
callback: li => {
const actor = game.actors.get(li.data("entityId"));
const actor = game.actors.get(li.data("documentId"));
actor.setFlag("worldbuilding", "isTemplate", true);
}
});
@ -123,11 +123,11 @@ Hooks.on("getActorDirectoryEntryContext", (html, options) => {
name: game.i18n.localize("SIMPLE.UnsetTemplate"),
icon: '<i class="fas fa-times"></i>',
condition: li => {
const actor = game.actors.get(li.data("entityId"));
const actor = game.actors.get(li.data("documentId"));
return actor.getFlag("worldbuilding", "isTemplate");
},
callback: li => {
const actor = game.actors.get(li.data("entityId"));
const actor = game.actors.get(li.data("documentId"));
actor.setFlag("worldbuilding", "isTemplate", false);
}
});
@ -142,11 +142,11 @@ Hooks.on("getItemDirectoryEntryContext", (html, options) => {
name: game.i18n.localize("SIMPLE.DefineTemplate"),
icon: '<i class="fas fa-stamp"></i>',
condition: li => {
const item = game.items.get(li.data("entityId"));
const item = game.items.get(li.data("documentId"));
return !item.getFlag("worldbuilding", "isTemplate");
},
callback: li => {
const item = game.items.get(li.data("entityId"));
const item = game.items.get(li.data("documentId"));
item.setFlag("worldbuilding", "isTemplate", true);
}
});
@ -156,11 +156,11 @@ Hooks.on("getItemDirectoryEntryContext", (html, options) => {
name: game.i18n.localize("SIMPLE.UnsetTemplate"),
icon: '<i class="fas fa-times"></i>',
condition: li => {
const item = game.items.get(li.data("entityId"));
const item = game.items.get(li.data("documentId"));
return item.getFlag("worldbuilding", "isTemplate");
},
callback: li => {
const item = game.items.get(li.data("entityId"));
const item = game.items.get(li.data("documentId"));
item.setFlag("worldbuilding", "isTemplate", false);
}
});

View file

@ -2,9 +2,9 @@
"name": "worldbuilding",
"title": "Simple World-Building",
"description": "A minimalist game system which provides configurable Actor and Item templates to support free-form system agnostic game-play.",
"version": "0.5.0",
"minimumCoreVersion": "0.8.4",
"compatibleCoreVersion": "0.8.6",
"version": "0.6.0",
"minimumCoreVersion": "0.8.9",
"compatibleCoreVersion": "9",
"author": "Atropos",
"esmodules": ["module/simple.js"],
"styles": ["styles/simple.css"],
@ -21,7 +21,7 @@
"primaryTokenAttribute": "health",
"secondaryTokenAttribute": "power",
"url": "https://gitlab.com/foundrynet/worldbuilding/",
"manifest": "https://gitlab.com/foundrynet/worldbuilding/raw/0.5.x/system.json",
"download": "https://gitlab.com/foundrynet/worldbuilding/-/archive/release-050/worldbuilding-release-050.zip",
"manifest": "https://gitlab.com/foundrynet/worldbuilding/raw/0.6.x/system.json",
"download": "https://gitlab.com/foundrynet/worldbuilding/-/archive/release-060/worldbuilding-release-060.zip",
"license": "LICENSE.txt"
}