@redrum Point 4 and 6 are not part of the basic "isSub" option. Those are additional v3 behaviours. So, if done all 6 as options, 1, 2, 3 and 5 would be effective as default (albeit 1 and 2 would be subjected to a number of different behaviours, depending on several properties (for example, with 1 you have the defensive retreat of v1.I/II, the additional defensive submerge ability of v1.III, the overriding offensive/defensive submerge after combat ability of v2, and the once again overriding offensive/defensive submerge before combat ability of v3)).
Also surpriseStrike could be split into surpriseOffence and surpriseDefence.
Also, a thing to keep in mind is that "isDestroyer" negates 1, 2, 5, as well as 4, if it applies (v3), but does not impact on 3, as well as 6, if it applies (v3).
So, I think it is really a very important thing to finally have these behaviours atomized (I recall veqryn had this plan too), also since by now, with all the various rulesets, a ridiculous number of different behaviours are all hard mashed into the "isSub" property, but the challenge would be to make it in a way to minimize confusion.
I think the atomization itself would help so much in making things way more clear, in the moment you have different options, while the "isSub" would just, then, say that it sets these 4~6 options all true.
On the namings, I really don't like "surpriseStrike", as it doesn't clearly hint about what is happening, and it seems like something that the opponent won't see it coming (that is never possible in TripleA, as nothing can be hidden). On this point, also "canHide" can be rather named "canDisengage", as that makes me think that you can hide submarines on the board, the opponent not knowing where they are (something that would be really cool).