DISCLAIMER:

Use this mod at your own risk. I am not responsible for any damage to your computer, your ship or your crew.

This mod is distributed under the terms of the STAR TREK BRIDGE COMMANDER SDK LICENSING AGREEMENT. For purposes of redistributing and modifying of this mod the terms of the GNU General Public License apply.

Quick Battle Replacement 2.3 (QBR)

Author: Banbury (baley5@excite.com)

Additional Programming by:

  • Capt. Redbeard
  • Defiant
  • Changes:

    Version 2.3
  • Added new group Neutrals2
  • Added default AI for Neutrals and Neutrals2
  • Ships can now be marked as critical for a mission
  • Setup format changed.
  • Ships can now appear after a random amount of time (Defiant)
  • Setups are now saved in folder Missions (Defiant)
  • Custom bridges should work now (Defiant)
  • Included Defiant's Engineering Extension in setup
  • Version 2.2
  • Added pre-damaging of ships
  • Added support for plugins
  • Added Briefing plugin
  • Redesigned GUI
  • Added Advanced Technology Plugin (in the samples folder)
  • Version 2.1.4
  • Fixed System loading bug
  • Added Fleet Hail menu
  • Added Emergency Transport
  • Version 2.1.3
  • Added tutorial courtesy of Capt. Redbeard
  • Add bridge menu fix by Capt. Redbeard
  • Added optional Foundation compatible mainmenu.py by Capt. Redbeard
  • Added some error checking by me ;)
  • Version 2.1.2
  • Fixed bug in system selector
  • Fixed installer
  • Version 2.1.1
  • QBR comes now with an installer.
  • Added loading and saving of setups.
  • Added support for latest Foundation.
  • Added ship preview icon.
  • Version 2.0.2
  • QBR is now open source
  • changes to make QBR compatible with patch 1.1
  • QBR is now fully compatible with Dasher42's foundation!
  • ships with coordinates 0/0/0 will be placed randomly (except the player ship).
  • The name of the player ship can no longer be changed.
  • bug fix: QBSetup.txt is now written correctly.
  • Version 2.0.1
  • fixed bug with ships being not deleted on restart
  • Version 2.0
  • Added GUI
  • Added Neutrals
  • Added linking of missions via solar systems
  • Ships can now have different AI levels under default AI
  • Version 1.2
  • Added docking via 'Hail' menu
  • Added use of custom AIs
  • Version 1.1
  • Added battles in multiple systems
  • ships may warp between systems
  • Changed syntax: 1.0 scripts must be changed to run with this version
  • This replacement allows you to do a lot of things the original QuickBattle doesn't.

    With QBR you can use all the ships and objects in the scripts\ship folder and all star systems. You can even play as a starbase. All friendly ships take orders. You can share your QuickBattle setups with your friends. This should be also useful to modders. New ships can be used with QBR without modifications to the script. (Try this with the original QuickBattle script.;))


    Installation
    Just run QuickBattle.exe. QBR will run only with the BC patch 1.1 and Dasher42's Foundation installed. QuickBattle will not be replaced.
    'setup.bat' is no longer needed.


    Usage
    To play QBR you have to start Bridge Commander with the -TestMode parameter. Press the 'Test Only' button. To start QBR press the 'QuickBattleGame' button in the custom missions menu.

    All aspects of QBR are controlled with python script files. At least QBSetup.py has to be present and will be loaded on startup.

    Since Version 2.0 you can configure most options from within a dialog. Look in Saffi's menu and press 'Configure'. You can add ships and systems by clicking on their buttons in the menus. When you add a ship, you must select it in the right menu and change its properties. You must at least set a starting system and a new position. Press 'Update' to make changes permanent. Press 'Close' to cancel any changes. Press 'Start' to run the new setup.
    The player ship's name is always 'player'. All other ships must have unique names. For friendly ships you might want to enter 'FleetAI' in the AI edit box.
    Neutrals don't have a default AI. They will just sit in space. You can create a custom AI with the SDK's AI editor for more interesting missions.
    If you create a wrong setup, BC might crash. (I was too lazy to add a validation routine. :); There is a simple check since version 2.13)
    Ship, Bridge and system mods will be added automaticlly to their menus, if they are correctly installed as Foundation plugins.

    In the Hail menu is a new entry 'Fleet'. Here you can order all friendly ships in the area to attack your current target.

    In the Chief Engineer's menu you will find another new button. If you press 'Transporter' you and your crew will be beamed to the nearest friendly ship. The Transporter has a range of about 50 km.

    With the 'File' pane you can load and save your setups. To save a setup, enter the filename without extension in the edit field and press 'Save'. To load a setup select a file in the list box and press 'Load'. There is no warning, if you overwrite a file, so be careful where you click.
    To start QBR with a saved setup, rename your file to 'QBSetup.py' and start a new QuickBattle mission from the BC main menu.

    The systems of any ship or starbase can be pre-damaged randomly. Just enter the minimum and maximum values of the desired damage in percent into the editfields.

    Briefings
    If you enter text into the fields on the 'Briefing' page, your mission will be preceded by a short cutscene. The first line will be shown as the title of the mission. The following lines will be shown as subtitles. After the title is visible, the briefing can be skipped by pressing the 's' key. Don't allow ships to warp, if you are using a briefing.

    Neutrals
    I have added a second neutrals group 'Neutral2' which will appear gray on your sensors. Both neutral groups have now a default AI. Neutral ships will attack Neutral2 ships and after that enemy ships. Neutral2 ships attack Neutral ships and after that all friendly ships. This should add some new possiblities for games, because potential allies or enemies have nour their own agenda.

    ETA
    Defiant has added additional parameters to the 'Ships' page. 'ETA Min' and 'ETA Max' set a random time in minutes a ship waits until it appears in its system. If 'ETA Max' is lower than 'ETA Min' the ship will appear exactly at the time given in 'ETA Min'. Does nothing for the Player ship.

    Critical
    A ship marked 'Critical' influences the ending of a mission when destroyed. If all ships belonging to the Enemy and Neutral2 groups are destroyed the mission is considered as won. Otherwise if all critical ships of the other groups are destroyed the mission is lost. Any number of ships can set to 'Critical'. The Player ship is of course always critical for the success of a mission. The critical ships are listed in the 'Objectives' menu of the First Officer.


    Plugin Development

    Plugins can be used to add new features to QBR. Plugins can have their own GUI, change event handlers or modify the QuickBattle setup. Plugin settings can be saved within the setup script.

    QBR will look for three functions in a plugin:

  • Initialize(pMission)
  • This function will be called once when QBR is started.
  • Restart()
  • This function will be called when the 'Start' button is pressed. This is for any code that should be executed each time a new mission is started.
  • Terminate()
  • This function will be called once when QBR is shut down.

    The plugin module offers some convenience functions for communicating with QBR. With these you can save and retrieve settings from a setup file and manipulate the GUI of QBR.

    I have provided a template in the samples folder (plugin.py.template) for a quick start. Just copy the file and rename it (eg. 'MyPlugin.py'). Then add code to the functions. The next time you start up QBR your plugin will be loaded and the code executed.

    Please have a look at the 'Briefing' plugin for an example, on how to implement a plugin. It shows the usage of 'plugin.py' and how to create a simple GUI.

    If there is enough interest by third party developers (this means you :)) in writing plugins, I will create a better tutorial.

    Docking with Starbases
    Despite hours of experimenting I couldn't get the 'Dock' button to work outside of the 'Starbase 12' system. Therefore I abused the 'Hail' button for this purpose. If you hail a Federation starbase or one of your allies the docking procedure will begin. Right now only the Federation Starbase has docking points.