Wiki in costruzione. Molti concetti qui descritti provengono dall'alpha 0.2 e possono ancora cambiare. La wiki sarà finalizzata per la versione 1.0 — per ora serve ad aiutare i tester chiusi e, più avanti, i giocatori dell'accesso anticipato a orientarsi. Per le informazioni più aggiornate e affidabili, entra nel Discord — è lì che le novità vengono annunciate per prime e dove puoi chiedere direttamente.

Entra nel Discord per le ultime novità

R&D — Repair

Restoring a fitted part to its as-built performance and 100% health with Engineering Work Units, and when not to bother.

Non ancora tradotto. Questo articolo per ora è disponibile solo in inglese. Stiamo traducendo la wiki articolo per articolo — Discord resta il modo più rapido per fare una domanda nella tua lingua.
In lavorazione. La prima bozza è online, ma i contenuti possono cambiare e gli screenshot sono ancora in arrivo. Hai notato un errore? Segnalacelo su Discord.
In questa pagina

Repair restores a fitted part’s performance back to its as-built spec, and its health to 100%, by spending Engineering Work Units. It is the first tab the game opens after a race, and the tab you live in between weekend sessions. Its central rule: below half of nominal performance, a part is beyond salvage and R&D refuses to touch it.


How to open it

  • Car icon → Repair (tab 0).
  • Automatically after every race (RndScreen::new_post_race) — straight out of a GP, the first thing you want is the damage list.
  • Automatically between weekend sessions in repair-only mode, where it is the only tab and runs on a separate pool.
  • Locked during pre-season (current_phase < 6), like every WU-spending tab.

The two car panels

Side-by-side columns, one per race car, each with the driver header (helmet + flag + name), the baked car image, and a summary line: N damaged parts | Repair: X WU | Y queued.

Every one of the 11 components is listed — healthy ones included — sorted by performance loss, biggest first.

ColumnMeaning
PartIcon + name
QualityThe loot-tier chip; the row is tinted by rarity
LossPenalty scaled so 100% lines up with DESTROYED — a repairable part never shows a misleading “−100%”. A destroyed part shows a red DESTROYED badge instead of a number
ConditionHealth life-bar, red zone under 30%. A destroyed part reads 0% regardless of raw health
RepairThe action button, labelled Repair (N 🔨)
StockUnfitted spares of that component
ActionNew $K (buy) or Swap spare at the track

Health vs performance — two different damages

Performance damageStructural (health) damage
Fieldcurrent_perf below initial_perfhealth below 100
Costs lap timeYes, directlyNo, not on its own
RepairableYes — that is what the WU buyRestored as a side effect of a perf repair
AloneRow shows loss and a grey Structural tag, no button

A row with health damage but no perf deficit gets no repair button. That is deliberate: part_needs_repair only fires on initial_perf − current_perf > 0.001. Health matters because it drives the race-ready warnings and, at very low values, mechanical failure risk — but it is not a thing you can buy back on its own.


The repair WU cost formula

deficit    = initial_perf − current_perf
efficiency = 0.5 + engineering_level × 0.05        (lv1 = 0.55 … lv10 = 1.00)
arch_mult  = engine architecture WU multiplier      (V8 1.00 · V10 1.10 · V12 1.15;
                                                     1.00 for every non-engine part)
cost = ceil( deficit / efficiency × 100 × arch_mult )

Worked examples at Engineering 5 (efficiency = 0.75), on a part built at initial_perf = 1.00:

current_perfDeficitCostNote
0.980.023 WUTrivial — always queue
0.950.057 WUCheap
0.880.1216 WUStandard post-race job
0.700.3040 WUExpensive; check value-per-WU
0.550.4560 WULast repairable band
0.450 WUDESTROYED — not repairable at all

Engineering level is a direct discount: the same 0.12 deficit costs 22 WU at level 1 and 12 WU at level 10. Doubling Engineering roughly halves your repair bill and raises the pool, which is why it compounds.

The architecture multiplier only bites on engine work. A V12 costs +15% WU to repair over a V8 — real money over a season on the most damage-prone component.


Destroyed parts

destroyed  ⇔  current_perf < initial_perf × 0.5

repair_wu_cost returns 0 in this regime, and collect_repair_candidates skips it entirely so Repair All never wastes a click. The Repair button disappears; two replacement paths remain:

1. Use Spare / swap (free, costs one spare slot)

apply_queued_repair scraps the wreck and bolts on the freshest spare — the unfitted unit with the highest current_perf. No WU charged. If the spare is a different version to the wreck, you get an email so a spec change is never a silent surprise (a trait-fixed v3 quietly appearing on one car’s run plan is exactly the bug this mail exists to prevent).

At the track (weekend loadout locked) this is the only path, exposed as a blue Swap spare button — and only if a race-ready spare actually travelled. Otherwise the cell reads “No spare at track”.

2. New $K (cash)

Buys a pristine copy of the chosen default design, verbatim: improvements and traits baked in, current_perf = initial_perf, health 100.

cost = production_unit_cost(component) × 1.5      (rush production fee)

Legacy parts with no design fall back to the flat new_part_cost. The engine takes a special path: it has no design, so a fresh unit is cloned from the best engine you own — same version, same traits, same pooled vintage, unworn.

Like Production, there is no budget wall — the purchase may push the team into the red. The old behaviour (silently refusing when broke) left a dead button.

The button is hidden entirely during a locked race weekend: there are no purchases at the track.

DNS — what “destroyed” costs you

Any fitted part below the 50% line makes the car unable to start. car_dns_reason returns the first offending component, the Inventory tickbox goes red, and the Next-GP flow warns you. A separate, softer warning level (part_needs_attention) fires when performance collapsed by damage or health < 70% — the car can start, but it should not.


Quick actions

ButtonWhat it queues
Critical OnlyEvery part with perf_loss_pct ≥ 5 that still fits the pool
Best ValueCandidates sorted by value = perf_loss_pct / WU_cost descending, filled until the pool runs out
Repair AllEvery repairable part (destroyed ones are skipped — they are not repairable)
ClearEmpties the repair queue

perf_loss_pct = deficit / 0.16 × 100 — the 0.16-wide display band, which is also what drives the row colouring (red ≥ 8, amber ≥ 3).

Nothing is spent until Confirm All in the Work Order bar. Each queued repair re-checks the pool at apply time and is skipped if it no longer fits.


The weekend repair pool

Between weekend sessions the tab runs in repair_only mode on its own budget:

weekend_repair_wu = (50 + engineering_level × 10) / 5

lv1 = 12 WU · lv5 = 20 WU · lv10 = 30 WU. It is refilled when practice completes, and it is not your annual development pool — patching a qualifying shunt does not eat your Improve budget.

In this mode:

  • Only the Repair tab exists; a banner explains the 1/5 allocation and the destroyed-part rules.
  • Confirm shows Continue rather than closing the app (Enter or Escape also exit).
  • The Private Testing maintenance reserve is never charged to this pool — only the weekly Engineering pool funds the mule.
  • Purchases are off; Swap spare replaces New $K.

Reliability

There is no reliability work on this tab. fiability never degrades from race wear — it only moves through Improve → Reliability steps (12 WU each, +0.007 + eng_level × 0.001 per step, ceiling 1.20) and downward through the performance trade-off. See R&D — Improve.


Advanced

  • Value-per-WU beats “most damaged”. A 3-WU repair recovering 4 display points is worth six times a 60-WU repair recovering 25. Use Best Value as the default and only override for a part that is close to the destroyed line.
  • The queue is validated every frame. validate_queue drops rows already repaired or missing; the Improve validator will trim your improve stacks to make a late repair fit. Queue repairs first.
  • Improve does not fix wear — and no longer corrupts it. Improving a race-damaged part raises initial_perf (initial_perf.max(current_perf), raised only, never lowered), so it is merely suboptimal there. Repair first, then improve.
  • A repair sets current_perf = initial_perf exactly. If you improved the part since it was built, initial_perf already carries the gain — repair restores you to the developed level, not to the factory level.
  • Engine repairs are architecture-taxed. Over a season of heat damage, a V12 costs ~15% more Engineering WU than a V8 to keep at spec — on top of its worse fiab_mult (0.95) and wear_mult (1.06).
  • Buying new is a rush order in disguise. At 1.5× production cost, replacing a destroyed floor is $750K. A spare floor built in pre-season cost $500K and is free to fit.

Common mistakes

  • Trying to repair a DESTROYED part. It costs 0 WU precisely because R&D cannot do it. Look for the red badge and go straight to Swap spare or New.
  • Ignoring the Stock column until race day. The swap path only exists if a spare exists; during a weekend it must also have travelled.
  • Leaving a health-only row alone forever. It shows Structural and no button, but low health still drives failure risk and the amber warning at < 70%. The fix is replacement (spare or new), not repair.
  • Spending the annual pool on weekend patching. Between sessions you are on the weekend pool by design — check the banner before panicking that “the pool shrank”.
  • Confirming with a fat improve queue already loaded. The repair applies first, then improves get whatever is left; you may not get the development you thought you queued.
  • Not raising Engineering. It is the only lever that simultaneously enlarges the pool (50 + lv×10), cheapens every repair (0.5 + lv×0.05) and speeds reliability gains.

See also