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

-14
View File
@@ -58,18 +58,6 @@ struct Ring
float radius = 0;
};
constexpr int SPLAT_BLOBS = 6;
// A tomato's splat: blobs of colour round where it landed, fading out.
struct Splat
{
Color color;
Vec2 position;
Vec2 blobs[SPLAT_BLOBS];
float sizes[SPLAT_BLOBS];
float life = 0;
};
// A fading copy of a sprite left behind by something moving fast.
struct Afterimage
{
@@ -85,7 +73,6 @@ public:
void afterimage_spawn(Pose pose);
void flash_spawn(Vec2 position, float angle, float size, Color color);
void ring_spawn(Vec2 position, float radius, Color color);
void splat_spawn(Vec2 position, Color color);
void afterimage_draw(Game& game);
void number_spawn(Vec2 position, int value, int target, Color color);
void dps_record(int amount);
@@ -104,7 +91,6 @@ private:
std::vector<Particle> particles;
std::vector<Popup> popups;
std::vector<Ring> rings;
std::vector<Splat> splats;
float shake = 0;
int ticks = 0;
};