The facing ribbon rides the mount
While the pane possesses a creature, the keymap's golden ribbon moves to the mount's token — same shallow triangle, sized to the smaller body, turning with the borrowed eyes — and leaves the wizard's brow until the rider returns. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015RCWSTnb1KYTPyL4GmhGnF
This commit is contained in:
co-authored by
Claude Fable 5
parent
714c5bef80
commit
e499df22d7
@@ -56,6 +56,8 @@
|
||||
let fpBatch = $state<{ n: number; events: GameEvent[]; view: GameView } | null>(null);
|
||||
/** The pane camera's compass quadrant, worn by the keymap token. */
|
||||
let fpvFacing = $state<Side | null>(null);
|
||||
/** The creature the pane is riding, if any: the ribbon moves to it. */
|
||||
let fpvBody = $state<string | null>(null);
|
||||
let fxCancels: (() => void)[] = [];
|
||||
/** A trap drawn by YOU earns a modal; buried log lines get missed. */
|
||||
let trapNotice = $state<string | null>(null);
|
||||
@@ -1908,7 +1910,8 @@
|
||||
? { type: "pickUpTreasure", treasureId: w.id }
|
||||
: { type: "pickUpObject", instanceId: w.id })}
|
||||
onCreatureMove={(creatureId, direction) => dispatch({ type: "moveCreature", creatureId, direction })}
|
||||
onCreatureAttack={(creatureId, targetId) => dispatch({ type: "creatureAttack", creatureId, targetId })} />
|
||||
onCreatureAttack={(creatureId, targetId) => dispatch({ type: "creatureAttack", creatureId, targetId })}
|
||||
onbody={(id) => (fpvBody = id)} />
|
||||
{/if}
|
||||
<Board
|
||||
{view}
|
||||
@@ -1931,6 +1934,7 @@
|
||||
{litCells}
|
||||
{sightTrace}
|
||||
povFacing={prefs.liveFp && view.you && !net.spectating ? fpvFacing : null}
|
||||
povCreatureId={prefs.liveFp && !net.spectating ? fpvBody : null}
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user