Retune Iron Coast waves, enemy attacks and weapon presentation
This commit is contained in:
1 parent
00cfcc2031
commit
c4a4d821d5
145 files changed
+9242
-2951
No files matched your search
@@ -1,45 +1,17 @@
|
||||
# Iron Coast — Mission 1: Breakwater
|
||||
|
||||
Enable this package in the in-game Mods screen to select its seven installed dependencies automatically:
|
||||
`iron_coast_scout`, `iron_coast_turret`, `iron_coast_boss`, `pulse_cannon`,
|
||||
`seeker_swarm`, `ion_lance`, and `iron_coast_music`. Each package is independent and version 1.0.0.
|
||||
Choose **Iron Coast 1 — Breakwater** in the mission list. The original
|
||||
Coastal Steel FM soundtrack loops during flight.
|
||||
API 1 package, version 1.0.1. Enable it in Mods at the main menu and apply the selection. The normal dependency selection also enables `iron_coast_scout`, `iron_coast_turret`, `iron_coast_boss`, `pulse_cannon`, `seeker_swarm`, `ion_lance`, `iron_coast_music`.
|
||||
|
||||
Disable at least two harbor turrets and destroy the command ship to complete
|
||||
the raid. Scout waves arrive during the approach; two supply depots release
|
||||
repair kits. When inventory space allows, the mission grants a trial Pulse
|
||||
Cannon loan and three field repairs. The loan is returned before the completed
|
||||
flight is saved; a cannon you already own is preserved. Field repairs cost
|
||||
12,500 credits each in the shop, a premium over the original 10,000-credit
|
||||
hangar energy refill for use during combat.
|
||||
Repairs restore 25 shield when selected and used with the special button.
|
||||
Victory awards 5,000 credits in addition to ordinary destruction rewards.
|
||||
A full inventory can still start the mission; existing equipment is preserved
|
||||
and new grants are skipped when there is no free slot.
|
||||
Mission `iron_coast_mission_1:mission_01`: **Iron Coast 1 — Breakwater**. Destroy two required turrets and the Command Cruiser. Required ground objectives remain reachable; escaping optional aircraft never counts as a kill. Elapsed time alone does not finish the mission.
|
||||
|
||||
This mission uses explicit script completion. Its duration is a catalog hint;
|
||||
waiting out the timer cannot win. The boss stays in the firing corridor, and
|
||||
surviving objective turrets stay on screen and can be hit with starter forward guns. Equipment and
|
||||
mission progress remain subject to the normal mod-save compatibility checks.
|
||||
Scheduled spawn totals for Training / Rookie / Veteran / Elite are **25 / 34 / 43 / 52**. These are enabled scheduled entries, not simultaneous live-enemy counts. Groups can overlap when earlier enemies survive.
|
||||
|
||||
The generated masters, packaged SD/HD PNGs and synthesized WAVs are included
|
||||
in Git with their definitions, scripts, generator, prompts and validation
|
||||
report. Original game data and the original style-reference PNGs remain
|
||||
outside Git. The three
|
||||
`art/*-source-hd.png` inputs were generated with the built-in imagegen tool
|
||||
using the original terrain and military sprite as style/scale references.
|
||||
Run `python3 mods/iron_coast_mission_1/build_assets.py --palette
|
||||
../data/misc/PALETTE_DAT` to regenerate the exact
|
||||
packaged crops, SD palette conversion, HD footprints and synthesized WAVs.
|
||||
See `prompts.md`, `asset-report.json`, and [Iron Coast documentation](../../docs/iron-coast.md) for provenance
|
||||
and validation limits.
|
||||
Align the forward guns with required targets while moving around incoming shots. If carried, select Field Repair or coolant with Cycle and use Special: they restore 25 or 30 energy respectively and consume a real item. Shop purchases and refills still cost credits.
|
||||
|
||||
The release acceptance run completes with starter guns at step **882**
|
||||
(shield 94) and the trial Pulse Cannon at step **786** (shield 92), both with
|
||||
7,715 credits. These are deterministic headless runs on difficulty 2: initial
|
||||
shield 100, held fire, position fixed at (144,160), repairs selected on step 2
|
||||
and the special button pressed every 90 steps starting at step 61. They use
|
||||
the mission's granted/dropped repairs; they apply no direct shield refills or
|
||||
enemy damage commands. Human-play difficulty and audiovisual approval remain
|
||||
subject to normal play testing.
|
||||
## Equipment supplied by the mission
|
||||
|
||||
The mission supplies three Field Repair kits when capacity allows (25 energy per real Special use) and a temporary Pulse Cannon trial if one is not already carried. The Pulse Cannon is an automatic primary; hold Fire. The trial is removed at mission end.
|
||||
|
||||
## Validation and history
|
||||
|
||||
See the [current Iron Coast retune results and limits](../../docs/iron-coast-retune.md). Package-local acceptance reports, validation results and retained test sources describe pre-retune 1.0 behavior unless a result explicitly identifies the newer package and runner. They remain historical material, not current playthrough guarantees.
|
||||
@@ -97,7 +97,7 @@
|
||||
"missions": [
|
||||
{
|
||||
"id": "iron_coast_mission_1:mission_01",
|
||||
"name": "Iron Coast 1 \u2014 Breakwater",
|
||||
"name": "Iron Coast 1 — Breakwater",
|
||||
"duration": 2000,
|
||||
"auto_complete": false,
|
||||
"columns": 9,
|
||||
@@ -2699,106 +2699,368 @@
|
||||
],
|
||||
"spawns": [
|
||||
{
|
||||
"tick": 30,
|
||||
"tick": 32,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 68,
|
||||
"y": -24
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 65,
|
||||
"tick": 32,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 200,
|
||||
"y": -24
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 110,
|
||||
"tick": 32,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 150,
|
||||
"tick": 32,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 228,
|
||||
"y": -24
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 32,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 118,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 118,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 118,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 118,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 118,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 180,
|
||||
"enemy": "iron_coast_turret:unit",
|
||||
"x": 144,
|
||||
"y": -32
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 224,
|
||||
"enemy": "base:enemy_0_73",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 224,
|
||||
"enemy": "base:enemy_0_74",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 224,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 224,
|
||||
"enemy": "base:enemy_0_73",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 224,
|
||||
"enemy": "base:enemy_0_74",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 230,
|
||||
"enemy": "iron_coast_mission_1:depot",
|
||||
"x": 144,
|
||||
"y": -32
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 270,
|
||||
"tick": 326,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 88,
|
||||
"y": -24
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 305,
|
||||
"tick": 326,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 180,
|
||||
"y": -24
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 345,
|
||||
"tick": 326,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 326,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 326,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 350,
|
||||
"enemy": "iron_coast_turret:unit",
|
||||
"x": 144,
|
||||
"y": -32
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 438,
|
||||
"enemy": "base:enemy_0_21",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 438,
|
||||
"enemy": "base:enemy_0_22",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 438,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 438,
|
||||
"enemy": "base:enemy_0_21",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 438,
|
||||
"enemy": "base:enemy_0_22",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 440,
|
||||
"enemy": "iron_coast_turret:unit",
|
||||
"x": 48,
|
||||
"y": -32
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 450,
|
||||
"enemy": "iron_coast_mission_1:depot",
|
||||
"x": 144,
|
||||
"y": -32
|
||||
},
|
||||
{
|
||||
"tick": 490,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 72,
|
||||
"y": -24
|
||||
},
|
||||
{
|
||||
"tick": 530,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 210,
|
||||
"y": -24
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 540,
|
||||
"enemy": "iron_coast_turret:unit",
|
||||
"x": 240,
|
||||
"y": -32
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 600,
|
||||
"tick": 554,
|
||||
"enemy": "base:enemy_0_73",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 554,
|
||||
"enemy": "base:enemy_0_74",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 554,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 554,
|
||||
"enemy": "base:enemy_0_73",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 554,
|
||||
"enemy": "base:enemy_0_74",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 626,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 626,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 626,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 626,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 626,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 720,
|
||||
"enemy": "iron_coast_boss:unit",
|
||||
"x": 112,
|
||||
"y": -64
|
||||
"y": -64,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 740,
|
||||
"enemy": "base:enemy_0_21",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 740,
|
||||
"enemy": "base:enemy_0_22",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 740,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 740,
|
||||
"enemy": "base:enemy_0_21",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 740,
|
||||
"enemy": "base:enemy_0_22",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
},
|
||||
{
|
||||
"tick": 860,
|
||||
"enemy": "base:enemy_0_73",
|
||||
"x": 64,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 860,
|
||||
"enemy": "base:enemy_0_74",
|
||||
"x": 216,
|
||||
"y": -32,
|
||||
"difficulty": 0
|
||||
},
|
||||
{
|
||||
"tick": 860,
|
||||
"enemy": "iron_coast_scout:unit",
|
||||
"x": 136,
|
||||
"y": -24,
|
||||
"difficulty": 1
|
||||
},
|
||||
{
|
||||
"tick": 860,
|
||||
"enemy": "base:enemy_0_73",
|
||||
"x": 24,
|
||||
"y": -32,
|
||||
"difficulty": 2
|
||||
},
|
||||
{
|
||||
"tick": 860,
|
||||
"enemy": "base:enemy_0_74",
|
||||
"x": 264,
|
||||
"y": -32,
|
||||
"difficulty": 3
|
||||
}
|
||||
],
|
||||
"art": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
id = "iron_coast_mission_1"
|
||||
name = "Iron Coast — Mission 1: Breakwater"
|
||||
version = "1.0.0"
|
||||
version = "1.0.1"
|
||||
api_version = 1
|
||||
description = "Raid an industrial shoreline, disable two harbor turrets and destroy the Breakwater command ship. Includes SD/HD port terrain, supply depots, a trial Pulse Cannon and synthesized mission audio."
|
||||
content = "content.json"
|
||||
|
||||
Reference in new issue
Block a user