kronic
12f86c86de
LANTERN P1 step 2: AbilityFireSystem socket restructure + SpawnId repack
The netcode core of the 4-socket kit (Phase1_Combat_Gym_Build_Spec §1,§2,§5; review NP-1/
RS-1/DB-1/DB-3):
- PlayerInput: +4 Socket0..3 InputEvents + Burst-safe GetSocket(i); legacy Fire kept vestigial.
- PlayerInputGatherSystem: gather sockets from keyboard 1..4 (+gamepad RT/LB/RB); socket 0 also
fires on the legacy primary (right-click / pad LT) as a bridge.
- AbilityFireSystem: query dropped to 4 type args (PlayerInput/PlayerFacing/LocalTransform/
GhostOwner) + BufferLookup<AbilitySocket>/ComponentLookup<SocketCooldown>/BufferLookup<
EffectiveSocketStats> (the 7-arg-cap fix); loops 4 sockets; per-socket cooldown + per-socket
effective stats; Cone + Projectile dispatch per socket (predict-spawn Projectile-only).
- ProjectileSpawnId.Pack: pure Burst-safe key owner14|socket2|fireCount12|fork4 so same-tick
multi-socket projectiles never collide; AbilityFireSystem uses it.
L1 clean; L2 494/494 (+5 ProjectileSpawnId tests: distinct-per-socket, fork, owner, bit-ranges,
count-wrap). L3 two-player + rollback is the group-A gate (after step 2.5). Note: the client
feel layer (muzzle/anim) still reads the legacy cooldown until step 2.5; sockets bake empty
until content (step 4), so nothing fires in-game yet.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 10:59:45 -07:00
..
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-06-03 13:46:13 -07:00
2026-06-03 13:46:13 -07:00
2026-06-06 23:30:18 -07:00
2026-06-06 18:18:11 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:15 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-06-02 18:28:23 -07:00
2026-06-02 18:28:23 -07:00
2026-07-13 18:30:41 -07:00
2026-07-02 20:41:43 -07:00
2026-07-13 18:30:41 -07:00
2026-07-02 20:41:43 -07:00
2026-07-08 13:03:38 -07:00
2026-07-08 13:03:38 -07:00
2026-06-04 11:35:57 -07:00
2026-06-04 11:35:57 -07:00
2026-06-06 15:05:49 -07:00
2026-06-06 15:05:49 -07:00
2026-06-02 08:56:26 -07:00
2026-06-02 08:56:26 -07:00
2026-06-21 22:58:26 -07:00
2026-06-09 23:26:20 -07:00
2026-06-18 21:23:33 -07:00
2026-06-18 00:36:21 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:15 -07:00
2026-06-12 21:51:52 -07:00
2026-06-12 21:51:52 -07:00
2026-06-25 20:49:27 -07:00
2026-06-04 11:35:57 -07:00
2026-06-09 23:26:20 -07:00
2026-06-09 23:26:20 -07:00
2026-06-25 23:07:57 -07:00
2026-06-09 23:26:20 -07:00
2026-07-13 18:30:41 -07:00
2026-07-13 18:30:41 -07:00
2026-06-04 13:45:46 -07:00
2026-06-04 13:45:46 -07:00
2026-06-25 20:49:27 -07:00
2026-06-15 12:38:36 -07:00
2026-06-24 20:06:56 -07:00
2026-06-24 20:06:56 -07:00
2026-07-07 22:53:32 -07:00
2026-06-02 22:50:43 -07:00
2026-06-24 20:06:56 -07:00
2026-06-24 20:06:56 -07:00
2026-06-08 11:09:39 -07:00
2026-06-08 11:09:39 -07:00
2026-06-12 19:14:58 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:36 -07:00
2026-06-06 15:05:36 -07:00
2026-07-12 13:53:48 -07:00
2026-07-12 13:53:48 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:15 -07:00
2026-07-10 19:41:47 -07:00
2026-07-10 19:41:47 -07:00
2026-07-07 23:16:53 -07:00
2026-05-31 21:35:12 -07:00
2026-06-07 13:28:25 -07:00
2026-06-07 13:28:25 -07:00
2026-07-07 23:16:53 -07:00
2026-06-08 09:43:47 -07:00
2026-06-08 09:43:47 -07:00
2026-06-08 09:43:47 -07:00
2026-06-08 09:43:47 -07:00
2026-06-08 09:43:47 -07:00
2026-06-08 11:09:39 -07:00
2026-06-08 11:09:39 -07:00
2026-07-13 18:30:41 -07:00
2026-07-13 18:30:41 -07:00
2026-06-21 22:58:26 -07:00
2026-06-04 11:35:57 -07:00
2026-06-11 15:00:03 -07:00
2026-06-10 17:23:10 -07:00
2026-06-10 17:23:10 -07:00
2026-06-10 17:23:10 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-07-05 20:21:42 -07:00
2026-06-29 14:18:22 -07:00
2026-06-25 22:44:33 -07:00
2026-06-04 11:35:57 -07:00
2026-06-01 10:48:18 -07:00
2026-06-01 10:48:18 -07:00
2026-07-07 23:50:07 -07:00
2026-07-07 23:50:07 -07:00
2026-06-06 15:05:15 -07:00
2026-06-06 15:05:15 -07:00
2026-07-13 18:30:41 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-14 10:59:45 -07:00
2026-07-14 10:59:45 -07:00
2026-06-09 23:26:20 -07:00
2026-05-29 22:06:44 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-06-04 21:49:03 -07:00
2026-06-04 11:35:57 -07:00
2026-06-02 22:50:43 -07:00
2026-06-02 22:50:43 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-07-08 21:06:33 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-07-08 21:06:33 -07:00
2026-07-04 16:57:40 -07:00
2026-07-02 20:41:43 -07:00
2026-06-06 15:05:36 -07:00
2026-06-24 21:08:59 -07:00
2026-06-24 21:08:59 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-14 10:43:31 -07:00
2026-05-31 21:35:12 -07:00
2026-06-12 21:51:52 -07:00
2026-06-02 18:28:23 -07:00
2026-06-04 11:35:57 -07:00
2026-06-04 11:35:57 -07:00
2026-06-24 21:08:59 -07:00
2026-06-24 21:08:59 -07:00
2026-07-13 18:30:41 -07:00
2026-07-07 23:50:07 -07:00
2026-06-21 22:58:26 -07:00
2026-06-04 11:35:57 -07:00
2026-06-09 23:26:20 -07:00
2026-06-09 23:26:20 -07:00
2026-07-04 16:57:40 -07:00
2026-07-04 16:57:40 -07:00
2026-07-07 23:50:07 -07:00
2026-07-07 23:50:07 -07:00
2026-07-07 23:50:07 -07:00
2026-07-07 23:50:07 -07:00
2026-06-21 22:58:26 -07:00
2026-06-04 13:45:46 -07:00
2026-06-04 11:35:57 -07:00
2026-06-04 11:35:57 -07:00
2026-07-13 18:30:41 -07:00
2026-07-13 18:30:41 -07:00
2026-06-25 23:07:57 -07:00
2026-06-10 15:22:30 -07:00
2026-06-12 19:14:58 -07:00
2026-06-04 11:35:57 -07:00
2026-07-07 23:16:53 -07:00
2026-06-04 11:35:57 -07:00
2026-06-21 22:58:26 -07:00
2026-06-21 22:58:26 -07:00
2026-06-24 20:06:56 -07:00
2026-06-24 20:06:56 -07:00