Aurora is on version 1.9.5 C#, available at the Aurora Forums.
Contact Erik on the forum for a wiki account.
Fire Controle Settings
Automated Weapon Assignment
C# has a more intelligent auto-assignment for weapons and fire controls. You can set up a ship with a single click and then adjust as necessary. The code assumes that
- Any missile fire control with a resolution of 1 is an anti-missile fire control
- Any missile fire control with a resolution greater than 1 is a 'normal' missile fire control
- Any beam fire control with a tracking speed at least 2x racial speed is a point defence fire control (some leeway here for older ships)
- Other beam fire controls are for offensive weapons
- Weapons within the given category (missile PD, missile offensive, beam PD, beam offensive) are split equally between fire controls of the same category
- More powerful beam weapons are assigned first
- ECCM is assigned as available with the priority order of offensive launcher, PD launcher, offensive beam, PD beam
The assignment code will take account of damage to the ship and adjust accordingly. In most cases, the above will be sufficient (and will be used for NPR designs). For more bespoke and unusual player ships, some tweaking may be necessary.
for examples and screenshots please see http://aurora2.pentarch.org/index.php?topic=8495.msg107378#msg107378
In C# Aurora, fire controls set to 'Final Defensive Fire' or 'Final Defensive Fire (Self Only)' will fire on hostile missiles, regardless of whether the fire control is set to 'Open Fire'. Fire controls set to Area Mode or for AMMs will only fire defensively when that fire control is set to 'Open Fire'.
When a missile reaches its target, a target ship will use its CIWS first. If that is insufficient, it will use any weapons linked to fire controls set to 'Final Defensive Fire' or 'Final Defensive Fire (Self Only)'. If that is still insufficient, ships or the same race or an allied race with fire controls set to 'Final Defensive Fire' will be checked in increasing order of distance from the target ship.
A target population will use any ground units assigned to point defence to shoot at incoming missiles. If that is insufficient, the same process as for ships will take place, checking same race or allied ships within point defence range of the planet.
In VB6, understanding the combat events can be difficult given the sheer amount of information. Therefore, C# Aurora uses a condensed system where you no longer see each individual weapon firing, or the damage from individual hits. Instead weapon fire and any resulting damage are shown in a summary format. The side being attacked will also receive some information about the firing ship, using the Alien Ship Name if available.
Here is the summary when a Japanese destroyer opens fire on a Martian Patrol Ship. The different in hull designation in the two reports is because Mars classes the Monoceros as a patrol ship, while Japanese Intelligence classes it as a destroyer.
Subsequent damage reports in the next two five-second increments as the Japanese ship continues firing with 10cm railguns. The 15cm railguns are recharging.
The ship is finally destroyed by the next volley.
Armour Damage Templates
In VB6 Aurora, the damage templates for each weapon are held in a database table, with one row for each combination of weapon type and damage amount. While this is simple, it mean any new weapon or change to damage model has to be laboriously updated in the table.
For C#, the damage templates are generated in code as needed based on a 'gradient' system. All the damage starts at a single point and is distributed right and left according to the gradient setting. Any column which has damage greater than the gradient, checks left and right. If an adjacent column has a damage amount that is lower than the current column damage minus the gradient, a single point of damage is moved to that column. The adjacent column with lower damage is used first. The code cycles back and forth through the columns until no more adjustments are necessary
For example, missile damage has a 'gradient' of 1. Therefore, there cannot be a gap of 2 damage between adjacent columns. Laser damage has a gradient of 3, so any gap of 4 damage between columns is corrected. Here are some examples for 25 damage:
- Gradient 1 (Missile, Carronade, Ramming): 1,2,3,4,5,4,3,2,1
- Gradient 2 (Railgun, Particle Torpedo): 1,3,5,7,5,3,1
- Gradient 3 (Laser): 3,6,8,5,3
Particle Lances cause damage in a single column, gauss cause only a single point of damage and meson ignore armour.
The template generation takes about a millisecond so there is no performance issue. This means that new weapons with higher gradients can be added very easily.
At the point when any weapon (energy-based or missile launcher) fires, there is a 2% chance the weapon will suffer a failure. If sufficient maintenance supplies are available, the weapon will be instantly repaired and will fire normally. If maintenance supplies are not available, the weapon will be damaged and unable to fire.
This is partially to simulate the stress of combat on weapon systems, but also as a balance to other rule changes.
Space to Ground & Ground to Space Combat
Boarding combat in C# Aurora is similar in principle to VB6 Aurora with some adjustments for the new ground combat mechanics.
The boarding attempt process is as follows:
- 1. Only a ship with a boarding-equipped troop transport bay can be ordered to make a boarding attempt
- 2. Only formations that consist entirely of infantry can take part in a boarding attempt
- 3. Boarding attempts cannot be made against ships that are faster than the ship making the boarding attempt
- 4. A fleet given the 'Attempt Boarding Action' (for a specified formation) or 'Attempt Boarding Action All Formations' will attempt to end its movement in the same location as the target ship. If that happens, a boarding attempt will be made.
- 5. The percentage chance of each individual unit (soldier) conducting a successful boarding attempt is equal to 10% x (Boarding Ship Speed / Target Ship Speed). So if the boarding ship is 10x faster than the target ship, success is automatic.
- 6. Any unit with a 'Boarding Combat' capability has double the normal chance of success. In this case, if the boarding ship is 5x faster than the target ship, success is automatic.
- 7. Any units that do not make the successful attempt are killed. If an HQ unit is lost, there is a chance the formation commander is killed based on (1/Number of HQ units), which is an automatic kill result if only one HQ exists
Once on the target ships, the surviving attackers will move inside if there is a hole in the armour. If there is no hole, the boarders will use a breaching charge to destroy one armour at the weakest point every thirty seconds until they gain access.
Once inside the target ship, a boarding combat round is conducted every five minutes. This is very similar in principle to ground combat, albeit without support artillery, aircraft, etc. and with no concept of front-live vs rear. There is no 'fortification' in the ground combat sense, but the defenders are given a fortification level of 2 to simulate the advantages of defence within the ship. Each formation on each side randomly selects a target formation on the opposing side, using a weighted random selection based on size. Each unit in each formation selects a random formation element in the opposing formation, again using a weighted random selection based on size, and conducts an attack using the normal ground combat procedure:
The commanders of each formation provide a bonus to hit with their Ground Combat Offence bonus and provide a bonus to fortification (base fortification is 1 on attack and 2 on defence) with their Ground Combat Defence bonus. Any units on either side with 'Boarding Combat' capability have double the normal chance to hit.
For the purposes of boarding combat, the crew is a temporary formation with a single element composed of 'crew' ground units. A crew member is equipped with light personal weapons and has 'armour' equal to half the lowest racial armour for infantry. Casualties in this temporary formation translate into crew losses. Given that the crew is not well equipped for a fight of this type, it would advisable for ships to carry a small marine detachment if there is a chance they may face boarding attacks.
If the target ship is a carrier, formations based on parasite ships will fight to protect the mothership.
If all the defending units are killed, the ship is transferred to the new owners (I may also add some surrender rules so you don't need to kill all the crew).
To simulate the difficulties in making use of a captured ship, especially as the defenders have no doubt locked out the controls and sabotaged whatever they can, the captured ship is treated as if it just abandoned an overhaul and is given an overhaul factor of 0.01.
If a ship is captured, the associated Alien Class is updated with complete information.
Collateral damage can occur during boarding combat using the same rules as for ground-based collateral damage. All the damage is applied to the ship as a single internal hit. Because of the relatively small-scale of shipboard combat, any fractional points of collateral damage have a percentage chance of becoming full points equal to (fractional damage / 1). Damage to transport bays due to collateral damage will not kill defending troops (as they are fighting on the ship and not located in the bay).