0% found this document useful (0 votes)
329 views133 pages

Manual 150

This document provides an overview of the new features and changes introduced in the unofficial 1.50 fan patch for Master of Orion II: Battle at Antares. Key highlights include fixes for crashes and bugs, improvements to the interface such as customizable build queues and additional ship design slots, and extensive modding capabilities through new configuration files. The patch also improves network multiplayer functionality and includes several pre-made mods that can be selected using the included MOO2 Launcher utility. Detailed descriptions are given for all changes to gameplay systems, user interface elements, and how to customize settings through configuration files and scripting.

Uploaded by

Wyatt Johnson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
329 views133 pages

Manual 150

This document provides an overview of the new features and changes introduced in the unofficial 1.50 fan patch for Master of Orion II: Battle at Antares. Key highlights include fixes for crashes and bugs, improvements to the interface such as customizable build queues and additional ship design slots, and extensive modding capabilities through new configuration files. The patch also improves network multiplayer functionality and includes several pre-made mods that can be selected using the included MOO2 Launcher utility. Detailed descriptions are given for all changes to gameplay systems, user interface elements, and how to customize settings through configuration files and scripting.

Uploaded by

Wyatt Johnson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 133

Master of Orion II: Battle at Antares

1.50.12

7 Oct 2018
 

Table of Contents 
Table of Contents 1 

Introduction 5 

Compatibility 6 
Saves 6 
Config 6 
Network Multiplayer 6 

Installation 7 
Updating with Launcher 7 
Updating without Launcher 7 

New Feature Highlights 8 

Critical Bugs 9 
General 9 
Networked Multiplayer 10 

Interface Changes 11 


Improvements 11 
Bug Fixes 15 
Keyboard Shortcuts 20 

Gameplay Changes 24 


Galaxy Generation 24 
Tactical Combat 25 
Strategic Combat 34 
Ships and Fleets 36 
Ship Refit 38 
Lander Ships 38 
Satellites 39 
Ground Defenses & Troops 41 
Production & Buildings 42 
Research & Technology 43 
Spying 44 
AI & Diplomacy 45 
Population & Androids 45 
Leaders 46 
GNN & Random Events 47 

Game Mods 49 


1.50 Classic 49 
1.50 Improved 49 
ICE 58 
Melee 59 
Mapmods 60 

Build Lists 61 


Overview 61 
Syntax 62 
Examples 62 


 

Modding with Config 64 


Overview 64 
Startup and Command Line 64 
Reloading and Extracting on the Fly 65 
Network Synchronization 65 
Syntax 65 
Commands 66 
Single Value Parameters 67 
Table Parameters 68 
LBX substitution 69 
Default Configuration 70 
ORION2.CFG 70 
USER.CFG 72 
ENABLE.CFG 75 
150i.CFG 76 
Modding 76 
Switches 76 
Map Generation 77 
Population 81 
Buildings 81 
Productivity 82 
Ships and Satellites 83 
Command and Scanning 85 
Ground Defenses & Marines 85 
Weapons 86 
Weapon Arcs and Mods 89 
Defensive Fire 90 
Special Systems 91 
Shields 94 
Miniaturization Table 94 
Research & Spying 94 
Tech Tree 95 
Custom Names 97 
Custom Race Options 98 
AI Opponents 100 
AI Ships 102 
The Antaran Fleet 104 
Monsters 105 
Events & Delays 105 
Leaders 106 

Modding with Scripting 108 


Changes in Lua 108 
Contexts 108 
Running a Script 108 
MOO2 API 109 
Demo Scripts 110 

Introduced Bugs 111 


1.50.10 111 
1.50.9 111 
1.50.8 111 
1.50.7.1 111 


 

1.50.7 111 
1.50.6 112 
1.50.5 112 
1.50.4 113 
1.50.3.1 113 
1.50.3 113 
1.50.2 114 
1.50.1 116 
1.50 116 

Notes on Population Growth 117 


Definitions 117 
Growth Formula 117 
Cloning Center 118 

Notes on Spying 119 


Spy Bonuses 119 
Assassins 120 
Roll Chance 120 
Spy vs Spy 121 

Notes on Beam Weapon Mechanics 122 


Accuracy 122 
Damage 124 

Notes on Missile Defenses 127 


Weapons 127 
Special Systems 127 
Missile Jamming 127 

Notes on Spherical Damage 128 


Spherical Weapons 128 
Damage Calculation 128 

Notes on Orbital Assault 130 


Orbital Bombardment 130 

Notes on Winning the Game 131 


Orion Spoils 131 
Win Conditions 131 
Score Calculation 131 

Acknowledgements 133 

   


 

Introduction 
 
This unofficial 1.50 fan patch provides an updated DOS version of Master of Orion II: Battle 
at Antares (MOO2). It fixes most known crashes, stalls and network synchronization errors, 
as well as an abundance of interface and game rule bugs. 
 
The interface has been improved with customizable build queue lists, a 6th ship design 
slot, usable mouse scrolling in combat and new keyboard shortcuts. 
 
This patch introduces configuration files which allow customization of the game and 
extensive modding. Config files are plain text files and can be viewed and edited with any 
plain text editor (like Notepad on Windows). The distribution includes the mods 1.50 
improved, ICE and Melee. The also included MOO2 Launcher makes it easy to select a mod 
before running the game. After installation the MOO2 Launcher defaults to 1.50 improved. 
 
Network multiplayer setup has also been improved. The host broadcasts settings to clients 
automatically, eliminating the need for all parties to use the same set of command line 
switches or enable the same mod. The built-in mapgen eliminates the need to run the 
separate mapgen program which requires restarting the game. 
 
This manual and its addendum MANUAL_150.XLS contain detailed descriptions of 
features, fixes and modding options. README_150.TXT contains installation instructions 
and a changelog with a complete list of changes. EXAMPLE.CFG contains an overview of 
all config parameters along with a brief description for each one. 
 
 
This unofficial fan patch is not supported by a company or anyone at all. 
 
 
USE IT AT YOUR OWN RISK 
 
 
 
 
   


 

Compatibility 
Saves 
Starting from patch 1.50.3, the game appends extra data to the save. So in general newer 
versions can load older saves but older 1.50 versions can’t load newer saves. 1.50.2 and 
earlier versions (including classic) will load any save but ignore the extra data which can 
result in glitches. 
 
Game version  Save file format version  Comments 

1.31, 1.40, 1.50.0-2  0 (classic)  Can load all formats, but in 
saves from 1.50.6+ food will 
appear doubled. Some 
versions will also have 
incorrect ship speed. 

1.50.3-5  1  Can load formats 0-1. 

1.50.6-9  2  Can load formats 0-2. 

1.50.10+  3  Can load formats 0-3. 


 
If you want to use a save editor, use Corion2 version 1.1 or higher, older Corion2 versions 
will discard 1.50’s extra data. Other save editors might not support the new save file 
format. 

Config 
All major versions of 1.50 introduce new or renamed config parameters and can drop old 
ones. Because of this, config files for different versions are incompatible, so in general, after 
updating the game you also have to download updated versions of the mods you use. 
Some simpler configs might work in a new version but any complete config will almost 
certainly fail to load. This situation will stand as long as patch is under active development. 

Network Multiplayer 
Executables with different major versions are incompatible in network multiplayer and will 
not allow you to start a game between them. Executables with the same major version are 
compatible over network, so 1.50.x.y is always compatible with 1.50.x or 1.50.x.z. It is 
recommended however that all players use the exact same version. 

   

 

You have downloaded the zip file, this manual on your screen, and a manic gleam in your eyes. 
What do you do now? 

Installation 
MOO2 DOS version 1.31 or higher is required for installing the 1.50 fan patch. English, 
French, German, Italian and Spanish languages are supported. Note that installing the 
patch does not break your current MOO2 installation. The 1.50 executable is installed 
alongside the old one and no original files are overwritten. You can still use your original 
shortcuts to start an unaltered version 1.31 or 1.40 game. 

Updating with Launcher 


1. Unzip the package anywhere. On Windows run "MOO2 Launcher.exe". On Linux 
open a terminal, cd to unzipped directory, and run ./moo2-launcher. 
 
2. You will be presented with a patch installation prompt: Specify MOO2 and DOSBox 
locations and press Install. The installer will warn you if you have an incompatible 
version. 
 
3. After reporting success the Launcher will switch to normal mode, from where you 
can run the game. Press Launch! and check the version number in the bottom right 
corner of the MOO2 Title screen to confirm that you are running version 1.50. 
 
On subsequent runs the Launcher won't prompt installation, and will allow to start the 
game right away. Use the desktop shortcut created during installation to start the 
Launcher. 

Updating without Launcher 


The Launcher runs on most recent Windows and Linux systems, and have seen some 
testing on MacOS X. Still it may happen that on your system it doesn’t work. In this case 
you can install the patch manually. 
 
1. Find in the Launcher package the directory named MOO2.1.50.X. Copy all files from 
it into your MOO2 folder. No original files will be overwritten. If you already have a 
version of 1.50 installed then choose to overwrite files. 
 
2. Update your DOSBox configuration files to run ORION150.EXE. 
 
3. Run the game and check the version number in the bottom right corner of the 
MOO2 Title screen to confirm that you are running version 1.50. 
 
To change enabled mods without the Launcher you'll have to edit the configuration file 
150/ENABLE.CFG manually. 


 

New Feature Highlights 


Random Number of Opponents 
It’s now possible to start a new game with a random number of AI opponents. For 
singleplayer games 1-7 AI’s will be added, and for multiplayer games 0-6 AI’s will be 
added. 

Build Queue Lists 


Build queues can now be auto filled by loading one of 11 configurable lists, drastically 
reducing micromanagement. The lists are bound to keys ​Q​ and ​0-9​. Keys can be used in 
the Build screen and in the Colonial Overview screen. Used in the Colonial Overview 
screen, the list’s contents will be loaded to all build queues, or in combination with the 
SHIFT key to only the highlighted colony’s queue. Default lists are: 
 
Q merge buildings 
0 clear the queue 
1 append ship design 1 
2 append ship design 2 
3 append ship design 3 
4 append ship design 4 
5 append ship design 5 
6 append ship design 6 
7 prepend freighter 
8 prepend spy 
9 append housing 
 
Section B
​ uild Lists​ describes syntax and usage in detail. 

Revert Buy Action 


You can now revert buy action by pressing the BUY button in the Colony screen, Colony 
Build screen or Colonial Overview screen. The amount of money paid will be returned and 
added production will be removed. 

6th Ship Design Slot 


A 6th slot for custom design has been added. 

Play with Auto Designed Ships 


ALT-AD​ auto updates all six ship design slots with designs used by 
the AI. The first slot is always a scout ship. On Pre-warp, Average 
and Post-warp tech starts the other 5 designs are a frigate to titan 
until Doom Star Construction is known. Then they become 
destroyer to doom star. On Advanced tech starts these designs are always destroyer to 
doom star. 


 

Critical Bugs 
General 
“Mark Block Stack Size Exceeded” Crash 
Fixed the game crashing with such message when repeatedly entering and exiting race 
report in the Races screen. This happened due to an accumulating memory leak, so the 
problem was more likely to occur in long games. 

Star System Pop-up Freeze 


Fixed the game sometimes freezing when displaying a system pop-up. In rare cases it 
could display corrupted animation of rotating planets. 

Random Sounds Crash 


Fixed the game crashing on random sounds that could occur when pressing F keys in for 
example the fleet window, system window or colony view screen. 

AI Food Balancing Freeze 


Fixed the game freezing when an AI without Fungi tech gets stuck optimizing pop for food 
on a liberated and blockaded non-food planet in case previous owner has Fungi. 

Driveless Trans-Dimensional Ship Bugs 


Trans-Dimensional races can fly ships without a drive. Several bugs made use of such 
ships problematic: 
● Such ships were immobile in combat despite the TD combat speed bonus. 
● Such ships were placed directly underneath a defending satellite. 
● Such ships were rotating as if being a satellite. 
● If you won combat with such ships, the game would crash. 
● If you scan (right-click) such ship outside combat the game would crash. 
All these bugs have been fixed in 1.50 and driveless ships are fully playable now. 

Fighters Resolve on Top-left Corner Beam_SFX Crash 


Fixed a rare crash in animation when fighters strike from a certain direction around the 
top-left corner of the target ship. 

Ship Internal Damage Crash 


Fixed a division by zero crash that happened when damaging internals of a ship with no 
systems left and a drive with 1 hit point remaining. 

Raid Report Crash 


The game no longer crashes when the raid report is too long. 


 

Map Edge Retreat Crash 


The game no longer crashes if the attacker retreats a frigate from the left edge of the battle 
map. 

Networked Multiplayer 
Techfield Desync Bug 
Multiplayer combat will no longer desync when a player gets a new tech on the turn of 
battle. This can happen after research breakthrough, tech steal or tech capture during 
another battle on the same turn. Only techs from combat-related fields triggered this bug. 
An example: a tech field completion in Physics provides a new miniaturization level for the 
beam weapon used on a Satellite. Sometimes this information was passed only to one 
player resulting in a slight difference of satellite design observed by players. This could 
cause the course of combat to diverge between players, which led to eventual stall or 
crash. This bug is similar to the Evolutionary Mutation battle desync described below. 

Evolutionary Mutation Desync Bug 


Multiplayer combat will no longer desync when a player has Mutation applied on the turn 
of battle. This bug resulted in relatively little discrepancy for Single or Hotseat games; new 
picks acquired already came into effect during the combat cycle prior to the actual next 
turn. For Network games this was likely to cause desync and stall in combat requiring 
crashing and reloading the game. 

Zero Marines Raid Desync Bug 


Network games will no longer desync because of a boarding action with zero marines, 
resulting in a stall of combat. This situation could occur either by deliberately raiding with 0 
marines or, more importantly, when a Damper Field's effect was reducing the boarding 
party to 0. Both actions are legal and cause no harm to defender. Note that boarding with 0 
marines still counts as one boarding action for the ship in that turn. 

Shuttle Capture when Rotating Desync Bug 


When playing network multiplayer, the game will no longer desync when a ship rotating in 
place (manual rotate with right click) is captured by telepathic Assault Shuttles. 

Shuttle Capture of Last Ship Mid-Flight Stall 


When playing network multiplayer, the game will no longer stall if the last ship was 
captured mid-flight by Assault Shuttles. 

“Monster Bug” 
Battles, involving identical monsters fighting different players on the same turn will now 
resolve properly. Previously one of the battles could sometimes be “rolled back” restoring 
the monster and/or ships lost. 


 

Dismissed Leaders Desync Bug 


When a leader is dismissed he/she/it gets a level up. Sometimes this information was not 
synchronized and the leader could stay on the previous level. Leaders will now always 
acquire +1 level in a network game. 

Interface Changes 
Improvements 
Faster Screen Updates 
Screen switches (fade-ins and fade-outs) are faster in 1.50 than in classic. 

Cutscenes Sound 
The sound for cutscenes will be on if either Music or Sound Fx is on, rather than only when 
Music is on. Note that this sound for cutscenes is always at maximum volume, no matter 
the in-game volume levels. 

Default Settings 
Upon a fresh install or after deletion of the file 150.SET, three new default settings are: 
 
New Game menu - Tactical Combat is ON; 
Game Settings menu - S ​ hip Initiative​ is ON; 
Tactical Combat Options menu - Legal Moves is ON. 

Auto Save 
In Singleplayer, the game now autosaves each turn before combats (instead of every four 
turns), the same way it already did for Multiplayer in classic. In addition, a batch file 
‘watch-save10.bat’ is shipped with the patch that creates a copy of SAVE10.GAM each 
time it changes. Instructions on how to use the .bat are included within the file itself (open 
it in Notepad or any other plain text editor). 

Title Screen 
The name of the current mod is 
now shown in the lower right 
hand corner of the Title screen. 
By default it reads ‘Mod: 1.50 
improved’, indicating you will 
be playing according to 1.50 
improved rules. (More on this 
mod later in this manual.) 
 
 
 

10 
 

New Game Screen 


New artwork1 has been added to the New Game screen for the settings Cluster Galaxy, 
Random Opponents and Post-warp Civilization. 
 

Select Race Screen 


The button for the Darloks has been redrawn2, correcting the name: 
 

Tech Breakthrough Turn Counter 


The turn counter is now more precise overall, for example it shows 1 turn instead of 2 
when the chance for breakthrough is 100%. 
 

Next Turn Reports 


The order in which you get reports or actions at the beginning of the turn has been 
changed, providing a more logical sequence:  
 
Version 1.40 Version 1.50 
Research Breakthrough Technology Stolen 
Evolutionary Mutation Research Breakthrough 
Hire Officer Evolutionary Mutation 
Colonization Explore Star 
Explore Star Colonization 
Officer Level Report Hire Officer 
Technology Stolen Officer Level Report 
Diplomacy Screen Diplomacy Screen 
 

1
In addition, the picture for seven opponents has been redrawn, centering the 7. 
2
In addition, “Psilons” has been centered on its button and misc. pixel artifacts cleaned up. 

11 
 

● If you have a tech steal and a tech breakthrough in the same turn, you will now be 
informed by your spy before you are brought to the Technology Select screen. 
● Exploration happens before Colonization. When scouting two new systems in the 
same turn, you will see them both before you are given the option to colonize a 
system. 
● The option to Hire an officer will now happen after Exploration, preventing the case 
of not being able to accept a Marooned Hero because you have just hired your 4th 
leader in that same turn! 

Stored Production 
In addition to the remaining turns till completion, the stored production value (including 
bought production) and total production cost of the item will now be displayed in the 
status box of the colony's current construction project: 
 

 
Version 1.31 / 1.40 Version 1.50 

Automatics (Design Dock) 


In the Ship Design Dock, the Automatics are the two boxes that list all of the ship 
essentials - engine, armor, shield and computer. In 1.50, the beam attack value includes the 
Battle Scanner bonus if present in the design, in the same way that Augmented Engines, 
Reinforced Hull, Heavy Armor and Hard Shields are shown since classic. In addition, 
Augmented Engines will no longer be counted twice in the Beam Defense value. 
 

 
 
Above screenshot shows stats of a Battleship fully loaded with weapons & specials, 
including Augmented Engines (5>10 combat speed), Heavy Armor (100>300 armor 

12 
 

points), Hard Shields (3>6 damage points blocked) and Battle Scanner (25>75 beam 
attack). In classic, below example displays 25 beam attack and an incorrect BD of +75. 

Planets Screen 
The presence of a leader with the Galactic Lore skill caused all planets that have not yet 
been visited to be tagged in the Planets screen as ‘no enemy presence’, including ones 
with monsters. As a result, you could unknowingly send a colony or outpost ship to such 
worlds without warning, causing the destruction of said ships. This issue has been fixed in 
1.50 by changing the ‘no enemy presence’ filter to show only planets that have actually 
been visited. 

Annihilated Empires Shown on Graph 


Empires that are annihilated are no longer removed from the History Graph but remain 
visible there. 

Leader Screen Hire Pop-up 


In classic, the only time the technology that a leader brings is mentioned is on initial 
offering if you have sufficient cash to hire the leader. Now, the technology is also shown if 
you have insufficient money as well as upon clicking Hire in the Leaders screen. 
 

Centered Planets 
In tactical combat, planets are now drawn centered in the bombing area. 
 

13 
 

Bug Fixes 
Billions of Colony Ships Bug 
Corrected the display of colony ship count for 2 or more ships in star system pop-up. 
 

Incorrect Display of Fractional Racial Food Bonus 


A .​ ​5 food value is now displayed correctly upon left-clicking on a planet in the System 
overview (the small box in the Colony screen) as well as in the New Colony dialog: 
 

Missing Tolerant Maintenance Penalty 


For tolerant races, the correct building maintenance penalty for Toxic, Radiated and Barren 
planets will now be shown in the Build Colony and Colony Info pop-ups (Colonial Statistics 
Boxes). 

Colorless Brown Stars on Minimaps 


Colonized brown stars will no longer be displayed as uninhabited on minimaps. 

Stealth Detection Spoils 


Fixed 3 detection giveaways of stealth ships: 
● Star System popup: In the fleet summary tooltip. 
● Fleets screen: In the summary below the galaxy map. 
● Fleets screen: When scrolling in via <> with either filter off, seemingly empty fleets 
would appear suggesting the presence of filtered ships (normally empty fleets are 
skipped). 

Ship Officers Screen Missing Scroll Bar 


A scrollbar for the Fleet Grid in the Ship Officers screen is now shown. 

14 
 

Fleets Screen Scrollbar Position Bug 


The scrollbar is now drawn on top instead of centered when switching fleets. 

Navigator Skill Display Bug ​* 


Corrected the displayed speed bonus in the navigator skill text. The ordinary skill gives a 
+2 speed bonus for level 5 leaders, and the improved (*) skill gives this +2 speed bonus for 
level 4 leaders. 

AI Ground Troops Bonus Omission 


During ground invasion, the AI troops bonus/penalty was listed but not added to the sum. 
This has been fixed. Note that the bonus did already apply to actual combat resolve. The fix 
was also applied in the Colony View screen (seen for AI’s via A
​ LT-X​). 

Commando Leader Omission 


A colony leader with the Commando skill is now listed in the Ground Invasion screen and in 
the military statistics pop-up in the Colony screen. In the pop-up, the bonus is also added 
to the combat bonus total for each ground unit type: 
 

Artifacts On-click Bonus Bug 


Fixed the bug that made it possible to generate additional research points at Artifacts and 
Orion planets, by clicking on the science production icons and seeing the production 
breakdown. These additional RPs were real and affected the empire total, despite not 
being included in empire total RP count shown on the Main Screen. 

Build Queue Bugs 


All known bugs in build queue have been fixed. This should put an end to the infamous 
repeat build cheat (at least we hope so). 
● It is no longer possible to swap a repeated bought product by swapping with its 
repeat. This form of repeat build cheat was partially fixed in the 1.40 fan patch. 
● Swapping repeated products will no longer result in a product loss. Example: queue 
is “spy, repeat, scout, repeat”, selecting spy then clicking scout used to result in only 
spy being left in queue. In 1.50 the queue becomes “scout, repeat, spy, repeat”. 

15 
 

● It is no longer possible to get double repeat by moving repeated products around. 


Example: queue is “scout, repeat, spitfire, repeat, spy, repeat”, selecting scout then 
clicking spitfire used to result in “scout, spy, repeat, repeat”. In 1.50 scout and 
spitfire just swap: “spitfire, repeat, scout, repeat, spy, repeat” 
● It is no longer possible to swap products under repeat. Example: queue is “autolab, 
spy, repeat”, then swapping autolab and spy in classic would produce “spy, autolab, 
repeat”. In 1.50 the queue becomes “spy, repeat, autolab”. 
● It is no longer possible to select a top product, buy it using B shortcut and then 
swap it with another item. Buying removes selections now. 
● Canceling repeat+android no longer results in a bare repeat. In previous versions, if 
you repeat build androids on a planet that has no more room and then choose “no” 
when notified that there may be no room, the androids will disappear from the build 
queue, leaving a bare "Repeat", all by itself. Adding a new product to this bare 
repeat causes the game to freeze. 

Colony Base Button Disappearance 


The Colony Base button in the Build screen is only present if there is at least one 
colonizable planet present in that system, that is not yet covered by a Colony Base building 
already in the queue. Previously the Colony Base button was not updated in time because 
of a bug, so sometimes clicking on Colony Base button resulted in adding an item just 
below it (usually a freighter). Calculation of the amount of colonizable planets was also 
buggy because it considered outposts belonging to other players colonizable, which could 
result in scrapping of a built base. 

Visual Fixups for Ships 


In the Ship Info pop-up, the racial missile defense bonus is no longer halved (overmap) and 
the Trans-Dimensional bonus is added to the drive speed value (overmap and in combat). 
Driveless TD ships have their speed stats displayed properly. Unused in actual game, but 
misleadingly displayed values for Marines and Internals HP’s on a Combat Planet, lander 
ships and strategic ships has been removed. Combat speed for strategic and lander ships 
and unused Defense values for lander ships will now be displayed as zero. Also during the 
battle info for the active ship should be displayed more properly now in the status bar 
(during retreats etc)​. ​Also removed the ‘best armor minus 1’ rule for lander ships. They now 
always have best armor fitted, no matter if they were already in the queue or not when a 
new armor tech became available. 

Visual Fixup for Strategic Ships 


Strategic ships have no separate armor points, only 
structure points. Both values used to be displayed 
however, and damage was subtracted from the structure 
number while armor upgrades were counted in the armor 
number. Thus, a Zortrium armored frigate that sustained 12 damage, displayed a negative 
structure value together with healthy armor. Strategic ship hit points are now correctly 
displayed as the structure number and armor is displayed as 0. 
 
Ship shields in Strategic combat have no shield arc’s strength, and act as planetary shields, 
only reducing a damage by some value. This is now properly shown (instead of arc 

16 
 

strength value). BD value of strategic ships display is now more accurate (previously the 
Tactical BD was shown instead, but note that the new value does not include possible 
bonuses from defense specials installed on a ship). 

Strategic Doom Star Bug 


Fixed strategic doom star being designed incorrectly as if it was tactical. Apart from 
incorrect armament displayed it had incorrect and possibly lower cost. This did not affect 
combat outcome, because in strategic mode ships are correctly redesigned for every 
combat. 

Green Ships Bug 


In the Fleets screen, opponents’ ships will no longer 
color bright green when no player owned ships are 
present. 

Star System Pop-up Broken Palette 


Fixed the bug that sometimes caused 
part of the color palette of Star System 
pop-ups to change to bright green. 

Hotseat Mouse Right-Click Block 


Fixed the right-click mouse button 
block after loading a pre-battle 
autosave in hotseat. Loading such 
pre-combat autosave caused mouse 
right clicks to not work properly for 
some actions, most noticeably for 
turning ships. 

Disabled Weapon Slots Color 


Fixed the bug, that erroneously lead to displaying a turned off weapon slot as yellow 
instead of red in case the weapons in the slot had no shots left. Note that a reddened 
weapon (besides Spatial Compressor) does not automatically fire at incoming missiles 
anymore, except during Seeking missiles phase. 

Correct Damage Blocked Displayed for a Planet 


Planet shields work in a slightly confusing way in tactical combat. Depending on a 
presence of defensive building on a planet, regular ship class shields can be added or not, 
while game info misleadingly claims they are always added. This is fixed, now ordinary 
shield bonus will not be displayed when there are no ground defenses. 
 
For example a planet has Radiation shield, no defensive buildings, and the owner of that 
planet possess the Class X shield tech. Displayed value would be 15 damage blocked, 
while only 5 would be actually blocked. 1.50 will properly display 5 damage blocked in this 
case. 

17 
 

Missing Loknar’s Technologies 


The two random technologies that Loknar 
brings (introduced in MOO2 version 1.3) in 
addition to the Death Ray and the three 
random Xenon techs are now also 
displayed. 
 
Note that these two techs are chosen 
randomly, which could result in a selection 
of one or both techs already in your 
possession. In such case the technology is 
not listed and you will not receive another tech instead. 
 
Note also that this selection is made b
​ efore​ the Xenon techs are chosen and in the rare 
case where the Death Ray is one of Loknar techs, you will not receive another Xenon tech 
instead of the default Death Ray technology. 

Hotseat GNN 
Now all hotseat players should get a GNN report about a planet attacked by a monster. 

Evolutionary Mutation Screen Bug ​* 


Fixed a bug, that incorrectly prevented spending Mutation picks in some fields, due to 
incorrect cost calculation in case a negative pick was selected in the preceding field. For 
example it did not allow to take +50 Attack when you already had +20 Ship Attack and 
-20 Ship Defense. 

Race Info 
● The Race Statistics subscreen under INFO, displays a maximum of 11 racial traits in 
classic. For races with more traits, the traits exceeding 11 are not displayed. In 1.50 
the font will automatically scale to accommodate up to 20 traits. A reduced font 
size is used for 12-13 traits and a minimal size for more than 13 traits. 
● +½ and -½ food and money bonuses are now displayed correctly both in the race 
summary of the Race Selection screen and in the Race Statistics subscreen. 

Tech Review 
Corrected the placement of several sections and technologies in the Tech Review 
subscreen of the Info screen: 
 

18 
 

 
 

Keyboard Shortcuts 
(blue = 1.50 changes or additions) 

Any Screen 
PageUp Speed up all in-game animation (maximum +3). 
PageDown Slow down all in-game animation (minimum -3). 

Main Screen / Galaxy Map 


F1 Cycle forward through fleets 
F2 Cycle backward through fleets 
F3 Unknown 
F4 Change all relocations to a given system 
F5 Go to next colonized system (opens system window) 
F6 Go to previous colonized system (opens system window) 
F9 Find distance between two stars 
F10 Quick Save 
+ Zoom in 
- Zoom out 
 
C Colonial Overview screen (Colonies) 
P Planets screen 
F Fleets screen 
L Leaders screen 
R Races screen 

19 
 

I Info screen 
T Next Turn 
 
ALT-F1 End of turn summary on/off 
ALT-F2 End of turn wait on/off 
ALT-F3 Enemy moves on/off 
ALT-F4 Auto-select ships on/off 
ALT-F5 Animations on/off 
ALT-F6 Auto-select colony on/off 
ALT-F7 Show relocation lines on/off 
ALT-F8 Show GNN reports on/off 
ALT-F9 Load game 
ALT-F10 Save game 
ALT-Q Quit without saving 

Colonial Overview Screen (Colonies Screen) 


N Sort colony list by Name 
P Sort colony list by Population 
F Sort colony list by Food 
I Sort colony list by Industry 
S Sort colony list by Science 
R Sort colony list by Production 
B Sort colony list by BC 
C Goto Colony screen of first colony in the list 
Q Load BUILD.CFG on all colonies 
0 Load BUILD0.CFG on all colonies 
... 
9 Load BUILD9.CFG on all colonies 
 
SHIFT+Q,0-9 loads the resp. config on only the colony selected by the mouse cursor. 
 
SPACE RETURN button 
ESC Escapes to Main Screen 

Fleets Overview Screen 


, Go to previous fleet 
. Go to next fleet 
F5 Change all relocations to a new system 

Colony Screen 
A Turn on AUTOBUILD 
B BUY o​ r UNBUY ​an item 
C CHANGE, go to the Build screen 
. Go to previous colony 
, Go to next colony 
SPACE RETURN button 
ESC Escapes to previous screen 

20 
 

Build Screen (Construction Orders Screen) 


Q Load BUILD.CFG into queue 
0 Load BUILD0.CFG into queue 
... 
9 Load BUILD9.CFG into queue 
 
B BUY o​ r UNBUY ​an item 
E REPEAT BUILD button 
R REFIT button 
, Go to previous colony 
. Go to next colony 
ALT-AD Runs Autodesign. 
SPACE OK button 
ESC Escapes to previous screen without saving changes. 

Design Dock: Select Weapon System and Select Special System Screens 
- Scroll Up 
+ Scroll Down 
ESC Escapes to Ship Design Overview without saving changes. 

Battle Map (Tactical Combat) 


A Auto Combat. Click anywhere to turn it off. 
B Board 
C Center on active ship 
D Done 
O Options 
R Retreat 
S Scan 
T End your turn, acts like Done for all your ships. 
W Wait 
Z Super-fast resolution mode (vs AI only). Click anywhere to turn it off. 

Orbital Combat Selection Window 


B Bombard 
H Hold 
A Drop All 
I Invade 
M Mind Control 

   

21 
 

Cheats / Testing 
Cheat reporting code has been fixed. A cheat warning will always be issued on the next 
turn after cheating and the warning will never be lost now. Cheats described below work 
in the Main screen, unless specified otherwise. 
 
ALT +
EEE Extracts current config to EXTRACT.CFG 
(Main screen, Build screen and on the Battle Map during combat) 
 
RE Reloads ORION2.CFG (single player game only) 
(Main screen, Build screen and on the Battle Map during combat) 
 
ALE Previously disabled leader cheat. Pop-up allows you to select a leader 
id. That leader will offer to join the next turn. 
 
ALLAI Turns all players to AIs, including yourself. Note that if End Of Turn Wait 
is off, turns will pass automatically and continue endlessly, even when there is 
only 1 player left in the game. 
 
CRUNCH Finishes the current building project of a colony when used in the 
Colony screen. U ​ sed in the Build screen, it adds 32000 stored production, 
enabling the completion of successive build projects in 1 turn each. 
 
EINSTEIN Grants your empire knowledge of every application in every field of  
research, except for the Hyper-Advanced fields. 
 
ISEEALL Toggles Omniscience on and off. Note that if this cheat is toggled on 
when Evolutionary Mutation is researched, 3 picks are subtracted for the cost 
of Omniscience, leaving only 1 pick for mutating the race. 
 
MENLO Finishes your current research project. N ​ ow adds 1000k instead of 10k and 
is tunable with menlo_research_points. 
 
MOOLA Adds 1000 BCs to your imperial treasury. 
 
SCOR Reports current score (Note the removed ‘E’ from SCORE) 
 
X Cycles between all players, except annihilated ones (SP games only). 
 
LUA Toggles u ​ niversal context​ for main screen scripts. 
   

22 
 

Gameplay Changes 
Galaxy Generation 

Cluster Galaxies 
The Cluster Galaxy that was introduced in version 1.40, now works for multiplayer. 

Wormhole to Orion Bug 


Wormholes will no longer be placed to the Orion system. 

Black Hole Issues 


Mapgen prevents Black Holes from appearing in Nebulae by replacing any such Black Hole 
with a normal star. This was done in a buggy way and regardless of mapgen tables such 
star had 1 planet or, if it became the star of a homeworld, the minimum set number of 
planets. Also, the star color was chosen with a simple random roll from all star colors 
(instead of from mapgen star class tables) and in case this process failed, the star became 
red. This is all fixed, the new star is now generated fully in accordance with mapgen tables. 

Closest Star Issues 


Mapgen ensures that there is a closest star to a home system with at least 1 colonizable 
planet and if it did not, it used to turn that star (or black hole) red, delete all satellites 
(asteroids and gas giants) and add two planets to the system. These deleted satellites 
were however not deleted from the planets array, causing them to become orphaned with 
no link to a star. The red star color especially stood out in non-red unicolor galaxies, e.g. 
when using the Orange2 map mod. All these issues have been fixed. 

Runaway Homeworlds Bug 


There can be maximum 250 satellites present on any map and if more are generated, a 
process of trimming reduces the number of satellites until that number is reached. This 
happens for example when using GoodMap4 and GoodMap5 map mods. This trimming 
process was buggy: 
● It could lead to home colonies migrating to another planet. 

23 
 

● Such migrated colonies could still be accessed by clicking both on actual home 
planet and on intended home terran planet in home system. 
● With certain settings, trimming could create uncolonizable planets. 
● Trimming could stall on certain galaxies with lots of asteroids or gas giants. 
All these bugs are fixed now. 

Number of Planets in Home Systems 


The intention in classic was to have minimum 3 planets in the home systems, but due to a 
bug this did not work and Home Systems with only the Home World (1 planet) or with 2 
planets could be generated. With the introduction of the /​ planets​ switch in 1.40, the 
minimum was set to 2. Starting 1.50.9, this minimum is set to 3. 

Tactical Combat 

 
​ lways be brave.
A

Waking up Fleets 
For a fleet that arrives at a system that has enemy presence, a pop-up will appear, asking if 
you want to attack. For fleets that already hover in an enemy system such pop-up does not 
happen every turn: they are asleep. Such fleets are awoken when circumstances change 
causing the Select Combat pop-up to appear, for example when another fleet arrives or a 
star base is built. This mechanic did not work properly for a newly built Fighter Garrison 
and Artemis System Net. Now, completion of those will also wake up fleets. On the other 
hand, completion of planetary shields will no longer wake up ships. In addition, fleets will 
wake up when a satellite, ground defense building or Artemis is ​destroyed​. This especially 
reduces micromanagement when a player is using spies to attempt sabotage, eliminating 
the need to click ‘Engage Enemy Forces’ each turn to ensure engaging the enemy exactly 
the turn when a defense is destroyed. 

Colony Beam Attack Bonus Bug 


Fixed a bug that caused the defending fleet at an Outpost or Colony without a combat 
satellite to get Battlestation's +10 Beam Attack bonus. 

Ship Initiative 
Ship initiative is a classic feature introduced in version 1.31 intended to make combat more 
balanced. If enabled, all ships of both players act in the same and every combat round, and 

24 
 

move in order of their initiative, from the highest to the lowest. Instead of using the classic 
formula  
 
trunc[beam_attack / 10] + speed 
 
ship initiative is now calculated as 
 
beam_attack + speed * 10 
 
so +5 attack is not lost due to rounding. Naturally, in classic, ships could frequently be tied 
by initiative in which case they acted in semi-random order. In the 1.50 patch, ships are 
strictly ordered by the following comparisons: 
1. By ship initiative, ship with greater initiative acts first. 
2. By crew level, ship with higher crew level acts first. 
3. If both ships are combat-only ships (defensive Antarans, satellites, ground 
defenses), then they are compared by combat ship ID, the ship with the higher ID 
acts first (planet acts last with ID 0). 
4. If one of the ships is combat-only and the other is not, the combat-only ship acts 
first. 
5. By crew experience, ship with greater crew experience acts first. 
6. By overmap ship ID. Ship with lower ID acts first (having lower ID generally means 
the ship is older). 

Turn Structure and Time Warp Facilitator Bugs 


Note that all information in this section applies only to s​ hip initiative​ mode. 
 
The original combat turn structure contained a number of bugs and inconsistencies, mostly 
related to Time Warp Facilitator: 
● The mere presence of a TWF ship used to affect all non-TWF ships, for example 
making a satellite rotate twice or phasing cloak counters deplete twice as fast for 
non-TWF ships. 
● Non-TWF ships used to perform defensive fire during the TWF turn. 
● Plasma Web and BHG effects used to apply only once per 2 turns for TWF ships. 
● TWF ship’s repair and shields recharge used to happen once per 2 turns. 
● Missiles fired in TWF turn used to stop frozen until the next turn. 
● Cloak and FMR states change was applying prior to other end-of-turn effects, and 
for all ships during TWF turn. 
● Retreat used to happen before all ships could perform DF properly, making it safer 
to retreat for some ships. This is not related to TWF. 
 
All these problems were fixed in 1.50 by changing the turn structure. TWF turn is a 
full-scale turn now, and non-TWF ships are skipping most steps of it. The table below 
summarizes these changes. It lists all actions for different turn phases and which ships are 
subjected to them. All actions in the table are prepended with a single letter code: 
A - Action applied to all ships. 
T - Action applied to TWF ships only. 
M - Action applied to missiles. 

25 
 

Actions colored ​red​ are the ones removed or changed by 1.50, g


​ reen​ are those added by 
1.50, actions not colored are the same in 1.40 and 1.50. 
 

  Classic  1.50 

  A Refresh combat stats  A Refresh combat stats 


Before ordinary  M Replenish missiles’ moves  M Replenish missiles’ moves 
turn  A Retreat or recharge ships ^2  A Recharge ships ^1 
  A Retreat 
A Rotate Satellite  A Rotate Satellite 

Ordinary turn  A Move ships, fire  A Move ships, fire 

    M Move missiles 
    T Apply plasma web & BHG 
    T Recharge shields 
  A​ L
​ ose absorber’s charge   
  M Move missiles   
  A​ Update cloaks   T​ Update cloaks 
Between  T Recharge FMR & HyperX  T Recharge FMR & HyperX 
ordinary and  A Apply plasma web & BHG   
TWF turns    T Repair 
  T Refresh combat stats 
   
T Retreat or recharge ships  T Recharge ships 
  T Retreat 
A​ Rotate satellite  T​ Rotate satellite 

TWF turn  T Move ships, fire  T Move ships, fire 

    M Move missiles 
    A Apply plasma web & BHG 
    A Recharge shields 
  A Lose absorber’s charge   
After TWF turn     
A Update cloaks  A Update cloaks 
A Recharge FMR & HyperX  A Recharge FMR & HyperX 
A Recharge shields   
A Repair  A Repair 
 

^1 Recharge ships -- recharge ships’ weapons and replenish move points. 


^2 Retreat or recharge ships -- only present in classic game. For each ship either a retreat 
or recharge is performed. In classic this makes it possible for some ships not to be 
recharged yet when retreat is performed, so that defensive fire from those ships can’t be 
triggered by retreat U-turn. 
 
Finally, note that  
○ TWF ship will now die twice as fast as non-TWF ship from BHG. 
○ Defensive fire on non-TWF ships will no longer happen in TWF turn, but 
anti-missile fire (Pd, AM-Rockets and Spatial Compressor) against incoming 
missiles/fighters still will. 
○ Energy Absorber’s original dissipation rule was designed for non-​initiative​ combat 
and had a number of problems otherwise. The Absorber now always keeps its 
stored energy if ship initiative is on. 

Defensive Fire 
Defensive Fire is a special ability of regular mount beams, intended to give an inactive 
player some defensive means during the active player’s move. Sadly in combat with ​ship 

26 
 

initiative​ enabled the whole mechanic was plagued with bugs, which rendered it 
inconsistent and incomprehensible. All problems have been fixed in 1.50, however because 
the whole mechanics was so severely bugged for all the years, and it was impossible to 
improve on it while keeping the “original feel” in combat, we have turned DF off by default 
for initiative games with the parameter d ​ efensive_fire​. With initiative off, DF is always on 
as it was in classic. More details can be found in section ​Defensive Fire​. 

Mid Flight Update of Ship Coordinates 


Ship movement in combat can trigger defensive fire, and on-impact anti-missile fire. In 
classic, in some cases a ship’s initial coordinates are used for intermediate calculations. 
Both defensive fire and anti-missile fire are affected by this, the range to target is 
calculated from a ship’s initial coordinates. An example: you order a ship to fly from point A 
to point B. Somewhere in between in point C the ship is impacted by a missile volley. Pd 
and Spatial Compressors should fire automatically at this point. But since the range to 
missile is calculated from point A and missile is currently at point C, Spatial Compressor 
will consider missile out of range and will not fire. Likewise if distance AC is more than Pd 
range, then Pd weapons will not fire. Ship coordinates are now updated during flight, so 
both anti-missile fire and defensive fire calculate range correctly. In addition, several small 
bugs that could affect Spatial anti-missile fire were also fixed. 

Destroyed Weapons 
Ships now lose shots right after a weapon is destroyed. The game does not store states for 
individual weapons in slot, so shot is lost only if a number of weapons remaining functional 
is lower than the number of shots. E.g. if you have a slot with 10 phasors, with remaining 8 
shots, and 1 phasor is broken, you’ll still have 8 shots. Then if 5 more phasors get broken 
you will be left with 4 functioning phasors so shots will be decreased to 4. 

Indestructible Specials Bug 


If damage inflicted on a special system was equal to its hit points, the special kept 
functionality but it became impossible to damage it further. Such specials were effectively 
acting as regular indestructible ones (reinforced hull, battle pods, etc). This bug has been 
fixed and to keep original feel, +1 HP is added to all specials. 

Ship Repair Bugs 


● Fixed the bug that prevented weapons from being repaired during or after the 
combat by engineers, cybernetic races or automated repair units. Weapons will 
now return to actual working status. 
● A repaired shield generator will now recharge the shield. Previously the repaired 
generator was unable to regenerate shield strength until the end of combat, 
applying damage reduction only. 
● Repaired special system will resume operation. In classic if special was completely 
broken it could never function until the end of combat. 
● Repaired warp dissipator will now prevent retreats ordered on previous turn. 
● In classic game immobile ship’s drive is always repaired to minimum mobile state 
after each combat (in case you don’t possess any repair tech, device or ability). Due 
to a bug this mechanics sometimes repaired few hits less than required for mobility. 
This is fixed in 1.50. 
27 
 

Immobilization 
Fixed the discrepancy between the immobile label (which is intended to indicate if it’s 
possible to board the ship) and the actual ability to board after trapping a ship with a Black 
Hole Generator or Tractor Beam. Previously a ship just affected by BHG was not marked 
immobile while it was possible to board it and a ship released from BHG or Tractor beam 
kept the immobile marking while no longer being boardable. 

Boarding 
● The attacker's marine bonus is now displayed on raid actions. 
● Crew experience now also affects capture actions. Previously it only improved raid 
actions. This change affects Assault Shuttles too (Shuttles have the same crew level 
as the launching carrier). 
● Marines amount on a ship cannot exceed a given ship’s maximum anymore. 
Previously it was possible to overload it during capture action. 
● Raiding an enemy ship can now destroy all systems on it. Previously you could 
never destroy the last system on a ship by raiding it. 
● Fixed inability to destroy engine by raid if it has 1 HP left. 
● The raid results pop-up no longer reports damaged specials as destroyed, nor 
reports a misleading number of hits anymore (like 2 Warp Dissipators destroyed). 
● A ship in stasis can no longer be boarded. 
● A phasing cloak cloaked ship can no longer be boarded. 
● Optionally boarding a ship / boarding from a ship trapped in a black hole can be 
forbidden. 
● Ordinary and Transporters boarding ranges can be set in squares in Config. 
● The damage a successful raiding marine does, can be set in Config. 
● The maximum number of items a successful raiding marine can destroy, can be set 
in Config. 

Done and Wait States Cleared on Capture 


Telepathic races are able to control captured ships in combat. In classic (and only when 
ship initiative is on), a captured ship could not be controlled on the turn of capture if its 
original owner has already pressed ‘done’ for it. In 1.50 telepathic races always can control 
captured ships on the turn of capture. ‘Wait’ state is also cleared on capture when 
strict_combat_sequencing ​is on. This allows the capturer decide whether to wait. 

Fighters Point Blank Bug 


In classic game all 4 types of fighter crafts will strike 
immediately when fired point blank, except when fired 
left-to-right. This patch fixes it and fighters now strike 
immediately at point blank regardless of attack direction. 

Fighters Chasing Unrelated Ships Bug 


Fighters now will not chase unrelated ships, won’t highlight when an unrelated ship is 
moving, and will highlight when targeting current ship indirectly (i.e. when targeting 

28 
 

something that targets current ship directly or indirectly). Previously only fighters targeting 
current ship directly would highlight. 

Fighters Chasing Missiles 


Previously fighters were unable to chase not moving missiles at the end of turn, effectively 
skipping a turn. This is fixed in 1.50. 

Fighter Bays Destroyed by Returning Squadron 


Partially destroyed fighter squadrons that have returned to the mothership no longer cause 
permanent destruction of weapon bays. 

Helmsman and Ordnance Bonus for Fighters 


Helmsman and Ordnance bonuses now apply to all fighters (beams and bombs). The 
Weaponry bonus already applied to fighters in classic. Fighters were the only weapons not 
to benefit from Ordnance in classic (even Energy Absorber benefits from it). Note that 
Ordnance works best for beams, as they have rounding up and a 10% Ordnance bonus for 
a 5 damage beam will mean +1, while it will be +0 for missile of that same 5 damage. 

Missile Alerts Bugs 


● Missile alert will now be triggered by manual rotations. Previously in place rotation 
had been simply ignored in warning calculations, so ship never got a timely stop in 
case of incoming missiles. 
● The cost of a ship movement that would trigger a missile warning will now be 
calculated properly. The way the classic game calculated it could result in any of the 
following: 
○ move cost being calculated incorrectly, 
○ issuing a false missile warning, 
○ failing to issue a missile warning, 
○ turning ship to face east instead of the ordered direction. 
● In classic game ship stopped by a missile alert could trigger interceptor movements 
without moving itself. The alert would prevent the ship from moving but 
interceptors targeting the ship’s targeters would move. This is no longer possible. 
● Possible fake missile alert lingering from the previous ship is fixed. 

Symmetric Bombing 
Fixed the bug that did not allow bombing on the south and east sides of medium, large and 
huge planets. Bombing is now symmetric, and the distance from which a planet can be 
bombarded is the same from each side, regardless of its size. 
 

29 
 

Ground Installation +1 Hits Bug *​  


Due to a calculation error in Tactical Combat, ground installations were not destroyed until 
the damage dealt to them strictly exceeded their total hit points, in effect giving them +1 
HP. 

Civilian Structures +1 Hits Bug 


Due to a calculation error in Tactical Combat, civilian structures were not destroyed until 
the damage dealt to them strictly exceeded their total hit points, in effect giving them +1 
HP. 

Bombardment Can Destroy Capitol 


Bombardment can now destroy the Capitol. It is now treated as a regular building. 

Spherical Weapons Range 


Spherical weapons are Pulsar, Plasma Flux and Spatial Compressor. In classic, the 
targeting range for those weapons was inconsistent with the damaging range. Sometimes 
you could fire at an object (ship or missile) and not hit it, and sometimes you could hit an 
object which you were unable to fire at. This is considered a bug, because for all other 
weapons you only can fire at an object if it’s in range. in 1.50, targeting ranges have been 
made equal to actual damaging ranges, so now you can fire at an object if and only if it’s 
possible to damage it. In addition range is now calculated from the firing ship’s center to 
the target’s edge; in classic it was the distance between centers. In effect, sphericals 
ranges to ships are 6, 6 and 4 squares respectively, and a fraction more to missiles. 

BHG Doesn’t Use the Whole Slot 


Ships no longer fire all Black Hole Generator shots from one slot, they use only one shot at 
a time. 

30 
 

BHG Simultaneous Action 


Ships affected with BHG for 2 turns straight are destroyed at the end of turn 2, unless the 
BHG carrying ship is destroyed before, in which case the target is released. In classic this 
led to asymmetric behavior where ships on one side are destroyed first and ships on the 
other side affected by BHGs from destroyed ships are released. We consider it a bug, in 
1.50 all such ships are destroyed simultaneously. 

Stasis Field 
The following bugs were fixed: 
● Stasis field now recharges correctly. It used to gain wrong number of shots because 
the number of current targets was not used in calculation. 
● Even if stasis field is present at the beginning of the turn, a ship will be able to act 
this turn if stasis is removed. In classic such ships were unable to act until next turn. 
● In classic removing stasis field zeroes ship’s shots. While not technically a bug this 
behavior is deemed unnecessary as it reduces interactivity and gives even greater 
advantage to a weapon already very powerful, so in 1.50 shots are not zeroed. 
● Ships in stasis now cease to apply effects of Wide Area Jammer, Scout Lab and 
Warp Dissipators installed on them to other ships. 
● Putting a ship in stasis now ceases Tractors and BHGs targeting that ship and also 
Tractors, BHGs and Stasis fields being projected by it. 

Destroyed BHG and Stasis Freeing Ships 


When a BHG or Stasis weapon is destroyed, a buggy number of ships used to be freed. 
Now it will work as follows: 
● If the slot still has shots then one shot is decreased. 
● If the slot is out of shots then one ship is freed from weapon’s action. 

Cloaking Device Bugs 


● Cloaking Device missile miss chance has been fixed to 50% (was 49%). 
● A ship will now decloak and lose ability to recloak if its cloak-inducing device is 
broken. In classic destroying such device had no effect on cloaking ability. 

Phasing Cloak Area Damage 


Ships cloaked by Phasing Cloak are no longer affected by spherical weapons or ship 
explosions. 

Phasing Cloak Cuts Tractor Beams 


Ship which phase cloaks is supposed to go to “another dimension”. But tractor beams 
targeting such ships and outgoing from such ships are not cut in classic. Moreover such 
ships can be captured while phase cloaked which is obviously a bug. In 1.50 tractors both 
from and towards phase cloaked ships cease. Such ships can’t be boarded when cloaked. 

31 
 

Displacement Device 
Miss chances for missile and absorber shot against displacement device have been 
corrected to 30% (was 29% for missiles and 70% for absorber, which contradicted 
description and was inconsistent with beams). 

Energy Absorber 
● Fixed a bug which caused stored damage to overflow, maximum stored damage is 
now 30k. Note that the energy fired from the absorber always hits, unless the 
target has a displacement device. 
● In INI games absorber no longer loses charge at end of turn. This feature was 
designed for non-​initiative​ combat where attacker and defender have their own 
combat turn, but is unfair in INI combat where all ships act during the same combat 
turn because ships that accumulate a charge after they have finished their turn do 
not get a chance to fire it. 

Inertial Nullifier 
Inertial Nullifier reduces the turning cost of a ship from 8 per 90° to zero, effectively being a 
teleport for purpose of rotation, but unlike Sub-Space Teleporter it causes the missiles 
targeting such ship to move. In games with ​ship initiative​ on, but missile initiative off, this 
could even lead to missiles striking Nullifier ships a turn earlier than ships without such 
device. Missiles now ignore Nullifier rotations. 

Sub-Space Teleporter 
● Fixed Sub-Space Teleporter not breaking tractor beam out of range. 
● Fixed Sub-Space Teleporter getting increased range for faster ships. 

AI Expected Damage Bugs 


During tactical combat the AI assesses possible damage to enemy and friendly targets. In 
situations where no damage can be done, miscalculations resulted in AI stuck attacking 
impregnable targets or fleeing with no reason. Fixes are: 
● Ineffective Ion Pulse Cannon against a planet is now accounted for. 
● Fixed incorrect calculations for several weapon mods. 
● Bomb expected damage now accounts for ground defense shields. 
● Ordnance is now accounted for. 
● Calculations for Energy Absorber, Damper Field, Hard Shield, Cloaking Device, 
Phasing Cloak, now depend on config. Previously classic values were hardcoded. 

AI Stall when Targeting Missile 


When an AI ship launches a missile and then is captured, another AI ship may decide to 
attack that missile figuring it was launched by an enemy ship. But the firing code checks 
that missile is friendly and does nothing. This results in AI trying to fire at the same missile 
endlessly. This is fixed in 1.50. 

32 
 

No Autodone in Combat 
A ship’s turn will no longer automatically end when it has no ammo and movement points 
left. This is helpful if you want to retreat, self-destruct or board after moving​. 

AUTO Retreat 
Individual ships under computer control (both AI ships and human player ships on AUTO or 
Z) will no longer retreat just because they are out of ammo. In addition, the rule that human 
player fleets never retreat from combat can be altered with the parameter 
human_player_fleet_auto_retreat​ in which case they will act the same way as AI fleets. 

Retreat Disappearances Bug 


Ships will no longer disappear when made immobile while turning to retreat. Such ships 
stay in combat instead. In classic such ships could be lost after the battle despite a 
successful retreat animation. 

Shuttle Capture Upon Retreat Bug 


Ships that are captured by Assault Shuttles during retreat now stay in combat. 

Relaxed End of Combat 


During a turn, combat now ends on each next ship if its side has won ​and​ there are no 
missiles on the other side a ​ nd​ there is no colony on the other side. If the only present side 
is an AI, then AI ships stop acting even if it still can bomb planets or shoot missiles 
(missiles last flight still happens). This is to prevent AI jerking ships aimlessly. Upon the end 
of the turn, the winner check works as before and combat ends even with missiles or a 
colony present. This more relaxed ending of combat is intended against missile & self 
destruct exploits, as well as for overall coherence of the turn sequence. If no enemy is 
present, pressing ​T​ ends both the turn & combat. 

Super-fast Combat Mode (Z) Improved 


Super-fast mode is activated when you press Z​ ​ in combat against an AI opponent. It is 
similar to pressing Auto but skips some graphics and allows to resolve combat much 
quicker. The following changes were introduced for this mode: 
● Ship explosions are now taken into account. In classic they were skipped in 
super-fast mode. 
● Boarding summary pop-ups will no longer appear. Since those dialogs introduced a 
pause they were against the whole point of super-fast mode. 
● Sound effects are now suppressed during super-fast mode. This is to avoid 
incomprehensible sound mess this mode used to produce. 

Strategic Combat 
Crew Level Bonuses 
Classic formulae for strategic Beam Attack and Beam Defense are very simple: 
 
strat_BA = racial_bonus + computer_bonus 
33 
 

 
strat_BD = base hull_defense + (drive_no - 1) * 10 
 
1.50 formulae have been adjusted to honor crew bonuses for beam attack, beam defense 
and missile defense. As a result, Space Academy is no longer a useless building and 
Warlord becomes more valuable. Note that a racial bonus for BD now applies but 
Trans-Dimensional bonus still does not (since there is no combat speed in strategic). Note 
also that Weaponry and Helmsman bonuses have no effect in strategic combat and ship 
scan is currently still showing misleading values. 

Weapon Selection and Actual Damage 


Weapons used to be chosen using the damage values of the strategic column, but for 
actual damage in combat values from the tactical column were used. This could lead to 
suboptimal weapons being fitted on ships, for example Neutron Blaster (12 max damage) 
was favoured over Gauss Cannon (10 max damage), while in combat Gauss max damage 
is higher than Neutron Blaster (18 vs 12). Now the strategic column is used for both the 
selection of weapon and actual damage in combat. The strategic column has been updated 
with values from the tactical column where necessary to preserve classic values, with the 
exception of Special Weapons (see next paragraph) and Dragon Breath that now does 250 
damage instead of 300 (maximum value in the strategic column is 255). 

Special Weapons Damage 


Special Weapons damage values were incorrect and/or inconsistent. Most notably 
Bombers and Heavy Fighters did no damage in combat at all because their damage values 
were set 0 in the tactical column of the weapons table. Damages of other weapons were 
inconsistent with their tech level. The new damages for the 1.50 patch have been taken 
from the strategic column of the weapons table, except Plasma Web that uses the tactical 
values and Bomber / Heavy’s that use values from the book “Master of Orion II: Battle at 
Antares, The Official Strategy Guide” (1996). Note that weapons are chosen basis highest 
max damage and in case of a tie basis lowest weapons table id, and therefore Bomber 
(#30) is correctly chosen over Pulsar (#36) in case both technologies are Known. 
 

Weapon  Tech Lvl  Cum RP  Classic dmg  1.50 dmg  Source for 1.50 value 

Interceptor  2  80  6-15  1-4  Strategic Column 

Gyro Destabilizer  6  900  1-4  3-8  Strategic Column 

Pulsar  10  5300  2-24  4-20  Strategic Column 

Bomber  10  7080  0-0  5-20  Strategy Guide 

Plasma Web  12  9450  5-25  5-25  Tactical Column 

Heavy Fighter  14  16580  0-0  8-32  Strategy Guide 

Spatial Compressor  22  Xenon  4-32  5-40  Strategic Column 

Black Hole Generator  22  Xenon  6-15  100-100  Strategic Column 

Stellar Converter  17  34950  400-400  250-250  Strategic Column 

34 
 

Hard Shields 
Hard Shields now increase blocked damage in strategic combat. Note that in contrast to 
tactical combat, in strategic combat mode regular shields function in Nebula. 

Artemis System Net Defender Wins Bug 


Artemis System Net will no longer grant a wrongful victory to the defending side in 
strategic combat. This happened when Artemis System Net managed to destroy at least 
one attacking ship before the combat. In such case defender was declared a winner even if 
the whole defending fleet was destroyed. No prompt for bombardment or invasion was 
presented to the attacker and his fleet was forced to flee. 

Ships and Fleets 


Inconsistent Rounding of Range 
The calculation of range for contact was rounded down, while the range for ships was 
rounded up. Notably with Iridium Cells this caused situations where a ship could orbit an 
enemy colony, without establishing contact. Range calculation for contact is now also 
rounded up, making it consistent with the ability to visit a colony. 

Scanners and Communications Discrepancy 


Fixed the discrepancy between the effective ranges of Scanners and Communications by 
increasing the default ranges of Tachyon and Sub-Space Communications by 1: 
 
Scanner help exe Comms help exe exe  
Space 1 2 1.31 1.50 
Tachyon 3 4 Tachyon within 3 2 3 
Neutron 5 6 Sub-Space within 6 5 6 
Sensors 8 9 Hyperspace unlimited 255 255 
 
Depending on ship movement (approach of depart) range differs. The minimum range is 
listed for scanners, but maximum range is set in code. For communications the listed value 
is now equal to the value in code. 

Navigator Affects Fleets Immediately 


All actions with navigator leaders now affect fleets immediately. In classic you could send 
several fleets to different destinations with one single navigator. This is no longer possible 
and only the fleet in which the navigator actually travels gets a speed bonus and the ability 
to pass black holes. If you split fleets en-route, leaving one new fleet without a navigator, 
or just send the last navigator away from a fleet, you will be prompted that such action will 
lead to an ETA change or even to loss of the fleet to a black hole, and given a chance to 
cancel your action. If a navigator levels up or catches up with a fleet en-route, it will 
increase that fleets’ speed immediately. 

35 
 

Other Player's Dimensional Portal Bug 


In classic you could attack Antares using a Dimensional Portal built by another player. In 
that case your fleet would travel to coordinates 0, 0 instead of attacking immediately. Upon 
reaching the destination battle with antarans would take place. This was mostly a 
multiplayer issue because AI never builds a portal and rarely can acquire one. This bug is 
fixed in 1.50, it is no longer possible to attack Antares using another player’s portal. 

Auto-Scrap 
To prevent your treasury from becoming negative the game automatically scraps things. 
The patch changes the following: 
● A correct number of ships is scrapped to cover your debt. In classic the game used 
to scrap one extra ship due to a bug. 
● When a ship is scrapped en-route and a leader resides on a ship, the game makes 
an attempt to move this leader to another unoccupied ship in the fleet. The leader is 
put into officers pool only if there are no suitable ships. This was added to offset the 
effect of navigator being randomly removed from the fleet, since in 1.50 it may 
cause the fleet to be lost in a black hole. 

Auto Ship Design for AI 


A number of bugs causing auto-designed ships to be different from manually designed 
ships have been fixed. This includes both AI and player starting ships. Auto-designed ships 
are now fully equivalent to manually designed ones: 
● Empty space provides speed bonus. Consequently the two starting scouts will have 
12 combat speed instead of 10. 
○ AI ships using real speed revealed a bug causing Augmented Engines +5 
speed bonus to be counted double for AI ships sometimes, which has also 
been fixed. 
● Megafluxers are taken into account. 
● Shield space is taken into account. 
● Bomber Bays and Heavy Fighter Bays use up space according to their own space 
value, instead of the Fighter Bays value. 
● Battle pods / Extended Fuel Tanks now give / take up space according to the values 
from the systems table, instead of a hard coded formula / value. 
● A heavy beam variant will no longer be fitted on ships or satellites if that beam does 
not have the Hv mod enabled. For example, Hv Ion Pulse Cannons will no longer be 
fitted on star bases. 

Warlord Ships 
The crew level bonus now applies right away for new ships built by Warlords instead of 
from the next turn. 

No Computer Hit Points Bug 


Ships that have no computer fitted no longer receive the computer’s hit points. 

36 
 

Ship Detection Bug 


Destroyed stealth devices now actually lose their effect on the main screen instead of 
providing an additional bonus. 

Antaran Fighters Bug 


Fixed Antaran fighters not working on defensive Cruiser and Titan ships. 

Antaran Bombs Bug 


Fixed bombs having a forward arc instead of 360 degrees on Antaran offensive Battleship 
and Titan ships as well as on the Avenger ship. 

Antaran State Not in Savegame Bug 


Starting 1.50.10, Antaran states of max_ships and ship_costs are recorded in the 
savegame, so these data persist after reloading the game. 

Ship Refit 
Pre-Warp Refit Bug 
In Pre-Warp games it is now possible to refit ships without having researched Cold Fusion 
(Colony Ship field). As soon as you are able to build ships, you can refit them. 

Refit Design vs Queue Discrepancy 


Fixed the inconsistency between the cost shown in the Refit screen and the actual refit 
cost that the player had to spend. 

Incorrect Feudal Refit Cost 


Fixed refit cost calculation for the Feudal government. Now the Feudal reduction for hull 
cost applies properly. 

“Feudal Bug” 
In multiplayer games, both in hotseat and network, the cost for building or refitting a ship 
will now be calculated correctly. Sometimes the basic ship cost was calculated in another 
player's context, which had most noticeable effects when a Feudal player was involved, 
hence the name of the bug. It was the reason why Feudal was usually banned in 
multiplayer games. This bug happened for non-Feudal players too, but to much smaller 
effect. 

Lander Ships 
Command Points not Updating After Landing OP or CS Bug 
Fixed occurrences where landing a Colony Ship or Outpost Ship would not decrease the 
used command points and maintenance cost. This could even lead to auto scrapping in the 
next turn if at negative command and low on money. 

37 
 

Outpost Ship Conflicts with Colonization Bug 


If you had both an outpost ship and a colony ship present in a star system you were 
sometimes unable to colonize habitable planets in that system both with colony ship and 
colony base. The game wouldn’t present colonization prompt and "colonize planet" button 
wouldn’t appear when a fleet was selected and a colony base would be trashed (sold). This 
is fixed in 1.50. 

Colony Ship Conflicts with Building Outpost Bug 


Similar to the previous bug. If you had both an outpost ship and a colony ship present in a 
star system you were sometimes unable to build an outpost in that system. The game 
won’t present outpost building prompt and "build outpost" button won’t appear when fleet 
is selected. This is fixed in 1.50. 

Satellites 
Satellite Weapon Mods 
Satellite beam weapons can now have mods. By default all mods are allowed except AP 
and SP for point defense weapons. Missiles can now be made MIRV (tho not enabled by 
default). This can be configured with d ​ efenses_allowed_mods​. Mods now cost space for 
both beam weapons and missiles. This causes slightly less beam weapons to be fitted 
when mods are applied at L1 and higher. For missiles, ECCM is still free of cost and 
available at level 0 miniaturization (a change that was made in Simtex v1.3 patch), while 
for ships it’s a L1 tech at +25% cost. FST and ARM are available at L1 as before, but each 
now have the same +25% cost as for ships. The space of satellites has been increased in 
compensation. Note that a Star Base now starts with 4 nukes at L0 instead of 3, and has 4 
and 5 nukes at L1 and L2 respectively, same as in classic. 

Beam Weapons Arc Cost 


The cost of the 360⁰ Beams on satellites now is +50% instead of +25%. The space of 
satellites has been increased in compensation. 

Choice of PD Weapon 
The best PD weapon by dmg/space for combat satellites is now selected taking Auto Fire 
and Enveloping mods into account. Natural ENV is also taken into account. 

Evenly Spread Missiles 


A combat satellite has three slots for missiles. In classic, each slot can contain a maximum 
of 30 missiles and missiles 1-30 are fitted in the first slot, 31-60 in the second slot and 
61-90 in the third. As a result, most of the time only the first slot was used in unmodded 
games, which restricted a satellite’s firing options (could only shoot missiles at one target 
each combat round). In 1.50, 1-3 missiles are fitted in the first slot, 4 missiles are fitted as 
2-2-0 and if there are more than 4 missiles, they are evenly spread over the three available 
slots. In addition, each slot can now contain up to 99 missiles instead of 30. 

38 
 

Space Allocation 
The allocation of available space for heavy beams, regular beams, point defense beams 
and missiles / torpedoes can be configured with ​satellite_space_allocation​. In classic a Star 
Base had 300 space allocated as 25%/ 12.5%/ 12.5%/ 50% for Hv, regular, Pd and 
missiles respectively. The default Star Base now has 400 space (+100 in compensation for 
mods and arcs) with a new 26/13/12/49 allocation, for a starting weapons complement of 
3 Hv / 3 reg. / 6 Pd / 4 nukes (Classic had 3/3/6/3). Note that AI’s satellite strength 
assessment takes these custom allocation percentages into consideration. 
 
Compare classic vs new default Star Base with L1 Fusion Beams and L1 Nukes: 
 

Satellite Size Class 


Satellite generation and repair now uses hull table rows 6-8 (Star Base, Battlestation, Star 
Fortress) for hit points of computer and shield. This means that a star base has 10 hp for a 
computer instead of 5 and 15 hp for the shield instead of 6. For size calculation of special 
systems, classes 2-4 (Cruiser, BB, TT) are assumed, unchanged from classic. 

39 
 

Satellite Capture Bug 


Unrelated to ​starbases_capture ​option, a rare bug could cause attacker to capture a 
satellite. The attacker should capture the satellite and the defender should recapture it but 
lose the battle afterwards. If attacker proceeds to conquer the colony the satellite will be 
captured. This is fixed in 1.50. 

Ground Defenses & Troops 


Fighter Squadron Buggy Counts 
Fighter crafts used to create problems when returning home. Instead of trying to fill all 
space of the available bays, they only landed in the first available empty slot, resetting the 
weapon amount in the process. 
 
Example: 
1. You have slot 1 = 10 interceptors, slot 2 = 1 interceptor and launch both. 
2. First 1 interceptor returns and lands to slot 1, setting the weapon amount of that slot to 
1, in effect “breaking” 9 bays. 
3. Then 10 interceptors return and choose not to land to slot 1 since it already has 1 fighter 
residing. They land to slot 2, but since that slot can only hold 1 interceptor, the other 9 are 
immediately lost. 
 
The amount of fighters returning does no longer create such issues and fighters can even 
return to partially filled slots. They will now try to fill up every vacant slot upon return. 
Additionally, newly spawned fighters at a Fighter Garrison will always have the maximum 
amount of squadrons. 
 
Consider 2. and 3. of the above example again for the new situation: 
2. First 1 interceptor returns and lands to slot 1, setting the weapon amount of slot to 1 
(again “breaking” 9 bays). 
3. Then 10 interceptors return and try to land on slot 1 first, filling 9 free bays (restoring the 
amount of bays to 10), after which the remaining interceptor fills the 1 space of slot 2. 
 
Note that returning fighters reset a slot’s shot, so no fighters can be launched from that 
same slot in that turn. Note also that fighter craft bays that are destroyed by damage or 
raids, will not be able to be refilled on return. 

Ground Batteries Arc Cost 


The cost of the 360⁰ Beams on batteries now is +50% instead of +0. Total space of 
batteries have been increased by +50% in compensation. 

Max Ground Unit Dies Bug 


When marine and armour units of a subterranean colony reaches the maximum number, 
that last unit will no longer die and be rebuilt 5 turns later in an endless cycle. 

40 
 

Barracks / No Barracks Inconsistency 


The number of transport ships that will be disbanded after a successful invasion is 
calculated as the maximum number of troops the colony can hold, divided by four and 
rounded up. As a result the actual number of troops that remain on a planet can exceed the 
maximum number by 1-3. Those troops will die by 1 unit per turn. Due to a bug, this 
happened only on colonies with a Barracks, making it possible for colonies without 
Barracks to have troops in excess of the maximum. The same situation also occurred on 
colonies that had Biospheres scrapped. Fixed in 1.50. 

Production & Buildings 


Buildings & Freighters Free Cash Bug 
Upon completion of a building or a spy in version 1.31, the corresponding maintenance fee 
was charged immediately. To prevent bankruptcies due to completion of such building or 
spy, the game compensated once for that fee. Due to a rule change in version 1.40 (a 
rather significant side effect of fixing the Credit Cheat), maintenance was no longer 
charged immediately but started only the next turn. The compensation still existed 
however leading to the player receiving free money upon completion of such projects. In 
1.50 the compensation for buildings and spies has been removed. 
 
The same mechanic applied to freighter fleets, however the actual maintenance charged in 
version 1.31 was between 0 and 3 BC depending on food shortage (while the food was 
not actually freighted!), and the compensation was fixed at 5 BC. As a result there was 
always a net benefit of 2-5 BC’s. In version 1.40 no maintenance is charged for freighters 
on the turn of building so the net benefit was always 5 BC. The new default is 0 BC. 
Because freighters are a special case and some players are accustomed to the old 
behaviour, the amount of BC compensation has been made tunable via the​ p ​ arameter 
freighters_cash_bonus​. 
 

  1.31  1.40  1.50 

Maintenance cost from  Immediately  Next turn  Next turn 


new building 

Maintenance cost 1x  Yes  Yes (free cash)  No 


compensation 

New spy immediate cost  1 BC  0 BC  0 BC 

New spy 1x  1 BC  1 BC (free cash)  0 BC 


compensation 

New freighter immediate  0-3 BC (0.5 BC each,  0 BC  0 BC 


cost if shortage  rounded down) 

New freighter cost 1x  5 BC  5 BC (free cash)  0 BC (tunable) 


compensation 

New freighter actually  Next turn!  Next turn  Next turn 


used for food transport if 
shortage 

41 
 

Food from new building  Next turn!  Next turn  Next turn 
used if shortage 

Food from new building  Immediately!  Next turn  Next turn 


sold if surplus 

Tax from new  Immediately  Next turn  Next turn 


population 

Tax from new spaceport  Immediately  Next turn  Next turn 


and stock exchange 
 

Building Removal Bugs 


● Productivity recalculation now works correctly after selling a building. In classic 
production per worker bonus remained until next turn giving one time extra 
production. This could be observed in the Colony screen, where this one time extra 
production was visible in the Jobs Output box and would disappear if clicked on.  
● Selling a building can cause some products to be removed from queue (e.g. 
transports are removed when selling marine barracks), so in classic it was possible 
to remove a bought product. In 1.50 buy action will be reverted in such case. 

Autobuild recalculation 
Colonies are not recalculated in autobuild anymore, so newly grown pop doesn’t 
participate in production when autobuild is on. 

Opponent’s Bought Production 


Normally prod is zeroed when you capture a colony. Sometimes AI has bought prod there 
which will appear as non-zero prod after capturing. This is fixed in 1.50 by also zeroing the 
bought prod. Note that it should not be possible to create such situation, all bought prod 
must resolve and be zeroed before battles, so this is likely a bug in AI. 

Research & Technology 


Turn 0 Research Points 
Research Points produced on turn 0 are not lost if you did not choose tech on turn 0. 

Advanced Damage Control 


Being redundant for races with Cybernetic, ADC technology is removed from the tech tree 
for cyber races. 

Strategic Tech Tree Corrections 


Removed the following unused techs for Strategic games: 
● Anti-Missile Rockets. There is no anti-missile fire in strategic combat. 
● Energy Absorber. 
● Security Stations. There is no boarding in strategic combat. 
● Warp Dissipator. Has no influence in strategic combat. 
 

42 
 

Transporters tech is also not used in strategic but this tech has not been removed. For 
Lithovore races Food Replicators tech is not placed in the tree, so the absence of 
Transporters would cause an empty tech field, and consequently a crash. 
 
Added Warp Interdictor to the tree (perhaps Interdictor and Dissipator were accidentally 
swapped here). 

Hyper-Advanced Tech Cost Bug 


Fixed level 1 hyper-advanced tech cost that was shown as 25k RP but the real cost was 
15k. Now both actual and shown cost is 25k research points. 

Techs from Scrapping 


Added the possibility to acquire a shield tech from a scrapped ship. In addition, the 
occasional "You received the following techs from scrapping this ship" message pop-ups 
with a blank list have been fixed. 

Techs from Surrender 


The player that an opponent surrenders to now receives all technologies from that 
opponent. Previously he only received technologies up to #83 from the technology list, due 
to the erroneous use of technology f​ ield ​number instead of technology number. 

Map Knowledge from Surrender 


Map knowledge is now transferred on surrender, preventing occurrence of some odd 
situations for the receiver like having a surrendered fleet at an unexplored system. 

Human-to-Human Technology Interaction 


Diplomacy interactions involving technologies (exchange, gift, demand) between human 
players will now include every possible technology. Previously it followed AI trade 
preferences (AI could be unwilling to 
trade some tech it deemed “useless”, 
most notable example being Optronic 
Computer). 

Spying 
Spy Roster Overflow Exploit 
You can have maximum 63 defending 
spies in MOO2. If this number is reached 
then upon building a new spy the game 
will scrap it. In classic it provides you 
with 100 BC which is about twice as 
profitable as trade goods are. This can 
be considered an exploit. In 1.50 the 
extra spy is scrapped at a common rate 
of ½ cost.  

43 
 

Enhanced Spy Formula 


The formula for the bonuses of individual spies has been tweaked in such way that the 
63th spy (last spy) adds 1 bonus point instead of 0. The total bonus for 63 spies now is 
+42 instead of +41. This change benefits every other spy from #11 and higher. For more 
information on spying, see ​Notes on Spying​. 

AI & Diplomacy 
AI Objective Bug 
At the start of a game, each AI will get one of 6 objectives assigned: Diplomat, Ecologist, 
Expansionist, Industrialist, Militarist or Technologist. The AI's race picks are an input for this 
determination. The function that is used for that purpose had incorrect values for Ship 
Defense and Ship Attack (SD+20, SD+40, SA+25) and as a result those traits were not 
taken into account. These values are now variable and depend on the actual settings for 
Custom Race (where classic is: SD+25, SD+50 and SA+20). 

Diplomatic Blunder and Marriage Events Bug 


The Diplomatic Blunder and Marriage events that GNN reports used to have no effect. This 
was fixed, they now modify relations between the players involved. 

Population & Androids 


Assign To Farming Bug 
Fixed inability to move pop from non-food world to farming on food world. Previously, 
when using the Colonies screen to assign a colonist as a Farmer on another planet, and the 
originating planet cannot farm, you incorrectly got an error, "No room for another colonist 
in this job field". 

Ghost Colonies 
A ghost colony is a colony with no population. Such colonies may appear because of the 
use of bioweapons, extermination of conquered population or as a result of starvation (if 
planet_extinction = 1​). Such a colony exists as long as it has buildings. Every building on a 
ghost colony has a 10% chance to be destroyed each turn. 
 
The average number of turns a colony lives with 1..50 buildings: 
0 0 (colony is destroyed immediately) 
1 10 
2 14.7 
3 17.9 
4 20.3 
5 22.2 
… 
50 43.2 
 
1.50 introduces the following changes here: 

44 
 

● In classic there was a bug which made your opponent unable to capture or bomb 
such colony. This is fixed in 1.50. 
● In classic having colonists inbound kept ghost colony alive even without buildings, 
in 1.50 this is no longer true. 
● Setting p​ lanet_extinction = 1​ m
​ akes starvation lethal for the last colonist, so it is 
possible to create a ghost colony by starving populace. This option does not affect 
AI as it tends to starve its citizens and suffers too much from such rule. 

Population Capacity Clipped To 42 


The population Capacity will now be clipped to 42, which is the maximum population that 
is properly supported by the game. No matter which techs or racial traits you’ve got or how 
you mod pop tables, no planet will support more. 

43rd Android Ignores Pop Limit Bug 


Fixed bug that occured when you already had 42 colonists on a colony and built an 
android. The game would not warn you of the pop limit when android was inserted into 
queue. This android would not kill a colonist when built, becoming a 43rd colonist. You 
could continue building androids at this colony until the game crashed. 

Freighted Colonists Ignore Pop Limit Bug 


Fixed bug that allowed to overpopulate colonies. Previously, if for a given planet race S 
supported more pop than race A, (when S is aquatic, subterranean or tolerant) and you had 
only colonists of race S on this planet then you could send colonists of race A there in 
amounts exceeding allowed maximum. E.g. if you had a Sakkra colony 7/7 and Alkari 
supported 5 colonists on the same planet, then you could send 5 Alkari there without 
losing any colonists, resulting in a colony with 12/7 pop. 

Leaders 
> It’s an urban legend that the game likes to compensate a race’s weakness with leaders. 

Random Officer Check Players Order 


Randomized the order in which players roll for leaders. The check is no longer done in 
ascending order (player 0, player 1, etc) each and every turn, so player 0 does no longer 
always gets the first choice from the available leaders. 

Ordinary Assassin Skill Bug ​* 


Leaders with the normal Assassin skill (without the asterisk) will now be able to kill enemy 
spies. 

Assassin Blocking Mind Control Bug 


Leaders with regular Telepath or Telepath* skill now protect colonies from being mind 
controlled. In classic, leaders with regular Assassin skill did that instead. 

45 
 

Telepath Skill Bug ​* 


Leaders with the Telepath skill now get the correct skill level applied. Previously it was 
using one level less than actual level of the leader. 

Leader Arriving on a Captured Ship Bug 


Normally a leader present on a ship that is captured is killed. But a leader who was still 
travelling to a now-captured ship was totally unaffected by such fact of capture, resulting 
in an enemy leader residing on your ship. From now such leader will be sent back to the 
owner’s officer pool during ship capture. 

GNN & Random Events 


GNN Reports Systems Instead of Colonies 
In a number of GNN news occasions, the system name was reported instead of the colony 
name. All these occasions have been fixed and an updated EVENTMSE.LBX is supplied for 
all supported languages. 

Wandering Monsters GNN 


Now players should get correct GNN reports about monster events 
for all monster types and states of event. 

Monsters Search Range 


10 parsecs were added to monsters search range to find a new 
target colony. Previously it was possible that a monster that could 
have stayed, disappeared due to its inability to find a new target. 

Toxic Amoeba 
The effects of an amoeba that has won combat at a colony now properly applies to AI 
colonies too, transforming the planet to a Toxic climate. In addition the Amoeba is ensured 
to stay in the game if its target colony is destroyed before it arrives. 

Nova Fixup 
Planet food output is now zeroed and soil enrichment removed from planets that have 
been hit by a Nova, preventing such planets from being farmable after recolonization. 

Comets 
A comet now immediately counts as destroyed when 100% of that comet is destroyed, not 
the turn after. In addition an overflow in GNN’s comet message has been fixed, and more 
than 100% progress is no longer reported. 

Comets and Monsters Hyperspace Flux Bug 


Fixed a bug that failed to prevent comets and monster events from occurring during a 
hyperspace flux and that even made it possible for them to appear during a flux before 
their set turn delays, eg a dragon could already show up at turn 60 during a flux. 

46 
 

Serendipity Bug  
The Serendipity event will no longer cause a blank box in tech choice if it occurs in the 
same turn as a regular technology breakthrough. 

Pirate Raid Bug  


The Pirate Raid event will no longer cause an income if it happens to a player with large 
reserves. Due to overflow, pirates used to “donate” money to richer empires. 

Unstable Wormhole Bug 


The unstable wormhole can now happen to fleets with eta=2 turns. It used to be possible 
only to fleets with eta>=3 turns. 
 

   

47 
 

Game Mods 
1.50 Classic 
Playing Classic game mode, you get all fixes and improvements as described in above 
chapters. If you select this option in Launcher, the Map option field is automatically set to 
Classic too. No game rules are changed via Config in Classic mode. 
 

1.50 Improved 
The 1.50 improved mod (150i) aims, as the name suggests, to improve on the classic 
experience by enabling enhancements to tactical combat and weapon mechanics and by 
making several tweaks, while keeping major elements like custom race picks and the tech 
tree unchanged. All changes are made in Config. After initial installation of the 1.50 fan 
patch, 150i is enabled by default. 150i includes the following changes: 

Toxic Planet Terraforming 


Toxic planets can be terraformed by the combination of Biomorphic Fungi and Weather 
Controller. As soon as you have Fungi researched, Weather Controllers can be built on 
Toxic worlds, transforming them to Barren climates. Note that the Weather Controller can 
no longer be built on Radiated worlds (they have no weather to control). Also, Lithovore 
races now have Biomorphic Fungi in the tech tree (they already had Weather Controller in 
the classic tech tree) so they can terraform toxic worlds independently. 

Research 
In 150i, the accumulated research points (RP’s) exceeding 2x the research cost of the tech 
being researched are stored over instead of lost. In addition, the accumulated RP's are not 
reset to 0 when the tech currently being researched is acquired by non-research means 
(artifact planet, capture, spying). 

Spying 
Spies can now steal anything, except the technology that is being researched. Under 
classic rules, anything but the t​ ech field b
​ eing researched can be stolen by your spies. 

48 
 

Democracies 
The morale bonus of Psionics now also applies to democracies, instead of only to feudal 
and dictatorship governments. In addition, at the advanced federation government level the 
20% penalty for mixed race colonies is removed. 

Androids 
In 150i, android scientists instead of workers are affected by morale (they are sentient). 
Build cost for all droid types increased from 50 to 100 production points (PP). 

Buildings 
Balance changes in build and maintenance cost: 
 
Marine Barracks 40 1 (60 1) 
Armor Barracks 60 1 (150 2) 
Hydroponic Farms 60 1 (60 2) 
Subterranean Farms 150 2 (150 4) 
Food Replicators 200 4 (200 10) 
 
In addition, the cost of replicating 1 food is now only 2 PP instead of 2 PP plus 1 BC (the 
extra coin was undocumented). 

Jump Gates 
Fleets travelling in a Jump Gate controlled wormhole are unaffected by nebulae in 1.50 
improved. In Classic, only black holes are ignored but not nebulae. 

Interactive Combat Stats 


Interactive Combat Stats (ICS) causes ship stats to update w ​ ithin​ the combat turn. In the 
classic game mechanics, ships recalculate most of their stats at the beginning of the next 
turn. First, this is inconsistent with several effects applying immediately. Second, this is 
somewhat counterintuitive, e.g. a ship tractored to full immobilization is legal for boarding 
(counted as immobile), while still being able to move. ICS makes all ship stats update as 
soon as any event affecting them happens. 
 
The stats are: 
● Ship speed and immobility state 
● Ship move points (squares ship can fly this turn) 
● Beam attack 
● Beam defense 
● Missile evasion 
● Fleet ordnance bonus 
 
The events are: 
● Cloaking / Decloaking 
● Tractor beam attack / cessation 
● Black Hole Generator attack / cessation 
● Damaging of internal system (special, drive or computer) 

49 
 

● Ship destruction, retreat or capture 


 
For example destroying enemy ship A may result in: 
● Cessation of tractors from A towards our ship B. 
○ Ship B becomes mobile. 
○ B’s speed increases, consequently beam defense increases. 
○ B’s move points increase (restore), it can now move. 
● Death of a leader on ship A. 
○ Enemy fleet loses beam attack bonus provided by the leader. 
○ Enemy fleet loses ordnance bonus from the leader. 
For the same event in classic (or with ICS off) only the mobility state is changed. The rest of 
stats do not update until the end of the turn and ordnance does not change for the rest of 
the battle. 
 
Speed update deserves a special example. Let’s assume that a ship with speed 10 and 8 
unused move points has just been fully stopped with tractor beam: 
● Classic: ship is immobile, but the only effect of it is that it can now be boarded, 
otherwise it still can move up to 8 squares and keeps the defense bonus from 
speed. 
● ICS: ship is immobile, can be boarded, can’t move and has defense decreased. 
Moreover it will regain full mobility and its 8 move points during that turn in case 
the tractor beam affecting it ceases (e.g. is destroyed). 
 
If the tractor beam is removed on the next turn: 
● Classic: ship becomes mobile and can’t be boarded, but still has zero move points 
and defense penalty from immobilization. 
● ICS: ship is not immobile in any sense and regains 10 unused move points it 
acquired at the start of turn, because tractor beam effect ‘stopping’ the ship has 
ceased. 
 

 
 

The two tables below summarize the differences between 1.31/1.40 (red), 1.50 classic 
(white) and 1.50 improved with ICS (blue). You can see how 1.50 classic makes column 
“boardable” consistent with “immobile label” and column “stashed speed” consistent with 
“calc speed”. 1.50 ICS also makes “move points” consistent with both speed columns. The 
columns are: 
 

50 
 

● Move points -- move points the ship can spend this turn. 
● Stashed speed -- speed stashed in ship structure. It is updated by Tractor but not 
by BHG for some reason. This parameter being 0 is what causes immobile label to 
appear. 
● Immobile label -- ship has word “immobile” written in red over its icon on info 
panel. 
● Calc speed -- speed calculated by Calc_Current_Speed according to all current 
effects on ship. At the beginning of each turn this function is called and the result is 
stored in “stashed speed” field. Most checks on ship speed actually recalculate it 
rather than use stashed speed, e.g. an ability to board corresponds to calc speed, 
not to stashed speed. 
● Boardable -- can ship be the targeted by a boarding action by ships without 
transporters. 
 
Table 1. The effects of firing with tractor / BHG at a ship with moves left. 
1.31/1.40  Move points  Stashed speed  “Immobile” label  Calc speed  Boardable 

Tractor  > 0  0  yes  0  yes 

BHG  > 0  > 0  no  0  yes 

1.50 classic  Move points  Stashed speed  “Immobile” label  Calc speed  Boardable 

Tractor  > 0  0  yes  0  yes 

BHG  > 0  0  yes  0  yes 

1.50i ICS  Move points  Stashed speed  “Immobile” label  Calc speed  Boardable 

Tractor  0  0  yes  0  yes 

BHG  0  0  yes  0  yes 

 
Table 2. The effects of releasing ship from tractor / BHG on the next turn of firing. 
1.31/1.40  Move points  Stashed speed  “Immobile” label  Calc speed  Boardable 

Tractor  0  0  yes  > 0  no 

BHG  0  0  yes  > 0  no 

1.50 classic  Move points  Stashed speed  “Immobile” label  Calc speed  Boardable 

Tractor  0  > 0  no  > 0  no 

BHG  0  > 0  no  > 0  no 

1.50i ICS  Move points  Stashed speed  “Immobile” label  Calc speed  Boardable 

Tractor  > 0  > 0  no  > 0  no 

BHG  > 0  > 0  no  > 0  no 

Strict Combat Sequencing 


This combat mode is an improvement of classic s​ hip initiative​ combat. If enabled it 
automatically force-enables ship initiative, regardless of its setting in the Game/Settings 

51 
 

menu. ‘Strict’ changes rules for selecting which ship moves next. Combat is split in two 
stages, pre-wait and post-wait. In the pre-wait stage ships move in order of their initiative 
(highest to lowest) and can wait if they want to act later. In the post-wait stage ships move 
in reverse order (lowest initiative to highest) and can’t use the Wait button anymore. 
Because the Wait button can be used only once for each ship, the player can no longer 
cycle ships endlessly. Note that with ICS enabled, the initiative rating of each ship can 
change ​during​ the turn which affects ship ordering instantly. 

Simplified Beam Formula 


This new formula fixes irregularities in the classic formula. In general the accuracy on 
ranges 6+ becomes lower and a large BA-BD delta won't cause the range penalty to be 
ignored (range 6+ is; 7+ squares for PD, 16+ for normal and 34+ for Hv mount). 

Beam Weapons 
Fusion Beam’s inherent ranged to-hit penalty has been removed. This mod has also been 
removed from the Mauler Device by a patch (Mauler always hits, so the mod has no effect), 
so only the Plasma Cannon retains this mod.  
 
Plasma Cannon’s base cost is increased to 25 (from 15), bringing its cost/space ratio back 
in line with other beam weapons. (Ref. addendum, Weapons tab.) 
 
The enveloping mod (fusion beam, plasma cannon, torpedoes) is ineffective against 
planets. 

Missiles 
In classic games with ​ship initiative​ ​off​, missiles move at the end of each combat turn, 
while in classic games with ship initiative o ​ n​, missiles move at the end of the n
​ ext​ turn. In 
1.50 improved, that has ship initiative on, missiles move at the end of the combat turn just 
like in classic games with ship initiative o ​ ff​. 
 
In addition, missiles launched in different turns will not glue together. Under classic rules, 
missile stacks from different turns can join and form one stack. 

Torpedoes 
Torpedoes are now in the same miniaturization group (1) as beams, missiles and bombs. In 
classic, they are in miniaturization group 2. 
 

52 
 

Fighters 
The maximum damage of energy beam weapons on Fighters is clipped to its listed 
maximum. In classic they get a +1 bonus due to a bug that we regard as having become a 
classic feature, hence it was not patched but fixed via config. 
 
Heavy Fighters can now intercept missiles too, using their beams only. They will still act in 
their usual way when targeting ships. 
 
In a balance change, the size and cost of Bombers and Heavy Fighters have been reduced, 
as follows: (Original classic values after #) 
 
weapon bomber size = 40 20; # 60 30 
weapon heavy_fighter size = 60 40; # 80 50 
 
Note that in 1.40 and older versions, due to a bug the AI could fit bombers and heavy 
fighters for 30 space each (interceptors space value). In 1.50 AI adheres to the set space 
values. 

Bombs 
Base space of all bombs has been standardized to 5 space, or ½ space of standard beams 
(10 space). Cost has been lowered as well. 
 
weapon fusion_bomb size = 5 4; # 7 5 
weapon anti_matter_bomb size = 5 5; # 7 6 
weapon neutronium_bomb size = 5 6; # 10 9 
weapon bio_terminator size = 5 6; # 7 8 

53 
 

Special Weapons 
In classic, Plasma Web dissipation is 5 damage per turn for ​all webs​ on a ship combined 
(and not per individual web). Over turns, this can lead to huge damage numbers done by 
this weapon. In 1.50 improved the dissipation is a more reasonable 50% per turn. 
 
A Black Hole Generator only recharges after the previous target is destroyed in 1.50 
improved. Thus the attacker needs to wait until the target is destroyed until he can fire the 
weapon again. 

Ship Systems 
In 1.50 improved the Lightning Field’s buggy roll is fixed; the amount of missiles killed now 
has a binomial distribution. With the default 50% kill chance (configurable) this means that 
on average ½ of all incoming missiles / fighters will be killed. In classic, due to this buggy 
roll, on average ⅓ instead of ½ missiles / fighters are killed. The distribution in classic is also 
asymmetric and yields different results depending on the size of missile pack, e.g. 8 
missiles fired one by one and fired in one stack have significantly different survival rates 
(50% in a stack will survive guaranteed). This could be exploited in Guardian rush games 
which is why we deem it to be a classic feature. 
 
The High Energy Focus bonus is set to +50% for each mount type (75 100 225). The 
classic setting is 100 150 200, where Point Defense gets a bigger bonus and Heavy Mount 
a smaller one than expected. 
 
Space and/or cost values have been updated for Scout Lab, Structural Analyzer and 
Transporters. See the addendum for detail. 
 
In 1.50 improved, all Colony Ships, Outpost Ships and Transports that are built a ​ fter​ a 
stealth tech has been researched will be fitted with the best available stealth device. 

Boarding 
Ships now have to be adjacent to board, while the classic range is 3 (permitting a 2 square 
gap). Boarding to and from ships trapped in a black hole is no longer allowed. Each marine 
of a raiding party can destroy maximum 1 item instead of 2. 

Planet Defenses 
Radius of the Warp Interdictor has been reduced from 3 to 2 parsecs. 
 
Fighter Garrison has been adjusted for Bombers and Heavy Fighters new space and now 
houses 8 (was 6) Bomber flights and 6 (was 4) Heavy Fighter flights. 
 
The Star Base specials list has been shuffled such that Battle Scanner is guaranteed to be 
fitted instead of Warp Dissipator, like it was before the latter was added to this list in 
version 1.3. This is especially useful for Creative races. 
 

54 
 

Since the enabling of simplified_beam_formula lowers accuracy at longer range and star 
bases are immobile, the attack bonus of all satellites has been raised by +10. This raises 
beam attack and initiative of the whole defending fleet by the same +10. 
 
Civilian buildings now get stronger with higher armor technology. Instead of being always 
100, they are now 100 120 140 160 180 200 for Titanium - Xentronium armor. 

Leaders 
Since the Tactics and Tactics* skills do not work, the three leaders with this skill have been 
adjusted for 1.50 improved. 
 
 
Khunagg, the Ruthless 
- Removed Tactics 
- Added Assassin 
 
 
 
Nimraaz, the Master Tactician 
-R​ emoved Tactics* 
- Added Famous 
 
 
 
Rash-Iki, the Warlord 
- Removed Tactics 
-R ​ emoved Commando 
-A ​ dded Commando*  
 
In addition, the following skill cost have been revalued: 
 
Famous 3 6 (2 4) 
Fighter Pilot 2 4 (3 6) 
Navigator 2 4 (1 2) 
Ordnance 4 8 (3 6) 
Spy Master 2 4 (3 6) 
Tactics 1 1 (2 4) 

AI Race Variants 
The classic design of AI race variants for the Hard and Impossible difficulties is bugged by 
roughly three problems: 
 
1. Sometimes extra abilities are awarded that the base race already has. Examples are 
Bulrathi getting SA+25 and the Sakkra getting Food+1 in several variants. 
2. The range of picks awarded varies hugely per race variant from nett negative 
(Sakkra’s Aquatic+Repulsive) to plus 12 picks, very likely because the design was 
done before the final race picks that we all know were set. When doing a count 

55 
 

with pre-release picks from the Strategy Guide (with for example Repulsive at -2 
picks and Tolerant at +8) variability was greatly reduced and it seems that the devs 
intended to give on average +3.5 picks (3-4) on Hard difficulty and +7 picks (6-8) 
on Impossible. 
3. Two Psilon variants have been weakened in the version 1.3 update that increased 
the cost of Creative to 8 picks and swapped the Artifacts homeworld of the base 
Psilon race for a Large one. 
 
For 1.50 improved only the problems 1 and 3 have been addressed, while the second one 
is mostly left untouched (except for two Darlok Hard variants) because fixing it would lead 
to larger changes to many variants, making them noticeable ‘non-classic’. Details can be 
found in the addendum. 

AI Behaviour 
In 1.50 improved, the AI is not required to have drive, fuel and colony ship technology in 
order to build colony bases, only colony base tech is required. As a result the AI can build 
them much earlier in pre-warp games. 
 
The AI is enabled to research hyper-advanced tech fields that miniaturize late game 
weapons and specials. In classic, upon completion of research of all regular technology 
fields, AI stops all research and destroys all of its research facilities. This behaviour is now 
postponed until the AI has completed one level of advanced research in Power, Physics, 
Fields, Chemistry and Computer branches. The AI will not do advanced research in Biology, 
Construction and Sociology. 

AI Ships 
An attempt is made to improve AI ship designs by changing the weapons space allocation 
tables and some preferred weapon/special lists. For example, ships carry less bombs 
overall and beam ships will have the Battle Scanner fitted more frequently. Details of all 
changes can be found in the addendum, tabs AISHIPS_1 and AISHIPS_2. The first tab lists 
the changed order of preference for special systems for the various ship design themes. 
The second tab details changes to space allocation for weapons and special systems. 

The Guardian 
Plasma torpedoes and Spatial Compressors swapped slots in the Guardians design, so that 
compressors can fire first and torpedoes last. (The 2 Spatial Compressors were added to 
the Guardian’s design in classic version 1.3.) 

Antarans 
The maximum Antaran offensive fleet can now consist of 6 Titans (was 2) which is a nice 
improvement for those who enjoy ultra-longplay games (>turn 500). Antaran Defensive 
Battleship and Titan designs have been updated to match their offensive counterparts, in 
effect making them slightly stronger. Antaran ship drives have been updated from Hyper to 
Interphased Drive, increasing the beam defense by +10. Lastly, the Pre-warp delay that 
defines when the Antarans can make their first appearance has been decreased from 200 
to 150 turns (delay on Average is 100 turns). 

56 
 

Space-Time Anomaly 
The first possible occurrence of the Space-Time Anomaly event has been pushed back to 
turn 200 (was t50), the same delay as Comet and Nova events. 
 
A Space Crystal now keeps captured ships as part of its own fleet after combat 
(​crystal_keep = 1​). Roaming Crystals that capture ships will stay at the system where 
combat has taken place. 
 
In classic, systems that have 0 research going on the turn they get the Nova event will 
always find a remedy the next turn because of the way the formula works: current research 
times the number of turns before Nova. In 150i the formula is (current research +1) times 
the number of turns before Nova, so there is always some extra research needed to avoid 
the catastrophe. 

Galaxy Map 
The 1.50 improved map has a few minor improvements over its classic counterpart, the 
details are specified in the addendum. 

ICE 
The ICE mod is a full mod that changes many aspects of the game, including race picks and 
the tech tree. The mod comes in two variants, ICE-M and ICE-X, with the latter bringing 
stronger AI opponents. 

   

57 
 

Melee 
Experimental mod for 2-player tactical combat. The melee map has 4 systems: Orion, 2 
home systems, and a neutral system. Each player builds 30 command points worth of 
ships. Both players send their fleet to the neutral system and duke it out. No retreating! The 
loser can now make designs to counter his opponents ships and rebuild his fleet, while the 
winner adds new ships (can be new designs also) to his surviving ships until he again has a 
fleet worth 30 command points. 
 
New Game settings 
Difficulty Level: Any 
Galaxy Size: Small 
Galaxy Age: Any 
Players: 2 (Any other # will crash the game on mapgen!) 
Tech Level: Pre-warp, Average, Post-warp (Advanced will crash the game!) 
Tactical Combat: On 
Random Events:  On/Off (Events are delayed by 127 turns) 
Antarans Attack: On/Off (Antarans are delayed by 127 turns) 
 
Command usage per ship class 
Frigate 1 
Destroyer 2 
Cruiser 6 
Battleship 10 
Titan 15 
Doom Star  30 
 
The config is not described in detail here since it’s very much in beta. Three parameters of 
note are: 

multibuild = 1; 
Enables multiple ships to be built each turn. New (beta) parameter. 

confirm_battle_message_timeout = 70; 
Sets the timeout for the disappearance of the confirmation messages “X attacks Y at Z”, 
“outpost destroyed” and “colony captured by mind control” in Multiplayer. The timeout is in 
ticks (see scrolling below) and set to 70 for the melee mode. The default setting is 32767 
which is approximately 30 minutes. 

auto_close_board_result_popup = 1; ​

If set to 1, the pop-up of boarding results for raid and capture will close automatically, 
using same delay as in AUTO combat. Useful for multiplayer games, because with this 
setting enabled the defender does not get an action when it isn’t his turn. 

   

58 
 

Mapmods 
In addition to the classic, 1.50 improved and melee maps, six more mapmods are available: 

ICE 
ICE map generates galaxies with more satellites per system, especially for white stars, and 
less Gas Giants and Asteroid belts. Planet quality is somewhat improved and the chance 
for wormholes is 3%. Small galaxies have 24 stars instead of 20 in a size equal to that of 
the classic Medium galaxy. Medium galaxies have the same size as Large ones, but with 45 
stars instead of 54. (Classic medium has 36 stars.) 

ICE MP (multiplayer) 
All home systems have 5 planets in ICE MP. Black Holes and Wormholes are disabled, as 
well as the Orion system, which is replaced by a regular star. Splinter worlds that are 
generated on the map are replaced by planets with Gem Deposits. 

Orange 
The Orange mapmod should help players that do not like empties, singletons or rocky 
planets in their neighborhood. There are less Gas Giants and Asteroids and more planets 
generated per system. All stars in an average aged galaxy are of orange color and all stars 
in a young galaxy are white. Old galaxies have mostly red stars with the occasional brown 
one. Systems with Ultra Rich planets will always be guarded by a monster. The chance for 
wormholes is 3%. 

GoodMap3 
Goodmap3 generates 3 planets in every system and all planets are from the ‘Life 
Supporting’ group, which, as the name suggests, creates more hospitable galaxies than the 
classic mapgen does. Systems with Ultra Rich planets will always be guarded by a monster 
and wormhole chance is 3%. Goodmap3 for 1.50 is modified from the classic Goodmap3, 
further improving planet quality. 

GoodMap3 MP 
All home systems have 5 planets in GoodMap3 MP. Overall planet quality is improved 
tremendously. Black Holes, Wormholes and Nebula are disabled and the Orion system is 
replaced by a regular star. Splinters are replaced by Gem deposits, Natives by Gold 
deposits and Marooned leaders by Pirate Caches. Artifacts worlds still exist, but do not 
give free tech anymore. Players can see the planets of systems up to 12 parsecs away from 
the start of the game. 

Fixed Square 
A special map that is generated via a script: A fixed rectilinear galaxy interlinked with 
wormholes and Orion in the middle. The map scales according to the galaxy size set. 
Suitable for 8 players. 

59 
 

Build Lists 
Overview 
Build queues can now be auto filled by loading one of 11 configurable build lists, drastically 
reducing micromanagement. A build list is a plain text file containing a list of buildable 
items and can be viewed and edited with any plain text editor (like Notepad on Windows). 
Apart from buildable items, build lists can contain commands which affect how the queue 
is updated. 
 

 
 
The lists are bound to keys Q​ ​ and 0
​ -9​, the corresponding files being BUILD.CFG, 
BUILD0.CFG, ..., BUILD9.CFG. Keys can be used in the Build screen and in the Colonial 
Overview screen. Used in the Colonial Overview screen, the list’s contents will be loaded to 
all build queues, or in combination with the SHIFT key to only the highlighted colony’s 
queue. Default lists are: 
 
Q BUILD.CFG merge buildings 
0 BUILD0.CFG clear the queue 
1 BUILD1.CFG append ship design 1 
2 BUILD2.CFG append ship design 2 
3 BUILD3.CFG append ship design 3 
4 BUILD4.CFG append ship design 4 
5 BUILD5.CFG append ship design 5 
6 BUILD6.CFG append ship design 6 
7 BUILD7.CFG prepend freighter 
8 BUILD8.CFG prepend spy 
9 BUILD9.CFG append housing 
 
BUILD.CFG (​Q​) contains a reasonably ordered list buildings and is set to merge by default. 
This should suffice for colony buildup in casual games against the AI. 
 
 

60 
 

Syntax 
The portion of a line starting with # is a comment and is ignored, blank lines are also 
ignored. Otherwise a build list is just a list of items separated by spaces or newlines. 
 
Each buildable item is either: 
● a product 
● a mode 
● a command 
 
Products​ are: 
● buildings: any building name like a ​ utomated_factory ​or h
​ ydroponic_farm​. The 
correct spelling can be made from in-game English name by lowercasing and 
inserting _ instead of spaces. If you aren’t sure how to spell the name refer to the 
default BUILD.CFG which contains a full list of building names. 
● landers: c​ olony_ship​, o​ utpost_ship​, ​transport. 
● custom ships: d ​ esign1​, ..., d
​ esign6. 
● droids: a ​ ndroid_farmer​, a ​ ndroid_worker​, ​android_scientist. 
● special products: s​ py​,​ freighter_fleet​,​ trade_goods​, h
​ ousing​, r​ epeat. 
 
Modes​ affect how products are inserted. Modes are: 
● append -​ - items are inserted at the end of the queue unless the queue is full. This 
mode is the default if you haven’t specified a mode. 
● prepend -​ - items are inserted at the beginning of the queue unless the queue is full. 
● merge​ -- items from the list already present in the queue will be rearranged in build 
list order. This mode is intended for inserting newly-researched buildings with 
proper priority. 
 
Commands​ are: 
clear clear the queue apart from bought prod and ships being refitted 
clear_refits delete from the queue ships being refitted, except bought ones 
unbuy unbuy the current product if it’s bought 
buy1 buy a current product if it’s at least 1/2 built 
buy2 buy a current product if it’s at least 1/10 built 
buy3 buy a current product 
stop stop reading the file and apply the list, ignoring all text after ‘stop’ 

Examples 
Append a transport to the queue: 
 
transport 
 
Or, which is the same: 
 
   

61 
 

append 
transport 
 
Insert a spy and a freighter in the beginning of queue (but not if bought prod is present): 
 
prepend 
spy 
freighter_fleet 
 
Remove everything from queue apart from bought prod and refits and add two 
androids workers: 
 
clear 
android_worker 
android_worker 
 
Scrap absolutely everything in queue and build design 6 repeatedly: 
 
unbuy 
clear 
clear_refits 
design6 
repeat 
 
Insert research lab on every planet where automated factory is already built and 
insert both otherwise: 
 
merge 
automated_factory 
research_lab 
 
You can do a few special tricks using merge mode. The idea behind it is that merge 
changes only those slots, the products from which are on the list. So you can clear or buy 
only specific products. For example to remove only hydroponic farms and food replicators 
from the queue: 
 
merge 
hydroponic_farm 
food_replicator 
clear 
 
And to buy only automated factory: 
 
merge 
automated_factory 
Buy3 
 

62 
 

Modding with Config 


Overview 
This patch uses configuration files to customize the game and to support mods. They are 
plain text files and can be viewed and edited with Notepad or any other plain text editor. 
Config is modular, each config file can "include" other config files. This helps keeping config 
files short while allowing to switch between mods easily. By default the game loads 
ORION2.CFG on startup, which may look like this: 
 
include 150\150i.CFG; 
# include 150\ICE-X.CFG; 
 
In this example the mod 150i is enabled and ICE-X is disabled (commented out by # sign) 
and. If you comment out 150i and uncomment ICE-X, the game will start with ICE-X 
enabled. 
 
A quick way to understand config syntax is to look inside the configs that are shipped with 
this patch. For a more formal description about config machinery continue reading. 

Startup and Command Line 


By default the game loads ORION2.CFG from the game folder. It will complain and 
terminate if this file does not exist or is malformed. Although most users will never need to 
use anything but this default file, there is a way to provide another file or even several files. 
This is done by using /c switch: 

ORION150.EXE /c=A.CFG 
 
If you did specify at least one /c switch then configs provided this way will be read instead 
of ORION2.CFG. In the example above config will be loaded from A.CFG. You can specify /c 
several times, in this case files will be loaded sequentially. You may specify paths, but 
remember that all file and directory names must be in DOS 8.3 format. 

If all config files have been loaded successfully the game will extract all current settings to 
EXTRACT.CFG. This file is a full config and can be loaded (for example you can rename it to 
ORION2.CFG and restart the game). Extraction is mostly intended as an aid for modding 
and development, but you can also use it to review your current settings. For creating a 
new mod EXTRACT.CFG is a good starting point: make a copy of it in the 150\mods\ 
folder, rename it to a new mod name and adjust parameters. 
 
You can change extracted file’s name by specifying /extract command line switch: 

ORION150.EXE /extract=X.CFG 

63 
 

Reloading and Extracting on the Fly 


You can reload config without restarting the game. This is done by pressing A ​ LT-RE​ in 
main screen, colony build screen or in combat, after which success or failure is reported via 
a pop-up. This is very useful for testing but can be used to cheat so it won’t work in 
multiplayer games. 
 
You can extract current settings anytime in the same mentioned screens. Press A ​ LT-EEE 
and the game will write settings to EXTRACT.CFG (or whatever was specified in /extract=). 
This again is mostly for testing and modding, but you can also use it to check server’s 
game settings if you are a client in network multiplayer. 

Network Synchronization 
In network multiplayer the host’s config is broadcast and applied by clients so that all sides 
have the same game settings. This doesn’t change config files on client’s disk, only memory 
state for the duration of the game. Only non-interface options are broadcast, so if the host 
has renamed some weapon, the change will be visible only to the host. The same goes for 
parameters like ​scroll_interval​, c​ lear_button​, etc. 

Syntax 
The syntax should be fairly obvious from reading ORION2.CFG or EXTRACT.CFG, but for 
those interested here is the summary: 
● Config file supports comments. Character # ​ ​ and anything after it is considered a 
comment until the end of the line. This can also be used for disabling parts of 
config. 
● Empty lines are ignored, series of whitespaces are equivalent to a single space. 
● Apart from comments, config consist of parameter assignments and commands. 
Both are terminated by a ;​ ​ symbol. 
● Commands are: i​ nclude​,​ enable​, ​stop​. 
● Command i​ nclude​ triggers parsing of a subconfig (by file name). 
● Command e ​ nable​ is used by the Launcher to mark enabled mods (by mod_id). 
● Command s​ top​ skips the rest of the current file. 
● Each parameter assignment changes some game rule, e.g. the following will make 
the game use Point Defense on fighters’ beams: f​ ighters_use_pd = 1​. 
● Each parameter has a type: a number, a ratio, a fixed set string or an arbitrary 
string. 
● Numbers can be written in decimal or in binary form. 
● Parameters of type ratio are needed to represent rational numbers. They are 
specified as two numbers separated by /​ ​ symbol. 
● Strings containing whitespaces or special symbols "​ # ;​ need to be surrounded by 
double quotes (​""​). The e
​ scape character​ is ​^.​  

64 
 

Commands 

Include 
Command ​include​ allows to spread configuration among several files. It’s primary function 
is to allow easy enabling and disabling of mods, but also can be useful if you want to 
separate several aspects of a mod. For example game rules and map generation rules are 
generally independent, so you can write: 
 
include 150\MyMod.cfg; 
include 150\harshmap.cfg; 
 
This way you will be using MyMod.cfg rules with map generation controlled by 
harshmap.cfg. All file paths in config are relative to game directory. 
 
File path in ​include​ is actually a template that supports variables LANG, LANG_ID and 
LANGUAGE, e.g. the following command: 
 
include 150\MyMod\$LANGUAGE$\mymod.cfg; 
 
will include file 150\MyMod\English\mymod.cfg if your installation has English set as a 
language. This allows to create multilingual mods. Variables and their values are: 
 

Installation  $LANGUAGE$  $LANG$  $LANG_ID$ 


Language 

English  English  en  0 

German  German  de  1 

French  French  fr  2 

Spanish  Spanish  es  3 

Italian  Italian  it  4 

 
Installation language may be changed by putting a number from LANG_ID column to 
language.ini file in game directory and restarting the game. 

Optional Include 
Normally include requires a file to exist. The game will report an error if the file being 
included is missing. This can be prevented by putting ?​ ​ before the file name: 
 
include ?150\maybe.cfg; 
 
This prevents the config loader from aborting if 150\maybe.cfg does not exist. 

Stop 
You can skip the rest of the current file using ​stop c​ ommand: 
 

65 
 

stop; 
 
It has no arguments and is intended for testing. Note that config parsing will continue after 
include if current file was included. For example if file’s A 10th line is i​ nclude B;​ and file’s B 
20th line is s​ top;​ then lines beyond 20 in B are skipped and parsing continues from line 11 
of A. 

Single Value Parameters 

The General form of setting a parameter is: 


 
<parameter> = <value>; 
 
Here parameter is one of fixed parameter names like s​ peed_fast_bonus​, a
​ ndroid_morale​ or 
mod_name​: 
 
speed_fast_bonus = 4; 
android_morale = workers_only; 
mod_name = “My mod”; 
 
Here all 3 parameters have different types. The first is a number, the second is a string 
from a fixed set and the third is an arbitrary string. 

Numeric Value 
Numeric parameters accept numbers in a certain range. Each parameter has its own range, 
for example speed_fast_bonus can be 0 to 255, while fighters_use_pd can be only 0 or 1 
(this is called boolean; for such parameters 0 means disabled or o​ ff a
​ nd 1 means enabled 
or ​on​). Sometimes you need to write parameter in binary (a bit mask), this can be done by 
prepending a value with 0: 
 
weapon plasma_cannon available_mods = 010010; 
 
Here 010010 is a binary form of the number 18. All numbers starting with 0x are parsed as 
hexadecimal, for example 0x1a or 0x1A equals to 26. Any other number starting from 0 is 
interpreted as binary, so writing 0123 will result in parse error (2 and 3 are not binary 
digits). 

Ratio Value 
Ratio value represents a rational number. This is needed when ratio can’t be accurately 
expressed as percentage and rounding is undesirable for some reason. It consists of two 
16 bit integers separated with / symbol: 
 
govt_bonus feudal_reduction = 1/3; 
 
Note that no space is allowed between / and numeric components, but you can optionally 
drop /<num> part if you want an integer value, i.e. specifying ​2​ is legal and is the same as 
specifying 2
​ /1​. 

66 
 

String From a Fixed Set 


Some parameters accept a string from a fixed set. For example a ​ ndroid_morale​ accepts 
one of 8 strings: 
● workers_only  
● farmers_only  
● scientists_only  
● farmers_and_workers 
● workers_and_scientists  
● farmers_and_scientists  
● all_droids  
● none 
 
You can’t set it to all_androids for example. The list of options for each parameter can be 
found in the corresponding entry in EXAMPLE.CFG. 

Arbitrary String Value 


Some interface parameters like m
​ od_name​ accept arbitrary strings: 
 
mod_name = MyMod; 
 
If you want spaces or special symbols inside the string you’ll need to use double quotes: 
 
mod_name = "MyMod version 1.0"; 
 
Inside the quotes all special characters but ​"​ and ^ ​ ​ are interpreted as part of the string. For 
example a ​#​ symbol inside a quoted string will not start a comment. Symbol ​^​ is an e ​ scape 
character​ and allows the use of symbols "​ ​ and​ ^ ​in strings. 

Table Parameters 

Some parameters are tables. You can set single value or the whole table in one shot. To set 
a single value in a table: 

<table> <row> <column> = <value>; 

E.g. to set damage bonus for point defense mount when no high energy focus is present: 

mount_dmg nohef pd = 50; 

To set the whole table: 

<table> = <value1> <value2> ... <valueN>; 

E.g.: 

mount_dmg = 50 100 150 75 150 225; 

67 
 

The latter form is called b


​ ulk notation a
​ nd requires you to know the order of rows and 
columns. Consult EXAMPLE.CFG comments for specific table, columns and rows are listed 
in the correct order there. 
 
You do not have to always specify the whole table, you can specify a part of it: 

mount_dmg hef pd = 75 150 225; 

In this example you can also drop pd if you know it’s a first column: 

mount_dmg hef = 75 150 225; 

In tables you usually want to specify all values for completeness but if you want to leave 
some intermediate values unchanged you may skip items by using - (dash) symbol: 
 
mount_dmg nohef pd = 50 - - 75; 
 
In this example values 50 and 75 are assigned to Pd mount without and with HEF 
respectively. Two dashes skip values for normal and HV mods without HEF. 
 
More bulk notation examples can be found in M​ odding Notes​ section. 

LBX substitution 

For a number of LBX files you can specify an alternative file to be loaded instead. This is 
useful to provide custom texts or graphics. Since 1.50.5 this feature is also used for 
multilingual support. 
 
If you specify non-existing files the game will refuse to start or reload config. The check is 
simplistic and can’t detect malformed files, using those will result in sudden crashes. The 
following LBXs are supported: 
● Cmbshp 
● Credits 
● Colsysdi 
● Combat 
● Diplomse 
● Estrings 
● Eventmse 
● Fonts 
● Help 
● Herodata 
● Hestrngs 
● Info 
● Kentext 
● Kentext1 
● Maintext 
● Newgame 
● Officer 
● Raceicon 

68 
 

● Racename 
● Races 
● Racesel 
● Rstring0 
● Shipname 
● Ships 
● Skildesc 
● Starname 
● Techdesc 
● Techname 
 
For example: 
 

info.lbx = 150\MyInfo.LBX; 
 

Here we tell the game to load MyInfo.LBX from 150 subdirectory instead of INFO.LBX. 
 
To reset to a default LBX set the corresponding parameter to 0 (a null string): 
 
info.lbx = 0; 
 
You can change these parameters on the fly because most LBXs are loaded on demand 
whenever the game needs them. 
 
Multilingual mods require different LBXs depending on current language. To support such 
mods all lbx parameters are processed as templates similar to i​ nclude​ command’s 
templates. Actual filename depends on the current language, e.g. this: 
 
help.lbx = 150\HELP_$LANG$.LBX; 
 
will expand to 150\HELP_EN.LBX if your current language is English. Refer to i​ nclude 
command description for the complete list of variables and their values. Note, that unlike 
include​ templates, optional files via ​?​ are not supported. 

Default Configuration 
This patch comes with an extensive configuration. The main config file is ORION2.CFG, 
and it refers to other config files by means of the “include” command. 

ORION2.CFG 

ORION2.CFG specifies the location of build lists, scripts, updated 1.50 LBX’s as well as 
other CFG’s to be loaded: 
 
build.cfg = 150\build\BUILD$ID$.CFG; 
Location of all eleven build lists. 
 
main.lua = 150\scripts\main\MAIN$ID$.LUA; 
Location of main scripts. 
69 
 

 
newgame.lbx = 150\lbx\NEWGAME.LBX; 
This is a ​required file​ that contains updated graphics for the New Game screen. Without it 
the 1.50 exe will crash. This file has been made optional and not a replacement of the 
original file to preserve compatibility with the classic exe’s: This custom file cannot be used 
with versions 1.31 or 1.40. 
 
racesel.lbx = 150\lbx\RACESEL.LBX; 
This file contains the redrawn Darloks button, without letter ‘c’ in the name. 
 
colsysdi.lbx = 150\lbx\COLSYSDI.LBX; 
This file contains the fix for tiny toxic, rad, barren planet colors in the Colony screen. 
 
techname.lbx = 150\lbx\TECHNAME.LBX; 
This file contains a couple of spelling corrections. 
 
include ?150\lbx\$LANG$\$LANG$.CFG; 
Loads a different config dependent on the language set in LANGUAGE.INI. Currently, 
EN.CFG for the English language contains all of the below listed files. For the other 
languages, the config only loads EVENTMSE.LBX. 
 
eventmse.lbx = 150\lbx\$LANG$\EVENTMSE.LBX; 
Contains GNN news fixes. R
​ equired file​. 
 
estrings.lbx = 150\lbx\$LANG$\ESTRINGS.LBX; 
Contains the updated Leader Hire Pop-up texts and some spelling corrections. 
 
hestrngs.lbx = 150\lbx\$LANG$\HESTRNGS.LBX; 
Contains miscellaneous text corrections. 
 
maintext.lbx = 150\lbx\$LANG$\MAINTEXT.LBX; 
Contains a text correction. 
 
rstring0.lbx = 150\lbx\$LANG$\RSTRING0.LBX; 
Deleted ‘used’ that appeared after Robotic Factory in the Industry Summary. 
 

 
 

70 
 

skildesc.lbx = 150\language\$LANG$\SKILDESC.LBX; 
Corrects texts of Leader Skills. 
 
techdesc.lbx = 150\language\$LANG$\TECHDESC.LBX; 
Corrects weapons and specials texts as seen in the Ship Design Dock. 
 
scan_mods = 150\mods; 
Where to search for mods. 
 
include ?150\ENABLE.CFG; 
Contains the mods that are enabled by MOO2 Launcher. Set your desired mods in 
enable.cfg manually when not using MOO2 Launcher. 
 
enable USER; 
Causes USER.CFG to be included after all other mods. See C
​ ustom Interface Settings​. 

USER.CFG 
The config file USER.CFG contains all user specific interface settings. This config can be 
opened from Launchers Edit menu. Below a description of all options and their defaults: 

disable_vsync = 0; 
Screen switches (fade-ins and fade-outs) are faster in 1.50 than in classic. You can make 
them even faster by setting ​disable_vsync = 1​. With this setting screen switches happen 
without delay, greatly speeding up the interface. It might produce some funky colors during 
screen switching from time to time. 

warn_blockers = 0; 
This config parameter allows to skip the “repeat before a product” dialog in the Colony 
Build screen. Depending on this and the ‘Auto Delete Trade Goods/Housing’ setting, 
repetitive items (housing, trade goods or repeat builds) in the queue may be deleted, kept, 
or a dialog will appear asking what to do upon exiting the Colony Build screen. 
 

  warn_blockers = 1  warn_blockers = 0 

Auto Delete = off  ask  keep 

Auto Delete = on  delete  delete 

 
Classic default behaviour was to ask and 1.50 default is to keep. Additionally the ‘Auto 
Delete Trade Goods/Housing’ setting now functions properly when using the ,​ ​ and ​.​ keys to 
cycle colonies in the Colony Build screen. 

info_lbx_menu = classic; info.lbx = 0; 


Setting ​info_lbx_menu​ to ‘ice’ instead of ‘classic’​ a
​ nd loading the corresponding INFO.LBX 
with ​info.lbx = 150\INFO.LBX​ causes the INFO menu to start with the Turn Summary 
instead of the History Graph button: 
 

71 
 

wormhole_color = 4; 
This parameter specifies the index of the color used to draw wormholes. Possible values 
are 0-255. Classic value of 4 is a dark grey (default). Use 10 or 20 for lighter greys. Color 
map: 

disable_physics_updates_ship_designs = 1; 
In classic, ship designs are automatically updated when the physics tech field (laser) 
becomes known. Setting this parameter to 1 (default) prevents this. 

design_button_shield = update; 
This parameter controls if the shield of a ship design is updated to best available or stays 
as is upon clicking the Design button (in Colony Build screen). The default is set to ‘update’, 
which is classic behavior. Alternatively it can be set to ‘intact’, which disables this auto 
update and preserves current designs. 

design_button_computer = update; 
Same as above, but for computer. 

72 
 

clear_button_shield = intact; 
This controls how the CLEAR button in Ship Design (Design Dock) behaves regarding 
shield. The three options are: 
  intact - Don't change shield currently set (default, classic). 
update - Update to the best available. 
clear - Set to none. 

clear_button_computer = intact; 
Same as above, but for computer. Classic is ‘update’, which is inconsistent with shield 
behaviour: It doesn’t remove the shield but puts the best available computer to the design. 
In 1.50 the default is ‘intact’, the same as for the shield. 

missile_ammo = x2; 
Default ammo when selecting a missile in Ship Design. Classic is x5. 

scroll_interval = 2; 
Edge based scrolling in tactical combat has been slowed down, making it useful again on 
fast computers. The scroll delay is controlled by ​scroll_interval​ config parameter which sets 
the number of ticks between scrolling events. One tick is approximately 1/18 of a second. 
We have set the default at 2 ticks. 1-3 ticks should be optimal for most people. Set it to 0 
to experience the original behavior. 

finds_presented_by_scientist = 0; 
If 1, a scientist instead of a trooper presents tech finds from artifacts planets. 

rebel_display = 0; 
Normally rebels are only present on conquered colonies, but as an option a rebel picture 
along with their statistics can be displayed in a colony’s military pop-up by enabling this 
parameter. 
 

73 
 

new_leader_popup2_diff_level = 0; 
Sets the maximum difficulty level for which a second confirmation pop-up is shown when 
you hire or reject a new leader. Default is 1 for Easy level. The parameter is set to 0 in 
user.cfg, so the second pop-up will only be shown on the Tutor level. 

# format version = "Version: $VERSION$" 1 r 587 408; 


If enabled, sets the position of the version number on the Title screen for all mods. 

# format mod_name = "Mod: $MOD$" 1 r 587 422; 


If enabled, sets font size, alignment and position of the config name on the Title screen for 
all mods. 

# format prod = "$TURNS$ turns" 0 l 531 103; 


If enabled, sets placement of turn counter on the Colony screen for all mods. 

# format prod2 = "$TOTAL_PROD$ / $PRODUCT_COST$" 0 r 625 103; 


If enabled, sets placement of stored production and item total production cost on the 
Colony screen for all mods. 

ENABLE.CFG 

This file lists enabled mods. It is generated automatically by MOO2 Launcher every time it 
starts the game, so all manual edits are lost. The MOO2 Launcher defaults are: 
 
enable 150I; (core mod) 
enable MAP1_150i; (map) 
 
If you are not using Launcher and want to play another mod, then edit enables below. For 
example to play ICE-M, comment out the existing lines and write "enable ICE-M;" and 
“enable MAP2_ICE”. 
 
Choices of mods included with the standard pack are: 
 
Core Mod  
enable 150c; Classic 
enable 150i; 1.50 Improved 
enable ICE-M; ICE-M 
enable ICE-X; ICE-X 
enable Melee; Melee 
 
Map 
enable MAP0_CLASSIC; Classic 
enable MAP1_150; 1.50 improved 
enable MAP2_ICE; ICE 
enable MAP2_ICE_MP; ICE MP (multiplayer) 
enable MAP5_GM3;  Goodmap3 
enable MAP5_GM3_MP;  Goodmap3 MP (multiplayer) 
enable MAP6_ORANGE; Orange 

74 
 

Enable MAP7_MELEE; Special 2 player melee map 


enable MAP9_SQUARE; Special 8 player fixed design map 
 
Additional Options 
enable 1_NOSURR; No AI surrenders before turn 1000 

150i.CFG 

This is base config for 1.50 improved. The config contains the following items: 
 
enable MAP1_150; 
This sets the 1.50 improved map as default map in Launcher. If you choose the mod 1.50 
improved in Launcher, then it will automatically select the 1.50 improved map as well. You 
can select any other map manually as you wish. 
 
combat.lbx = 150\COMBAT.LBX; 
Loads updates picture file containing a new greyed Wait button needed for the option 
‘strict combat sequencing = 1’ that is set in tweaks.cfg. 
 
include ?150\mods\150\150i\language\$LANG$\$LANG$.CFG; 
Loads updated Help files for the English language as well as a new Herodata.lbx for all 
languages. 
 
include 150\mods\150\150i\RACES.CFG; 
include 150\mods\150\150i\AISHIPS.CFG; 
include 150\mods\150\150i\ANTS.CFG; 
include 150\mods\150\150i\TWEAKS.CFG; 
Loads the four configs that make up the mod 1.50 improved. All options contained in these 
four files have been described in detail in chapter ​Game Modes​. 

Modding 
Config parameters are many, so not all are listed in this manual. The complete overview 
can be found in EXAMPLE.CFG which is shipped with the patch. Each parameter is listed 
there with some description and minimal usage example. You can also refer to it to 
determine row and column order needed for using bulk notation. Other sources of 
information are the file extract.cfg and mods supplied with the patch like icemod.cfg. 

Switches 

Command Line Switches 


The command lines switches from the 1.40 patch are still supported even though they 
have a config counterpart. Note that switches specified on a command line take 
precedence over those specified in Config. 
   

75 
 

1.31 switches 

Command  Config form  Meaning 


line form 

/skipintro  -  Skips the intro movie. 

/date  -  Displays the version date and exits game. 


 
 
Game rule switches 

Command  Config form  Meaning 


line form 

/noreport  /noreport = 1;  The report button on the diplomacy screen will be 
disabled, preventing you from seeing your 
opponent's technology. Also, Technology 
demands and trades are greyed out. 

/noscan  /noscan = 1;  Disables the scan button in combat. Detailed 


scans of ships will no longer be possible. Only 
quick scans will be possible by mousing over the 
ships. 

/nohousing  /nohousing = 1;  The housing option will no longer be available 


from the build list and housing production will not 
be possible. (The 150% bonus to population 
growth has been removed. It can be set 
separately) 

/droids  /droids = 1;  All players start out with the ability to build 
androids (all 3 types). 
 
The switch /picks was removed because of its range limitation of 10-14 picks. The number 
of picks is accessible via n
​ umber_of_race_picks​ parameter. The rest of the switches affect 
map generation. 

Map Generation 

Map generation switches 

Command line  Config form  Meaning 


form 

/seed=0  -  Seed for random number 


(v1.31 switch)  generator. Valid values are signed 

76 
 

long integer (-2,147,483,648 to 


2,147,483,647). Default is 0. 
Seems to only affect the first 
galaxy map generated and does 
not affect monster placement. 

/nobh  mapgen /nobh = 1;  No black holes on a map. 

/nowh  mapgen /nowh = 1;  No wormholes on a map. 

/nonebula  mapgen /nonebula = 1;  No nebulae on a map. 

/nosplint  mapgen /nosplint = 1;  No splinter worlds unless there is a 


monster guarding it. 

/noorion  mapgen /noorion = 1;  Orion and the Guardian are not 
placed on a map. 

/monsters=255  mapgen /monsters = 255;  Set the number of monsters. The 


(v1.31 switch)  default of 255 means a random 
number will be used. 

/planets=3  mapgen /planets = 3;  Sets the minimum number of 


planets in all home systems. Valid 
values are 1-5, the default is 3. 

/minstart  mapgen /minstart = 1;  The unoccupied planet closest to 


the star in all home systems will be 
at least 2 production per worker to 
a normal G race. 

/hugestart  mapgen /hugestart = 1;  The unoccupied planet closest to 


the star in all home systems will be 
Huge and its gravity will match 
that of the homeworld. 

/richstart  mapgen /richstart = 1;  The unoccupied planet closest to 


the star in all home systems will be 
Rich and its gravity will match that 
of the homeworld (this parameter 
is ignored if /​ goodstart​ parameter 
is specified). 

/goodstart  mapgen /goodstart = 1;  The unoccupied planet closest to 


the star in all home systems will be 
Ultra Rich and its gravity will match 
that of the homeworld. 

77 
 

Note: The switches /minstart, /hugestart, /richstart and /goodstart all affect the same 
ONE planet and their effects are cumulative. 

Mapgen.exe Based Parameters 


These parameters are modelled after the original implementation of the program 
'mapgen.exe' by TF8. In this patch there is no need for launching external mapgen.exe 
against a saved game and then reloading it. All mapgen settings are specified in config and 
apply each time you generate a map. Note that there is no command line counterpart for 
these parameters. 
 
For all parameters the first letter represents its type: 
-t Terraform 
-s Specials Change 
-m Monsters Change 
-b Balance Galaxy 
 
mapgen -ttoxic = 1;  Toxic planets become radiated. 
 

mapgen -tupoor = 1;  Huge Ultra Poor planets becomes Poor. Other Ultra 
Poor planets become Abundant. 
 

mapgen -tlowg = 1;  Low Gravity planets become Normal Gravity. 

mapgen -theavyg = 1;  Heavy Gravity planets become Normal Gravity. 

mapgen -ttiny = 1;  Tiny planets become randomly from Small to Large. 
Except if -​ tsmall​ flag is used they become Medium. 

mapgen -tsmall = 1;  Small planets become medium. 

mapgen -sarti = 1;  Arti planets still exist, but don't give techs anymore. 

mapgen -shero = 1;  All stars on the map that contain a hero become 
brown color, while brown stars without heroes 
become red color. 

mapgen -smarooned = 1;  Marooned leaders are replaced by Pirate Caches. 


(Not in the original mapgen.) 

mapgen -snatives = 1;  Natives are replaced by Gold Deposits. 

mapgen -ssplint = 1;  Splinters are replaced by Gem Deposits. 

mapgen -mgrav = 1;  Guarded planets become normal gravity. 

mapgen -mterraform = 1;  Guarded Rich & U-Rich planets are terraformed: 
Toxics, Rads, Barrens, Deserts become Tundra. 

78 
 

mapgen -mmonst = 1;  Forces -​ mgrav​ and -​ mterraform​. 

mapgen -tflathw = 1;  Flattens unoccupied planets in home systems. They 


all become Abundant. Size is set in order: Large, 
Large, Large, Medium until there are no more 
planets to modify. Toxics and Rads become Barren 
and Gaia’s become Terran. If your homeworld is 
Low-G or Normal-G, then all other planets will get 
the same gravity. If it is Heavy-G, all others become 
Normal-G except for one planet which becomes 
Heavy-G. 

mapgen -tfixedhw = 1;  Forces -​ tflathw​. Planets become: Large Abundant 


Swamp, Large Abundant Arid, Large Poor Tundra, 
Medium Poor Terran. If your homeworld is Heavy-G, 
then Swamp becomes Heavy-G. 

mapgen -tgaia = 1;  Does not​ imply ​-tfixedhw​. Fifth planet becomes 
Small Poor Gaia unless you are creative, aquatic or 
tolerant in which case it’s Medium Poor Terran. 

mapgen -trichhw = 1;  Makes first unoccupied planet Rich. 

mapgen -thugehw = 1;  Makes first unoccupied planet Huge. 

mapgen -tgoodhw = 1;  Forces -​ trichw a


​ nd -​ thugehw​. Makes first 
unoccupied planet Terran. 

mapgen -bshowring = X;  Specifies radius in parsecs (X); all planets closer to 
their HW than X are revealed to players. 

Number of Stars per Galaxy Size 


With the s​ tars_in_galaxy​ table the amount of stars can be set per galaxy size. The wide 
range of settings allows special galaxies to be generated, for example a small galaxy with 
only 3 stars. Keep in mind that certain settings can cause the game to stall during the 
galaxy generation phase. For example it won’t work, if you start a new game with 8 players 
in a medium galaxy that is set to contain only 6 stars. 

Planet Food and Minerals 


Base food per farmer and mineral classification (Ultra Poor - Ultra Rich) can be set in 
config. Note that the Orange2 and GoodMap maps have Ultra Rich set at 7 prod per 
worker instead of 8. 

Planet Specials 
With ​planet_special_weighted_chance​, the chances for Wormholes, Natives, Deposits, etc. 
become configurable. All values combined should add up to 100 here. 

79 
 

Population 

Population Capacities 
Two parameters modify population capacities for each planet type: 
 
pop_base = 5 10 15 20 25; 
pop_climate = 25 25 25 25 25 25 40 60 80 100; 
 
The screenshot below from MANUAL_150.XLS highlights these values in blue: 
 

Subterranean and Tolerant 


With ​pop_bonus_subterranean​ and p
​ op_bonus_tolerant​ the bonuses for respective racial 
traits can be set.  

Biospheres and ACP 


The Biospheres and Advanced City Planning bonuses can be set via separate parameters 
pop_bonus_biospheres​ and ​pop_bonus_advanced_city_planning​.  

Android Morale & Cost 


With classic settings, only the Android worker is affected by morale. Each android type can 
now have morale on or off. With the parameter ​android_morale​ all 8 variants can be set. In 
addition the cost of each toaster type can be set with: 
 
misc_costs android_farmer = 50; 
misc_costs android_worker = 50; 
misc_costs android_scientist = 50; 

Buildings 

The build and maintenance cost of buildings can be configured. Take the cost of Armor 
Barracks for example. The default cost is 150 PP and 2​ BC/T maintenance, which is quite 
expensive for a few cool tanks or Battleoids. It can be lowered by writing: 
 
building armor_barracks cost = 60; 
building armor_barracks maintenance = 1; 
 

80 
 

Or alternatively: 
 
building armor_barracks cost = 60 1; 

Initial Buildings 
The number and types of buildings that each colony has built at game start depends on: 
- Starting tech level (Pre-warp, Avg, Post-warp, Advanced), 
- Population size of a colony. 
- Known techs and 
- Priority listing in the table i​ nitial_buildings. 
 
The number of starting buildings on each colony is capped to 3 for Prewarp, 5 for 
Average/Postwarp and 9 for Advanced game starts. Apart from cap, colonies with more 
population start with more buildings, the maximum number of buildings (not counting the 
Capitol) is ⅔ pop rounded up. For example a HW with 8 pop can have 6 buildings on 
Advanced Tech start, but only 5 on Average start due to the cap. 
 
Prewarp and Average Tech games only start with Marine Barracks and a Star Base 
because no other techs are Known that are also in the default initial buildings list. If, for 
example, Colony Base building is added to the i​ nitial_buildings​, it will be given to all 
players’ homeworlds at game start.  
 
The ​initial_buildings​ is a strict list, in that the game starts at entry 1, checks if it’s allowed to 
place it and works its way down. The default list order potentially causes 1-3 pop colonies 
on Advanced to start without Marine Barracks because the first two list items are a satellite 
(#1-3) and Hydroponic Farms (#4). Marine Barracks is entry #5. See MANUAL_150.XLS for 
further details. 

Productivity 

Productivity bonuses 
Config allows setting of all building and achievement bonuses for food, production, 
research, money and morale. 

Weather Controller 
The parameter ​weather_control_climate​ sets the minimum climate where weather 
controller can be built. As an exception, setting Radiated, will disallow the building only on 
radiated worlds (and not on both toxic and radiated worlds). 

Biomorphic Fungi 
Biomorphic Fungi normally add +1 to farming on non-farming worlds. Parameter 
fungi_climate​ allows to choose its behavior from 3 options: 
classic - affect only non-farming worlds 
reversed - affect only food-producing worlds 
united - affect all kinds of worlds 

81 
 

The +1 bonus can be changed using f​ ood_bonus biomorphic_fungi​. Note, that this bonus is 
in half-food units, so setting it to 1 corresponds to +½ food per farmer. 

Food Replicator 
With ​replicator_food_cost_no_bc​, the 1 bc cost per 1 food is removed. 

Toxic Planet Terraforming 


With parameter ​terraform_toxic_building​, the building can be specified that will cause a 
Toxic climate to convert to a Barren one. In the 150 improved mod, this was set to 
Weather Controller, which can only be built on Toxics when Biomorphic Fungi technology 
is Known. Setting this to Terraforming or Gaia Transformation will not work, since those 
two cannot be built on a Toxic planet. 

Pollution Processor and Atmosphere Renewer 


Ratios can be changed in Config. Note that the effects of Pollution Processor and 
Atmosphere Renewer are applied b ​ efore​ Pollution Exempt Production is subtracted from 
the remaining worker production. 

Nano Disassemblers 
Production generates pollution and a base rule is that half of any production of your 
workers (including Robotic Factory output) will be used to clean up the pollution (rounded 
up) and the remainder is usable production. Every planet however is inherently tolerant to a 
certain level of pollution, and the size of that the "pollution exempt production" depends on 
the size of your planet. Nano Disassemblers technology doubles this value: 
 
B
​ase​ N
​ano’s 
Tiny 2 4 
Small 4 8 
Medium 6 12 
Large 8 16 
Huge 10 20 
 
This multiplier ‘2’ can be tweaked in Config with ​nano_disassemblers_coeff​. 

Ships and Satellites 

Hull Table 
With the Hull Properties table, the cost and available space can be set for all ship classes 
and available space (not cost) for all three satellites. In addition, hit points for armor, 
structure, computer, drive and shields can be set, as well as the number of marines 
onboard. For strategic games, the number of beams, missiles, special weapons and bombs 
can be set as well as the defensive bonus and hit points. 

Alternative Refit Formula 


The classic refit cost is calculated as the larger of e
​ ither ​twice the difference of the old and 
new cost (the delta) ​or t​ he minimum refit cost, where the minimum refit cost is a quarter of 
the hull cost: 

82 
 

 
cost = max(2*delta, min_refit_cost) 
 
delta = abs(new_cost - old_cost) 
min_refit_cost = ¼ standard hull cost. 
 
alternative_refit = 1​ sets a new refit formula, which calculates the cost as one time the 
delta cost (with a minimum of 0) ​plus​ the minimum refit cost: 
 
cost = max(delta, 0) + min_refit_cost 

Disabling of Engine Explosions 


Setting parameter ​broken_engine_explodes = 0 ​will prevent ships explosion due to 
destroyed engine. Ships with engine destroyed normally will just stay in battle. 
Self-destructing a ship will not cause an explosion. Intended for testing purposes. 

Lander Ships Use Stealth *​ * 


Lander ships are Colony Ship, Outpost Ship and Transport. The table 
lander_ship_uses_stealth​ controls whether to install best stealth device available on 
landers. You can control this separately for each lander type. 

Lander Ships Cost Table 


Allows to set build costs for Colony Ship, Outpost Ship and Transport in config. 

Lander Ships Size Class 


Allows to set size class for lander ships in config. 

Satellites Use Torpedoes 


Setting ​satellite_can_use_torpedoes = 1​,​ ​will arm satellites and missile bases with 
torpedoes if available. Available mods can be configured with ​defenses_allowed_mods​. For 
balancing the ratios of missile/torpedoes on satellites versus on a missile base the 
parameters s​ atellite_ammo_basis a ​ nd m
​ issile_base_ammo_basis ​have been introduced. 

Special Systems 
With the Star Base specials priority list ​starbase_special​ 15 specials can be set to be fitted 
in a satellite, of which up to 8 specials are fitted if available. Specials are not mutually 
exclusive here, except for slots 5a, 5b, 5c, of which only the highest ranked available 
special will be fitted. 

Satellites Get SD bonus 


If ​satellite_racial_defense_bonus​ is set at 1, the racial Ship Defense bonus will also apply to 
satellites and planetary bases. 

Satellites Get Warlord bonus 


If ​satellite_warlord_bonus​ is set at 1, the Warlord bonus will also apply to satellites and 
planetary bases and their crews will be of veteran skill level. 

83 
 

Defensive Range 
Added ​defensive_range_bonus​ that sets a range bonus in 3-square range units to improve 
the range beam weapons on satellites and planetary defenses. 

Captured Satellites Live 


With the option s​ atellite_capture = 1​, a satellite that has been captured in battle, remains 
as a colony building if the colony is captured right after the battle. This option is off by 
default, which makes satellites impossible to capture, an intended classic behavior. 

Command and Scanning 

Command and Communications 


Command usage per ship’s size class can be configured with 
ship_command_points_usage​. Note, that Lander ships size class is 0 (frigate) by default. 
Command bonuses for satellites and communication technologies can be set with 
command_points​. Communications ranges can be customized with 
ship_communication_range​. 

Scan Table & Stealth Tables 


All detection-related values are now configurable. Overmap scan and stealth bonuses can 
be configured using: 
 
scan_bonus <modifier> = <value>; 
stealth_bonus <modifier> = <value>; 
 
This allows to set distinct stealth bonuses for racial trait Stealthy Ship, and each of 
specials Stealth Field, Cloaking Device and Phasing Cloak. Use tab ‘Detection’ in the 
addendum to calculate the effects of custom settings. 

Ground Defenses & Marines 

Ground defenses Table 


Ammo space for Missile Base and Ground Batteries can be modded. Number of flyers per 
turn and ammo for Fighter Garrison can be set, as well as the frequency of replacements. 
Also the number of Stellar Converters and more can be set. 

Planetary Damper Field ​** 


Parameter p ​ lanet_damper​ enables Damper Field to be used on planetary defenses instead 
of regular shields if available. This is cumulative with planetary shield if it’s present, but 
doesn’t reduce the damage when there is no defensive buildings left (similar to regular 
shields). 

Ground Defenses Hit Points 


The parameter ​ground_defense_armor_multiplier​ allows to modify the base 100 hit points 
to a maximum value of 127. 

84 
 

Civilian Hit Points 


By default civilian structures (buildings, colonists, etc.) have 100 hit points each. As an 
option, with the table c​ ivilian_armor​ the hit points can be changed per individual amor 
technology. 

Bonuses 
With the t​ roop_type,​ t​ roop_bonus a
​ nd ​rifle_bonus​ tables most combat bonuses and hits of 
troops and marines can be configured. 

Weapons 

Weapons Table 
Enables modding of cost, space usage, minimum and maximum damages. You can also 
change weapons’ mods, both inherent (like Neutron Blaster’s marine killing ability) and 
regular ones, obtained with miniaturization (like autofire). 
 
For example lowering Plasma Cannon min/max damage from 6/30 to 4/20: 
 
weapon plasma_cannon minimum_damage = 4 20; 
 
To remove the continuous mod from Plasma Cannon its mods mask: 
 
00000000000010010 (18 in decimal) 
 
needs to become: 
 
00000000000000010 ( 2 in decimal) 
 
So write: 
 
weapon plasma_cannon available_mods = 2; 
 
or alternatively (starting 0 indicates a binary number): 
 
weapon plasma_cannon available_mods = 010; 
 
And combined you can write: 
 
weapon plasma_cannon minimum_damage = 4 20 6 24 2; 
 
Where ‘6 24’ are unchanged damage values for strategic games. 
 
Note that changing ammo values for weapons in this table can have unexpected effects 
(bugs). Tab ‘Weapons’ in MANUAL_150.XLS has an overview of all weapons mod flags. 

85 
 

Missiles Defensive Bonus 


Missiles receive a defense bonuses depending on their type. These bonuses can now be 
modified with ​flyer_combat_modifier​. Merculite Missile for example is: 
flyer_combat_modifier merculite_missile_defense_bonus = 15​, for a default bonus of +15. 
This bonus is added to the beam defensive the missile receives from its speed (speed * 5). 

Plasma Torpedo 
Plasma Torpedo became moddable: 
● Added p ​ lasma_torpedo_dissipation t​ o set plasma torpedo per travel square 
dissipation (5 by default). 
● Speed has been made tunable via s​ peed_base plasma_torpedo​. 
● Damage has been made tunable via w ​ eapon​ table. 
Although w ​ eapon​ and ​speed_base​ tables are not exclusive to plasma torpedo they are 
mentioned here because along with ​plasma_torpedo_dissipation​ they could trigger two 
hidden bugs described below. Both bugs don’t occur in unmodded classic since classic 
values for plasma torpedo don’t trigger them. Both bugs are fixed in 1.50: 
● Fixed incorrect dissipation on impact. This happened when non-NR plasma torpedo 
survived more than one turn. For such torpedo dissipation was calculated as if 
torpedo was fired on the turn of impact. So if torpedo flies 20 squares on turn 1, 
then 3 squares on turn 2, and then hits the target, it loses 3 * 5 = 15 damage points 
by dissipation, not 23 * 5 = 115 as it should have. Note, that in unmodded classic 
this is impossible since plasma torpedo dissipates fully in one turn. 
● Fixed instant dissipation on launch. When ship initiative is on and m ​ issile_initiative 
is set to​ -1​, Plasma Torpedo would sometimes dissipate instantly when fired. This 
happened for some speed/damage combinations but not for others. For classic 
speed and damage the bug didn’t occur. 

Proton Torpedo 
It’s default range is 24 squares which can be set with ​proton_torpedo_range = 8​, where 
each range unit equals 3 squares (24 = 8 * 3). Travel speed is limited to the value set in 
speed_base proton_torpedo​ if p ​ roton_torpedo_apply_speed_base i​ s set to 1.  

Fighters 
Several aspects of fighters’ behavior were made configurable. 
● In classic Fighters used normal mount beams instead of Pd. Now you can make 
them use Pd by setting f​ ighter_uses_pd = 1​. Note that fighters’ Pd damage is 
rounded up, in the same way as for ships. 
● In classic Fighters used to deal up to listed damage +1 damage by any weapon but 
Mass Driver. For example a Fusion Beam fired from a Fighter can do max 7 damage 
instead of 6. You can cap fighter’s damage to weapon’s maximum by setting 
fighter_beam_no_plus_one = 1​. Despite being most certainly a bug, the original 
behaviour was preserved as an option for compatibility with certain classic 
strategies. 
● By default, Fighters get an offense bonus of +50. This bonus can be changed using 
flyer_combat_modifier fighters_offense_bonus​. 
● The number of shots each fighter has can be configured with f​ ighter_shots​. 
86 
 

Heavy Fighters Can Target Missiles 


As an option, Heavy fighters can be used as regular ones for fighter/missile interception if 
heavy_fighter_can_scramble = 1​. They attack flyers using their beams only. This is enabled 
by default in 1.50 improved. 

Black Hole Generator 


By default, ships caught in a Black Hole can be boarded by enemy troops. We couldn’t not 
help but wonder: Why are troops able to go into a black hole, board & fight on the enemy 
ship, then escape that black hole and return safely to the mothership? If you wonder as 
well, set b
​ oard_in_black_hole = 0. I​ f boarding to BHG immobilized ships is disabled, 
boarding f​ rom​ such ships is prohibited too. Note that the AI will not self-destruct such 
ships to avoid capture. 

Plasma Web Dissipation Mode *​ * 


A new setting for the Web, p​ lasma_web_dissipation_step = halve​, where the total damage 
done by existing webs halves each turn, instead of decreasing by -5 (​= minus5​). When you 
choose halve, the maximum damage per turn can not grow larger than 2x the initial 
damage, while for the classic setting the damage keeps increasing until the ship is 
destroyed or the end of combat is reached. Especially when firing multiple Webs per turn, 
the damage potential can grow really large. Below table compares both settings for 
shooting a single Web and shooting 8 Webs each turn at the same target. 
 

Spatial Compressor 
Added ​compressor_per_size_class_damage​ p ​ arameter which enables optional per size 
class damage increase for Spatial Compressor (larger ships receive more damage and 
smaller ones less). This is similar to how pulsar normally works. 

Spherical Weapon Ranges 


Ranges can be defined with s​ pherical_range_to_ship​ and ​spherical_range_to_missile​. 

87 
 

Weapon Arcs and Mods 


The cost and space of arcs and of each mod can be set with ​arc_cost_and_space ​and the 
table ​mods. ​With m
​ ods_available​ individual mods can be enabled or disabled for the 
groups Beams, Missiles and Torpedoes. 

2x Range Penalty 
This somewhat obscure inherent mod used to cause a question: what essentially does it 
do? Nothing? Penalizes accuracy? Penalizes damage? Technically this inherent mod was 
properly penalizing accuracy, and was for example supposed to balance Plasma Cannon, 
by making it a very powerful weapon but only at a short range. That didn’t work as 
intended though. Perhaps the 2x penalty has more sense affecting the dissipation instead. 
Therefore, 1.50 allows the choice between both ways, or a combination: 
● 2x_range_accuracy_penalty​, double accuracy penalty for the 2x weapon mod 
(original, default); 
● 2x_range_damage_penalty​, double damage dissipation for the 2x weapon mod. 

Enveloping Mod 
Setting ​planet_non_enveloping = 1​ disables the enveloping weapon mod against a planet 
(except Stellar Converter). 

Inherent Mods 
Several inherent mods now also work for missiles/torpedoes: 
#0 Shield damage only (‘Zeroth’), 
#3 Internal systems damage (Ion), 
#4 Kills marines (Neutron), 
#5 Extra structural damage (Graviton). 

Marine Kill Damage 


Parameter m
​ arine_kill_damage​ sets the amount of damage needed to kill 1 marine. 

ESD Flag 
The bonus of the Extra Structural Damage flag (Graviton Beam) can be set in config. Extra 
Structural Damage subtracts the ESD value from a ship’s structure (not a damage dealt 
technically, similar to Spatial), while the regular damage part is just a usual damage, like 
from most other weapons. 

Zeroth Weapon Flag 


The zeroth weapon flag has been made usable. It was intended as anti-shield weapon flag 
but ended up unfinished and unused by the developers. No weapon in classic game has 
this flag enabled, so this is strictly a modding matter. In 1.50, a weapon with this flag set 
will not damage planets and ships armor or structure, but will damage missiles, fighters 
and ship shields. This flag can be used not only for beam, but also for missile weapons. E.g. 
it is possible to create powerful anti-shield only torpedoes, that are otherwise 
non-harming. As an exception, a weapon with this mod ​and​ the shield piercing mod will 
ignore hard shields. This combination will not damage ships at all, thus serving as a strictly 

88 
 

anti-missile weapon. A beam weapon that has this flag enabled is never installed on 
Fighters. 

Defensive Fire 

Defensive Fire is a special ability of regular mount beams, intended to give an inactive 
player some defensive means during the active player’s move. Every ship equipped with 
such beam is performing checks every time an enemy ship moves using a pre-calculated 
value, the “Defensive Fire Range”, that is the closest distance s​ ome e
​ nemy ship can move 
to that ship. The closer the moving ship position to that value - the greater chance the 
Defensive Fire will occur, and if that ship will reach DFR - the chance becomes 100% (as 
its “most optimal time” to use the guns, no other ship can move ​closer ​from now). The 
following table summarizes chances for defensive fire to occur: 
 

 
 
Sadly in combat with ​ship initiative​ enabled the whole mechanic was plagued with bugs, 
which rendered it inconsistent and incomprehensible: 
● As DF wasn’t adapted to ship initiative mode at all, the DFR value controlling its 
behaviour was calculated only once per turn, at the end of it. It was suitable for 
non-initiative combat, as a player cannot move own ships during the opponent's 
turn, so even calculated only once, this value was correct. But when both players 
share the same turn, the DFR had to be updated after every ship’s move (as it’s 
about relative distance between ships). 
● As the DFR value originally had meaning only during the opponent’s turn, when the 
non-active player cannot move own ships, the DFR value itself was corrupted 
during AI-controlled move for that ship (assumed that when it will be actually 
needed - it will be already recalculated by that time). So in a shared combat turn, 
AI-controlled ships had lost their DFR values after they performed any move action 
and used some wrong values for the rest of that turn. 
● A bug in the range calculation prevented DF from happening in case when a 
moving ship’s start position was out of Normal beams range, or its destination 
position was too close to a DF ship. 
● Ship retreat procedure was incompatible with DF when ship initiative is on. 
Retreats could cause DF, but some ships were able to retreat prior to other ships 
get their weapons recharged. Example: ship A is attacked by ships B and C and 

89 
 

chooses to retreat on the first turn. The retreat takes place at the beginning of turn 
2, ship A is processed first as defender and retreats. B and C do not fire since their 
weapons are not recharged yet. In the same example if A was the attacker then 
both B’s and C’s weapons are recharged before A retreats, so they fire at A when it 
turns to fly away. 
● Not a bug but a mechanic’s flaw, was the intention of the effect to be applied only 
to beams that a player did not use during his own turn and were not turned off. As 
a result it couldn’t happen on the first turn of battle. Note that this effectively means 
only the first turn of attacker in non-initiative combat it. Defender ships were unable 
to perform DF at all, but during Defender’s first turn (second turn), attacker’s ships 
with Normal beams ready were able to fire. With shared turn (when initiative is on) 
it meant that DF could not happen at all during the first turn. As players are indeed 
unable to show their intent about keeping beams on or off, as a new rule DFR value 
is three times lower for that first turn, so chance of fire is lowered in comparison, 
but ships will still fire if a target moves too close. 
 
All of the above problems have been fixed in 1.50. However, because the whole mechanics 
was so severely bugged for all the years, and it was impossible to improve on it while 
keeping the “original feel” in combat, we have turned DF off by default for games with ship 
initiative on and added the parameter d ​ efensive_fire​, that controls whether DF is enabled 
or not in INI games. With INI off, DF is always on as it was in classic. 
 
In addition, the parameter d​ efensive_fire_max_range​ can limit the range at which DF is 
operative, and ​alternate_defensive_fire​ can be used to set a more straightforward static 
chance dependency on a range between 2 ships. Note, that rolls happen per travel square, 
but probability is set per 3 squares, so the chance of triggering fire is different between 
entering the range and passing through it. The chances per range can be set with 
alternate_defensive_fire_range​. 

Special Systems 

Specials Table 
Enables modding of space and cost values per size class of ship. Mutual exclusivity of 
special systems is also set here. 

Augmented Engines 
Combat speed bonus is configurable via a
​ ugmented_engines_speed_bonus​. 

Automated Repair Unit 


The repair rate for Armor and Structure can be adjusted using r​ epair_rate​ table. The repair 
rate for Internal Systems is defined as percentage of that rate via s​ ystems_repair_percent 
(50% by default). 

Battle Pods and Combat Speed 


When Battle Pods are fitted on an otherwise empty ship, that ship gets a bonus to its 
combat speed. That bonus is gradually lost with fitting more stuff on the ship and the 

90 
 

minimum combat speeds of ships with and without Battle Pods are equal. If the parameter 
battle_pods_speed_bonus​ is set at 0, ships will not get this speed bonus.  
 
In addition, ​minimum_combat_speed​ sets the minimum combat speed of a ship, excluding 
Augmented Engines, controlling the maximum overload speed decrease possible when 
battle_pods_speed_bonus = 0​. ‘Overload’ being a speed decrease from the extra stuff that 
can be fitted in the Battle Pods space. By default it’s set at 255, not allowing combat speed 
to decrease due to overloading the ship. If another value is chosen, it determines the 
minimum combat speed that a ship cannot go below due to overload. For example: if set as 
5, it will prevent an overloaded Nuclear Drive frigate with a base minimum speed of 10 to 
become slower than 5, while a Nuclear Drive doomstar with a base minimum speed of 3 
cannot become slower than 3. 

Battle Scanner 
Both its scan range and its beam attack bonus can be configured. Use ​scan_bonus 
battle_scanner​ and c​ ombat_bonus battle_scanner_beam_offense ​respectively. 

Option for Continuous BHG 


BHG is a continuous weapon by nature, because if the generator is destroyed its target is 
freed. But unlike other such weapons (tractor beam and stasis field) it’s possible for a 
single BHG to affect two or more ships at the same time. This makes calculations of 
number of freed targets somewhat inconsistent. Example: 
● You have ship A with 2 BHGs. 
● Enemy ships B and C are both inside black holes created by A. 
● One of generators on A is just destroyed. 
In this example one ship (say B) will be freed from BHG but C will be not, as you still have 
one generator functioning (so not enough to hold two ships). In similar example if you had 
second generator destroyed earlier you still could have B and C in black holes using just 
one generator (attacking B on turn 1 and C on turn 2 for example). To solve this 
inconsistency c​ ontinous_bhg​ option was introduced. If enabled, BHG becomes similar to 
stasis in that you can’t use BHG on other ships as long as its current target is alive and 
affected by BHG. 

Stealth Field as a Cloak 


By setting a value >0 for stealth_field_beam_defense = 0, Stealth Field will act as a 
Cloaking Device in combat, with the set value adding to a ships beam defense while 
cloaked and missile miss chance equal to that of the Cloaking Device (default = 50). 

Cloaking Device 
Optionally with c​ loaking_device_missile_defense = 1​, a Cloaking Device adds to the missile 
evasion bonus instead of using ‘miss chance’ mechanics. If enabled, the missile evasion of 
an ECM Jammer + Cloaking Device equipped ship becomes 120, which means that non 
ECCM missiles will always miss instead of having 15% chance to hit (0.5*(1-0.7)), while 
ECCM missiles get a slightly better chance to hit of 40% versus 32.5% (0.5*(1-0.7/2)). 

91 
 

Phasing Cloak 
Setting timeout counter to 0 now have a different effect -- equipped ships will start a 
battle in regular cloaking state instead of one turn in phasing state. 

Different Cloaks Compatible on One Ship 


Under classic rules ship can have only one device enabling combat cloaking (Cloaking 
Device or Phasing Cloak). Now it’s possible to have both of them on one ship. Normally 
Phasing Cloak will apply its bonus, but if it’s destroyed Cloaking Device will apply its bonus 
instead. Note that this does not override specials’ exclusions and by default you still can’t 
install both devices on one ship. To do that you’d need to mod exclusions via ​exclude1, … , 
exclude6​ columns of the ​special ​table. 

Damper Field 
The remaining damage percent after applying damper field damage reduction is set with 
damper_field_ratio​, that is 25% by default. Damper Field also distorts a transporter beam 
attempting to move troops onto the equipped ship, killing a portion of troops instantly. The 
ratio total troops / survivors can be set with ​damper_kill_ratio​. Default value is 3 (meaning ⅓ 
of troops survive transportation) and valid values are 0-127. Setting this parameter to 0 
will result in Damper Field preventing use of transporters for boarding. 

Energy Absorber 
● The setting a ​ bsorber_keep_charge​ prevents charge loss at end of turn for 
non-​initiative​ games so that it can be fired on another turn. Note that in combat 
with INI, a charge is always kept regardless of this setting. 
● Damage reduction now is configurable with a ​ bsorber_damage_reduction​. 

High Energy Focus Bonus 


The High Energy Focus (HEF) description states that it increases beam weapon damage by 
50%. But when the game calculates those 50% it uses damage of the normal mount and 
then adds it to the damage of actual mount. Thus a Pd weapon becomes twice as powerful 
and heavy weapons becomes only 1.33 times more powerful. This is usually considered a 
bug and has been corrected in 1.50 improved. Config allows to customize HEF and regular 
mount bonuses using ​mount_dmg ​table. Note that HEF has no effect on a Stellar 
Converter. 

Lightning Field 
Lightning Field roll is buggy, which leads to ⅓ instead of ½ missiles / fighters being killed on 
average. The distribution is also asymmetric and yielded different results depending on the 
size of missile stack. E.g. 8 missiles fired one by one and 8 missiles fired in one group had 
significantly different survival rates. Setting ​lightning_field_mode = uniform​ results in a 
binomial distribution for the amount of missiles killed. This means that on average ½ of a ​ ll 
incoming missiles / fighters will be killed. The default setting of 50% kill chance can be 
configured via the l​ ightning_field_ratio​ parameter. 

92 
 

Megafluxers 
The space bonus for Megafluxers can now be tuned with ​megafluxers_tactical_bonus​, 
which gives +25% space to a ship by default. This technology works differently in strategic 
mode, where its adds +50% to the number of beams on a ship. The result is rounded 
down, causing the 1 beam Frigate to get no extra beam. This bonus can be altered with 
megafluxers_strategic_bonus​. 

Scout Lab 
By setting ​lab_and_lore_against_antarans = 1​, Scout Lab (and the Galactic Lore skill) will 
also provide its combat bonus when fighting against Antarans. The research bonus for the 
lab depends on the size class of the ship and can be configured via 
scout_lab_research_bonus t​ able. 

Sub-Space Teleporter 
● The original square jump range seems like a bug, but was kept since it has become 
a known and distinctive feature. Optionally, setting r​ ound_teleporter​ makes the 
teleporter jump area approximately round (octagonal). 
● With s​ ub_space_teleporter_range​, the range can be set to a custom value. 

Structural Analyzer 
The Structural Analyzer bonus can be configured using ​analyzer_bonus​. 

Shields 

All aspects of Shields can be fine tuned in Config:  


● Shield class, space and cost via the s ​ hield​ table 
● Shield strength via the s ​ hield_hull_multiplier​ table. 
● Shield regeneration for standard shields (30%) and Shield Capacitor (100%). 
● Multiphased shields bonus (+50%). 
● Hard Shields (+3). 

Miniaturization Table 

A per-tech miniaturization group table t​ ech_mini​ enables assigning technologies to another 


miniaturization group. 

Research & Spying 

Spying Related Parameters 


misc_costs spy 
Sets spy cost. 
 
spy_govt_bonus 
spy_tech_bonus 
Spy bonuses for Governments and Technologies. 
 

93 
 

spy_roll_success_threshold 
Table containing thresholds for values for successful spy rolls of stealing and sabotage and 
if another race was framed. 
 
steal_mode 
In addition you can specify what spies can steal. Normally, an exception is set for spies so 
they will not be able to steal any tech of the technology field that is currently being 
researched. 1.50 provides alternatives via s​ teal_mode​: 
except_current_field - classic behavior. 
except_current_tech - relaxed version of classic. 
anything - anything, including tech currently being researched. 
 
spies_can_frame_anyone 
By default, another race can only be framed for espionage if it is n​ ot​ in possession of the 
stolen tech. Unknown why this rule was introduced, but it does allow you to check via race 
reports (with exceptions) if the named race was indeed the one that has stolen your 
technology. Enabling this parameter overrides this requirement. 

Tech Tree 

The Tech Tree can be modded both by moving technologies to different fields in the tech 
tree, as well as by changing the techfields themselves. A little more care is appropriate 
when modding this area of the game to prevent crashes from occurring. Some tips: 

Notes on techfield modding: 


1. A broken chain of techfields within a branch, will cause a game crash. 
2. The first tech field in each branch is always tech field 0 'Starting Technology'. 
3. The field in position 0 and the techs that are in it, are always assumed known. 
4. Thus, each first 'real' field in a branch should have prev_field set at 0. The eight 
branches / categories of technology each has a specific starting field. These starting 
fields are keyed to fixed positions in the techfield list. Positions 29, 55, 22, 10, 28, 
18, 57, 7 in the displayed category order: Construction, Power, Chemistry, 
Sociology, Computers, Biology, Physics, and Force Fields as default, and can be set 
using s​ tarting_techfield​. 
5. In seven of the categories (all except Construction) the starting field is the 
category's first Researchable field, i.e. it's the field that you see in that category 
when you open the research screen in a Prewarp game. By default the field 
Engineering is Known. Thus, MOO2 starts with two already Known fields, the 
(Starting) field in position 0 and the (Construction) field in position 29. Table 
prewarp_techfield s​ ets 6 tech fields in order of applying, that will be Known at start 
of the Prewarp (first value only, normally 29) or Average/Advanced (all 6 values) 
game.  
6. Each branch should end with their generic 'hyper advanced' fields (field numbers 
75-82). 

   

94 
 

Example techfield mod: 


Move Field 46 from the ‘Power’ branch to ‘Fields’ and rename it to ‘testername’. 
 

 
 
becomes: 
 

 
 
Requires the following lines: 
tech_field anti_matter_fission next_field_id = 37; 
tech_field high_energy_distribution prev_field_id = 13; 
tech_field magneto_gravitics next_field_id = 46; 
tech_field matter_energy_conversion prev_field_id = 45 27 1150 8; 
tech_field electromagnetic_refraction prev_field_id = 46; 
tech_field_name matter_energy_conversion = "testername"; 
 

95 
 

Notes on modding technology positions: 


1. To remove a tech entirely from the game, set its tech field number in the tech table 
to -1, like its done by default for the Phase Shifter technology: 
tech phase_shifter = 125 -1 38 0; 
2. To make a tech known from the start, assign tech field number 0 to the tech. 
3. Empty tech fields will lead to a crash at the start of a new game. Keep in mind that 
an empty tech field can have several causes: 
i. You have not placed any techs in a field during your design. 
ii. The game deletes certain techs for certain race abilities, for example: food 
techs will be removed for Lithovore races. 
iii. The game deletes certain technologies for Strategic games, for example 
Battle Pods or indeed also Phase Shifter. The relevant techs have a 0 in 
fourth column of tech table (see above example). 
4. Star Bases follow their own rules and have a best beam and best missile fitted even 
if you actually do not have any beam or missile tech. 
5. Changing tech positions might break the Post-warp Techtree. The table 
postwarp_tech​ was added to defines a set of up to 29 Known technologies at the 
start of a Post-warp game. The first 7 techs in this list are excluded in strategic 
mode. 

Custom Names 

Names for some game objects can be specified in config. Such names override names from 
LBX. If no name is given in config (name is set to null) original name from LBX is used. By 
default all names are taken from LBX. Name tables are: 
● tech_name 
● tech_field_name 
● weapon_name 
● weapon_name2 (plural for weapons) 
● special_name (special systems) 
● building_name 
● SHIELD_name 
● ARMOR_name 
● COMPUTER_name 
 
For weapons there are name tables both for single and plural spellings, for example you 
can specify: 
 
weapon_name mass_driver = "Mini Cannon"; 
weapon_name2 mass_driver = "Mini Cannons"; 
 
To reset to default: 
 
weapon_name mass_driver = 0; 
weapon_name2 mass_driver = 0; 
 
For languages other than English special characters are encoded with a subset of symbols 
{}[]<>@#| . For example German letter ß is encoded by |, so the word “groß” becomes 

96 
 

“gro|”. The encoding is language-specific and is not described here in detail. The direct use 
of unicode characters is not supported and won’t work. 

Custom Race Options 

Picks 
The maximum and minimum picks that can be used to create a custom race can be set, as 
well as the number of picks available for Evolutionary Mutation: 
 
number_of_race_picks maximum_positive_picks = 10; 
number_of_race_picks maximum_negative_picks = -10; 
number_of_race_picks evolutionary_mutation_bonus = 4; 
 
The valuation for all traits and special abilities can be adjusted. For the first 9 traits growth 
- spying, the actual bonus value can be changed as well. Note that the Food and BC bonus 
values are doubled: -1, 2, 4 translate in game to -½, +1 and +2 bonus per farmer. Thus 
Food +1 for 4 picks is written as: 
 
race_pick farming2_cost = 4; 
race_pick farming2_value = 2; 
 
Or can be compressed to: 
 
race_pick farming2_cost = 4 2; 
 
All other values are more straightforward to set, for instance to change negative growth 
-50% for -4 picks to a positive +25% for 2 picks: 
 
race_pick growth1_cost = 2 25; 

Additional Settings 
A few more tweaks are exposed in Config: 
 
Under classic rules, a Ship Offense bonus applies to both ships and to orbital platforms and 
planetary installations. The more expensive Ship Defense bonus on the other hand, does 
not apply to Satellites. Too bad for the Alkari. The SD bonus can be made to apply to 
satellites and planets too by setting: 
 

satellite_racial_defense_bonus = 1; 
 
Similarly the Warlord bonus can be made to apply to satellites and ground installation too 
with the parameter ​satellite_warlord_bonus​. 
 
Government bonuses can be precisely manipulated now: 
 
govt_bonus feudal_reduction = 1/3; 
govt_bonus confederation_reduction = 2/3; 
govt_bonus feudal_science = -10; 
govt_bonus confederation_science = -5; 
govt_bonus democracy_science = 10; 

97 
 

govt_bonus federation_science = 15; 


govt_bonus democracy_money = 10; 
govt_bonus federation_money = 15; 
govt_bonus unification_food = 10; 
govt_bonus gal_unification_food = 20; 
govt_bonus unification_production = 10; 
govt_bonus gal_unification_production = 20; 
 
Where value * 5 is the percent bonus for the item, for example democracy has a 10 * 5 = 
50% bonus to research. Feudal and confederation reductions are set as ratios. 
 
Additionally, the base morale penalty can be set per government, as well as the morale 
penalties for not having a Capitol and the morale bonuses for the presence of Barracks. 
 
federation_no_mixed_races_penalty 
If enabled, the Federation government will not be penalized for having mixed races on a 
colony. 
 
spy_govt_bonus 
Table that allows to set a bonus or penalty for all government types. 
 
repair_rate cyber = 10; 
For a 10% repair rate. Repair rate of internal systems is normally half of this value, but can 
be adjusted via s​ ystems_repair_percent​. 
 
spy_telepathic_bonus = 5; 
Allows to change the spy bonus for Telepaths. 
 
mind_control_ship_class = cruiser; 
Sets the minimum ship class of a Telepathic race that can Mind Control a colony. The 
default is Cruiser class. Size classes are frigate, destroyer, cruiser, battleship, titan, 
doomstar. 
 
event_roll lucky_player = 1000; 
As described in Random Events, a lower value increases the chance for Lucky events. 
 
td_ftl_bonus = 2; 
Ship drive speed bonus on the main galaxy map for Trans-Dimensional races. 
 
td_combat_speed_bonus = 4; 
Combat speed bonus for ships and fighter craft of Trans-Dimensional races (also affects 
combat AI calculations). Does not apply to missiles and torpedoes. 
 
warlord_command_bonus = 2; 
By default, each colony owned by a Warlord race adds +2 to the Command Rating. 

98 
 

AI Opponents 

Generic AI bonuses 
Below table summarizes standard AI bonuses per difficulty level: 
 

  Growth  Food  Prod  Res  BC  Command  Spy  Troops &  Antaran 
Percent  Deficit BC  Bonus  Marines  Marines 

Tutor  0  -1/4  -1/2  -1/2  0  12  -2  -2  -4 

Easy  +1  0  0  0  0  11  -1  -1  -2 

Avg  +2  1/4  1/2  1/2  1/4  10  0  0  0 

Hard  +3  1/2  1  1  2/4  9  1  1  2 

Imp  +4  1  2  2  3/4  8  2  2  4 

 
Note that difficulty level also influences other aspects of the game, like the way AI 
conducts diplomacy and spying, AI’s eagerness to attack, random events, Antarans, etc. 
The bonuses for food/production/research or “productivity” and the cash bonus the AI 
receives per difficulty level can now be set with two tables in config. The first table tweaks 
AI productivity bonuses. The set value divided by 20 is the bonus per population unit. 
 
ai_productivity_bonus tutor = -10; 
ai_productivity_bonus easy = 0; 
ai_productivity_bonus average = 10; 
ai_productivity_bonus hard = 20; 
ai_productivity_bonus impossible = 40; 
 
A second table governs income from taxation. Set value divided by 4 is the cash bonus per 
population unit, so it follows that AI receives +¾ BC/pop on impossible difficulty level: 
 
ai_income_bonus tutor = 0; 
ai_income_bonus easy = 0; 
ai_income_bonus average = 1; 
ai_income_bonus hard = 2; 
ai_income_bonus impossible = 3; 

Stock Races 
Stock Races can be adjusted in config. An example: 
 
stock_race Alkari =  
dictatorship g0 f0 i0 s0 m0 sd3 sa0 gc0 spy0 
0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0; 
 
The values that follow spy0, are ordered in the same way as the Special Abilities in the 
Race Customization Screen, e.g. low-G, high-G, aquatic, subterranean, etc. 
 

99 
 

These Alkari are a Dictatorship, have Ship Defense +50 (sd3), a Poor Homeworld (position 
6 = -1) and are Cybernetic (position 8 = 1). Changing sd3 to sd1 gives the Alkari the SD-20 
penalty and to sd2 the SD+25 bonus. 

Unlock Extra AI Race Variants 


When playing on Hard and Impossible difficulty levels, each opponent has three variants 
that the game will choose from. The tables in the code however contain 5 variants (check 
the addendum for details) and variants 4 and 5 are now available to play against, either as 
separate set including them only, or together with regular 3 variants by setting 
ai_races_variants​: 
 
1-3 - variants available in classic game (default), 
4-5 - only previously unused variants, 
1-5 - all variants. 
 
Note: use values literally, e.g.: a
​ i_races_variants = 4-5; 

Modding the Race Variants 


 

Coding Table 
0 0 Feud 1 0 Pop +0 2 0 F+0 3 X Prod 6 X SD 
0 2 Dict 1 1 Pop -50 2 1 F-½ 4 X Res 7 X SA 
0 4 Demo 1 2 Pop +50 2 2 F+1 5 X Tax 8 X GC 
0 6 Uni 1 3 Pop +100 2 3 F+2 9 X Spy 
 
10 1 lowg_world 17 1 cybernetic 25 1 telepathic 
11 1 highg_world 18 1 lithovore 26 1 lucky 
12 1 aquatic 19 1 repulsive 27 1 omniscient 
13 1 subterranean 20 1 charismatic 28 1 stealthy_ships 
14 1 large_hw 21 1 uncreative 29 1 trans-dimensional 
15 -1 hw_richness 2
​2 1 creative 30 1 warlord 
15 1 hw_richness 2
​3 1 tolerant 
16 1 arti_world 24 1 fantastic_traders 
 
Let’s examine the first row of the Alkari Hard variant 1: 
 
ai_race_variant_table Alkari 
Hard v1 = 
2 7 2 8 2 0 0 0 0 0 0 0 0 0 0 0 0 2 7 3 8 3;  
 
Two extra traits, SA +20 (7 2) and GC +10 (8 2) are added to the base design. 
For Evolutionary Mutation it will get 2 extra traits, upgrades in this case to SA +50 (7 3) 
and GC +20 (8 3). 
 
If you write (intended or not): 
 
ai_race_variant_table Alkari 
Hard v1 = 
3​ 7 2 8 2 0 0 0 0 0 0 0 0 0 0 0 0 2 7 3 8 3; 

100 
 

 
Then 3 traits are taken into account and the race becomes Feudal (0 0). 

AI Patience Counters 
An option for diplomacy a​ lternate_diplomacy​, when enabled attempts to use correct 
patience counters. Previously, attempts on alliance, trade/research treaty etc, all were 
controlled by a single counter. But there are several separate counters for this in the code, 
and other counters were never checked. Since there is no telling if it is a bug or a feature it 
is made optional and not enabled by default. 

AI Ships 

All non-player ships can be modded in some way; 


- Auto Design ships  
- Star Base specials 
- The Guardian  
- The Avenger 
- Monsters 
- Antaran ships 
- Antaran Fortress 

Auto Design Ships 


There are 8 different templates (ship design tables I-VIII) that Auto-Design can build ships 
from. Every table contains a row per ship class and 12 columns for categories of weapons: 
 
Table I: ai_ship_design standard_beam_missile_x2 
frigate = -1 -1 -1 15 -1 -1 -1 -1 -1 85 -1 0; 
destroyer = 10 0 -1 5 -1 -1 -1 -1 45 30 -1 10; 
cruiser = 15 0 -1 0 -1 -1 -1 10 30 30 -1 15; 
battleship = 15 0 -1 5 -1 -1 -1 15 25 25 -1 15; 
titan = 15 0 -1 10 -1 -1 -1 15 25 20 -1 15; 
doomstar = 15 0 -1 15 -1 -1 -1 15 20 20 -1 15; 
 
Columns are: 
1. Theme Special 
2. Beam Special  
3. Missile Special  
4. Defense Special  
5. Special Weapon  
6. Special Device  
7. Fighters 
8. Missile x2 (I), Missile x5 (III), Missile x10 (IV) or Torpedo 
9. Heavy Beams  
10. Beams  
11. Point Defense Beams  
12. Bombs  
 

101 
 

Auto Design will equip ships in order from left to right from this table, equipping the ship 
with specials that are available and it has space allocated for. Fields with -1 are ignored, 
even if overwritten. Values are a percentage of the ships space. In the classic tables values 
add up to 100 per row. Should you assign higher values to the columns, in such a way that 
the sum > 100, then auto-design ships will use more space than they legally should have 
(cheat ships). 
 
Theme Specials: 
a. Bio Weapons -- teleporter, augs, death spores, etc  
b. Capture -- transporters, shuttles, tractors, troop pods, etc  
c. Cloaking -- cloaking device, stealth field, phasing cloak  
d. Beam Defense -- inertial stabilizer/nullifier, augs  
e. Missile Defense -- jammers, pulsar, a-m rockets, etc  
f. Armor -- heavy armor, reinforced hull, automated repair  
g. Shield -- hard shields, multi-phased shields, capacitors  
 
Specials are picked at the beginning of each game, based on one of seven racially assigned 
themes. The Bio Weapons tables for example has 5 entries: 
 
ai_ship_design_bio_weapons_theme 
special_1 = 22 0; 
special_2 = 33 0; 
special_3 = 2 0; 
special_4 = 26 1; 
special_5 = 25 1; 
 
These numbers are either weapons or specials (denoted by the second number, 0 is 
special, 1 is weapon). They are weighted from top to bottom and Auto-Design picks them 
based on the ship design tables, hull space allocation and available tech. 

Other Ships 
As an example the first weapon of the Guardian ship design: 
 
guardian weapon_1_type = 11; 
guardian weapon_1_arc = 15; 
guardian weapon_1_mods = 00000000000000010; 
guardian weapon_1_ammo = 0; 
guardian weapon_1_amount = 2; 
 
type: weapons table number (11 = Death Ray) 
arc: firing arc (1= Fwd, 2= Fwd Ext, 4= Bwd, 8= Bwd Ext, 15= 360 degrees) 
mods: weapon mods (010 = Hv) 
ammo: ammunition (0 here for beams) 
amount: weapon count (and weapon count remaining when weapon is damaged) 
 
Refer to MANUAL_150.XLS for more detail. 

102 
 

The Antaran Fleet 


prewarp_delay, average_delay, advanced_delay 
Antarans' resources calculation delay for each Tech Level. Antarans do not attack during 
the first two calculation cycles, so the actual attack delay is this delay plus twice the 
resource_increment_calculation_frequency​. 
 
resource_increment_calculation_frequency 
The frequency in turns at which antarans production values are recalculated. 
 
attack_frequency_determinant 
Random roll value that determines how often Antarans can attack: if roll is lower than the 
number of turns since the last attack, a new attack happens. 
 
antaran_cease_of_attacks_coefficient 
For an attack to happen, the antaran attack force should meet the following condition: 
2 ^ this coefficient * A >= A + D + Ra + Rd 
A: build cost of the offensive fleet (fleets in flight do not count), 
D: cost of all defensive ships built, 
Ra: offense production resources, 
Rd: defense production resources. 
 
_resource_multiplier 
Per difficulty level specified for both defensive and offensive fleets. 
 
offensive_​
shiptype​
, defensive_​
shiptype 
Ship type limit per fleet. Ship types are: raiders, marauders, intruders, interdictors, 
harbingers. Note that you can see here that the Antaran HW has no defending frigate and 
destroyer class ships. 
 
antaran_ship_costs_​
shiptype 
Resource cost per ship type. 
 
cease_building_frigates_after_n_turns 
cease_building_destroyers_after_n_turns 
frigates_cease_​
difficulty​
_divisor 
destroyers_cease_​
difficulty​
_divisor 
Determines after which Antarans stop building frigate and destroyer class ships. 
Calculated for hard and impossible difficulty as 12500/dd and 20000/dd respectively, 
where dd stand for difficulty divisor value. Note that if frigates or destroyers are not 
destroyed in combat, they can keep appearing after these turn limits. Antarans do not 
dismantle their ships. 
 
elite_offensive_ants 
Antaran offensive ships have Veteran crews in classic, while the defensive ships have Elite 
crews. With this parameter the offensive ships can be set to Elite as well, both crew level 
and experience points will be increased. 

103 
 

Monsters 

Monsters Stay Chance 


monsters_stay_chance​ determines the chance for wandering space monsters to stay after 
battle. The value sets the range of a random roll, which causes a space monster to leave if 
it rolls 1 twice. Thus, at the default value 2, a monster has 1/2^2=1/4 chance to stay. At 3, 
that chance is 2/3^2=4/9, etc. This setting has no effect on the Toxic Amoeba that always 
leaves the galaxy after winning a battle. 

Monsters Stay 
If ​monsters_stay​ is set at 1, wandering monsters will not leave the galaxy if they have won 
a fight, but stay until destroyed no matter what is set in ​monsters_stay_chance​. The Toxic 
Amoeba is also ensured to stay with this setting. This is considered a test option and it will 
cause false GNN reports. 

The Crystal Fleet 


If ​crystal_keep​ is set at 1, a Crystal that has captured enemy ships and is victorious in 
combat, will keep those ships as part of its own fleet. 

Events & Delays 

Frequency of Events 
The frequency of events can be altered by changing the value of e ​ vent_roll all_events = 
512​ where a lower number will cause an increased frequency. Similarly, the occurrence of 
good things for Lucky players can be manipulated by adjusting e ​ vent_roll lucky_player = 
1000. I​ n addition, with parameter ​between_events_delay​ the minimum turn delay between 
events can be set (default = 5). 

Delay of Events 
By default events can not happen before turn 50, as set by e
​ vent_delay all_events = 50. 
Each individual event delay can also be set: 
 
event_delay derelict = 0; 
event_delay climatic_change = 0; 
event_delay comet = 200; 
... 
 
The generic delay and specific delays are not cumulative. 

Events Duration 
The duration of the three events Hyperspace Flux, Warp Beast and Time-Space Anomaly 
can be tweaked with minimum duration and chance to stop values. Classic settings are: 
 
event_duration anomaly_min = 4; 
event_duration beast_min = 4; 
event_duration flux_min = 4; 

104 
 

event_duration anomaly_chance = 20; 


event_duration beast_chance = 20; 
event_duration flux_chance = 20; 
 
Note that the delay value (4) is added to a base 2 delay, for 6 turns effectively. 

AI Surrender Delay 
The parameter ​ai_surrender_delay​ specifies after which turn AIs can surrender their 
empire. Default value is 150. 

Leaders 

Optional Unlimited Leaders 


The parameter ​leaders_no_limit​ enables more than 4 leaders to be in service or in the pool, 
both for colony leaders and ship officers. Scroll the lists with the new arrow buttons or with 
“[“ and “]” hotkeys. 

Better Warlord Leaders 


Optionally, leaders in the service of a Warlord can now function at +1 skill level higher, in 
the same way as ship crews do, by setting l​ eader_warlord_bonus​. Otherwise Warlord will 
only enable the possibility for a leader to reach skill level 6. 

Customizing Leaders 
A custom HERODATA.LBX can be created with the MoO2 Workshop (separate download) 
and loaded via Config, for example the following loads custom leaders from ICE mod: 
 
herodata.lbx = 150\mods\ice\lbx\$LANG$\HERODATA.LBX; 
 
If the order of leaders in the list was changed, take note to change accordingly in config the 
leader id’s of the three special leaders. They must match those set in herodata.lbx: 
 
leader_data advanced_govt_hero_id = 47; 
leader_data random_attributes_colony_leader_id = 41; 
leader_data random_attributes_ship_captain_id = 52; 
 
The first one sets the leader id that brings advanced government (default is 47, Tanus). The 
other two set the id’s for the leaders with the random skills set. 

Leaders Skill Cost 


With the table s​ kill_cost​ the cost of all leader skills can be set. The value set is 1/10 of the 
actual base skill cost. Example: 
 
skill_cost assassin = 2; 
 
sets the cost of the assassin skill to 20 BC for a Level 1 leader. Skill cost increases for each 
level. The assassin skill is 40 BC for a L2 leader, 60 BC for a L3 leader, etc.  
 

105 
 

The commando skill cost is set separately because it differs for colony and ship leaders. 
The default base level cost is 10 BC for colony leaders and 30 BC for ship officers.  
 
The presence of Megawealth in a leader's skill set doubles the cost of all skills of that 
leader. This can be disabled with: 
 
megawealth_no_double_cost = 1; *​ 
 
Note also that leaders who bring a technology do not share it for free! The base technology 
cost is based on its research points value:  
 
< 1000 RP: 10 BC 
1000 < 5000 RP: 30 BC 
>= 5000 RP: 40 BC 

Experience 
The experience points required for a leader to gain the next skill level can be set: 
 
leader_data level_2_experience = 60; 
leader_data level_3_experience = 150; 
leader_data level_4_experience = 300; 
leader_data level_5_experience = 500; 
leader_data level_6_experience = 1000; 
 
Level 6 can only be reached by leaders in the service of Warlords. Colony leaders gain 1 
experience point per turn, while Ship Officers (and ships) gain additional experience in 
combat equal to the halved sum of size classes of destroyed enemy ships (where FF-DS = 
1-6), rounded down and minimum 1 XP. Note that an instructor does not give XP to 
leaders, only to ships. 

Chance to Hire a Leader 


The formula for the chance to get a new offer of a (randomly chosen) leader is: 
 
Roll(0-99) < (turns since last offer + h ​ ire_chance_charismatic_bonus​ - 
hire_chance_repulsive_penalty + ​ sum of all famous leaders’ skill levels) / (1 + 
number of leaders in pool both hired or for hire) 
 
No leaders will offer to join in the first 5 turns of a game. This delay can be set with 
hire_chance_delay​. Note the importance to Dismiss a leader you do not wish to hire, as it 
improves your chance to get a new offer the next turn(s). Charismatic and Repulsive values 
can be set and by default they are: 
 
leader_data hire_chance_charismatic_bonus = 5; 
leader_data hire_chance_repulsive_penalty = 10; 

Number of Leaders for Hire 


The pool size of leader available for hire is governed by the following formula: 
 

106 
 

(Base Amount + Number of players + turn/increment step + Charismatic bonus) / 2 


(if Repulsive).  
 
leader_data availability_base_amount = 10; 
leader_data availability_increment_step = 5; 
leader_data availability_charismatic_bonus = 10; 
 
Thus, a new leader becomes available every 5 turns, unless you are Repulsive then only 
once every 10 turns. This explains why it takes such a long time for Repulsive races to get 
any good leaders, as the halving part has a significant impact on the available leaders at 
game start. Leader available at start of a game with 8 players: 
 
Base player: 18 
Charismatic player: 28 
Repulsive player: 9 

Modding with Scripting 


Since 1.50.7 there is a limited scripting support. The language used for scripts is a modified 
version of Lua 5.3. This is an experimental feature, it may be a bit rough to use. For 
example currently there is no way to interrupt a script, so if you forgot to break from an 
endless loop you’ll have to crash and restart the game. 

Changes in Lua 
● All numbers are integer, not floating-point. Division by zero will throw an error.  
● Operator ^ does not work. 
● Some standard library functions are not included. This may change in the future. 
Notable examples are: require, loadfile, and the whole math library. 
● Some standard functions (e.g. tostring, print) behave a bit differently. 

Contexts 
There are currently two contexts: ​player context​ and u ​ niversal context​. Scripts run from the 
main screen are run in p ​ layer context ​and allow only actions which can be done normally 
by a player. For example if you call get_players function, it will not list players you have no 
contact with. The ​universal context i​ s meant for universe post-processing after starting a 
new game. For example it allows to move stars and change techs known to a player which 
is not possible in p
​ layer context​. 

Running a Script 
A player can run a script in main screen by pressing 0, ..., 9 to run MAIN0.LUA, …, 
MAIN9.LUA. Those scripts are run in player context. 
 
The game will automatically run a script from a file given by a 
newgame_postprocessor_script ​config​ p ​ arameter right after a new universe has been 

107 
 

generated but before the game was saved to SAVE10.GAM. This script will be run in 
universal context. 

MOO2 API 
Utility Functions 
Lua library functions are available and work as described in Lua documentation. 
 

Name  Contexts  Description 

tostring  any  Returns stringified version of its args, concatenated if 


args are many. Used internally by print and msgbox. 

print  any  Outputs a line to ORION2.LOG. 

msgbox  any  Brings up a message box, useful for debugging. 


 

Manipulating Players 
Player table -​ is a lua table with player info indexed by player id. Example: 
{ [0] = {name = “Human”, … }, [1] = {name = “Alkari”, … } … } 
 
Tech table -​ is a lua table with state of each tech for a player indexed by tech id. 
 

Name  Contexts  Description 

get_players  universal,  In universal context returns a p


​ layer table​ with all 
player  players. In player context returns only those in contact 
with the current players. 

get_current_player  player  Returns the id of the player calling the script. 

get_player_techs  universal,  Accepts player id and returns a t​ ech table​. In player 


player  context will return nil if you have no contact with that 
player or /noreport config option is enabled. 

set_player_techs  universal  Accepts t​ ech table,​ sets players techs. 


 

Manipulating Stars 
Star table ​- is a lua table with star info indexed by star id. Example: 
{ [0] = {name = “Orion”, … }, [1] = {name = “Sol”, … } … } 
 
Star id array ​- is a lua table in which values are star ids and keys are numbers 1..n. 
 

Name  Contexts  Description 

get_stars  universal,  Returns a s​ tar table ​for all stars in the galaxy except 
player  Antares. 

set_stars  universal  Accepts s​ tar table​, sets star attributes. 

108 
 

del_stars  universal  Accepts s​ tar id array​, removes stars. 

add_stars  universal  Accepts a number, adds that many stars. Returns s​ tar 
id array​ of created stars. 
 

Manipulating Planets 
Planet table ​- is a lua table with planet info indexed by planet id. Example: 
{ [0] = {star = 12, orbit = 0, … }, [1] = {star = 12, orbit = 4, … } … } 
 
Planet id array ​- is a lua table in which values are planet ids and keys are numbers 1..n. 
 

Name  Contexts  Description 

get_planets  universal,  Returns a p


​ lanet table ​for all planets. In player context 
player  only known planets are shown. 

set_planets  universal  Accepts p


​ lanet table​, sets planets attributes. 

del_planets  universal  Accepts p


​ lanet id array​, removes planets. 

add_planets  universal  Accepts a number. Returns p


​ lanet id array​ of created 
planets. 
 

Observing Ships 
Ship table ​- is a lua table with ship info indexed by ship id. Example: 
{ [0] = {design = { name = “Scout”, ...}, x= 56, … }, [1] = { … } … } 
 
Function get_ships returns ​ship table​ of all active ships you can see (not including those 
currently being built or refitted). In player context only ships you scan or own are returned. 

Demo Scripts 
MAIN1.LUA 
This script displays the technologies your enemies have ahead of you. It can be run from 
main screen by pressing 1. This function will not work when /noreport=1 is set. 

RU-RUSH.LUA 
Gives any uncreative human player access to the techs fighter bays, automated factories 
and research lab, needed to reliably win a classic game against 8 AIs with a repulsive + 
uncreative race on average technological level start on impossible. 

STARS150.LUA 
Reorders stars in the galaxy to form ‘1.50’. 

109 
 

Introduced Bugs 
1.50.10 
Memory Corruption 
A memory corruption could occur when starting new game. Fixed in 1.50.10.1. 

Leaders Screen Graphical Issues 


The fix for Leaders screen issues in multiplayer games caused a new graphical problem in 
the Leaders screen for single player games, hence the fix was reverted in 1.50.10.1. 

Clicking a For Hire Leader Crash 


In the Leaders screen, the added technology text when clicking a for hire leader could crash 
the game. Fixed in 1.50.12. 

1.50.9 
Orbital Bombardment Slow Down and Crash 
The fix for orbital bombardment bomb hits calculation could cause slow downs of the 
game and even crashes when ships with flyers were involved. Fixed in 1.50.12. 

1.50.8 
Missing 8th Weapon Slot of Antaran Defensive Titan 
The 8th weapon slot that was absent in classic due to a bug, went missing again in 1.50.8. 
Fixed in 1.50.9. 

1.50.7.1 
Excessive Jump Gate Warning 
Jump Gate warning was introduced in 1.50.7. It’s purpose is to prevent irreversible loss of 
jump gate bonus. For ships stationed in star systems there is no such loss, so in 1.50.7.2 
the warning was disabled for this special case. 

1.50.7 
Accumulating Raid Reports 
Reports for raids that occur in super-fast combat mode (Z) were appended to the next raid 
report in normal mode. Fixed in 1.50.7.1. 

110 
 

Ships Lost in Black Holes Despite Jump Gates 


Normally ship using jump gates ignore black holes. This was broken when new navigator 
behavior was introduced, the game allowed to send a fleet through black hole when jump 
gate is present but the fleet then was silently lost. Fixed in 1.50.7.1. 

Broken Best Strategic Missile Selection 


The change to use the strategic instead of the tactical weapons damage column in the 
weapons table for strategic combat resolve broke selection of the best available 
missile/torpedo. Fixed in 1.50.11. 

1.50.6 
Halved Food on Mapgen-transformed Planets 
Planets with climate set by options like -fixedhw had half the required food output. Fixed in 
1.50.6. 

Incorrect Display of Aquatic Bonus 


Planet Info displayed wrong food value for Aquatic races. Fixed in 1.50.6.1. 

Corruption of Planets Array by Artificial Planet 


Building an artificial planet could damage planets array. Fixed in 1.50.6.1. 

Crystal-Captured Ships Crashing on Tactical Combat Load 


Crystal-captured ships could cause the game to crash on loading of tactical combat. This 
bug was semi-random, so it only appeared occasionally. Fixed in 1.50.12. 

1.50.5 
keep_on_find Bugs 
Fixed the steal and uncreative bugs with keep_on_find, of not being directed to the tech 
choice screen, when the tech that was stolen, also was being researched. Fixed in 1.50.6. 

Prepend Allowed Multiple Consecutive Repeats 


Prepend mode in build list allowed to insert multiple consecutive repeats after a bought 
item. This in turn allowed yet another form of buy cheat. Fixed in 1.50.7. 

BHG Crash when Initiative is Off 


Destruction of ship by BHG was causing a crash when ​ship initiative​ is off. Fixed in 1.50.7. 

Defensive Antarans Corrupted Names 


Due to incorrect width of A​ ntaran_frigate___defensive weapon_2_amount o ​ ffset some 
values could result in strange behaviour. For default of 0 ship named ​Raider b
​ ecame a​ ider​, 
but for other values a crash was possible. Fixed in 1.50.7.1. 

111 
 

Lightning Field Uniform not Working 


lightning_field_mode = uniform​ worked as classic. Fixed in 1.50.8. 

1.50.4 
Combat Bugs when Ship Initiative is Off 
The ‘turn structure’ patch added several bugs to combat without ​ship initiative​. Cloaks, 
absorbers and satellite rotations were affected. Because we consider combat without 
initiative a legacy feature, exact behavior is not described here. Fixed in 1.50.4.1. 

Fighters Disappearance Bug 


Caused by introduction of new fighters behaviour that let fighters to attack a non-moving 
missiles at the end of turn. Fixed in 1.50.5. 

Instant Refit when Queue is Full 


When build queue is full, choosing to refit a ship would result in an appropriate warning, 
but the ship would refit instantly. Fixed in 1.50.5 . 

Build Lists Ignore Blockades 


Build list commands buy1, buy2, buy3 would ignore blockaded status. Fixed in 1.50.5. 

Prepend Allows to Move Bought Item 


Build list’s prepend mode allowed to push away a bought item, allowing to perform the 
lesser version of the buy cheat. Fixed in 1.50.5. 

Relaxed Planet Bombing Area in Corners 


Bombing area around a planet became a few squares larger in the corners due to a formula 
change. Fixed in 1.50.11. 

1.50.3.1 
A Stall at the End of Combat 
Happened when ship remained tractored at the end of the combat. Fixed in 1.50.3.2. 

1.50.3 
Next_ship cur_ptr Crash in strict_combat_sequencing 
In strict mode the crash could be triggered by several ship captures. Fixed in 1.50.3.1. 

Excessive Bombardment Death Tolls 


The game would not stop bombing even if all colonists are killed resulting in confusing 
death tolls exceeding colony population. Fixed in 1.50.4. 

112 
 

Broken Command Points Summary 


Command points summary brought up from main screen was displaying incorrect values, 
and even possibly could been lead to crash. Fixed in 1.50.4. 

Broken Cloaking Device Still Being Able to Cloak 


Incomplete fix of combat cloaks still being working despite special device itself was broken 
was letting them to cloak back eventually. Fixed in 1.50.4. 

Phasing Cloak Recloaking Even With Zero Counter 


Phasing Cloak shouldn’t cloak back to the phasing state without phasing counters left, 
thought it was able to do so. Fixed in 1.50.4. 

Garbage in Current Ship’s Weapons 


In combat, when strict mode is on, random junk was sometimes displayed instead of 
retreating ship’s weapons list. Fixed in 1.50.5. 

Freeze when all Ships are in Stasis 


When ship initiative is off and all remaining opponent ships are in stasis when the combat 
round ends, the game would freeze. Fixed in 1.50.12. 

1.50.2 
Unification Bonus not Working 
Fixed in 1.50.2.1. 

Bizarre Damage Figures From ESD Weapon 


When a ship is attacked 1st strike displays normal damage, but 2nd and later strikes show 
bizarre figures too large to be true. This is a visual bug, actual damage is correct. Fixed in 
1.50.3. 

Antaran Star Fortress Erratic Repairs 


Parameter for Antaran Star Fortress size class allowed to assign improper size classes that 
caused repair bugs. Depending on settings repair could strip SF’s armor, do nothing or act 
normally. This parameter was removed in 1.50.3, Antaran SF now has fixed size class and 
repairs properly. 

Telepaths Can Control Ships After Multiple Captures 


This fix was introduced in 1.50.2 but was reconsidered and removed in 1.50.3. The classic 
behavior is deemed more consistent. 
 
Original description: Telepathic races can control captured ships in combat, but due to a 
bug they lose this ability if ship changes hands more than once. For example if the ship is 
recaptured by its owner and then recaptured by telepaths again (changes hands 3 times), 
telepathic race can no longer control it. This is fixed in 1.50.2. 

113 
 

Spy Thresholds Below 60 not Working 


spy_roll_success_threshold​ steal did not work when set to values lower than 60. This is 
fixed in 1.50.3, in addition negative thresholds have been forbidden. 

Corrupt 6th Design Slot when Loading Older Game 


When loading a game created in a version before 1.50.2 the 6th slot could become 
unusable. Since 1.50.3 a doom star design will be automatically generated in 6th slot if it’s 
corrupt. 

Increased Occurrence for Retreat Disappearances Bug 


Retreat disappearance bug (already present in the game) became much more frequent in 
1.50.2 due to combat logic refactoring. The underlying bug was fixed in 1.50.3. 

Ship Defense Bonus not Working 


The SD bonus was shown in overmap ship info, but did not apply in combat. Also SD-20 
was displayed as SD-19 in ship info. Both bugs were fixed in 1.50.3.  

Incomplete Synchronization when Loading a Game 


When loading a network multiplayer game race pick costs were not synchronized which 
could affect evolutionary mutation if client’s config was different from host’s. Fixed in 
1.50.4. 

Stall on Failed Refit 


Occurred when refit failed due to build queue full. Fixed in 1.50.4. 

Broken Unpack of Pick Labels 


When custom labels for racial picks are provided the game sometimes displays memory 
garbage trailing pick labels. This happened only in network multiplayer and only on the 
client side. Fixed in 1.50.4.2. 

Corrupt 6th Design Slot when Limit Prevents Building a Ship 


When game prevents queueing a new ship because of a 500 ships global limit, 6th design 
could become corrupt. Fixed it 1.50.7. 

Negative Ship Speed Crash 


When interactive_combat_stats is enabled, ships damaged while moving could lose more 
speed then they had. Negative ship speed led to a crash. Fixed in 1.50.7. 

Plasma Torpedo Incorrect Dissipation on Impact II 


Classic bug was accidentally restored. Fixed in 1.50.7.2. 

Satellites Can Be Bombed Bug 


In-combat bombardment or an earthquake now can’t destroy a satellite anymore (unless 
the colony is destroyed). Due to the ‘earthquake can destroy anything’ change it was made 
possible. Fixed in 1.50.9 

114 
 

1.50.1 
Incomplete Synchronization for New Game 
When creating a new network game with different configs on host and client side, some 
parameters were not synchronized before selecting a race. This could lead to a different 
rules for race selection for host and client. Fixed in 1.50.4. 

Heavy Fighters Don’t Spend Shots on Missiles 


Heavy fighters got an ability to attack missiles, but did not spend shots when firing at 
them. Fixed in 1.50.5. 

Freighted Colonists Die upon Arrival at Terraformed World 


Fixed the bug that caused colonists arriving on a planet, terraformed the same turn, to 
die. Fixed in 1.50.6. 

1.50 
Post-Combat Repair Crash 
The game crashed after the combat in certain cases, notably when attacking the guardian 
(even if you did not scratch it). Fixed in 1.50.0.1. 

Queue Loader Refused to Parse artificial_planet 


Fixed in 1.50.0.2. 

Crash on Malformed Build List Fixed 


The game crashed when sufficiently long malformed list was placed in BUILD.CFG and 
used to load build queue. Fixed in 1.50.0.2. 

Plasma Torpedo Crash on Impact 


Fixed in 1.50.0.2. 

board_in_black_hole = 0 Was not Honored by the AI 


Fixed in 1.50.3. 

Parameter /monsters Did not Work 


First known as ​/monsters​, then as m
​ apgen /monsters​ this parameter did not work. 
Command line switch always worked however. Fixed in 1.50.4.1.   

115 
 

Notes on Population Growth 


Definitions 
POPRACE Population of the considered race. 
POPAGG Aggregated Population of the planet. 
(POPRACE, annexed pop, natives and droids)  
POPMAX Maximum population of the planet. 
PROD Total industry produced on the colony 
FACTOR1 2000 
FACTOR2 40 
 
g general bonus (default 0) 
r race bonus (-50% growth = -50, +50% = 50, +100% = 100) 
i ai bonus (0-4 based on difficulty level) 
t tech bonus (microbiotics = 25, universal antidote = 50) 
l leader bonus (only the best medicine bonus applies) 
e event bonus (boom = +100, plague = -200) 
h housing (formula) 

Growth Formula 
Population growth is calculated separately for each race on a planet. 
The formula for the basic growth of a race (a) is: 
 
a = trunc[(FACTOR1*POPRACE*(POPMAX-POPAGG)/POPMAX)^0.5] 
 
The default value of FACTOR1 can be modified with ​growth_formula_factor​. 
 
The value a is rounded down (truncated) before it is multiplied with the sum of seven 
bonuses (b): 
 
b = (100+g+r+i+t+l+e+h)/100 
 
If all seven bonuses are zero, then factor b is 1.  
 
The general bonus (g) is applied to all players in the game and can be set with 
growth_rate_bonus general_modifier​ which is 0 by default. 
 
The growth bonuses from the technologies (t) microbiotics and universal antidote can be 
set individually with g
​ rowth_rate_bonus​. By default the bonuses from these two techs do 
not stack. This can be changed with ​microbiotics_and_antidote_cumulative.  
 
The formula for housing (h) is: 
 

116 
 

h = FACTOR2*PROD/POPAGG 
 
Obviously this only applies when you are housing. The default value of FACTOR2 is 40, 
which can be set via h
​ ousing_formula_factor​. 
 
The product a*b is again truncated and the growth bonus of cloners is added. 

Cloning Center 

The standard bonus of cloners is +100k. The bonus is shared pro rata between all races on 
the planet, thus for each race: 
 
c = 100*(POPRACE/POPAGG) 
 
If there is only one race on the colony, then POPRACE = POPAGG and the full bonus is 
applied to that race. However, if there are natives on a new colony, the +100k bonus is 
divided between one new colonist and 3 natives, so +25k for the colonist and +75k for the 
natives. But since the natives cannot grow, the net growth is (only) +25k. The same goes 
for colonies with androids and colonies with mixed races where one race is subterranean 
and the other is not, etc. For example cloners nett bonus is +50k on a colony with 1 droid 
and 1 pop. 
 
The growth bonus provided by Cloning Center can be set with c​ loners_growth_bonus ​up 
to a maximum bonus of 127 (default is 100). 

   

117 
 

Notes on Spying 
Spy Bonuses 

Every Spy you train can fulfil one of two functions. (1) On a mission, your spy goes off into 
the colonies of a race of your choice and tries to steal technologies, attempts to destroy 
enemy buildings or hides awaiting new orders. Any spy's success is noticed by the target 
race and has an adverse effect on relations, unless you are able to frame another race for 
your actions. (2) As an Agent, your operative roams inside your empire, ferreting out 
enemy spies and eliminating them. 
 
Maximum 63 defensive agents and 63 spies per opponent can be trained. Although not 
shown on the Races screen, each spy increases the bonus for the specific slot he is 
assigned to. The first five spies will add 2 points each, spies 6 to 10 add 1 point each. 
Subsequently, each pair of spies will add a point to your bonus. Thus 11 or 12 spies will 
add 16 points and the maximum bonus is +42 for 63 spies. 
 
Thus, the total spying bonus per slot is the sum of racial, governmental, leader and 
technology bonuses plus the bonus from the spies assigned to it. Bonuses are: 
 
Offense Defense 
Government Feudalism - 0 
Confederation - 0 
Dictatorship - +10 
Imperium - +15 
Democracy - -10 
Federation - -10 
Unification - +15 
Galactic Unification - +15 
 
Race Spy -3 picks -10 -10 
Spy +3 picks +10 +10 
Spy +6 picks +20 +20 
Telepathic +10 +10  
 
Technology Neural Scanner +10 +10 
Telepathic Training +5 +5 
Cyber Security Link +10 +10 
Stealth Suit +10 +10 
Psionics +10 +10 
 
Leaders Spy Master +2 to +18 
Telepath +2 to +18 

118 
 

Assassins 
Before any spy activity happens, assassins get a chance to act. The chance to assassinate 
an enemy spy depends on a leader’s skill level and varies from +2% to +18% per turn. Only 
the best leader’s bonus is effective. 

Roll Chance 

To have a chance for stealing and sabotage at least one spy needs to be sent to the 
opponent, but for defending this is not required. Even with zero defending agents defenses 
against enemy spies are active (and enemy spies can be killed) just without the additional 
bonus provided by the agents. 

Action Thresholds 
For offensive spies to be successful a threshold needs to be overcome that is comprised of 
the defenders bonus (DB) and an action threshold (T). Default action thresholds are: 
 
stealing is successful: 80 
stealing is successful and frame another race: 90 
sabotage is successful: 70 
sabotage is successful and frame another race: 90 

Definitions 
T -- action threshold 
DB -- defender bonus 
AB -- attacker bonus 
 
E = T + DB - AB -- effective threshold 
 
AR -- attacker roll 1..100 
DR -- defender roll 1..100 

Formula 
Each turn both attacker and defender get a roll(100). A spying action is successful if: 
 
AR = 100​ (aka lucky roll) 
 
or 
 
AR - DR > E 
 
So with a low enough effective threshold you always succeed, but with a high enough 
threshold you don’t always fail, because of the lucky roll. 
 
The probability (p) of success can be formalized as follows: 
 

119 
 

E <= -100 : p = 1 
-100 <= E <= -1 : p = 1 - (101+E)*(100+E)/2/10000 
0 <= E <= 99 : p = (99-E)* (98-E)/2/ 9900 + 0.01 
99 <= E : p = 0.01 
 
Below graph has three lines plotted, one for each action threshold (T). On the x-axis the 
attacker - defender bonus (AB-DB) and on the y-axis the chance for success (p). Note that 
on the left side the lines do not quite reach 0 because of the lucky roll. 
 

Spy vs Spy 

The invisible wars between spies are both deadly and silent. Most of the time, spies simply 
fail. Sometimes they are killed by enemy spies. 
 
After the roll for stealing and sabotage happens, 
there is roll on spies killing of spies. The kill formula 
is comparable to the formula for 
stealing-sabotage, except that the defender also 
gets a +20 bonus there, and the attacker gets +20 
too if he has chosen to Hide. (So on Hide your 
spies are not active, but they can still be killed by 
an opponent.) At +80 a defender will be killed, and 
at -80 an attacker and both parties have the 
possibility to kill with lucky rolls, so both can lose a 
 
spy in the same turn. 

120 
 

Notes on Beam Weapon Mechanics 


Accuracy 

Several things determine the chance to hit (accuracy), but it boils down to three factors: 
Beam Attack, Beam Defense and Range Penalty. 

Beam Attack and Beam Defense Modifiers 


Beam Attack (BA) is a way of rating the firing ship’s beam offense capability. It is 
calculated based on the type of computer on board, ship systems like battle scanner, crew 
experience, leaders and racial bonuses. Battlestation and Star Fortress give an additional 
BA bonus to all ships in the defensive fleet. 
 
Beam weapons get additional bonuses based on their mount type (PD +25 BA) and mods 
(Co +25 BA, AF -20 BA). 
 
Beam Defense (BD) is a rating of the target ship’s dodging ability. It is calculated based on 
5x its combat speed, ship systems like inertial stabilizer, crew experience, leaders and 
racial bonuses. 

Ranged To Hit Penalty 


The further away a target is, the less likely it becomes for a beam weapon to hit it. The 
range penalty to a beam’s accuracy (To-Hit) comes from below table: 
 

Range  0  1  2  3  4  5  6  7  8 

Penalty  0  0  10  20  30  40  55  70  85 


 

One range unit equals 3 squares. At range 0 two opponents share the same square, for 
example when interceptors are on top of the target ship. At range 1 opponents are 
adjacent to each other or have 1-2 squares between them. 
 
For calculation purposes, Point Defense weapons get a penalty as if range is doubled and 
for Heavy mount weapons the actual range is halved (and rounded down): 
 

Range  0  1  2  3  4  5  6  7  8 

Regular (sq)  0  1-3  4-6  7-9  10-12  13-15  16-18  19-21  22-24 

PD (sq)  0    1-3    4-6    7-9    10-12 

Heavy (sq)  0-3  4-9  10-15  16-21  22-27  28-33  34-39  40-45  46-51 

Penalty  0  0  10  20  30  40  55  70  85 


 

121 
 

Classic Fusion Beam, Plasma Cannon and Mauler Device have an inherent ranged to hit 
penalty (weapon flag #1). This mod doubles the ​calculated​ penalty. So after all Hv/ Reg/ 
PD calculations are done and Rangemaster Unit effect is applied, the result is doubled. 
Obviously for Mauler Device that always hits, there is no effect and therefore in 1.50 this 
mod has been removed from the weapon via a patch. Further, in 1.50 improved the penalty 
has also been removed from Fusion Beam so only the Plasma Cannon keeps it. 

Chance to Hit 
Then it’s a matter of chance. A random number between 1 and 100 (inclusive) is rolled and 
the following formulae apply: 
 
HIT IF: (with max dmg) 
[1] roll > 95 
 
ELSE HIT IF: (with max dmg) 
[2] BA+CO-AF-BD >= 99 
 
ELSE HIT IF: (real penalty affects dmg distribution) 
[3a] BA+CO-AF-BD + roll >= hit_threshold 
*​
[3b] hit_threshold = min(40 + range_penalty​ - PD_bonus; 95) 
*​
​ doubled for inherent range penalty mod 
 
Thus, if that random number is greater than 95 (a 5% lucky shot, no matter the odds), or 
To-Hit is larger than 98, the beam strikes the target. Else, To-Hit minus the range penalty 
(plus possible PD bonus) must be 39 or higher to ensure a hit. 
 
Note that Mauler Device and Energy Absorber always hit unless the target ship has a 
Displacement Device. Stellar Converter, which is not a beam weapon but a special weapon, 
always hits regardless of the presence of a Displacement Device. 

Optional Alternative Chance to Hit Formula 


The to-hit formula for beams contains a major flaw: Distance penalties, being a big deal in 
theory, don’t work well in reality, up to having no effect at all. Formula 3 contains a cap of 
95, making range penalty above 55 for non-PD beam or 80 for PD beam of no additional 
effect (despite being present in the game). Moreover, formula 2 contains a deeper flaw: 
with good BA and low BD the range penalty is ignored altogether. Among good examples 
of this flaw are ‘sure-hit-no-matter-the-distance’ situations, low usability of Rangemaster 
Unit (especially compared with Battle Scanner), and a very low effect of the 2x range 
penalty weapon mod. 
 
Setting ​simplified_beam_formula = 1​ enables a more straightforward way of to-hit 
calculations, with distance penalties consistently affecting chance: 
  
HIT IF: (with max dmg) 
[1] roll > 95 
 
ELSE HIT IF: (with max dmg) 
[2] BA+CO-AF-BD​- range_penalty + PD_bonus​>= 99 

122 
 

 
ELSE HIT IF: (real penalty affects dmg distribution) 
[3] BA+CO-AF-BD​- range_penalty + PD_bonus + random(100) roll >= 40 
 

Damage 

There are 2 pairs of types of beam weapons, affecting damage distribution: 


1. Not reduced by range / Reduced by range. 
2. Equal min-max damage / Different min-max damage. 
Damage values of both types are later modified with Hv, PD, HEF and Ordnance effects. 

Not Reduced by Range 


If a beam hits, it does damage. For weapons of which the damage is not reduced by range, 
like Mass Driver, Gauss and Disrupter, no dissipation penalty applies. Note that a Laser 
Cannon with the NR mod can still do 1-3 dmg in cases of low accuracy. (Were its damage 
range 10-40 instead of 1-4, then its lowest damage would be 10 while an unmodded 
10-40 Laser can have a damage as low as 4 if it hits at range.) 

Reduced by Range 
For weapons of which the damage is reduced by range (dissipation), a penalty based on 
the distance the beam must travel to the target is taken into account, lowering the damage 
potential (round to nearest applies and the minimum damage potential is always 1). Below 
table of damage potential by range includes examples for Laser Cannon, Phasor, Mauler 
and Death Ray: 
 

Range (sq)  0  1-3  4-6  7-9  10-12  13-15  16-18  19-21  22-24 

Penalty  0  -10  -20  -30  -40  -50  -60  -65 

Dmg  100%  90%  80%  70%  60%  50%  40%  35% 

Laser  1-4  1-4  1-3  1-3  1-2  1-2  1-1  1-1 

Phasor  5-20  5-18  4-16  4-14  3-12  3-10  2-8  2-7 

Mauler  100-100  90  80  70  60  50  40  35 

Death Ray  50-100  45-90  40-80  35-70  30-60  25-50  20-40  18-35 
 

Equal Min-Max Damage 


As can be seen from the table, for Mauler Device because min=max dmg the actual 
damage is known after applying the damage dissipation and Hv, PD, HEF and Ordnance 
effects. If the beam hits, the min damage value (possibly modified with effects named 
above) will be applied. For weapons with different min-max damages there is still no final 
damage value and the story continues: 

123 
 

Different Min-Max Damage 


The actual damage for weapons with different min-max damages is based on the damage 
potential modified with the accuracy of the shot, using the following formula: 
 
UNCAPPED DAMAGE IS: 
min_dmg + (max_dmg-min_dmg+1) * A / B 
 
A = roll_plus_attack - hit_threshold 
B = 100 - hit_threshold 
 
WHERE: 
roll_plus_attack = min(random(100) roll + To-Hit; 100) 
*​
hit_threshold = min(40 + range_penalty​ - PD_bonus; 95) 
*​
​ doubled for inherent range penalty mod 
 
CAPPED DAMAGE IS: 
The overall result is capped at max_dmg. 

Examples 
1.​ Death Ray’s dmg at 23 squares, assuming roll=85 and (To-Hit-range_penalty)=10: 
 
18 + (35-18+1) * A / B 
A = ((85 + 10) - (40 - -85)) = (95 - 95) = 0 
B = (100 - (40 - -85)) = (100 - 95) = 5 
 
Thus, actual damage is equal to min_dmg = 18. 
 
2.​ If the target is closer, and the distance is only 11 squares: 
 
35 + (70-35+1) * A / B 
A = ((85 + 10) - (40 - -30)) = (95 - 70) = 15 
B = (100 - (40 - -30)) = (100 - 70) = 30 
 
And it follows that the actual damage is min_dmg + ½ (max_dmg-min_dmg + 1) = 53. 

HV, PD, HEF & Ordnance 


These bonuses are percentages of damage of a regular mount beam. (In 1.50 the HEF 
bonus can be set for each mount separately.) Their interaction is not multiplicative, but 
additive, and they work the same way as dissipation range penalty, modifying min&max 
damage (so these bonuses are not subject to dissipation themselves). 
 
Examples for a 50-100 beam with dissipation Range_penalty of 30: 
 
HV  
50*(100 {base} + 50 {HV} - 30 {Range_penalty})% = 60;  
100*(100 {base} + 50 {HV} - 30 {Range_penalty})% = 120. 
 

124 
 

HV+HEF 
50*(100 {base} + 50 {HV} + 50 {HEF} - 30 {Range_penalty})% = 85;  
100*(100 {base} + 50 {HV} + 50 {HEF} - 30 {Range_penalty})% = 170. 
 
PD  
50*(100 {base} - 50 {PD} - 30 {Range_penalty})% = 10;  
100*(100 {base} - 50 {PD} - 30 {Range_penalty})% = 20. 
 
PD of beam with 2x penalty set to applying for dissipation 
50*(100 {base} - 50 {PD} - 2*(30) {Range_penalty})% = -5;  
100*(100 {base} - 50 {PD} - 2*(30) {Range_penalty})% = -10 
Note: in this case actual min and max damage will be 1. 
 
At max distance ​all​ PD beams that are reduced by range will do a miserable 1 dmg without 
HEF/Ordnance, no matter their max dmg strength. For example: A 1000 dmg PD beam will 
still do 1 dmg at max range. So PD does less damage at range than one might expect. 
 
PD + HEF of beam with 2x penalty set to applying for dissipation 
50*(100 {base} - 50 {PD} + 50 {HEF} - 2*(30) {Range_penalty})% = 20;  
100*(100 {base} - 50 {PD} + 50 {HEF} - 2*(30) {Range_penalty})% = 40. 
 
 

   

125 
 

Notes on Missile Defenses 


Weapons 
Missiles can be shot down by regular and Pd mount beam weapons, Interceptors, 
Anti-Missile Rockets and spherical weapons like Pulsars. Torpedoes, unlike missiles, can’t 
be fired at or damaged by these weapons. 

Special Systems  

Three special systems can defend both against incoming missiles and torpedoes: 
- Lightning Field: has a 50% chance to destroy each missile, torpedo or fighter 
attempting to strike the equipped ship. 
- Cloaking Device: Missile warheads and torpedoes have a 50% chance to miss, but 
only if the device is active (ship is cloaked). 
- Displacement Device: Missile warheads and torpedoes have a 30% chance of 
missing completely, regardless of any other equipment or considerations. 
 
Note that Lightning Field acts before MIRV missile warheads separate but Cloak and 
Displacer effects happen afterwards. 

Missile Jamming 

Missiles and torpedoes that get through enemies defenses and reach a ship, have a 100% 
chance to hit that ship, unless that ship has missile evasion capabilities from: 
- Ship Defense racial trait, 
- Helmsman fleet leader, 
- Crew experience, 
- Jammer and Inertial technologies. 
 
The probability of a single missile warhead getting jammed is equal to the missile evasion 
bonus of the defender minus the best known scanner bonus of the attacker. This 
probability is halved if the missile has ECCM (Electronic Counter Countermeasures). For 
MIRV missiles the jamming chance is not calculated per missile but for each warhead 
separately and it may happen that not all warheads of a MIRV missile hit, but some get 
jammed. Note that all monsters, the Guardian and Antarans have a Neutron Scanner 
onboard. The Dragon Breath (a special torpedo with a standard damage of 300 and a 
dissipation of 15 damage per square) is unaffected by jamming. 

Example 
The probability that an eccm warhead guided by a Tachyon Scanner gets jammed by the 
target ship that enjoys evasion from a Wide Area Jammer fleet bonus (+70), Stabilizer 
(+25), race penalty (-20), regular crew and a leader with 10 helmsman bonus, is: 
 
P = [(70+25-20+7+(10/2))-20] / 2 = 33% 
 
126 
 

Notes on Spherical Damage 


Spherical Weapons 

Pulsar 
Does 2-24 damage points per size class of affected ship, in a 6-square radius. 

Plasma Flux 
The Eel’s weapons is very similar to the Pulsar but does 10-40 points of damage. 

Spatial Compressor 
Can do 4-32 damage irrespective of size class and does all damage to structure only, 
ignoring shields and armor, similar to a Gyro or the ESD mod. Range is 4 squares. Contrary 
to Pulsars, Compressors autofire against incoming missiles and fighters. 

Engine Explosion 
If a ship's drive is destroyed, it will cause an explosion that has a damage potential of 5 
times the maximum engine hit points (without Reinforced Hull). This damage value is 
tripled if the ship has a Quantum Detonator onboard. Contrary to other spherical weapons, 
the damage caused by a drive explosion dissipates linearly over range. 

Satellites 
Satellites have no drive, however if an orbital platform self-destructs it will still cause an 
explosion as if it has an engine of its corresponding ship size class (Star base gets Cruiser 
engine hp). 

Damage Calculation 

Actual damage done is calculated in different, independent ways for flyers and ships:  

Missiles and Fighters 


First of all, Fighters have a 50% chance to avoid the effects of any spherical damage. If the 
fail this ‘evade’ roll, they are treated in the same way as missiles. For each weapon in a slot 
a damage value is generated: 
 
D = (DamageMin + random(max-min)) * ordnance 
 
Note that Ordnance does not affect engine explosion. An engine explosion against missiles 
is just a static damage with dissipation without roll. 
 
The sum of all these damage values is multiplied by 25 and divided by the given hit points 
of one missile or fighter in the stack. Then, a random(100) value is generated for each flyer 
in the stack and compared with the result. If result >= roll, the flyer is destroyed: 
 

127 
 

DESTRUCTION IF: 
aggD * 25 / hit points >= random(100) 

Ships 
For ships the process is repeated and a new damage value (​D​) is generated. In the same 
way as for flyers above, the total damage per slot is calculated. The resulting value is the 
(structure) damage for Spatial Compressor. For other sphericals: After that, additional 
random(​aggD​ ) roll(s) follow and the number of rolls is determined by the size class of the 
target ship (0,1,2,3,4,5) + 1. Thus a frigate gets one roll, a destroyer two rolls, etc. Each roll 
is re-rolled if the outcome is not 1, causing a bigger chance to roll 1 in result. The addition 
of all results is the damage value against that ship. 

Final Notes 
Unlike beams, sphericals always use all weapons from the slot. As a result it makes a 
difference for missiles and shields if you have 1 slot with 5 weapons or 5 slots with one 
weapon. Fired from one slot, they do damage together (cumulative) and not separately. 
 
Every described damage calculation is done per target, so damage values for two different 
missile stacks or two separate, same-size class ships that get hit from the same spherical 
weapon shot can differ. 
 
Finally, damages of ship explosions can dissipate to 0 for missiles, but have a minimum 
damage of 1 against ships. 
 

   

128 
 

Notes on Orbital Assault 


If you attack an enemy’s colony world that has no defenses present or if you win the 
combat that results from it, your fleet gains control of the orbital space around the planet. 
This gives you the opportunity to assault the colony itself. One of the choices you can have 
in the Orbital Combat Selection window is to bombard the colony. 

Orbital Bombardment 

Estimated Bomb Hits 


The orbital bombardment phase can be seen as a micromanagement reducing process. In a 
simulation the number of bomb hits is determined as follows: All remaining ships fire all 
weapons 10 times, or as many times as there is ammo in 10 turns (so for example 5 shots 
for torpedoes) and total damage is calculated from it. This damage is divided by 100 to get 
the displayed number in the Orbital Combat Selection window.  
Note: 
- The maximum amount of bomb hits is 320 for the fleet in orbit. 
- Damage of beams and torpedoes are halved just like in tactical combat. 
- A better computer helps for beams here too. 
- The planet has 7% missile evasion, affecting missiles and torp hit chances. 

Depletion of Non-Missile Ammo Bug 


Due to a bug in classic, bombs only got 5 ammo and fighters no ammo at all during the 10 
turn simulation. Now, bombs get 10 ammo and fighters do 1 launch. Fixing this bug 
revealed another problem for fighters: the simulation always used the base weapon, eg 
laser cannon for interceptors, instead of the best available one. This has been fixed too. 

Planet Hits  
Each building 1 hit 
Stored Production (if >0) 1 hit (larger stored prod increases its hit chance) 
Each full population 1 hit 
Each fraction of pop (100k) 1 hit (population growth happens before combat) 
Each Marine 1 hit (modified by Heavy-G, Powered Armor) 
Each Tank 2 hits (modified by Heavy-G, Battleoids) 
 
There is no set chance to hit something, the roll is per total of planetary structures. 
 
 
 

129 
 

Notes on Winning the Game 


Your long struggle against hostile forces of the rest of the galaxy can only end in triumph or 
ignominy. If your last colony is destroyed or conquered, your empire no longer exists. In this 
case, your personal fate as an ex-emperor is something better left unmentioned. 
 
On the other hand, you might win. 

Orion Spoils 
Despite the game's name, defeating the Guardian of Orion does not automatically give you 
the game, although the benefits acquired from doing so brings ultimate victory close. By 
default you are rewarded with the ancient Death Ray technology. This prize can be 
changed to any tech with d
​ efeat_orion_reward_tech​. Use the technology table to look-up 
the desired tech number (47 = Death Ray). 

Win Conditions 
There are three ways to win the game - exterminate all opponents; get elected as the 
supreme leader of the galaxy by a two-thirds supermajority vote; or lead a successful 
assault against the Antaran homeworld by sending your fleet to their realm using a 
Dimensional Portal. If you time it right you can achieve two win conditions - defeat the 
Antarans and all opponents (Battle at Antares needs to happen last); or defeat the 
Antarans and also win by election. 

Score Calculation 
The highest score that the game can display is 32.767. One point more results in a 
displayed score of -32.768. The maximum possible score is -1 (from 65.535 points). The 
difficulty level has no effect on the score, but the following items matter: 

Time 
A starting value is calculated from galaxy size and number of players: 
 
Small: 100 points per player 
Medium: 120 points per player 
Large: 140 points per player 
Huge: 160 points per player 
 
One point is subtracted from the starting time value each turn. Time score can go negative 
if the number of played turns exceeds the starting value! 

Population 
+1 point for every unit of population. 

130 
 

Player Elimination 
+50 points for every eliminated player. 

Captured Colonists 
Each ​event o
​ f capturing colonists grants you points (note that this is not a modifier for 
captured population at the end of the game). Points vary according to galaxy size because 
“larger galaxy provides more opportunities to capture population”: 
 
Small: 2 points per captured colonist 
Medium: 1 point per captured colonist 
Large: 2/3 point per captured colonist (rounded down) 
Huge: 1/2 point per captured colonist (rounded down) 

Technology 
Each researched technology field adds 3 points. The fields Starting Tech (Capitol, Spy 
Network and Pulse Rifle) and Engineering (Colony Base, Star Base and Marine Barracks) 
are known from the start and are worth 3 points each. Thus, starting at the Average Tech 
level already gives a tech score of 21 points (the 6 base points + 5 basic tech levels Nuclear 
Fission, Cold Fusion, Chemistry, Electronics and Physics). 
 
Stolen, received or found technology does not increase the score unless it was the last one 
in a field and completes it. Each Hyper Advanced I level gives 5 points but Hyper Advanced 
levels II or higher add no points to the score. 

The Guardian 
Defeating the Guardian adds 100 points. This value can be changed with h
​ i_score orion​. 

Antares Win 
A win by defeating the Antaran Homeworld adds 250 well deserved points to the score. 
The value can be changed with ​hi_score antares. 

Council Win 
Brings in a meager 100 points. The value can be changed with h
​ i_score council​. 
 

131 
 

Acknowledgements 
 
We would like to thank: 
 
 
The MOO2 team 
for their inspiring game. Special thanks to coding team, they made our task of 
improving this game both manageable and enjoyable. 
 
Lord Brazen 
for his 1.40 patch which is incorporated into the 1.50 patch. 
 
Andrey Tyukov 
for his fixes included here, marked by *​ ​for ones directly included and by *​ * ​for 
modified implementations. 
 
TF8 
for his mapgen tool which also has a lot of info on game data structures. 
 
Nirran 
for his work on OCL Improved from which we took many offsets. 
 
Grig De Griz 
for his MoO2 Workshop which was used for updating help text files and 
manipulating images. 
 
All users who reported bugs and provided feedback 
for reporting bugs and providing feedback. :) 
 
 
Enjoy playing Master of Orion II: Battle at Antares with this patch! 
 
 
 
 
 
 
 
 
 
 

A
​ lex, Darza, Rocco. 
 
Jump to Table of Contents 

132 

You might also like