Initial release for FoundryVTT

This commit is contained in:
2026-04-13 15:53:13 +02:00
parent f61cbf0b78
commit 1ff1425777
193 changed files with 11270 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
import { DonjonEtCieRollDialog } from "./applications/donjon-et-cie-roll-dialog.mjs";
import { DonjonEtCieUtility } from "./donjon-et-cie-utility.mjs";
export class DonjonEtCieItem extends Item {
async _preCreate(data, options, user) {
await super._preCreate(data, options, user);
const currentImg = data.img ?? this.img;
if (currentImg && !currentImg.startsWith("icons/svg/")) return;
this.updateSource({ img: DonjonEtCieUtility.getDefaultItemIcon(this.type) });
}
get usageDie() {
return Number(this.system.delta ?? 0);
}
async roll() {
if (this.type === "arme") return DonjonEtCieRollDialog.createWeapon(this.actor, this);
if (this.type === "sortilege") return DonjonEtCieRollDialog.createSpell(this.actor, this);
if (this.usageDie) return DonjonEtCieRollDialog.createUsage(this);
return this.postToChat();
}
async rollDamage() {
if (!this.system.degats) return null;
return DonjonEtCieRollDialog.createDamage(this.actor, this);
}
async postToChat() {
const content = await foundry.applications.handlebars.renderTemplate(
"systems/fvtt-donjon-et-cie/templates/chat/item-card.hbs",
{
item: this,
usageLabel: DonjonEtCieUtility.formatUsageDie(this.usageDie)
}
);
return ChatMessage.create({
speaker: ChatMessage.getSpeaker({ actor: this.actor }),
user: game.user.id,
content
});
}
}