rpgmaker-mz-mcp 1.0.0
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/LICENSE +21 -0
- package/README.md +425 -0
- package/dist/events/commandBuilders.d.ts +405 -0
- package/dist/events/commandBuilders.d.ts.map +1 -0
- package/dist/events/commandBuilders.js +554 -0
- package/dist/events/commandBuilders.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +105 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +81 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +49 -0
- package/dist/registry.js.map +1 -0
- package/dist/tiles/autotile.d.ts +65 -0
- package/dist/tiles/autotile.d.ts.map +1 -0
- package/dist/tiles/autotile.js +201 -0
- package/dist/tiles/autotile.js.map +1 -0
- package/dist/tiles/catalog/dungeon.d.ts +16 -0
- package/dist/tiles/catalog/dungeon.d.ts.map +1 -0
- package/dist/tiles/catalog/dungeon.js +765 -0
- package/dist/tiles/catalog/dungeon.js.map +1 -0
- package/dist/tiles/catalog/index.d.ts +78 -0
- package/dist/tiles/catalog/index.d.ts.map +1 -0
- package/dist/tiles/catalog/index.js +115 -0
- package/dist/tiles/catalog/index.js.map +1 -0
- package/dist/tiles/catalog/inside.d.ts +16 -0
- package/dist/tiles/catalog/inside.d.ts.map +1 -0
- package/dist/tiles/catalog/inside.js +765 -0
- package/dist/tiles/catalog/inside.js.map +1 -0
- package/dist/tiles/catalog/outside.d.ts +16 -0
- package/dist/tiles/catalog/outside.d.ts.map +1 -0
- package/dist/tiles/catalog/outside.js +799 -0
- package/dist/tiles/catalog/outside.js.map +1 -0
- package/dist/tiles/catalog/overworld.d.ts +16 -0
- package/dist/tiles/catalog/overworld.d.ts.map +1 -0
- package/dist/tiles/catalog/overworld.js +585 -0
- package/dist/tiles/catalog/overworld.js.map +1 -0
- package/dist/tiles/catalog/sf.d.ts +16 -0
- package/dist/tiles/catalog/sf.d.ts.map +1 -0
- package/dist/tiles/catalog/sf.js +1313 -0
- package/dist/tiles/catalog/sf.js.map +1 -0
- package/dist/tiles/paint.d.ts +20 -0
- package/dist/tiles/paint.d.ts.map +1 -0
- package/dist/tiles/paint.js +65 -0
- package/dist/tiles/paint.js.map +1 -0
- package/dist/tiles/png.d.ts +11 -0
- package/dist/tiles/png.d.ts.map +1 -0
- package/dist/tiles/png.js +180 -0
- package/dist/tiles/png.js.map +1 -0
- package/dist/tiles/tileCodec.d.ts +95 -0
- package/dist/tiles/tileCodec.d.ts.map +1 -0
- package/dist/tiles/tileCodec.js +186 -0
- package/dist/tiles/tileCodec.js.map +1 -0
- package/dist/tiles/tileFlags.d.ts +98 -0
- package/dist/tiles/tileFlags.d.ts.map +1 -0
- package/dist/tiles/tileFlags.js +129 -0
- package/dist/tiles/tileFlags.js.map +1 -0
- package/dist/tiles/tilegeom.d.ts +29 -0
- package/dist/tiles/tilegeom.d.ts.map +1 -0
- package/dist/tiles/tilegeom.js +111 -0
- package/dist/tiles/tilegeom.js.map +1 -0
- package/dist/tiles/transparency.d.ts +22 -0
- package/dist/tiles/transparency.d.ts.map +1 -0
- package/dist/tiles/transparency.js +59 -0
- package/dist/tiles/transparency.js.map +1 -0
- package/dist/tools/actorTools.d.ts +48 -0
- package/dist/tools/actorTools.d.ts.map +1 -0
- package/dist/tools/actorTools.js +154 -0
- package/dist/tools/actorTools.js.map +1 -0
- package/dist/tools/allTools.d.ts +8 -0
- package/dist/tools/allTools.d.ts.map +1 -0
- package/dist/tools/allTools.js +56 -0
- package/dist/tools/allTools.js.map +1 -0
- package/dist/tools/assetTools.d.ts +113 -0
- package/dist/tools/assetTools.d.ts.map +1 -0
- package/dist/tools/assetTools.js +97 -0
- package/dist/tools/assetTools.js.map +1 -0
- package/dist/tools/batchTools.d.ts +3 -0
- package/dist/tools/batchTools.d.ts.map +1 -0
- package/dist/tools/batchTools.js +138 -0
- package/dist/tools/batchTools.js.map +1 -0
- package/dist/tools/battleTools.d.ts +72 -0
- package/dist/tools/battleTools.d.ts.map +1 -0
- package/dist/tools/battleTools.js +322 -0
- package/dist/tools/battleTools.js.map +1 -0
- package/dist/tools/catalogTools.d.ts +3 -0
- package/dist/tools/catalogTools.d.ts.map +1 -0
- package/dist/tools/catalogTools.js +134 -0
- package/dist/tools/catalogTools.js.map +1 -0
- package/dist/tools/classTools.d.ts +85 -0
- package/dist/tools/classTools.d.ts.map +1 -0
- package/dist/tools/classTools.js +279 -0
- package/dist/tools/classTools.js.map +1 -0
- package/dist/tools/commonEventTools.d.ts +32 -0
- package/dist/tools/commonEventTools.d.ts.map +1 -0
- package/dist/tools/commonEventTools.js +150 -0
- package/dist/tools/commonEventTools.js.map +1 -0
- package/dist/tools/eventCommandTools.d.ts +37 -0
- package/dist/tools/eventCommandTools.d.ts.map +1 -0
- package/dist/tools/eventCommandTools.js +893 -0
- package/dist/tools/eventCommandTools.js.map +1 -0
- package/dist/tools/eventPageTools.d.ts +112 -0
- package/dist/tools/eventPageTools.d.ts.map +1 -0
- package/dist/tools/eventPageTools.js +597 -0
- package/dist/tools/eventPageTools.js.map +1 -0
- package/dist/tools/itemTools.d.ts +82 -0
- package/dist/tools/itemTools.d.ts.map +1 -0
- package/dist/tools/itemTools.js +380 -0
- package/dist/tools/itemTools.js.map +1 -0
- package/dist/tools/listTools.d.ts +58 -0
- package/dist/tools/listTools.d.ts.map +1 -0
- package/dist/tools/listTools.js +99 -0
- package/dist/tools/listTools.js.map +1 -0
- package/dist/tools/mapTools.d.ts +270 -0
- package/dist/tools/mapTools.d.ts.map +1 -0
- package/dist/tools/mapTools.js +1066 -0
- package/dist/tools/mapTools.js.map +1 -0
- package/dist/tools/moveTools.d.ts +43 -0
- package/dist/tools/moveTools.d.ts.map +1 -0
- package/dist/tools/moveTools.js +240 -0
- package/dist/tools/moveTools.js.map +1 -0
- package/dist/tools/objectTools.d.ts +12 -0
- package/dist/tools/objectTools.d.ts.map +1 -0
- package/dist/tools/objectTools.js +221 -0
- package/dist/tools/objectTools.js.map +1 -0
- package/dist/tools/paintTools.d.ts +3 -0
- package/dist/tools/paintTools.d.ts.map +1 -0
- package/dist/tools/paintTools.js +134 -0
- package/dist/tools/paintTools.js.map +1 -0
- package/dist/tools/pluginScanTools.d.ts +22 -0
- package/dist/tools/pluginScanTools.d.ts.map +1 -0
- package/dist/tools/pluginScanTools.js +119 -0
- package/dist/tools/pluginScanTools.js.map +1 -0
- package/dist/tools/pluginTools.d.ts +11 -0
- package/dist/tools/pluginTools.d.ts.map +1 -0
- package/dist/tools/pluginTools.js +63 -0
- package/dist/tools/pluginTools.js.map +1 -0
- package/dist/tools/projectTools.d.ts +11 -0
- package/dist/tools/projectTools.d.ts.map +1 -0
- package/dist/tools/projectTools.js +74 -0
- package/dist/tools/projectTools.js.map +1 -0
- package/dist/tools/skillTools.d.ts +83 -0
- package/dist/tools/skillTools.d.ts.map +1 -0
- package/dist/tools/skillTools.js +369 -0
- package/dist/tools/skillTools.js.map +1 -0
- package/dist/tools/stateTools.d.ts +28 -0
- package/dist/tools/stateTools.d.ts.map +1 -0
- package/dist/tools/stateTools.js +161 -0
- package/dist/tools/stateTools.js.map +1 -0
- package/dist/tools/systemTools.d.ts +86 -0
- package/dist/tools/systemTools.d.ts.map +1 -0
- package/dist/tools/systemTools.js +342 -0
- package/dist/tools/systemTools.js.map +1 -0
- package/dist/tools/tileTools.d.ts +9 -0
- package/dist/tools/tileTools.d.ts.map +1 -0
- package/dist/tools/tileTools.js +34 -0
- package/dist/tools/tileTools.js.map +1 -0
- package/dist/tools/tileTransparency.d.ts +40 -0
- package/dist/tools/tileTransparency.d.ts.map +1 -0
- package/dist/tools/tileTransparency.js +156 -0
- package/dist/tools/tileTransparency.js.map +1 -0
- package/dist/tools/tilesetTools.d.ts +23 -0
- package/dist/tools/tilesetTools.d.ts.map +1 -0
- package/dist/tools/tilesetTools.js +209 -0
- package/dist/tools/tilesetTools.js.map +1 -0
- package/dist/tools/validationTools.d.ts +50 -0
- package/dist/tools/validationTools.d.ts.map +1 -0
- package/dist/tools/validationTools.js +229 -0
- package/dist/tools/validationTools.js.map +1 -0
- package/dist/utils/commit.d.ts +62 -0
- package/dist/utils/commit.d.ts.map +1 -0
- package/dist/utils/commit.js +119 -0
- package/dist/utils/commit.js.map +1 -0
- package/dist/utils/fileHandler.d.ts +49 -0
- package/dist/utils/fileHandler.d.ts.map +1 -0
- package/dist/utils/fileHandler.js +137 -0
- package/dist/utils/fileHandler.js.map +1 -0
- package/dist/utils/records.d.ts +8 -0
- package/dist/utils/records.d.ts.map +1 -0
- package/dist/utils/records.js +10 -0
- package/dist/utils/records.js.map +1 -0
- package/dist/utils/types.d.ts +465 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +5 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/validation/assets.d.ts +53 -0
- package/dist/validation/assets.d.ts.map +1 -0
- package/dist/validation/assets.js +198 -0
- package/dist/validation/assets.js.map +1 -0
- package/dist/validation/createRefs.d.ts +37 -0
- package/dist/validation/createRefs.d.ts.map +1 -0
- package/dist/validation/createRefs.js +89 -0
- package/dist/validation/createRefs.js.map +1 -0
- package/dist/validation/eventCommands.d.ts +70 -0
- package/dist/validation/eventCommands.d.ts.map +1 -0
- package/dist/validation/eventCommands.js +273 -0
- package/dist/validation/eventCommands.js.map +1 -0
- package/dist/validation/gate.d.ts +56 -0
- package/dist/validation/gate.d.ts.map +1 -0
- package/dist/validation/gate.js +50 -0
- package/dist/validation/gate.js.map +1 -0
- package/dist/validation/moveCommands.d.ts +31 -0
- package/dist/validation/moveCommands.d.ts.map +1 -0
- package/dist/validation/moveCommands.js +123 -0
- package/dist/validation/moveCommands.js.map +1 -0
- package/dist/validation/pluginCommands.d.ts +83 -0
- package/dist/validation/pluginCommands.d.ts.map +1 -0
- package/dist/validation/pluginCommands.js +134 -0
- package/dist/validation/pluginCommands.js.map +1 -0
- package/dist/validation/pluginManifest.d.ts +67 -0
- package/dist/validation/pluginManifest.d.ts.map +1 -0
- package/dist/validation/pluginManifest.js +199 -0
- package/dist/validation/pluginManifest.js.map +1 -0
- package/dist/validation/references.d.ts +57 -0
- package/dist/validation/references.d.ts.map +1 -0
- package/dist/validation/references.js +314 -0
- package/dist/validation/references.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for RPG Maker MZ data structures
|
|
3
|
+
*/
|
|
4
|
+
export interface Actor {
|
|
5
|
+
id: number;
|
|
6
|
+
name: string;
|
|
7
|
+
nickname: string;
|
|
8
|
+
profile: string;
|
|
9
|
+
classId: number;
|
|
10
|
+
initialLevel: number;
|
|
11
|
+
maxLevel: number;
|
|
12
|
+
characterName: string;
|
|
13
|
+
characterIndex: number;
|
|
14
|
+
faceName: string;
|
|
15
|
+
faceIndex: number;
|
|
16
|
+
battlerName: string;
|
|
17
|
+
traits: Trait[];
|
|
18
|
+
equips: number[];
|
|
19
|
+
note: string;
|
|
20
|
+
}
|
|
21
|
+
export interface Item {
|
|
22
|
+
id: number;
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
iconIndex: number;
|
|
26
|
+
itypeId: number;
|
|
27
|
+
scope: number;
|
|
28
|
+
occasion: number;
|
|
29
|
+
speed: number;
|
|
30
|
+
successRate: number;
|
|
31
|
+
repeats: number;
|
|
32
|
+
tpGain: number;
|
|
33
|
+
hitType: number;
|
|
34
|
+
animationId: number;
|
|
35
|
+
price: number;
|
|
36
|
+
consumable: boolean;
|
|
37
|
+
damage: Damage;
|
|
38
|
+
effects: Effect[];
|
|
39
|
+
note: string;
|
|
40
|
+
}
|
|
41
|
+
export interface Skill {
|
|
42
|
+
id: number;
|
|
43
|
+
name: string;
|
|
44
|
+
description: string;
|
|
45
|
+
iconIndex: number;
|
|
46
|
+
stypeId: number;
|
|
47
|
+
mpCost: number;
|
|
48
|
+
tpCost: number;
|
|
49
|
+
scope: number;
|
|
50
|
+
occasion: number;
|
|
51
|
+
speed: number;
|
|
52
|
+
successRate: number;
|
|
53
|
+
repeats: number;
|
|
54
|
+
tpGain: number;
|
|
55
|
+
hitType: number;
|
|
56
|
+
animationId: number;
|
|
57
|
+
damage: Damage;
|
|
58
|
+
effects: Effect[];
|
|
59
|
+
note: string;
|
|
60
|
+
message1: string;
|
|
61
|
+
message2: string;
|
|
62
|
+
requiredWtypeId1: number;
|
|
63
|
+
requiredWtypeId2: number;
|
|
64
|
+
messageType: number;
|
|
65
|
+
traits: Trait[];
|
|
66
|
+
}
|
|
67
|
+
export interface Weapon {
|
|
68
|
+
id: number;
|
|
69
|
+
name: string;
|
|
70
|
+
description: string;
|
|
71
|
+
iconIndex: number;
|
|
72
|
+
wtypeId: number;
|
|
73
|
+
price: number;
|
|
74
|
+
params: number[];
|
|
75
|
+
traits: Trait[];
|
|
76
|
+
etypeId: number;
|
|
77
|
+
animationId: number;
|
|
78
|
+
note: string;
|
|
79
|
+
}
|
|
80
|
+
export interface Armor {
|
|
81
|
+
id: number;
|
|
82
|
+
name: string;
|
|
83
|
+
description: string;
|
|
84
|
+
iconIndex: number;
|
|
85
|
+
atypeId: number;
|
|
86
|
+
price: number;
|
|
87
|
+
params: number[];
|
|
88
|
+
traits: Trait[];
|
|
89
|
+
etypeId: number;
|
|
90
|
+
note: string;
|
|
91
|
+
}
|
|
92
|
+
export interface Enemy {
|
|
93
|
+
id: number;
|
|
94
|
+
name: string;
|
|
95
|
+
battlerName: string;
|
|
96
|
+
battlerHue: number;
|
|
97
|
+
params: number[];
|
|
98
|
+
exp: number;
|
|
99
|
+
gold: number;
|
|
100
|
+
dropItems: DropItem[];
|
|
101
|
+
actions: EnemyAction[];
|
|
102
|
+
traits: Trait[];
|
|
103
|
+
note: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* A character class (`data/Classes.json`): the param growth curves, learnable
|
|
107
|
+
* skills, and traits that back an actor. The file is a 1-indexed array (slot 0
|
|
108
|
+
* null, index === id).
|
|
109
|
+
*/
|
|
110
|
+
export interface GameClass {
|
|
111
|
+
id: number;
|
|
112
|
+
name: string;
|
|
113
|
+
/** EXP curve settings: [basis, extra, accelerationA, accelerationB]. */
|
|
114
|
+
expParams: number[];
|
|
115
|
+
/**
|
|
116
|
+
* Parameter growth: 8 rows (`[maxHP, maxMP, atk, def, mat, mdf, agi, luk]`),
|
|
117
|
+
* each a `maxLevel + 1`-length curve indexed by level (index 0 is an unused
|
|
118
|
+
* level-0 placeholder; the engine only reads level ≥ 1).
|
|
119
|
+
*/
|
|
120
|
+
params: number[][];
|
|
121
|
+
learnings: Learning[];
|
|
122
|
+
traits: Trait[];
|
|
123
|
+
note: string;
|
|
124
|
+
}
|
|
125
|
+
/** One "learn skill at level" entry in a class's `learnings` list. */
|
|
126
|
+
export interface Learning {
|
|
127
|
+
level: number;
|
|
128
|
+
skillId: number;
|
|
129
|
+
note: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* A common event (`data/CommonEvents.json`): a named, reusable event-command
|
|
133
|
+
* `list` that any map/battle event can invoke (command code 117) or that the
|
|
134
|
+
* engine runs on its own via `trigger`. The file is a 1-indexed array (slot 0
|
|
135
|
+
* null, index === id).
|
|
136
|
+
*/
|
|
137
|
+
export interface CommonEvent {
|
|
138
|
+
id: number;
|
|
139
|
+
name: string;
|
|
140
|
+
/** The command list, same `EventCommand` format map events use; ends with code 0. */
|
|
141
|
+
list: EventCommand[];
|
|
142
|
+
/** Switch that gates an Autorun/Parallel common event (ignored when trigger is 0). */
|
|
143
|
+
switchId: number;
|
|
144
|
+
/** When it runs on its own: 0 None (call-only), 1 Autorun, 2 Parallel. */
|
|
145
|
+
trigger: number;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* A state (`data/States.json`): a status condition (Poison, Sleep, Dead, …) that
|
|
149
|
+
* can be applied to a battler by skills/items/traits. The file is a 1-indexed
|
|
150
|
+
* array (slot 0 null, index === id). States are referenced by skill/item effects
|
|
151
|
+
* (e.g. `create_state_skill`) and by traits, so an id must exist to be usable.
|
|
152
|
+
*/
|
|
153
|
+
export interface State {
|
|
154
|
+
id: number;
|
|
155
|
+
name: string;
|
|
156
|
+
/** Behavior restriction: 0 none, 1 attack enemy, 2 attack anyone, 3 attack ally, 4 cannot move. */
|
|
157
|
+
restriction: number;
|
|
158
|
+
/** Display priority when several states share an icon slot (higher wins), 0-100. */
|
|
159
|
+
priority: number;
|
|
160
|
+
/** SV-actor motion played while afflicted (0 normal, 1 abnormal, 2 sleep, 3 dead, …). */
|
|
161
|
+
motion: number;
|
|
162
|
+
/** Overlay animation index drawn over the battler (0 = none). */
|
|
163
|
+
overlay: number;
|
|
164
|
+
/** Remove automatically when the battle ends. */
|
|
165
|
+
removeAtBattleEnd: boolean;
|
|
166
|
+
/** Remove when the battler's restriction changes. */
|
|
167
|
+
removeByRestriction: boolean;
|
|
168
|
+
/** Auto-removal timing: 0 none, 1 at action end, 2 at turn end. */
|
|
169
|
+
autoRemovalTiming: number;
|
|
170
|
+
/** Minimum duration in turns when auto-removed. */
|
|
171
|
+
minTurns: number;
|
|
172
|
+
/** Maximum duration in turns when auto-removed. */
|
|
173
|
+
maxTurns: number;
|
|
174
|
+
/** Remove when the battler takes damage. */
|
|
175
|
+
removeByDamage: boolean;
|
|
176
|
+
/** Chance (%) of removal per damage instance when `removeByDamage`. */
|
|
177
|
+
chanceByDamage: number;
|
|
178
|
+
/** Remove after walking a number of steps (on the map). */
|
|
179
|
+
removeByWalking: boolean;
|
|
180
|
+
/** Steps to walk off the state when `removeByWalking`. */
|
|
181
|
+
stepsToRemove: number;
|
|
182
|
+
/** Whether damage can release the state (MZ addition alongside removeByDamage). */
|
|
183
|
+
releaseByDamage: boolean;
|
|
184
|
+
/** Icon shown on the battler/status (0 = none). */
|
|
185
|
+
iconIndex: number;
|
|
186
|
+
/** Message when an actor gains the state. */
|
|
187
|
+
message1: string;
|
|
188
|
+
/** Message when an enemy gains the state. */
|
|
189
|
+
message2: string;
|
|
190
|
+
/** Message when the state persists. */
|
|
191
|
+
message3: string;
|
|
192
|
+
/** Message when the state is removed. */
|
|
193
|
+
message4: string;
|
|
194
|
+
/** Which battler's message form to use (engine's message routing). */
|
|
195
|
+
messageType: number;
|
|
196
|
+
traits: Trait[];
|
|
197
|
+
note: string;
|
|
198
|
+
}
|
|
199
|
+
export interface Trait {
|
|
200
|
+
code: number;
|
|
201
|
+
dataId: number;
|
|
202
|
+
value: number;
|
|
203
|
+
}
|
|
204
|
+
export interface Effect {
|
|
205
|
+
code: number;
|
|
206
|
+
dataId: number;
|
|
207
|
+
value1: number;
|
|
208
|
+
value2: number;
|
|
209
|
+
}
|
|
210
|
+
export interface Damage {
|
|
211
|
+
type: number;
|
|
212
|
+
elementId: number;
|
|
213
|
+
formula: string;
|
|
214
|
+
variance: number;
|
|
215
|
+
critical: boolean;
|
|
216
|
+
}
|
|
217
|
+
export interface DropItem {
|
|
218
|
+
kind: number;
|
|
219
|
+
dataId: number;
|
|
220
|
+
denominator: number;
|
|
221
|
+
}
|
|
222
|
+
export interface EnemyAction {
|
|
223
|
+
skillId: number;
|
|
224
|
+
conditionType: number;
|
|
225
|
+
conditionParam1: number;
|
|
226
|
+
conditionParam2: number;
|
|
227
|
+
rating: number;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* A troop (`data/Troops.json`): a battle group of enemy `members` plus optional
|
|
231
|
+
* battle-event `pages`. The file is a 1-indexed array (slot 0 null, index === id).
|
|
232
|
+
*/
|
|
233
|
+
export interface Troop {
|
|
234
|
+
id: number;
|
|
235
|
+
name: string;
|
|
236
|
+
members: TroopMember[];
|
|
237
|
+
pages: TroopPage[];
|
|
238
|
+
}
|
|
239
|
+
/** One placed enemy in a troop; `enemyId` references `data/Enemies.json`. */
|
|
240
|
+
export interface TroopMember {
|
|
241
|
+
enemyId: number;
|
|
242
|
+
x: number;
|
|
243
|
+
y: number;
|
|
244
|
+
hidden: boolean;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* A troop battle-event page: the same event-command `list` format map events use,
|
|
248
|
+
* gated by battle-specific `conditions` and repeated per `span` (0 battle / 1 turn
|
|
249
|
+
* / 2 moment). Note the conditions carry `enemyIndex` (troop slot), not an id.
|
|
250
|
+
*/
|
|
251
|
+
export interface TroopPage {
|
|
252
|
+
conditions: TroopPageConditions;
|
|
253
|
+
list: EventCommand[];
|
|
254
|
+
span: number;
|
|
255
|
+
}
|
|
256
|
+
export interface TroopPageConditions {
|
|
257
|
+
actorHp: number;
|
|
258
|
+
actorId: number;
|
|
259
|
+
actorValid: boolean;
|
|
260
|
+
enemyHp: number;
|
|
261
|
+
enemyIndex: number;
|
|
262
|
+
enemyValid: boolean;
|
|
263
|
+
switchId: number;
|
|
264
|
+
switchValid: boolean;
|
|
265
|
+
turnA: number;
|
|
266
|
+
turnB: number;
|
|
267
|
+
turnEnding: boolean;
|
|
268
|
+
turnValid: boolean;
|
|
269
|
+
}
|
|
270
|
+
export interface MapData {
|
|
271
|
+
autoplayBgm: boolean;
|
|
272
|
+
autoplayBgs: boolean;
|
|
273
|
+
battleback1Name: string;
|
|
274
|
+
battleback2Name: string;
|
|
275
|
+
bgm: AudioFile;
|
|
276
|
+
bgs: AudioFile;
|
|
277
|
+
disableDashing: boolean;
|
|
278
|
+
displayName: string;
|
|
279
|
+
encounterList: Encounter[];
|
|
280
|
+
encounterStep: number;
|
|
281
|
+
height: number;
|
|
282
|
+
width: number;
|
|
283
|
+
parallaxLoopX: boolean;
|
|
284
|
+
parallaxLoopY: boolean;
|
|
285
|
+
parallaxName: string;
|
|
286
|
+
parallaxShow: boolean;
|
|
287
|
+
parallaxSx: number;
|
|
288
|
+
parallaxSy: number;
|
|
289
|
+
scrollType: number;
|
|
290
|
+
specifyBattleback: boolean;
|
|
291
|
+
tilesetId: number;
|
|
292
|
+
note: string;
|
|
293
|
+
data: number[];
|
|
294
|
+
events: (MapEvent | null)[];
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* An entry in `data/MapInfos.json` — the map tree the editor displays. The file
|
|
298
|
+
* is a 1-indexed array (slot 0 is `null`) whose index matches the map's `id`.
|
|
299
|
+
* `parentId` 0 means a top-level map; `order` sequences siblings in the tree;
|
|
300
|
+
* `scrollX`/`scrollY` are the editor's remembered scroll position (cosmetic).
|
|
301
|
+
*/
|
|
302
|
+
export interface MapInfo {
|
|
303
|
+
id: number;
|
|
304
|
+
name: string;
|
|
305
|
+
parentId: number;
|
|
306
|
+
order: number;
|
|
307
|
+
expanded: boolean;
|
|
308
|
+
scrollX: number;
|
|
309
|
+
scrollY: number;
|
|
310
|
+
}
|
|
311
|
+
export interface MapEvent {
|
|
312
|
+
id: number;
|
|
313
|
+
name: string;
|
|
314
|
+
note: string;
|
|
315
|
+
pages: EventPage[];
|
|
316
|
+
x: number;
|
|
317
|
+
y: number;
|
|
318
|
+
}
|
|
319
|
+
export interface EventPage {
|
|
320
|
+
conditions: EventConditions;
|
|
321
|
+
directionFix: boolean;
|
|
322
|
+
image: EventImage;
|
|
323
|
+
list: EventCommand[];
|
|
324
|
+
moveFrequency: number;
|
|
325
|
+
moveRoute: MoveRoute;
|
|
326
|
+
moveSpeed: number;
|
|
327
|
+
moveType: number;
|
|
328
|
+
priorityType: number;
|
|
329
|
+
stepAnime: boolean;
|
|
330
|
+
through: boolean;
|
|
331
|
+
trigger: number;
|
|
332
|
+
walkAnime: boolean;
|
|
333
|
+
}
|
|
334
|
+
export interface EventConditions {
|
|
335
|
+
actorId: number;
|
|
336
|
+
actorValid: boolean;
|
|
337
|
+
itemId: number;
|
|
338
|
+
itemValid: boolean;
|
|
339
|
+
selfSwitchCh: string;
|
|
340
|
+
selfSwitchValid: boolean;
|
|
341
|
+
switch1Id: number;
|
|
342
|
+
switch1Valid: boolean;
|
|
343
|
+
switch2Id: number;
|
|
344
|
+
switch2Valid: boolean;
|
|
345
|
+
variableId: number;
|
|
346
|
+
variableValid: boolean;
|
|
347
|
+
variableValue: number;
|
|
348
|
+
}
|
|
349
|
+
export interface EventImage {
|
|
350
|
+
characterIndex: number;
|
|
351
|
+
characterName: string;
|
|
352
|
+
direction: number;
|
|
353
|
+
pattern: number;
|
|
354
|
+
tileId: number;
|
|
355
|
+
}
|
|
356
|
+
export interface EventCommand {
|
|
357
|
+
code: number;
|
|
358
|
+
indent: number;
|
|
359
|
+
parameters: any[];
|
|
360
|
+
}
|
|
361
|
+
export interface MoveRoute {
|
|
362
|
+
list: MoveCommand[];
|
|
363
|
+
repeat: boolean;
|
|
364
|
+
skippable: boolean;
|
|
365
|
+
wait: boolean;
|
|
366
|
+
}
|
|
367
|
+
export interface MoveCommand {
|
|
368
|
+
code: number;
|
|
369
|
+
parameters: any[];
|
|
370
|
+
}
|
|
371
|
+
export interface AudioFile {
|
|
372
|
+
name: string;
|
|
373
|
+
pan: number;
|
|
374
|
+
pitch: number;
|
|
375
|
+
volume: number;
|
|
376
|
+
}
|
|
377
|
+
export interface Encounter {
|
|
378
|
+
regionSet: number[];
|
|
379
|
+
troopId: number;
|
|
380
|
+
weight: number;
|
|
381
|
+
}
|
|
382
|
+
export interface SystemData {
|
|
383
|
+
airship: Vehicle;
|
|
384
|
+
armorTypes: string[];
|
|
385
|
+
attackMotions: AttackMotion[];
|
|
386
|
+
battleBgm: AudioFile;
|
|
387
|
+
battleback1Name: string;
|
|
388
|
+
battleback2Name: string;
|
|
389
|
+
battlerHue: number;
|
|
390
|
+
battlerName: string;
|
|
391
|
+
boat: Vehicle;
|
|
392
|
+
currencyUnit: string;
|
|
393
|
+
defeatMe: AudioFile;
|
|
394
|
+
editMapId: number;
|
|
395
|
+
elements: string[];
|
|
396
|
+
equipTypes: string[];
|
|
397
|
+
gameTitle: string;
|
|
398
|
+
gameoverMe: AudioFile;
|
|
399
|
+
locale: string;
|
|
400
|
+
magicSkills: number[];
|
|
401
|
+
menuCommands: boolean[];
|
|
402
|
+
optDisplayTp: boolean;
|
|
403
|
+
optDrawTitle: boolean;
|
|
404
|
+
optExtraExp: boolean;
|
|
405
|
+
optFloorDeath: boolean;
|
|
406
|
+
optFollowers: boolean;
|
|
407
|
+
optSideView: boolean;
|
|
408
|
+
optSlipDeath: boolean;
|
|
409
|
+
optTransparent: boolean;
|
|
410
|
+
partyMembers: number[];
|
|
411
|
+
ship: Vehicle;
|
|
412
|
+
skillTypes: string[];
|
|
413
|
+
sounds: AudioFile[];
|
|
414
|
+
startMapId: number;
|
|
415
|
+
startX: number;
|
|
416
|
+
startY: number;
|
|
417
|
+
switches: string[];
|
|
418
|
+
terms: Terms;
|
|
419
|
+
testBattlers: TestBattler[];
|
|
420
|
+
testTroopId: number;
|
|
421
|
+
title1Name: string;
|
|
422
|
+
title2Name: string;
|
|
423
|
+
titleBgm: AudioFile;
|
|
424
|
+
variables: string[];
|
|
425
|
+
versionId: number;
|
|
426
|
+
victoryMe: AudioFile;
|
|
427
|
+
weaponTypes: string[];
|
|
428
|
+
windowTone: number[];
|
|
429
|
+
}
|
|
430
|
+
export interface Vehicle {
|
|
431
|
+
bgm: AudioFile;
|
|
432
|
+
characterIndex: number;
|
|
433
|
+
characterName: string;
|
|
434
|
+
startMapId: number;
|
|
435
|
+
startX: number;
|
|
436
|
+
startY: number;
|
|
437
|
+
}
|
|
438
|
+
export interface AttackMotion {
|
|
439
|
+
type: number;
|
|
440
|
+
weaponImageId: number;
|
|
441
|
+
}
|
|
442
|
+
export interface Terms {
|
|
443
|
+
basic: string[];
|
|
444
|
+
commands: string[];
|
|
445
|
+
params: string[];
|
|
446
|
+
messages: {
|
|
447
|
+
[key: string]: string;
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
export interface TestBattler {
|
|
451
|
+
actorId: number;
|
|
452
|
+
equips: number[];
|
|
453
|
+
level: number;
|
|
454
|
+
}
|
|
455
|
+
export interface Tileset {
|
|
456
|
+
id: number;
|
|
457
|
+
name: string;
|
|
458
|
+
mode: number;
|
|
459
|
+
note: string;
|
|
460
|
+
/** The 9 image sheet filenames, positional: [A1,A2,A3,A4,A5,B,C,D,E]; '' = unused. */
|
|
461
|
+
tilesetNames: string[];
|
|
462
|
+
/** One bit-packed flag word per tile id (index === tile id, length 8192). */
|
|
463
|
+
flags: number[];
|
|
464
|
+
}
|
|
465
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Actor, Enemy, Tileset, Troop, CommonEvent, MapData, SystemData } from '../utils/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A single asset-filename-integrity finding. Warn-by-default (like {@link
|
|
4
|
+
* ReferenceWarning}): it never blocks a write, it tells the caller that a record
|
|
5
|
+
* points at an image/audio file that isn't present in the project — a dangling
|
|
6
|
+
* *filename* the engine only discovers at runtime, throwing e.g.
|
|
7
|
+
* "Failed to load img/enemies/Mudcrab.png" when the asset is first used.
|
|
8
|
+
* `category` groups findings by the kind of field; `path` locates it.
|
|
9
|
+
*/
|
|
10
|
+
export interface AssetWarning {
|
|
11
|
+
category: string;
|
|
12
|
+
path: string;
|
|
13
|
+
message: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The available asset basenames per asset type (extension-stripped, exactly as
|
|
17
|
+
* the engine references them). Built from `list_assets` — a type that's absent
|
|
18
|
+
* or maps to an empty set is treated as "can't verify" (its whole directory is
|
|
19
|
+
* empty or missing), so references against it are skipped rather than flagged
|
|
20
|
+
* (matching the per-record warn-by-default convention that never false-positives
|
|
21
|
+
* on an unused asset kind). Keyed by the same `AssetType` strings `list_assets`
|
|
22
|
+
* uses.
|
|
23
|
+
*/
|
|
24
|
+
export type AvailableAssets = Partial<Record<string, Set<string>>>;
|
|
25
|
+
/**
|
|
26
|
+
* The loaded project data the asset linter scans. `maps` carries the full {@link
|
|
27
|
+
* MapData} (needed for the map-level bgm/bgs/parallax/battleback fields *and* the
|
|
28
|
+
* event command lists). Kept as plain data so {@link checkAssets} stays pure and
|
|
29
|
+
* unit-testable without file I/O.
|
|
30
|
+
*/
|
|
31
|
+
export interface AssetProjectData {
|
|
32
|
+
actors: (Actor | null)[];
|
|
33
|
+
enemies: (Enemy | null)[];
|
|
34
|
+
tilesets: (Tileset | null)[];
|
|
35
|
+
maps: Array<{
|
|
36
|
+
id: number;
|
|
37
|
+
map: MapData;
|
|
38
|
+
}>;
|
|
39
|
+
troops: (Troop | null)[];
|
|
40
|
+
commonEvents: (CommonEvent | null)[];
|
|
41
|
+
system: SystemData | null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Audit every asset-*filename* reference across the project against the files
|
|
45
|
+
* actually present (see {@link AvailableAssets}). Pure and warn-by-default:
|
|
46
|
+
* returns a list of dangling filename references (a `battlerName`/`characterName`/
|
|
47
|
+
* `faceName`, a map bgm/bgs/parallax/battleback, a tileset sheet, an event Play
|
|
48
|
+
* Audio / Show Picture / Show Text face, a system title/battleback/sound, …) that
|
|
49
|
+
* point at a missing file — empty when everything resolves. The *id*-integrity
|
|
50
|
+
* sibling is {@link checkReferences}.
|
|
51
|
+
*/
|
|
52
|
+
export declare function checkAssets(data: AssetProjectData, assets: AvailableAssets): AssetWarning[];
|
|
53
|
+
//# sourceMappingURL=assets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/validation/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,EAEP,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;IACzB,OAAO,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7B,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;IACzB,YAAY,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;IACrC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B;AA0OD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,GAAG,YAAY,EAAE,CAS3F"}
|