scroll.server/crates
WiseDev 2933d2ff7e maintain the combat timers the way the client does
audit findings #4/#7/#8. resolve_attacks only ever wrote hit_timer, and
with the wrong model; field_52 (load), field_60 (dash), field_64
(special index) were left at 0 forever. all four are hashed by
LogicCombatComponent::encode, so the checksum broke the instant anything
could shoot.

now, mirroring LogicCombatComponent::update and updateHitTimer:
- field_52 and field_60 decrement by 50 every tick, unconditionally, for
  every combat component - the two lines at the top of update.
- hit_timer is seeded with LoadTime the first time, advances by the 50ms
  step, and a shot lands on each HitSpeed boundary the accumulator
  crosses (field18/HitSpeed rising past its previous quotient), instead
  of "fire at load_time+hit_speed then reset". on a shot field_52 is set
  back to LoadTime and field_64 cycles through SpecialAttackInterval.

still not bit-exact for combat: the state field (2 while attacking),
field_68 recovery, buff-scaled hit speed, and projectiles-as-objects are
their own ports. this closes the "timers never move" break; damage
lands under the new model (harness).
2026-08-24 09:54:07 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service maintain the combat timers the way the client does 2026-08-24 09:54:07 +03:00
gateway answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
logic maintain the combat timers the way the client does 2026-08-24 09:54:07 +03:00
logic-derive move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
scroll-server supervised mode: run the services as child processes 2026-08-23 09:46:59 +03:00
service-rpc grant achievement progress and roll exp into levels 2026-08-24 09:15:22 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan grant achievement progress and roll exp into levels 2026-08-24 09:15:22 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00