You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to the containment fix in Triad-Sector#433. That PR makes a correctly-built cage actually hold the ball; this issue is the other half, making the tesla worth caging in the first place. The goal is a tesla that runs wilder than other forks but only when you feed it hard, and that stays interesting across a 9-hour round instead of a 1-1.5h one.
The regime ladder we want, keyed off PA strength:
Standby / Level 0: the ball starves and collapses.
Level 1: break-even. The ball lives but generates no motes. Idle, not dead.
Level 2: moderate output.
Level 3 (max PA): wild, and sustainable at that output. This is the "we're cooking" state.
Right now the ball has no passive drain, coils fill on a single strike, the strike target is picked without regard to charge, and coil durability is tuned for a short round. So the whole thing is flat: no reason to push the PA, no reason to add coils, no visible feedback when the engine is saturated.
Scope (each of these is a separate knob, can be split into its own PR if it gets big):
Passive energy decay. The ball bleeds energy over time so a running PA is required to sustain it. Pin the drain to the Level-1 feed rate so Level 1 is exactly break-even (alive, no motes), below it dies, Level 2+ nets positive.
Mote wildness. Mote (mini-ball) spawn scales with how much energy headroom the ball has, tuned so max PA sustains a target mote count. More motes than other forks, but only at full feed. Open number: target Level-3 mote count (working default ~20).
Charge-aware lightning routing. Coils with the biggest potential gap (most headroom) are likelier to be struck. An empty coil is 100% and top priority; a saturated coil floors out. Cleanest as a new LightningStrikeAttemptEvent hook on the strike roll, which is upstreamable on its own.
Saturated-coil arc indicator. When a coil can't accept a full strike, show the existing arcing/charged visual. The TeslaCoilVisuals.Enabled state is currently dead (nothing sets it, no RSI state) so we can repurpose it to Charged, driven off the coil's charge-changed event.
Coil durability for 9h rounds. Coils are balanced for an hour to ninety minutes; a coil should survive a full shift. Drop damageFromLightning accordingly. Edison staff stretch service intervals by buying and placing more coils, which is the intended sink.
Coil power economy.chargeFromLightning (2M) currently exceeds maxCharge (1M), so one strike tops a coil out and flattens the gradient the routing above depends on. Re-proportion so a strike is a fraction of capacity (chargeFromLightning = maxCharge / F, F around 10-20), and raise maxSupply / maxCharge so a charged coil actually pushes meaningful power into the grid.
Rare crew strikes. Players are already on the strike table at priority 1 but take zero damage (the strike applies Structural, which no-ops on Biological mobs). Add an electrocution path so a saturated engine with its rods overflowed can occasionally zap crew. Two open sub-decisions: does the crew strike chain onward or terminate, and electrocution vs a plain shock.
Explicitly cut: grounding-rod cooldown. Rods are fine as they are.
Not committing to final numbers here. The mote target and the two crew-strike sub-decisions are the open questions to settle before building.
Follow-up to the containment fix in Triad-Sector#433. That PR makes a correctly-built cage actually hold the ball; this issue is the other half, making the tesla worth caging in the first place. The goal is a tesla that runs wilder than other forks but only when you feed it hard, and that stays interesting across a 9-hour round instead of a 1-1.5h one.
The regime ladder we want, keyed off PA strength:
Right now the ball has no passive drain, coils fill on a single strike, the strike target is picked without regard to charge, and coil durability is tuned for a short round. So the whole thing is flat: no reason to push the PA, no reason to add coils, no visible feedback when the engine is saturated.
Scope (each of these is a separate knob, can be split into its own PR if it gets big):
LightningStrikeAttemptEventhook on the strike roll, which is upstreamable on its own.TeslaCoilVisuals.Enabledstate is currently dead (nothing sets it, no RSI state) so we can repurpose it toCharged, driven off the coil's charge-changed event.damageFromLightningaccordingly. Edison staff stretch service intervals by buying and placing more coils, which is the intended sink.chargeFromLightning(2M) currently exceedsmaxCharge(1M), so one strike tops a coil out and flattens the gradient the routing above depends on. Re-proportion so a strike is a fraction of capacity (chargeFromLightning = maxCharge / F, F around 10-20), and raisemaxSupply/maxChargeso a charged coil actually pushes meaningful power into the grid.Explicitly cut: grounding-rod cooldown. Rods are fine as they are.
Not committing to final numbers here. The mote target and the two crew-strike sub-decisions are the open questions to settle before building.