docs: a map script's text can pay talk when it names the thing in front, and where it can
This commit is contained in:
parent
5d527f0910
commit
37adeb9417
2 changed files with 12 additions and 4 deletions
|
|
@ -121,7 +121,8 @@ Indigo Plateau's rooms. Not the forest, a cave, the Underground Path or Vermilio
|
||||||
1. *the fly opened*: on the last sample before the font bit (`wFontLoaded` bit 0) rose, the fly had
|
1. *the fly opened*: on the last sample before the font bit (`wFontLoaded` bit 0) rose, the fly had
|
||||||
the joypad -- no `wJoyIgnore`, no simulated input, no scripted movement -- was standing still
|
the joypad -- no `wJoyIgnore`, no simulated input, no scripted movement -- was standing still
|
||||||
(`wWalkCounter` zero, the only state the overworld reads A in) and stood where it stands now. A
|
(`wWalkCounter` zero, the only state the overworld reads A in) and stood where it stands now. A
|
||||||
script's text opens with the joypad taken, or on the frame a step onto a trigger tile ends;
|
script's text usually opens with the joypad taken; one opened by a map script the frame after a
|
||||||
|
step ends can still look opened by the fly, and is then held to rule 2 (below);
|
||||||
2. *is with the thing in front of it*: `DisplayTextID` copies its argument into `wSpriteIndex` --
|
2. *is with the thing in front of it*: `DisplayTextID` copies its argument into `wSpriteIndex` --
|
||||||
a sprite slot up to `wNumSprites`, or a text id -- and the sprite must stand on the tile the
|
a sprite slot up to `wNumSprites`, or a text id -- and the sprite must stand on the tile the
|
||||||
player faces (or one further, across a counter, on a tileset that has counter tiles, which is
|
player faces (or one further, across a counter, on a tileset that has counter tiles, which is
|
||||||
|
|
@ -281,7 +282,12 @@ press. Nothing in the adapter presses A, chooses when, or tells the fly who is t
|
||||||
read out of WRAM after a conversation the fly's own buttons -- or the macro the mushroom body chose
|
read out of WRAM after a conversation the fly's own buttons -- or the macro the mushroom body chose
|
||||||
-- opened and finished, and it is once per person or sign for the life of the run, so the thing
|
-- opened and finished, and it is once per person or sign for the life of the run, so the thing
|
||||||
that is learned is "the people in a building are worth a visit", not "press A". It is also why the
|
that is learned is "the people in a building are worth a visit", not "press A". It is also why the
|
||||||
rule demands evidence that the fly opened the box: text a script started pays nothing.
|
rule demands evidence that the fly opened the box. That evidence is not proof: a map script runs
|
||||||
|
one frame after a step ends and may open text while the fly is still, controllable and on the same
|
||||||
|
tile. Such text pays only if it names the person or sign the fly is facing, once per key; in the
|
||||||
|
early game none can (checked: the museum ticket man, the Route 22 and Route 5 guards, Viridian
|
||||||
|
Mart, Oak's Lab), and a few late ones can once each (the Fighting Dojo master, the Elite Four
|
||||||
|
after their battles). Review of 2026-09-23.
|
||||||
|
|
||||||
The catalog also includes catches. The honesty panel's copy is not data-driven from the catalog --
|
The catalog also includes catches. The honesty panel's copy is not data-driven from the catalog --
|
||||||
`apps/stage/src/lib/schedule.ts`'s rotating card is four written lines and lists no kinds -- so
|
`apps/stage/src/lib/schedule.ts`'s rotating card is four written lines and lists no kinds -- so
|
||||||
|
|
|
||||||
|
|
@ -148,8 +148,10 @@ impl TalkWatch {
|
||||||
/// (`wFontLoaded` bit 0 rising) the fly had the joypad -- no ignored buttons, no simulated
|
/// (`wFontLoaded` bit 0 rising) the fly had the joypad -- no ignored buttons, no simulated
|
||||||
/// input, no scripted movement ([`state::controllable`]) -- was standing still
|
/// input, no scripted movement ([`state::controllable`]) -- was standing still
|
||||||
/// (`wWalkCounter` zero, which is the only state the overworld reads A in) and stood on the
|
/// (`wWalkCounter` zero, which is the only state the overworld reads A in) and stood on the
|
||||||
/// tile it is on now. A script's text opens with the joypad already taken, or on the frame
|
/// tile it is on now. Most script text opens with the joypad already taken, and is not
|
||||||
/// a step onto a trigger tile ends; neither is `ready`.
|
/// `ready`; a map script that runs the frame after a step ends can open text while the fly
|
||||||
|
/// is still `ready`, so it pays only if rule 2 names the thing in front (none in the early
|
||||||
|
/// game; the Fighting Dojo master and the Elite Four once each).
|
||||||
/// 2. **It is with the thing in front of the fly.** `DisplayTextID` copies its argument into
|
/// 2. **It is with the thing in front of the fly.** `DisplayTextID` copies its argument into
|
||||||
/// `wSpriteIndex` once the font is loaded ([`ARGUMENT_SETTLED`] has the timing, and why
|
/// `wSpriteIndex` once the font is loaded ([`ARGUMENT_SETTLED`] has the timing, and why
|
||||||
/// the byte is read only once it has changed or settled), in the bottom dialogue box --
|
/// the byte is read only once it has changed or settled), in the bottom dialogue box --
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue