Analyze progression
analyze_progressionAnalyzes RPG Maker MV project progression to find reachable and unreachable maps, dead pages, and blocked goals, showing whether a target map, event, or switch can be reached without running the game.
Instructions
Answers 'can the player get from the start map to X, and what can never happen?' for the whole project, without running the game. Model (an over-approximation): starting at System startMapId, a page may run whenever its page conditions could hold, and when it runs ALL of its commands take effect. Switches only ever turn ON, items are never lost, and conditions inside event commands (branches, choices) are ignored. So 'unreachable' (maps, pages, goals) is a proof under the model, while 'reachable' only means 'not ruled out'. It cannot see script commands (355), plugin commands (356), variable-designated transfers or battles, enabled plugins (parameters, notetags) or anything else a plugin does. Each of those, an unreadable map or an unreadable js/plugins.js lowers uncertainty.confidence to 'low'; only trust 'unreachable' and 'dead' results when confidence is 'high'. Returns reachableMaps, unreachableMaps, deadEndMaps (no exit), deadPages (pages that can never run, with the first unmet condition), switches/variables read-but-never-set and set-but-never-read, edges (direct transfers), notes, a plain-language summary and names (map id to name). goal (exactly one of switch, mapId or event) adds a verdict with up to 10 blockedBy reasons. includeGraph adds a Mermaid flowchart of the map transfers. Lists are cut at limit (the summary counts stay exact); truncated is also set when an analysis cap was hit (see notes). Staged changeset data is analysed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | What to check, exactly one key: { switch: n }, { mapId: n } or { event: { mapId, eventId } }. | |
| limit | No | Most entries per list in the report. | |
| includeGraph | No | Also return a Mermaid flowchart of the direct map transfers. |