{"v":5,"meta":{"name":"Dragonspire Gorge","loadingScreen":"/assets/artwork/aces_of_stone_loading.webp","desc":"Aces of Stone: Dragonspire Gorge","mapType":"arena","size":96,"biome":"winter","vistaSeed":1101,"settingsOverrides":{"cloudsEnabled":false,"cloudRenderingQuality":"classic"}},"terrain":"28x8,17x0,2x13,5x2,2x13,14x0,28x8|28x8,18x0,2x13,5x2,2x13,13x0,28x8|28x8,19x0,2x13,5x2,2x13,12x0,28x8|28x8,19x0,2x13,5x2,2x13,12x0,28x8|28x8,20x0,2x13,5x2,2x13,11x0,28x8|28x8,21x0,2x13,5x2,2x13,10x0,28x8|28x8,16x0,8,3x0,2x13,5x2,2x13,4x0,2x3,2x0,3,2x0,28x8|28x8,5x0,3,6x0,2x3,3x0,8,2x0,2x13,5x2,2x13,6x0,3,4x0,28x8|28x8,8x0,3,12x0,2x13,5x2,2x13,10x0,28x8|28x8,18x0,8,2x0,2x13,5x2,2x13,6x0,8,3x0,28x8|28x8,12x0,3,6x0,3,0,2x13,5x2,2x13,8,2x0,3,0,3,4x0,28x8|28x8,11x0,3,10x0,2x13,4x2,2x13,2x0,8,7x0,28x8|28x8,22x0,2x13,5x2,2x13,4x0,3,0,8,3,0,28x8|28x8,7x0,3,14x0,2x13,5x2,2x13,4x0,3,4x0,28x8|28x8,11x0,8,4x0,8,3,5x0,2x13,5x2,2x13,0,3,4x0,3,0,28x8|28x8,0,3,14x0,8,5x0,3,0,2x13,5x2,2x13,7x0,28x8|28x8,21x0,3,3x0,9x13,2x0,3,8,2x0,28x8|28x8,4x0,3,18x0,3,9x13,7x0,28x8|28x8,3x0,3,4x0,2x1,2x0,8,6x0,8,4x0,10x1,6x0,28x8|28x8,8x0,2x1,4x0,8,8x0,9x13,2x1,6x0,28x8|28x8,12x0,4x3,3x0,3,2x0,5x13,3x4,13,6x0,3,2x0,28x8|28x8,2x0,8,2x0,3,0,3,13x0,2x13,2x2,2x13,3x4,4x0,3,5x0,28x8|28x8,0,3,11x0,3,7x0,2x13,2x2,2x13,3x4,3,9x0,28x8|28x8,2x0,3,5x0,3,8,2x0,3x1,5x0,2x13,4x2,3x13,6x0,3,4x0,28x8|28x8,2x0,8,9x0,3x1,6x0,2x13,4x2,3x13,10x0,28x8|28x8,4x0,3,0,3,5x0,3x1,5x0,2x13,5x2,2x13,8,10x0,28x8|28x8,19x0,2x13,5x2,2x13,8x0,3,3x0,28x8|28x8,5x0,3,5x0,3,7x0,2x13,5x2,2x13,0,3,4x0,3,5x0,28x8|28x8,7x0,8,0,3,8x0,2x13,5x2,2x13,3x0,3,9x0,28x8|28x8,7x0,3,0,2x3,8,3x0,3,0,2x13,5x2,2x13,2x0,3x1,2x0,8,6x0,28x8|28x8,6x0,8,9x0,2x13,2x2,2x13,2,2x13,3,2x0,3x1,5x0,3,3x0,28x8|28x8,12x0,3,8,0,2x13,2x2,5x13,3x0,8,3x1,9x0,28x8|28x8,2x0,3,12x0,5x13,2x1,2x13,6x0,3,4x0,3,0,3,2x0,28x8|28x8,3x0,2x8,9x0,6x13,2x1,13,2x0,8,14x0,28x8|28x8,2x0,3,3x0,3,7x0,9x1,17x0,28x8|28x8,3x0,3,8x0,3,9x13,3x0,8,7x0,8,2x0,3,3x0,28x8|28x8,6x0,2x1,5x0,9x13,7x0,8,4x0,2x1,4x0,28x8|28x8,6x0,2x1,3,3x0,2x13,5x2,2x13,9x0,3,0,8,0,2x1,4x0,28x8|28x8,8x0,3,0,3x4,2x13,3x2,2x13,6x0,3,13x0,28x8|28x8,10x0,3x4,2x13,2x2,2x13,0,3,6x0,8,5x0,8,3,8,4x0,28x8|28x8,7x0,8,0,13,3x4,2x13,2,2x13,2x0,3,3x0,8,7x0,3,2x0,3,4x0,28x8|28x8,8x0,8,0,4x13,3x2,2x13,12x0,3,0,8,6x0,28x8|28x8,4x0,3,4x0,4x13,3x2,2x13,0,8,0,3x3,0,3,5x0,3,2x0,8,0,3,3x0,28x8|28x8,8x0,5x13,2x2,2x13,4x0,3,6x0,8,0,3,9x0,28x8|28x8,6x0,8,9x13,8x0,3,15x0,28x8|28x8,4x0,3,0,4x13,3x1,2x13,0,3,8,10x0,8,11x0,28x8|28x8,0,8,5x0,3x13,3x1,3x13,15x0,3x4,6x0,28x8|28x8,2x0,3,5x0,2x13,3x1,4x13,3x0,3,9x0,8,3x4,6x0,28x8|28x8,2x0,3,3x0,3,9x13,0,3,8,10x0,8,0,3x4,6x0,28x8|28x8,6x0,3,0,5x13,2x2,2x13,13x0,8,9x0,28x8|28x8,3x0,8,3,4x0,9x13,3,3x0,8,0,8,0,3,11x0,3,0,28x8|28x8,7x0,3,8,0,9x13,7x0,8,6x0,3,6x0,28x8|28x8,9x0,9x1,8x0,2x1,12x0,28x8|28x8,2x0,3,7x0,4x13,2x1,3x13,3x0,3,3x0,2x1,6x0,3,5x0,28x8|28x8,9x0,3,0,9x13,13x0,3,6x0,28x8|28x8,12x0,4x13,3x2,2x13,19x0,28x8|28x8,8x0,3,2x0,2x13,5x2,2x13,0,3,9x0,3,3x0,8,2x1,2x0,28x8|28x8,10x0,3,8,2x13,5x2,2x13,0,3,13x0,2x1,2x0,28x8|28x8,3x0,8,2x1,2x0,3,4x0,2x13,5x2,2x13,8,8x0,8,8x0,28x8|28x8,4x0,2x1,2x0,3,2x0,8,2x0,2x13,5x2,2x13,9x0,3,2x0,3,4x0,28x8|28x8,2x0,8,12x0,2x13,5x2,2x13,3,5x0,8,0,3,0,8,0,3,3x0,28x8|28x8,8x0,3,2x0,3,4x0,2x13,5x2,2x13,6x0,2x8,7x0,28x8|28x8,2x0,3,0,8,11x0,3,2x13,5x2,2x13,3x0,3,0,8,3,2x0,3,4x0,28x8|28x8,0,8,3x0,8,8x0,2x3,2x0,2x13,5x2,2x13,3x0,3,9x0,28x8|28x8,3x0,3,9x0,8,4x0,2x13,5x2,2x13,3x1,5x0,3,4x0,28x8|28x8,13x0,3,0,8,2x0,2x13,5x2,2x13,3x1,10x0,28x8|28x8,7x0,3x4,6x0,3,2x0,2x13,4x2,2x13,3x1,4x0,3,0,8,3x0,28x8|28x8,7x0,3x4,4x0,3,5x0,2x13,4x2,3x13,6x0,2x3,3x0,28x8|28x8,4x0,3,0,3,3x4,3,0,8,8x0,9x13,10x0,28x8|28x8,3x0,3,6x0,8,5x0,3,4x0,9x13,10x0,28x8|28x8,2x0,8,2x0,8,7x0,3,6x0,3,0,9x1,0,2x3,6x0,28x8|28x8,7x0,8,2x0,3,4x0,8,4x0,2x1,0,9x13,8x0,28x8|28x8,2x0,2x3,16x0,2x1,2x0,9x13,3,0,3,4x0,28x8|28x8,11x0,3x1,9x0,8,3,2x13,5x2,2x13,6x0,28x8|28x8,2x0,3,0,8,6x0,3x1,3x0,3,6x0,2x13,5x2,2x13,7x0,28x8|28x8,7x0,3,0,3,0,3x1,8x0,8,2x0,2x13,5x2,2x13,4x0,8,0,28x8|28x8,6x0,2x1,3x0,3,9x0,3,2x0,2x13,5x2,2x13,0,2x1,4x0,28x8|28x8,2x0,3,0,8,0,2x1,12x0,3,3x0,2x13,5x2,2x13,0,2x1,0,3,2x0,28x8|28x8,2x0,3,4x0,8,0,3,13x0,3,2x13,5x2,2x13,3,6x0,28x8|28x8,11x0,8,13x0,2x13,5x2,2x13,6x0,28x8|28x8,7x0,3,2x0,8,4x0,3,5x0,3,2x0,2x13,5x2,2x13,5x0,8,0,28x8|28x8,3x0,3,8,2x0,3,5x0,3,2x0,2x8,5x0,2x13,5x2,2x13,6x0,3,0,28x8|28x8,4x0,3,17x0,2x13,5x2,2x13,5x0,8,0,8,0,28x8|28x8,6x0,3,9x0,8,6x0,2x13,5x2,2x13,6x0,8,0,28x8|28x8,4x0,8,2x0,8,14x0,2x13,5x2,2x13,2x0,3,0,3,4x0,28x8|28x8,9x0,8,8x0,2x3,2x0,2x13,5x2,2x13,3x0,8,2x0,3,2x0,28x8|28x8,4x0,8,4x0,8,11x0,2x13,5x2,2x13,10x0,28x8|28x8,8x0,2x3,3x0,3,3x0,3,4x0,2x13,3x2,2x13,11x0,28x8|28x8,22x0,2x13,4x2,2x13,10x0,28x8|28x8,22x0,2x13,3x2,2x13,9x0,3,0,28x8|28x8,19x0,4x13,3x2,2x13,12x0,28x8|28x8,18x0,4x13,3x2,2x13,13x0,28x8|28x8,17x0,2x13,5x2,2x13,14x0,28x8|28x8,16x0,2x13,5x2,2x13,15x0,28x8|28x8,15x0,2x13,5x2,2x13,16x0,28x8|28x8,15x0,2x13,5x2,2x13,16x0,28x8","height":"20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5|20x5,2x4,2x3,2x2,2x1,40x0,2x1,2x2,2x3,2x4,20x5","buildings":[{"t":"human_tower","x":34,"y":76,"p":1},{"t":"human_tower","x":62,"y":76,"p":1},{"t":"dwarf_cannon_tower","x":48,"y":71,"p":1},{"t":"human_tower","x":32,"y":58,"p":1},{"t":"dwarf_cannon_tower","x":64,"y":56,"p":1},{"t":"human_tower","x":42,"y":52,"p":1},{"t":"human_tower","x":54,"y":52,"p":1},{"t":"dwarf_cannon_tower","x":34,"y":36,"p":1},{"t":"dwarf_cannon_tower","x":62,"y":36,"p":1},{"t":"human_tower","x":48,"y":32,"p":1},{"t":"dwarf_cannon_tower","x":36,"y":18,"p":1},{"t":"dwarf_cannon_tower","x":60,"y":18,"p":1},{"t":"dwarf_lumber_mill","x":39,"y":73,"p":1},{"t":"dwarf_blacksmith","x":55,"y":64,"p":1},{"t":"dwarf_workshop","x":38,"y":45,"p":1},{"t":"dwarf_blacksmith","x":56,"y":29,"p":1},{"t":"dwarf_lumber_mill","x":40,"y":23,"p":1}],"goldMines":[[36,67,9,1000],[60,47,9,1000],[39,39,9,1000],[56,21,9,1000]],"oilPatches":[],"spawns":[[48,88],[48,12]],"players":[{"id":0,"controller":"user","race":"dwarf"},{"id":1,"controller":"hostile","race":"goblin"}],"rules":{"noStartingUnits":true,"disableAi":true,"fog":"off","standardVictory":false},"customGame":{"id":"creator_aces_example","title":"Aces of Stone","version":1,"cloud":true,"presentation":{"logo":"/assets/ui/logos/aces_of_stone.png","factionBackdrops":{"dwarf":"/assets/ui/aces-hangar/hangar-dwarf.webp","high_elf":"/assets/ui/aces-hangar/hangar-high_elf.webp","human":"/assets/ui/aces-hangar/hangar-human.webp","dark_elf":"/assets/ui/aces-hangar/hangar-dark_elf.webp","undead":"/assets/ui/aces-hangar/hangar-undead.webp","goblin":"/assets/ui/aces-hangar/hangar-goblin.webp","wood_elf":"/assets/ui/aces-hangar/hangar-wood_elf.webp","lizardmen":"/assets/ui/aces-hangar/hangar-lizardmen.webp","ratmen":"/assets/ui/aces-hangar/hangar-ratmen.webp"}},"shooter":{"initialFighterId":"dwarf_gyrocopter","achievements":[{"id":"first_sortie","title":"First Sortie","description":"Clear your first sector.","target":1,"artPath":"/assets/ui/aces-showcase/first_sortie.webp","metric":"wins"},{"id":"untouchable","title":"Untouchable","description":"Clear a sector without taking a hit.","target":1,"artPath":"/assets/ui/aces-showcase/untouchable.webp","metric":"noHitWins"},{"id":"skyland_explorer","title":"Skyland Explorer","description":"Clear every distinct Skylands sector.","target":11,"artPath":"/assets/ui/aces-showcase/skyland_explorer.webp","metric":"skylands"},{"id":"boss_breaker","title":"Boss Breaker","description":"Win 25 sorties.","target":25,"artPath":"/assets/ui/aces-showcase/boss_breaker.webp","metric":"wins"},{"id":"nine_banners","title":"Nine Banners","description":"Win with the starter aircraft of all nine factions.","target":9,"artPath":"/assets/ui/aces-showcase/nine_banners.webp","metric":"starterRaces"},{"id":"decorated_ace","title":"Decorated Ace","description":"Earn gold on 10 unique sector, difficulty and aircraft records.","target":10,"artPath":"/assets/ui/aces-showcase/decorated_ace.webp","metric":"goldRecords"},{"id":"normal_conqueror","title":"Normal Conqueror","description":"Clear every campaign sector on Normal.","target":22,"artPath":"/assets/ui/aces-showcase/normal_conqueror.webp","metric":"normalClears"},{"id":"hard_conqueror","title":"Hard Conqueror","description":"Clear every campaign sector on Hard.","target":22,"artPath":"/assets/ui/aces-showcase/hard_conqueror.webp","metric":"hardClears"},{"id":"bullet_hell_conqueror","title":"Bullet Hell Conqueror","description":"Clear every campaign sector on Bullet Hell.","target":22,"artPath":"/assets/ui/aces-showcase/bullet_hell_conqueror.webp","metric":"danmakuClears"}],"levels":{"level_1_alpine":{"id":"level_1_alpine","name":"Dragonspire Gorge","biome":"alpine","terrainBiome":"winter","skylands":false,"seed":1101,"bossUnitTypeId":"dwarf_sky_anvil","bossName":"Iron Dreadnought \"Colossus\"","art":"/assets/ui/aces-hangar/sector-winter-ground.webp"},"level_2_volcanic":{"id":"level_2_volcanic","name":"Magma Rift","biome":"volcanic","terrainBiome":"deep_cave","skylands":false,"seed":1201,"bossUnitTypeId":"dark_elf_dragon","bossName":"Elder Pyre Dragon \"Ignis\"","art":"/assets/ui/aces-hangar/sector-deep_cave-ground.webp"},"level_3_swamp":{"id":"level_3_swamp","name":"Murkwater Marshes","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":1301,"bossUnitTypeId":"undead_bone_dragon","bossName":"Dracolich \"Malakor\"","art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"level_4_skylands":{"id":"level_4_skylands","name":"The Skylands Citadel","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":1401,"bossUnitTypeId":"high_elf_dragon","bossName":"Sky Overlord \"Aegis\"","art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"biome_forest":{"id":"biome_forest","name":"Whisperwood Reach","biome":"forest","terrainBiome":"forest","skylands":false,"seed":2000,"bossUnitTypeId":"wood_elf_dragon","bossName":"Verdant Wyrm \"Sylvara\"","art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"skylands_forest":{"id":"skylands_forest","name":"Whisperwood Reach — High Drift","biome":"forest","terrainBiome":"forest","skylands":true,"seed":3000,"bossUnitTypeId":"wood_elf_dragon","bossName":"Sky Verdant Wyrm \"Sylvara\"","art":"/assets/ui/aces-hangar/sector-forest-skylands.webp"},"skylands_winter":{"id":"skylands_winter","name":"Dragonspire Gorge — High Drift","biome":"winter","terrainBiome":"winter","skylands":true,"seed":3101,"bossUnitTypeId":"dwarf_sky_anvil","bossName":"Sky Iron Dreadnought \"Colossus\"","art":"/assets/ui/aces-hangar/sector-winter-skylands.webp"},"biome_cave":{"id":"biome_cave","name":"Hollowstone Descent","biome":"cave","terrainBiome":"cave","skylands":false,"seed":2202,"bossUnitTypeId":"dwarf_sky_anvil","bossName":"Cavebreaker \"Gorumn\"","art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"skylands_cave":{"id":"skylands_cave","name":"Hollowstone Descent — High Drift","biome":"cave","terrainBiome":"cave","skylands":true,"seed":3202,"bossUnitTypeId":"dwarf_sky_anvil","bossName":"Sky Cavebreaker \"Gorumn\"","art":"/assets/ui/aces-hangar/sector-cave-skylands.webp"},"skylands_deep_cave":{"id":"skylands_deep_cave","name":"Magma Rift — High Drift","biome":"deep_cave","terrainBiome":"deep_cave","skylands":true,"seed":3303,"bossUnitTypeId":"dark_elf_dragon","bossName":"Sky Elder Pyre Dragon \"Ignis\"","art":"/assets/ui/aces-hangar/sector-deep_cave-skylands.webp"},"skylands_swamp":{"id":"skylands_swamp","name":"Murkwater Marshes — High Drift","biome":"swamp","terrainBiome":"swamp","skylands":true,"seed":3404,"bossUnitTypeId":"undead_bone_dragon","bossName":"Sky Dracolich \"Malakor\"","art":"/assets/ui/aces-hangar/sector-swamp-skylands.webp"},"biome_wasteland":{"id":"biome_wasteland","name":"Ashen Scrapway","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":2505,"bossUnitTypeId":"goblin_wyvern_rider","bossName":"Warboss Wyvern \"Rattlejaw\"","art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"skylands_wasteland":{"id":"skylands_wasteland","name":"Ashen Scrapway — High Drift","biome":"wasteland","terrainBiome":"wasteland","skylands":true,"seed":3505,"bossUnitTypeId":"goblin_wyvern_rider","bossName":"Sky Warboss Wyvern \"Rattlejaw\"","art":"/assets/ui/aces-hangar/sector-wasteland-skylands.webp"},"biome_desert":{"id":"biome_desert","name":"Sunscar Expanse","biome":"desert","terrainBiome":"desert","skylands":false,"seed":2606,"bossUnitTypeId":"human_royal_griffin","bossName":"Suncrown \"Aurex\"","art":"/assets/ui/aces-hangar/sector-desert-ground.webp"},"skylands_desert":{"id":"skylands_desert","name":"Sunscar Expanse — High Drift","biome":"desert","terrainBiome":"desert","skylands":true,"seed":3606,"bossUnitTypeId":"human_royal_griffin","bossName":"Sky Suncrown \"Aurex\"","art":"/assets/ui/aces-hangar/sector-desert-skylands.webp"},"biome_jungle":{"id":"biome_jungle","name":"Canopy of Fangs","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":2707,"bossUnitTypeId":"wood_elf_dragon","bossName":"Jadecoil \"Mossmaw\"","art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"skylands_jungle":{"id":"skylands_jungle","name":"Canopy of Fangs — High Drift","biome":"jungle","terrainBiome":"jungle","skylands":true,"seed":3707,"bossUnitTypeId":"wood_elf_dragon","bossName":"Sky Jadecoil \"Mossmaw\"","art":"/assets/ui/aces-hangar/sector-jungle-skylands.webp"},"biome_plains":{"id":"biome_plains","name":"Thundergrass Steppe","biome":"plains","terrainBiome":"plains","skylands":false,"seed":2808,"bossUnitTypeId":"human_griffin_rider","bossName":"Storm Marshal \"Brann\"","art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"skylands_plains":{"id":"skylands_plains","name":"Thundergrass Steppe — High Drift","biome":"plains","terrainBiome":"plains","skylands":true,"seed":3808,"bossUnitTypeId":"human_griffin_rider","bossName":"Sky Storm Marshal \"Brann\"","art":"/assets/ui/aces-hangar/sector-plains-skylands.webp"},"biome_glade":{"id":"biome_glade","name":"Moonpetal Glade","biome":"glade","terrainBiome":"glade","skylands":false,"seed":2909,"bossUnitTypeId":"high_elf_dragon","bossName":"Starwing \"Aegis\"","art":"/assets/ui/aces-hangar/sector-glade-ground.webp"},"biome_gloom":{"id":"biome_gloom","name":"Gloamglass Chasm","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":3010,"bossUnitTypeId":"dark_elf_dragon","bossName":"Night Tyrant \"Veyl\"","art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"skylands_gloom":{"id":"skylands_gloom","name":"Gloamglass Chasm — High Drift","biome":"gloom","terrainBiome":"gloom","skylands":true,"seed":4010,"bossUnitTypeId":"dark_elf_dragon","bossName":"Sky Night Tyrant \"Veyl\"","art":"/assets/ui/aces-hangar/sector-gloom-skylands.webp"}},"order":["level_1_alpine","biome_forest","biome_plains","level_3_swamp","biome_cave","biome_wasteland","biome_jungle","biome_glade","biome_gloom","biome_desert","level_2_volcanic","skylands_winter","skylands_forest","skylands_plains","skylands_swamp","skylands_cave","skylands_wasteland","skylands_jungle","level_4_skylands","skylands_gloom","skylands_desert","skylands_deep_cave"],"starterHomeLevels":{"dwarf":"level_1_alpine","high_elf":"biome_glade","human":"biome_plains","dark_elf":"biome_gloom","undead":"biome_wasteland","goblin":"level_3_swamp","wood_elf":"biome_forest","lizardmen":"biome_jungle","ratmen":"biome_cave"},"adventure":{"missions":[{"missionNumber":1,"id":"mission_1","actIndex":0,"name":"First Flight","description":"Clear a short human patrol and get acquainted with whirlwing controls.","objectiveText":"Clear 6 human patrol scouts.","primaryObjective":{"category":"patrol","targetCount":6,"targetTypeId":"human_griffin_rider","description":"Clear 6 human patrol scouts."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"workshop_unlock","name":"Workshop Access","description":"Workshop unlocked with 100 Salvage starter bounty.","salvageAmount":100},"faction":"human"},{"missionNumber":2,"id":"mission_2","actIndex":0,"name":"Watchfire","description":"Destroy the front-line watchtowers guarding the border river.","objectiveText":"Destroy 2 watchtowers.","primaryObjective":{"category":"towers","targetCount":2,"targetTypeId":"human_tower","description":"Destroy 2 watchtowers."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_2","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":3,"id":"mission_3","actIndex":0,"name":"Supply Lines","description":"Cut military supply lines by destroying fortified storehouse farms.","objectiveText":"Destroy 3 military supply farms.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"human_farm","description":"Destroy 3 military supply farms."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"module","id":"persistent_shield","name":"Persistent Shield Module","description":"Module: Persistent starting shield active upon sortie launch.","salvageAmount":100},"faction":"human"},{"missionNumber":4,"id":"mission_4","actIndex":0,"name":"River Crossing","description":"Destroy bridge defense batteries and punch through to the extraction zone.","objectiveText":"Destroy 4 bridge towers and reach extraction.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"human_tower","description":"Destroy 4 bridge towers and reach extraction."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_4","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":5,"id":"mission_5","actIndex":0,"name":"Foundry Smoke","description":"Destroy production workshops to halt enemy reinforcement waves.","objectiveText":"Destroy 2 production workshops.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"human_workshop","description":"Destroy 2 production workshops."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_5","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":6,"id":"mission_6","actIndex":0,"name":"Royal Interceptor","description":"A swift human sky galleon intercepts your flight path. Dodge bursts and retaliate during cooldowns.","objectiveText":"Shoot down the Royal Interceptor.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"human_sky_galleon","description":"Shoot down the Royal Interceptor."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"module","id":"spread_cannon","name":"Spread Cannon & Slot 1","description":"Unlocks first equipment slot and Spread Cannon module.","salvageAmount":100},"faction":"human"},{"missionNumber":7,"id":"mission_7","actIndex":0,"name":"Broken Harvest","description":"Destroy fortified supply silos stationed across two fortified pockets.","objectiveText":"Destroy 4 supply farms.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"human_farm","description":"Destroy 4 supply farms."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_7","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":8,"id":"mission_8","actIndex":0,"name":"Signal Hill","description":"Destroy signal towers transmitting flight telemetry to Crownwall Bastion.","objectiveText":"Destroy 3 signal towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"human_signal_tower","description":"Destroy 3 signal towers."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_8","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":9,"id":"mission_9","actIndex":0,"name":"The Armoury","description":"Raze the weapons research facility to disable upgraded munitions.","objectiveText":"Destroy the human weapons research armoury.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"human_blacksmith","description":"Destroy the human weapons research armoury."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_9","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":10,"id":"mission_10","actIndex":0,"name":"Siege Road","description":"Intercept heavy siege supply carriages advancing along the royal highway.","objectiveText":"Intercept 3 war convoy carriages.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"human_trade_cart","description":"Intercept 3 war convoy carriages."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_10","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":11,"id":"mission_11","actIndex":0,"name":"Outer Wall","description":"Neutralize the perimeter cannon towers guarding Crownwall Bastion.","objectiveText":"Destroy 4 bastion cannon towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"human_cannon_tower","description":"Destroy 4 bastion cannon towers."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_11","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},{"missionNumber":12,"id":"mission_12","actIndex":0,"name":"Crownwall Bastion","description":"The Crownlands finale. Disable batteries, breach outer shields, and destroy the command hall.","objectiveText":"Destroy Crownwall Bastion command hall.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"human_fortress","description":"Destroy Crownwall Bastion command hall."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_1_crest","name":"Crownlands Crest & Reinforced Hull","description":"Act I Crest, Reinforced Hull module, and 300 Salvage.","salvageAmount":300},"faction":"human"},{"missionNumber":13,"id":"mission_13","actIndex":1,"name":"Scrap Frontier","description":"Fly into the wasteland badlands and eliminate goblin rocket spires.","objectiveText":"Destroy 4 goblin rocket towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"goblin_tower","description":"Destroy 4 goblin rocket towers."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"module","id":"capacitor_booster","name":"Shield Capacitor Module","description":"Module: Shield Capacitor reduces shield recharge delay.","salvageAmount":100},"faction":"goblin"},{"missionNumber":14,"id":"mission_14","actIndex":1,"name":"Powder Stores","description":"Trigger controlled detonations inside volatile goblin ammunition depots.","objectiveText":"Destroy 3 powder ammunition depots.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"goblin_pig_farm","description":"Destroy 3 powder ammunition depots."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_14","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":15,"id":"mission_15","actIndex":1,"name":"Rust Canyon","description":"Survive an ambush corridor along the narrow canyon walls.","objectiveText":"Eliminate 12 ambushers and extract.","primaryObjective":{"category":"patrol","targetCount":12,"targetTypeId":"goblin_wyvern_rider","description":"Eliminate 12 ambushers and extract."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_15","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":16,"id":"mission_16","actIndex":1,"name":"Smoke Works","description":"Demolish scrap workshops to cut off goblin bomber production.","objectiveText":"Destroy 2 goblin workshops.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"goblin_workshop","description":"Destroy 2 goblin workshops."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_16","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":17,"id":"mission_17","actIndex":1,"name":"Rocket School","description":"Demolish the tinker lab to suppress guided rocket salvos.","objectiveText":"Destroy the tinker rocket research lab.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"goblin_tinker_hut","description":"Destroy the tinker rocket research lab."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_17","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":18,"id":"mission_18","actIndex":1,"name":"Rattlewing","description":"Rattlewing, the goblin sky ace, attacks with bomb salvos and erratic strafes.","objectiveText":"Shoot down Rattlewing.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"goblin_sky_shredder","description":"Shoot down Rattlewing."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_18","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":19,"id":"mission_19","actIndex":1,"name":"Scavenger Road","description":"Intercept runaway salvage haulers before they reach the reinforced gate.","objectiveText":"Intercept 3 scavenger supply carts.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"goblin_transport_cart","description":"Intercept 3 scavenger supply carts."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_19","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":20,"id":"mission_20","actIndex":1,"name":"Blast Orchard","description":"Target military supply yards surrounded by unstable explosive scrap piles.","objectiveText":"Destroy 5 military supply sites.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"goblin_pig_farm","description":"Destroy 5 military supply sites."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_20","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":21,"id":"mission_21","actIndex":1,"name":"Scrap Locks","description":"Destroy two shield generators defending the scrap lock mechanism.","objectiveText":"Destroy 2 shield generator towers.","primaryObjective":{"category":"towers","targetCount":2,"targetTypeId":"goblin_boom_tower","description":"Destroy 2 shield generator towers."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_21","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":22,"id":"mission_22","actIndex":1,"name":"Twin Batteries","description":"Assault two coordinated artillery towers with staggered firing intervals.","objectiveText":"Destroy twin artillery batteries.","primaryObjective":{"category":"towers","targetCount":2,"targetTypeId":"goblin_boom_tower","description":"Destroy twin artillery batteries."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_22","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":23,"id":"mission_23","actIndex":1,"name":"War Foundry","description":"Raze the main goblin war foundry before assaulting the battery.","objectiveText":"Destroy 2 war foundry workshops.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"goblin_workshop","description":"Destroy 2 war foundry workshops."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_23","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},{"missionNumber":24,"id":"mission_24","actIndex":1,"name":"Scrapjaw Battery","description":"Act II finale. Target rocket racks and pressure vents to expose the furnace core.","objectiveText":"Dismantle and destroy Scrapjaw Battery.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"goblin_fortress","description":"Dismantle and destroy Scrapjaw Battery."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_2_crest","name":"Scrap Frontier Crest & Shrapnel Bomb","description":"Act II Crest, Shrapnel Bomb module, and 300 Salvage.","salvageAmount":300},"faction":"goblin"},{"missionNumber":25,"id":"mission_25","actIndex":2,"name":"Green Border","description":"Navigate a winding river canyon while engaging wood elf sentries.","objectiveText":"Clear 10 wood-elf river sentries.","primaryObjective":{"category":"patrol","targetCount":10,"targetTypeId":"wood_elf_dragon","description":"Clear 10 wood-elf river sentries."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_25","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":26,"id":"mission_26","actIndex":2,"name":"Thorn Watch","description":"Evade fan-pattern thorn volleys and destroy 3 elevated watchtowers.","objectiveText":"Destroy 3 canopy thorn watchtowers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"wood_elf_tower","description":"Destroy 3 canopy thorn watchtowers."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_26","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":27,"id":"mission_27","actIndex":2,"name":"Root Supply","description":"Locate and burn 4 military supply groves hidden in root cavities.","objectiveText":"Destroy 4 military supply groves.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"wood_elf_grove","description":"Destroy 4 military supply groves."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_27","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":28,"id":"mission_28","actIndex":2,"name":"Hidden Arrows","description":"Fly through a revealed canopy ambush pocket and extract safely.","objectiveText":"Defeat 14 canopy ambushers.","primaryObjective":{"category":"patrol","targetCount":14,"targetTypeId":"wood_elf_eagle","description":"Defeat 14 canopy ambushers."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_28","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":29,"id":"mission_29","actIndex":2,"name":"Living Arsenal","description":"Destroy 2 living barracks groves training airborne drake riders.","objectiveText":"Destroy 2 production groves.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"wood_elf_barracks","description":"Destroy 2 production groves."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_29","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":30,"id":"mission_30","actIndex":2,"name":"Wyrm of the Weald","description":"A majestic forest drake unleashes sweeping breath lanes. Evade and counter.","objectiveText":"Defeat Wyrm of the Weald.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"wood_elf_dragon","description":"Defeat Wyrm of the Weald."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"slot","id":"slot_2","name":"Module Slot 2","description":"Unlocks second module equipment slot.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":31,"id":"mission_31","actIndex":2,"name":"Sap Laboratories","description":"Destroy the ancient research tree providing regenerative bark to defenders.","objectiveText":"Destroy the sap regeneration research tree.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"wood_elf_ancient_tree","description":"Destroy the sap regeneration research tree."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_31","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":32,"id":"mission_32","actIndex":2,"name":"Canopy Bridges","description":"Destroy suspension bridge guard towers across three open clearing pockets.","objectiveText":"Destroy 3 canopy bridge towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"wood_elf_arrow_tower","description":"Destroy 3 canopy bridge towers."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_32","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":33,"id":"mission_33","actIndex":2,"name":"The Root Lock","description":"Shatter 3 protective root anchors before penetrating the central sanctuary.","objectiveText":"Destroy 3 defensive root anchors.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"wood_elf_cannon_tower","description":"Destroy 3 defensive root anchors."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_33","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":34,"id":"mission_34","actIndex":2,"name":"Green Convoy","description":"Intercept enchanted timber carriers navigating winding tree tunnels.","objectiveText":"Intercept 3 timber transport carriers.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"wood_elf_pack_deer","description":"Intercept 3 timber transport carriers."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_34","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":35,"id":"mission_35","actIndex":2,"name":"Thorns and Steel","description":"Engage heavy perimeter spires with alternating safe-lane wave rhythms.","objectiveText":"Destroy 4 perimeter thorn spires.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"wood_elf_cannon_tower","description":"Destroy 4 perimeter thorn spires."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_35","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":36,"id":"mission_36","actIndex":2,"name":"Heartwood Approach","description":"Disable outer batteries to learn the root tether severing mechanics.","objectiveText":"Destroy 4 outer tether batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"wood_elf_tower","description":"Destroy 4 outer tether batteries."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_36","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},{"missionNumber":37,"id":"mission_37","actIndex":2,"name":"Heartwood Citadel","description":"Act III finale. Sever three root tethers, expose the living heart, and dodge breath sweeps.","objectiveText":"Destroy the Heartwood Citadel.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"wood_elf_fortress","description":"Destroy the Heartwood Citadel."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_3_crest","name":"Verdant Reach Crest & Piercing Cannon","description":"Act III Crest, Piercing Precision Cannon module, and 300 Salvage.","salvageAmount":300},"faction":"wood_elf"},{"missionNumber":38,"id":"mission_38","actIndex":3,"name":"Down the Rift","description":"Descend into the subterranean caverns and sweep ratmen scout patrols.","objectiveText":"Clear 12 cavern patrol fliers.","primaryObjective":{"category":"patrol","targetCount":12,"targetTypeId":"ratmen_doom_flyer","description":"Clear 12 cavern patrol fliers."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_38","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":39,"id":"mission_39","actIndex":3,"name":"Sentry Burrows","description":"Destroy 4 gun emplacements embedded in cave stalagmites.","objectiveText":"Destroy 4 tunnel gun emplacements.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"ratmen_tower","description":"Destroy 4 tunnel gun emplacements."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_39","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":40,"id":"mission_40","actIndex":3,"name":"The Breeding Works","description":"Raze underground breeding chambers to cap reinforcement surges.","objectiveText":"Destroy 2 breeding chambers.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"ratmen_barracks","description":"Destroy 2 breeding chambers."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_40","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":41,"id":"mission_41","actIndex":3,"name":"Blackpowder Run","description":"Detonate stockpiled blackpowder barrels in staged chain reactions.","objectiveText":"Destroy 3 ammunition stores.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"ratmen_farm","description":"Destroy 3 ammunition stores."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_41","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":42,"id":"mission_42","actIndex":3,"name":"Drill Track","description":"Intercept heavy drill wagons before they breach a sealed blast door.","objectiveText":"Destroy 3 heavy drill transports.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"ratmen_trade_cart","description":"Destroy 3 heavy drill transports."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_42","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":43,"id":"mission_43","actIndex":3,"name":"Tunnel Tyrant","description":"A charging subterranean drill rig threatens to crush your aircraft.","objectiveText":"Destroy Tunnel Tyrant.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"ratmen_gutter_glider","description":"Destroy Tunnel Tyrant."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_43","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":44,"id":"mission_44","actIndex":3,"name":"Sicklight Lab","description":"Destroy the warp chemical laboratory to stop corrosive projectile contamination.","objectiveText":"Destroy the warp chemical laboratory.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"ratmen_blacksmith","description":"Destroy the warp chemical laboratory."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_44","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":45,"id":"mission_45","actIndex":3,"name":"Buried Granaries","description":"Burn 5 underground food and warp-grain depots across two cavern halls.","objectiveText":"Destroy 5 buried supply granaries.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"ratmen_farm","description":"Destroy 5 buried supply granaries."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_45","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":46,"id":"mission_46","actIndex":3,"name":"Pressure Doors","description":"Destroy 3 steam release valve stations while avoiding scalding vent hazards.","objectiveText":"Destroy 3 steam valve stations.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"ratmen_tower","description":"Destroy 3 steam valve stations."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_46","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":47,"id":"mission_47","actIndex":3,"name":"Ratline","description":"Clear linked guard posts and eliminate fleeing rat commanders.","objectiveText":"Clear 15 ratmen tunnel sentries.","primaryObjective":{"category":"patrol","targetCount":15,"targetTypeId":"ratmen_doom_flyer","description":"Clear 15 ratmen tunnel sentries."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_47","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":48,"id":"mission_48","actIndex":3,"name":"Assembly Vault","description":"Destroy production workshops housing stolen dwarven aircraft components.","objectiveText":"Destroy 2 aircraft assembly vaults.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"ratmen_workshop","description":"Destroy 2 aircraft assembly vaults."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_48","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":49,"id":"mission_49","actIndex":3,"name":"Engine Teeth","description":"Destroy perimeter turbine generators powering The Burrow Engine.","objectiveText":"Destroy 4 turbine generator batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"ratmen_cannon_tower","description":"Destroy 4 turbine generator batteries."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_49","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},{"missionNumber":50,"id":"mission_50","actIndex":3,"name":"The Burrow Engine","description":"Act IV finale. Dismantle the colossal drilling machine and recover the prototype Thunderhawk.","objectiveText":"Destroy The Burrow Engine.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"ratmen_fortress","description":"Destroy The Burrow Engine."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"aircraft","id":"dwarf_thunderhawk","name":"Dwarven Thunderhawk & Act IV Crest","description":"Unlocks Dwarven Thunderhawk advanced aircraft, Act IV Crest, and 300 Salvage.","salvageAmount":300},"faction":"ratmen"},{"missionNumber":51,"id":"mission_51","actIndex":4,"name":"Thunderhawk Trial","description":"Take your newly unlocked Thunderhawk into combat against Kethraki scouts.","objectiveText":"Defeat 12 aerial scouts.","primaryObjective":{"category":"patrol","targetCount":12,"targetTypeId":"lizardmen_coatl","description":"Defeat 12 aerial scouts."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_51","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":52,"id":"mission_52","actIndex":4,"name":"Sun Watch","description":"Destroy 4 sunstone towers channeling concentrated solar laser beams.","objectiveText":"Destroy 4 solar beam watchtowers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"lizardmen_tower","description":"Destroy 4 solar beam watchtowers."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_52","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":53,"id":"mission_53","actIndex":4,"name":"River Stores","description":"Burn 4 military supply storehouses positioned along a wide jungle river.","objectiveText":"Destroy 4 jungle river supply depots.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"lizardmen_farm","description":"Destroy 4 jungle river supply depots."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_53","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":54,"id":"mission_54","actIndex":4,"name":"Hatchery Raid","description":"Destroy 2 sky-beast breeding pyramids to halt coatl reinforcements.","objectiveText":"Destroy 2 sky-beast hatcheries.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"lizardmen_barracks","description":"Destroy 2 sky-beast hatcheries."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_54","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":55,"id":"mission_55","actIndex":4,"name":"Golden Studies","description":"Raze the solar observatory before astrologers empower the temple garrison.","objectiveText":"Destroy golden solar research sanctuary.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"lizardmen_blacksmith","description":"Destroy golden solar research sanctuary."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_55","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":56,"id":"mission_56","actIndex":4,"name":"Skyfang Guardian","description":"A giant pterosaur dives with solar fan-bursts. Punish its recovery windows.","objectiveText":"Bring down Skyfang Guardian.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"lizardmen_sky_leviathan","description":"Bring down Skyfang Guardian."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_56","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":57,"id":"mission_57","actIndex":4,"name":"Flooded Causeway","description":"Clear fortified checkpoint waves while navigating flooded lagoon open areas.","objectiveText":"Clear 16 causeway defenders.","primaryObjective":{"category":"patrol","targetCount":16,"targetTypeId":"lizardmen_coatl","description":"Clear 16 causeway defenders."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_57","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":58,"id":"mission_58","actIndex":4,"name":"Sun Mirrors","description":"Destroy 3 solar mirror relays directing thermal beams into the valley.","objectiveText":"Destroy 3 solar mirror relay towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"lizardmen_solar_beacon","description":"Destroy 3 solar mirror relay towers."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_58","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":59,"id":"mission_59","actIndex":4,"name":"Temple Train","description":"Intercept relic transports beneath crossfire from perimeter towers.","objectiveText":"Intercept 3 temple supply transports.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"lizardmen_trade_cart","description":"Intercept 3 temple supply transports."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_59","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":60,"id":"mission_60","actIndex":4,"name":"The Outer Steps","description":"Destroy 2 shield relays and the grand staging temple at the base of the ziggurat.","objectiveText":"Destroy 2 shield relays and staging outpost.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"lizardmen_tower","description":"Destroy 2 shield relays and staging outpost."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_60","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":61,"id":"mission_61","actIndex":4,"name":"Solar Ascent","description":"Ascend the temple terraces and neutralize rotating beam turrets.","objectiveText":"Destroy 4 rotating solar batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"lizardmen_cannon_tower","description":"Destroy 4 rotating solar batteries."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_61","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},{"missionNumber":62,"id":"mission_62","actIndex":4,"name":"Sunscale Ziggurat","description":"Act V finale. Destroy 3 focusing lenses and shatter the temple core.","objectiveText":"Shatter sun lenses and destroy Sunscale Ziggurat.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"lizardmen_fortress","description":"Shatter sun lenses and destroy Sunscale Ziggurat."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_5_crest","name":"Sunscale Crest & Capacitor Overload","description":"Act V Crest, Capacitor Overload module, and 300 Salvage.","salvageAmount":300},"faction":"lizardmen"},{"missionNumber":63,"id":"mission_63","actIndex":5,"name":"Deadwater","description":"Fly over murky fenlands and purge undead spectral scouts.","objectiveText":"Clear 14 spectral patrol wraiths.","primaryObjective":{"category":"patrol","targetCount":14,"targetTypeId":"undead_wraith","description":"Clear 14 spectral patrol wraiths."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_63","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":64,"id":"mission_64","actIndex":5,"name":"Bell Towers","description":"Silence 3 necromantic bell towers that reanimate fallen defenders.","objectiveText":"Silence 3 necromantic bell towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"undead_tower","description":"Silence 3 necromantic bell towers."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_64","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":65,"id":"mission_65","actIndex":5,"name":"Blighted Supply","description":"Destroy 4 blighted bone storehouses stationed on isolated marsh mounds.","objectiveText":"Destroy 4 blighted bone storehouses.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"undead_farm","description":"Destroy 4 blighted bone storehouses."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_65","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":66,"id":"mission_66","actIndex":5,"name":"Bone Works","description":"Demolish 2 reanimation crypts continuously raising skeleton flyers.","objectiveText":"Destroy 2 reanimation crypts.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"undead_barracks","description":"Destroy 2 reanimation crypts."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_66","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":67,"id":"mission_67","actIndex":5,"name":"Cold Procession","description":"Intercept heavily guarded hearse carriages bearing necrotic fuel.","objectiveText":"Intercept 3 hearse supply carriages.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"undead_trade_cart","description":"Intercept 3 hearse supply carriages."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_67","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":68,"id":"mission_68","actIndex":5,"name":"The Pale Wing","description":"An ancient skeletal dragon sweeps the sky with frost breath lanes.","objectiveText":"Slay The Pale Wing bone dragon.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"undead_bone_dragon","description":"Slay The Pale Wing bone dragon."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_68","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":69,"id":"mission_69","actIndex":5,"name":"Grave Research","description":"Destroy the grave laboratory to prevent necrotic projectile splitting.","objectiveText":"Destroy the grave magic laboratory.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"undead_blacksmith","description":"Destroy the grave magic laboratory."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_69","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":70,"id":"mission_70","actIndex":5,"name":"Frozen Channels","description":"Navigate freezing winds and clear 18 frost guards along the frozen highway.","objectiveText":"Clear 18 frost road defenders.","primaryObjective":{"category":"patrol","targetCount":18,"targetTypeId":"undead_wraith","description":"Clear 18 frost road defenders."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_70","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":71,"id":"mission_71","actIndex":5,"name":"Three Reliquaries","description":"Destroy 3 cursed reliquary spires anchoring resurrection magic.","objectiveText":"Destroy 3 cursed reliquary spires.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"undead_tower","description":"Destroy 3 cursed reliquary spires."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_71","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":72,"id":"mission_72","actIndex":5,"name":"Last Lantern","description":"Escort an allied signal beacon through hostile wraith waves.","objectiveText":"Protect the beacon and defeat 15 wraiths.","primaryObjective":{"category":"patrol","targetCount":15,"targetTypeId":"undead_wraith","description":"Protect the beacon and defeat 15 wraiths."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_72","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":73,"id":"mission_73","actIndex":5,"name":"Hollow Village","description":"Raze 5 corrupted grain storehouses in an abandoned haunted settlement.","objectiveText":"Destroy 5 haunted storage sites.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"undead_farm","description":"Destroy 5 haunted storage sites."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_73","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":74,"id":"mission_74","actIndex":5,"name":"The Bell Road","description":"Destroy 4 heavy bell spires to silence the warning toll before the sepulchre.","objectiveText":"Destroy 4 tolling bell towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"undead_cannon_tower","description":"Destroy 4 tolling bell towers."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_74","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},{"missionNumber":75,"id":"mission_75","actIndex":5,"name":"Sepulchre of Bells","description":"Act VI finale. Silence 3 resurrection bells, sever soul links, and destroy the Sepulchre.","objectiveText":"Silence bells and destroy Sepulchre of Bells.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"undead_fortress","description":"Silence bells and destroy Sepulchre of Bells."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_6_crest","name":"Pale March Crest & Emergency Patch","description":"Act VI Crest, Emergency Hull Patch module, and 300 Salvage.","salvageAmount":300},"faction":"undead"},{"missionNumber":76,"id":"mission_76","actIndex":6,"name":"Above the Clouds","description":"Ascend into the floating crystal Skylands and engage high elf interceptors.","objectiveText":"Clear 15 high-elf sky sentinels.","primaryObjective":{"category":"patrol","targetCount":15,"targetTypeId":"high_elf_eagle","description":"Clear 15 high-elf sky sentinels."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_76","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":77,"id":"mission_77","actIndex":6,"name":"Crystal Watch","description":"Destroy 4 crystal towers projecting sweeping light prisms.","objectiveText":"Destroy 4 sweeping crystal watchtowers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"high_elf_tower","description":"Destroy 4 sweeping crystal watchtowers."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_77","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":78,"id":"mission_78","actIndex":6,"name":"Aether Supplies","description":"Destroy 3 floating aether energy caches suspended over the void.","objectiveText":"Destroy 3 floating aether caches.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"high_elf_farm","description":"Destroy 3 floating aether caches."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_78","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":79,"id":"mission_79","actIndex":6,"name":"Wing Foundries","description":"Demolish 2 aerial shipwright yards producing crystal interceptors.","objectiveText":"Destroy 2 sky-skiff foundries.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"high_elf_barracks","description":"Destroy 2 sky-skiff foundries."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_79","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":80,"id":"mission_80","actIndex":6,"name":"Prism Research","description":"Destroy the prismatic refraction laboratory to stop shot reflections.","objectiveText":"Destroy prismatic refraction laboratory.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"high_elf_blacksmith","description":"Destroy prismatic refraction laboratory."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_80","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":81,"id":"mission_81","actIndex":6,"name":"Astral Sentinel","description":"A prismatic crystal dragon flanked by rotating shielding pylons.","objectiveText":"Destroy Astral Sentinel.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"high_elf_dragon","description":"Destroy Astral Sentinel."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_81","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":82,"id":"mission_82","actIndex":6,"name":"Skybridge","description":"Fight across a chain of floating island checkpoints and clear 20 defenders.","objectiveText":"Clear 20 checkpoint defenders across the skybridge.","primaryObjective":{"category":"patrol","targetCount":20,"targetTypeId":"high_elf_eagle","description":"Clear 20 checkpoint defenders across the skybridge."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_82","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":83,"id":"mission_83","actIndex":6,"name":"Mirror Relay","description":"Destroy 3 mirror relay spires to open a safe approach through beam cycles.","objectiveText":"Disable 3 beam relay towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"high_elf_crystal_spire","description":"Disable 3 beam relay towers."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_83","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":84,"id":"mission_84","actIndex":6,"name":"High Convoy","description":"Intercept a royal crystal flotilla escorted by veteran sky eagles.","objectiveText":"Intercept 3 high-elf sky transports.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"high_elf_trade_cart","description":"Intercept 3 high-elf sky transports."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_84","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":85,"id":"mission_85","actIndex":6,"name":"Twin Spires","description":"Destroy two linked shield spires protecting the grand crystal palace.","objectiveText":"Destroy twin spires and command outpost.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"high_elf_cannon_tower","description":"Destroy twin spires and command outpost."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_85","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":86,"id":"mission_86","actIndex":6,"name":"Crown Approach","description":"Disable 4 peripheral focusing lenses guarding the Prism Crown.","objectiveText":"Destroy 4 peripheral prism lenses.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"high_elf_tower","description":"Destroy 4 peripheral prism lenses."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_86","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},{"missionNumber":87,"id":"mission_87","actIndex":6,"name":"The Prism Crown","description":"Act VII finale. Destroy orbiting crystal emitters, dodge solar prisms, and shatter the citadel core.","objectiveText":"Destroy crystal emitters and the Prism Crown.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"high_elf_fortress","description":"Destroy crystal emitters and the Prism Crown."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"slot","id":"slot_3","name":"Astral Crest & Module Slot 3","description":"Act VII Crest, third module equipment slot, and 300 Salvage.","salvageAmount":300},"faction":"high_elf"},{"missionNumber":88,"id":"mission_88","actIndex":7,"name":"Gloomfall","description":"Descend into volcanic gloom fissures and eliminate dark elf patrol drakes.","objectiveText":"Clear 16 shadow drake patrols.","primaryObjective":{"category":"patrol","targetCount":16,"targetTypeId":"dark_elf_dragon","description":"Clear 16 shadow drake patrols."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_88","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":89,"id":"mission_89","actIndex":7,"name":"Ember Towers","description":"Destroy 4 shadow flame towers firing alternating incinerating lanes.","objectiveText":"Destroy 4 shadow flame towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"dark_elf_tower","description":"Destroy 4 shadow flame towers."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_89","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":90,"id":"mission_90","actIndex":7,"name":"Obsidian Stores","description":"Destroy 4 military obsidian storehouses amid explosive lava geysers.","objectiveText":"Destroy 4 obsidian storehouses.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"dark_elf_farm","description":"Destroy 4 obsidian storehouses."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_90","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":91,"id":"mission_91","actIndex":7,"name":"Night Foundry","description":"Demolish 2 dark voidforges before elite dread barge waves mobilize.","objectiveText":"Destroy 2 voidforge production sites.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"dark_elf_barracks","description":"Destroy 2 voidforge production sites."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_91","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":92,"id":"mission_92","actIndex":7,"name":"Forbidden Research","description":"Destroy the dark magic research altar to suppress boss shield links.","objectiveText":"Destroy dark research sanctuary.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"dark_elf_blacksmith","description":"Destroy dark research sanctuary."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_92","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":93,"id":"mission_93","actIndex":7,"name":"Ashwing Tyrant","description":"The Ashwing Tyrant black dragon dives between periodic sweeping breath attacks.","objectiveText":"Defeat Ashwing Tyrant.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"dark_elf_dragon","description":"Defeat Ashwing Tyrant."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_93","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":94,"id":"mission_94","actIndex":7,"name":"Magma Crossing","description":"Survive timed lava eruptions and clear 22 defenders along the bridge.","objectiveText":"Clear 22 defenders and survive eruptions.","primaryObjective":{"category":"patrol","targetCount":22,"targetTypeId":"dark_elf_nightbarge","description":"Clear 22 defenders and survive eruptions."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_94","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":95,"id":"mission_95","actIndex":7,"name":"Black Convoy","description":"Intercept armored obsidian ammunition carriages before they reinforce the citadel.","objectiveText":"Intercept 3 armored void convoys.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"dark_elf_trade_cart","description":"Intercept 3 armored void convoys."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_95","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":96,"id":"mission_96","actIndex":7,"name":"Three Seals","description":"Destroy 3 abyssal seal generator towers in any tactical sequence.","objectiveText":"Destroy 3 abyssal seal generators.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"dark_elf_tower","description":"Destroy 3 abyssal seal generators."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_96","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":97,"id":"mission_97","actIndex":7,"name":"The Burning Quarter","description":"Raze 5 military storehouses while suppressing heavy perimeter towers.","objectiveText":"Destroy 5 military storehouses.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"dark_elf_farm","description":"Destroy 5 military storehouses."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_97","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":98,"id":"mission_98","actIndex":7,"name":"Citadel Siege","description":"Assault the sprawling outer compound: factories, research labs, and defensive batteries.","objectiveText":"Raze the fortress compound.","primaryObjective":{"category":"production","targetCount":4,"targetTypeId":"dark_elf_workshop","description":"Raze the fortress compound."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_98","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":99,"id":"mission_99","actIndex":7,"name":"Sovereign's Gate","description":"Break outer gate batteries and shield pylons in preparation for the final confrontation.","objectiveText":"Destroy 4 Sovereign Gate defense batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"dark_elf_cannon_tower","description":"Destroy 4 Sovereign Gate defense batteries."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_99","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},{"missionNumber":100,"id":"mission_100","actIndex":7,"name":"Nightforge Sovereign","description":"The Grand Finale. Dismantle shield pylons, production wings, command core, and defeat the dread dragon guardian.","objectiveText":"Destroy Nightforge Sovereign and save the skies.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"dark_elf_fortress","description":"Destroy Nightforge Sovereign and save the skies."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"medal","id":"adventure_complete","name":"Ember Veil Crest & Campaign Medal","description":"Act VIII Crest, Campaign Completion Medal, Veteran Livery, and 300 Salvage.","salvageAmount":300},"faction":"dark_elf"}],"acts":[{"id":"01-crownlands","name":"Crownlands","actIndex":0,"actNumber":1,"faction":"human","terrainBiome":"plains","firstMission":1,"lastMission":12,"finaleName":"Crownwall Bastion","map":"/assets/ui/aces-adventure/map-01-crownlands.webp","mapSmall":"/assets/ui/aces-adventure/map-01-crownlands-small.webp","medal":"/assets/ui/aces-adventure/medal-act-01-crownlands.webp","crest":"/assets/ui/aces-adventure/crest-act-01-human.webp","territory":"Human Plains"},{"id":"02-scrap-frontier","name":"Scrap Frontier","actIndex":1,"actNumber":2,"faction":"goblin","terrainBiome":"wasteland","firstMission":13,"lastMission":24,"finaleName":"Scrapjaw Battery","map":"/assets/ui/aces-adventure/map-02-scrap-frontier.webp","mapSmall":"/assets/ui/aces-adventure/map-02-scrap-frontier-small.webp","medal":"/assets/ui/aces-adventure/medal-act-02-scrap-frontier.webp","crest":"/assets/ui/aces-adventure/crest-act-02-goblin.webp","territory":"Goblin Badlands"},{"id":"03-verdant-reach","name":"Verdant Reach","actIndex":2,"actNumber":3,"faction":"wood_elf","terrainBiome":"forest","firstMission":25,"lastMission":37,"finaleName":"Heartwood Citadel","map":"/assets/ui/aces-adventure/map-03-verdant-reach.webp","mapSmall":"/assets/ui/aces-adventure/map-03-verdant-reach-small.webp","medal":"/assets/ui/aces-adventure/medal-act-03-verdant-reach.webp","crest":"/assets/ui/aces-adventure/crest-act-03-wood-elf.webp","territory":"Wood Elf Forest"},{"id":"04-under-empire","name":"Deep Warrens","actIndex":3,"actNumber":4,"faction":"ratmen","terrainBiome":"cave","firstMission":38,"lastMission":50,"finaleName":"The Burrow Engine","map":"/assets/ui/aces-adventure/map-04-under-empire.webp","mapSmall":"/assets/ui/aces-adventure/map-04-under-empire-small.webp","medal":"/assets/ui/aces-adventure/medal-act-04-under-empire.webp","crest":"/assets/ui/aces-adventure/crest-act-04-ratmen.webp","territory":"Ratmen Caves"},{"id":"05-sunscale-expanse","name":"Sunscale Expanse","actIndex":4,"actNumber":5,"faction":"lizardmen","terrainBiome":"jungle","firstMission":51,"lastMission":62,"finaleName":"Sunscale Ziggurat","map":"/assets/ui/aces-adventure/map-05-sunscale-expanse.webp","mapSmall":"/assets/ui/aces-adventure/map-05-sunscale-expanse-small.webp","medal":"/assets/ui/aces-adventure/medal-act-05-sunscale-expanse.webp","crest":"/assets/ui/aces-adventure/crest-act-05-lizardmen.webp","territory":"Kethraki Jungle"},{"id":"06-pale-march","name":"Pale March","actIndex":5,"actNumber":6,"faction":"undead","terrainBiome":"swamp","firstMission":63,"lastMission":75,"finaleName":"Sepulchre of Bells","map":"/assets/ui/aces-adventure/map-06-pale-march.webp","mapSmall":"/assets/ui/aces-adventure/map-06-pale-march-small.webp","medal":"/assets/ui/aces-adventure/medal-act-06-pale-march.webp","crest":"/assets/ui/aces-adventure/crest-act-06-undead.webp","territory":"Undead Marsh"},{"id":"07-astral-dominion","name":"Astral Dominion","actIndex":6,"actNumber":7,"faction":"high_elf","terrainBiome":"glade","firstMission":76,"lastMission":87,"finaleName":"The Prism Crown","map":"/assets/ui/aces-adventure/map-07-astral-dominion.webp","mapSmall":"/assets/ui/aces-adventure/map-07-astral-dominion-small.webp","medal":"/assets/ui/aces-adventure/medal-act-07-astral-dominion.webp","crest":"/assets/ui/aces-adventure/crest-act-07-high-elf.webp","territory":"High Elf Skylands"},{"id":"08-ember-veil","name":"Ember Veil","actIndex":7,"actNumber":8,"faction":"dark_elf","terrainBiome":"gloom","firstMission":88,"lastMission":100,"finaleName":"Nightforge Sovereign","map":"/assets/ui/aces-adventure/map-08-ember-veil.webp","mapSmall":"/assets/ui/aces-adventure/map-08-ember-veil-small.webp","medal":"/assets/ui/aces-adventure/medal-act-08-ember-veil.webp","crest":"/assets/ui/aces-adventure/crest-act-08-dark-elf.webp","territory":"Dark Elf Volcanic Gloom"}],"rankCosts":[100,200,350,550,800],"rankGates":{"2":12,"3":37,"4":62,"5":87},"moduleSlots":{"6":1,"30":2,"87":3},"initialAircraft":"dwarf_gyrocopter","aircraftUnlocks":{"dwarf_thunderhawk":50},"moduleUnlocks":{"persistent_shield":3,"spread_cannon":6,"reinforced_hull":12,"capacitor_booster":13,"shrapnel_bomb":24,"piercing_cannon":37,"capacitor_overload":62,"emergency_patch":75},"levels":{"mission_1":{"id":"mission_1","name":"1 · First Flight","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20037,"bossUnitTypeId":"human_griffin_rider","bossName":"First Flight","adventureMission":{"missionNumber":1,"id":"mission_1","actIndex":0,"name":"First Flight","description":"Clear a short human patrol and get acquainted with whirlwing controls.","objectiveText":"Clear 6 human patrol scouts.","primaryObjective":{"category":"patrol","targetCount":6,"targetTypeId":"human_griffin_rider","description":"Clear 6 human patrol scouts."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"workshop_unlock","name":"Workshop Access","description":"Workshop unlocked with 100 Salvage starter bounty.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_2":{"id":"mission_2","name":"2 · Watchfire","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20074,"bossUnitTypeId":"human_tower","bossName":"Watchfire","adventureMission":{"missionNumber":2,"id":"mission_2","actIndex":0,"name":"Watchfire","description":"Destroy the front-line watchtowers guarding the border river.","objectiveText":"Destroy 2 watchtowers.","primaryObjective":{"category":"towers","targetCount":2,"targetTypeId":"human_tower","description":"Destroy 2 watchtowers."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_2","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_3":{"id":"mission_3","name":"3 · Supply Lines","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20111,"bossUnitTypeId":"human_farm","bossName":"Supply Lines","adventureMission":{"missionNumber":3,"id":"mission_3","actIndex":0,"name":"Supply Lines","description":"Cut military supply lines by destroying fortified storehouse farms.","objectiveText":"Destroy 3 military supply farms.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"human_farm","description":"Destroy 3 military supply farms."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"module","id":"persistent_shield","name":"Persistent Shield Module","description":"Module: Persistent starting shield active upon sortie launch.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_4":{"id":"mission_4","name":"4 · River Crossing","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20148,"bossUnitTypeId":"human_tower","bossName":"River Crossing","adventureMission":{"missionNumber":4,"id":"mission_4","actIndex":0,"name":"River Crossing","description":"Destroy bridge defense batteries and punch through to the extraction zone.","objectiveText":"Destroy 4 bridge towers and reach extraction.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"human_tower","description":"Destroy 4 bridge towers and reach extraction."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_4","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_5":{"id":"mission_5","name":"5 · Foundry Smoke","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20185,"bossUnitTypeId":"human_workshop","bossName":"Foundry Smoke","adventureMission":{"missionNumber":5,"id":"mission_5","actIndex":0,"name":"Foundry Smoke","description":"Destroy production workshops to halt enemy reinforcement waves.","objectiveText":"Destroy 2 production workshops.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"human_workshop","description":"Destroy 2 production workshops."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_5","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_6":{"id":"mission_6","name":"6 · Royal Interceptor","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20222,"bossUnitTypeId":"human_sky_galleon","bossName":"Royal Interceptor","adventureMission":{"missionNumber":6,"id":"mission_6","actIndex":0,"name":"Royal Interceptor","description":"A swift human sky galleon intercepts your flight path. Dodge bursts and retaliate during cooldowns.","objectiveText":"Shoot down the Royal Interceptor.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"human_sky_galleon","description":"Shoot down the Royal Interceptor."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"module","id":"spread_cannon","name":"Spread Cannon & Slot 1","description":"Unlocks first equipment slot and Spread Cannon module.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_7":{"id":"mission_7","name":"7 · Broken Harvest","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20259,"bossUnitTypeId":"human_farm","bossName":"Broken Harvest","adventureMission":{"missionNumber":7,"id":"mission_7","actIndex":0,"name":"Broken Harvest","description":"Destroy fortified supply silos stationed across two fortified pockets.","objectiveText":"Destroy 4 supply farms.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"human_farm","description":"Destroy 4 supply farms."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_7","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_8":{"id":"mission_8","name":"8 · Signal Hill","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20296,"bossUnitTypeId":"human_signal_tower","bossName":"Signal Hill","adventureMission":{"missionNumber":8,"id":"mission_8","actIndex":0,"name":"Signal Hill","description":"Destroy signal towers transmitting flight telemetry to Crownwall Bastion.","objectiveText":"Destroy 3 signal towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"human_signal_tower","description":"Destroy 3 signal towers."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_8","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_9":{"id":"mission_9","name":"9 · The Armoury","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20333,"bossUnitTypeId":"human_blacksmith","bossName":"The Armoury","adventureMission":{"missionNumber":9,"id":"mission_9","actIndex":0,"name":"The Armoury","description":"Raze the weapons research facility to disable upgraded munitions.","objectiveText":"Destroy the human weapons research armoury.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"human_blacksmith","description":"Destroy the human weapons research armoury."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_9","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_10":{"id":"mission_10","name":"10 · Siege Road","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20370,"bossUnitTypeId":"human_trade_cart","bossName":"Siege Road","adventureMission":{"missionNumber":10,"id":"mission_10","actIndex":0,"name":"Siege Road","description":"Intercept heavy siege supply carriages advancing along the royal highway.","objectiveText":"Intercept 3 war convoy carriages.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"human_trade_cart","description":"Intercept 3 war convoy carriages."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_10","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_11":{"id":"mission_11","name":"11 · Outer Wall","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20407,"bossUnitTypeId":"human_cannon_tower","bossName":"Outer Wall","adventureMission":{"missionNumber":11,"id":"mission_11","actIndex":0,"name":"Outer Wall","description":"Neutralize the perimeter cannon towers guarding Crownwall Bastion.","objectiveText":"Destroy 4 bastion cannon towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"human_cannon_tower","description":"Destroy 4 bastion cannon towers."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_11","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_12":{"id":"mission_12","name":"12 · Crownwall Bastion","biome":"plains","terrainBiome":"plains","skylands":false,"seed":20444,"bossUnitTypeId":"human_fortress","bossName":"Crownwall Bastion","adventureMission":{"missionNumber":12,"id":"mission_12","actIndex":0,"name":"Crownwall Bastion","description":"The Crownlands finale. Disable batteries, breach outer shields, and destroy the command hall.","objectiveText":"Destroy Crownwall Bastion command hall.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"human_fortress","description":"Destroy Crownwall Bastion command hall."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_1_crest","name":"Crownlands Crest & Reinforced Hull","description":"Act I Crest, Reinforced Hull module, and 300 Salvage.","salvageAmount":300},"faction":"human"},"art":"/assets/ui/aces-hangar/sector-plains-ground.webp"},"mission_13":{"id":"mission_13","name":"13 · Scrap Frontier","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20481,"bossUnitTypeId":"goblin_tower","bossName":"Scrap Frontier","adventureMission":{"missionNumber":13,"id":"mission_13","actIndex":1,"name":"Scrap Frontier","description":"Fly into the wasteland badlands and eliminate goblin rocket spires.","objectiveText":"Destroy 4 goblin rocket towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"goblin_tower","description":"Destroy 4 goblin rocket towers."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"module","id":"capacitor_booster","name":"Shield Capacitor Module","description":"Module: Shield Capacitor reduces shield recharge delay.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_14":{"id":"mission_14","name":"14 · Powder Stores","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20518,"bossUnitTypeId":"goblin_pig_farm","bossName":"Powder Stores","adventureMission":{"missionNumber":14,"id":"mission_14","actIndex":1,"name":"Powder Stores","description":"Trigger controlled detonations inside volatile goblin ammunition depots.","objectiveText":"Destroy 3 powder ammunition depots.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"goblin_pig_farm","description":"Destroy 3 powder ammunition depots."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_14","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_15":{"id":"mission_15","name":"15 · Rust Canyon","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20555,"bossUnitTypeId":"goblin_wyvern_rider","bossName":"Rust Canyon","adventureMission":{"missionNumber":15,"id":"mission_15","actIndex":1,"name":"Rust Canyon","description":"Survive an ambush corridor along the narrow canyon walls.","objectiveText":"Eliminate 12 ambushers and extract.","primaryObjective":{"category":"patrol","targetCount":12,"targetTypeId":"goblin_wyvern_rider","description":"Eliminate 12 ambushers and extract."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_15","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_16":{"id":"mission_16","name":"16 · Smoke Works","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20592,"bossUnitTypeId":"goblin_workshop","bossName":"Smoke Works","adventureMission":{"missionNumber":16,"id":"mission_16","actIndex":1,"name":"Smoke Works","description":"Demolish scrap workshops to cut off goblin bomber production.","objectiveText":"Destroy 2 goblin workshops.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"goblin_workshop","description":"Destroy 2 goblin workshops."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_16","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_17":{"id":"mission_17","name":"17 · Rocket School","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20629,"bossUnitTypeId":"goblin_tinker_hut","bossName":"Rocket School","adventureMission":{"missionNumber":17,"id":"mission_17","actIndex":1,"name":"Rocket School","description":"Demolish the tinker lab to suppress guided rocket salvos.","objectiveText":"Destroy the tinker rocket research lab.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"goblin_tinker_hut","description":"Destroy the tinker rocket research lab."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_17","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_18":{"id":"mission_18","name":"18 · Rattlewing","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20666,"bossUnitTypeId":"goblin_sky_shredder","bossName":"Rattlewing","adventureMission":{"missionNumber":18,"id":"mission_18","actIndex":1,"name":"Rattlewing","description":"Rattlewing, the goblin sky ace, attacks with bomb salvos and erratic strafes.","objectiveText":"Shoot down Rattlewing.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"goblin_sky_shredder","description":"Shoot down Rattlewing."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_18","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_19":{"id":"mission_19","name":"19 · Scavenger Road","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20703,"bossUnitTypeId":"goblin_transport_cart","bossName":"Scavenger Road","adventureMission":{"missionNumber":19,"id":"mission_19","actIndex":1,"name":"Scavenger Road","description":"Intercept runaway salvage haulers before they reach the reinforced gate.","objectiveText":"Intercept 3 scavenger supply carts.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"goblin_transport_cart","description":"Intercept 3 scavenger supply carts."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_19","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_20":{"id":"mission_20","name":"20 · Blast Orchard","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20740,"bossUnitTypeId":"goblin_pig_farm","bossName":"Blast Orchard","adventureMission":{"missionNumber":20,"id":"mission_20","actIndex":1,"name":"Blast Orchard","description":"Target military supply yards surrounded by unstable explosive scrap piles.","objectiveText":"Destroy 5 military supply sites.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"goblin_pig_farm","description":"Destroy 5 military supply sites."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_20","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_21":{"id":"mission_21","name":"21 · Scrap Locks","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20777,"bossUnitTypeId":"goblin_boom_tower","bossName":"Scrap Locks","adventureMission":{"missionNumber":21,"id":"mission_21","actIndex":1,"name":"Scrap Locks","description":"Destroy two shield generators defending the scrap lock mechanism.","objectiveText":"Destroy 2 shield generator towers.","primaryObjective":{"category":"towers","targetCount":2,"targetTypeId":"goblin_boom_tower","description":"Destroy 2 shield generator towers."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_21","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_22":{"id":"mission_22","name":"22 · Twin Batteries","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20814,"bossUnitTypeId":"goblin_boom_tower","bossName":"Twin Batteries","adventureMission":{"missionNumber":22,"id":"mission_22","actIndex":1,"name":"Twin Batteries","description":"Assault two coordinated artillery towers with staggered firing intervals.","objectiveText":"Destroy twin artillery batteries.","primaryObjective":{"category":"towers","targetCount":2,"targetTypeId":"goblin_boom_tower","description":"Destroy twin artillery batteries."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_22","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_23":{"id":"mission_23","name":"23 · War Foundry","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20851,"bossUnitTypeId":"goblin_workshop","bossName":"War Foundry","adventureMission":{"missionNumber":23,"id":"mission_23","actIndex":1,"name":"War Foundry","description":"Raze the main goblin war foundry before assaulting the battery.","objectiveText":"Destroy 2 war foundry workshops.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"goblin_workshop","description":"Destroy 2 war foundry workshops."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_23","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_24":{"id":"mission_24","name":"24 · Scrapjaw Battery","biome":"wasteland","terrainBiome":"wasteland","skylands":false,"seed":20888,"bossUnitTypeId":"goblin_fortress","bossName":"Scrapjaw Battery","adventureMission":{"missionNumber":24,"id":"mission_24","actIndex":1,"name":"Scrapjaw Battery","description":"Act II finale. Target rocket racks and pressure vents to expose the furnace core.","objectiveText":"Dismantle and destroy Scrapjaw Battery.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"goblin_fortress","description":"Dismantle and destroy Scrapjaw Battery."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_2_crest","name":"Scrap Frontier Crest & Shrapnel Bomb","description":"Act II Crest, Shrapnel Bomb module, and 300 Salvage.","salvageAmount":300},"faction":"goblin"},"art":"/assets/ui/aces-hangar/sector-wasteland-ground.webp"},"mission_25":{"id":"mission_25","name":"25 · Green Border","biome":"forest","terrainBiome":"forest","skylands":false,"seed":20925,"bossUnitTypeId":"wood_elf_dragon","bossName":"Green Border","adventureMission":{"missionNumber":25,"id":"mission_25","actIndex":2,"name":"Green Border","description":"Navigate a winding river canyon while engaging wood elf sentries.","objectiveText":"Clear 10 wood-elf river sentries.","primaryObjective":{"category":"patrol","targetCount":10,"targetTypeId":"wood_elf_dragon","description":"Clear 10 wood-elf river sentries."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_25","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_26":{"id":"mission_26","name":"26 · Thorn Watch","biome":"forest","terrainBiome":"forest","skylands":false,"seed":20962,"bossUnitTypeId":"wood_elf_tower","bossName":"Thorn Watch","adventureMission":{"missionNumber":26,"id":"mission_26","actIndex":2,"name":"Thorn Watch","description":"Evade fan-pattern thorn volleys and destroy 3 elevated watchtowers.","objectiveText":"Destroy 3 canopy thorn watchtowers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"wood_elf_tower","description":"Destroy 3 canopy thorn watchtowers."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_26","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_27":{"id":"mission_27","name":"27 · Root Supply","biome":"forest","terrainBiome":"forest","skylands":false,"seed":20999,"bossUnitTypeId":"wood_elf_grove","bossName":"Root Supply","adventureMission":{"missionNumber":27,"id":"mission_27","actIndex":2,"name":"Root Supply","description":"Locate and burn 4 military supply groves hidden in root cavities.","objectiveText":"Destroy 4 military supply groves.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"wood_elf_grove","description":"Destroy 4 military supply groves."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_27","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_28":{"id":"mission_28","name":"28 · Hidden Arrows","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21036,"bossUnitTypeId":"wood_elf_eagle","bossName":"Hidden Arrows","adventureMission":{"missionNumber":28,"id":"mission_28","actIndex":2,"name":"Hidden Arrows","description":"Fly through a revealed canopy ambush pocket and extract safely.","objectiveText":"Defeat 14 canopy ambushers.","primaryObjective":{"category":"patrol","targetCount":14,"targetTypeId":"wood_elf_eagle","description":"Defeat 14 canopy ambushers."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_28","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_29":{"id":"mission_29","name":"29 · Living Arsenal","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21073,"bossUnitTypeId":"wood_elf_barracks","bossName":"Living Arsenal","adventureMission":{"missionNumber":29,"id":"mission_29","actIndex":2,"name":"Living Arsenal","description":"Destroy 2 living barracks groves training airborne drake riders.","objectiveText":"Destroy 2 production groves.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"wood_elf_barracks","description":"Destroy 2 production groves."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_29","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_30":{"id":"mission_30","name":"30 · Wyrm of the Weald","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21110,"bossUnitTypeId":"wood_elf_dragon","bossName":"Wyrm of the Weald","adventureMission":{"missionNumber":30,"id":"mission_30","actIndex":2,"name":"Wyrm of the Weald","description":"A majestic forest drake unleashes sweeping breath lanes. Evade and counter.","objectiveText":"Defeat Wyrm of the Weald.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"wood_elf_dragon","description":"Defeat Wyrm of the Weald."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"slot","id":"slot_2","name":"Module Slot 2","description":"Unlocks second module equipment slot.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_31":{"id":"mission_31","name":"31 · Sap Laboratories","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21147,"bossUnitTypeId":"wood_elf_ancient_tree","bossName":"Sap Laboratories","adventureMission":{"missionNumber":31,"id":"mission_31","actIndex":2,"name":"Sap Laboratories","description":"Destroy the ancient research tree providing regenerative bark to defenders.","objectiveText":"Destroy the sap regeneration research tree.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"wood_elf_ancient_tree","description":"Destroy the sap regeneration research tree."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_31","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_32":{"id":"mission_32","name":"32 · Canopy Bridges","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21184,"bossUnitTypeId":"wood_elf_arrow_tower","bossName":"Canopy Bridges","adventureMission":{"missionNumber":32,"id":"mission_32","actIndex":2,"name":"Canopy Bridges","description":"Destroy suspension bridge guard towers across three open clearing pockets.","objectiveText":"Destroy 3 canopy bridge towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"wood_elf_arrow_tower","description":"Destroy 3 canopy bridge towers."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_32","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_33":{"id":"mission_33","name":"33 · The Root Lock","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21221,"bossUnitTypeId":"wood_elf_cannon_tower","bossName":"The Root Lock","adventureMission":{"missionNumber":33,"id":"mission_33","actIndex":2,"name":"The Root Lock","description":"Shatter 3 protective root anchors before penetrating the central sanctuary.","objectiveText":"Destroy 3 defensive root anchors.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"wood_elf_cannon_tower","description":"Destroy 3 defensive root anchors."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_33","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_34":{"id":"mission_34","name":"34 · Green Convoy","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21258,"bossUnitTypeId":"wood_elf_pack_deer","bossName":"Green Convoy","adventureMission":{"missionNumber":34,"id":"mission_34","actIndex":2,"name":"Green Convoy","description":"Intercept enchanted timber carriers navigating winding tree tunnels.","objectiveText":"Intercept 3 timber transport carriers.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"wood_elf_pack_deer","description":"Intercept 3 timber transport carriers."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_34","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_35":{"id":"mission_35","name":"35 · Thorns and Steel","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21295,"bossUnitTypeId":"wood_elf_cannon_tower","bossName":"Thorns and Steel","adventureMission":{"missionNumber":35,"id":"mission_35","actIndex":2,"name":"Thorns and Steel","description":"Engage heavy perimeter spires with alternating safe-lane wave rhythms.","objectiveText":"Destroy 4 perimeter thorn spires.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"wood_elf_cannon_tower","description":"Destroy 4 perimeter thorn spires."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_35","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_36":{"id":"mission_36","name":"36 · Heartwood Approach","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21332,"bossUnitTypeId":"wood_elf_tower","bossName":"Heartwood Approach","adventureMission":{"missionNumber":36,"id":"mission_36","actIndex":2,"name":"Heartwood Approach","description":"Disable outer batteries to learn the root tether severing mechanics.","objectiveText":"Destroy 4 outer tether batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"wood_elf_tower","description":"Destroy 4 outer tether batteries."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_36","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_37":{"id":"mission_37","name":"37 · Heartwood Citadel","biome":"forest","terrainBiome":"forest","skylands":false,"seed":21369,"bossUnitTypeId":"wood_elf_fortress","bossName":"Heartwood Citadel","adventureMission":{"missionNumber":37,"id":"mission_37","actIndex":2,"name":"Heartwood Citadel","description":"Act III finale. Sever three root tethers, expose the living heart, and dodge breath sweeps.","objectiveText":"Destroy the Heartwood Citadel.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"wood_elf_fortress","description":"Destroy the Heartwood Citadel."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_3_crest","name":"Verdant Reach Crest & Piercing Cannon","description":"Act III Crest, Piercing Precision Cannon module, and 300 Salvage.","salvageAmount":300},"faction":"wood_elf"},"art":"/assets/ui/aces-hangar/sector-forest-ground.webp"},"mission_38":{"id":"mission_38","name":"38 · Down the Rift","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21406,"bossUnitTypeId":"ratmen_doom_flyer","bossName":"Down the Rift","adventureMission":{"missionNumber":38,"id":"mission_38","actIndex":3,"name":"Down the Rift","description":"Descend into the subterranean caverns and sweep ratmen scout patrols.","objectiveText":"Clear 12 cavern patrol fliers.","primaryObjective":{"category":"patrol","targetCount":12,"targetTypeId":"ratmen_doom_flyer","description":"Clear 12 cavern patrol fliers."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_38","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_39":{"id":"mission_39","name":"39 · Sentry Burrows","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21443,"bossUnitTypeId":"ratmen_tower","bossName":"Sentry Burrows","adventureMission":{"missionNumber":39,"id":"mission_39","actIndex":3,"name":"Sentry Burrows","description":"Destroy 4 gun emplacements embedded in cave stalagmites.","objectiveText":"Destroy 4 tunnel gun emplacements.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"ratmen_tower","description":"Destroy 4 tunnel gun emplacements."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_39","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_40":{"id":"mission_40","name":"40 · The Breeding Works","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21480,"bossUnitTypeId":"ratmen_barracks","bossName":"The Breeding Works","adventureMission":{"missionNumber":40,"id":"mission_40","actIndex":3,"name":"The Breeding Works","description":"Raze underground breeding chambers to cap reinforcement surges.","objectiveText":"Destroy 2 breeding chambers.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"ratmen_barracks","description":"Destroy 2 breeding chambers."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_40","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_41":{"id":"mission_41","name":"41 · Blackpowder Run","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21517,"bossUnitTypeId":"ratmen_farm","bossName":"Blackpowder Run","adventureMission":{"missionNumber":41,"id":"mission_41","actIndex":3,"name":"Blackpowder Run","description":"Detonate stockpiled blackpowder barrels in staged chain reactions.","objectiveText":"Destroy 3 ammunition stores.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"ratmen_farm","description":"Destroy 3 ammunition stores."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_41","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_42":{"id":"mission_42","name":"42 · Drill Track","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21554,"bossUnitTypeId":"ratmen_trade_cart","bossName":"Drill Track","adventureMission":{"missionNumber":42,"id":"mission_42","actIndex":3,"name":"Drill Track","description":"Intercept heavy drill wagons before they breach a sealed blast door.","objectiveText":"Destroy 3 heavy drill transports.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"ratmen_trade_cart","description":"Destroy 3 heavy drill transports."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_42","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_43":{"id":"mission_43","name":"43 · Tunnel Tyrant","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21591,"bossUnitTypeId":"ratmen_gutter_glider","bossName":"Tunnel Tyrant","adventureMission":{"missionNumber":43,"id":"mission_43","actIndex":3,"name":"Tunnel Tyrant","description":"A charging subterranean drill rig threatens to crush your aircraft.","objectiveText":"Destroy Tunnel Tyrant.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"ratmen_gutter_glider","description":"Destroy Tunnel Tyrant."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_43","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_44":{"id":"mission_44","name":"44 · Sicklight Lab","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21628,"bossUnitTypeId":"ratmen_blacksmith","bossName":"Sicklight Lab","adventureMission":{"missionNumber":44,"id":"mission_44","actIndex":3,"name":"Sicklight Lab","description":"Destroy the warp chemical laboratory to stop corrosive projectile contamination.","objectiveText":"Destroy the warp chemical laboratory.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"ratmen_blacksmith","description":"Destroy the warp chemical laboratory."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_44","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_45":{"id":"mission_45","name":"45 · Buried Granaries","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21665,"bossUnitTypeId":"ratmen_farm","bossName":"Buried Granaries","adventureMission":{"missionNumber":45,"id":"mission_45","actIndex":3,"name":"Buried Granaries","description":"Burn 5 underground food and warp-grain depots across two cavern halls.","objectiveText":"Destroy 5 buried supply granaries.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"ratmen_farm","description":"Destroy 5 buried supply granaries."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_45","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_46":{"id":"mission_46","name":"46 · Pressure Doors","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21702,"bossUnitTypeId":"ratmen_tower","bossName":"Pressure Doors","adventureMission":{"missionNumber":46,"id":"mission_46","actIndex":3,"name":"Pressure Doors","description":"Destroy 3 steam release valve stations while avoiding scalding vent hazards.","objectiveText":"Destroy 3 steam valve stations.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"ratmen_tower","description":"Destroy 3 steam valve stations."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_46","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_47":{"id":"mission_47","name":"47 · Ratline","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21739,"bossUnitTypeId":"ratmen_doom_flyer","bossName":"Ratline","adventureMission":{"missionNumber":47,"id":"mission_47","actIndex":3,"name":"Ratline","description":"Clear linked guard posts and eliminate fleeing rat commanders.","objectiveText":"Clear 15 ratmen tunnel sentries.","primaryObjective":{"category":"patrol","targetCount":15,"targetTypeId":"ratmen_doom_flyer","description":"Clear 15 ratmen tunnel sentries."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_47","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_48":{"id":"mission_48","name":"48 · Assembly Vault","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21776,"bossUnitTypeId":"ratmen_workshop","bossName":"Assembly Vault","adventureMission":{"missionNumber":48,"id":"mission_48","actIndex":3,"name":"Assembly Vault","description":"Destroy production workshops housing stolen dwarven aircraft components.","objectiveText":"Destroy 2 aircraft assembly vaults.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"ratmen_workshop","description":"Destroy 2 aircraft assembly vaults."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_48","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_49":{"id":"mission_49","name":"49 · Engine Teeth","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21813,"bossUnitTypeId":"ratmen_cannon_tower","bossName":"Engine Teeth","adventureMission":{"missionNumber":49,"id":"mission_49","actIndex":3,"name":"Engine Teeth","description":"Destroy perimeter turbine generators powering The Burrow Engine.","objectiveText":"Destroy 4 turbine generator batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"ratmen_cannon_tower","description":"Destroy 4 turbine generator batteries."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_49","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_50":{"id":"mission_50","name":"50 · The Burrow Engine","biome":"cave","terrainBiome":"cave","skylands":false,"seed":21850,"bossUnitTypeId":"ratmen_fortress","bossName":"The Burrow Engine","adventureMission":{"missionNumber":50,"id":"mission_50","actIndex":3,"name":"The Burrow Engine","description":"Act IV finale. Dismantle the colossal drilling machine and recover the prototype Thunderhawk.","objectiveText":"Destroy The Burrow Engine.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"ratmen_fortress","description":"Destroy The Burrow Engine."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"aircraft","id":"dwarf_thunderhawk","name":"Dwarven Thunderhawk & Act IV Crest","description":"Unlocks Dwarven Thunderhawk advanced aircraft, Act IV Crest, and 300 Salvage.","salvageAmount":300},"faction":"ratmen"},"art":"/assets/ui/aces-hangar/sector-cave-ground.webp"},"mission_51":{"id":"mission_51","name":"51 · Thunderhawk Trial","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":21887,"bossUnitTypeId":"lizardmen_coatl","bossName":"Thunderhawk Trial","adventureMission":{"missionNumber":51,"id":"mission_51","actIndex":4,"name":"Thunderhawk Trial","description":"Take your newly unlocked Thunderhawk into combat against Kethraki scouts.","objectiveText":"Defeat 12 aerial scouts.","primaryObjective":{"category":"patrol","targetCount":12,"targetTypeId":"lizardmen_coatl","description":"Defeat 12 aerial scouts."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_51","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_52":{"id":"mission_52","name":"52 · Sun Watch","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":21924,"bossUnitTypeId":"lizardmen_tower","bossName":"Sun Watch","adventureMission":{"missionNumber":52,"id":"mission_52","actIndex":4,"name":"Sun Watch","description":"Destroy 4 sunstone towers channeling concentrated solar laser beams.","objectiveText":"Destroy 4 solar beam watchtowers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"lizardmen_tower","description":"Destroy 4 solar beam watchtowers."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_52","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_53":{"id":"mission_53","name":"53 · River Stores","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":21961,"bossUnitTypeId":"lizardmen_farm","bossName":"River Stores","adventureMission":{"missionNumber":53,"id":"mission_53","actIndex":4,"name":"River Stores","description":"Burn 4 military supply storehouses positioned along a wide jungle river.","objectiveText":"Destroy 4 jungle river supply depots.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"lizardmen_farm","description":"Destroy 4 jungle river supply depots."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_53","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_54":{"id":"mission_54","name":"54 · Hatchery Raid","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":21998,"bossUnitTypeId":"lizardmen_barracks","bossName":"Hatchery Raid","adventureMission":{"missionNumber":54,"id":"mission_54","actIndex":4,"name":"Hatchery Raid","description":"Destroy 2 sky-beast breeding pyramids to halt coatl reinforcements.","objectiveText":"Destroy 2 sky-beast hatcheries.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"lizardmen_barracks","description":"Destroy 2 sky-beast hatcheries."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_54","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_55":{"id":"mission_55","name":"55 · Golden Studies","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22035,"bossUnitTypeId":"lizardmen_blacksmith","bossName":"Golden Studies","adventureMission":{"missionNumber":55,"id":"mission_55","actIndex":4,"name":"Golden Studies","description":"Raze the solar observatory before astrologers empower the temple garrison.","objectiveText":"Destroy golden solar research sanctuary.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"lizardmen_blacksmith","description":"Destroy golden solar research sanctuary."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_55","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_56":{"id":"mission_56","name":"56 · Skyfang Guardian","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22072,"bossUnitTypeId":"lizardmen_sky_leviathan","bossName":"Skyfang Guardian","adventureMission":{"missionNumber":56,"id":"mission_56","actIndex":4,"name":"Skyfang Guardian","description":"A giant pterosaur dives with solar fan-bursts. Punish its recovery windows.","objectiveText":"Bring down Skyfang Guardian.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"lizardmen_sky_leviathan","description":"Bring down Skyfang Guardian."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_56","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_57":{"id":"mission_57","name":"57 · Flooded Causeway","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22109,"bossUnitTypeId":"lizardmen_coatl","bossName":"Flooded Causeway","adventureMission":{"missionNumber":57,"id":"mission_57","actIndex":4,"name":"Flooded Causeway","description":"Clear fortified checkpoint waves while navigating flooded lagoon open areas.","objectiveText":"Clear 16 causeway defenders.","primaryObjective":{"category":"patrol","targetCount":16,"targetTypeId":"lizardmen_coatl","description":"Clear 16 causeway defenders."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_57","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_58":{"id":"mission_58","name":"58 · Sun Mirrors","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22146,"bossUnitTypeId":"lizardmen_solar_beacon","bossName":"Sun Mirrors","adventureMission":{"missionNumber":58,"id":"mission_58","actIndex":4,"name":"Sun Mirrors","description":"Destroy 3 solar mirror relays directing thermal beams into the valley.","objectiveText":"Destroy 3 solar mirror relay towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"lizardmen_solar_beacon","description":"Destroy 3 solar mirror relay towers."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_58","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_59":{"id":"mission_59","name":"59 · Temple Train","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22183,"bossUnitTypeId":"lizardmen_trade_cart","bossName":"Temple Train","adventureMission":{"missionNumber":59,"id":"mission_59","actIndex":4,"name":"Temple Train","description":"Intercept relic transports beneath crossfire from perimeter towers.","objectiveText":"Intercept 3 temple supply transports.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"lizardmen_trade_cart","description":"Intercept 3 temple supply transports."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_59","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_60":{"id":"mission_60","name":"60 · The Outer Steps","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22220,"bossUnitTypeId":"lizardmen_tower","bossName":"The Outer Steps","adventureMission":{"missionNumber":60,"id":"mission_60","actIndex":4,"name":"The Outer Steps","description":"Destroy 2 shield relays and the grand staging temple at the base of the ziggurat.","objectiveText":"Destroy 2 shield relays and staging outpost.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"lizardmen_tower","description":"Destroy 2 shield relays and staging outpost."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_60","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_61":{"id":"mission_61","name":"61 · Solar Ascent","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22257,"bossUnitTypeId":"lizardmen_cannon_tower","bossName":"Solar Ascent","adventureMission":{"missionNumber":61,"id":"mission_61","actIndex":4,"name":"Solar Ascent","description":"Ascend the temple terraces and neutralize rotating beam turrets.","objectiveText":"Destroy 4 rotating solar batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"lizardmen_cannon_tower","description":"Destroy 4 rotating solar batteries."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_61","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_62":{"id":"mission_62","name":"62 · Sunscale Ziggurat","biome":"jungle","terrainBiome":"jungle","skylands":false,"seed":22294,"bossUnitTypeId":"lizardmen_fortress","bossName":"Sunscale Ziggurat","adventureMission":{"missionNumber":62,"id":"mission_62","actIndex":4,"name":"Sunscale Ziggurat","description":"Act V finale. Destroy 3 focusing lenses and shatter the temple core.","objectiveText":"Shatter sun lenses and destroy Sunscale Ziggurat.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"lizardmen_fortress","description":"Shatter sun lenses and destroy Sunscale Ziggurat."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_5_crest","name":"Sunscale Crest & Capacitor Overload","description":"Act V Crest, Capacitor Overload module, and 300 Salvage.","salvageAmount":300},"faction":"lizardmen"},"art":"/assets/ui/aces-hangar/sector-jungle-ground.webp"},"mission_63":{"id":"mission_63","name":"63 · Deadwater","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22331,"bossUnitTypeId":"undead_wraith","bossName":"Deadwater","adventureMission":{"missionNumber":63,"id":"mission_63","actIndex":5,"name":"Deadwater","description":"Fly over murky fenlands and purge undead spectral scouts.","objectiveText":"Clear 14 spectral patrol wraiths.","primaryObjective":{"category":"patrol","targetCount":14,"targetTypeId":"undead_wraith","description":"Clear 14 spectral patrol wraiths."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_63","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_64":{"id":"mission_64","name":"64 · Bell Towers","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22368,"bossUnitTypeId":"undead_tower","bossName":"Bell Towers","adventureMission":{"missionNumber":64,"id":"mission_64","actIndex":5,"name":"Bell Towers","description":"Silence 3 necromantic bell towers that reanimate fallen defenders.","objectiveText":"Silence 3 necromantic bell towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"undead_tower","description":"Silence 3 necromantic bell towers."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_64","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_65":{"id":"mission_65","name":"65 · Blighted Supply","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22405,"bossUnitTypeId":"undead_farm","bossName":"Blighted Supply","adventureMission":{"missionNumber":65,"id":"mission_65","actIndex":5,"name":"Blighted Supply","description":"Destroy 4 blighted bone storehouses stationed on isolated marsh mounds.","objectiveText":"Destroy 4 blighted bone storehouses.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"undead_farm","description":"Destroy 4 blighted bone storehouses."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_65","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_66":{"id":"mission_66","name":"66 · Bone Works","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22442,"bossUnitTypeId":"undead_barracks","bossName":"Bone Works","adventureMission":{"missionNumber":66,"id":"mission_66","actIndex":5,"name":"Bone Works","description":"Demolish 2 reanimation crypts continuously raising skeleton flyers.","objectiveText":"Destroy 2 reanimation crypts.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"undead_barracks","description":"Destroy 2 reanimation crypts."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_66","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_67":{"id":"mission_67","name":"67 · Cold Procession","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22479,"bossUnitTypeId":"undead_trade_cart","bossName":"Cold Procession","adventureMission":{"missionNumber":67,"id":"mission_67","actIndex":5,"name":"Cold Procession","description":"Intercept heavily guarded hearse carriages bearing necrotic fuel.","objectiveText":"Intercept 3 hearse supply carriages.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"undead_trade_cart","description":"Intercept 3 hearse supply carriages."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_67","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_68":{"id":"mission_68","name":"68 · The Pale Wing","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22516,"bossUnitTypeId":"undead_bone_dragon","bossName":"The Pale Wing","adventureMission":{"missionNumber":68,"id":"mission_68","actIndex":5,"name":"The Pale Wing","description":"An ancient skeletal dragon sweeps the sky with frost breath lanes.","objectiveText":"Slay The Pale Wing bone dragon.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"undead_bone_dragon","description":"Slay The Pale Wing bone dragon."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_68","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_69":{"id":"mission_69","name":"69 · Grave Research","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22553,"bossUnitTypeId":"undead_blacksmith","bossName":"Grave Research","adventureMission":{"missionNumber":69,"id":"mission_69","actIndex":5,"name":"Grave Research","description":"Destroy the grave laboratory to prevent necrotic projectile splitting.","objectiveText":"Destroy the grave magic laboratory.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"undead_blacksmith","description":"Destroy the grave magic laboratory."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_69","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_70":{"id":"mission_70","name":"70 · Frozen Channels","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22590,"bossUnitTypeId":"undead_wraith","bossName":"Frozen Channels","adventureMission":{"missionNumber":70,"id":"mission_70","actIndex":5,"name":"Frozen Channels","description":"Navigate freezing winds and clear 18 frost guards along the frozen highway.","objectiveText":"Clear 18 frost road defenders.","primaryObjective":{"category":"patrol","targetCount":18,"targetTypeId":"undead_wraith","description":"Clear 18 frost road defenders."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_70","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_71":{"id":"mission_71","name":"71 · Three Reliquaries","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22627,"bossUnitTypeId":"undead_tower","bossName":"Three Reliquaries","adventureMission":{"missionNumber":71,"id":"mission_71","actIndex":5,"name":"Three Reliquaries","description":"Destroy 3 cursed reliquary spires anchoring resurrection magic.","objectiveText":"Destroy 3 cursed reliquary spires.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"undead_tower","description":"Destroy 3 cursed reliquary spires."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_71","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_72":{"id":"mission_72","name":"72 · Last Lantern","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22664,"bossUnitTypeId":"undead_wraith","bossName":"Last Lantern","adventureMission":{"missionNumber":72,"id":"mission_72","actIndex":5,"name":"Last Lantern","description":"Escort an allied signal beacon through hostile wraith waves.","objectiveText":"Protect the beacon and defeat 15 wraiths.","primaryObjective":{"category":"patrol","targetCount":15,"targetTypeId":"undead_wraith","description":"Protect the beacon and defeat 15 wraiths."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_72","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_73":{"id":"mission_73","name":"73 · Hollow Village","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22701,"bossUnitTypeId":"undead_farm","bossName":"Hollow Village","adventureMission":{"missionNumber":73,"id":"mission_73","actIndex":5,"name":"Hollow Village","description":"Raze 5 corrupted grain storehouses in an abandoned haunted settlement.","objectiveText":"Destroy 5 haunted storage sites.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"undead_farm","description":"Destroy 5 haunted storage sites."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_73","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_74":{"id":"mission_74","name":"74 · The Bell Road","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22738,"bossUnitTypeId":"undead_cannon_tower","bossName":"The Bell Road","adventureMission":{"missionNumber":74,"id":"mission_74","actIndex":5,"name":"The Bell Road","description":"Destroy 4 heavy bell spires to silence the warning toll before the sepulchre.","objectiveText":"Destroy 4 tolling bell towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"undead_cannon_tower","description":"Destroy 4 tolling bell towers."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_74","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_75":{"id":"mission_75","name":"75 · Sepulchre of Bells","biome":"swamp","terrainBiome":"swamp","skylands":false,"seed":22775,"bossUnitTypeId":"undead_fortress","bossName":"Sepulchre of Bells","adventureMission":{"missionNumber":75,"id":"mission_75","actIndex":5,"name":"Sepulchre of Bells","description":"Act VI finale. Silence 3 resurrection bells, sever soul links, and destroy the Sepulchre.","objectiveText":"Silence bells and destroy Sepulchre of Bells.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"undead_fortress","description":"Silence bells and destroy Sepulchre of Bells."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"crest","id":"act_6_crest","name":"Pale March Crest & Emergency Patch","description":"Act VI Crest, Emergency Hull Patch module, and 300 Salvage.","salvageAmount":300},"faction":"undead"},"art":"/assets/ui/aces-hangar/sector-swamp-ground.webp"},"mission_76":{"id":"mission_76","name":"76 · Above the Clouds","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":22812,"bossUnitTypeId":"high_elf_eagle","bossName":"Above the Clouds","adventureMission":{"missionNumber":76,"id":"mission_76","actIndex":6,"name":"Above the Clouds","description":"Ascend into the floating crystal Skylands and engage high elf interceptors.","objectiveText":"Clear 15 high-elf sky sentinels.","primaryObjective":{"category":"patrol","targetCount":15,"targetTypeId":"high_elf_eagle","description":"Clear 15 high-elf sky sentinels."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_76","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_77":{"id":"mission_77","name":"77 · Crystal Watch","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":22849,"bossUnitTypeId":"high_elf_tower","bossName":"Crystal Watch","adventureMission":{"missionNumber":77,"id":"mission_77","actIndex":6,"name":"Crystal Watch","description":"Destroy 4 crystal towers projecting sweeping light prisms.","objectiveText":"Destroy 4 sweeping crystal watchtowers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"high_elf_tower","description":"Destroy 4 sweeping crystal watchtowers."},"x":0.42,"y":0.82909,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_77","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_78":{"id":"mission_78","name":"78 · Aether Supplies","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":22886,"bossUnitTypeId":"high_elf_farm","bossName":"Aether Supplies","adventureMission":{"missionNumber":78,"id":"mission_78","actIndex":6,"name":"Aether Supplies","description":"Destroy 3 floating aether energy caches suspended over the void.","objectiveText":"Destroy 3 floating aether caches.","primaryObjective":{"category":"supply","targetCount":3,"targetTypeId":"high_elf_farm","description":"Destroy 3 floating aether caches."},"x":0.46,"y":0.75818,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_78","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_79":{"id":"mission_79","name":"79 · Wing Foundries","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":22923,"bossUnitTypeId":"high_elf_barracks","bossName":"Wing Foundries","adventureMission":{"missionNumber":79,"id":"mission_79","actIndex":6,"name":"Wing Foundries","description":"Demolish 2 aerial shipwright yards producing crystal interceptors.","objectiveText":"Destroy 2 sky-skiff foundries.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"high_elf_barracks","description":"Destroy 2 sky-skiff foundries."},"x":0.56,"y":0.68727,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_79","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_80":{"id":"mission_80","name":"80 · Prism Research","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":22960,"bossUnitTypeId":"high_elf_blacksmith","bossName":"Prism Research","adventureMission":{"missionNumber":80,"id":"mission_80","actIndex":6,"name":"Prism Research","description":"Destroy the prismatic refraction laboratory to stop shot reflections.","objectiveText":"Destroy prismatic refraction laboratory.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"high_elf_blacksmith","description":"Destroy prismatic refraction laboratory."},"x":0.58,"y":0.61636,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_80","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_81":{"id":"mission_81","name":"81 · Astral Sentinel","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":22997,"bossUnitTypeId":"high_elf_dragon","bossName":"Astral Sentinel","adventureMission":{"missionNumber":81,"id":"mission_81","actIndex":6,"name":"Astral Sentinel","description":"A prismatic crystal dragon flanked by rotating shielding pylons.","objectiveText":"Destroy Astral Sentinel.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"high_elf_dragon","description":"Destroy Astral Sentinel."},"x":0.49,"y":0.54545,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_81","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_82":{"id":"mission_82","name":"82 · Skybridge","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":23034,"bossUnitTypeId":"high_elf_eagle","bossName":"Skybridge","adventureMission":{"missionNumber":82,"id":"mission_82","actIndex":6,"name":"Skybridge","description":"Fight across a chain of floating island checkpoints and clear 20 defenders.","objectiveText":"Clear 20 checkpoint defenders across the skybridge.","primaryObjective":{"category":"patrol","targetCount":20,"targetTypeId":"high_elf_eagle","description":"Clear 20 checkpoint defenders across the skybridge."},"x":0.5,"y":0.47455,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_82","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_83":{"id":"mission_83","name":"83 · Mirror Relay","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":23071,"bossUnitTypeId":"high_elf_crystal_spire","bossName":"Mirror Relay","adventureMission":{"missionNumber":83,"id":"mission_83","actIndex":6,"name":"Mirror Relay","description":"Destroy 3 mirror relay spires to open a safe approach through beam cycles.","objectiveText":"Disable 3 beam relay towers.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"high_elf_crystal_spire","description":"Disable 3 beam relay towers."},"x":0.42,"y":0.40364,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_83","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_84":{"id":"mission_84","name":"84 · High Convoy","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":23108,"bossUnitTypeId":"high_elf_trade_cart","bossName":"High Convoy","adventureMission":{"missionNumber":84,"id":"mission_84","actIndex":6,"name":"High Convoy","description":"Intercept a royal crystal flotilla escorted by veteran sky eagles.","objectiveText":"Intercept 3 high-elf sky transports.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"high_elf_trade_cart","description":"Intercept 3 high-elf sky transports."},"x":0.46,"y":0.33273,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_84","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_85":{"id":"mission_85","name":"85 · Twin Spires","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":23145,"bossUnitTypeId":"high_elf_cannon_tower","bossName":"Twin Spires","adventureMission":{"missionNumber":85,"id":"mission_85","actIndex":6,"name":"Twin Spires","description":"Destroy two linked shield spires protecting the grand crystal palace.","objectiveText":"Destroy twin spires and command outpost.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"high_elf_cannon_tower","description":"Destroy twin spires and command outpost."},"x":0.56,"y":0.26182,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_85","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_86":{"id":"mission_86","name":"86 · Crown Approach","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":23182,"bossUnitTypeId":"high_elf_tower","bossName":"Crown Approach","adventureMission":{"missionNumber":86,"id":"mission_86","actIndex":6,"name":"Crown Approach","description":"Disable 4 peripheral focusing lenses guarding the Prism Crown.","objectiveText":"Destroy 4 peripheral prism lenses.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"high_elf_tower","description":"Destroy 4 peripheral prism lenses."},"x":0.58,"y":0.19091,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_86","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_87":{"id":"mission_87","name":"87 · The Prism Crown","biome":"skylands","terrainBiome":"glade","skylands":true,"seed":23219,"bossUnitTypeId":"high_elf_fortress","bossName":"The Prism Crown","adventureMission":{"missionNumber":87,"id":"mission_87","actIndex":6,"name":"The Prism Crown","description":"Act VII finale. Destroy orbiting crystal emitters, dodge solar prisms, and shatter the citadel core.","objectiveText":"Destroy crystal emitters and the Prism Crown.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"high_elf_fortress","description":"Destroy crystal emitters and the Prism Crown."},"x":0.49,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"slot","id":"slot_3","name":"Astral Crest & Module Slot 3","description":"Act VII Crest, third module equipment slot, and 300 Salvage.","salvageAmount":300},"faction":"high_elf"},"art":"/assets/ui/aces-hangar/sector-glade-skylands.webp"},"mission_88":{"id":"mission_88","name":"88 · Gloomfall","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23256,"bossUnitTypeId":"dark_elf_dragon","bossName":"Gloomfall","adventureMission":{"missionNumber":88,"id":"mission_88","actIndex":7,"name":"Gloomfall","description":"Descend into volcanic gloom fissures and eliminate dark elf patrol drakes.","objectiveText":"Clear 16 shadow drake patrols.","primaryObjective":{"category":"patrol","targetCount":16,"targetTypeId":"dark_elf_dragon","description":"Clear 16 shadow drake patrols."},"x":0.5,"y":0.9,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_88","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_89":{"id":"mission_89","name":"89 · Ember Towers","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23293,"bossUnitTypeId":"dark_elf_tower","bossName":"Ember Towers","adventureMission":{"missionNumber":89,"id":"mission_89","actIndex":7,"name":"Ember Towers","description":"Destroy 4 shadow flame towers firing alternating incinerating lanes.","objectiveText":"Destroy 4 shadow flame towers.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"dark_elf_tower","description":"Destroy 4 shadow flame towers."},"x":0.42,"y":0.835,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_89","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_90":{"id":"mission_90","name":"90 · Obsidian Stores","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23330,"bossUnitTypeId":"dark_elf_farm","bossName":"Obsidian Stores","adventureMission":{"missionNumber":90,"id":"mission_90","actIndex":7,"name":"Obsidian Stores","description":"Destroy 4 military obsidian storehouses amid explosive lava geysers.","objectiveText":"Destroy 4 obsidian storehouses.","primaryObjective":{"category":"supply","targetCount":4,"targetTypeId":"dark_elf_farm","description":"Destroy 4 obsidian storehouses."},"x":0.46,"y":0.77,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_90","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_91":{"id":"mission_91","name":"91 · Night Foundry","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23367,"bossUnitTypeId":"dark_elf_barracks","bossName":"Night Foundry","adventureMission":{"missionNumber":91,"id":"mission_91","actIndex":7,"name":"Night Foundry","description":"Demolish 2 dark voidforges before elite dread barge waves mobilize.","objectiveText":"Destroy 2 voidforge production sites.","primaryObjective":{"category":"production","targetCount":2,"targetTypeId":"dark_elf_barracks","description":"Destroy 2 voidforge production sites."},"x":0.56,"y":0.705,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_91","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_92":{"id":"mission_92","name":"92 · Forbidden Research","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23404,"bossUnitTypeId":"dark_elf_blacksmith","bossName":"Forbidden Research","adventureMission":{"missionNumber":92,"id":"mission_92","actIndex":7,"name":"Forbidden Research","description":"Destroy the dark magic research altar to suppress boss shield links.","objectiveText":"Destroy dark research sanctuary.","primaryObjective":{"category":"research","targetCount":1,"targetTypeId":"dark_elf_blacksmith","description":"Destroy dark research sanctuary."},"x":0.58,"y":0.64,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_92","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_93":{"id":"mission_93","name":"93 · Ashwing Tyrant","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23441,"bossUnitTypeId":"dark_elf_dragon","bossName":"Ashwing Tyrant","adventureMission":{"missionNumber":93,"id":"mission_93","actIndex":7,"name":"Ashwing Tyrant","description":"The Ashwing Tyrant black dragon dives between periodic sweeping breath attacks.","objectiveText":"Defeat Ashwing Tyrant.","primaryObjective":{"category":"miniboss","targetCount":1,"targetTypeId":"dark_elf_dragon","description":"Defeat Ashwing Tyrant."},"x":0.49,"y":0.575,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_93","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_94":{"id":"mission_94","name":"94 · Magma Crossing","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23478,"bossUnitTypeId":"dark_elf_nightbarge","bossName":"Magma Crossing","adventureMission":{"missionNumber":94,"id":"mission_94","actIndex":7,"name":"Magma Crossing","description":"Survive timed lava eruptions and clear 22 defenders along the bridge.","objectiveText":"Clear 22 defenders and survive eruptions.","primaryObjective":{"category":"patrol","targetCount":22,"targetTypeId":"dark_elf_nightbarge","description":"Clear 22 defenders and survive eruptions."},"x":0.5,"y":0.51,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_94","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_95":{"id":"mission_95","name":"95 · Black Convoy","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23515,"bossUnitTypeId":"dark_elf_trade_cart","bossName":"Black Convoy","adventureMission":{"missionNumber":95,"id":"mission_95","actIndex":7,"name":"Black Convoy","description":"Intercept armored obsidian ammunition carriages before they reinforce the citadel.","objectiveText":"Intercept 3 armored void convoys.","primaryObjective":{"category":"convoy","targetCount":3,"targetTypeId":"dark_elf_trade_cart","description":"Intercept 3 armored void convoys."},"x":0.42,"y":0.445,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_95","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_96":{"id":"mission_96","name":"96 · Three Seals","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23552,"bossUnitTypeId":"dark_elf_tower","bossName":"Three Seals","adventureMission":{"missionNumber":96,"id":"mission_96","actIndex":7,"name":"Three Seals","description":"Destroy 3 abyssal seal generator towers in any tactical sequence.","objectiveText":"Destroy 3 abyssal seal generators.","primaryObjective":{"category":"towers","targetCount":3,"targetTypeId":"dark_elf_tower","description":"Destroy 3 abyssal seal generators."},"x":0.46,"y":0.38,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_96","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_97":{"id":"mission_97","name":"97 · The Burning Quarter","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23589,"bossUnitTypeId":"dark_elf_farm","bossName":"The Burning Quarter","adventureMission":{"missionNumber":97,"id":"mission_97","actIndex":7,"name":"The Burning Quarter","description":"Raze 5 military storehouses while suppressing heavy perimeter towers.","objectiveText":"Destroy 5 military storehouses.","primaryObjective":{"category":"supply","targetCount":5,"targetTypeId":"dark_elf_farm","description":"Destroy 5 military storehouses."},"x":0.56,"y":0.315,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_97","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_98":{"id":"mission_98","name":"98 · Citadel Siege","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23626,"bossUnitTypeId":"dark_elf_workshop","bossName":"Citadel Siege","adventureMission":{"missionNumber":98,"id":"mission_98","actIndex":7,"name":"Citadel Siege","description":"Assault the sprawling outer compound: factories, research labs, and defensive batteries.","objectiveText":"Raze the fortress compound.","primaryObjective":{"category":"production","targetCount":4,"targetTypeId":"dark_elf_workshop","description":"Raze the fortress compound."},"x":0.58,"y":0.25,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_98","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_99":{"id":"mission_99","name":"99 · Sovereign's Gate","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23663,"bossUnitTypeId":"dark_elf_cannon_tower","bossName":"Sovereign's Gate","adventureMission":{"missionNumber":99,"id":"mission_99","actIndex":7,"name":"Sovereign's Gate","description":"Break outer gate batteries and shield pylons in preparation for the final confrontation.","objectiveText":"Destroy 4 Sovereign Gate defense batteries.","primaryObjective":{"category":"towers","targetCount":4,"targetTypeId":"dark_elf_cannon_tower","description":"Destroy 4 Sovereign Gate defense batteries."},"x":0.49,"y":0.185,"isBoss":false,"guaranteedReward":{"type":"salvage","id":"salvage_99","name":"100 Salvage","description":"First-clear bounty: 100 Salvage.","salvageAmount":100},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"},"mission_100":{"id":"mission_100","name":"100 · Nightforge Sovereign","biome":"gloom","terrainBiome":"gloom","skylands":false,"seed":23700,"bossUnitTypeId":"dark_elf_fortress","bossName":"Nightforge Sovereign","adventureMission":{"missionNumber":100,"id":"mission_100","actIndex":7,"name":"Nightforge Sovereign","description":"The Grand Finale. Dismantle shield pylons, production wings, command core, and defeat the dread dragon guardian.","objectiveText":"Destroy Nightforge Sovereign and save the skies.","primaryObjective":{"category":"boss","targetCount":1,"targetTypeId":"dark_elf_fortress","description":"Destroy Nightforge Sovereign and save the skies."},"x":0.5,"y":0.12,"isBoss":true,"guaranteedReward":{"type":"medal","id":"adventure_complete","name":"Ember Veil Crest & Campaign Medal","description":"Act VIII Crest, Campaign Completion Medal, Veteran Livery, and 300 Salvage.","salvageAmount":300},"faction":"dark_elf"},"art":"/assets/ui/aces-hangar/sector-gloom-ground.webp"}},"baseCraftStats":{"dwarf_gyrocopter":{"firepower":25,"shieldCapacity":100,"hullArmor":100,"bombDamage":520},"dwarf_thunderhawk":{"firepower":35,"shieldCapacity":130,"hullArmor":130,"bombDamage":680}},"moduleMetadata":{"persistent_shield":{"name":"Persistent Shield","desc":"Starting energy shield active upon sortie launch.","icon":"/assets/sprites/ui/ability_rune_shield.png","unlockMission":3},"spread_cannon":{"name":"Spread Cannon","desc":"Widens primary projectile spread angle.","icon":"/assets/sprites/ui/attack_icon.png","unlockMission":6},"reinforced_hull":{"name":"Reinforced Hull","desc":"Boosts base hull armor integrity.","icon":"/assets/sprites/ui/defend_icon.png","unlockMission":12},"capacitor_booster":{"name":"Shield Capacitor","desc":"Reduces shield recharge delay.","icon":"/assets/sprites/ui/ability_crystal_shield.png","unlockMission":13},"shrapnel_bomb":{"name":"Shrapnel Bomb","desc":"Discharges cluster bomblets upon explosion.","icon":"/assets/sprites/ui/ability_bomb_barrage.png","unlockMission":24},"piercing_cannon":{"name":"Piercing Cannon","desc":"Projectiles pierce through enemy formations.","icon":"/assets/sprites/ui/attack_icon.png","unlockMission":37},"capacitor_overload":{"name":"Capacitor Overload","desc":"Discharges shockwaves when shields deplete.","icon":"/assets/sprites/ui/ability_crystal_shield.png","unlockMission":62},"emergency_patch":{"name":"Emergency Patch","desc":"Restores 25% hull when critically damaged.","icon":"/assets/sprites/ui/defend_icon.png","unlockMission":75}},"trackMetadata":{"cannon":{"name":"Cannon Bore","desc":"+8% Primary Firepower per rank","icon":"/assets/sprites/ui/attack_icon.png"},"shield":{"name":"Shield Array","desc":"+15% Shield Capacity per rank","icon":"/assets/sprites/ui/ability_rune_shield.png"},"capacitor":{"name":"Capacitor Grid","desc":"-0.3s Shield Recharge Delay per rank","icon":"/assets/sprites/ui/ability_crystal_shield.png"},"hull":{"name":"Plating & Bracing","desc":"+8% Hull Armor per rank","icon":"/assets/sprites/ui/defend_icon.png"},"ordnance":{"name":"Bomb Ordnance","desc":"+10% Bomb Damage per rank","icon":"/assets/sprites/ui/ability_bomb_barrage.png"}},"moduleEffects":{"spread_cannon":"spreadShot","piercing_cannon":"piercing","shrapnel_bomb":"shrapnel","capacitor_overload":"capacitorOverload","emergency_patch":"emergencyPatch","persistent_shield":"persistentShield","reinforced_hull":"reinforcedHull"}}}},"simulation":{"mode":"local","tickRate":120},"customRuntime":{"kind":"scrolling-shooter","content":{"aircraftId":"dwarf_gyrocopter","difficulty":"normal","startInHangar":true,"level":{"id":"level_1_alpine","name":"Dragonspire Gorge","biome":"alpine","terrainBiome":"winter","skylands":false,"seed":1101,"bossUnitTypeId":"dwarf_sky_anvil","bossName":"Iron Dreadnought \"Colossus\"","art":"/assets/ui/aces-hangar/sector-winter-ground.webp"},"fighters":[{"id":"dwarf_gyrocopter","name":"Dwarven Whirlwing","race":"dwarf","faction":"Dwarves","factionColor":"#e09838","role":"Heavy Steam Gunship","weapon":"Twin Gatling Vulcan","special":"Bunker-Buster Bomb","spriteKey":"dwarf_gyrocopter","speed":3,"armor":5,"firepower":4,"desc":"Armored flying fortress built with dwarven iron. Takes heavy punishment and shreds enemy hulls.","weaponProfile":"cannon","bombDamage":520},{"id":"high_elf_eagle","name":"High Elf Sky Eagle","race":"high_elf","faction":"High Elves","factionColor":"#4dc8ff","role":"Solar Interceptor","weapon":"Triple Solar Beams","special":"Radiant Burst Bomb","spriteKey":"high_elf_eagle","speed":5,"armor":2,"firepower":4,"desc":"A blazing eagle herald of the heavens with supreme maneuverability and focused solar rays.","weaponProfile":"solar","bombDamage":430},{"id":"human_griffin_rider","name":"Gryphon Rider","race":"human","faction":"Humans","factionColor":"#e6c35c","role":"Shock Storm-Knight","weapon":"Crackling Stormhammers","special":"Stormhammer Bomb","spriteKey":"human_griffin_rider","speed":4,"armor":3,"firepower":4,"desc":"Noble mountain beasts ridden by human champions hurling lightning-infused warhammers.","weaponProfile":"storm","bombDamage":480},{"id":"dark_elf_dragon","name":"Dark Elf Dread Dragon","race":"dark_elf","faction":"Dark Elves","factionColor":"#aa44ff","role":"Venom Stalker","weapon":"Shadow Flame Breath","special":"Umbral Shockwave","spriteKey":"dark_elf_dragon","speed":4,"armor":4,"firepower":5,"desc":"Fierce winged abyssal dragon firing spreading shadow flame that incinerates enemy hulls.","weaponProfile":"shadow","bombDamage":560},{"id":"undead_bone_dragon","name":"Undead Bone Dragon","race":"undead","faction":"Undead","factionColor":"#44ffcc","role":"Dread Dracolich","weapon":"Freezing Ice Shards","special":"Soul Frost Nova","spriteKey":"undead_bone_dragon","speed":3,"armor":5,"firepower":5,"desc":"Colossal skeletal dragon reanimated by necromantic sorcery, blanketing the sky in glacial frost.","weaponProfile":"frost","bombDamage":600},{"id":"goblin_wyvern_rider","name":"Goblin Wyvern Rider","race":"goblin","faction":"Goblins","factionColor":"#55bb33","role":"Brutal War-Hunter","weapon":"Twin Iron Javelins","special":"Scrap Payload Bomb","spriteKey":"goblin_wyvern_rider","speed":4,"armor":3,"firepower":5,"desc":"Vicious winged wyvern armed with barbed javelins that shatter enemy flyers and ground armor alike.","weaponProfile":"javelin","bombDamage":500},{"id":"wood_elf_dragon","name":"Wood Elf Forest Drake","race":"wood_elf","faction":"Wood Elves","factionColor":"#73c95d","role":"Grove Skirmisher","weapon":"Thornwind Volley","special":"Verdant Burst","spriteKey":"wood_elf_dragon","speed":5,"armor":2,"firepower":4,"desc":"A living forest drake that turns the wind itself into a storm of barbed leaves.","weaponProfile":"thorn","bombDamage":460},{"id":"lizardmen_sky_leviathan","name":"Kethraki Sky Leviathan","race":"lizardmen","faction":"Kethraki","factionColor":"#57d3a0","role":"Sunstone Siege Beast","weapon":"Sunstone Bolts","special":"Sunstone Burst","spriteKey":"lizardmen_sky_leviathan","speed":2,"armor":5,"firepower":5,"desc":"A trance-bound Saurian High-Mage levitates a carved sunstone engine that crushes targets with glyphic force.","weaponProfile":"sunstone","bombDamage":650},{"id":"ratmen_doom_flyer","name":"Ratmen Doom Flyer","race":"ratmen","faction":"Ratmen","factionColor":"#d5a15c","role":"Scrapstorm Raider","weapon":"Warp-Spark Scatterguns","special":"Warp-Spark Bomb","spriteKey":"ratmen_doom_flyer","speed":4,"armor":2,"firepower":5,"desc":"A mutant winged rat and its reckless rider spray unstable warp-sparks from scavenged weapons across the sky lane.","weaponProfile":"scrap","bombDamage":540},{"id":"dwarf_thunderhawk","name":"Dwarven Thunderhawk","race":"dwarf","faction":"Dwarves","factionColor":"#e09838","role":"Elite Storm Gunship","weapon":"Overcharged Vulcan","special":"Thunderhead Bomb","spriteKey":"dwarf_thunderhawk","speed":4,"armor":6,"firepower":6,"desc":"A veteran whirlwing rebuilt with storm coils and layered iron plating.","weaponProfile":"cannon","bombDamage":680,"advanced":true,"starterId":"dwarf_gyrocopter"},{"id":"high_elf_dragon","name":"High Elf Crystal Wyrm","race":"high_elf","faction":"High Elves","factionColor":"#4dc8ff","role":"Prismatic Interceptor","weapon":"Prismatic Lance","special":"Crystal Burst Bomb","spriteKey":"high_elf_dragon","speed":6,"armor":3,"firepower":6,"desc":"A crystal-winged wyrm that focuses solar fire through its faceted scales.","weaponProfile":"solar","bombDamage":590,"advanced":true,"starterId":"high_elf_eagle"},{"id":"human_sky_galleon","name":"Human Sky Galleon","race":"human","faction":"Humans","factionColor":"#e6c35c","role":"Royal Broadside","weapon":"Arc Battery","special":"Royal Salvo Bomb","spriteKey":"human_sky_galleon","speed":4,"armor":5,"firepower":6,"desc":"A flying warship whose arc batteries cover the corridor with disciplined volleys.","weaponProfile":"storm","bombDamage":650,"advanced":true,"starterId":"human_griffin_rider"},{"id":"dark_elf_nightbarge","name":"Dark Elf Nightbarge","race":"dark_elf","faction":"Dark Elves","factionColor":"#aa44ff","role":"Umbral Siege Barge","weapon":"Voidfire Broadside","special":"Nightfall Bomb","spriteKey":"dark_elf_nightbarge","speed":5,"armor":5,"firepower":7,"desc":"A silent barge that pours concentrated voidfire through the enemy formation.","weaponProfile":"shadow","bombDamage":740,"advanced":true,"starterId":"dark_elf_dragon"},{"id":"undead_wraith","name":"Undead Wraith","race":"undead","faction":"Undead","factionColor":"#44ffcc","role":"Spectral Gunship","weapon":"Gravewind Shards","special":"Wraith Nova Bomb","spriteKey":"undead_wraith","speed":4,"armor":6,"firepower":7,"desc":"A spectral flyer built for heavy shard volleys and a chilling presence over the corridor.","weaponProfile":"frost","bombDamage":780,"advanced":true,"starterId":"undead_bone_dragon"},{"id":"goblin_sky_shredder","name":"Goblin Sky Shredder","race":"goblin","faction":"Goblins","factionColor":"#55bb33","role":"Scrapstorm Ace","weapon":"Razor Rocket Rack","special":"Junkyard Bomb","spriteKey":"goblin_sky_shredder","speed":5,"armor":4,"firepower":7,"desc":"A barely controlled rocket rig that turns every firing lane into a scrapstorm.","weaponProfile":"javelin","bombDamage":700,"advanced":true,"starterId":"goblin_wyvern_rider"},{"id":"wood_elf_eagle","name":"Wood Elf Great Eagle","race":"wood_elf","faction":"Wood Elves","factionColor":"#73c95d","role":"Grove Guardian","weapon":"Moonthorn Arrows","special":"Groveheart Bomb","spriteKey":"wood_elf_eagle","speed":6,"armor":3,"firepower":6,"desc":"An ancient eagle whose moonlit thorns pierce formations from impossible angles.","weaponProfile":"thorn","bombDamage":620,"advanced":true,"starterId":"wood_elf_dragon"},{"id":"lizardmen_coatl","name":"Kethraki Coatl","race":"lizardmen","faction":"Kethraki","factionColor":"#57d3a0","role":"Sun Serpent","weapon":"Serpent Ray","special":"Solar Coil Bomb","spriteKey":"lizardmen_coatl","speed":4,"armor":6,"firepower":7,"desc":"A sky serpent that projects focused sun rays through the enemy formation.","weaponProfile":"sunstone","bombDamage":820,"advanced":true,"starterId":"lizardmen_sky_leviathan"},{"id":"ratmen_gutter_glider","name":"Ratmen Gutter Glider","race":"ratmen","faction":"Ratmen","factionColor":"#d5a15c","role":"Warpstorm Raider","weapon":"Warp-Spark Chain Guns","special":"Overload Scrap Bomb","spriteKey":"ratmen_gutter_glider","speed":5,"armor":3,"firepower":7,"desc":"A stolen glider overloaded with warp coils and far too much ammunition.","weaponProfile":"scrap","bombDamage":720,"advanced":true,"starterId":"ratmen_doom_flyer"}],"waves":[{"triggerY":20,"unitTypeId":"high_elf_hawk","count":6,"spawnPattern":"v_formation","spawned":false},{"triggerY":25,"unitTypeId":"dwarf_bomber","count":3,"spawnPattern":"line","spawned":false},{"triggerY":37,"unitTypeId":"goblin_wyvern_rider","count":4,"spawnPattern":"pincer","spawned":false},{"triggerY":48,"unitTypeId":"undead_vampire_bat","count":6,"spawnPattern":"line","spawned":false},{"triggerY":60,"unitTypeId":"dark_elf_hawk","count":5,"spawnPattern":"v_formation","spawned":false},{"triggerY":73,"unitTypeId":"high_elf_hawk","count":4,"spawnPattern":"pincer","spawned":false},{"triggerY":78,"unitTypeId":"high_elf_hawk","count":4,"spawnPattern":"v_formation","spawned":false},{"triggerY":66,"unitTypeId":"dark_elf_hawk","count":5,"spawnPattern":"line","spawned":false},{"triggerY":54,"unitTypeId":"undead_vampire_bat","count":6,"spawnPattern":"pincer","spawned":false},{"triggerY":42,"unitTypeId":"goblin_wyvern_rider","count":3,"spawnPattern":"v_formation","spawned":false},{"triggerY":30,"unitTypeId":"dwarf_bomber","count":2,"spawnPattern":"pincer","spawned":false}],"scriptedScoring":true,"progression":"campaign"}},"scripts":[{"id":"gameplay","lang":"js","source":"// Aces of Stone: editable scoring rules, running in the public sandbox.\n// Aircraft, waves and the level are in customRuntime.content.\nsos.lifecycle.onInit(function () {\n  sos.storage.kills = 0;\n  sos.storage.scoreAwarded = 0;\n});\nsos.events.onEvent(function (event) {\n  if (event.name === 'enemy-killed') {\n    var points = event.data.points * event.data.multiplier;\n    sos.storage.kills += 1;\n    sos.storage.scoreAwarded += points;\n    sos.custom.command('awardScore', points);\n  }\n});\n","compiled":"// Aces of Stone: editable scoring rules, running in the public sandbox.\n// Aircraft, waves and the level are in customRuntime.content.\nsos.lifecycle.onInit(function () {\n  sos.storage.kills = 0;\n  sos.storage.scoreAwarded = 0;\n});\nsos.events.onEvent(function (event) {\n  if (event.name === 'enemy-killed') {\n    var points = event.data.points * event.data.multiplier;\n    sos.storage.kills += 1;\n    sos.storage.scoreAwarded += points;\n    sos.custom.command('awardScore', points);\n  }\n});\n","apiLevel":4}]}