Shared tomatoes, P1 sandbox spawns, and weapons left out

- Tomato splats are kept in the match, so everyone sees everyone's
  (others' arrive in replays, which play no effects), each splatting
  with juice and a sound once.
- The sandbox's first player (solo or hosting) spawns on the arena's
  P1 mark.
- A thrown flail ball or grapple stays out when switching weapons, and
  another weapon fires while a grapple hangs on. Mines, flail balls and
  grapples go once their slot no longer holds the weapon that put them
  out (mines fizzling).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shweetandClaude Opus 5.5 committed 2026-11-08 19:02:15 -05:00
1 parent e88fed1f4c
commit e55596b276
10 files changed
+84 -79

No files matched your search

+11
View File
@@ -908,6 +908,17 @@ void Weapons::attack_move(Sim& sim, Attack& attack)
float progress = attack.time / attack.duration;
float range = attack.stats.range;
// A mine, flail ball or grapple left out goes once its slot no longer holds the weapon that put it there (which
// could no longer set it off, reel it in or let it go), a mine fizzling with a puff.
bool isLeftOut = def.kind == ATTACK_MINE || def.kind == ATTACK_FLAIL || def.kind == ATTACK_HOOK;
if (isLeftOut && !attack.isExplosion && fighter.weaponLoadout[attack.key] != attack.weapon)
{
attack.isDead = true;
if (def.kind == ATTACK_MINE)
sim.cues->attack_burst_spawn(SMOKE_BURST, attack.position, 0, attack);
return;
}
switch (def.kind)
{
case ATTACK_SWING: