Make RustRaptor the repository root and track its playable bundle
No files matched your search
@@ -0,0 +1,70 @@
|
||||
# Iron Coast — Mission 4: Stormwall
|
||||
|
||||
Enable this individual mission in **Mods**. Its seven installed dependencies
|
||||
are selected automatically: `iron_coast_scout`, `iron_coast_turret`,
|
||||
`iron_coast_boss_4`, `pulse_cannon`, `seeker_swarm`, `ion_lance`, and
|
||||
`iron_coast_music`, all at
|
||||
compatible 1.x versions. This mission is independently playable; the optional
|
||||
Iron Coast campaign pack supplies campaign ordering.
|
||||
|
||||
Choose **Iron Coast 4 — Stormwall**. Scout flights screen four coastal
|
||||
batteries on the right-hand cliff. Destroy all four emplacements and the
|
||||
Stormwall Arsenal to finish. Turrets enter at ticks 180, 340, 620 and 820;
|
||||
the Arsenal enters at 1150. Surviving batteries stop at logical y=72 and
|
||||
the Arsenal patrols at the top of the battlefield until killed. Waiting out
|
||||
the 3000-tick duration never completes the mission.
|
||||
|
||||
Six original aircraft entries mix with fourteen Iron Coast scouts. The
|
||||
`base:enemy_0_73` and `base:enemy_0_74` pair follows curved nine-point
|
||||
routes; `base:enemy_0_23` and `base:enemy_0_24` cross the battlefield;
|
||||
`base:enemy_1_25` and `base:enemy_1_26` use a second original curved entry.
|
||||
Their catalog definitions retain original flight points, speed, firing,
|
||||
animation and rewards. This package references them directly and contains
|
||||
no copied original sprites or definitions.
|
||||
|
||||
Hold Fire, move under each battery on the right, then follow the Arsenal's
|
||||
horizontal patrol. Its battery alarms and visible pauses warn before each
|
||||
three-shell salvo. A Pulse Cannon is loaned when absent and an inventory slot
|
||||
is free. It fires alongside the primary guns without weapon selection. The
|
||||
loan is returned on success or failure; owned equipment is preserved. Full
|
||||
20-slot inventories skip the loan and start without deleting equipment.
|
||||
Storm effects are artwork and warning sounds; there is no hidden weather
|
||||
damage. The separate soundtrack mod supplies the looping **Coastal Steel**
|
||||
MUS composition through Rust FM synthesis. Victory awards 12,000 credits
|
||||
plus ordinary enemy destruction rewards.
|
||||
|
||||
The mission contains 216 SD/HD terrain pairs, matching SD/HD briefing art,
|
||||
two generated source masters and four synthesized WAV cues. Artwork, sounds,
|
||||
prompts and provenance are packaged here for Git. Original game data remains
|
||||
external. See `prompts.json`, `prompts.md` and `asset-report.json`.
|
||||
|
||||
Regenerate the deterministic packaging from the project root:
|
||||
|
||||
```sh
|
||||
python3 RustRaptor/mods/iron_coast_mission_4/build_assets.py
|
||||
```
|
||||
|
||||
After building RustRaptor in release mode, validate the real catalog, scripts
|
||||
and playthrough without changing any saves:
|
||||
|
||||
```sh
|
||||
python3 RustRaptor/mods/iron_coast_mission_4/validate.py
|
||||
```
|
||||
|
||||
Actual-input acceptance uses difficulty 2, held fire, y=160, and horizontal
|
||||
movement limited to four logical pixels per step, aiming at a visible turret
|
||||
first, then the Arsenal, then aircraft. It uses the mission loan and no
|
||||
purchased equipment, direct damage commands or shield refills. Separate
|
||||
tests check original enemies seen and moving, late reachable objectives,
|
||||
reward gating, one-time payout, full-inventory victory, loan return on failure,
|
||||
successful replay with retained script state and owned equipment.
|
||||
Final revision results are recorded in `acceptance-report.json`.
|
||||
|
||||
The revised eight-package run passes seven focused tests. A normal
|
||||
75-shield/10,000-credit pilot completes at tick **1218** with **63 shield
|
||||
and 27,805 credits**; the 100-shield/zero-credit fixture ends at the same
|
||||
step with **88 shield and 17,805 credits**. All six native aircraft types
|
||||
are observed moving in both runs. A veteran with twenty occupied inventory
|
||||
slots also completes without receiving the loan or losing equipment.
|
||||
These controlled runs establish a viable path; they do not establish
|
||||
balancing for every player, loadout or difficulty.
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"mission": "iron_coast_mission_4:mission_04",
|
||||
"api_version": 1,
|
||||
"duration": 3000,
|
||||
"reward": 12000,
|
||||
"png_files": 438,
|
||||
"wav_files": 4,
|
||||
"all_sd_hd_dimensions_checked": true,
|
||||
"non_silent_pcm16_cues_checked": true,
|
||||
"limits": "Automated deterministic input strategy; human balancing and final audiovisual approval require playtesting.",
|
||||
"validation_status": "Passed final eight-package original-data engine and Rhai acceptance",
|
||||
"required_kills": {
|
||||
"iron_coast_turret:unit": 4,
|
||||
"iron_coast_boss_4:unit": 1
|
||||
},
|
||||
"native_enemy_definitions": [
|
||||
"base:enemy_0_73",
|
||||
"base:enemy_0_74",
|
||||
"base:enemy_0_23",
|
||||
"base:enemy_0_24",
|
||||
"base:enemy_1_25",
|
||||
"base:enemy_1_26"
|
||||
],
|
||||
"music_track": "iron_coast_music:iron_coast",
|
||||
"dependencies": 7,
|
||||
"packages_required": 8,
|
||||
"tests_passed": 7,
|
||||
"tests": [
|
||||
"boss alone cannot win and completion reward paid once",
|
||||
"failed loan returned and retry resets mission state",
|
||||
"full20slot inventory unchanged and owned cannon survives failure",
|
||||
"late surviving batteries remain reachable at tick1050",
|
||||
"owned cannon and full20slot inventory complete without losing equipment",
|
||||
"starter registration and default fixture complete with six native definitions seen and moving",
|
||||
"successful replay retains script state without stale death flags"
|
||||
],
|
||||
"difficulty": 2,
|
||||
"input_strategy": {
|
||||
"fire": "held",
|
||||
"y": 160,
|
||||
"target_priority": [
|
||||
"turret",
|
||||
"Stormwall Arsenal",
|
||||
"aircraft"
|
||||
],
|
||||
"visible_target_y": [
|
||||
0,
|
||||
130
|
||||
],
|
||||
"goal_x": "enemy.x + enemy.width/2 -16",
|
||||
"max_horizontal_pixels_per_step": 4,
|
||||
"direct_enemy_damage_or_shield_refills_during_playthrough": false,
|
||||
"purchased_weapons": false
|
||||
},
|
||||
"runs": [
|
||||
{
|
||||
"initial_shield": 75,
|
||||
"initial_credits": 10000,
|
||||
"tick": 1218,
|
||||
"outcome": "Complete",
|
||||
"remaining_shield": 63,
|
||||
"final_credits": 27805,
|
||||
"native_types_seen": 6,
|
||||
"native_types_moving": 6
|
||||
},
|
||||
{
|
||||
"initial_shield": 100,
|
||||
"initial_credits": 0,
|
||||
"tick": 1218,
|
||||
"outcome": "Complete",
|
||||
"remaining_shield": 88,
|
||||
"final_credits": 17805,
|
||||
"native_types_seen": 6,
|
||||
"native_types_moving": 6
|
||||
}
|
||||
],
|
||||
"native_definition_integrity": "All six definitions retain base owner, original LegacyEnemy data/path and no Rhai script.",
|
||||
"visual_review": {
|
||||
"screenshots": [
|
||||
".reference/stormwall-sd-final.png",
|
||||
".reference/stormwall-hd-final.png"
|
||||
],
|
||||
"resolution": [
|
||||
1280,
|
||||
800
|
||||
],
|
||||
"rendered_frames": 600,
|
||||
"stage": "approach and first battery",
|
||||
"reviewed": true,
|
||||
"observations": "Continuous terrain composition, correct SD/HD artwork, clear Pulse and native enemy effects, original aircraft visible; no unexpected sprite clipping observed. Separate Stormwall Arsenal package preview also reviewed."
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.9 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 931 B |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 901 B |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 873 B |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 913 B |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 769 B |