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 @@
|
|
|
1
|
+
{"version":3,"file":"listTools.js","sourceRoot":"","sources":["../../src/tools/listTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { MapData, MapEvent, MapInfo, EventCommand, EventPage, Encounter } from '../utils/types.js';
|
|
2
|
+
import { ToolDefinition } from '../registry.js';
|
|
3
|
+
import { ValidationWarning } from '../validation/eventCommands.js';
|
|
4
|
+
import { PreCommit, writeGate } from '../validation/gate.js';
|
|
5
|
+
/**
|
|
6
|
+
* The pre-commit gate every event-writing tool installs: validate the event that
|
|
7
|
+
* is *about* to be written, refuse the write outright if it is structurally
|
|
8
|
+
* malformed (unless `force`), and keep any advisory findings for the response.
|
|
9
|
+
*
|
|
10
|
+
* Reachability is folded in here rather than checked by the caller afterwards
|
|
11
|
+
* because it, too, is block-worthy — an action-button page that can never fire
|
|
12
|
+
* is a dead event, not a style note.
|
|
13
|
+
*/
|
|
14
|
+
export declare function eventWriteGate(projectPath: string, mapId: number, force: boolean | undefined, extra?: ValidationWarning[]): ReturnType<typeof writeGate<MapEvent>>;
|
|
15
|
+
/**
|
|
16
|
+
* Trim a freshly-created event down to a confirmation summary for a tool
|
|
17
|
+
* response. The full event echoes every default field of every page (hundreds
|
|
18
|
+
* of tokens even for a bare NPC), yet the caller already knows what it sent and
|
|
19
|
+
* can re-read specifics with get_map_event — so return just id/name/position and
|
|
20
|
+
* a page count. Validation warnings are still computed from the *full* event by
|
|
21
|
+
* the caller before the event is summarized.
|
|
22
|
+
*/
|
|
23
|
+
export declare function summarizeCreatedEvent(event: MapEvent): {
|
|
24
|
+
id: number;
|
|
25
|
+
name: string;
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
pageCount: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Flag an event with an action-button page drawn with priority "below
|
|
32
|
+
* characters" (0) while the event's tile is impassable. Such a page fires only
|
|
33
|
+
* when the player STANDS ON the tile — impossible on a blocked cell — so the
|
|
34
|
+
* event (a !Door on a wall, an entrance trigger on a solid landmark) can never
|
|
35
|
+
* fire at all. Priority "same as characters" (1) triggers from facing, which is
|
|
36
|
+
* what these events want.
|
|
37
|
+
*
|
|
38
|
+
* Structural (`severity: 'error'`): the event is dead on arrival, which is
|
|
39
|
+
* essentially never intended, so the write is refused unless forced. Still fails
|
|
40
|
+
* soft on any *read* problem (e.g. a bare fixture with no tileset) — an
|
|
41
|
+
* unanswerable check must never block.
|
|
42
|
+
*/
|
|
43
|
+
export declare function actionButtonReachabilityWarnings(projectPath: string, mapId: number, event: MapEvent): Promise<ValidationWarning[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Get map data by ID
|
|
46
|
+
*/
|
|
47
|
+
export declare function getMap(projectPath: string, mapId: number): Promise<MapData>;
|
|
48
|
+
/**
|
|
49
|
+
* Get all map info
|
|
50
|
+
*/
|
|
51
|
+
export declare function getMapInfos(projectPath: string): Promise<(MapInfo | null)[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Build a blank MapData mirroring what the RPG Maker MZ editor writes for a
|
|
54
|
+
* freshly-created map: every tile zeroed (unpainted) across all 6 layers and no
|
|
55
|
+
* events. Field order matches the editor's own output so round-tripped files
|
|
56
|
+
* stay tidy. Kept pure (no I/O) so the template shape can be unit-tested.
|
|
57
|
+
*/
|
|
58
|
+
export declare function blankMapData(width: number, height: number, tilesetId: number): MapData;
|
|
59
|
+
/**
|
|
60
|
+
* Create a new map: write a fresh `data/MapNNN.json` and register it in the map
|
|
61
|
+
* tree (`data/MapInfos.json`). Allocates the next unused map id, appends a tree
|
|
62
|
+
* entry, and lays down a blank (all-tiles-zeroed) map of the given size.
|
|
63
|
+
*
|
|
64
|
+
* Both files are written through the commit choke point, so a dry-run previews
|
|
65
|
+
* the new map file *and* the MapInfos entry together. Does not touch
|
|
66
|
+
* `System.json`: the editor's map tree is driven entirely by MapInfos, so a new
|
|
67
|
+
* entry is enough for the editor to see the map (`System.editMapId` only tracks
|
|
68
|
+
* which map is open on launch).
|
|
69
|
+
*/
|
|
70
|
+
export declare function createMap(projectPath: string, options: {
|
|
71
|
+
name: string;
|
|
72
|
+
width?: number;
|
|
73
|
+
height?: number;
|
|
74
|
+
parentId?: number;
|
|
75
|
+
tilesetId?: number;
|
|
76
|
+
}): Promise<{
|
|
77
|
+
mapId: number;
|
|
78
|
+
mapInfo: MapInfo;
|
|
79
|
+
map: MapData;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Delete a map: remove its entry from the map tree (`data/MapInfos.json`) and
|
|
83
|
+
* delete its `data/MapNNN.json` file. Any child maps are **reparented** to the
|
|
84
|
+
* deleted map's own parent rather than deleted with it — so a whole town/dungeon
|
|
85
|
+
* sub-tree isn't wiped by removing one node. Both the tree rewrite and the file
|
|
86
|
+
* deletion go through the commit choke point, so a dry-run previews the tree
|
|
87
|
+
* change and the file removal together.
|
|
88
|
+
*
|
|
89
|
+
* Does not touch `System.json`; if the deleted map happens to be the editor's
|
|
90
|
+
* open/start map that reference is left dangling (the editor tolerates it), same
|
|
91
|
+
* hands-off stance `create_map` takes toward `System.json`.
|
|
92
|
+
*/
|
|
93
|
+
export declare function deleteMap(projectPath: string, mapId: number): Promise<{
|
|
94
|
+
mapId: number;
|
|
95
|
+
reparentedTo: number;
|
|
96
|
+
reparentedChildren: number[];
|
|
97
|
+
warnings?: string[];
|
|
98
|
+
}>;
|
|
99
|
+
/** A single map-tree edit: reparent, reorder, rename, or expand/collapse a map. */
|
|
100
|
+
export interface MapTreeUpdate {
|
|
101
|
+
mapId: number;
|
|
102
|
+
parentId?: number;
|
|
103
|
+
order?: number;
|
|
104
|
+
name?: string;
|
|
105
|
+
expanded?: boolean;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Edit the map tree (`data/MapInfos.json`) without touching any map's tiles or
|
|
109
|
+
* events: reparent (move under a different node / to the top level), reorder
|
|
110
|
+
* siblings, rename, or expand/collapse. Applies a batch of per-map updates, then
|
|
111
|
+
* validates the whole tree stays acyclic before committing. Every referenced map
|
|
112
|
+
* (and any non-zero `parentId`) must already exist.
|
|
113
|
+
*/
|
|
114
|
+
export declare function updateMapTree(projectPath: string, updates: MapTreeUpdate[]): Promise<{
|
|
115
|
+
updated: MapInfo[];
|
|
116
|
+
}>;
|
|
117
|
+
/**
|
|
118
|
+
* Update map properties. Refuses a width/height change: those would desync the
|
|
119
|
+
* flat `data` tile array (sized `width*height*6`) without repadding it. Use
|
|
120
|
+
* {@link resizeMap} for that.
|
|
121
|
+
*/
|
|
122
|
+
export declare function updateMap(projectPath: string, mapId: number, updates: Partial<MapData>): Promise<MapData>;
|
|
123
|
+
/**
|
|
124
|
+
* Rebuild a map's flat tile `data` array for new dimensions, preserving each
|
|
125
|
+
* z-layer's tiles where the old and new grids overlap and zero-filling any
|
|
126
|
+
* newly-exposed cells (cropping when a dimension shrinks). RPG Maker MZ packs
|
|
127
|
+
* the 6 z-layers contiguously into one `width*height*6` array indexed by
|
|
128
|
+
* `(layer*height + y)*width + x`, so a plain width/height swap misaligns every
|
|
129
|
+
* layer — this copies cell-by-cell into a freshly-sized array. Pure (no I/O) so
|
|
130
|
+
* the repadding math can be unit-tested.
|
|
131
|
+
*/
|
|
132
|
+
export declare function resizeMapData(oldData: number[], oldWidth: number, oldHeight: number, newWidth: number, newHeight: number): number[];
|
|
133
|
+
/**
|
|
134
|
+
* Resize an existing map to new width/height, repadding every z-layer of its
|
|
135
|
+
* tile `data` array (see {@link resizeMapData}) so the grid stays in sync — the
|
|
136
|
+
* safe path `update_map` refuses. Existing tiles are kept where the grids
|
|
137
|
+
* overlap; shrinking crops the excess. Warns (warn-by-default, never blocks)
|
|
138
|
+
* about any event now left outside the new bounds so the caller can move or
|
|
139
|
+
* remove it. Writes through the commit choke point (dry-run/diff aware).
|
|
140
|
+
*/
|
|
141
|
+
export declare function resizeMap(projectPath: string, mapId: number, width: number, height: number): Promise<{
|
|
142
|
+
mapId: number;
|
|
143
|
+
width: number;
|
|
144
|
+
height: number;
|
|
145
|
+
previousWidth: number;
|
|
146
|
+
previousHeight: number;
|
|
147
|
+
warnings?: string[];
|
|
148
|
+
}>;
|
|
149
|
+
/**
|
|
150
|
+
* Set a map's random-encounter list (and optionally its `encounterStep`, the
|
|
151
|
+
* average number of steps between encounters). Replaces `encounterList` wholesale
|
|
152
|
+
* with the given troops — each entry is `{ troopId, weight?, regionSet? }` where
|
|
153
|
+
* `weight` biases the random pick (editor default 5) and `regionSet` restricts the
|
|
154
|
+
* encounter to those map region ids (empty = anywhere). Every `troopId` is
|
|
155
|
+
* validated to exist in Troops.json (throws otherwise, matching create_troop's
|
|
156
|
+
* enemy check), so a bad troop can't sail through the way it does via update_map's
|
|
157
|
+
* raw field-poking. Writes through the commit choke point (dry-run/diff aware).
|
|
158
|
+
*/
|
|
159
|
+
export declare function setEncounters(projectPath: string, mapId: number, encounters: Array<{
|
|
160
|
+
troopId: number;
|
|
161
|
+
weight?: number;
|
|
162
|
+
regionSet?: number[];
|
|
163
|
+
}>, encounterStep?: number): Promise<{
|
|
164
|
+
mapId: number;
|
|
165
|
+
encounterList: Encounter[];
|
|
166
|
+
encounterStep: number;
|
|
167
|
+
}>;
|
|
168
|
+
/**
|
|
169
|
+
* Get events from a specific map
|
|
170
|
+
*/
|
|
171
|
+
export declare function getMapEvents(projectPath: string, mapId: number): Promise<(MapEvent | null)[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Get a specific event from a map
|
|
174
|
+
*/
|
|
175
|
+
export declare function getMapEvent(projectPath: string, mapId: number, eventId: number): Promise<MapEvent | null>;
|
|
176
|
+
/**
|
|
177
|
+
* Update a map event
|
|
178
|
+
*/
|
|
179
|
+
export declare function updateMapEvent(projectPath: string, mapId: number, eventId: number, updates: Partial<MapEvent>, precommit?: PreCommit<MapEvent>): Promise<MapEvent>;
|
|
180
|
+
/**
|
|
181
|
+
* Build a blank event page mirroring what the RPG Maker MZ editor writes for a
|
|
182
|
+
* freshly-created event: no graphic, an empty (code-0-terminated) command list,
|
|
183
|
+
* action-button trigger, priority below characters, and default movement. Field
|
|
184
|
+
* values verified against the editor's own output. Pure so the template can be
|
|
185
|
+
* unit-tested and reused (by `create_npc` and `normalizeEventPage`).
|
|
186
|
+
*/
|
|
187
|
+
export declare function blankEventPage(): EventPage;
|
|
188
|
+
/**
|
|
189
|
+
* Merge a partial event page onto a blank page so a caller can specify only the
|
|
190
|
+
* fields that differ from the editor's "New Event" default. Top-level fields
|
|
191
|
+
* overwrite; the nested `image` and `conditions` objects deep-merge (so passing
|
|
192
|
+
* just `image.characterName` keeps the other graphic defaults). `list` and
|
|
193
|
+
* `moveRoute`, when omitted, fall back to the blank page's (a valid code-0
|
|
194
|
+
* terminated list / route). A page passed in full round-trips unchanged, so this
|
|
195
|
+
* is safe for callers like `create_npc` that already build a complete page.
|
|
196
|
+
*/
|
|
197
|
+
export declare function normalizeEventPage(partial: Partial<EventPage>): EventPage;
|
|
198
|
+
/**
|
|
199
|
+
* Create a new event on a map. Each supplied page is merged onto a blank page
|
|
200
|
+
* (see {@link normalizeEventPage}), so a caller can pass a partial page — only the
|
|
201
|
+
* fields that differ from the editor's "New Event" default — without needing the
|
|
202
|
+
* full RPG Maker page schema. An event with no pages gets one blank page.
|
|
203
|
+
*/
|
|
204
|
+
export declare function createMapEvent(projectPath: string, mapId: number, eventData: Omit<MapEvent, 'id' | 'pages'> & {
|
|
205
|
+
pages?: Partial<EventPage>[];
|
|
206
|
+
}, precommit?: PreCommit<MapEvent>): Promise<MapEvent>;
|
|
207
|
+
/**
|
|
208
|
+
* Scan a map's remaining events for command parameters that reference the given
|
|
209
|
+
* (about-to-be-deleted) event id, so the caller can be warned about pages that
|
|
210
|
+
* will point at a now-gone event. Covers the commands whose parameter carries an
|
|
211
|
+
* event id: Set Event Location (203), Show Animation (212), Show Balloon (213),
|
|
212
|
+
* and forced Set Movement Route (205). For 212/213/205 the character id follows
|
|
213
|
+
* the -1 player / 0 this event / N event id convention, so only a value === the
|
|
214
|
+
* deleted id **and > 0** is a real reference. Pure (no I/O); warn-only.
|
|
215
|
+
*/
|
|
216
|
+
export declare function eventReferenceWarnings(events: (MapEvent | null)[], deletedId: number): string[];
|
|
217
|
+
/**
|
|
218
|
+
* Delete an event from a map. Warns (never blocks) when other events' pages still
|
|
219
|
+
* reference the deleted event id via Set Event Location / Show Animation / Show
|
|
220
|
+
* Balloon / forced Set Movement Route (see {@link eventReferenceWarnings}).
|
|
221
|
+
*/
|
|
222
|
+
export declare function deleteMapEvent(projectPath: string, mapId: number, eventId: number): Promise<{
|
|
223
|
+
success: boolean;
|
|
224
|
+
warnings?: string[];
|
|
225
|
+
}>;
|
|
226
|
+
/**
|
|
227
|
+
* Search events by name
|
|
228
|
+
*/
|
|
229
|
+
export declare function searchMapEvents(projectPath: string, mapId: number, searchTerm: string): Promise<MapEvent[]>;
|
|
230
|
+
/**
|
|
231
|
+
* Add a command to an event page
|
|
232
|
+
*/
|
|
233
|
+
export declare function addEventCommand(projectPath: string, mapId: number, eventId: number, pageIndex: number, command: EventCommand, position?: number, precommit?: PreCommit<MapEvent>): Promise<MapEvent>;
|
|
234
|
+
/**
|
|
235
|
+
* Get map dimensions
|
|
236
|
+
*/
|
|
237
|
+
export declare function getMapDimensions(projectPath: string, mapId: number): Promise<{
|
|
238
|
+
width: number;
|
|
239
|
+
height: number;
|
|
240
|
+
}>;
|
|
241
|
+
/**
|
|
242
|
+
* Read the raw tile ids in a rectangular window of one z-layer — a token-cheap
|
|
243
|
+
* windowed alternative to {@link getMap} for inspecting part of a big painted map.
|
|
244
|
+
* Returns `tiles` as a 2D array (rows top→bottom, each left→right). The rectangle
|
|
245
|
+
* must lie fully within the map bounds (throws otherwise). Uses the pure
|
|
246
|
+
* {@link tileIndex} helper for the flat-array index math. Read-only.
|
|
247
|
+
*/
|
|
248
|
+
export declare function getMapRegion(projectPath: string, mapId: number, x: number, y: number, width: number, height: number, layer?: number): Promise<{
|
|
249
|
+
mapId: number;
|
|
250
|
+
x: number;
|
|
251
|
+
y: number;
|
|
252
|
+
width: number;
|
|
253
|
+
height: number;
|
|
254
|
+
layer: number;
|
|
255
|
+
tiles: number[][];
|
|
256
|
+
}>;
|
|
257
|
+
/**
|
|
258
|
+
* Set map tile at specific position
|
|
259
|
+
*/
|
|
260
|
+
export declare function setMapTile(projectPath: string, mapId: number, x: number, y: number, layer: number, tileId: number): Promise<void>;
|
|
261
|
+
/**
|
|
262
|
+
* Compute the flat `data` array index for a tile at (x, y) on a z-layer.
|
|
263
|
+
*
|
|
264
|
+
* RPG Maker MZ stores map tiles in a single 1D array of `width * height * 6`
|
|
265
|
+
* entries (6 stacked layers: 2 lower, 2 upper, shadow pen, region ID). Kept as
|
|
266
|
+
* a pure function so the index math can be unit-tested without file I/O.
|
|
267
|
+
*/
|
|
268
|
+
export declare function tileIndex(width: number, height: number, x: number, y: number, layer: number): number;
|
|
269
|
+
export declare const mapToolDefinitions: ToolDefinition[];
|
|
270
|
+
//# sourceMappingURL=mapTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapTools.d.ts","sourceRoot":"","sources":["../../src/tools/mapTools.ts"],"names":[],"mappings":"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"}
|