- Install UberWolf CLI only for detected WOLF games - Move static clipboard prompts into editable shipped skills - Improve plugin and Ace translation audit workflows - Add regression coverage for engine filtering and prompt loading
6.5 KiB
You are an expert RPGMaker MV/MZ event system analyst.
Audit several optional event code types and report: (a) which contain player-visible Japanese text that needs translation, and (b) for code 122, exactly which variable ID ranges carry display text versus internal keys.--- attach Actors.json, CommonEvents.json, Troops.json, Map*.json, and js/plugins.js here ---
<actor_context> Read Actors.json in full before auditing event commands. Use it to resolve actor IDs, \N[n] references, and code 320/324/325 targets. If you see an event reference to a major actor whose full character vocab is missing or only appears as a placeholder mapping like \N[3] (Keimi), report that Actors.json should be included in the glossary build and that a full # Game Characters entry is needed. </actor_context>
<audit_1 code="122"> Code 122 — Control Variables — which variable IDs carry display text
A code 122 entry looks like: { "code": 122, "parameters": [startVarId, endVarId, 0, 4, ""some string""] } parameters[0] is the variable ID being set; parameters[4] is the string value (only present when parameters[3] == 4, direct string assignment).
Collect every code 122 where parameters[3] == 4. For each variable ID found:
- Is the string also tested in a code 111 $gameVariables comparison? → DO NOT TRANSLATE (would break game logic)
- Is the string used as an internal ID / plugin key / script argument? → DO NOT TRANSLATE
- Is the string purely player-visible display text? → SAFE TO TRANSLATE
Summarise translatable variable IDs as compact numeric ranges, e.g. 'Translate IDs: 5, 10-18, 42'. Separately list any DO NOT TRANSLATE IDs with the reason. The ranges will be entered as min/max in the translation tool. </audit_1>
<audit_2> Plugin codes with visible text — 357 / 356 / 355-655 / 657 / 320 / 324 / 325 / 108 For each code type below, scan all events and report whether any instance contains Japanese text visible to the player at runtime.
--- Code 357 (MZ Plugin Commands) --- parameters[0] = plugin header; parameters[3] = data dict. Look up each unique header in js/plugins.js. Does any key in parameters[3] hold Japanese text shown on screen? The module already handles: AdvExtentionllk, VisuMZ_4_ProximityMessages, LL_GalgeChoiceWindow For other headers with visible text, check the commented-out headerMappings list: "LL_InfoPopupWIndow": (["messageText"], None), "QuestSystem": (["DetailNote"], None), "BalloonInBattle": (["text"], None), "MNKR_CommonPopupCoreMZ": (["text"], None), "DestinationWindow": (["destination"], None), "_TMLogWindowMZ": (["text"], None), "TorigoyaMZ_NotifyMessage": (["message"], None), "SoR_GabWindow": (["arg1"], None), "DarkPlasma_CharacterText": (["text"], None), "DTextPicture": (["text"], None), "TextPicture": (["text"], None), "TRP_SkitMZ": (["name"], None), "LogWindow": (["text"], None), "BattleLogOutput": (["message"], None), "TorigoyaMZ_NotifyMessage_CommandMessage": (["message"], None), "NUUN_SaveScreen": (["AnyName"], None), "build/ARPG_Core": (["Text", "SkillByName"], None), Output: EXACT uncomment line, or describe parameters[3] if header is new.
--- Code 356 (MV Plugin Commands) --- parameters[0] is a space-delimited string, e.g. 'D_TEXT テキスト 24'. The module already handles: D_TEXT, ShowInfo, PushGab, addLog, DW_*, CommonPopup, AddCustomChoice. Does any 356 line have Japanese that is shown on screen? If yes: ENABLE CODE356 and list the command keywords found. If no: SKIP CODE356.
--- Code 355/655 (Inline Scripts) --- Code 355 starts a script block; code 655 continues it. parameters[0] is the raw JS/script text. For each block with Japanese in a string passed to a message/popup/log function: • The leading keyword/pattern that identifies the block • A regex capturing only the display substring, e.g. テキスト-(.+) • Whether it is single-line (355 only) or multi-line (355 + 655) • The exact entry to add to the patterns dict: "": (r"", <True|False>),
--- Code 657 (Picture Text) --- parameters[0] is a plain string drawn onto a picture. Does any 657 entry contain Japanese text visible on screen (not a filename)? If yes: ENABLE CODE657. If no: SKIP CODE657.
--- Codes 320 / 324 / 325 (Actor Name / Nickname / Profile) --- parameters[1] is the new name/nickname/profile string. Do any of these codes set Japanese strings visible to the player (not just internal IDs or filenames)? If yes: ENABLE the respective code. If no: SKIP.
--- Code 108 (Comment / Notetag) --- parameters[0] is a comment string used as a plugin notetag. The module only translates 108 lines that match specific patterns: info:, ActiveMessage:, event_text, Menu Name, text_indicator, NW名前指定 Do any 108 entries matching those patterns have Japanese visible to the player? If yes: ENABLE CODE108 and list the patterns found. If no: SKIP CODE108. </audit_2>
<output_format> Reply with these exact sections:
Code 122 — Variable Translation Ranges
Translate IDs : <compact ranges, e.g. 5, 10-18, 42> Do NOT translate: <ID — reason> If none: 'No display-text string assignments found.'
Code 357 — Plugin Handlers to Enable
• Already handled :
— no action needed • Enable in module : uncomment → "": ([""], None), • New entry needed : — parameters[3] structure: • No visible text : — internal only, skip If none: 'No code 357 visible text found.'Code 356 — Enable or Skip
ENABLE / SKIP — keywords found:
Code 355/655 — Script Patterns to Add
• Pattern key : • Regex : • Multiline : <true/false> • Module line : "": (r"", <True|False>), If none: 'No translatable 355/655 scripts found.'
Code 657 — Enable or Skip
ENABLE / SKIP —
Codes 320 / 324 / 325 — Enable or Skip
320: ENABLE / SKIP 324: ENABLE / SKIP 325: ENABLE / SKIP
Code 108 — Enable or Skip
ENABLE / SKIP — patterns found:
GUI Action Summary
After all audit sections above, output this final block to configure the GUI:
ENABLE CODES : <comma-separated CODE* keys to check, e.g. CODE357, CODE356> SKIP CODES : 357 PLUGINS : 355/655 PATTERNS : 122 VAR RANGE : min=, max=
If a field has nothing to fill in, write NONE. </output_format>