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.2 (QBR)Changes:
Version 2.2
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.
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.
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:
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.
Syntax
This is the version number of the QBR that created the file. It must be present for the File Pane to recognize the file as loadable. Later versions of QBR might use this to check for compatibility.
The first item is the python module name of the System. The second item is the planet name. There must be no space between the name and the planet number.
The third item is the module name of a custom mission, e.g. a copy of the QBR ('QuickBattle.QuickBattleCopy.QuickBattleEpisode'). If you warp to this system, the custom mission will be loaded (doesn't work with BC stock missions).
Sets the bridge for the player ship.
Ship type, name and starting location of player ship. Ship name must be identical to the script file name in the ships folder.
Absolute coordinates of player ship's starting location.
For each enemy ship a list of ship type, name and starting location and a list of coordinates must be specified.
The fourth parameter decides, if a ship with default AI seeks enemy ships in other systems and warps to them or not.
0 = don't use warp
1 = use warp
It may happen, that ships do not warp, even when the parameter is set to 1. This is due to AI and is for now beyond my control.
The fifth parameter allows the use of AIs created by the AIEditor in the SDK. This must be the Python module name of the AI.
I added FleetAI.py as an example. FleetAI is for friendly ships, which will follow you through warp and attack any enemies.
The sixth item specifies the AI level of a ship with default AI. You can enter any float number between 0 and 1. (0 = Low, 0.5 = Medium, 1 = High)
All other entries follow the same principles.
Starbases have no warp parameter (they don't go anywhere :)) and no AI level, since the Starbase AI doesn't allow for it.
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.
Comments, bugs and questions to baley5@excite.com
Created by Banbury
Tutorial and additional changes by Capt. Redbeard. Thanks.