Progress update 2019-05-29
Ships window is DONE!
This was a huge amount of changes. I decided to implement the Apply Damage button as fully as I could, so in addition to the UI being functional in the window, ship damage and destruction is now in place.
The following damage and destruction mechanics are in place:
- shield absoprtion
- the 3 familiar cone-shaped armor damage templates
- very high damage scales only the penatration of the cone, not the width
- shock damage from heavy hits
- components can be destroyed (or survive
- destroyed components kill crew
- ships that are slowed due to damaged components are split into their own fleet
- a destroyed bridge can kill the commander
- a destroyed engine or power plant can trigger a secondary explosion
- a destroyed magazine can trigger a secondary explosion if there is excess ordnance that failed to eject
- destroyed ships create lifepods with remaining crew
- commanders have a chance to escape into the lifepod
- destroyed ships wrecks containing minerals, components, and tech
Mechanics match A4X as closely as possible, with possible deviation in the RNG. All events are logged. I completed just enough of the Events Window so that the damage logging can be seen.
I completed the Ships Requiring Repair window as well. Here is a jumbled list of what was implemented in the Ships window:
Limit list by 'no fighters' or 'military only'; sort by size, alpha, or hull; show commander and relevant bonuses; show basic information, power info, maintenance info; assign population; dynamic ship design display showing the effects of damaged components on the ships stats; range bands and target speeds on ship design display; class design display; combat settings: select point defense mode for selected fire control; set max pd range; assign eccms to fire controls; toggle auto fire, sync fire; raise/lower shields; activate/disable active sensors; assign weapons to fire control (single, group, or clear all); combat summary; transfer ordance between ships and/or pops; assign missiles to launchers (single, group, or clear); armor status; list DAC; show damaged systems; begin DC; add DC to queue; abort dc; re-order DC queue; remove from dc queue; abandon ship destroys ship and leaves lifepod with commander and crew; the Apply damage button; Delete all cargo; Misc tab: transfer fuel or maint supplies between ships or pops; set maint priority; toggle transponder; transfer ship to Alien empire, with or without commander; show military/commercial tonnage destroyed; toggle release of tech data; save changes to notes. Buttons on bottom: rename ship, select name from theme, delete ship, destroy ship, pick name of ship from class theme; zoom to ship's fleet on galmap; add custom history to ship; toggle all active sensors off; SM Repair All; SM Refuel All; Auto FC.
Transfer ship to Alien empire is an interesting highlight; this is a pretty hefty bit of code in place that can be adapted for ship capture later on.
Another nice mention is the Auto FC button; the code for this should be reusable for AI later on.
Intentional deviations from A4X mechanics: Auto FC I think may be a bit better than A4X's version; Added population dropdowns to the Misc tab, to remove ambiguity of multiple pops of different species stacking in the same location; Added the Apply Damage control to the Ship Design Display and Armor Status tabs, might remove them later; And reworked Ship Design Display to match Class Design Display much more closely.
Finally, there are a few sections such as parasites that I am saving for later. Screenshots of all the tabs are in the offtopic bar above. Latest build pushed to itch.
I'm very close to the end of this UI phase. I have the rest of the Events Window to do (filtering, coloring, etc). And, all of the Task Groups window, which is another beefy one, so it will be another while before my next update. After that, I can finally shift gears and start a campaign!