it has been requested since i made aa-guns cool, to have the ability for offensive (ie: attacker) aa guns
i'm going to try to do it, but I need to work out some details first
we have the following AA properties right now:
private boolean m_isAAforCombatOnly = false;
private boolean m_isAAforBombingThisUnitOnly = false;
private boolean m_isAAforFlyOverOnly = false;
private boolean m_isRocket = false;
private int m_attackAA = 1;
private int m_attackAAmaxDieSides = -1;
private int m_maxAAattacks = -1; // -1 means infinite
private int m_maxRoundsAA = 1; // -1 means infinite
private String m_typeAA = "AA"; // default value for when it is not set
private HashSet<UnitType> m_targetsAA = null; // null means targeting air units only
private boolean m_mayOverStackAA = false; // if false, we can not shoot more times than there are number of planes
private boolean m_damageableAA = false; // if false, we instantly kill anything our AA shot hits
private HashSet<UnitType> m_willNotFireIfPresent = new HashSet<UnitType>(); // if these enemy units are present, the gun does not fire at all
<property name="Always on AA" value="false" editable="true"> <boolean/> </property> <property name="Roll AA Individually" value="true" editable="false"> <boolean/> </property> <property name="Random AA Casualties" value="false" editable="false"> <boolean/> </property> <property name="Choose AA Casualties" value="false" editable="false"> <boolean/> </property> <property name="AA Territory Restricted" value="true" editable="false"> <boolean/> </property> <property name="Force AA Attacks For Last Step Of Fly Over" value="false" editable="false"> <boolean/> </property> <property name="Multiple AA Per Territory" value="true" editable="false"> <boolean/> </property>
Now I think most of these can be applied to both offensive and defensive aa guns, or are irrelevant to the situation of combat.
So lets go through what offensive aa guns would mean:
1. only would mean something in normal "combat", therefore would need isAAforCombatOnly turned on. No such thing as offensive aa during movement or during strat bombing.
2. would fire before defensive aa guns, in keeping with triplea/a&a tradition of having offense always fire first.
3. would not allow return fire by killed defenders, in keeping with my person tradition of not giving myself way too much extra work
4. casualty choice would use whatever global property is set (ie: choose/random/individual). all other global properties are meaningless (always-on/restricted/last-step/multiple).
5. would use some of the same combat properties as defensive aa guns, such as "typeAA", while having new unit properties for others, such as "offensiveAttackPowerAA" or something.
That last point is important because it sort of determines just how much work vs how customized they are.
It would only really matter in a situation where you had a unit which is BOTH an offensive AND a defensive AA gun type of unit. (in situations where it is just one, then it is 100% customizable. in situations where it is both, it must be partially similar for both)
The points that I could potentially make new abilities for are:
attackAA = 1;
attackAAmaxDieSides = -1;
maxAAattacks = -1; // -1 means infinite
maxRoundsAA = 1; // -1 means infinite
typeAA = "AA"; // default value for when it is not set
targetsAA = null; // null means targeting air units only
mayOverStackAA = false; // if false, we can not shoot more times than there are number of planes
damageableAA = false; // if false, we instantly kill anything our AA shot hits
willNotFireIfPresent = new HashSet<UnitType>(); // if these enemy units are present, the gun does not fire at all
I think the bare minimum, which is all I plan to do unless I am persuaded otherwise, is to have just these 2 new abilities:
Sounds OK. IF attack AA is going to allow a list of viable targets, then it might not be necessary. If fighters are given 1d6 AA on attack and on defense versus other air units, then it would be like a submarines attacking regular ships... unless you code in automatic return fire for the casualties. I dont see a big difference, so I would not bother with the additional complexity. The coder could always compensate through balance.. giving the surviving defending fighters 2d6 AA would balance this and be quite interesting.
EDIT: I see you already coded simultaneous fire. Thats cool too.
'thats the way it is' makes it neither desireable nor inevitable
The question as to whether 2 A.A. units facing off against one another should allow both a shot prior to casualty selection is a good one. I am trying to run the concept through my mind. I don't see an issue with either if it is consistent. If adding a retaliation strike for a casualty is going to be a great deal of work then it may be not be 100% necessary since once a game is setup that particular feature can be accounted for via unit quantities and strengths.
I'd say work with whatever is achievable.
I like really like all the other features as they are described.
Can't wait to see the new version.
“A man can never have too much red wine, too many books, or too much ammunition”― Rudyard Kipling
Sounds cool. Gets me wondering what/if any changes would ever be made to the board game version of this game that came from modifications of the computer version of the game. If ever the board game got so complex with all these options like the computer version has it brings to mind an old game I've played called Squad Leader. Anyone ever play it? It was so tedious and had a huge rule book and the pieces were too small but was an intricate and interesting war battle board game. Squad Leader lacked swiftness and atmosphere and artistic flair like the Axis and Allies board game version has but it was intricate and intelligent. I still would love to see how the Axis and Allies board game develops because its still my fav and a classic.