This commit is contained in:
Steve 2016-05-15 08:19:26 +01:00
parent 2732fe13ba
commit 50883125e1
171 changed files with 5207 additions and 1042 deletions

View File

@ -1,9 +1,18 @@
Changelog
0.7
* Added trophies
* New campaign missions
* New challenges
* Added new INF fighter: the Angel (rarely used)
* Messagebox speakers are now highlighted
* New Capital Ships
0.6
* New Campaign missions
* Added new fighters: Blizzard, Razor, Shale, SK-31, and SK-34, part of the troublesome Nation of Tzac
* Added new fighters: Blizzard, Razor, Shale, SK-31, and SK-34, part of the troublesome Kingdom of Tzac
* Added control remapping
* Added mines
* New game mode: Challenges

118
README.md
View File

@ -2,74 +2,90 @@
2D mission-based space shooter, based on the Battle for the Solar System space opera novel trilogy.
The develop branch on GitHub (https://github.com/stephenjsweeney/tbftss) is where all the dev work happens. Stable(ish) releases will go in to master.
The develop branch on GitHub (https://github.com/stephenjsweeney/tbftss/tree/develop) is where all the dev work happens. Stable(ish) releases will go in to master (https://github.com/stephenjsweeney/tbftss/tree/master).
You can support development of this game by purchasing one of the books in the trilogy: www.battleforthesolarsystem.com/purchase/
Website: www.battleforthesolarsystem.com
Email: stephenjsweeney@battleforthesolarsystem.com
## SCREENSHOTS
Screenshots from various versions can be found here: https://github.com/stephenjsweeney/tbftss/tree/master/dev/screenshots
## CREDITS
### GRAPHICS
gfx/planets/earth.png - modified from the the Blue Marble NASA photograph: http://visibleearth.nasa.gov/view.php?id=57723
gfx/planets/earth.png - derived from the the Blue Marble NASA photograph: http://visibleearth.nasa.gov/view.php?id=57723
gfx/trophies/bronze.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/gold.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/platinum.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/silver.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
gfx/trophies/unearned.png - dervied from Trophy icon, by Lorc (CC BY 3.0): http://game-icons.net/lorc/originals/trophy.html
All other graphics are CC BY-NC-SA 3.0, with the following attribution: Copyright 2015-2016, Stephen J Sweeney | www.battleforthesolarsystem.com
### DATA FILES (with the exception of Roboto font)
### DATA FILES
CC BY-NC-SA 3.0, with the following attribution: Copyright 2015-2016, Stephen J Sweeney | www.battleforthesolarsystem.com
data/fonts/Roboto-Medium.ttf, by Christian Robertson. Licensed under the Apache License, version 2.0
All other data files are CC BY-NC-SA 3.0, with the following attribution: Copyright 2015-2016, Stephen J Sweeney | www.battleforthesolarsystem.com
### SOUND
* 000000_large_explosion.ogg - created by combining https://freesound.org/people/dkmedic/sounds/104447/ and https://freesound.org/people/CGEffex/sounds/100772/
* 18380__inferno__hvrl.ogg - hvrl, by inferno - https://freesound.org/people/inferno/sounds/18380/
* 18382__inferno__hvylas.ogg - hvylas, by inferno - https://freesound.org/people/inferno/sounds/18382/
* 42106__marcuslee__laser-wrath-4.ogg - Laser Wrath 4, by marcusless - https://freesound.org/people/marcuslee/sounds/42106/
* 47252__nthompson__bad-explosion.ogg - bad explosion, by nthompson - https://freesound.org/people/nthompson/sounds/47252/
* 49678__ejfortin__energy-short-sword-7.ogg - Energy Short Sword, by ejfortin - https://freesound.org/people/ejfortin/sounds/49678/
* 56246__q-k__latch-04.ogg - Latch_04, by Q.K. - https://freesound.org/people/Q.K./sounds/56246/
* 65787__iwilldstroyu__laserrocket.ogg - laserrocket, by iwilldstroyu - https://freesound.org/people/iwilldstroyu/sounds/65787/
* 77087__supraliminal__laser-short.ogg - Laser short, by Supraliminal - https://freesound.org/people/Supraliminal/sounds/77087/
* 88275__s-dij__gbc-reload-06.ogg - GBC_Reload_06, by S_Dij - https://freesound.org/people/S_Dij/sounds/88275/
* 146725__fins__laser.ogg - laser, by fins - https://freesound.org/people/fins/sounds/146725/
* 162265__qubodup__explosive.ogg - Explosive, by qubodup - https://freesound.org/people/qubodup/sounds/162265/
* 178064__jorickhoofd__slam-door-shut.ogg - Slam door shut, by jorickhoofd - https://freesound.org/people/jorickhoofd/sounds/178064/
* 207322__animationisaac__short-explosion.ogg - Short explosion, by animationIsaac - https://freesound.org/people/animationIsaac/sounds/207322/
* 242856__plasterbrain__nuclear-alarm.ogg - Nuclear Alarm, by plasterbrain - https://freesound.org/people/plasterbrain/sounds/242856/
* 249300__suntemple__access-denied.ogg - Access Denied, by suntemple - https://freesound.org/people/suntemple/sounds/249300/
* 254071__tb0y298__firework-explosion.ogg - Firework Explosion, by TB0Y298 - https://freesound.org/people/TB0Y298/sounds/254071/
* 257786__xtrgamr__mouse-click.ogg - Mouse click, by xtrgamr - https://freesound.org/people/xtrgamr/sounds/257786/
* 263621__jamesabdulrahman__permission-to-panic.ogg - Permission to panic?, by jamesabdulrahman - https://freesound.org/people/jamesabdulrahman/sounds/263621/
* 268344__julien-matthey__jm-noiz-laser-01.ogg - JM_NOIZ_Laser 01.wav, by Julien Matthey - https://freesound.org/people/Julien%20Matthey/sounds/268344/
* 275151__bird-man__gun-shot.ogg - Gun Shot.wav, by Bird_man - https://freesound.org/people/Bird_man/sounds/275151/
* 321104__nsstudios__blip2.ogg - blip2, by nsstudios - https://freesound.org/people/nsstudios/sounds/321104/
* 321906__bruce965__walkie-talkie-roger-beep.ogg - Walkie Talkie - Roger Beep, by bruce965 - https://freesound.org/people/bruce965/sounds/321906/
* 322603__clippysounds__glass-break.ogg - Glass Break, by clippysounds - https://freesound.org/people/clippysounds/sounds/322603/
* 276912__pauldihor__transform.ogg - transform, by PaulDihor - https://freesound.org/people/PaulDihor/sounds/276912/
* 329359__bassoonrckr__reed-guillotine.ogg - Bassoon Reed Making Tool Sounds, by Reed Guillotine.wav - https://freesound.org/people/bassoonrckr/sounds/329359/
* 251431__onlytheghosts__fusion-gun-flash0-by-onlytheghosts.ogg - fusion-gun_flash0_by_OnlyTheGhosts.wav, by OnlyTheGhosts - https://freesound.org/people/OnlyTheGhosts/sounds/251431/
* 172591__timbre__zapitydooda.ogg - d1clsstf.wav, by wildweasel - https://freesound.org/people/wildweasel/sounds/39030/
* 39030__wildweasel__d1clsstf.ogg - push_button_switch_07.wav, by joedeshon - https://freesound.org/people/joedeshon/sounds/139061/
* 278142__ricemaster__effect-notify.ogg - effect_notify.wav, by ricemaster - https://freesound.org/people/ricemaster/sounds/278142/
* 254174__kwahmah-02__s.ogg - s.wav, by kwahmah_02 - https://freesound.org/people/kwahmah_02/sounds/254174/
* 172870__escortmarius__carbidexplosion.ogg - carbidexplosion.wav, by escortmarius - https://freesound.org/people/escortmarius/sounds/172870/
* 320181__dland__hint.ogg - hint.wav, by dland - https://freesound.org/people/dland/sounds/320181/
* 000000_large_explosion.ogg - created by combining
* EXPLODE.WAV, by dkmedic (CC-0) - https://freesound.org/people/dkmedic/sounds/104447/
* Huge rocket launcher.wav, by CGEffex (CC-BY) https://freesound.org/people/CGEffex/sounds/100772/
* 18380__inferno__hvrl.ogg - hvrl, by inferno (CC-Sampling+) - https://freesound.org/people/inferno/sounds/18380/
* 18382__inferno__hvylas.ogg - hvylas, by inferno (CC-Sampling+) - https://freesound.org/people/inferno/sounds/18382/
* 42106__marcuslee__laser-wrath-4.ogg - Laser Wrath 4, by marcusless (CC-Sampling+) - https://freesound.org/people/marcuslee/sounds/42106/
* 47252__nthompson__bad-explosion.ogg - bad explosion, by nthompson (CC-0) - https://freesound.org/people/nthompson/sounds/47252/
* 49678__ejfortin__energy-short-sword-7.ogg - Energy Short Sword, by ejfortin (CC-Sampling+) - https://freesound.org/people/ejfortin/sounds/49678/
* 56246__q-k__latch-04.ogg - Latch_04, by Q.K. (CC-0) - https://freesound.org/people/Q.K./sounds/56246/
* 65787__iwilldstroyu__laserrocket.ogg - laserrocket, by iwilldstroyu (CC-0) - https://freesound.org/people/iwilldstroyu/sounds/65787/
* 77087__supraliminal__laser-short.ogg - Laser short, by Supraliminal (CC-0) - https://freesound.org/people/Supraliminal/sounds/77087/
* 88275__s-dij__gbc-reload-06.ogg - GBC_Reload_06, by S_Dij (CC-BY) - https://freesound.org/people/S_Dij/sounds/88275/
* 146725__fins__laser.ogg - laser, by fins (CC-0) - https://freesound.org/people/fins/sounds/146725/
* 162265__qubodup__explosive.ogg - Explosive, by qubodup (CC-0) - https://freesound.org/people/qubodup/sounds/162265/
* 178064__jorickhoofd__slam-door-shut.ogg - Slam door shut, by jorickhoofd (CC-BY) - https://freesound.org/people/jorickhoofd/sounds/178064/
* 207322__animationisaac__short-explosion.ogg - Short explosion, by animationIsaac (CC-0) - https://freesound.org/people/animationIsaac/sounds/207322/
* 242856__plasterbrain__nuclear-alarm.ogg - Nuclear Alarm, by plasterbrain (CC-0) - https://freesound.org/people/plasterbrain/sounds/242856/
* 249300__suntemple__access-denied.ogg - Access Denied, by suntemple (CC-0) - https://freesound.org/people/suntemple/sounds/249300/
* 254071__tb0y298__firework-explosion.ogg - Firework Explosion, by TB0Y298 (CC-BY) - https://freesound.org/people/TB0Y298/sounds/254071/
* 257786__xtrgamr__mouse-click.ogg - Mouse click, by xtrgamr (CC-BY) - https://freesound.org/people/xtrgamr/sounds/257786/
* 263621__jamesabdulrahman__permission-to-panic.ogg - Permission to panic?, by jamesabdulrahman (CC-BY) - https://freesound.org/people/jamesabdulrahman/sounds/263621/
* 268344__julien-matthey__jm-noiz-laser-01.ogg - JM_NOIZ_Laser 01.wav, by Julien Matthey (CC-0) - https://freesound.org/people/Julien%20Matthey/sounds/268344/
* 275151__bird-man__gun-shot.ogg - Gun Shot.wav, by Bird_man (CC-0) - https://freesound.org/people/Bird_man/sounds/275151/
* 321104__nsstudios__blip2.ogg - blip2, by nsstudios (CC-BY) - https://freesound.org/people/nsstudios/sounds/321104/
* 321906__bruce965__walkie-talkie-roger-beep.ogg - Walkie Talkie - Roger Beep, by bruce965 (CC-0) - https://freesound.org/people/bruce965/sounds/321906/
* 322603__clippysounds__glass-break.ogg - Glass Break, by clippysounds (CC-BY) - https://freesound.org/people/clippysounds/sounds/322603/
* 276912__pauldihor__transform.ogg - transform, by PaulDihor (CC-0) - https://freesound.org/people/PaulDihor/sounds/276912/
* 329359__bassoonrckr__reed-guillotine.ogg - Reed Guillotine.wav, by bassoonrckr (CC-0) - https://freesound.org/people/bassoonrckr/sounds/329359/
* 251431__onlytheghosts__fusion-gun-flash0-by-onlytheghosts.ogg - fusion-gun_flash0_by_OnlyTheGhosts.wav, by OnlyTheGhosts (CC-BY) - https://freesound.org/people/OnlyTheGhosts/sounds/251431/
* 172591__timbre__zapitydooda.ogg - d1clsstf.wav, by wildweasel (CC-BY) - https://freesound.org/people/wildweasel/sounds/39030/
* 39030__wildweasel__d1clsstf.ogg - push_button_switch_07.wav, by joedeshon (CC-BY) - https://freesound.org/people/joedeshon/sounds/139061/
* 278142__ricemaster__effect-notify.ogg - effect_notify.wav, by ricemaster (CC-0) - https://freesound.org/people/ricemaster/sounds/278142/
* 254174__kwahmah-02__s.ogg - s.wav, by kwahmah_02 (CC-0) - https://freesound.org/people/kwahmah_02/sounds/254174/
* 172870__escortmarius__carbidexplosion.ogg - carbidexplosion.wav, by escortmarius (CC-BY) - https://freesound.org/people/escortmarius/sounds/172870/
* 320181__dland__hint.ogg - hint.wav, by dland (CC-0) - https://freesound.org/people/dland/sounds/320181/
### MUSIC
* Battle in the winter.mp3, by Johan Brodd - http://opengameart.org/content/battle-in-the-winter
* battleThemeA.mp3, by cynicmusic.com | pixelsphere.org - http://opengameart.org/content/battle-theme-a
* determination.mp3, by artisticdude - http://opengameart.org/content/determination
* heroism.ogg, by Edward J. Blakeley (http://www.edwardblakeley.com/) - http://opengameart.org/content/heroism
* InnerCore_Low.ogg - Gundatsch - https://soundcloud.com/gundatsch
* Pressure.ogg, by yd - http://opengameart.org/content/pressure
* Rise of Spirit, by Alexandr Zhelanov - https://soundcloud.com/alexandr-zhelanov
* Showdown.mp3, by el-corleo - http://opengameart.org/content/showdown
* track-1.mp3, by Alexandr Zhelanov - https://soundcloud.com/alexandr-zhelanov
* track-3.mp3, by Alexandr Zhelanov - https://soundcloud.com/alexandr-zhelanov
* track-4.mp3, by Alexandr Zhelanov - https://soundcloud.com/alexandr-zhelanov
* DST-RailJet-LongSeamlessLoop.ogg, by Deceased Superior Technician - http://opengameart.org/content/railjet-long-seamless-loop
* covert_operations.mp3, by artisticdude - http://opengameart.org/content/covert-operations
* Tactical Pursuit.mp3, by Matthew Pablo - http://opengameart.org/content/tactical-pursuit
* Battle in the winter.mp3, by Johan Brodd (CC-BY) - http://opengameart.org/content/battle-in-the-winter
* battleThemeA.mp3, by cynicmusic.com | pixelsphere.org (CC-0) - http://opengameart.org/content/battle-theme-a
* determination.mp3, by artisticdude (CC-0) - http://opengameart.org/content/determination
* heroism.ogg, by Edward J. Blakeley (GPL 3.0) - http://opengameart.org/content/heroism
* InnerCore_Low.ogg - Gundatsch (CC-BY) - https://soundcloud.com/gundatsch
* Pressure.ogg, by yd (CC-0) - http://opengameart.org/content/pressure
* Rise of Spirit, by Alexandr Zhelanov (CC-0) - https://soundcloud.com/alexandr-zhelanov
* Showdown.mp3, by el-corleo (CC-BY) - http://opengameart.org/content/showdown
* track-3.mp3, by Alexandr Zhelanov (CC-BY) - https://soundcloud.com/alexandr-zhelanov
* track-4.mp3, by Alexandr Zhelanov (CC-BY) - https://soundcloud.com/alexandr-zhelanov
* DST-RailJet-LongSeamlessLoop.ogg, by Deceased Superior Technician (CC-BY) - http://opengameart.org/content/railjet-long-seamless-loop
* covert_operations.mp3, by artisticdude (CC-0) - http://opengameart.org/content/covert-operations
* Tactical Pursuit.mp3, by Matthew Pablo (CC-BY) - http://opengameart.org/content/tactical-pursuit
## ABOUT
This is a work of fiction. Names, characters, businesses, places, events and incidents are either the products of the author's imagination or used in a fictitious manner. Any resemblance to actual persons, living or dead, or actual events is purely coincidental. The Battle for the Solar System : The Pandoran War is © 2015-2016, Stephen J Sweeney, All Rights Reserved. The Battle for the Solar System and all related materials (including, but not limited to, characters, setting, and story elements) are © 2009-2016, Stephen J Sweeney, All Rights Reserved.

17
STATS.md Normal file
View File

@ -0,0 +1,17 @@
# Statistics
* Lines of code: 17876
* Size of source: 548K
* Size of data: 622K
* Size of graphics: 3.6M
* Size of sound: 638K
* Size of music: 51M
* Number of missions: 65 (inc. Sol)
* Number of challenges: 66
* Number of spacecraft: 49
* Number of trophies: 39
* Translatable strings: 770
* Number of GIT revisions: 1133

View File

@ -1,4 +1,4 @@
VERSION = 0.6
VERSION = 0.7
REVISION = $(shell date +"%y%m%d")
LOCALE_MO = $(patsubst %.po,%.mo,$(wildcard locale/*.po))

View File

@ -33,5 +33,11 @@
"CONTROL_NEXT_FIGHTER" : 5,
"CONTROL_SCREENSHOT" : 0
}
},
"gameplay" : {
"friendlyFire" : 0,
"autoSwitchPlayerTarget" : 1,
"missileReTarget" : 0,
"healthBars" : 1
}
}

View File

@ -1,10 +1,67 @@
[
{
"name" : "crate",
"defName" : "crate",
"name" : "a crate",
"texture" : "gfx/items/crate.png"
},
{
"name" : "smallCrate",
"defName" : "smallCrate",
"name" : "a small crate",
"texture" : "gfx/items/smallCrate.png"
},
{
"defName" : "powerCore01",
"name" : "a power core",
"texture" : "gfx/items/powerCore01.png"
},
{
"defName" : "powerCore02",
"name" : "a power core",
"texture" : "gfx/items/powerCore02.png"
},
{
"defName" : "powerCore03",
"name" : "a power core",
"texture" : "gfx/items/powerCore03.png"
},
{
"defName" : "coin01",
"name" : "a coin",
"texture" : "gfx/items/coin01.png"
},
{
"defName" : "coin02",
"name" : "a coin",
"texture" : "gfx/items/coin02.png"
},
{
"defName" : "diamond01",
"name" : "a diamond",
"texture" : "gfx/items/diamond01.png"
},
{
"defName" : "diamond02",
"name" : "a diamond",
"texture" : "gfx/items/diamond02.png"
},
{
"defName" : "diamond03",
"name" : "a diamond",
"texture" : "gfx/items/diamond03.png"
},
{
"defName" : "gem01",
"name" : "a gem",
"texture" : "gfx/items/gem01.png"
},
{
"defName" : "gem02",
"name" : "a gem",
"texture" : "gfx/items/gem02.png"
},
{
"defName" : "gem03",
"name" : "a gem",
"texture" : "gfx/items/gem03.png"
}
]

View File

@ -0,0 +1,156 @@
{
"name" : "HMS Corvette 01",
"health" : 0,
"shield" : 500,
"shieldRechargeRate" : 60,
"texture" : "gfx/capitalShips/hmsCorvette01/body.png",
"components" : [
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette01/core.png",
"x" : 0,
"y" : -140,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette01/component1.png",
"x" : 16,
"y" : -38,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette01/component1.png",
"x" : -16,
"y" : -38,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette01/component2.png",
"x" : -44,
"y" : 4,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette01/component2.png",
"x" : 44,
"y" : 4,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette01/component2.png",
"x" : 43,
"y" : 75,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette01/component2.png",
"x" : -43,
"y" : 75,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
}
],
"engines" : [
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette01/engine1.png",
"x" : -112,
"y" : 295,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette01/engine1.png",
"x" : 112,
"y" : 295,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette01/engine2.png",
"x" : -25,
"y" : 120,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette01/engine3.png",
"x" : 25,
"y" : 120,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
}
],
"guns" : [
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : -75,
"y" : -50,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 75,
"y" : -50,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : -125,
"y" : 200,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 125,
"y" : 200,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 0,
"y" : -250,
"reloadTime" : 40,
"type" : "BT_ROCKET",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 0,
"y" : 70,
"reloadTime" : 40,
"type" : "BT_ROCKET",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
}
]
}

View File

@ -0,0 +1,156 @@
{
"name" : "HMS Corvette 02",
"health" : 0,
"shield" : 500,
"shieldRechargeRate" : 60,
"texture" : "gfx/capitalShips/hmsCorvette02/body.png",
"components" : [
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette02/core.png",
"x" : 0,
"y" : -110,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette02/component1.png",
"x" : -28,
"y" : -16,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette02/component1.png",
"x" : 28,
"y" : -16,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette02/component2.png",
"x" : -182,
"y" : -40,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette02/component2.png",
"x" : 182,
"y" : -40,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette02/component3.png",
"x" : -122,
"y" : 165,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 100,
"texture" : "gfx/capitalShips/hmsCorvette02/component3.png",
"x" : 122,
"y" : 165,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
}
],
"engines" : [
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette02/engine01.png",
"x" : -125,
"y" : 200,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette02/engine01.png",
"x" : 125,
"y" : 200,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette02/engine01.png",
"x" : -178,
"y" : 20,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
},
{
"health" : 150,
"texture" : "gfx/capitalShips/hmsCorvette02/engine01.png",
"x" : 178,
"y" : 20,
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_STATIC"
}
],
"guns" : [
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : -218,
"y" : -90,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 218,
"y" : -90,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : -200,
"y" : 150,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 200,
"y" : 150,
"reloadTime" : 10,
"type" : "BT_PLASMA",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : -50,
"y" : -120,
"reloadTime" : 40,
"type" : "BT_ROCKET",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
},
{
"health" : 250,
"texture" : "gfx/capitalShips/common/cannon01.png",
"x" : 50,
"y" : -120,
"reloadTime" : 40,
"type" : "BT_ROCKET",
"flags" : "EF_NO_MT_BOX+EF_NO_KILL_INC+EF_TAKES_DAMAGE+EF_SECONDARY_TARGET",
"aiFlags" : "AIF_AGGRESSIVE+AIF_LONG_RANGE_FIRE",
"missiles" : 9999
}
]
}

View File

@ -1,6 +1,6 @@
{
"name" : "Destroy all Darts",
"description" : "Destroy all Darts",
"name" : "Destroy all Darts #1",
"description" : "Destroy all Darts #1",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",

View File

@ -1,6 +1,6 @@
{
"name" : "Destroy all Darts",
"description" : "Destroy all Darts",
"name" : "Destroy all Darts #2",
"description" : "Destroy all Darts #2",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",

View File

@ -1,6 +1,6 @@
{
"name" : "Destroy all Darts",
"description" : "Destroy all Darts",
"name" : "Destroy all Darts #3",
"description" : "Destroy all Darts #3",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",

84
data/challenges/15.json Normal file
View File

@ -0,0 +1,84 @@
{
"name" : "Piracy",
"description" : "Piracy",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Dart",
"side" : "SIDE_PIRATE",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25,
"flags" : "+EF_COLLECTS_ITEMS"
},
"challenge" : {
"timeLimit" : 300,
"itemLimit" : 25,
"allowPlayerDeath" : 1,
"challenges" : [
{
"type" : "CHALLENGE_ITEMS",
"value" : 25
},
{
"type" : "CHALLENGE_TIME",
"value" : 240
},
{
"type" : "CHALLENGE_PLAYER_KILLS",
"value" : 15
}
]
},
"spawners" : [
{
"name" : "spawner",
"types" : "Shuttle",
"side" : "SIDE_ALLIES",
"interval" : 10,
"total" : -1,
"step" : 2,
"offscreen" : 1,
"flags" : "+EF_DROPS_ITEMS+EF_MISSION_TARGET",
"aiFlags" : "AIF_DEFENSIVE"
},
{
"name" : "spawner",
"types" : "Dart",
"side" : "SIDE_PIRATE",
"interval" : 5,
"total" : -1,
"step" : 1,
"offscreen" : 1,
"flags" : "+EF_COLLECTS_ITEMS",
"aiFlags" : "+AIF_UNLIMITED_RANGE+AIF_COLLECTS_ITEMS"
},
{
"name" : "tafSpawner",
"types" : "TAF",
"side" : "SIDE_ALLIES",
"interval" : 12,
"total" : -1,
"step" : 1,
"offscreen" : 1,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"active" : 0
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Boss;Blow apart those shuttles and grab the spoils before the CSN gets here. No fighting over the packages, you dogs, this is a team effort."
]
},
{
"function" : "TIME 10",
"lines" : [
"ACTIVATE_SPAWNER 1 tafSpawner"
]
}
]
}

55
data/challenges/16.json Normal file
View File

@ -0,0 +1,55 @@
{
"name" : "Swelling the Ranks",
"description" : "Swelling the Ranks",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Scarab",
"side" : "SIDE_PANDORAN",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25
},
"challenge" : {
"timeLimit" : 240,
"challenges" : [
{
"type" : "CHALLENGE_TIME",
"value" : 120
},
{
"type" : "CHALLENGE_ROCKET_ACCURACY",
"value" : 75
},
{
"type" : "CHALLENGE_ARMOUR",
"value" : 80
}
]
},
"capitalShips" : [
{
"name" : "CSN Denier",
"types" : "CSN Corvette 01",
"side" : "SIDE_ALLIES",
"x" : 20,
"y" : 25
}
],
"script" : [
{
"function" : "CAP_DISABLED CSN Denier",
"lines" : [
"END_CHALLENGE"
]
},
{
"function" : "CAPITAL_SHIPS_DESTROYED 1",
"lines" : [
"FAIL_CHALLENGE"
]
}
]
}

73
data/challenges/17.json Normal file
View File

@ -0,0 +1,73 @@
{
"name" : "Most Wanted",
"description" : "Most Wanted",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Shale",
"side" : "SIDE_REBEL",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25,
"flags" : "+EF_MUST_DISABLE+EF_RETREATING"
},
"challenge" : {
"timeLimit" : 120,
"challenges" : [
{
"type" : "CHALLENGE_TIME",
"value" : 120
},
{
"type" : "CHALLENGE_PLAYER_KILLS",
"value" : 2
},
{
"type" : "CHALLENGE_PLAYER_KILLS",
"value" : 3
}
]
},
"entities" : [
{
"type" : "ET_JUMPGATE",
"side" : "SIDE_NONE",
"x" : 25,
"y" : 25,
"flags" : "EF_DISABLED+EF_NO_HEALTH_BAR"
}
],
"spawners" : [
{
"name" : "spawner",
"types" : "Ray",
"side" : "SIDE_ALLIES",
"interval" : 15,
"total" : 8,
"step" : 1,
"offscreen" : 1
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Help;The jumpgate will come online in just under 2 minutes, for 5 SECONDS ONLY! Evade the CSN until then."
]
},
{
"function" : "TIME 114",
"lines" : [
"ACTIVATE_JUMPGATE 1"
]
},
{
"function" : "TIME 119",
"lines" : [
"ACTIVATE_JUMPGATE 0"
]
}
]
}

72
data/challenges/18.json Normal file
View File

@ -0,0 +1,72 @@
{
"name" : "Solo Patrol",
"description" : "Solo Patrol",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"waypointAutoAdvance" : 1,
"player" : {
"type" : "TAF",
"side" : "SIDE_ALLIES",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25
},
"challenge" : {
"timeLimit" : 240,
"waypointLimit" : 5,
"clearWaypointEnemies" : 1,
"challenges" : [
{
"type" : "CHALLENGE_TIME",
"value" : 240
},
{
"type" : "CHALLENGE_TIME",
"value" : 180
},
{
"type" : "CHALLENGE_PLAYER_KILLS",
"value" : 19
}
]
},
"spawners" : [
{
"name" : "spawner",
"types" : "Dart",
"side" : "SIDE_PIRATE",
"interval" : 12,
"total" : -1,
"step" : 1,
"offscreen" : 1,
"aiFlags" : "AIF_UNLIMITED_RANGE",
"active" : 0
}
],
"entities" : [
{
"type" : "ET_WAYPOINT",
"x" : 25,
"y" : 25,
"scatter" : 10000,
"number" : 5,
"active" : 0
}
],
"script" : [
{
"function" : "Waypoint #1",
"lines" : [
"ACTIVATE_SPAWNER 1 spawner"
]
},
{
"function" : "Waypoint #5",
"lines" : [
"ACTIVATE_SPAWNER 0 spawner"
]
}
]
}

46
data/challenges/19.json Normal file
View File

@ -0,0 +1,46 @@
{
"name" : "Set Phasers to Stun",
"description" : "Set Phasers to Stun",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Angel",
"side" : "SIDE_PANDORAN",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25
},
"challenge" : {
"allowPlayerDeath" : 1,
"disableLimit" : 5,
"timeLimit" : 180,
"eliminateThreats" : 1,
"challenges" : [
{
"type" : "CHALLENGE_DISABLE",
"value" : 2
},
{
"type" : "CHALLENGE_DISABLE",
"value" : 4
},
{
"type" : "CHALLENGE_DISABLE",
"value" : 5
}
]
},
"fighters" : [
{
"types" : "Khepri",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"scatter" : 12000,
"number" : 5,
"aiFlags" : "+AIF_UNLIMITED_RANGE+AIF_DROPS_MINES"
}
]
}

43
data/challenges/20.json Normal file
View File

@ -0,0 +1,43 @@
{
"name" : "No survivors",
"description" : "No survivors",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Scarab",
"side" : "SIDE_PANDORAN",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25
},
"challenge" : {
"killLimit" : 25,
"timeLimit" : 210,
"challenges" : [
{
"type" : "CHALLENGE_PLAYER_KILLS",
"value" : 20
},
{
"type" : "CHALLENGE_PLAYER_KILLS",
"value" : 25
},
{
"type" : "CHALLENGE_ROCKET_ACCURACY",
"value" : 80
}
]
},
"fighters" : [
{
"types" : "Civilian",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"scatter" : 5000,
"number" : 25
}
]
}

57
data/challenges/21.json Normal file
View File

@ -0,0 +1,57 @@
{
"name" : "Initiation",
"description" : "Initiation",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Dart",
"side" : "SIDE_PIRATE",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25,
"flags" : "+EF_COLLECTS_ITEMS"
},
"challenge" : {
"timeLimit" : 120,
"playerItemLimit" : 8,
"allowPlayerDeath" : 1,
"isDeathMatch" : 1,
"challenges" : [
{
"type" : "CHALLENGE_PLAYER_ITEMS",
"value" : 3
},
{
"type" : "CHALLENGE_PLAYER_ITEMS",
"value" : 6
},
{
"type" : "CHALLENGE_PLAYER_ITEMS",
"value" : 8
}
]
},
"spawners" : [
{
"name" : "spawner",
"types" : "Dart",
"side" : "SIDE_PIRATE",
"interval" : 5,
"total" : -1,
"step" : 1,
"offscreen" : 1,
"flags" : "+EF_COLLECTS_ITEMS+EF_DROPS_ITEMS",
"aiFlags" : "+AIF_UNLIMITED_RANGE+AIF_COLLECTS_ITEMS"
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Boss;Three kills to join the team, dogs! Don't forget to collect the kill!"
]
}
]
}

45
data/challenges/22.json Normal file
View File

@ -0,0 +1,45 @@
{
"name" : "Destroy all Darts #4",
"description" : "Destroy all Darts #4",
"background" : "AUTO",
"planet" : "AUTO",
"music" : "AUTO",
"player" : {
"type" : "Shale",
"side" : "SIDE_REBEL",
"pilot" : "-",
"squadron" : "-",
"x" : 25,
"y" : 25
},
"challenge" : {
"timeLimit" : 30,
"killLimit" : 5,
"noMissiles" : 1,
"challenges" : [
{
"type" : "CHALLENGE_TIME",
"value" : 30
},
{
"type" : "CHALLENGE_TIME",
"value" : 27
},
{
"type" : "CHALLENGE_SHOT_ACCURACY",
"value" : 55
}
]
},
"fighters" : [
{
"name" : "Dart",
"types" : "Dart",
"side" : "SIDE_PIRATE",
"x" : 25,
"y" : 22,
"number" : 5,
"scatter" : 1000
}
]
}

33
data/fighters/angel.json Normal file
View File

@ -0,0 +1,33 @@
{
"name" : "Angel",
"health" : 80,
"shield" : 80,
"speed" : 1.8,
"reloadTime" : 15,
"shieldRechargeRate" : 55,
"texture" : "gfx/fighters/angel.png",
"guns" : [
{
"type" : "BT_PLASMA",
"x" : -10,
"y" : 0
},
{
"type" : "BT_PLASMA",
"x" : 10,
"y" : 0
},
{
"type" : "BT_MAG",
"x" : -4,
"y" : -6
},
{
"type" : "BT_MAG",
"x" : 4,
"y" : -6
}
],
"missiles" : 3,
"flags" : "EF_TAKES_DAMAGE"
}

View File

@ -121,7 +121,8 @@
"name": "Rothan",
"side" : "SIDE_UNF",
"x": 366,
"y": 298
"y": 298,
"fallsToPandorans" : 1
},
{
"name": "Donesta",
@ -143,9 +144,10 @@
},
{
"name": "Mace",
"side" : "SIDE_UNF",
"side" : "SIDE_REBEL",
"x": 444,
"y": 359
"y": 359,
"fallsToPandorans" : 1
},
{
"name": "Clarke",

View File

@ -23,6 +23,7 @@
},
"fighters" : [
{
"name" : "Wingmate #?",
"types" : "Firefly;Nymph",
"number" : 3,
"side" : "SIDE_ALLIES",
@ -45,6 +46,7 @@
{
"function" : "Waypoint #2",
"lines" : [
"WAIT 1",
"MSG_BOX Rice;Anyone got anything to report?",
"MSG_BOX Wingmate #1;You getting paranoid, Curtis?",
"MSG_BOX Rice;You all saw what happened at Coyote."
@ -53,11 +55,12 @@
{
"function" : "Waypoint #3",
"lines" : [
"WAIT 1",
"MSG_BOX Wingmate #1;So, those Pandorans are, what, robots?",
"MSG_BOX Wingmate #2;Alien-Human hybrid, I heard.",
"MSG_BOX Wingmate #3;Hard to kill, whatever they are. Heard they'll still be coming at you even if you take both arms off.",
"MSG_BOX Wingmate #2;And what'll they do then? Bite you to death?",
"MSG_BOX Rice;Eyes open, lads"
"MSG_BOX Rice;Eyes open, lads."
]
},
{
@ -66,7 +69,7 @@
"WAIT 1",
"MSG_BOX Rice;We're done. Anyone detect anything unusual?",
"MSG_BOX Wingmate #2;Same old, same old.",
"MSG_BOX Rice;Believe me, that's a good thing. Right, let's head home and report in",
"MSG_BOX Rice;Believe me, that's a good thing. Right, let's head home and report in.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]

View File

@ -4,7 +4,7 @@
],
"name" : "Patrol #3",
"description" : "Following the devastating loss of the Iliad system, we need to continue to be vigilant against incursion into the Alba system. Check all five waypoints, and report immediate any unusual or suspicious activity you encounter.",
"requires" : 28,
"requires" : 27,
"background" : "gfx/backgrounds/background03.jpg",
"planet" : "gfx/planets/torelli.png",
"music" : "",
@ -26,8 +26,18 @@
},
"fighters" : [
{
"name" : "Wingmate #?",
"types" : "Firefly;Nymph",
"number" : 3,
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"scatter" : 500
},
{
"name" : "Wade",
"fullname" : "Frank Wade",
"types" : "Firefly;Nymph",
"number" : 4,
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
@ -48,9 +58,9 @@
{
"function" : "TIME 3",
"lines" : [
"MSG_BOX Wingmate #2;So, Iliad has fallen?",
"MSG_BOX Wingmate #4;From what I've heard.",
"MSG_BOX Wingmate #2;Did they retreat, or ...",
"MSG_BOX Wingmate #1;So, Iliad has fallen?",
"MSG_BOX Wingmate #2;From what I've heard.",
"MSG_BOX Wingmate #1;Did they retreat, or ...",
"MSG_BOX Rice;They fought to the very last."
]
},
@ -58,11 +68,11 @@
"function" : "Waypoint #1",
"lines" : [
"WAIT 3",
"MSG_BOX Wingmate #2;So that's it. The Pandorans have won?",
"MSG_BOX Wingmate #1;So that's it. The Pandorans have won?",
"MSG_BOX Rice;At Iliad, yes. Unless the local forces there can somehow hold off the enemy's ground assault.",
"MSG_BOX Wingmate #4;It's ... possible, right?",
"MSG_BOX Wingmate #2;It's ... possible, right?",
"MSG_BOX Rice;The Pandorans will just nuke the place when they're done. They'll take what they need, kill everyone who stands in their way ...",
"MSG_BOX Wingmate #2;And even those who don't.",
"MSG_BOX Wingmate #1;And even those who don't.",
"MSG_BOX Rice;...and move on."
]
},
@ -70,12 +80,12 @@
"function" : "Waypoint #2",
"lines" : [
"WAIT 3",
"MSG_BOX Wingmate #2;You're quiet, Wade.",
"MSG_BOX Wingmate #1;You're quiet, Wade.",
"MSG_BOX Wade;Just thinking.",
"MSG_BOX Wingmate #4;What about?",
"MSG_BOX Wingmate #2;What about?",
"MSG_BOX Wade;How long it'll be before the Pandorans show up here.",
"MSG_BOX Wingmate #2;They came by earlier, in case you don't remember.",
"MSG_BOX Wingmate #4;And haven't been back since. Maybe we scared them off.",
"MSG_BOX Wingmate #1;They came by earlier, in case you don't remember.",
"MSG_BOX Wingmate #2;And haven't been back since. Maybe we scared them off.",
"MSG_BOX Rice;I doubt it, guys. They were probably just scouting."
]
},
@ -83,12 +93,12 @@
"function" : "Waypoint #3",
"lines" : [
"WAIT 3",
"MSG_BOX Wingmate #2;Where the hell are the CSN? Why weren't they at Iliad?",
"MSG_BOX Wingmate #1;Where the hell are the CSN? Why weren't they at Iliad?",
"MSG_BOX Rice;They weren't wanted, apparently. Iliad and the UNF aren't getting along so well at the moment.",
"MSG_BOX Wingmate #4;Something to do with Adrian Parsons?",
"MSG_BOX Wingmate #2;That bloody idiot? It wouldn't surprise me. He's the reason we're now in this mess! If I ever meet that guy, nothing'll stop me from-",
"MSG_BOX Wingmate #2;Something to do with Adrian Parsons?",
"MSG_BOX Wingmate #1;That bloody idiot? It wouldn't surprise me. He's the reason we're now in this mess! If I ever meet that guy, nothing'll stop me from-",
"MSG_BOX Rice;Hey, mind what you say. All these communications are logged.",
"MSG_BOX Wingmate #2;(indecipherable muttering)"
"MSG_BOX Wingmate #1;(indecipherable muttering)"
]
},
{
@ -96,10 +106,10 @@
"lines" : [
"WAIT 3",
"MSG_BOX Wade;What do you mean, it's all Parsons' fault?",
"MSG_BOX Wingmate #2;He made an executive decision over in Coyote several months ago, that screwed everything up. Something about being charged with a super weapon.",
"MSG_BOX Wingmate #1;He made an executive decision over in Coyote several months ago, that screwed everything up. Something about being charged with a super weapon.",
"MSG_BOX Wade;Grendel's Mother?",
"MSG_BOX Wingmate #2;No, something it was carrying. Linked to the ATAFs, apparently.",
"MSG_BOX Wingmate #4;The CSN built something that nuked a whole load of allied and Pandoran forces. It wasn't meant to be used in Coyote, though.",
"MSG_BOX Wingmate #1;No, something it was carrying. Linked to the ATAFs, apparently.",
"MSG_BOX Wingmate #2;The CSN built something that nuked a whole load of allied and Pandoran forces. It wasn't meant to be used in Coyote, though.",
"MSG_BOX Wade;You don't say.",
"MSG_BOX Rice;Okay, lads, let's wrap this topic up, eh?"
]
@ -110,8 +120,8 @@
"WAIT 1",
"MSG_BOX Rice;That's it, all done. Anyone got anything to report?",
"MSG_BOX Wade;Nothing.",
"MSG_BOX Wingmate #1;Nope.",
"MSG_BOX Wingmate #2;Nope.",
"MSG_BOX Wingmate #4;Nope.",
"MSG_BOX Rice;Okay, let's get home and report in.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"

View File

@ -0,0 +1,209 @@
{
"name" : "Alba Defence #2",
"description" : "",
"requires" : 50,
"background" : "gfx/backgrounds/background03.jpg",
"planet" : "gfx/planets/torelli.png",
"music" : "music/battle/heroism.ogg",
"manualComplete" : 1,
"objectives" : [
{
"description" : "Eliminate all enemy targets",
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
},
{
"description" : "Destroy HMS 821-283",
"targetName" : "HMS 821-283",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"active" : 0
},
{
"description" : "Destroy INF Burnside",
"targetName" : "INF Burnside",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"active" : 0
}
],
"player" : {
"type" : "Leopard",
"side" : "SIDE_ALLIES",
"pilot" : "1st Lt. Curtis Rice",
"squadron" : "Eightballers",
"x" : 25,
"y" : 5
},
"fighters" : [
{
"types" : "Leopard;Firefly;Nymph",
"number" : 11,
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 5,
"scatter" : 500
},
{
"types" : "Shale;Razor;SK-31;SK-34",
"number" : 5,
"side" : "SIDE_REBEL",
"x" : 25,
"y" : 12,
"scatter" : 500
},
{
"groupName" : "Rebels-1",
"types" : "Shale;Razor;SK-31;SK-34",
"number" : 4,
"side" : "SIDE_REBEL",
"x" : 20,
"y" : -1,
"scatter" : 500,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"active" : 0
},
{
"groupName" : "Rebels-1",
"types" : "Shale;Razor;SK-31;SK-34",
"number" : 4,
"side" : "SIDE_REBEL",
"x" : 30,
"y" : -1,
"scatter" : 500,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"active" : 0
},
{
"groupName" : "Rebels-2",
"types" : "Shale;Razor;SK-31;SK-34",
"number" : 48,
"side" : "SIDE_REBEL",
"x" : -1,
"y" : 35,
"scatter" : 8500,
"flags" : "+EF_AI_TARGET",
"aiFlags" : "+AIF_MOVES_TO_LEADER",
"active" : 0
},
{
"groupName" : "Pandorans",
"name" : "Pandoran",
"types" : "Jackal;Sphinx;Mantis;Thunderhead",
"number" : 48,
"side" : "SIDE_PANDORAN",
"x" : 51,
"y" : 35,
"scatter" : 8500,
"flags" : "+EF_AI_TARGET",
"aiFlags" : "+AIF_MOVES_TO_LEADER",
"active" : 0
},
{
"groupName" : "White Knights",
"name" : "de Winter",
"types" : "ATAF",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : -1,
"scatter" : 500,
"active" : 0
},
{
"groupName" : "White Knights",
"types" : "ATAF",
"number" : 4,
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : -1,
"scatter" : 500,
"active" : 0
}
],
"capitalShips" : [
{
"groupName" : "CapShips",
"name" : "HMS 821-283",
"types" : "HMS Corvette 01",
"side" : "SIDE_REBEL",
"x" : -1,
"y" : 35,
"flags" : "+EF_AI_LEADER",
"active" : 0
},
{
"groupName" : "CapShips",
"name" : "INF Burnside",
"types" : "INF Corvette 02",
"side" : "SIDE_PANDORAN",
"x" : 51,
"y" : 35,
"flags" : "+EF_AI_LEADER",
"active" : 0
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Rice;Break and attack, lads. Let's send these guys back home."
]
},
{
"function" : "ENEMIES_KILLED 5",
"lines" : [
"WAIT 1",
"MSG_BOX Wingmate;More Tzac fighters incoming.",
"ACTIVATE_ENTITY_GROUPS Rebels-1"
]
},
{
"function" : "ENEMIES_KILLED 13",
"lines" : [
"WAIT 1",
"ACTIVATE_ENTITY_GROUPS Rebels-2;Pandorans",
"MSG_BOX Rice;Steel yourself, lads. Even more Tzac forces are heading our way.",
"WAIT_MSG_BOX",
"ACTIVATE_OBJECTIVES Destroy HMS 821-283;Destroy INF Burnside",
"ACTIVATE_ENTITY_GROUPS CapShips",
"MSG_BOX Wingmate;Picking up two capital ships, moving in.",
"MSG_BOX Rice;Wait, those aren't only Tzac forces ... ",
"MSG_BOX Rice;Ah, hell! Now we've got Pandorans, too?!"
]
},
{
"function" : "ALLIES_KILLED 8",
"lines" : [
"MSG_BOX Wingmate;Commander, we're getting shot to ribbons here! We need to fallback!",
"MSG_BOX Rice;We can't let EITHER of these two win! That would be a major loss for all of us."
]
},
{
"function" : "ALLIES_KILLED 11",
"lines" : [
"WAIT 5",
"MSG_BOX de Winter;Eightballers, de Winter of the White Knights, here to assist.",
"MSG_BOX Rice;White Knights! Am I glad to see you. Your timing couldn't be better.",
"ACTIVATE_ENTITY_GROUPS White Knights"
]
},
{
"function" : "OBJECTIVES_COMPLETE 3",
"lines" : [
"WAIT 1",
"MSG_BOX Rice;I owe you my life, Knights.",
"MSG_BOX de Winter;We're all in this together, Rice. I'm sorry we arrived too late to save your wingmates.",
"MSG_BOX Rice;They were good guys. They'll be missed.",
"WAIT_MSG_BOX",
"ACTIVATE_JUMPGATE 1",
"RETREAT_ALLIES",
"WAIT 3",
"MSG_BOX de Winter;We're needed elsewhere. We'll see you soon.",
"COMPLETE_MISSION"
]
}
]
}

View File

@ -1,10 +1,10 @@
{
"name" : "Antomis Offence #2",
"name" : "Antomis Offence #1",
"description" : "With the mercenary threat seen off and Tzac's initial attacks thwarted, it's time to begin pushing back against Christabel's forces. We plan to capture a number of their commanders, to help build a better picture of the forces at Mace, before moving into the system. As always, mag the targets and do not allow them to be killed.",
"background" : "gfx/backgrounds/background02.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/determination.mp3",
"requires" : 45,
"requires" : 44,
"manualComplete" : 1,
"objectives" : [
{

View File

@ -0,0 +1,82 @@
{
"name" : "Antomis Defence #2",
"description" : "",
"background" : "gfx/backgrounds/background02.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/Tactical Pursuit.mp3",
"requires" : 44,
"epic" : {
"fighterLimit" : 12
},
"objectives" : [
{
"description" : "Destroy INF Sharpfinger",
"targetName" : "INF Sharpfinger",
"targetValue" : 1,
"targetType" : "TT_DESTROY"
},
{
"description" : "Destroy all enemy targets",
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
}
],
"player" : {
"type" : "TAF",
"side" : "SIDE_ALLIES",
"pilot" : "(Multiple)",
"squadron" : "(Multiple)",
"x" : 25,
"y" : 25
},
"fighters" : [
{
"name" : "Wingmate #?",
"types" : "TAF;Ray;Kingfisher;Rook",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"number" : 98,
"scatter" : 5000,
"flags" : "+EF_AI_TARGET"
},
{
"name" : "Wing Commander",
"types" : "Rook",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"scatter" : 5000,
"flags" : "+EF_AI_TARGET"
},
{
"name" : "Pandoran",
"types" : "Jackal;Scarab;Mantis;Sphinx;Thunderhead",
"side" : "SIDE_PANDORAN",
"x" : 25,
"y" : 15,
"number" : 75,
"scatter" : 8000
}
],
"capitalShips" : [
{
"name" : "INF Sharpfinger",
"types" : "INF Corvette 02",
"side" : "SIDE_PANDORAN",
"x" : 25,
"y" : 10
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Wing Commander;People, divide yourselves between the fighters and the Sharpfinger.",
"MSG_BOX Wing Commander;We couldn't spare any bombers, so we just need to get in there and take them all on."
]
}
]
}

View File

@ -0,0 +1,268 @@
{
"name" : "Aster Assault",
"description" : "",
"requires" : 54,
"background" : "gfx/backgrounds/background04.jpg",
"planet" : "gfx/planets/star.png",
"music" : "music/battle/Battle in the winter.mp3",
"manualComplete" : 1,
"objectives" : [
{
"description" : "Disable all fighters",
"targetName" : "Rebels",
"targetValue" : 32,
"targetType" : "TT_DISABLE"
},
{
"description" : "Disable all capital ships",
"targetName" : "CapShips",
"targetValue" : 4,
"targetType" : "TT_DISABLE"
},
{
"description" : "Do not destroy any fighters",
"targetName" : "Rebels",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isCondition" : 1
},
{
"description" : "Do not destroy any capital ships",
"targetName" : "CapShips",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isCondition" : 1
}
],
"player" : {
"type" : "ATAF",
"side" : "SIDE_ALLIES",
"pilot" : "Lt. Cdr. Simon Dodds",
"squadron" : "White Knights",
"x" : 5,
"y" : 45
},
"fighters" : [
{
"name" : "de Winter",
"types" : "ATAF",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500,
"flags" : "+EF_AI_LEADER",
"aiFlags" : "+AIF_UNLIMITED_RANGE"
},
{
"name" : "Todd",
"types" : "ATAF",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"name" : "Taylor",
"types" : "ATAF",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"name" : "Koonan",
"types" : "ATAF",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Shale;Razor",
"side" : "SIDE_REBEL",
"x" : 10,
"y" : 10,
"scatter" : 500,
"flags" : "+EF_MUST_DISABLE+EF_AI_LEADER",
"aiFlags" : "+AIF_WANDERS"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Shale;Razor",
"side" : "SIDE_REBEL",
"x" : 10,
"y" : 10,
"scatter" : 5000,
"number" : 7,
"flags" : "+EF_MUST_DISABLE",
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Shale;Razor",
"side" : "SIDE_REBEL",
"x" : 20,
"y" : 20,
"scatter" : 500,
"flags" : "+EF_MUST_DISABLE+EF_AI_LEADER",
"aiFlags" : "+AIF_WANDERS"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Razor",
"side" : "SIDE_REBEL",
"x" : 20,
"y" : 20,
"scatter" : 5000,
"number" : 7,
"flags" : "+EF_MUST_DISABLE",
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Shale;Razor",
"side" : "SIDE_REBEL",
"x" : 30,
"y" : 30,
"scatter" : 500,
"flags" : "+EF_MUST_DISABLE+EF_AI_LEADER",
"aiFlags" : "+AIF_WANDERS"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Razor",
"side" : "SIDE_REBEL",
"x" : 30,
"y" : 30,
"scatter" : 5000,
"number" : 7,
"flags" : "+EF_MUST_DISABLE",
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Shale;Razor",
"side" : "SIDE_REBEL",
"x" : 40,
"y" : 40,
"scatter" : 500,
"flags" : "+EF_MUST_DISABLE+EF_AI_LEADER",
"aiFlags" : "+AIF_WANDERS"
},
{
"groupName" : "Rebels",
"types" : "SK-31;SK-34;Razor",
"side" : "SIDE_REBEL",
"x" : 40,
"y" : 40,
"scatter" : 5000,
"number" : 7,
"flags" : "+EF_MUST_DISABLE",
"aiFlags" : "+AIF_MOVES_TO_LEADER"
}
],
"capitalShips" : [
{
"groupName" : "CapShips",
"name" : "HMS 281-024",
"types" : "HMS Corvette 01",
"side" : "SIDE_REBEL",
"x" : 10,
"y" : 10,
"flags" : "+EF_AI_IGNORE+EF_AI_LEADER"
},
{
"groupName" : "CapShips",
"name" : "HMS 121-008",
"types" : "HMS Corvette 02",
"side" : "SIDE_REBEL",
"x" : 20,
"y" : 20,
"flags" : "+EF_AI_IGNORE+EF_AI_LEADER"
},
{
"groupName" : "CapShips",
"name" : "HMS 711-555",
"types" : "HMS Corvette 02",
"side" : "SIDE_REBEL",
"x" : 30,
"y" : 30,
"flags" : "+EF_AI_IGNORE+EF_AI_LEADER"
},
{
"groupName" : "CapShips",
"name" : "HMS 613-910",
"types" : "HMS Corvette 01",
"side" : "SIDE_REBEL",
"x" : 40,
"y" : 40,
"flags" : "+EF_AI_IGNORE+EF_AI_LEADER"
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX de Winter;Remember, guys: mags only against the fighters. We're not here to take any more lives.",
"MSG_BOX de Winter;For the corvettes, concentrate fire on the engines and the guns. Once it's out of the game, move onto the next one.",
"MSG_BOX Dodds;Got it."
]
},
{
"function" : "TIME 30",
"lines" : [
"MSG_BOX Koonan;We should lure the fighters away from the capital ships. Stray fire against a disabled ship could destroy it.",
"MSG_BOX de Winter;Good point, Chaz, we should be mindful of friendly-fire."
]
},
{
"function" : "CAP_DISABLED HMS 121-008",
"lines" : [
"WAIT 1",
"MSG_BOX Dodds;Brings back memories, doesn't it?",
"MSG_BOX Todd;So long as we don't end up back in Phylent after this."
]
},
{
"function" : "ENEMIES_DISABLED 20",
"lines" : [
"WAIT 1",
"MSG_BOX Dodds;This going in your journal, Kelly?",
"MSG_BOX Taylor;Everything. It could be important one day.",
"MSG_BOX Todd;Have fun with the names of Tzac's cap ships.",
"MSG_BOX Taylor;I'll just refer to the battle logs. Military records tend to be accurate.",
"MSG_BOX Dodds;Most of the time."
]
},
{
"function" : "Disable all fighters",
"lines" : [
"WAIT 1",
"MSG_BOX Koonan;All fighters disabled."
]
},
{
"function" : "Disable all capital ships",
"lines" : [
"WAIT 1",
"MSG_BOX de Winter;Corvettes are all out of the game."
]
},
{
"function" : "ALL_OBJECTIVES_COMPLETE",
"lines" : [
"WAIT 1",
"MSG_BOX de Winter;Griffin, this is de Winter. Opposing forces are no longer a threat.",
"MSG_BOX CSN Griffin;Any casualties?",
"MSG_BOX de Winter;No. All fighters and caps have been shutdown, and ready for pickup.",
"MSG_BOX CSN Griffin;Great work, Knights. Clean up will commence shortly. Standby for new instructions.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
}
]
}

View File

@ -11,9 +11,10 @@
"objectives" : [
{
"description" : "Destroy all enemy targets",
"targetName" : "Pandoran",
"targetValue" : 80,
"targetType" : "TT_DESTROY"
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
}
],
"player" : {

View File

@ -1,7 +1,7 @@
{
"name" : "Clarke Defence #4",
"description" : "White Knights, Commodore Parks has identified three enemy corvettes are high level targets. He wants Dodds, Koonan and Todd to take them down, as quickly as possible. There won't be any additional fighter support, but three ATAFs should be more than enough to get the job done. de Winter and Taylor are currently on another assignment. Dodds will lead the attack.",
"requires" : 29,
"requires" : 28,
"background" : "gfx/backgrounds/background06.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/heroism.ogg",

View File

@ -10,8 +10,9 @@
{
"description" : "Destroy all enemy targets",
"targetName" : "Pandoran",
"targetValue" : 150,
"targetType" : "TT_DESTROY"
"targetValue" : 999,
"targetType" : "TT_DESTROY",
"hideNumbers" : 1
}
],
"epic" : {
@ -90,7 +91,7 @@
"function" : "TIME 2",
"lines" : [
"MSG_BOX Wing Commander;The Twilight Lancers are on their way.",
"MSG_BOX Wingmate #62;Eight whole extra fighters? We might outnumber the enemy, but they still outgun us!",
"MSG_BOX Wingmate;Eight whole extra fighters? We might outnumber the enemy, but they still outgun us!",
"MSG_BOX Wing Commander;At this point, any additional support is welcome. And we still have the support of Cleopatra and Artemis."
]
},
@ -106,17 +107,17 @@
"function" : "ENEMIES_KILLED 50",
"lines" : [
"MSG_BOX Wing Commander;We're wearing them down. Keep up the pressure.",
"MSG_BOX Wingmate #31;Think they're pull back if we hit them hard enough?",
"MSG_BOX Wingmate;Think they're pull back if we hit them hard enough?",
"MSG_BOX Wing Commander;Too early to speculate. Just concentrate on taking down their fighters."
]
},
{
"function" : "ENEMIES_KILLED 75",
"lines" : [
"MSG_BOX Wingmate #88;I've just been tailed by something I've never seen before! Small, highly maneuverable, rapid fire particle cannon.",
"MSG_BOX Wingmate;I've just been tailed by something I've never seen before! Small, highly maneuverable, rapid fire particle cannon.",
"MSG_BOX Welch;Swarmers! The enemy have deployed them here, too!",
"MSG_BOX Wing Commander;How many?",
"MSG_BOX Wingmate #82;Tracking a dozen, but the numbers are growing rapidly",
"MSG_BOX Wingmate;Tracking a dozen, but the numbers are growing rapidly",
"WAIT_MSG_BOX",
"ACTIVATE_SPAWNER 1 SwarmerSpawner"
]
@ -124,40 +125,16 @@
{
"function" : "ALLIES_KILLED 150",
"lines" : [
"MSG_BOX Wingmate #88;I've lost count how many of these damn swarmers I've taken down.",
"MSG_BOX Wingmate #120;It's like fighting a hydra! You cut off one head, and two more spring up!"
"MSG_BOX Wingmate;I've lost count how many of these damn swarmers I've taken down.",
"MSG_BOX Wingmate;It's like fighting a hydra! You cut off one head, and two more spring up!"
]
},
{
"function" : "ALLIES_KILLED 195",
"lines" : [
"MSG_BOX Wingmate #181;There's too many of them!",
"MSG_BOX Wingmate #31;Keep fighting, we can still win this!",
"MSG_BOX Wingmate #111;They're everywhere! I--"
]
},
{
"function" : "CAP_ENGINES_DESTROYED UNF Cleopatra",
"lines" : [
"IMPORTANT_MSG_BOX UNF Cleopatra;This is UNF Cleopatra. We are engine crippled. Please provide cover support!"
]
},
{
"function" : "CAP_HEALTH UNF Cleopatra 3",
"lines" : [
"IMPORTANT_MSG_BOX UNF Cleopatra;Mayday! Mayday! We are taking heavy damage! Please assist ASAP!"
]
},
{
"function" : "CAP_ENGINES_DESTROYED UNF Artemis",
"lines" : [
"IMPORTANT_MSG_BOX Wing Commander;Artemis has lost her engines. We need to keep those Pandorans off her!"
]
},
{
"function" : "CAP_HEALTH UNF Artemis 3",
"lines" : [
"IMPORTANT_MSG_BOX UNF Artemis;All fighters, we're taking a pounding here, we don't know how much longer we can survive this."
"MSG_BOX Wingmate;There's too many of them!",
"MSG_BOX Wingmate;Keep fighting, we can still win this!",
"MSG_BOX Wingmate;They're everywhere! I--"
]
},
{

View File

@ -11,9 +11,10 @@
"objectives" : [
{
"description" : "Destroy all enemy targets",
"targetName" : "Pandoran",
"targetValue" : 75,
"targetType" : "TT_DESTROY"
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
}
],
"player" : {

View File

@ -1,7 +1,7 @@
{
"name" : "Donesta Offence #1",
"description" : "With the mercenary threat seen off and Tzac's initial attacks thwarted, it's time to begin pushing back against Christabel's forces. We plan to capture a number of their commanders, to help build a better picture of the forces at Mace, before moving into the system. As always, mag the targets and do not allow them to be killed.",
"requires" : 45,
"requires" : 44,
"background" : "gfx/backgrounds/background01.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/heroism.ogg",

View File

@ -0,0 +1,69 @@
{
"name" : "Donesta Defence #2",
"description" : "",
"requires" : 44,
"background" : "gfx/backgrounds/background01.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/Tactical Pursuit.mp3",
"manualComplete" : 1,
"epic" : {
"fighterLimit" : 12
},
"objectives" : [
{
"description" : "Destroy all enemy targets",
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
}
],
"player" : {
"type" : "Nymph",
"side" : "SIDE_ALLIES",
"pilot" : "(Multiple)",
"squadron" : "(Multiple)"
},
"fighters" : [
{
"name" : "ALLIES",
"types" : "Firefly;Nymph;TAF;Ray;Leopard;Hyena-A;Hyena-B;Kingfisher;Rook",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"number" : 100,
"scatter" : 5000
},
{
"name" : "Pandoran",
"types" : "Firefly;Nymph;Nymph;Leopard;Hyena-A;Hyena-B",
"side" : "SIDE_PANDORAN",
"x" : 25,
"y" : 15,
"number" : 80,
"scatter" : 5000,
"flags" : "+EF_FRIENDLY_HEALTH_BAR"
}
],
"script" : [
{
"function" : "TIME 2",
"lines" : [
"MSG_BOX Wing Commander;Remember everyone: the Pandorans are using UNF fighters.",
"MSG_BOX Wing Commander;Using your radar and HUD is the way to go in this fight."
]
},
{
"function" : "ALL_OBJECTIVES_COMPLETE",
"lines" : [
"WAIT 1",
"MSG_BOX Wing Commander;All enemies down.",
"MSG_BOX Wingmate;Let's hope we never see the day when they get hold of one of the ATAFs.",
"MSG_BOX Wing Commander;Agreed. Let's regroup and prepare for whatever's coming next.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
}
]
}

View File

@ -11,9 +11,10 @@
"objectives" : [
{
"description" : "Destroy all enemy targets",
"targetName" : "Pandoran",
"targetValue" : 50,
"targetType" : "TT_DESTROY"
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
}
],
"player" : {

View File

@ -13,8 +13,9 @@
{
"description" : "Destroy all enemy targets",
"targetName" : "Pandoran",
"targetValue" : 500,
"targetType" : "TT_DESTROY"
"targetValue" : 999,
"targetType" : "TT_DESTROY",
"hideNumbers" : 1
}
],
"player" : {
@ -83,8 +84,8 @@
"function" : "TIME 2",
"lines" : [
"MSG_BOX Wing Commander;Stay sharp, people. We need to hold the line here!",
"MSG_BOX Wingmate #31;Oh my God, there's a lot of them ...",
"MSG_BOX Wingmate #82;Pair up, and take them down together. We stand a much better chance that way."
"MSG_BOX Wingmate;Oh my God, there's a lot of them ...",
"MSG_BOX Wingmate;Pair up, and take them down together. We stand a much better chance that way."
]
},
{
@ -92,24 +93,24 @@
"lines" : [
"ACTIVATE_ENTITIES INF Qama;INF Seax;INF Mora;INF Sharpfinger",
"MSG_BOX Wing Commander;Heads up, people. Four INF corvettes just entered the area.",
"MSG_BOX Wingmate #41;What's happened to all our own capital ships?!",
"MSG_BOX Wingmate;What's happened to all our own capital ships?!",
"MSG_BOX Wing Commander;They've been scratched."
]
},
{
"function" : "ALLIES_KILLED 60",
"lines" : [
"MSG_BOX Wingmate #63;That Dust Brothers have been flagged."
"MSG_BOX Wingmate;That Dust Brothers have been flagged."
]
},
{
"function" : "ALLIES_KILLED 90",
"lines" : [
"MSG_BOX Wingmate #94;We have to sound the retreat!",
"MSG_BOX Wingmate;We have to sound the retreat!",
"MSG_BOX Wing Commander;Mister, you remain where you are! We're not abando--",
"WAIT_MSG_BOX",
"WAIT 3",
"MSG_BOX Wingmate #98;The wing commander's dead."
"MSG_BOX Wingmate;The wing commander's dead."
]
}
]

View File

@ -107,30 +107,6 @@
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
},
{
"function" : "CAP_ENGINES_DESTROYED UNF Hopper",
"lines" : [
"IMPORTANT_MSG_BOX UNF Hopper;Our engines have been shot out! We're a sitting duck!"
]
},
{
"function" : "CAP_HEALTH UNF Hopper 6",
"lines" : [
"IMPORTANT_MSG_BOX UNF Hopper;We're taking damage here, guys! Please step it up."
]
},
{
"function" : "CAP_HEALTH UNF Hopper 3",
"lines" : [
"IMPORTANT_MSG_BOX UNF Hopper;We're sustaining heavy damage! All fighters, please assist, ASAP!"
]
},
{
"function" : "CAP_HEALTH UNF Hopper 1",
"lines" : [
"IMPORTANT_MSG_BOX UNF Hopper;Mayday! Mayday! Defences are critical. We can't hold out much longer!"
]
}
]
}

View File

@ -0,0 +1,168 @@
{
"name" : "Mace Assault #1",
"description" : "",
"requires" : 50,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/battleThemeA.mp3",
"manualComplete" : 1,
"player" : {
"type" : "Hammerhead",
"pilot" : "Lt. Cdr. Ian Barclay",
"squadron" : "Iron Wolves",
"side" : "SIDE_ALLIES",
"x" : 45,
"y" : 25
},
"objectives" : [
{
"description" : "Knock jumpgate offline",
"targetName" : "Jumpgate",
"targetValue" : 1,
"targetType" : "TT_DESTROY"
},
{
"description" : "Eliminate all enemies",
"targetName" : "ENEMY",
"targetType" : "TT_DESTROY",
"targetValue" : 1,
"isEliminateAll" : 1
}
],
"fighters" : [
{
"name" : "Wolfenden",
"fullname" : "Tamara Wolfenden",
"types" : "Rook",
"side" : "SIDE_ALLIES",
"x" : 45,
"y" : 25,
"scatter" : 500,
"flags" : "+EF_AI_LEADER+EF_IMMORTAL",
"aiFlags" : "+AIF_UNLIMITED_RANGE"
},
{
"types" : "TAF;Ray",
"number" : 6,
"side" : "SIDE_ALLIES",
"x" : 45,
"y" : 25,
"scatter" : 500,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"types" : "Rapid Plasma Turret",
"number" : 8,
"side" : "SIDE_REBEL",
"x" : 10,
"y" : 25,
"scatter" : 700
},
{
"types" : "Shale;Razor",
"number" : 7,
"side" : "SIDE_REBEL",
"x" : 30,
"y" : 28,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"scatter" : 500
},
{
"groupName" : "Rebels-1",
"types" : "SK-31;SK-34",
"number" : 7,
"side" : "SIDE_REBEL",
"x" : 25,
"y" : 28,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"scatter" : 500,
"active" : 0
},
{
"groupName" : "Rebels-2",
"types" : "Blizzard",
"number" : 5,
"side" : "SIDE_REBEL",
"x" : 20,
"y" : 25,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"scatter" : 500,
"active" : 0
}
],
"entities" : [
{
"name" : "Jumpgate",
"type" : "ET_JUMPGATE",
"side" : "SIDE_REBEL",
"x" : 10,
"y" : 25
}
],
"script" : [
{
"function" : "TIME 2",
"lines" : [
"MSG_BOX Wolfenden;Our goal is the jumpgate. Expect a lot of resistance.",
"MSG_BOX Wolfenden;Once we're they, we need to destroy the control nodes to shut it down. Barclay, that's your job."
]
},
{
"function" : "ENEMIES_KILLED 7",
"lines" : [
"WAIT 2",
"MSG_BOX Wingmate;More enemies incoming.",
"ACTIVATE_ENTITY_GROUPS Rebels-1"
]
},
{
"function" : "ENEMIES_KILLED 14",
"lines" : [
"WAIT 5",
"MSG_BOX Wingmate;Commander, I'm detecting a wing of Blizzards, incoming.",
"MSG_BOX Wolfenden;Couldn't expect Tzac not to bring out the heavy guns. Let's take it to them, people.",
"ACTIVATE_ENTITY_GROUPS Rebels-2"
]
},
{
"function" : "ENEMIES_KILLED 19",
"lines" : [
"WAIT 1",
"MSG_BOX Wolfenden;We're clear for the run against the gate.",
"MSG_BOX Wolfenden;It's guarded by several rapid-fire plasma turrets. Try not to let those things get a lock on you."
]
},
{
"function" : "JUMPGATE_HEALTH 5",
"lines" : [
"MSG_BOX Barclay;Half the nodes are down.",
"MSG_BOX Wolfenden;Keep at it!"
]
},
{
"function" : "JUMPGATE_HEALTH 1",
"lines" : [
"WAIT 1",
"MSG_BOX Barclay;Jumpgate is down."
]
},
{
"function" : "ALL_OBJECTIVES_COMPLETE",
"lines" : [
"WAIT 1",
"MSG_BOX Wolfenden;Control, this is Wolfenden. Tzac's outer jumpgate is offline.",
"MSG_BOX Control;Acknowledged. Hold position there. We'll need you to guard that gate and prevent the enemy from affecting repairs.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
},
{
"function" : "ALLIES_KILLED 6",
"lines" : [
"WAIT 1",
"MSG_BOX Wolfenden;Dammit, the team's been cut down! Looks like it's up to you and me, Ian.",
"MSG_BOX Barclay;We'll make sure their deaths weren't in vain."
]
}
]
}

View File

@ -1,66 +0,0 @@
{
"name" : "Rebel Assault #1",
"description" : "",
"requires" : 99,
"background" : "gfx/backgrounds/background03.jpg",
"planet" : "gfx/planets/spirit.png",
"music" : "music/battle/InnerCore_Low.ogg",
"player" : {
"type" : "TAF",
"pilot" : "",
"squadron" : "",
"side" : "SIDE_ALLIES",
"x" : 10,
"y" : 10
},
"capitalShips" : [
{
"name" : "CSN Corvette",
"types" : "UNF Corvette 01",
"side" : "SIDE_ALLIES",
"x" : 11,
"y" : 11,
"flags" : "EF_AI_TARGET"
},
{
"name" : "Rebel Corvette",
"types" : "UNF Corvette 01",
"side" : "SIDE_REBEL",
"x" : 25,
"y" : 25,
"flags" : "EF_AI_TARGET"
}
],
"fighters" : [
{
"types" : "TAF;Rook;Ray",
"number" : 12,
"side" : "SIDE_ALLIES",
"x" : 10,
"y" : 10,
"scatter" : 1000
},
{
"types" : "Firefly;Nymph;Leopard",
"number" : 12,
"side" : "SIDE_REBEL",
"x" : 20,
"y" : 20,
"scatter" : 500
}
],
"script" : [
{
"function" : "CAP_HEALTH CSN Corvette 4",
"lines" : [
"IMPORTANT_MSG_BOX CSN Corvette;We're taking a lot of damage here. Please assist."
]
},
{
"function" : "Rebel Corvette",
"lines" : [
"RETREAT_ENEMIES"
]
}
]
}

View File

@ -0,0 +1,154 @@
{
"name" : "Mace Assault #2",
"description" : "",
"requires" : 50,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/DST-RailJet-LongSeamlessLoop.ogg",
"manualComplete" : 1,
"player" : {
"type" : "Leopard",
"pilot" : "Cdr. Chao Lee",
"squadron" : "The Infinites",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45
},
"objectives" : [
{
"description" : "Destroy HMS 781-110",
"targetName" : "HMS 781-110",
"targetValue" : 1,
"targetType" : "TT_DESTROY"
},
{
"description" : "Destroy HMS 781-041",
"targetName" : "HMS 781-041",
"targetValue" : 1,
"targetType" : "TT_DESTROY"
},
{
"description" : "Eliminate all enemies",
"targetName" : "ENEMY",
"targetType" : "TT_DESTROY",
"targetValue" : 1,
"isEliminateAll" : 1
}
],
"fighters" : [
{
"types" : "Rook",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500
},
{
"types" : "Hammerhead;Lynx",
"number" : 10,
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500
},
{
"types" : "Shale",
"number" : 5,
"side" : "SIDE_REBEL",
"x" : 15,
"y" : 35,
"scatter" : 600,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Cap02",
"types" : "Shale",
"number" : 5,
"side" : "SIDE_REBEL",
"x" : 15,
"y" : 35,
"scatter" : 600,
"aiFlags" : "+AIF_MOVES_TO_LEADER",
"active" : 0
},
{
"groupName" : "Rebels-2",
"types" : "Shale",
"number" : 15,
"side" : "SIDE_REBEL",
"x" : 15,
"y" : 51,
"scatter" : 600,
"aiFlags" : "+AIF_UNLIMITED_RANGE",
"active" : 0
}
],
"capitalShips" : [
{
"name" : "HMS 781-110",
"types" : "HMS Corvette 01",
"side" : "SIDE_REBEL",
"x" : 15,
"y" : 35,
"flags" : "+EF_AI_LEADER"
},
{
"groupName" : "Cap02",
"name" : "HMS 781-041",
"types" : "HMS Corvette 02",
"side" : "SIDE_REBEL",
"x" : 15,
"y" : 51,
"flags" : "+EF_AI_LEADER",
"active" : 0
}
],
"script" : [
{
"function" : "TIME 2",
"lines" : [
"MSG_BOX Lee;HMS 781-110 sighted. All fighters free to engage at will. Follow my lead."
]
},
{
"function" : "Destroy HMS 781-110",
"lines" : [
"WAIT 1",
"MSG_BOX Lee;Control, HMS 781-110 has been taken down.",
"WAIT_MSG_BOX",
"WAIT 5",
"ACTIVATE_ENTITY_GROUPS Cap02",
"MSG_BOX Control;Infinites, HMS 781-041 has arrived in the area. Engage and destroy.",
"MSG_BOX Lee;Acknowledged."
]
},
{
"function" : "CAP_HEALTH HMS 781-041 3",
"lines" : [
"ACTIVATE_ENTITY_GROUPS Rebels-2"
]
},
{
"function" : "CAP_HEALTH HMS 781-041 1",
"lines" : [
"IMPORTANT_MSG_BOX HMS 781-041;This is HMS 781-041 of the Nation of Tzac! We surrender! Repeat, we surrender!",
"MSG_BOX Wingmate;Did anyone else get that?",
"MSG_BOX Lee;HMS 781-041, please repeat."
]
},
{
"function" : "Destroy HMS 781-041",
"lines" : [
"RETREAT_ENEMIES",
"WAIT 1",
"MSG_BOX Lee;Hell! Too late!",
"MSG_BOX Control;Infinites, it appears remaining enemy forces are retreating. Please stand down.",
"MSG_BOX Lee;Received.",
"MSG_BOX Wingmate;That was unexpected.",
"MSG_BOX Lee;Sure was. We'd better get to debriefing.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
}
]
}

View File

@ -0,0 +1,118 @@
{
"name" : "Mace Assault #3",
"description" : "",
"requires" : 50,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/track-3.mp3",
"player" : {
"pilot" : "2nd Lt. Jim Goddard",
"squadron" : "Iron Patriots",
"type" : "Ray",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 25
},
"objectives" : [
{
"description" : "Eliminate Tzac opposition",
"targetName" : "Destroy",
"targetValue" : 45,
"targetType" : "TT_DESTROY"
},
{
"description" : "Disable 50%% of Tzac craft",
"targetName" : "Disable",
"targetValue" : 20,
"targetType" : "TT_DISABLE"
},
{
"description" : "Do not destroy tagged Tzac craft",
"targetName" : "Disable",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isCondition" : 1
}
],
"fighters" : [
{
"name" : "Carr",
"types" : "Kingfisher",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 25,
"scatter" : 500,
"flags" : "+EF_AI_LEADER+EF_IMMORTAL",
"aiFlags" : "+AIF_UNLIMITED_RANGE"
},
{
"types" : "TAF;Hyena-A",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 25,
"scatter" : 500,
"number" : 6,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Destroy",
"types" : "Shale;SK-31;SK-34;Razor",
"side" : "SIDE_REBEL",
"x" : 25,
"y" : 25,
"scatter" : 15000,
"number" : 20,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Disable",
"types" : "Shale;SK-31;SK-34;Razor",
"side" : "SIDE_REBEL",
"x" : 25,
"y" : 25,
"scatter" : 15000,
"number" : 20,
"flags" : "+EF_MUST_DISABLE+EF_MISSION_TARGET",
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"groupName" : "Destroy",
"types" : "Rapid Plasma Turret;Rocket Turret",
"side" : "SIDE_REBEL",
"x" : 25,
"y" : 25,
"scatter" : 8000,
"number" : 25,
"flags" : "+EF_AI_LEADER"
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Carr;We're going to mag half of their forces and destroy the others. The ones to disable have been tagged. Everyone clear?",
"MSG_BOX Carr;Watch your fire: remember, a stray shot could easily destroy a disabled craft."
]
},
{
"function" : "Disable 50%% of Tzac craft",
"lines" : [
"WAIT 1",
"MSG_BOX Wingmate;All tagged Tzac fighters have been disabled."
]
},
{
"function" : "Eliminate Tzac opposition",
"lines" : [
"WAIT 1",
"MSG_BOX Wingmate;Tzac opposition has been destroyed."
]
},
{
"function" : "ALL_OBJECTIVES_COMPLETE",
"lines" : [
"MSG_BOX Carr;Great work, everyone. That should give the PR guys something to brag about."
]
}
]
}

View File

@ -0,0 +1,257 @@
{
"name" : "Mace Assault #4",
"description" : "",
"requires" : 56,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/DST-RailJet-LongSeamlessLoop.ogg",
"manualComplete" : 1,
"player" : {
"pilot" : "2nd Lt. Jim Goddard",
"squadron" : "Iron Patriots",
"type" : "Ray",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45
},
"objectives" : [
{
"description" : "Eliminate all opposing forces",
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
},
{
"description" : "Destroy HMS 881-491",
"targetName" : "HMS 881-491",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"active" : 0
},
{
"description" : "Disable Christabel's transport",
"targetName" : "Christabel",
"targetValue" : 1,
"targetType" : "TT_DISABLE"
},
{
"description" : "Do not destroy Christabel's transport",
"targetName" : "Christabel",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isCondition" : 1
},
{
"description" : "Do not allow Christabel to escape",
"targetName" : "Christabel",
"targetValue" : 1,
"targetType" : "TT_ESCAPED",
"isCondition" : 1
}
],
"fighters" : [
{
"name" : "de Winter",
"types" : "ATAF",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500,
"flags" : "+EF_AI_LEADER",
"aiFlags" : "+AIF_UNLIMITED_RANGE"
},
{
"types" : "TAF;Hammerhead;Lynx;Firefly;Nymph;Leopard;Rook",
"side" : "SIDE_ALLIES",
"x" : 5,
"y" : 45,
"scatter" : 500,
"number" : 12,
"aiFlags" : "+AIF_MOVES_TO_LEADER"
},
{
"types" : "Rapid Plasma Turret",
"side" : "SIDE_REBEL",
"x" : 35,
"y" : 25,
"scatter" : 1000,
"number" : 12
},
{
"types" : "Blizzard;Shale",
"side" : "SIDE_REBEL",
"x" : 35,
"y" : 25,
"scatter" : 500,
"number" : 12
},
{
"groupName" : "CapShip",
"types" : "Jackal;Scarab",
"side" : "SIDE_PANDORAN",
"x" : 51,
"y" : 25,
"scatter" : 500,
"number" : 6,
"aiFlags" : "+AIF_MOVES_TO_LEADER+AIF_ASSASSIN",
"active" : 0
},
{
"groupName" : "ChristabelGroup",
"name" : "Christabel",
"types" : "Shuttle",
"side" : "SIDE_REBEL",
"x" : 25,
"y" : -1,
"flags" : "+EF_RETREATING+EF_MUST_DISABLE+EF_NO_THREAT+EF_MISSION_TARGET+EF_AI_TARGET+EF_AI_LEADER",
"aiFlags" : "+AIF_GOAL_JUMPGATE+AIF_UNLIMITED_RANGE+AIF_DEFENSIVE",
"active" : 0
},
{
"groupName" : "ChristabelGroup",
"types" : "Shale",
"side" : "SIDE_REBEL",
"x" : 25,
"y" : -1,
"number" : 2,
"aiFlags" : "+AIF_MOVES_TO_LEADER",
"active" : 0
}
],
"capitalShips" : [
{
"groupName" : "CapShip",
"name" : "HMS 881-491",
"types" : "HMS Corvette 02",
"side" : "SIDE_PANDORAN",
"x" : 51,
"y" : 25,
"flags" : "+EF_AI_LEADER",
"aiFlags" : "+AIF_ASSASSIN",
"active" : 0
}
],
"spawners" : [
{
"name" : "rebelSpawner",
"types" : "Dart;Shale",
"side" : "SIDE_REBEL",
"interval" : 3,
"total" : 15,
"step" : 1,
"offscreen" : 1,
"active" : 0
},
{
"name" : "pandoranSpawner",
"types" : "Jackal;Thunderhead;Mantis;Sphinx;Scarab",
"side" : "SIDE_PANDORAN",
"interval" : 30,
"total" : -1,
"step" : 1,
"active" : 0,
"aiFlags" : "+AIF_UNLIMITED_RANGE"
}
],
"entities" : [
{
"name" : "Jumpgate",
"type" : "ET_JUMPGATE",
"side" : "SIDE_NONE",
"x" : 35,
"y" : 25,
"flags" : "EF_AI_IGNORE+EF_NO_HEALTH_BAR"
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX de Winter;All, our mission parameters have changed. The Pandorans are making a move against Mace. We need to act quickly.",
"MSG_BOX de Winter;Therefore, you have permission to destroy any and all opposing forces, no need to mag these guys."
]
},
{
"function" : "TIME 20",
"lines" : [
"MSG_BOX Wingmate;Commander, we've got Darts and Shales incoming.",
"MSG_BOX de Winter;Looks like some mercenaries decided to stick around. Let's show them why that was a bad move.",
"WAIT_MSG_BOX",
"ACTIVATE_SPAWNER 1 rebelSpawner"
]
},
{
"function" : "ENEMIES_KILLED 15",
"lines" : [
"WAIT 1",
"MSG_BOX de Winter;That's them seen to. Onwards to the jumpgate.",
"WAIT_MSG_BOX",
"WAIT 2",
"MSG_BOX Wingmate;Got INF fighters incoming.",
"MSG_BOX de Winter;Knew it wouldn't be long.",
"WAIT_MSG_BOX",
"ACTIVATE_SPAWNER 1 pandoranSpawner"
]
},
{
"function" : "TIME 270",
"lines" : [
"WAIT 1",
"ACTIVATE_ENTITY_GROUPS CapShip",
"MSG_BOX Control;Patriots, a Tzac warship just arrived in the area, but it has Imperial fighter escorts. Most likely it's been acquired by the Pandroans. It needs to be taken down before Cristabel makes her escape bid, as it might be here to kill her.",
"MSG_BOX de Winter;Got it. You all heard that. Let's get to it.",
"ACTIVATE_OBJECTIVES Destroy HMS 881-491"
]
},
{
"function" : "TIME 300",
"lines" : [
"ACTIVATE_ENTITY_GROUPS ChristabelGroup",
"IMPORTANT_MSG_BOX Wingmate;I'm picking up a shuttle on radar. Looks like Christabel.",
"IMPORTANT_MSG_BOX de Winter;Goddard, you're up! Mag that shuttle before it gets away.",
"IMPORTANT_MSG_BOX Goddard;On it!"
]
},
{
"function" : "Disable Christabel's transport",
"lines" : [
"WAIT 1",
"MSG_BOX Goddard;Christabel's shuttle has been disabled.",
"MSG_BOX de Winter;Excellent work! Now let's finish off the rest of these fighters.",
"ACTIVATE_SPAWNER 0 pandoranSpawner"
]
},
{
"function" : "ALL_OBJECTIVES_COMPLETE",
"lines" : [
"WAIT 1",
"CREATE_CRISTABEL_LOCATION",
"MSG_BOX de Winter;All enemies down. Let's get over to Christabel's shuttle and secure the empress."
]
},
{
"function" : "CristabelLocation",
"lines" : [
"MSG_BOX de Winter;Empress Christabel, this is Cdr. de Winter of the Confederation Stellar Navy.",
"MSG_BOX de Winter;Acting under the authority of the allied forces, I am hereby placing you under arrest, for breaches of intergalactic law.",
"MSG_BOX de Winter;You will be escorted to a neutral court, where you will be tried for your crimes.",
"MSG_BOX de Winter;If found guilty, the intergalactic community will decide on your punishment.",
"MSG_BOX de Winter;Sorry, your Highness. I wish it didn't have to go this way, but the galaxy has enough problems as it is.",
"WAIT_MSG_BOX",
"MSG_BOX de Winter;If--",
"KILL_ENTITY Christabel",
"MSG_BOX Wingmate;Woah! What the hell just happened?!",
"MSG_BOX de Winter;Did anyone fire?!",
"MSG_BOX Goddard;All guns cold, Commander. Looks like she might have self destructed her own ship.",
"MSG_BOX de Winter;Dammit!",
"WAIT_MSG_BOX",
"WAIT 2",
"MSG_BOX Goddard;Now what?",
"MSG_BOX de Winter;Nothing more we can do. We should evacuate the area before more Pandoran forces arrive.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
}
]
}

View File

@ -4,7 +4,7 @@
"requires" : 29,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/track-1.mp3",
"music" : "music/battle/track-4.mp3",
"manualComplete" : 1,
"objectives" : [
{

View File

@ -1,7 +1,7 @@
{
"name" : "Rothan Offensive #1",
"description" : "With the mercenary threat seen off and Tzac's initial attacks thwarted, it's time to begin pushing back against Christabel's forces. We plan to capture a number of their commanders, to help build a better picture of the forces at Mace, before moving into the system. As always, mag the targets and do not allow them to be killed.",
"requires" : 45,
"requires" : 44,
"manualComplete" : 1,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
@ -56,7 +56,8 @@
"scatter" : 500
},
{
"name" : "Roselyn Rose",
"name" : "Rose",
"fullname" : "Roselyn Rose",
"types" : "Ray",
"side" : "SIDE_ALLIES",
"x" : 10,

View File

@ -0,0 +1,66 @@
{
"name" : "Rothan Defence #4",
"description" : "The Pandorans have launched a sudden attack against the system. It appears that they are capitalizing on the chaos that the Kingdom of Tzac has thrown us into. We need to repel this attack, as defeat here could mean a major setback in our struggle against both enemies.",
"requires" : 47,
"manualComplete" : 1,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/Tactical Pursuit.mp3",
"epic" : {
"fighterLimit" : 18
},
"objectives" : [
{
"description" : "Destroy all enemy targets",
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
}
],
"player" : {
"type" : "Rook",
"side" : "SIDE_ALLIES",
"pilot" : "(Multiple)",
"squadron" : "(Multiple)"
},
"fighters" : [
{
"name" : "ALLIES",
"types" : "Firefly;Nymph;TAF;Ray;Leopard;Hyena-A;Hyena-B;Kingfisher;Rook",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"number" : 50,
"scatter" : 5000
},
{
"name" : "Pandoran",
"types" : "Jackal;Scarab;Mantis;Swarmer;Swarmer",
"side" : "SIDE_PANDORAN",
"x" : 25,
"y" : 15,
"number" : 100,
"scatter" : 5000
}
],
"script" : [
{
"function" : "TIME 2",
"lines" : [
"MSG_BOX Wingmate;Hell, they're outnumbering us, a good two-to-one!",
"MSG_BOX Wing Commander;There are Swarmers in their ranks, making up the bulk. Don't lose faith people, we can do this."
]
},
{
"function" : "ALL_OBJECTIVES_COMPLETE",
"lines" : [
"WAIT 1",
"MSG_BOX Wing Commander;That's the last of 'em. Not often we win an engagement like this.",
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
}
]
}

View File

@ -0,0 +1,159 @@
{
"name" : "Rothan Defence #5",
"description" : "",
"requires" : 54,
"manualComplete" : 1,
"background" : "gfx/backgrounds/background05.jpg",
"planet" : "gfx/planets/bluePlanet.png",
"music" : "music/battle/Tactical Pursuit.mp3",
"unwinnable" : 1,
"epic" : {
"fighterLimit" : 18
},
"objectives" : [
{
"description" : "Destroy all enemy targets",
"targetName" : "ENEMY",
"targetValue" : 1,
"targetType" : "TT_DESTROY",
"isEliminateAll" : 1
},
{
"description" : "Destroy INF Mora",
"targetName" : "INF Mora",
"targetValue" : 1,
"targetType" : "TT_DESTROY"
},
{
"description" : "Destroy INF Karambit",
"targetName" : "INF Karambit",
"targetValue" : 1,
"targetType" : "TT_DESTROY"
}
],
"player" : {
"type" : "Rook",
"side" : "SIDE_ALLIES",
"pilot" : "(Multiple)",
"squadron" : "(Multiple)"
},
"fighters" : [
{
"types" : "Firefly;Nymph;TAF;Ray;Leopard;Hyena-A;Hyena-B;Kingfisher;Rook",
"side" : "SIDE_ALLIES",
"x" : 25,
"y" : 25,
"number" : 100,
"scatter" : 5000,
"flags" : "+EF_AI_TARGET"
},
{
"name" : "Pandoran",
"types" : "Jackal;Scarab;Mantis;Thunderhead;Dart;Khepri;Swarmer",
"side" : "SIDE_PANDORAN",
"x" : 25,
"y" : 15,
"number" : 999,
"scatter" : 5000,
"flags" : "+EF_AI_TARGET"
}
],
"capitalShips" : [
{
"name" : "UNF Hopper",
"types" : "UNF Corvette 01",
"side" : "SIDE_ALLIES",
"x" : 20,
"y" : 20,
"flags" : "+EF_AI_TARGET"
},
{
"name" : "UNF Blackburn",
"types" : "UNF Corvette 02",
"side" : "SIDE_ALLIES",
"x" : 20,
"y" : 40,
"flags" : "+EF_AI_TARGET"
},
{
"name" : "INF Mora",
"types" : "INF Corvette 02",
"side" : "SIDE_PANDORAN",
"x" : 40,
"y" : 20,
"flags" : "+EF_MISSION_TARGET"
},
{
"name" : "INF Karambit",
"types" : "INF Corvette 02",
"side" : "SIDE_PANDORAN",
"x" : 40,
"y" : 40,
"flags" : "+EF_MISSION_TARGET"
}
],
"script" : [
{
"function" : "TIME 2",
"lines" : [
"MSG_BOX Wing Commander;Brace yourselves, lads.",
"MSG_BOX Wingmate;Picking up two Mitikas corvettes: Mora and Karambit.",
"MSG_BOX Wing Commander;We need to give Hopper and Blackburn support in dealing with them. Get to it."
]
},
{
"function" : "TIME 60",
"lines" : [
"MSG_BOX Wingmate;Hell, where'd they get those Khepris from?",
"MSG_BOX Wingmate;Crystabel must've decided to try and attack the Pandorans directly. Went as well for her as it did for us."
]
},
{
"function" : "ALLIES_KILLED 30",
"lines" : [
"MSG_BOX Wingmate;Commander, we're taking heavy losses!",
"MSG_BOX Wing Commander;We won before, we can win again! Keep up the fight!"
]
},
{
"function" : "ALLIES_KILLED 80",
"lines" : [
"MSG_BOX Wingmate;Commander, I strongly suggest we pull back.",
"MSG_BOX Wing Commander;We can't keep running. We'll run out of places to run to."
]
},
{
"function" : "ALLIES_KILLED 90",
"lines" : [
"MSG_BOX Wingmate;All fighters, be advised: the wing commander has been killed.",
"MSG_BOX Wingmate;Who's leading this operation now?",
"MSG_BOX Wingmate;We have to retreat!"
]
},
{
"function" : "ALLIES_KILLED 98",
"lines" : [
"MSG_BOX Wingmate;This the end of the line, guys. It's been great serving with you."
]
},
{
"function" : "UNF Hopper",
"lines" : [
"MSG_BOX Wingmate;Hopper is down!"
]
},
{
"function" : "UNF Blackburn",
"lines" : [
"MSG_BOX Wingmate;They've taken out Blackburn!"
]
},
{
"function" : "CAPITAL_SHIPS_LOST 2",
"lines" : [
"MSG_BOX Wingmate;That's both of our corvettes down. The rest is up to us."
]
}
]
}

View File

@ -24,7 +24,16 @@
"types" : "Unarmed Dart",
"side" : "SIDE_PIRATE",
"x" : 25,
"y" : 24
"y" : 24,
"aiFlags" : "+AIF_DEFENSIVE"
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Earth Orbital #1;This Dart has control over its engines, but not its weapons. Practice chasing it down and destroying it."
]
}
]
}

View File

@ -26,5 +26,13 @@
"x" : 25,
"y" : 24
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Earth Orbital #1;This Dart is armed! Watch yourself."
]
}
]
}

View File

@ -26,5 +26,13 @@
"x" : 25,
"y" : 24
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Earth Orbital #1;Use your ECM to destroy the missiles fired at you. Remember, the ECM needs several seconds to recharge between uses."
]
}
]
}

View File

@ -41,5 +41,13 @@
"x" : 26,
"y" : 20
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Earth Orbital #1;Wingmate will often assist you in battle. When you're ready, approach the Darts and engage."
]
}
]
}

View File

@ -27,5 +27,13 @@
"x" : 26,
"y" : 20
}
],
"script" : [
{
"function" : "TIME 1",
"lines" : [
"MSG_BOX Earth Orbital #1;Final course. Use all your training to defeat the three opponents."
]
}
]
}

View File

@ -100,30 +100,6 @@
"WAIT_MSG_BOX",
"COMPLETE_MISSION"
]
},
{
"function" : "CAP_ENGINES_DESTROYED UNF Lovelace",
"lines" : [
"IMPORTANT_MSG_BOX UNF Lovelace;Our engines have been shot out! We're a sitting duck!"
]
},
{
"function" : "CAP_HEALTH UNF Lovelace 6",
"lines" : [
"IMPORTANT_MSG_BOX UNF Lovelace;We're taking damage here, Sparrows. Please step it up."
]
},
{
"function" : "CAP_HEALTH UNF Lovelace 3",
"lines" : [
"IMPORTANT_MSG_BOX UNF Lovelace;We're sustaining heavy damage! All fighters, please assist, ASAP!"
]
},
{
"function" : "CAP_HEALTH UNF Lovelace 1",
"lines" : [
"IMPORTANT_MSG_BOX UNF Lovelace;Mayday! Mayday! Defences are critical. We can't hold out much longer!"
]
}
]
}

View File

@ -1,64 +1,16 @@
[
{
"id" : "PLATINUM",
"id" : "_PLATINUM",
"title" : "One of the seven",
"description" : "Earn all other trophies",
"value" : "TROPHY_PLATINUM"
},
{
"id" : "CAMPAIGN_1",
"title" : "2nd Lieutenant",
"title" : "Gentle start",
"description" : "Complete a campaign mission",
"value" : "TROPHY_BRONZE"
},
{
"id" : "CAMPAIGN_10",
"title" : "1st Lieutenant",
"description" : "Complete 10% of all missions",
"value" : "TROPHY_BRONZE"
},
{
"id" : "CAMPAIGN_20",
"title" : "Lieutenant Commander",
"description" : "Complete 20% of all missions",
"value" : "TROPHY_BRONZE"
},
{
"id" : "CAMPAIGN_40",
"title" : "Commander",
"description" : "Complete 40% of all missions",
"value" : "TROPHY_BRONZE"
},
{
"id" : "CAMPAIGN_50",
"title" : "Captain",
"description" : "Complete 50% of all missions",
"value" : "TROPHY_SILVER"
},
{
"id" : "CAMPAIGN_60",
"title" : "Commodore",
"description" : "Complete 60% of all missions",
"value" : "TROPHY_SILVER"
},
{
"id" : "CAMPAIGN_80",
"title" : "Rear Admiral",
"description" : "Complete 80% of all missions",
"value" : "TROPHY_SILVER"
},
{
"id" : "CAMPAIGN_90",
"title" : "Admiral",
"description" : "Complete 90% of all missions",
"value" : "TROPHY_GOLD"
},
{
"id" : "CAMPAIGN_100",
"title" : "Fleet Admiral",
"description" : "Complete all campaign missions",
"value" : "TROPHY_GOLD"
},
{
"id" : "CAMPAIGN_SOL",
"title" : "Ready for duty",
@ -95,11 +47,25 @@
},
{
"id" : "CAMPAIGN_MACE",
"title" : "Going out with a bang.",
"title" : "Going out with a bang",
"description" : "Complete all missions at Mace",
"value" : "TROPHY_SILVER",
"hidden" : 1
},
{
"id" : "CAMPAIGN_ROTHAN",
"title" : "Back against the wall",
"description" : "Complete all missions at Rothan",
"value" : "TROPHY_SILVER",
"hidden" : 1
},
{
"id" : "CAMPAIGN_CLARKE",
"title" : "Now what do we do?",
"description" : "Complete all missions at Clarke",
"value" : "TROPHY_SILVER",
"hidden" : 1
},
{
"id" : "EPIC",
"title" : "Truly epic",
@ -114,6 +80,14 @@
"stat" : "STAT_CAPITAL_SHIPS_DESTROYED",
"statValue" : 1
},
{
"id" : "GIANT_SLAYER",
"title" : "Giant Slayer",
"description" : "Destroy 25 enemy capital ships",
"value" : "TROPHY_GOLD",
"stat" : "STAT_CAPITAL_SHIPS_DESTROYED",
"statValue" : 25
},
{
"id" : "PANDORAN",
"title" : "Plenty more where that came from, unfortunately",
@ -122,7 +96,7 @@
},
{
"id" : "ATAF",
"title" : "Man, I gotta get me one of these!",
"title" : "Oh man, I gotta get me one of these!",
"description" : "Pilot an ATAF during the campaign",
"value" : "TROPHY_BRONZE"
},
@ -142,33 +116,65 @@
"id" : "TEAM_PLAYER",
"title" : "Taking one for the team",
"description" : "Be killed by a missile that was meant for someone else",
"value" : "TROPHY_SILVER"
"value" : "TROPHY_BRONZE",
"hidden" : 1
},
{
"id" : "CHALLENGE_25",
"title" : "",
"description" : "Complete 25% of all challenges",
"id" : "BODYGUARD",
"title" : "The bodyguard",
"description" : "Kill an enemy with a missile intended for their wing leader",
"value" : "TROPHY_BRONZE",
"hidden" : 1
},
{
"id" : "_CHALLENGE_25",
"title" : "Dedicated",
"description" : "Complete 25%% of all challenges",
"value" : "TROPHY_BRONZE"
},
{
"id" : "CHALLENGE_50",
"title" : "",
"description" : "Complete 50% of all challenges",
"id" : "_CHALLENGE_50",
"title" : "Obssessed",
"description" : "Complete 50%% of all challenges",
"value" : "TROPHY_SILVER"
},
{
"id" : "CHALLENGE_100",
"title" : "",
"description" : "Complete 100% of all challenges",
"id" : "_CHALLENGE_100",
"title" : "Completitonist",
"description" : "Complete 100%% of all challenges",
"value" : "TROPHY_GOLD"
},
{
"id" : "ENEMY_50",
"title" : "Hero",
"description" : "Take down 50 enemies (player only)",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_ENEMIES_KILLED_PLAYER",
"statValue" : 50
},
{
"id" : "ENEMY_500",
"title" : "Veteran",
"description" : "Take down 500 enemies (player only)",
"value" : "TROPHY_SILVER",
"stat" : "STAT_ENEMIES_KILLED_PLAYER",
"statValue" : 500
},
{
"id" : "ENEMY_5000",
"title" : "Legend",
"description" : "Take down 5,000 enemies (player only)",
"value" : "TROPHY_GOLD",
"stat" : "STAT_ENEMIES_KILLED_PLAYER",
"statValue" : 5000
},
{
"id" : "FIRE_100000",
"title" : "Your name's on one of these!",
"description" : "Fire 100,000 shots",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_SHOTS_FIRED",
"statValue" : 10000
"statValue" : 100000
},
{
"id" : "MISSILE_1000",
@ -179,51 +185,97 @@
"statValue" : 1000
},
{
"id" : "ECM_100",
"id" : "ECM",
"title" : "Isn't technology wonderful?",
"description" : "Use the ECM 100 times",
"description" : "Use the ECM 250 times",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_ECM",
"statValue" : 100
"statValue" : 250
},
{
"id" : "BOOST_100",
"id" : "BOOST",
"title" : "Runaway!",
"description" : "Boost 100 times",
"description" : "Boost 250 times",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_BOOST",
"statValue" : 250
},
{
"id" : "ITEMS",
"title" : "Hoarder",
"description" : "Collect 100 items",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_ITEMS_COLLECTED_PLAYER",
"statValue" : 100
},
{
"id" : "EVADE_50",
"id" : "EVADE",
"title" : "Missed, you f**kers!",
"description" : "Evade 50 missiles",
"description" : "Evade 10 missiles",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_MISSILES_EVADED",
"statValue" : 50,
"statValue" : 10,
"hidden" : 1
},
{
"id" : "WAYPOINT_100",
"id" : "WAYPOINT",
"title" : "Sightseer",
"description" : "Visit 100 waypoints",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_WAYPOINTS_VISITED",
"statValue" : 100
},
{
"id" : "MINESWEEPER",
"title" : "Minesweeper",
"description" : "Destroy 255 mines (player only)",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_MINES_DESTROYED",
"statValue" : 255
},
{
"id" : "DISABLE",
"title" : "Get out and push",
"description" : "Disable 500 opponents",
"value" : "TROPHY_BRONZE",
"stat" : "STAT_ENEMIES_DISABLED",
"statValue" : 500
},
{
"id" : "EPIC_KILL_13",
"title" : "Yippie-ki-yay",
"description" : "Destroy 13 or more enemies in an epic battle without being killed",
"description" : "Destroy 13 or more enemies in an epic battle, without being killed",
"value" : "TROPHY_SILVER",
"stat" : "STAT_EPIC_KILL_STREAK",
"statValue" : 13
"statValue" : 13,
"hidden" : 1
},
{
"id" : "SURVIVOR",
"title" : "Survivor",
"description" : "Complete an epic battle without being killed",
"value" : "TROPHY_SILVER",
"hidden" : 1
},
{
"id" : "ATAF_DESTROYED",
"title" : "Almost indestructable. Almost.",
"title" : "Almost indestructable. Almost",
"description" : "Be destroyed while piloting an ATAF",
"value" : "TROPHY_BRONZE",
"hidden" : 1
},
{
"id" : "PACIFIST",
"title" : "Pacifist",
"description" : "Complete a fighter-based campaign mission without firing",
"value" : "TROPHY_BRONZE",
"hidden" : 1
},
{
"id" : "2_BIRDS",
"title" : "2 birds, 1 stone",
"description" : "Destroy two or more fighters by shooting one mine",
"value" : "TROPHY_BRONZE",
"hidden" : 1
}
]

View File

@ -1,4 +1,54 @@
[
{
"name" : "resume",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Resume",
"x" : -1,
"y" : 170,
"w" : 200,
"h": 34
},
{
"name" : "stats",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Stats",
"x" : -1,
"y" : 270,
"w" : 200,
"h": 34
},
{
"name" : "trophies",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Trophies",
"x" : -1,
"y" : 370,
"w" : 200,
"h": 34
},
{
"name" : "options",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Options",
"x" : -1,
"y" : 470,
"w" : 200,
"h": 34
},
{
"name" : "quit",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Return to Title",
"x" : -1,
"y" : 570,
"w" : 200,
"h": 34
},
{
"name" : "start",
"group" : "challenges",
@ -10,43 +60,23 @@
"h": 34
},
{
"name" : "resume",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Resume",
"x" : -1,
"y" : 215,
"w" : 200,
"h": 34
"name" : "prev",
"group" : "challenges",
"type" : "WT_IMG_BUTTON",
"x" : 540,
"y" : 110,
"w" : 150,
"h": 34,
"texture" : "gfx/widgets/optionsLeft.png"
},
{
"name" : "stats",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Stats",
"x" : -1,
"y" : 315,
"w" : 200,
"h": 34
},
{
"name" : "options",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Options",
"x" : -1,
"y" : 415,
"w" : 200,
"h": 34
},
{
"name" : "quit",
"group" : "challengesMenu",
"type" : "WT_BUTTON",
"text" : "Return to Title",
"x" : -1,
"y" : 515,
"w" : 200,
"h": 34
"name" : "next",
"group" : "challenges",
"type" : "WT_IMG_BUTTON",
"x" : 720,
"y" : 110,
"w" : 150,
"h": 34,
"texture" : "gfx/widgets/optionsRight.png"
}
]

View File

@ -5,7 +5,7 @@
"type" : "WT_BUTTON",
"text" : "Resume",
"x" : -1,
"y" : 215,
"y" : 170,
"w" : 200,
"h": 34
},
@ -15,7 +15,17 @@
"type" : "WT_BUTTON",
"text" : "Stats",
"x" : -1,
"y" : 315,
"y" : 270,
"w" : 200,
"h": 34
},
{
"name" : "trophies",
"group" : "galacticMap",
"type" : "WT_BUTTON",
"text" : "Trophies",
"x" : -1,
"y" : 370,
"w" : 200,
"h": 34
},
@ -25,7 +35,7 @@
"type" : "WT_BUTTON",
"text" : "Options",
"x" : -1,
"y" : 415,
"y" : 470,
"w" : 200,
"h": 34
},
@ -35,7 +45,7 @@
"type" : "WT_BUTTON",
"text" : "Return to Title",
"x" : -1,
"y" : 515,
"y" : 570,
"w" : 200,
"h": 34
},

View File

@ -5,7 +5,7 @@
"type" : "WT_BUTTON",
"text" : "Campaign",
"x" : -1,
"y" : 225,
"y" : 200,
"w" : 200,
"h": 34
},
@ -15,7 +15,17 @@
"type" : "WT_BUTTON",
"text" : "Challenges",
"x" : -1,
"y" : 325,
"y" : 290,
"w" : 200,
"h": 34
},
{
"name" : "trophies",
"group" : "title",
"type" : "WT_BUTTON",
"text" : "Trophies",
"x" : -1,
"y" : 380,
"w" : 200,
"h": 34
},
@ -25,7 +35,7 @@
"type" : "WT_BUTTON",
"text" : "Stats",
"x" : -1,
"y" : 425,
"y" : 470,
"w" : 200,
"h": 34
},
@ -35,7 +45,7 @@
"type" : "WT_BUTTON",
"text" : "Options",
"x" : -1,
"y" : 525,
"y" : 560,
"w" : 200,
"h": 34
},
@ -45,7 +55,7 @@
"type" : "WT_BUTTON",
"text" : "Quit",
"x" : -1,
"y" : 625,
"y" : 650,
"w" : 200,
"h": 34
}

View File

@ -0,0 +1,32 @@
[
{
"name" : "ok",
"group" : "trophies",
"type" : "WT_BUTTON",
"text" : "OK",
"x" : -1,
"y" : 665,
"w" : 150,
"h": 34
},
{
"name" : "prev",
"group" : "trophies",
"type" : "WT_IMG_BUTTON",
"x" : 540,
"y" : 110,
"w" : 150,
"h": 34,
"texture" : "gfx/widgets/optionsLeft.png"
},
{
"name" : "next",
"group" : "trophies",
"type" : "WT_IMG_BUTTON",
"x" : 720,
"y" : 110,
"w" : 150,
"h": 34,
"texture" : "gfx/widgets/optionsRight.png"
}
]

BIN
dev/screenshots/v0.7-01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 KiB

BIN
dev/screenshots/v0.7-02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

BIN
dev/screenshots/v0.7-03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

BIN
dev/screenshots/v0.7-04.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 KiB

BIN
dev/screenshots/v0.7-05.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

BIN
dev/screenshots/v0.7-06.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -1,6 +1,6 @@
#!/bin/bash -e
STATS_FILE="stats.md"
STATS_FILE="STATS.md"
cd ..
@ -14,7 +14,7 @@ SRC_LINES=`find src -name *.c | xargs wc -l | grep total | awk '{print $1}'`
NUM_MISSIONS=`find data/missions -iname *.json | wc -l`
NUM_CHALLENGES=`find data -name '*.json' -print0 | xargs -0 cat | grep "\"type\" : \"CHALLENGE_" | wc -l`
NUM_TROPHIES=`cat data/trophies/trophies.json | grep id | wc -l`
NUM_TROPHIES=`cat data/trophies/trophies.json | grep \"description\" | wc -l`
NUM_CRAFT=`find data/craft/* | wc -l`
NUM_FIGHTERS=`find data/fighters/* | wc -l`
@ -22,6 +22,8 @@ NUM_GUNS=`find data/turrets/* | wc -l`
NUM_CAPS=`find data/capitalShips/* | wc -l`
TOTAL_CRAFT=$(($NUM_CRAFT + $NUM_FIGHTERS + $NUM_GUNS + $NUM_CAPS))
REVISIONS=`git rev-list --all --count`
LOCALE=`cat locale/tbftss.pot | grep msgid | wc -l`
echo "# Statistics" > $STATS_FILE
@ -35,10 +37,13 @@ echo "* Size of sound: $SND_SIZE" >> $STATS_FILE
echo "* Size of music: $MUSIC_SIZE" >> $STATS_FILE
echo "" >> $STATS_FILE
echo "* Number of missions: $NUM_MISSIONS" >> $STATS_FILE
echo "* Number of missions: $NUM_MISSIONS (inc. Sol)" >> $STATS_FILE
echo "* Number of challenges: $NUM_CHALLENGES" >> $STATS_FILE
echo "* Number of spacecraft: $TOTAL_CRAFT" >> $STATS_FILE
echo "* Number of trophies: $NUM_TROPHIES" >> $STATS_FILE
echo "" >> $STATS_FILE
echo "* Translatable strings: $LOCALE" >> $STATS_FILE
echo "" >> $STATS_FILE
echo "* Number of GIT revisions: $REVISIONS" >> $STATS_FILE

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
gfx/fighters/angel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
gfx/items/coin01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
gfx/items/coin02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 B

BIN
gfx/items/diamond01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

BIN
gfx/items/diamond02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

BIN
gfx/items/diamond03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

BIN
gfx/items/gem01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

BIN
gfx/items/gem02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

BIN
gfx/items/gem03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

BIN
gfx/items/powerCore01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
gfx/items/powerCore02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
gfx/items/powerCore03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

BIN
gfx/trophies/sparkle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
gfx/trophies/unearned.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TBFTSS: The Pandoran War\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-23 08:08:20+0100\n"
"POT-Creation-Date: 2016-05-14 12:43:16+0100\n"
"PO-Revision-Date: ???\n"
"Last-Translator: ???\n"
"Language-Team: ???\n"
@ -31,6 +31,21 @@ msgstr ""
msgid "%s (Gun)"
msgstr ""
msgid "We've lost engines! We're a sitting duck!"
msgstr ""
msgid "Our guns have been shot out! We have no defences!"
msgstr ""
msgid "Be advised, we're taking damage here. Please step up support."
msgstr ""
msgid "We're sustaining heavy damage! All fighters, please assist, ASAP!"
msgstr ""
msgid "Mayday! Mayday! Defences are critical. We can't hold out much longer!"
msgstr ""
msgid "Mission target has escaped."
msgstr ""
@ -67,6 +82,12 @@ msgstr ""
msgid "Missiles (%d)"
msgstr ""
msgid "System Power : %d%%"
msgstr ""
msgid "%s (Leader)"
msgstr ""
msgid "Target: %.2fkm"
msgstr ""
@ -115,6 +136,9 @@ msgstr ""
msgid "New Objective : %s"
msgstr ""
msgid "Challenge Failed!"
msgstr ""
msgid "Target not in range"
msgstr ""
@ -133,6 +157,9 @@ msgstr ""
msgid "Cannot activate waypoint - outstanding objectives not yet complete"
msgstr ""
msgid "Cannot activate waypoint - eliminate enemies first"
msgstr ""
msgid "Cannot activate waypoint - team mates too far away"
msgstr ""
@ -151,6 +178,12 @@ msgstr ""
msgid "Challenges"
msgstr ""
msgid "Completed : %d / %d"
msgstr ""
msgid "Page : %d / %d"
msgstr ""
msgid "[Locked]"
msgstr ""
@ -199,6 +232,9 @@ msgstr ""
msgid "Rescue %d civilians"
msgstr ""
msgid "Complete challenge in %s or less"
msgstr ""
msgid "%s has fallen to the Pandorans"
msgstr ""
@ -328,6 +364,15 @@ msgstr ""
msgid "Page %d / %d"
msgstr ""
msgid "Trophies"
msgstr ""
msgid "Awarded : %d / %d"
msgstr ""
msgid "[Hidden]"
msgstr ""
msgid "Fire"
msgstr ""
@ -361,6 +406,9 @@ msgstr ""
msgid "Previous Fighter"
msgstr ""
msgid "Screenshot"
msgstr ""
msgid "Controls"
msgstr ""
@ -391,15 +439,15 @@ msgstr ""
msgid "Continue"
msgstr ""
msgid "Start Challenge Mission"
msgstr ""
msgid "Resume"
msgstr ""
msgid "Return to Title"
msgstr ""
msgid "Start Challenge Mission"
msgstr ""
msgid "OK"
msgstr ""
@ -457,7 +505,7 @@ msgstr ""
msgid "And what'll they do then? Bite you to death?"
msgstr ""
msgid "Eyes open, lads"
msgid "Eyes open, lads."
msgstr ""
msgid "We're done. Anyone detect anything unusual?"
@ -466,7 +514,7 @@ msgstr ""
msgid "Same old, same old."
msgstr ""
msgid "Believe me, that's a good thing. Right, let's head home and report in"
msgid "Believe me, that's a good thing. Right, let's head home and report in."
msgstr ""
msgid "Patrols so far have not uncovered anything unusual, and it seems as though the increase in military presense is reducing the amount of illegal activity in this sector, with reported incidents down 80%. Still, we cannot afford to become complacent, and must continue with our sweeps."
@ -622,6 +670,48 @@ msgstr ""
msgid "We'd better prepare ourselves for a major attack in the next few days. Hopefully not from both of them at once."
msgstr ""
msgid "Break and attack, lads. Let's send these guys back home."
msgstr ""
msgid "More Tzac fighters incoming."
msgstr ""
msgid "Steel yourself, lads. Even more Tzac forces are heading our way."
msgstr ""
msgid "Picking up two capital ships, moving in."
msgstr ""
msgid "Wait, those aren't only Tzac forces ... "
msgstr ""
msgid "Ah, hell! Now we've got Pandorans, too?!"
msgstr ""
msgid "Commander, we're getting shot to ribbons here! We need to fallback!"
msgstr ""
msgid "We can't let EITHER of these two win! That would be a major loss for all of us."
msgstr ""
msgid "Eightballers, de Winter of the White Knights, here to assist."
msgstr ""
msgid "White Knights! Am I glad to see you. Your timing couldn't be better."
msgstr ""
msgid "I owe you my life, Knights."
msgstr ""
msgid "We're all in this together, Rice. I'm sorry we arrived too late to save your wingmates."
msgstr ""
msgid "They were good guys. They'll be missed."
msgstr ""
msgid "We're needed elsewhere. We'll see you soon."
msgstr ""
msgid "Tzac fighers are moving in on the jumpgate. We need to stop them before they do any serious damage to it."
msgstr ""
@ -667,6 +757,12 @@ msgstr ""
msgid "Tugs are on the way. Should be here in the next few minutes"
msgstr ""
msgid "People, divide yourselves between the fighters and the Sharpfinger."
msgstr ""
msgid "We couldn't spare any bombers, so we just need to get in there and take them all on."
msgstr ""
msgid "We've received word from CSN Florin that they have suffered a power failure, affecting the entire ship. The stranded vessel has attracted the attention of the Pandorans, who have already deployed shuttles and tugs to absorb it into their ranks. The Salty Wildcats will intercept and provide cover until Florin can affect repairs."
msgstr ""
@ -757,6 +853,60 @@ msgstr ""
msgid "Tzac have never been known to deploy Darts, but that was an important observation. Provide us with as many details as possible during debriefing."
msgstr ""
msgid "Remember, guys: mags only against the fighters. We're not here to take any more lives."
msgstr ""
msgid "For the corvettes, concentrate fire on the engines and the guns. Once it's out of the game, move onto the next one."
msgstr ""
msgid "Got it."
msgstr ""
msgid "We should lure the fighters away from the capital ships. Stray fire against a disabled ship could destroy it."
msgstr ""
msgid "Good point, Chaz, we should be mindful of friendly-fire."
msgstr ""
msgid "Brings back memories, doesn't it?"
msgstr ""
msgid "So long as we don't end up back in Phylent after this."
msgstr ""
msgid "This going in your journal, Kelly?"
msgstr ""
msgid "Everything. It could be important one day."
msgstr ""
msgid "Have fun with the names of Tzac's cap ships."
msgstr ""
msgid "I'll just refer to the battle logs. Military records tend to be accurate."
msgstr ""
msgid "Most of the time."
msgstr ""
msgid "All fighters disabled."
msgstr ""
msgid "Corvettes are all out of the game."
msgstr ""
msgid "Griffin, this is de Winter. Opposing forces are no longer a threat."
msgstr ""
msgid "Any casualties?"
msgstr ""
msgid "No. All fighters and caps have been shutdown, and ready for pickup."
msgstr ""
msgid "Great work, Knights. Clean up will commence shortly. Standby for new instructions."
msgstr ""
msgid "The day that we have feared and the events that we attempted to avert are now upon us - the Pandoran army has commenced its push beyond Mitikas space, and is beginning to assault neighbouring Independent star systems. We need to fight back, in order to protect Clarke from becoming underrun by this menace. Take heed: this will not be an easy battle, but we have little choice and must secure victory here today."
msgstr ""
@ -1033,6 +1183,21 @@ msgstr ""
msgid "Secure the commander, and then take down those bombers. Just watch your fire."
msgstr ""
msgid "Remember everyone: the Pandorans are using UNF fighters."
msgstr ""
msgid "Using your radar and HUD is the way to go in this fight."
msgstr ""
msgid "All enemies down."
msgstr ""
msgid "Let's hope we never see the day when they get hold of one of the ATAFs."
msgstr ""
msgid "Agreed. Let's regroup and prepare for whatever's coming next."
msgstr ""
msgid "A patrol group has sighted a number of crates drifting near to Alexandria. The contents of the crates is currently unknown, but they have been confirmed to be belong to the CSN. A shuttle has been dispatched to retrieve them, in case they should wander in to any shipping lanes. Once we have them in our possession, we will work to determine how they came to be here."
msgstr ""
@ -1273,6 +1438,168 @@ msgstr ""
msgid "Good work, everyone. We've sent both Tzac and those mercenaries a clear message today. I think its obvious what our next move should be ..."
msgstr ""
msgid "Our goal is the jumpgate. Expect a lot of resistance."
msgstr ""
msgid "Once we're they, we need to destroy the control nodes to shut it down. Barclay, that's your job."
msgstr ""
msgid "More enemies incoming."
msgstr ""
msgid "Commander, I'm detecting a wing of Blizzards, incoming."
msgstr ""
msgid "Couldn't expect Tzac not to bring out the heavy guns. Let's take it to them, people."
msgstr ""
msgid "We're clear for the run against the gate."
msgstr ""
msgid "It's guarded by several rapid-fire plasma turrets. Try not to let those things get a lock on you."
msgstr ""
msgid "Half the nodes are down."
msgstr ""
msgid "Keep at it!"
msgstr ""
msgid "Jumpgate is down."
msgstr ""
msgid "Control, this is Wolfenden. Tzac's outer jumpgate is offline."
msgstr ""
msgid "Acknowledged. Hold position there. We'll need you to guard that gate and prevent the enemy from affecting repairs."
msgstr ""
msgid "Dammit, the team's been cut down! Looks like it's up to you and me, Ian."
msgstr ""
msgid "We'll make sure their deaths weren't in vain."
msgstr ""
msgid "HMS 781-110 sighted. All fighters free to engage at will. Follow my lead."
msgstr ""
msgid "Control, HMS 781-110 has been taken down."
msgstr ""
msgid "Infinites, HMS 781-041 has arrived in the area. Engage and destroy."
msgstr ""
msgid "Acknowledged."
msgstr ""
msgid "Did anyone else get that?"
msgstr ""
msgid "HMS 781-041, please repeat."
msgstr ""
msgid "Hell! Too late!"
msgstr ""
msgid "Infinites, it appears remaining enemy forces are retreating. Please stand down."
msgstr ""
msgid "Received."
msgstr ""
msgid "That was unexpected."
msgstr ""
msgid "Sure was. We'd better get to debriefing."
msgstr ""
msgid "We're going to mag half of their forces and destroy the others. The ones to disable have been tagged. Everyone clear?"
msgstr ""
msgid "Watch your fire: remember, a stray shot could easily destroy a disabled craft."
msgstr ""
msgid "All tagged Tzac fighters have been disabled."
msgstr ""
msgid "Tzac opposition has been destroyed."
msgstr ""
msgid "Great work, everyone. That should give the PR guys something to brag about."
msgstr ""
msgid "All, our mission parameters have changed. The Pandorans are making a move against Mace. We need to act quickly."
msgstr ""
msgid "Therefore, you have permission to destroy any and all opposing forces, no need to mag these guys."
msgstr ""
msgid "Commander, we've got Darts and Shales incoming."
msgstr ""
msgid "Looks like some mercenaries decided to stick around. Let's show them why that was a bad move."
msgstr ""
msgid "That's them seen to. Onwards to the jumpgate."
msgstr ""
msgid "Got INF fighters incoming."
msgstr ""
msgid "Knew it wouldn't be long."
msgstr ""
msgid "Patriots, a Tzac warship just arrived in the area, but it has Imperial fighter escorts. Most likely it's been acquired by the Pandroans. It needs to be taken down before Cristabel makes her escape bid, as it might be here to kill her."
msgstr ""
msgid "Got it. You all heard that. Let's get to it."
msgstr ""
msgid "Christabel's shuttle has been disabled."
msgstr ""
msgid "Excellent work! Now let's finish off the rest of these fighters."
msgstr ""
msgid "All enemies down. Let's get over to Christabel's shuttle and secure the empress."
msgstr ""
msgid "Empress Christabel, this is Cdr. de Winter of the Confederation Stellar Navy."
msgstr ""
msgid "Acting under the authority of the allied forces, I am hereby placing you under arrest, for breaches of intergalactic law."
msgstr ""
msgid "You will be escorted to a neutral court, where you will be tried for your crimes."
msgstr ""
msgid "If found guilty, the intergalactic community will decide on your punishment."
msgstr ""
msgid "Sorry, your Highness. I wish it didn't have to go this way, but the galaxy has enough problems as it is."
msgstr ""
msgid "If--"
msgstr ""
msgid "Woah! What the hell just happened?!"
msgstr ""
msgid "Did anyone fire?!"
msgstr ""
msgid "All guns cold, Commander. Looks like she might have self destructed her own ship."
msgstr ""
msgid "Dammit!"
msgstr ""
msgid "Now what?"
msgstr ""
msgid "Nothing more we can do. We should evacuate the area before more Pandoran forces arrive."
msgstr ""
msgid "A distress call from a CSN squadron has been issued, who were engaging Pandoran targets. It appears as though the enemy have magged the fighters, rather than destroy them. INF tugs are preparing to lead them out of the system, via the jumpgate. We need to destroy those tugs, and get those men and women to safety. We cannot allow the Pandorans to get hold of any of our technology."
msgstr ""
@ -1369,9 +1696,6 @@ msgstr ""
msgid "Rose, we'll be relying on you to disable his fighter as soon as he puts in an appearance."
msgstr ""
msgid "Acknowledged."
msgstr ""
msgid "Tzac commander sighted, Commander."
msgstr ""
@ -1393,6 +1717,66 @@ msgstr ""
msgid "Excellent work, Jesters. Everything looks clear, so we'll dispatch a tug to your location to bring him in. See you soon."
msgstr ""
msgid "The Pandorans have launched a sudden attack against the system. It appears that they are capitalizing on the chaos that the Kingdom of Tzac has thrown us into. We need to repel this attack, as defeat here could mean a major setback in our struggle against both enemies."
msgstr ""
msgid "Hell, they're outnumbering us, a good two-to-one!"
msgstr ""
msgid "There are Swarmers in their ranks, making up the bulk. Don't lose faith people, we can do this."
msgstr ""
msgid "That's the last of 'em. Not often we win an engagement like this."
msgstr ""
msgid "Brace yourselves, lads."
msgstr ""
msgid "Picking up two Mitikas corvettes: Mora and Karambit."
msgstr ""
msgid "We need to give Hopper and Blackburn support in dealing with them. Get to it."
msgstr ""
msgid "Hell, where'd they get those Khepris from?"
msgstr ""
msgid "Crystabel must've decided to try and attack the Pandorans directly. Went as well for her as it did for us."
msgstr ""
msgid "Commander, we're taking heavy losses!"
msgstr ""
msgid "We won before, we can win again! Keep up the fight!"
msgstr ""
msgid "Commander, I strongly suggest we pull back."
msgstr ""
msgid "We can't keep running. We'll run out of places to run to."
msgstr ""
msgid "All fighters, be advised: the wing commander has been killed."
msgstr ""
msgid "Who's leading this operation now?"
msgstr ""
msgid "We have to retreat!"
msgstr ""
msgid "This the end of the line, guys. It's been great serving with you."
msgstr ""
msgid "Hopper is down!"
msgstr ""
msgid "They've taken out Blackburn!"
msgstr ""
msgid "That's both of our corvettes down. The rest is up to us."
msgstr ""
msgid "A simple test flight. Get used to piloting your fighter, without threat of attack or any other dangers to face. There are no objectives to complete in this mission, so you may quit it at any time and move on to the next one."
msgstr ""
@ -1459,9 +1843,6 @@ msgstr ""
msgid "Seth, the lieutenant's Dart should be tagged on your HUD. Disable that ship as soon as possible."
msgstr ""
msgid "Got it."
msgstr ""
msgid "The rest of us will take down his buddies. Watch your stray fire around the mission target."
msgstr ""
@ -1642,7 +2023,13 @@ msgstr ""
msgid "Likewise. Maybe we'll get it do it again some day, though a part of me really hopes we won't need to ...."
msgstr ""
msgid "Destroy all Darts"
msgid "Destroy all Darts #1"
msgstr ""
msgid "Destroy all Darts #2"
msgstr ""
msgid "Destroy all Darts #3"
msgstr ""
msgid "Destroy all Lynxes"
@ -1678,66 +2065,42 @@ msgstr ""
msgid "Swarms of Swarmers"
msgstr ""
msgid "Piracy"
msgstr ""
msgid "Swelling the Ranks"
msgstr ""
msgid "Most Wanted"
msgstr ""
msgid "Solo Patrol"
msgstr ""
msgid "Set Phasers to Stun"
msgstr ""
msgid "No survivors"
msgstr ""
msgid "Initiation"
msgstr ""
msgid "Destroy all Darts #4"
msgstr ""
msgid "One of the seven"
msgstr ""
msgid "Earn all other trophies"
msgstr ""
msgid "2nd Lieutenant"
msgid "Gentle start"
msgstr ""
msgid "Complete a campaign mission"
msgstr ""
msgid "1st Lieutenant"
msgstr ""
msgid "Complete 10% of all missions"
msgstr ""
msgid "Lieutenant Commander"
msgstr ""
msgid "Complete 20% of all missions"
msgstr ""
msgid "Commander"
msgstr ""
msgid "Complete 40% of all missions"
msgstr ""
msgid "Captain"
msgstr ""
msgid "Complete 50% of all missions"
msgstr ""
msgid "Commodore"
msgstr ""
msgid "Complete 60% of all missions"
msgstr ""
msgid "Rear Admiral"
msgstr ""
msgid "Complete 80% of all missions"
msgstr ""
msgid "Admiral"
msgstr ""
msgid "Complete 90% of all missions"
msgstr ""
msgid "Fleet Admiral"
msgstr ""
msgid "Complete all campaign missions"
msgstr ""
msgid "Ready for duty"
msgstr ""
@ -1768,12 +2131,24 @@ msgstr ""
msgid "Complete all missions at Temper"
msgstr ""
msgid "Going out with a bang."
msgid "Going out with a bang"
msgstr ""
msgid "Complete all missions at Mace"
msgstr ""
msgid "Back against the wall"
msgstr ""
msgid "Complete all missions at Rothan"
msgstr ""
msgid "Now what do we do?"
msgstr ""
msgid "Complete all missions at Clarke"
msgstr ""
msgid "Truly epic"
msgstr ""
@ -1786,13 +2161,19 @@ msgstr ""
msgid "Destroy an enemy capital ship"
msgstr ""
msgid "Giant Slayer"
msgstr ""
msgid "Destroy 25 enemy capital ships"
msgstr ""
msgid "Plenty more where that came from, unfortunately"
msgstr ""
msgid "Destroy a Pandoran-controlled craft"
msgstr ""
msgid "Man, I gotta get me one of these!"
msgid "Oh man, I gotta get me one of these!"
msgstr ""
msgid "Pilot an ATAF during the campaign"
@ -1816,13 +2197,46 @@ msgstr ""
msgid "Be killed by a missile that was meant for someone else"
msgstr ""
msgid "Complete 25% of all challenges"
msgid "The bodyguard"
msgstr ""
msgid "Complete 50% of all challenges"
msgid "Kill an enemy with a missile intended for their wing leader"
msgstr ""
msgid "Complete 100% of all challenges"
msgid "Dedicated"
msgstr ""
msgid "Complete 25%% of all challenges"
msgstr ""
msgid "Obssessed"
msgstr ""
msgid "Complete 50%% of all challenges"
msgstr ""
msgid "Completitonist"
msgstr ""
msgid "Complete 100%% of all challenges"
msgstr ""
msgid "Hero"
msgstr ""
msgid "Take down 50 enemies (player only)"
msgstr ""
msgid "Veteran"
msgstr ""
msgid "Take down 500 enemies (player only)"
msgstr ""
msgid "Legend"
msgstr ""
msgid "Take down 5,000 enemies (player only)"
msgstr ""
msgid "Your name's on one of these!"
@ -1840,13 +2254,19 @@ msgstr ""
msgid "Isn't technology wonderful?"
msgstr ""
msgid "Use the ECM 100 times"
msgid "Use the ECM 250 times"
msgstr ""
msgid "Runaway!"
msgstr ""
msgid "Boost 100 times"
msgid "Boost 250 times"
msgstr ""
msgid "Hoarder"
msgstr ""
msgid "Collect 100 items"
msgstr ""
msgid "Missed, you f**kers!"
@ -1861,15 +2281,45 @@ msgstr ""
msgid "Visit 100 waypoints"
msgstr ""
msgid "Minesweeper"
msgstr ""
msgid "Destroy 255 mines (player only)"
msgstr ""
msgid "Get out and push"
msgstr ""
msgid "Disable 500 opponents"
msgstr ""
msgid "Yippie-ki-yay"
msgstr ""
msgid "Destroy 13 or more enemies in an epic battle without being killed"
msgid "Destroy 13 or more enemies in an epic battle, without being killed"
msgstr ""
msgid "Almost indestructable. Almost."
msgid "Survivor"
msgstr ""
msgid "Complete an epic battle without being killed"
msgstr ""
msgid "Almost indestructable. Almost"
msgstr ""
msgid "Be destroyed while piloting an ATAF"
msgstr ""
msgid "Pacifist"
msgstr ""
msgid "Complete a fighter-based campaign mission without firing"
msgstr ""
msgid "2 birds, 1 stone"
msgstr ""
msgid "Destroy two or more fighters by shooting one mine"
msgstr ""

View File

@ -1,10 +1,18 @@
PROG = tbftss
CC = gcc
BIN_DIR = /usr/bin
DATA_DIR = /opt/tbftss
LOCALE_DIR = /usr/share/locale
ICON_DIR = /usr/share/icons/hicolor
DESKTOP_DIR = /usr/share/applications
PREFIX ?= /usr
BIN_DIR ?= $(PREFIX)/bin
DATA_DIR ?= /opt/$(PROG)
LOCALE_DIR = $(PREFIX)/share/locale
ICON_DIR = $(PREFIX)/share/icons/hicolor
DESKTOP_DIR = $(PREFIX)/share/applications
DESTDIR ?=
INST_BIN_DIR = $(DESTDIR)$(BIN_DIR)
INST_DATA_DIR = $(DESTDIR)$(DATA_DIR)
INST_LOCALE_DIR = $(DESTDIR)$(LOCALE_DIR)
INST_ICON_DIR = $(DESTDIR)$(ICON_DIR)
INST_DESKTOP_DIR = $(DESTDIR)$(DESKTOP_DIR)
SEARCHPATH += src/plat/unix
OBJS += unixInit.o
@ -12,7 +20,7 @@ OBJS += unixInit.o
include common.mk
CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\"
CXXFLAGS += -Wall -Wempty-body -ansi -pedantic -Werror -Wstrict-prototypes
CXXFLAGS += -Wall -Wempty-body -ansi -pedantic -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
CXXFLAGS += -g -lefence
LFLAGS := `sdl2-config --libs` -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lm
@ -24,23 +32,29 @@ $(PROG): $(OBJS)
$(CC) -o $@ $(OBJS) $(LFLAGS)
install:
cp $(PROG) $(BIN_DIR)
mkdir -p $(DATA_DIR)
cp -r data $(DATA_DIR)
cp -r gfx $(DATA_DIR)
cp -r manual $(DATA_DIR)
cp -r music $(DATA_DIR)
cp -r sound $(DATA_DIR)
cp -p icons/$(PROG)-16x16.png $(ICON_DIR)/16x16/apps/$(PROG).png
cp -p icons/$(PROG)-32x32.png $(ICON_DIR)/32x32/apps/$(PROG).png
cp -p icons/$(PROG)-64x64.png $(ICON_DIR)/64x64/apps/$(PROG).png
cp -p icons/$(PROG)-128x128.png $(ICON_DIR)/128x128/apps/$(PROG).png
cp -p icons/$(PROG).desktop $(DESKTOP_DIR)
mkdir -p $(INST_BIN_DIR)
install -m 0755 $(PROG) $(INST_BIN_DIR)
mkdir -p $(INST_DATA_DIR)
cp -r data $(INST_DATA_DIR)
cp -r gfx $(INST_DATA_DIR)
cp -r manual $(INST_DATA_DIR)
cp -r music $(INST_DATA_DIR)
cp -r sound $(INST_DATA_DIR)
mkdir -p $(INST_ICON_DIR)/16x16/apps
mkdir -p $(INST_ICON_DIR)/32x32/apps
mkdir -p $(INST_ICON_DIR)/64x64/apps
mkdir -p $(INST_ICON_DIR)/128x128/apps
cp -p icons/$(PROG)-16x16.png $(INST_ICON_DIR)/16x16/apps/$(PROG).png
cp -p icons/$(PROG)-32x32.png $(INST_ICON_DIR)/32x32/apps/$(PROG).png
cp -p icons/$(PROG)-64x64.png $(INST_ICON_DIR)/64x64/apps/$(PROG).png
cp -p icons/$(PROG)-128x128.png $(INST_ICON_DIR)/128x128/apps/$(PROG).png
mkdir -p $(INST_DESKTOP_DIR)
cp -p icons/$(PROG).desktop $(INST_DESKTOP_DIR)
@for f in $(LOCALE_MO); do \
lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \
mkdir -p $(LOCALE_DIR)/$$lang/LC_MESSAGES; \
cp -v $$f $(LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
mkdir -p $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES; \
cp -v $$f $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
done
uninstall:

View File

@ -8,8 +8,7 @@ SEARCHPATH += src/plat/win32
OBJS += win32Init.o
CXXFLAGS += `$(SDLC) --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\"
CXXFLAGS += -Wall -ansi -pedantic -Werror -Wstrict-prototypes
CXXFLAGS += -g -lefence
CXXFLAGS += -ansi
LFLAGS = `$(SDLC) --libs` -lm -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lSDL2main

View File

@ -26,7 +26,7 @@ span.highlight {font-weight:bold; color: #0bf;}
<div style="text-align:center">
<p><img src="logo.png"></p>
<p><img src="pandoran.png"></p>
<p>Last updated: 21st April 2016</p>
<p>Last updated: 14th May 2016</p>
</div>
<div>
@ -350,6 +350,15 @@ To start challenge mission, click on the numbered mission box and then click on
</ol>
</p>
<h3>Trophies</h3>
<p>
The Pandoran War offers an optional achievement award system, in the form of trophies. Trophies are earned through various gameplay actions, such as completing missions, defeating enemies, and racking up stats. Earned and available trophies can be viewed in the menu from the title screen, the galactic map, and the challenges menu. A notification will be shown when a trophy is unlocked, sliding in from the left-hand side of the screen. So as not to interupt the game, potentially spoiling a hard-fought mission, notifications are only shown at certain points during the game.
</p>
<img src="trophies.png" class="screenshot">
<p>
Note that this is not an online system, and is local to the machine on which the game is saved.
</p>
<h3>Misc. gameplay details</h3>
<h4>Shuttles</h4>
@ -398,20 +407,40 @@ To change a control, click on the box and then press the key or mouse button you
Controls be can restored to their default settings by clicking the "Restore Defaults" button.
</p>
<h4>Gameplay settings</h4>
<p>
Some minor gameplay settings can be tweaked in the <b>config.json</b> save file:
</p>
<p>
<ul>
<li><span class="highlight">friendlyFire</span> - whether friendly fire between craft of the same side is allowed. 0, Off. 1 On. Default is 0 (off).<br>
<li><span class="highlight">autoSwitchPlayerTarget</span> - whether the player's enemy targeter should automatically switch if the target goes out of a range. 0, Off. 1 On. Default is 1 (on).<br>
<li><span class="highlight">missileReTarget</span> - whether missiles should select a new target if their current one is destroyed. Note that missiles will only make one attempt to do so, before automatically self-destructing. 0, Off, 1 On. Default is 0 (off).<br>
<li><span class="highlight">healthBars</span> - whether or not to show health bars above fighters and other units, in game. 0, Off. 1 On. Default is 1 (on).<br>
</ul>
</p>
<p>
To alter a gameplay element, update the setting and restart the game. It is not recommended that you fiddle with these settings unless you are comfortable editing such files, as it could result in the loss of data or the game not working properly.
</p>
<h3>Misc. Information</h3>
<p>
Saved game files are stored in:
The Pandoran War creates two save game files when run, config.json and game.save. Both files are human-readable and saved in JSON format. The files are stored in:
</p>
<ul>
<li>Linux: $HOME/.local/share/tbftss</li>
<li>Windows: $USERPROFILE/tbftss</li>
</ul>
Note that as the source code for this game is freely available, these settings may have been changed. Typically on Windows $USERPROFILE is C:/Users/&lt;userid&gt;.
<p>
Note that as the source code for this game is freely available, these settings may have been changed.
</p>
<p>
$HOME on Linux will be /home/&lt;userId&gt;, where userId is your login username. Typically on Windows, $USERPROFILE is C:/Users/&lt;userId&gt;, where userId is your Windows login.
</p>
<h3>License</h3>
<p>
See the LICENSE and README.md files that came with this game for information on the various copyrights of the source code, graphics, sound, and data. Additionally, you may visit <a href="https://github.com/stephenjsweeney/tbftss">https://github.com/stephenjsweeney/tbftss</a> to get the source code itself, and view the files there.
Please refer to the LICENSE and README.md files that came with this game for information on the various copyrights of the source code, graphics, sound, and data. Additionally, you may visit <a href="https://github.com/stephenjsweeney/tbftss">https://github.com/stephenjsweeney/tbftss</a> to get the source code itself, and view the files there.
</p>
<h3>About</h3>

Some files were not shown because too many files have changed in this diff Show More