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>
36 lines
1.7 KiB
C#
36 lines
1.7 KiB
C#
using static CultMath.math;
|
|
using static ItemRotation;
|
|
|
|
public sealed class AiFusedDiscipline : Scenario
|
|
{
|
|
public override string Name => "AI Fused Discipline";
|
|
public override string Brief => "A Djinni; a piloted neutral Longinus carrying a Smoke Proximity and a piloted hostile Longinus whose only weapon is " +
|
|
"Smoke Refused. Verify: the hostile closes on you and never fires its refused weapon; the neutral never fires its " +
|
|
"fused one.";
|
|
public override uint Seed => 110;
|
|
public override bool Ambient => false;
|
|
|
|
public static readonly CultMath.float2 Hostile = float2(0, 700), Neutral = float2(500, 300);
|
|
|
|
public override Galaxy Generate(GalaxyStage stage) => stage.Prelude(DemoTerminus.Cast);
|
|
|
|
public override void Stage(ScenarioStage stage)
|
|
{
|
|
ScenarioFit Armed(string weapon) => stage.Fit("Longinus",
|
|
("Cockpit 2x2", int2(2, 6), None),
|
|
("Large Drive", int2(1, 0), Reversed),
|
|
("Large Drive", int2(3, 0), Reversed),
|
|
("Talaria", int2(2, 14), CounterClockwise),
|
|
("Talaria", int2(3, 14), Clockwise),
|
|
("Core Power", int2(2, 4), None),
|
|
(weapon, int2(1, 8), None),
|
|
("Iapyx", int2(2, 2), CounterClockwise),
|
|
("Iapyx", int2(3, 2), Clockwise),
|
|
("not if i see you first", int2(3, 10), None),
|
|
("Fire Control Array", int2(1, 6), Clockwise));
|
|
|
|
stage.Player(stage.Generated("Djinni"), float2(0, 0));
|
|
stage.Place(Armed("Smoke Refused"), Hostile, facing: float2(0, -1), stance: ScenarioStance.Hostile, piloted: true);
|
|
stage.Place(Armed("Smoke Proximity"), Neutral, facing: float2(-1, 0), piloted: true);
|
|
}
|
|
}
|