Stamina has no caller, so the orange orb never appears in play #63
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two things in
World.Energyhave no production caller:stamina/1— turns the stamina effect on, which is the thing thathalves drain;
gain/2— restoring energy by an amount, which is what a stamina potiondoes.
stamina?/1is called (World.Playerreads it for the orb's active flag),and the varbit that turns the orb orange is written every tick, so the plumbing
to the client exists and is verified against the cache's own orb script. What
does not exist is anything that turns the effect on or restores energy
directly. Stamina potions are the content that does both, and there is no
consumable system yet at all — nothing eats or drinks anything.
The drain formula is correct and era-checked: the 2017 formulas agree with the
modern ones only at level 99, and this uses the 2017 ones. Stamina is a
* 30 / 100multiplier on the drain and a+2000unit restore, both alreadyimplemented and tested; a dose is 200 ticks and re-dosing resets rather than
stacks.
The run latch this issue was originally filed alongside is fixed and merged in
#72 — see the comment below.
The second half of this — the run latch — is fixed and merged in #72.
Whether a tick runs is derived now, never stored: a player holds the two
things that were asked for, the orb (varp 173) and the current route's
ctrl-click, and
Contract.Run.running?/3puts both to the bar every tick.Player.running?/1is the one reader, and the two functions that measure astep ask it. The field was renamed
run?->ctrl_run?so that no reader canmistake a question for the answer, and
Player.interact/4now takes theclick's ctrl flag as a required argument — every interaction click already
decoded one and threw it away, which is what let an approach inherit whatever
the last walk click left behind.
One clarification that came out of it and is worth having on the record: the
1% floor gates enabling run mode and nothing else.
resolve/2has exactlyone caller, the orb. Starting a route is not gated, so a player who lit the orb
at a full bar and drained it to half a percent keeps running until the bar
reaches 0 and the orb goes out.
What this issue is now, and stays open for: stamina has no caller.
Energy.stamina/1andEnergy.gain/2are built, tested and called by nothingin
lib/, so the orange orb never appears in play.stamina?/1is read byWorld.Playerfor the orb's active flag, so the plumbing to the client isthere — what is missing is the content that turns the effect on, which is a
stamina potion, and there is no consumable system at all yet.
Retitled to match.
Stamina has no caller, and run? is latched at click timeto Stamina has no caller, so the orange orb never appears in play