feat(welcome): message de bienvenue simple, sans bouton ni tour
Retire le bouton « J'y vais mais j'ai peur » (qui ne lançait aucun tour fonctionnel) et toute la machinerie du tour d'initiation (WelcomeTour, CreateActorDialog) devenus inutiles. tour.mjs ne garde que postWelcomeMessage() ; les clés i18n TOURS.Welcome.* sont supprimées.
This commit is contained in:
+8
-151
@@ -1,157 +1,14 @@
|
||||
function compact(array) {
|
||||
var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
|
||||
while (++index2 < length) {
|
||||
var value2 = array[index2];
|
||||
if (value2) {
|
||||
result[resIndex++] = value2;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
class CreateActorDialog extends FormApplication {
|
||||
constructor() {
|
||||
super({});
|
||||
}
|
||||
async _updateObject() {
|
||||
}
|
||||
static get defaultOptions() {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
title: game.i18n.format("DOCUMENT.Create", {
|
||||
type: game.i18n.localize("DOCUMENT.Actor")
|
||||
}),
|
||||
template: "systems/vermine2047/templates/actor/create.hbs",
|
||||
id: "new-actor-dialog",
|
||||
resizable: false,
|
||||
classes: ["vermine2047", "sheet", "new-actor"],
|
||||
width: 650,
|
||||
height: 200
|
||||
});
|
||||
}
|
||||
getData(_options) {
|
||||
return {
|
||||
// sfenabled: IronswornSettings.starforgedToolsEnabled
|
||||
};
|
||||
}
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
html.find(".vermine__character__create").on("click", async (ev) => {
|
||||
await this._characterCreate.call(this, ev);
|
||||
});
|
||||
html.find(".vermine__shared__create").on("click", async (ev) => {
|
||||
await this._sharedCreate.call(this, ev);
|
||||
});
|
||||
html.find(".vermine__site__create").on("click", async (ev) => {
|
||||
await this._siteCreate.call(this, ev);
|
||||
});
|
||||
html.find(".vermine__foe__create").on("click", async (ev) => {
|
||||
await this._foeCreate.call(this, ev);
|
||||
});
|
||||
}
|
||||
}
|
||||
class VermineTour extends foundry.nue.Tour {
|
||||
/** @override */
|
||||
async _preStep() {
|
||||
var _a2, _b, _c, _d, _e;
|
||||
await super._preStep();
|
||||
if ((_a2 = this.currentStep) == null ? void 0 : _a2.sidebarTab) {
|
||||
await ((_b = ui.sidebar) == null ? void 0 : _b.activateTab(this.currentStep.sidebarTab));
|
||||
}
|
||||
if ((_c = this.currentStep) == null ? void 0 : _c.layer) {
|
||||
const layer = canvas == null ? void 0 : canvas[this.currentStep.layer];
|
||||
if (layer.active && this.currentStep.tool)
|
||||
(_d = ui.controls) == null ? void 0 : _d.initialize({ tool: this.currentStep.tool });
|
||||
else
|
||||
layer.activate({ tool: this.currentStep.tool });
|
||||
}
|
||||
if (((_e = this.currentStep) == null ? void 0 : _e.hook) != null) {
|
||||
await this.currentStep.hook();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class WelcomeTour extends VermineTour {
|
||||
constructor() {
|
||||
super({
|
||||
title: "TOURS.Welcome.Title",
|
||||
description: "TOURS.Welcome.Description",
|
||||
canBeResumed: false,
|
||||
display: true,
|
||||
steps: []
|
||||
});
|
||||
}
|
||||
get steps() {
|
||||
var _a2;
|
||||
return compact([
|
||||
{
|
||||
id: "welcome",
|
||||
title: "TOURS.Welcome.WelcomeTitle",
|
||||
content: "TOURS.Welcome.WelcomeContent"
|
||||
},
|
||||
{
|
||||
id: "character-tab",
|
||||
title: "TOURS.Welcome.ActorTabTitle",
|
||||
content: "TOURS.Welcome.ActorTabContent",
|
||||
sidebarTab: "actors",
|
||||
selector: "#actors .create-document"
|
||||
},
|
||||
{
|
||||
id: "character-create",
|
||||
title: "TOURS.Welcome.CharacterCreateTitle",
|
||||
content: "TOURS.Welcome.CharacterCreateContent",
|
||||
hook: async () => {
|
||||
this.createActorDialog = new CreateActorDialog();
|
||||
await this.createActorDialog.render(true);
|
||||
await new Promise((r) => setTimeout(r, 100));
|
||||
},
|
||||
selector: "#new-actor-dialog #new-group"
|
||||
},
|
||||
/*{
|
||||
id: "compendia",
|
||||
title: "TOURS.Welcome.CompendiumTitle",
|
||||
content: "TOURS.Welcome.CompendiumContent",
|
||||
hook: async () => {
|
||||
var _a3;
|
||||
return await ((_a3 = this.createActorDialog) == null ? void 0 : _a3.close());
|
||||
},
|
||||
sidebarTab: "compendium",
|
||||
selector: 'li[data-pack="vermine2047.verminescenes"]'
|
||||
},*/
|
||||
/*((_a2 = game.user) == null ? void 0 : _a2.viewedScene) && {
|
||||
id: "oracletool",
|
||||
title: "TOURS.Welcome.OracleToolTitle",
|
||||
content: "TOURS.Welcome.OracleToolContent",
|
||||
layer: "tokens",
|
||||
selector: '[data-tool="Oracles"]'
|
||||
},*/
|
||||
{
|
||||
id: "tours",
|
||||
title: "TOURS.Welcome.ToursTitle",
|
||||
content: "TOURS.Welcome.ToursContent",
|
||||
hook: async () => {
|
||||
var _a3;
|
||||
return await ((_a3 = this.createActorDialog) == null ? void 0 : _a3.close());
|
||||
},
|
||||
sidebarTab: "settings",
|
||||
selector: 'button[data-action="tours"]'
|
||||
}
|
||||
]);
|
||||
}
|
||||
}
|
||||
export async function registerTours() {
|
||||
game.tours.register("vermine2047", "welcome", new WelcomeTour());
|
||||
document.addEventListener("click", (el) => {
|
||||
if (el.target.closest("#chat-log #vermine-tour-chat-button")) {
|
||||
const tour = game.tours.get("vermine2047.welcome");
|
||||
tour?.start();
|
||||
}
|
||||
});
|
||||
// Message de bienvenue (crédits) posté à chaque chargement du monde.
|
||||
// Un seul exemplaire par refresh : il est posté par le MJ actif uniquement.
|
||||
/**
|
||||
* Message de bienvenue (crédits du système et du jeu) posté dans le chat
|
||||
* à chaque chargement du monde. Un seul exemplaire par refresh : il est
|
||||
* posté par le MJ actif uniquement.
|
||||
*/
|
||||
export async function postWelcomeMessage() {
|
||||
if (!game.user?.isActiveGM) return;
|
||||
const gms = ChatMessage.getWhisperRecipients("GM");
|
||||
ChatMessage.create({
|
||||
await ChatMessage.create({
|
||||
whisper: gms,
|
||||
speaker: { alias: game.i18n.localize("VERMINE.name") },
|
||||
content: game.i18n.localize("TOURS.ChatMessage")
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user