Commit graph Aetheria/Assets/Scripts/ServerShared/Scenarios/Scenarios.cs
Author SHA1 Message Date
Meta Vens
05b17ba43a Scenarios: Lock On (seed 113), a piloted hostile that closes from out of sight and locks the player
The hostile starts 4000 m ahead with no track of the player; stepped headlessly it
sees the player at tick 81 and paints a Track lock at tick 83. LockOnSituation pins
the staging, the absence of a paint at Update(0), and the lock's bearing and timing.
LockOn.cs.meta is provisional until the Unity compile on Starfire writes its own.
Builds: yes (not yet run; verification follows).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:13:59 +02:00
Meta Vens
018a62be81 Merge cut scenarios-smoke-rounds (Soul verdict cut-scenarios-smoke-rounds.s2)
Catalog taken from master (2e2d927a); the branch's catalog change is replayed by the next commit. Scenarios.cs: both lists unioned.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 21:32:51 +02:00
Meta Vens
8128bce6ba Belt scenario: an arena on seed 24, whose entrance zone carries a 615-rock belt, the player parked 100 m outside its ring
Spec cut-scenarios-belt.r1. Scenarios/Belt.cs stages the Longinus at the ring's edge nearest the origin facing along it; BeltConditions in
BeltScenarioTests.cs pins it. Built and tested through ygg-verify in the next commit's verification.
2026-10-12 03:38:06 +02:00
Meta Vens
f44dadc5cf Fused Rounds, Refused Rounds and AI Fused Discipline arenas, and the five smoke weapons they carry
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>
2026-10-12 03:36:57 +02:00
Meta Vens
b6262467f0 Merge cut-scenarios-smoke (verdict cut-scenarios-smoke.s2)
Scenarios.cs Tests list: kept WeaponFeel, Pursuit and Crossing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 23:28:05 +02:00
Meta Vens
336cf3a684 Merge cut-scenarios-crossing (verdict cut-scenarios-crossing.s3)
Scenarios.cs Tests list: kept Pursuit and Crossing both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 23:27:47 +02:00
Meta Vens
e8442328df Smoke Test Hull command, Weapon Feel and Arcs on the test hull (catalog not yet applied)
AetherDb smoke-hull [apply] adds a product-less Longinus copy with a 2x2 Energy and a 2x2 Ballistic
hardpoint past the bow and a 1x1 side mount on each flank. Weapon Feel (seed 107) stages it with
ChargeBlast SG, Autocannon and FastBlast+-; Arcs flies it with a mount on each flank and a Port and
Starboard hull. This commit does not build a passing suite: the scenarios name the hull and
GameData/Aetheria.cc does not hold it until the next commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:04:09 +02:00
Meta Vens
7ab267c314 Crossing scenario and Djinni Shakedown targets, with their staging tests
Crossing (seed 112, demo cast): the Arcs Longinus fit with plight and FastBlast+- under the Fire Control Array, a piloted
hostile Djinni crossing the bow inside 400 m, an unpiloted neutral one at 80% of plight's Range. Djinni Shakedown gains
bare Longinus targets Ahead (inside the generated Djinni's ballistic mount arc) and Abeam (outside it). CrossingConditions
and DjinniShakedownTargets read what each arena staged. Not yet verified on a full-suite run at this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:52:35 +02:00
Meta Vens
9ccc846c1a Pursuit scenario: Cargo stages consumables; a hostile on your tail, a Mine Launcher fitted, vents and overdrives in the hold
ScenarioStage.Cargo resolves one name across equippable and consumable
designs; a consumable is built from its first available product in key
order. Pursuit (seed 111, demo cast) lists last in Scenarios.Tests.
All commits build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 18:41:48 +02:00
Meta Vens
dd0253c45e Demo Terminus: a compiled scenario stages one fixed-cast prelude galaxy whose antagonist's home is the gate
DemoTerminus generates a prelude galaxy of the Pirates, Zhestokost, Lucent Media
and Aeronautics Unlimited with no quest faction, places the gate at the
antagonist's home (Galaxy.PlaceGate: boss zone and exit), and stages the player
in a Pirates hull with the cast's standing. The prelude constructor resolves
every cast name through one refusal that names the field, and places a quest
zone only when a quest faction is named. Release builds list only the demo; the
tutorial and main galaxies join the test arenas in editor and development builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 19:32:02 +02:00
Meta Vens
d0782a7d14 Every new run is a scenario: the script harness, the tutorial and main galaxies as scenarios, the New Game submenu and six test arenas
A Scenario is an abstract C# class compiled with the game: Generate picks the galaxy through GalaxyStage (Main or
Prelude, at the scenario's seed, the background noise drawn from the same seed), Stage places the run's first
entities through ScenarioStage (Fit, Bare, Generated, Preset, Player, Place, Cargo), which collects named failures
and admits nothing. RunStart generates the galaxy, the arena under Ambient and admits everything through Zone.Admit,
all or nothing. The aetheria.scenario record, ScenarioShip, ScenarioEntity, RunStart.Check and the null-scenario
branch are cut.

New Game opens a submenu: Tutorial Galaxy and Main Galaxy, then (editor and development builds) Djinni Shakedown,
Starved Reactor, Arcs, Duel, Launcher Angles and Long Haul, each with its brief. MainMenu.Launch is the one way into a
new run; ActionGameManager.PendingScenario carries the scenario to StartGame once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 20:33:55 +02:00