Summary

Raids play out in three phases: travel → loot → return. Crew moves as a group at their average Speed. Looting duration is driven by a weighted stat formula that varies by target. At 50% loot progress, an encounter may trigger (probabilistic, not guaranteed). See Raid Encounters for encounter resolution and the backup mechanic.

Raid Phases

Phase 1: Travel

Crew travels as a pack from HideoutExit to the target building.

TravelTime = NavMeshDistance(HideoutExit, Target) / (CrewAvgSpeed * SpeedScale)
CrewAvgSpeed = sum(each raccoon's Speed) / CrewSize

NavMeshDistance is the actual pathfinding distance on the city map — derived from map geometry, not a per-target constant. SpeedScale is a global tunable that maps stat-space speed into world-space movement.

All raccoons travel together as one group. One set of AI pawns moving in formation.

Phase 2: Looting

Begins the moment crew arrives at the target. Each target defines a fixed TotalWork value representing how much there is to loot.

LootProgress += CompletionSpeed * DeltaTime / TotalWork

CompletionSpeed uses the weighted stat formula below, calculated once at arrival from the full crew’s stats.

At 50% loot progress, the encounter chance is rolled (see Raid Encounters). If an encounter triggers, looting pauses for the backup window, then resumes after resolution. Looting completes at 100%.

Phase 3: Return

Crew travels back as a group at the same CrewAvgSpeed. Loot is delivered to the Loot Sorting Station when the crew arrives home at the hideout.

Completion Speed Formula

CompletionSpeed = (Speed × W_spd) + (Stealth × W_stl) + (Strength × W_str) + (Cunning × W_cun) + (Luck × W_lck)

Uses crew sum per stat. Higher score = faster looting. This formula governs looting duration only — travel speed uses the simpler CrewAvgSpeed calculation.

Per-Target Weights

Each target type defines base weights (sum to 1.0) that reflect the bottleneck of that job:

TargetSpdStlStrCunLckBottleneck
Average Home0.500.300.20In and out fast, don’t wake anyone
Rich Neighbor0.200.400.050.300.05Avoid detection, find hidden valuables
Grocery Store0.400.200.40Bulk hauling at speed, some security
Electronics Store0.200.300.400.10Know what’s valuable, commercial security
The Dump0.300.600.10Pure hauling, Cunning spots good junk
Back Alley0.300.100.300.30Street smarts + luck of the draw
Animal Control HQ0.250.300.150.250.05Boss raid — everything matters

Refresh Variance

When a target comes back online after cooldown, each weight gets jittered within a per-target variance range, then all five weights are renormalized to 1.0. Variance shifts the stat balance, not overall difficulty.

RefreshedWeight[stat] = BaseWeight[stat] + random(-Variance[stat], +Variance[stat])
// normalize all 5 to sum to 1.0
  • Tight variance (e.g., The Dump ±0.03): always a hauling job, minor shift.
  • Wide variance (e.g., Rich Neighbor ±0.10): could be a stealth op or a cunning puzzle depending on the roll.
  • Scouting reveals current weights (or hints at them) — gives pre-raid recon real tactical value beyond encounter info.

Per-target variance values are on each target’s page.

Design Intent

  • Crew composition is a real decision. Dump runs want Haulers stacked. Rich Neighbor wants Scouts + Distractors. No single “best crew.”
  • Repeat raids stay interesting. Variance means the optimal crew shifts each refresh cycle.
  • Rewards flexible rosters. Players who train diverse raccoons adapt better than one-trick crews.
  • Scouting pays off. Knowing current weights lets you pick the right crew instead of guessing.
  • Night raids are safer. Daytime raids double encounter chance — the Game Clock creates a natural rhythm without hard-gating dispatch.

Open Questions

  • Exact mapping from CompletionSpeed score → TotalWork per target (tuning pass needed)
  • Does scouting reveal exact weights or just hint at which stats matter most?
  • Should variance range be per-stat or a single ± applied uniformly across all weights?
  • What SpeedScale value maps stat-space to reasonable real-time travel durations?