Fixing tests and comments
This commit is contained in:
@@ -11,8 +11,8 @@ fn tick(me, state, dt) {
|
||||
// and is a no-op when blocked; the delay pads each step out to ~0.5s (move
|
||||
// itself costs 0.25s), matching the old global pusher heartbeat.
|
||||
//
|
||||
// The direction is read here, at the top level of the hook, because `Me` is a
|
||||
// per-object scope constant and is not visible inside other script functions.
|
||||
// The direction is read from `me` (the hook's first parameter); to use it in a
|
||||
// helper function you would pass `me` down explicitly.
|
||||
if !me.waiting {
|
||||
let dir = if me.has_tag("BUILTIN_pusher_north") { North }
|
||||
else if me.has_tag("BUILTIN_pusher_south") { South }
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
// Rotates this object's 8 neighbours one step around a ring every 0.5s, shoving
|
||||
// each pushable into the next ring slot via a single simultaneous `swap`. The spin
|
||||
// direction comes from the `BUILTIN_spinner_*` tag the map loader attaches (it
|
||||
// defaults to clockwise when no tag is present).
|
||||
//
|
||||
// A neighbour may only rotate if its destination slot will actually be free: the
|
||||
// slot is a hole (`passable`), or that slot's own occupant also rotates out. We
|
||||
// can't decide that with `can_shift` alone — `can_shift(j) == false` is ambiguous
|
||||
// between "j is empty" and "j is a blocked solid" — so we seed with `can_shift`
|
||||
// and then cascade-demote using `passable` to spot the genuine holes.
|
||||
// Rotates this object's 8 neighbours one step around a ring every 0.5s via a single
|
||||
// `shift()` of the ring coordinates. `shift` moves each pushable to the next slot,
|
||||
// skips non-pushables, and won't move anything into a cell that isn't vacant (or
|
||||
// vacated by this same rotation) — so the "is the slot free?" decision lives in the
|
||||
// engine and the script just hands it the ring. The spin direction comes from the
|
||||
// `BUILTIN_spinner_*` tag the map loader attaches (it defaults to clockwise when no
|
||||
// tag is present).
|
||||
fn tick(me, state, dt) {
|
||||
// Only start a new rotation when the previous one (and its delay) has drained,
|
||||
// exactly like the built-in pusher's pacing.
|
||||
|
||||
Reference in New Issue
Block a user