intelligent-system-design-language 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/langium-language-designer.md +38 -0
- package/.claude/agents/typescript-vscode-expert.md +29 -0
- package/.claude/agents/ui-ux-designer.md +36 -0
- package/.claude/settings.local.json +33 -0
- package/.idea/inspectionProfiles/Project_Default.xml +7 -0
- package/.idea/isdl.iml +14 -0
- package/.idea/modules.xml +9 -0
- package/.idea/vcs.xml +7 -0
- package/.idea/watcherTasks.xml +4 -0
- package/.vscodeignore +18 -0
- package/LICENSE +674 -0
- package/README.md +86 -0
- package/bin/cli.js +4 -0
- package/bin/lsp.js +8 -0
- package/isdl.png +0 -0
- package/out/_backgrounds.scss +91 -0
- package/out/_handlebars.scss +505 -0
- package/out/_isdlStyles.scss +1357 -0
- package/out/_vuetifyOverrides.scss +425 -0
- package/out/_vuetifyStyles.scss +31957 -0
- package/out/cli/cli-util.js +39 -0
- package/out/cli/cli-util.js.map +1 -0
- package/out/cli/components/_backgrounds.scss +91 -0
- package/out/cli/components/_handlebars.scss +505 -0
- package/out/cli/components/_isdlStyles.scss +1357 -0
- package/out/cli/components/_vuetifyOverrides.scss +425 -0
- package/out/cli/components/_vuetifyStyles.scss +31957 -0
- package/out/cli/components/active-effect-sheet-generator.js +643 -0
- package/out/cli/components/active-effect-sheet-generator.js.map +1 -0
- package/out/cli/components/base-actor-sheet-generator.js +125 -0
- package/out/cli/components/base-actor-sheet-generator.js.map +1 -0
- package/out/cli/components/base-sheet-generator.js +525 -0
- package/out/cli/components/base-sheet-generator.js.map +1 -0
- package/out/cli/components/chat-card-generator.js +683 -0
- package/out/cli/components/chat-card-generator.js.map +1 -0
- package/out/cli/components/css-generator.js +58 -0
- package/out/cli/components/css-generator.js.map +1 -0
- package/out/cli/components/damage-roll-generator.js +173 -0
- package/out/cli/components/damage-roll-generator.js.map +1 -0
- package/out/cli/components/datamodel-generator.js +672 -0
- package/out/cli/components/datamodel-generator.js.map +1 -0
- package/out/cli/components/derived-data-generator.js +1340 -0
- package/out/cli/components/derived-data-generator.js.map +1 -0
- package/out/cli/components/hotbar-drop-hook-generator.js +95 -0
- package/out/cli/components/hotbar-drop-hook-generator.js.map +1 -0
- package/out/cli/components/init-hook-generator.js +597 -0
- package/out/cli/components/init-hook-generator.js.map +1 -0
- package/out/cli/components/keywords-generator.js +220 -0
- package/out/cli/components/keywords-generator.js.map +1 -0
- package/out/cli/components/language-generator.js +110 -0
- package/out/cli/components/language-generator.js.map +1 -0
- package/out/cli/components/measured-template-preview.js +234 -0
- package/out/cli/components/measured-template-preview.js.map +1 -0
- package/out/cli/components/method-generator.js +1812 -0
- package/out/cli/components/method-generator.js.map +1 -0
- package/out/cli/components/ready-hook-generator.js +448 -0
- package/out/cli/components/ready-hook-generator.js.map +1 -0
- package/out/cli/components/token-generator.js +138 -0
- package/out/cli/components/token-generator.js.map +1 -0
- package/out/cli/components/utils.js +176 -0
- package/out/cli/components/utils.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-attribute.js +148 -0
- package/out/cli/components/vue/base-components/vue-attribute.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-boolean.js +77 -0
- package/out/cli/components/vue/base-components/vue-boolean.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-calculator.js +106 -0
- package/out/cli/components/vue/base-components/vue-calculator.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-application.js +369 -0
- package/out/cli/components/vue/base-components/vue-damage-application.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-bonuses.js +225 -0
- package/out/cli/components/vue/base-components/vue-damage-bonuses.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-resistances.js +256 -0
- package/out/cli/components/vue/base-components/vue-damage-resistances.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-damage-track.js +134 -0
- package/out/cli/components/vue/base-components/vue-damage-track.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-date-time.js +55 -0
- package/out/cli/components/vue/base-components/vue-date-time.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-dice.js +111 -0
- package/out/cli/components/vue/base-components/vue-dice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-die.js +86 -0
- package/out/cli/components/vue/base-components/vue-die.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-document-choice.js +172 -0
- package/out/cli/components/vue/base-components/vue-document-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-document-choices.js +203 -0
- package/out/cli/components/vue/base-components/vue-document-choices.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-document-link.js +73 -0
- package/out/cli/components/vue/base-components/vue-document-link.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-extended-choice.js +101 -0
- package/out/cli/components/vue/base-components/vue-extended-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-inventory.js +532 -0
- package/out/cli/components/vue/base-components/vue-inventory.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-macro-choice.js +150 -0
- package/out/cli/components/vue/base-components/vue-macro-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-measured-template.js +543 -0
- package/out/cli/components/vue/base-components/vue-measured-template.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-money.js +496 -0
- package/out/cli/components/vue/base-components/vue-money.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-number.js +184 -0
- package/out/cli/components/vue/base-components/vue-number.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-paperdoll.js +56 -0
- package/out/cli/components/vue/base-components/vue-paperdoll.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-parent-property-reference.js +89 -0
- package/out/cli/components/vue/base-components/vue-parent-property-reference.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-prosemirror.js +31 -0
- package/out/cli/components/vue/base-components/vue-prosemirror.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-resource.js +149 -0
- package/out/cli/components/vue/base-components/vue-resource.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-roll-visualizer.js +121 -0
- package/out/cli/components/vue/base-components/vue-roll-visualizer.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-self-property-reference.js +75 -0
- package/out/cli/components/vue/base-components/vue-self-property-reference.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-string-choice.js +111 -0
- package/out/cli/components/vue/base-components/vue-string-choice.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-string-choices.js +216 -0
- package/out/cli/components/vue/base-components/vue-string-choices.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-string.js +73 -0
- package/out/cli/components/vue/base-components/vue-string.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-text-field.js +66 -0
- package/out/cli/components/vue/base-components/vue-text-field.js.map +1 -0
- package/out/cli/components/vue/base-components/vue-tracker.js +444 -0
- package/out/cli/components/vue/base-components/vue-tracker.js.map +1 -0
- package/out/cli/components/vue/vue-action-component-generator.js +88 -0
- package/out/cli/components/vue/vue-action-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-active-effect-sheet-generator.js +1016 -0
- package/out/cli/components/vue/vue-active-effect-sheet-generator.js.map +1 -0
- package/out/cli/components/vue/vue-base-components-generator.js +59 -0
- package/out/cli/components/vue/vue-base-components-generator.js.map +1 -0
- package/out/cli/components/vue/vue-datatable-component-generator.js +307 -0
- package/out/cli/components/vue/vue-datatable-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-datatable-sheet-class-generator.js +342 -0
- package/out/cli/components/vue/vue-datatable-sheet-class-generator.js.map +1 -0
- package/out/cli/components/vue/vue-datatable2-component-generator.js +939 -0
- package/out/cli/components/vue/vue-datatable2-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-document-creation-app.js +140 -0
- package/out/cli/components/vue/vue-document-creation-app.js.map +1 -0
- package/out/cli/components/vue/vue-document-creation-sheet.js +105 -0
- package/out/cli/components/vue/vue-document-creation-sheet.js.map +1 -0
- package/out/cli/components/vue/vue-generator.js +240 -0
- package/out/cli/components/vue/vue-generator.js.map +1 -0
- package/out/cli/components/vue/vue-mixin.js +338 -0
- package/out/cli/components/vue/vue-mixin.js.map +1 -0
- package/out/cli/components/vue/vue-pinned-datatable-component-generator.js +306 -0
- package/out/cli/components/vue/vue-pinned-datatable-component-generator.js.map +1 -0
- package/out/cli/components/vue/vue-prompt-generator.js +201 -0
- package/out/cli/components/vue/vue-prompt-generator.js.map +1 -0
- package/out/cli/components/vue/vue-prompt-sheet-class-generator.js +252 -0
- package/out/cli/components/vue/vue-prompt-sheet-class-generator.js.map +1 -0
- package/out/cli/components/vue/vue-sheet-application-generator.js +2008 -0
- package/out/cli/components/vue/vue-sheet-application-generator.js.map +1 -0
- package/out/cli/components/vue/vue-sheet-class-generator.js +484 -0
- package/out/cli/components/vue/vue-sheet-class-generator.js.map +1 -0
- package/out/cli/generator.js +659 -0
- package/out/cli/generator.js.map +1 -0
- package/out/cli/main.js +43 -0
- package/out/cli/main.js.map +1 -0
- package/out/datatables.min.css +54 -0
- package/out/datatables.min.js +178 -0
- package/out/extension/github/githubAuthProvider.js +345 -0
- package/out/extension/github/githubAuthProvider.js.map +1 -0
- package/out/extension/github/githubConfig.js +132 -0
- package/out/extension/github/githubConfig.js.map +1 -0
- package/out/extension/github/githubGistActions.js +251 -0
- package/out/extension/github/githubGistActions.js.map +1 -0
- package/out/extension/github/githubGistManager.js +255 -0
- package/out/extension/github/githubGistManager.js.map +1 -0
- package/out/extension/github/githubManager.js +1735 -0
- package/out/extension/github/githubManager.js.map +1 -0
- package/out/extension/github/githubQuickActions.js +659 -0
- package/out/extension/github/githubQuickActions.js.map +1 -0
- package/out/extension/github/githubTreeProvider.js +181 -0
- package/out/extension/github/githubTreeProvider.js.map +1 -0
- package/out/extension/github/system-workflow.yml +48 -0
- package/out/extension/main.cjs +70315 -0
- package/out/extension/main.cjs.map +7 -0
- package/out/extension/main.js +237 -0
- package/out/extension/main.js.map +1 -0
- package/out/extension/package.json +426 -0
- package/out/isdl.png +0 -0
- package/out/language/generated/ast.js +2992 -0
- package/out/language/generated/ast.js.map +1 -0
- package/out/language/generated/grammar.js +13970 -0
- package/out/language/generated/grammar.js.map +1 -0
- package/out/language/generated/module.js +20 -0
- package/out/language/generated/module.js.map +1 -0
- package/out/language/intelligent-system-design-language-formatter.js +85 -0
- package/out/language/intelligent-system-design-language-formatter.js.map +1 -0
- package/out/language/intelligent-system-design-language-module.js +69 -0
- package/out/language/intelligent-system-design-language-module.js.map +1 -0
- package/out/language/intelligent-system-design-language-quickfixes.js +37 -0
- package/out/language/intelligent-system-design-language-quickfixes.js.map +1 -0
- package/out/language/intelligent-system-design-language-validator.js +515 -0
- package/out/language/intelligent-system-design-language-validator.js.map +1 -0
- package/out/language/isdl-hover-provider.js +77 -0
- package/out/language/isdl-hover-provider.js.map +1 -0
- package/out/language/isdl-scope-provider.js +149 -0
- package/out/language/isdl-scope-provider.js.map +1 -0
- package/out/language/main.cjs +47655 -0
- package/out/language/main.cjs.map +7 -0
- package/out/language/main.js +11 -0
- package/out/language/main.js.map +1 -0
- package/out/missing-character.png +0 -0
- package/out/package.json +426 -0
- package/out/paperdoll_default.png +0 -0
- package/out/progressbar.min.js +7 -0
- package/out/styles.scss +722 -0
- package/out/test/formatting/formatter.test.js +46 -0
- package/out/test/formatting/formatter.test.js.map +1 -0
- package/out/vuetify.esm.js +30279 -0
- package/package.json +426 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method-generator.js","sourceRoot":"","sources":["../../../src/cli/components/method-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
import { isConfigExpression } from "../../language/generated/ast.js";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import { expandToNode, toString } from "langium/generate";
|
|
5
|
+
import { collectAllStatusEffects } from "./keywords-generator.js";
|
|
6
|
+
export function generateReadyHookMjs(entry, id, destination) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const generatedFileDir = path.join(destination, "system", "hooks");
|
|
9
|
+
const generatedFilePath = path.join(generatedFileDir, `ready.mjs`);
|
|
10
|
+
// Extract system label for journal naming
|
|
11
|
+
const systemLabel = ((_b = (_a = entry.config.body.find(x => isConfigExpression(x) && x.type === "label")) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.replace(/['"]/g, '')) || id;
|
|
12
|
+
// Collect status effects with conditions at build time
|
|
13
|
+
const statusEffectsMap = collectAllStatusEffects(entry);
|
|
14
|
+
const statusEffectsData = Object.fromEntries(statusEffectsMap);
|
|
15
|
+
if (!fs.existsSync(generatedFileDir)) {
|
|
16
|
+
fs.mkdirSync(generatedFileDir, { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
const fileNode = expandToNode `
|
|
19
|
+
export async function ready() {
|
|
20
|
+
console.log('${id} | Ready');
|
|
21
|
+
|
|
22
|
+
registerSockets();
|
|
23
|
+
//moveVuetifyStyles();
|
|
24
|
+
reopenLastState();
|
|
25
|
+
indexPacks();
|
|
26
|
+
await createKeywordJournals();
|
|
27
|
+
|
|
28
|
+
function getTargetOrNothing() {
|
|
29
|
+
if (game.user.targets.size > 0) {
|
|
30
|
+
const firstTarget = game.user.targets.first();
|
|
31
|
+
return firstTarget.actor;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
// Attach to game.user
|
|
36
|
+
game.user.getTargetOrNothing = getTargetOrNothing;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* -------------------------------------------- */
|
|
40
|
+
|
|
41
|
+
function registerSockets() {
|
|
42
|
+
game.socket.on("system.${id}", (data) => {
|
|
43
|
+
console.log("Socket Data", data);
|
|
44
|
+
|
|
45
|
+
if (data.type === "prompt") {
|
|
46
|
+
_handlePrompt(data);
|
|
47
|
+
}
|
|
48
|
+
else if (data.type === "combat") {
|
|
49
|
+
_handleCombat(data);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* -------------------------------------------- */
|
|
55
|
+
|
|
56
|
+
async function _handlePrompt(message) {
|
|
57
|
+
await new Promise(async (resolve, reject) => {
|
|
58
|
+
if (message.timeLimit && message.timeLimit > 0) {
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
console.warn("Prompt timed out:", message.uuid);
|
|
61
|
+
// Find the window from ui.windows with the uuid
|
|
62
|
+
const dialog = Object.values(ui.windows).find(w => w.options.classes.includes("dialog") && w.options.classes.includes("prompt") && w.options.classes.includes(message.uuid));
|
|
63
|
+
if (dialog) {
|
|
64
|
+
dialog.close();
|
|
65
|
+
}
|
|
66
|
+
game.socket.emit("system.${id}", {
|
|
67
|
+
type: "promptResponse",
|
|
68
|
+
uuid: message.uuid,
|
|
69
|
+
data: {}
|
|
70
|
+
}, { recipients: [message.userId] });
|
|
71
|
+
resolve();
|
|
72
|
+
}, message.timeLimit);
|
|
73
|
+
}
|
|
74
|
+
Dialog.prompt({
|
|
75
|
+
title: message.title,
|
|
76
|
+
content: message.content,
|
|
77
|
+
callback: (html, event) => {
|
|
78
|
+
// Grab the form data
|
|
79
|
+
const formData = new FormDataExtended(html[0].querySelector("form"));
|
|
80
|
+
const data = { system: {} };
|
|
81
|
+
for (const [key, value] of formData.entries()) {
|
|
82
|
+
// Translate values to more helpful ones, such as booleans and numbers
|
|
83
|
+
if (value === "true") {
|
|
84
|
+
data[key] = true;
|
|
85
|
+
data.system[key] = true;
|
|
86
|
+
}
|
|
87
|
+
else if (value === "false") {
|
|
88
|
+
data[key] = false;
|
|
89
|
+
data.system[key] = false;
|
|
90
|
+
}
|
|
91
|
+
else if (!isNaN(value)) {
|
|
92
|
+
data[key] = parseInt(value);
|
|
93
|
+
data.system[key] = parseInt(value);
|
|
94
|
+
}
|
|
95
|
+
else if (value === "null") {
|
|
96
|
+
data[key] = null;
|
|
97
|
+
data.system[key] = null;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
data[key] = value;
|
|
101
|
+
data.system[key] = value;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
game.socket.emit("system.${id}", {
|
|
106
|
+
type: "promptResponse",
|
|
107
|
+
uuid: message.uuid,
|
|
108
|
+
data: data
|
|
109
|
+
}, { recipients: [message.userId] });
|
|
110
|
+
|
|
111
|
+
resolve();
|
|
112
|
+
return data;
|
|
113
|
+
},
|
|
114
|
+
options: {
|
|
115
|
+
classes: ["${id}", "dialog", "prompt", message.uuid],
|
|
116
|
+
width: message.width,
|
|
117
|
+
height: message.height,
|
|
118
|
+
left: message.left,
|
|
119
|
+
top: message.top,
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* -------------------------------------------- */
|
|
126
|
+
|
|
127
|
+
async function _handleCombat(message) {
|
|
128
|
+
switch(message.method) {
|
|
129
|
+
case "nextTurn": game.combat.nextTurn(); break;
|
|
130
|
+
case "endCombat": game.combat.endCombat(); break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* -------------------------------------------- */
|
|
135
|
+
|
|
136
|
+
function moveVuetifyStyles() {
|
|
137
|
+
|
|
138
|
+
const observer = new MutationObserver((mutationsList) => {
|
|
139
|
+
for (const mutation of mutationsList) {
|
|
140
|
+
if (mutation.type === "childList") {
|
|
141
|
+
const themeStylesheet = document.getElementById("vuetify-theme-stylesheet");
|
|
142
|
+
if (themeStylesheet) {
|
|
143
|
+
console.log("Vuetify theme stylesheet loaded:", themeStylesheet);
|
|
144
|
+
|
|
145
|
+
// Create a new style node
|
|
146
|
+
const vuetifyThemeOverrides = document.createElement("style");
|
|
147
|
+
vuetifyThemeOverrides.id = "vuetify-theme-overrides";
|
|
148
|
+
vuetifyThemeOverrides.innerHTML = \`
|
|
149
|
+
.v-theme--light {
|
|
150
|
+
--v-disabled-opacity: 0.7;
|
|
151
|
+
}
|
|
152
|
+
\`;
|
|
153
|
+
|
|
154
|
+
document.head.insertAdjacentElement('beforeEnd', vuetifyThemeOverrides);
|
|
155
|
+
|
|
156
|
+
// Perform any modifications or actions here
|
|
157
|
+
observer.disconnect(); // Stop observing once found
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// Observe the <head> for new styles being added
|
|
164
|
+
observer.observe(document.head, { childList: true, subtree: true });
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* -------------------------------------------- */
|
|
168
|
+
|
|
169
|
+
function reopenLastState() {
|
|
170
|
+
const lastState = game.settings.get("${id}", "hotReloadLastState");
|
|
171
|
+
if (lastState.openWindows.length > 0) {
|
|
172
|
+
for (const window of lastState.openWindows) {
|
|
173
|
+
const document = fromUuidSync(window.uuid);
|
|
174
|
+
const app = document.sheet;
|
|
175
|
+
if (app) {
|
|
176
|
+
try {
|
|
177
|
+
app.render(true).setPosition(window.position);
|
|
178
|
+
}
|
|
179
|
+
catch (e) {}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
game.settings.set("${id}", "hotReloadLastState", { openWindows: [] });
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/* -------------------------------------------- */
|
|
187
|
+
|
|
188
|
+
function indexPacks() {
|
|
189
|
+
for (const pack of game.packs) {
|
|
190
|
+
pack.getIndex({ fields: ['system.description', 'system'] });
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/* -------------------------------------------- */
|
|
195
|
+
|
|
196
|
+
async function createKeywordJournals() {
|
|
197
|
+
if (!game.user.isGM || (!game.system.keywords && !game.system.statusEffects)) return;
|
|
198
|
+
if (!game.settings.get("${id}", "createSystemJournal")) return;
|
|
199
|
+
|
|
200
|
+
// Create System folder if it doesn't exist
|
|
201
|
+
let keywordsFolder = game.folders.find(f => f.name === game.i18n.localize("JOURNAL.System") && f.type === "JournalEntry");
|
|
202
|
+
if (!keywordsFolder) {
|
|
203
|
+
keywordsFolder = await Folder.create({
|
|
204
|
+
name: game.i18n.localize("JOURNAL.System"),
|
|
205
|
+
type: "JournalEntry",
|
|
206
|
+
color: "#42a5f5",
|
|
207
|
+
parent: null,
|
|
208
|
+
sort: 0
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Find or create the system documentation journal
|
|
213
|
+
let keywordsJournal = game.journal.find(j => j.getFlag('${id}', 'systemJournal') === true);
|
|
214
|
+
|
|
215
|
+
if (!keywordsJournal) {
|
|
216
|
+
// Create the main system documentation journal
|
|
217
|
+
const journalData = {
|
|
218
|
+
name: "${systemLabel}",
|
|
219
|
+
folder: keywordsFolder.id,
|
|
220
|
+
flags: {
|
|
221
|
+
core: {
|
|
222
|
+
keywordsJournal: true // Legacy compatibility
|
|
223
|
+
},
|
|
224
|
+
'${id}': {
|
|
225
|
+
systemJournal: true,
|
|
226
|
+
version: game.system.version
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
keywordsJournal = await JournalEntry.create(journalData);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Separate keywords by type
|
|
235
|
+
const regularKeywords = {};
|
|
236
|
+
const damageTypes = {};
|
|
237
|
+
|
|
238
|
+
if (game.system.keywords) {
|
|
239
|
+
for (const [keywordKey, keywordData] of Object.entries(game.system.keywords)) {
|
|
240
|
+
if (keywordData.type === 'damage-type') {
|
|
241
|
+
damageTypes[keywordKey] = keywordData;
|
|
242
|
+
} else {
|
|
243
|
+
regularKeywords[keywordKey] = keywordData;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// Use pre-collected status effects data with conditions
|
|
249
|
+
const statusEffects = ${JSON.stringify(statusEffectsData, null, 12).split('\n').join('\n ')};
|
|
250
|
+
|
|
251
|
+
// Check and create/update Keywords page
|
|
252
|
+
let keywordsPage = keywordsJournal.pages.find(p => p.getFlag('core', 'pageType') === 'keywords');
|
|
253
|
+
if (Object.keys(regularKeywords).length > 0) {
|
|
254
|
+
const keywordsContent = generateKeywordsPageContent(regularKeywords);
|
|
255
|
+
|
|
256
|
+
if (!keywordsPage) {
|
|
257
|
+
// Create new page
|
|
258
|
+
const keywordsPageData = {
|
|
259
|
+
name: game.i18n.localize("JOURNAL.Keywords"),
|
|
260
|
+
type: "text",
|
|
261
|
+
title: {
|
|
262
|
+
show: true,
|
|
263
|
+
level: 1
|
|
264
|
+
},
|
|
265
|
+
text: {
|
|
266
|
+
content: keywordsContent,
|
|
267
|
+
format: 1 // HTML format
|
|
268
|
+
},
|
|
269
|
+
flags: {
|
|
270
|
+
core: {
|
|
271
|
+
pageType: 'keywords'
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
await keywordsJournal.createEmbeddedDocuments("JournalEntryPage", [keywordsPageData]);
|
|
277
|
+
} else {
|
|
278
|
+
// Update existing page content
|
|
279
|
+
await keywordsPage.update({
|
|
280
|
+
"text.content": keywordsContent
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Check and create/update Damage Types page
|
|
286
|
+
let damageTypesPage = keywordsJournal.pages.find(p => p.getFlag('core', 'pageType') === 'damage-types');
|
|
287
|
+
if (Object.keys(damageTypes).length > 0) {
|
|
288
|
+
const damageTypesContent = generateDamageTypesPageContent(damageTypes);
|
|
289
|
+
|
|
290
|
+
if (!damageTypesPage) {
|
|
291
|
+
// Create new page
|
|
292
|
+
const damageTypesPageData = {
|
|
293
|
+
name: game.i18n.localize("JOURNAL.DamageTypes"),
|
|
294
|
+
type: "text",
|
|
295
|
+
title: {
|
|
296
|
+
show: true,
|
|
297
|
+
level: 1
|
|
298
|
+
},
|
|
299
|
+
text: {
|
|
300
|
+
content: damageTypesContent,
|
|
301
|
+
format: 1 // HTML format
|
|
302
|
+
},
|
|
303
|
+
flags: {
|
|
304
|
+
core: {
|
|
305
|
+
pageType: 'damage-types'
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
await keywordsJournal.createEmbeddedDocuments("JournalEntryPage", [damageTypesPageData]);
|
|
311
|
+
} else {
|
|
312
|
+
// Update existing page content
|
|
313
|
+
await damageTypesPage.update({
|
|
314
|
+
"text.content": damageTypesContent
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Check and create/update Status Effects page
|
|
320
|
+
let statusEffectsPage = keywordsJournal.pages.find(p => p.getFlag('core', 'pageType') === 'status-effects');
|
|
321
|
+
if (Object.keys(statusEffects).length > 0) {
|
|
322
|
+
const statusEffectsContent = generateStatusEffectsPageContent(statusEffects);
|
|
323
|
+
|
|
324
|
+
if (!statusEffectsPage) {
|
|
325
|
+
// Create new page
|
|
326
|
+
const statusEffectsPageData = {
|
|
327
|
+
name: game.i18n.localize("JOURNAL.StatusEffects"),
|
|
328
|
+
type: "text",
|
|
329
|
+
title: {
|
|
330
|
+
show: true,
|
|
331
|
+
level: 1
|
|
332
|
+
},
|
|
333
|
+
text: {
|
|
334
|
+
content: statusEffectsContent,
|
|
335
|
+
format: 1 // HTML format
|
|
336
|
+
},
|
|
337
|
+
flags: {
|
|
338
|
+
core: {
|
|
339
|
+
pageType: 'status-effects'
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
await keywordsJournal.createEmbeddedDocuments("JournalEntryPage", [statusEffectsPageData]);
|
|
345
|
+
} else {
|
|
346
|
+
// Update existing page content
|
|
347
|
+
await statusEffectsPage.update({
|
|
348
|
+
"text.content": statusEffectsContent
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
function generateKeywordsPageContent(keywords) {
|
|
355
|
+
let content = \`<div class="isdl-journal-section">
|
|
356
|
+
<div class="isdl-journal-info-box">
|
|
357
|
+
<div class="isdl-journal-info-title">\${game.i18n.localize("JOURNAL.KeywordsUsageTitle")}</div>
|
|
358
|
+
<ul class="isdl-journal-info-list">
|
|
359
|
+
<li>\${game.i18n.localize("JOURNAL.KeywordsUsageList.GameMechanics")}</li>
|
|
360
|
+
<li>\${game.i18n.localize("JOURNAL.KeywordsUsageList.References")}</li>
|
|
361
|
+
<li>\${game.i18n.localize("JOURNAL.KeywordsUsageList.Documentation")}</li>
|
|
362
|
+
</ul>
|
|
363
|
+
</div>
|
|
364
|
+
</div>\`;
|
|
365
|
+
|
|
366
|
+
for (const [keywordKey, keyword] of Object.entries(keywords)) {
|
|
367
|
+
content += \`<div class="isdl-keyword-entry" id="\${keywordKey}" style="border-left-color: \${keyword.color};">
|
|
368
|
+
<div class="isdl-journal-header">
|
|
369
|
+
\${keyword.icon ? \`<i class="\${keyword.icon} isdl-journal-icon" style="color: \${keyword.color};"></i>\` : ''}
|
|
370
|
+
<h3 class="isdl-journal-title">\${keyword.name}</h3>
|
|
371
|
+
<span class="isdl-journal-badge" style="background: \${keyword.color}20;">\${game.i18n.localize("JOURNAL.KeywordBadge")}</span>
|
|
372
|
+
</div>
|
|
373
|
+
\${keyword.description ? \`<div class="isdl-journal-description"><p>\${keyword.description}</p></div>\` : ''}
|
|
374
|
+
</div>\`;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return content;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
function generateDamageTypesPageContent(damageTypes) {
|
|
381
|
+
let content = \`<div class="isdl-journal-section">
|
|
382
|
+
<div class="isdl-journal-info-box">
|
|
383
|
+
<div class="isdl-journal-info-title">\${game.i18n.localize("JOURNAL.DamageTypeEffectsTitle")}</div>
|
|
384
|
+
<ul class="isdl-journal-info-list">
|
|
385
|
+
<li>\${game.i18n.localize("JOURNAL.DamageTypeEffectsList.Usage")}</li>
|
|
386
|
+
<li>\${game.i18n.localize("JOURNAL.DamageTypeEffectsList.Resistances")}</li>
|
|
387
|
+
<li>\${game.i18n.localize("JOURNAL.DamageTypeEffectsList.ChoiceFields")}</li>
|
|
388
|
+
</ul>
|
|
389
|
+
</div>
|
|
390
|
+
</div>\`;
|
|
391
|
+
|
|
392
|
+
for (const [keywordKey, keyword] of Object.entries(damageTypes)) {
|
|
393
|
+
content += \`<div class="isdl-damage-type-entry" id="\${keywordKey}" style="border-left-color: \${keyword.color};">
|
|
394
|
+
<div class="isdl-journal-header">
|
|
395
|
+
\${keyword.icon ? \`<i class="\${keyword.icon} isdl-journal-icon" style="color: \${keyword.color};"></i>\` : ''}
|
|
396
|
+
<h3 class="isdl-journal-title" style="color: \${keyword.color};">\${keyword.name}</h3>
|
|
397
|
+
<span class="isdl-journal-badge" style="background: \${keyword.color}20;">\${game.i18n.localize("JOURNAL.DamageTypeBadge")}</span>
|
|
398
|
+
</div>
|
|
399
|
+
\${keyword.description ? \`<div class="isdl-journal-description"><p>\${keyword.description}</p></div>\` : ''}
|
|
400
|
+
</div>\`;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
return content;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
function localizeConditionText(conditionText) {
|
|
407
|
+
if (!conditionText) return conditionText;
|
|
408
|
+
|
|
409
|
+
// Replace localization key patterns {{KEY}} with actual translations
|
|
410
|
+
return conditionText.replace(/\{\{([^}]+)\}\}/g, (match, key) => {
|
|
411
|
+
return game.i18n.localize(key);
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
function generateStatusEffectsPageContent(statusEffects) {
|
|
416
|
+
let content = \`<div class="isdl-journal-section">
|
|
417
|
+
<div class="isdl-journal-info-box">
|
|
418
|
+
<div class="isdl-journal-info-title">\${game.i18n.localize("JOURNAL.StatusEffectUsageTitle")}</div>
|
|
419
|
+
<ul class="isdl-journal-info-list">
|
|
420
|
+
<li>\${game.i18n.localize("JOURNAL.StatusEffectUsageList.TokenApplication")}</li>
|
|
421
|
+
<li>\${game.i18n.localize("JOURNAL.StatusEffectUsageList.MenuAppearance")}</li>
|
|
422
|
+
<li>\${game.i18n.localize("JOURNAL.StatusEffectUsageList.VisualIndicators")}</li>
|
|
423
|
+
</ul>
|
|
424
|
+
</div>
|
|
425
|
+
</div>\`;
|
|
426
|
+
for (const [statusId, statusEffect] of Object.entries(statusEffects)) {
|
|
427
|
+
const isDeathEffect = statusEffect.isDeath || statusId.toLowerCase().includes('dead');
|
|
428
|
+
const effectColor = isDeathEffect ? '#dc2626' : '#4f46e5';
|
|
429
|
+
const effectBadge = isDeathEffect ? game.i18n.localize("JOURNAL.DeathEffectBadge") : game.i18n.localize("JOURNAL.StatusEffectBadge");
|
|
430
|
+
|
|
431
|
+
content += \`<div class="isdl-status-effect-entry" id="\${statusId}" style="border-left-color: \${effectColor};">
|
|
432
|
+
<div class="isdl-journal-header">
|
|
433
|
+
\${statusEffect.img ? \`<img src="\${statusEffect.img}" alt="\${statusEffect.name}" class="isdl-status-effect-image" />\` : ''}
|
|
434
|
+
<h3 class="isdl-journal-title" style="color: \${effectColor};">\${statusEffect.name}</h3>
|
|
435
|
+
<span class="isdl-journal-badge" style="background: \${effectColor}20; color: \${effectColor};">\${effectBadge}</span>
|
|
436
|
+
</div>
|
|
437
|
+
\${statusEffect.condition ? \`<div class="isdl-journal-condition">
|
|
438
|
+
<p><span class="isdl-journal-condition-label">\${game.i18n.localize("JOURNAL.AppliedWhen")}</span> \${localizeConditionText(statusEffect.condition)}</p>
|
|
439
|
+
</div>\` : ''}
|
|
440
|
+
</div>\`;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
return content;
|
|
444
|
+
}
|
|
445
|
+
`.appendNewLineIfNotEmpty();
|
|
446
|
+
fs.writeFileSync(generatedFilePath, toString(fileNode));
|
|
447
|
+
}
|
|
448
|
+
//# sourceMappingURL=ready-hook-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ready-hook-generator.js","sourceRoot":"","sources":["../../../src/cli/components/ready-hook-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAEhE,MAAM,UAAU,oBAAoB,CAAC,KAAY,EAAE,EAAU,EAAE,WAAmB;;IAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAEnE,0CAA0C;IAC1C,MAAM,WAAW,GAAG,CAAA,MAAA,MAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAS,0CAAE,KAAK,0CAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAI,EAAE,CAAC;IAEzI,uDAAuD;IACvD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAClC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IAED,MAAM,QAAQ,GAAG,YAAY,CAAA;;2BAEN,EAAE;;;;;;;;;;;;;;;;;;;;;;qCAsBQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;mDAwBY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAuCF,EAAE;;;;;;;;;;qCAUhB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAuDY,EAAE;;;;;;;;;;;;;iCAapB,EAAE;;;;;;;;;;;;;;;sCAeG,EAAE;;;;;;;;;;;;;;;sEAe8B,EAAE;;;;;6BAK3C,WAAW;;;;;;2BAMb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;oCAyBO,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoM7G,CAAC,uBAAuB,EAAE,CAAC;IAE5B,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|