Skip to content

PvZ conversation positions

Plant dialogue previously mixed zero-based individual/neighbor positions with one-based lawn and enemy observations. A plant in native cell (1, 3) saw itself at row 1, column 3 and the same defense at row 2, column 4.

The model-facing individual, source-plant lawn rows and Garlic neighbors now use the same one-based positions as the observed enemies. Neighbor names are localized. Row orientation is explicit. Native snapshots, identities, leases, commands and saved positions remain unchanged.

Dave's legacy episode commands still use native coordinates. Their context now explicitly separates zero-based lawn/action targets from one-based spoken observations. Converting those commands would require a protocol migration; this change does not do that or alter any gameplay effects.

Five new regression cases cover English/Chinese/Spanish plant voices, edge cells, Garlic targets, authored plant dialogue and both Dave story engines. They failed before their respective changes; all 486 affected NPC/route checks pass afterward. The full hosted build and typecheck pass.

Eight real-provider samples used retained compiled fog observations through the production service implementation, with synthetic account context and no account/save/billing database writes. Qwen and Gemini both kept observation questions from changing light, honored restore-light, and preserved an already active focus. These are bounded samples, not a live account-settings test.

One Chinese Qwen observation still placed the zombie in column 4 instead of the supplied column 9. Gemini's corresponding answer was correct. The input inconsistency is fixed; model prose grounding is not certified. The failed sample is retained without rerolling or silently substituting a stronger model. Evidence: game worktree output/visible-threats/plant-positions-20260923.json and its eight saved request/prompt records.

World 1 remains at the original source difficulty 2/2 without an extra 3x multiplier. This host change does not change dialogue holds, wave timing, source plots, game assets, schemas or player saves.