The catalog gains Smoke Proximity, Smoke Delayed, Smoke Refused, Smoke Refused Beam and Smoke Refused Charge (AetherDb smoke-rounds apply), none with a product. Seeds 108, 109 and 110 stage the demo's cast with the Smoke Test Hull; SmokeRoundsScenarioTests pins their conditions and that no smoke weapon is offered. Design and arenas land together so the census never sees an uncarried design. Not yet run: the verification job. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
40 lines
2 KiB
C#
40 lines
2 KiB
C#
using static CultMath.math;
|
|
using static ItemRotation;
|
|
|
|
public sealed class RefusedRounds : Scenario
|
|
{
|
|
public override string Name => "Refused Rounds";
|
|
public override string Brief => "The Smoke Test Hull with Smoke Refused, Smoke Refused Beam, Smoke Refused Charge and an Autocannon; a bare Longinus " +
|
|
"dead ahead. Each smoke weapon's blast radius is wider than its range, so it can never be fired. Verify: pull each " +
|
|
"trigger and a refused shot costs no ammo, energy, heat, sound, visibility or cooldown, the beam never starts and " +
|
|
"the charged weapon never starts charging; the Autocannon fires normally.";
|
|
public override uint Seed => 109;
|
|
public override bool Ambient => false;
|
|
|
|
// The one target, ahead of the nose: inside every forward mount's arc.
|
|
public static readonly CultMath.float2 Target = float2(0, 300);
|
|
|
|
public override Galaxy Generate(GalaxyStage stage) => stage.Prelude(DemoTerminus.Cast);
|
|
|
|
public override void Stage(ScenarioStage stage)
|
|
{
|
|
var shooter = stage.Fit("Smoke Test Hull",
|
|
("Cockpit 2x2", int2(4, 6), None),
|
|
("Large Drive", int2(3, 0), Reversed),
|
|
("Large Drive", int2(5, 0), Reversed),
|
|
("Talaria", int2(4, 14), CounterClockwise),
|
|
("Talaria", int2(5, 14), Clockwise),
|
|
("Core Power", int2(4, 4), None),
|
|
("Smoke Refused", int2(3, 8), None),
|
|
("Smoke Refused Beam", int2(6, 8), None),
|
|
("Smoke Refused Charge", int2(3, 17), None),
|
|
("Autocannon", int2(5, 17), None),
|
|
("Iapyx", int2(4, 2), CounterClockwise),
|
|
("Iapyx", int2(5, 2), Clockwise),
|
|
("not if i see you first", int2(5, 10), None),
|
|
("Fire Control Array", int2(3, 6), Clockwise));
|
|
|
|
stage.Player(shooter, float2(0, 0), facing: float2(0, 1));
|
|
stage.Place(stage.Bare("Longinus"), Target);
|
|
}
|
|
}
|