Aurora is on version 2.5.0 C#, available at the Aurora Forums.

Contact Erik on the forum for a wiki account.

C-Ship-Combat

From AuroraWiki
Revision as of 00:26, 13 January 2019 by King-Salomon (talk | contribs) (Created page with "==Fire Controle Settings== ====Point Defence==== In C# Aurora, fire controls set to 'Final Defensive Fire' or 'Final Defensive Fire (Self Only)' will fire on hostile missile...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Fire Controle Settings

Point Defence

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.

Date 12.12.2018


Combat

Combat Reports

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.

http://www.pentarch.org/steve/Screenshots/FiringSummary002.PNG

http://www.pentarch.org/steve/Screenshots/DamageReport003.PNG

Subsequent damage reports in the next two five-second increments as the Japanese ship continues firing with 10cm railguns. The 15cm railguns are recharging.

http://www.pentarch.org/steve/Screenshots/DamageReport004.PNG

http://www.pentarch.org/steve/Screenshots/DamageReport005.PNG

The ship is finally destroyed by the next volley.

http://www.pentarch.org/steve/Screenshots/DamageReport007.PNG

Date 14.03.2018


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.

Date 11.03.2018