Cleanup and convert

This commit is contained in:
2025-02-14 09:09:13 +01:00
parent fa21d30994
commit b29cbfb8fa
13 changed files with 108 additions and 182 deletions

View File

@@ -1,4 +1,4 @@
export { default as CthulhuEternalActor } from "./actor.mjs"
export { default as CthulhuEternalItem } from "./item.mjs"
export { default as CthulhuEternalRoll } from "./roll.mjs"
export { default as CthulhuEternalChatMessage } from "./chat-message.mjs"
export { default as FTLNomadActor } from "./actor.mjs"
export { default as FTLNomadItem } from "./item.mjs"
export { default as FTLNomadRoll } from "./roll.mjs"
export { default as FTLNomadChatMessage } from "./chat-message.mjs"

View File

@@ -1,6 +1,6 @@
import CthulhuEternalUtils from "../utils.mjs"
import FTLNomadUtils from "../utils.mjs"
export default class CthulhuEternalActor extends Actor {
export default class FTLNomadActor extends Actor {
static async create(data, options) {
@@ -14,17 +14,7 @@ export default class CthulhuEternalActor extends Actor {
return actor;
}
if (data.type === 'protagonist') {
let era = game.settings.get("fvtt-cthulhu-eternal", "settings-era")
const skills = await CthulhuEternalUtils.loadCompendium("fvtt-cthulhu-eternal.skills")
data.items = data.items || []
for (let skill of skills) {
if (skill.system.settings === era) {
data.items.push(skill.toObject())
}
}
data.items.push({ type:"weapon", img: "systems/fvtt-cthulhu-eternal/assets/icons/icon_fist.svg",
name: game.i18n.localize("CTHULHUETERNAL.Label.Unarmed"), system: { damage: "1d4-1", weaponType: "unarmed" } })
if (data.type === 'character') {
}
return super.create(data, options);
@@ -37,43 +27,20 @@ export default class CthulhuEternalActor extends Actor {
user: userId,
speaker: { alias: this.name },
rollMode: "selfroll",
content: game.i18n.localize("CTHULHUETERNAL.ChatMessage.exhausted"),
content: game.i18n.localize("FTLNOMAD.ChatMessage.exhausted"),
type: CONST.CHAT_MESSAGE_STYLES.OTHER
})
}
return super._onUpdate(changed, options, userId)
}
async createEmbeddedDocuments(embeddedName, data, operation) {
let newData = []
if (embeddedName === "Item") {
for (let i of data) {
if (i.type === "skill") {
if (this.items.find(item => item.name.toLowerCase() === i.name.toLowerCase())) {
ui.notifications.warn(game.i18n.localize("CTHULHUETERNAL.Notifications.skillAlreadyExists"))
continue
}
}
if (i.type === "bond") {
if (i.system.bondType === "individual") {
i.system.value = this.system.characteristics.cha.value
} else {
i.system.value = Math.floor(this.system.resources.permanentRating / 2)
}
}
newData.push(i)
}
return super.createEmbeddedDocuments(embeddedName, newData, operation)
}
return super.createEmbeddedDocuments(embeddedName, data, operation)
}
async _preCreate(data, options, user) {
await super._preCreate(data, options, user)
// Configure prototype token settings
const prototypeToken = {}
if (this.type === "protagonist") {
if (this.type === "character") {
Object.assign(prototypeToken, {
sight: { enabled: true },
actorLink: true,

View File

@@ -1,9 +1,9 @@
import CthulhuEternalRoll from "./roll.mjs"
import FTLNomadRoll from "./roll.mjs"
export default class CthulhuEternalChatMessage extends ChatMessage {
export default class FTLNomadChatMessage extends ChatMessage {
async _renderRollContent(messageData) {
const data = messageData.message
if (this.rolls[0] instanceof CthulhuEternalRoll) {
if (this.rolls[0] instanceof FTLNomadRoll) {
const isPrivate = !this.isContentVisible
// _renderRollHTML va appeler render sur tous les rolls
const rollHTML = await this._renderRollHTML(isPrivate)

View File

@@ -1,19 +1,13 @@
export const defaultItemImg = {
weapon: "systems/fvtt-cthulhu-eternal/assets/icons/icon_weapon.svg",
armor: "systems/fvtt-cthulhu-eternal/assets/icons/icon_armor.svg",
gear: "systems/fvtt-cthulhu-eternal/assets/icons/icon_equipment.svg",
skill: "systems/fvtt-cthulhu-eternal/assets/icons/icon_skill.svg",
archetype: "systems/fvtt-cthulhu-eternal/assets/icons/icon_archetype.svg",
bond: "systems/fvtt-cthulhu-eternal/assets/icons/icon_bond.svg",
mentaldisorder: "systems/fvtt-cthulhu-eternal/assets/icons/icon_mental_disorder.svg",
arcane: "systems/fvtt-cthulhu-eternal/assets/icons/icon_arcane.svg",
injury: "systems/fvtt-cthulhu-eternal/assets/icons/icon_injury.svg",
motivation: "systems/fvtt-cthulhu-eternal/assets/icons/icon_motivation.svg",
ritual: "systems/fvtt-cthulhu-eternal/assets/icons/icon_ritual.svg",
tome: "systems/fvtt-cthulhu-eternal/assets/icons/icon_tome.svg",
weapon: "systems/fvtt-ftl-nomad/assets/icons/icon_weapon.svg",
armor: "systems/fvtt-ftl-nomad/assets/icons/icon_armor.svg",
equipment: "systems/fvtt-ftl-nomad/assets/icons/icon_equipment.svg",
psionic: "systems/fvtt-ftl-nomad/assets/icons/icon_psionic.svg",
talent: "systems/fvtt-ftl-nomad/assets/icons/icon_talent.svg",
language: "systems/fvtt-ftl-nomad/assets/icons/icon_language.svg"
}
export default class CthulhuEternalItem extends Item {
export default class FTLNomadItem extends Item {
constructor(data, context) {
if (!data.img) {
data.img = defaultItemImg[data.type];

View File

@@ -1,12 +1,12 @@
import { SYSTEM } from "../config/system.mjs"
export default class CthulhuEternalRoll extends Roll {
export default class FTLNomadRoll extends Roll {
/**
* The HTML template path used to render dice checks of this type
* @type {string}
*/
static CHAT_TEMPLATE = "systems/fvtt-cthulhu-eternal/templates/chat-message.hbs"
static CHAT_TEMPLATE = "systems/fvtt-ftl-nomad/templates/chat-message.hbs"
get type() {
return this.options.type
@@ -168,14 +168,14 @@ export default class CthulhuEternalRoll extends Roll {
}
return
case "weapon":
let era = game.settings.get("fvtt-cthulhu-eternal", "settings-era")
let era = game.settings.get("fvtt-ftl-nomad", "settings-era")
if (era !== options.rollItem.system.settings) {
ui.notifications.error(game.i18n.localize("CTHULHUETERNAL.Notifications.WrongEra"))
ui.notifications.error(game.i18n.localize("FTLNOMAD.Notifications.WrongEra"))
console.log("WP Wrong Era", era, options.rollItem.system.weaponType)
return
}
if (!SYSTEM.WEAPON_SKILL_MAPPING[era] || !SYSTEM.WEAPON_SKILL_MAPPING[era][options.rollItem.system.weaponType]) {
ui.notifications.error(game.i18n.localize("CTHULHUETERNAL.Notifications.NoWeaponType"))
ui.notifications.error(game.i18n.localize("FTLNOMAD.Notifications.NoWeaponType"))
console.log("WP Not found", era, options.rollItem.system.weaponType)
return
}
@@ -189,7 +189,7 @@ export default class CthulhuEternalRoll extends Roll {
let actor = game.actors.get(options.actorId)
options.rollItem = actor.items.find(i => i.type === "skill" && i.name.toLowerCase() === skillName.toLowerCase())
if (!options.rollItem) {
ui.notifications.error(game.i18n.localize("CTHULHUETERNAL.Notifications.NoWeaponSkill"))
ui.notifications.error(game.i18n.localize("FTLNOMAD.Notifications.NoWeaponSkill"))
return
}
options.initialScore = options.rollItem.system.computeScore()
@@ -237,13 +237,13 @@ export default class CthulhuEternalRoll extends Roll {
modifier,
multiplier
}
const content = await renderTemplate("systems/fvtt-cthulhu-eternal/templates/roll-dialog.hbs", dialogContext)
const content = await renderTemplate("systems/fvtt-ftl-nomad/templates/roll-dialog.hbs", dialogContext)
const title = CthulhuEternalRoll.createTitle(options.rollType, options.rollTarget)
const label = game.i18n.localize("CTHULHUETERNAL.Roll.roll")
const label = game.i18n.localize("FTLNOMAD.Roll.roll")
const rollContext = await foundry.applications.api.DialogV2.wait({
window: { title: title },
classes: ["fvtt-cthulhu-eternal"],
classes: ["fvtt-ftl-nomad"],
content,
buttons: [
{
@@ -301,14 +301,14 @@ export default class CthulhuEternalRoll extends Roll {
rollData.targetScore = Math.min(Math.max(rollData.targetScore, 0), 100)
}
if (Hooks.call("fvtt-cthulhu-eternal.preRoll", options, rollData) === false) return
if (Hooks.call("fvtt-ftl-nomad.preRoll", options, rollData) === false) return
const roll = new this(formula, options.data, rollData)
await roll.evaluate()
roll.displayRollResult(roll, options, rollData)
if (Hooks.call("fvtt-cthulhu-eternal.Roll", options, rollData, roll) === false) return
if (Hooks.call("fvtt-ftl-nomad.Roll", options, rollData, roll) === false) return
return roll
}
@@ -358,15 +358,15 @@ export default class CthulhuEternalRoll extends Roll {
static createTitle(type, target) {
switch (type) {
case "skill":
return `${game.i18n.localize("CTHULHUETERNAL.Label.titleSkill")}`
return `${game.i18n.localize("FTLNOMAD.Label.titleSkill")}`
case "weapon":
return `${game.i18n.localize("CTHULHUETERNAL.Label.titleWeapon")}`
return `${game.i18n.localize("FTLNOMAD.Label.titleWeapon")}`
case "char":
return `${game.i18n.localize("CTHULHUETERNAL.Label.titleCharacteristic")}`
return `${game.i18n.localize("FTLNOMAD.Label.titleCharacteristic")}`
case "san":
return `${game.i18n.localize("CTHULHUETERNAL.Label.titleSAN")}`
return `${game.i18n.localize("FTLNOMAD.Label.titleSAN")}`
default:
return game.i18n.localize("CTHULHUETERNAL.Label.titleStandard")
return game.i18n.localize("FTLNOMAD.Label.titleStandard")
}
}