Socket-Aware Combat
Attacks now carry the socket index through the network so the server uses the correct weapon per hand. Grenades, molotovs, spears, and other throwables work from either socket. Shields early-return from attack handling since blocking is separate.
Shields auto-equip to the offhand socket so the main hand stays free. Two-handed weapon pickups broadcast the clearing of other sockets to keep client and server in sync. One-handed pickups properly replace two-handed weapons instead of creating invalid dual-wield states.
Shield block visual: hold Ctrl to raise the shield forward (gold, enlarged) with direction-aware positioning. Idle shield nudges toward facing and dampens vertical offset for top-down perspective. Block state sends to the server for 70% damage reduction.