To create a set of common features which can be easily reused. In the future, if forks (or even better yet, mods, i.e. with no coding intervention) of the original gameplay want to implement volley fire on other ships besides the set originally implemented by the Relic team, with this change, users are able to do so.
Changes
New shared modules added for volley fire and ammunition.
Implementations of volley fire and ammunition are decoupled from: minelayer corvette, missile corvette, missile destroyer
Any ship, in theory, can simply be enhanced with this:
Include volley fire and ammunition headers.
Initialize the specifics and statistics in the custom ship.
Reuse the abstracted methods in those headers for housekeeping and special target attack behaviors.
Implement additional logic as necessary to support those behaviors.
Edit the existing ship configurations to use volley fire.
Note: See #39 for example.
Tests
New feature
[x] Shared modules can be applied to other ship types.
[x] New configuration attributes for modding are backward compatible with old ones of existing ships.
Existing ships have no deviations from original behaviors:
Closes #22
Architecture enhancement.
To create a set of common features which can be easily reused. In the future, if forks (or even better yet, mods, i.e. with no coding intervention) of the original gameplay want to implement volley fire on other ships besides the set originally implemented by the Relic team, with this change, users are able to do so.
Changes
Any ship, in theory, can simply be enhanced with this:
Tests
New feature
Existing ships have no deviations from original behaviors:
P1MissileCorvette
: volley fire and ammunitionMissileDestroyer
: volley fire and ammunitionMinelayerCorvette
: ammunitionPlatforms
Known issues
Can't think of any.