@Trevan said in Usage of "Submarines Defending May Submerge Or Retreat"?:
According to POS2,
"Submarines Defending May Submerge Or Retreat" is to allow defending subs to submerge or retreat to friendly territories.
I don't think so. I believe it is only about allowing them to submerge, as they are already able defensively to retreat.
I see the description is:
<!-- Submarines Defending May Submerge Or Retreat will allow defending submarines to retreat to friendly sea zones or submerge -->
I believe this is a wrong description. This rule is not allowing any submarine to retreat (they already can). I suggest changing the description to something like "... will allow defending submarines to submerge. If the submarine is also able to retreat to a friendly sea zone, it can do either (not both)".
It looks like, though, that the code only uses it for the submerge test (can defending subs submerge). Defending subs are always allowed to retreat if there are "friendly" or empty water territories near by.
I think this is correct.
This is how the basic "Classic" game works, that is almost always the default behaviour for TripleA (the few instances when it is not I believe are problems). The documentation here
is missing telling that "v1" is "Classic", however. This is something of common knowledge that should be added to the documentation (can a developer officially document in there that "Classic" is the "v1" default for the program, please (I guess you can ask Veqryn and he will confirm)?).
In addition, how should it interact with
"Submersible Subs"? If
"Submersible Subs" is true, then the defending subs ignore the value of
"Submarines Defending May Submerge Or Retreat" and always submerge.
As far as "Submersible Subs" go, I believe that is not just about making submarines able to submerge, but it is a more general property for turning a number of behaviours of submarines to v2 rules (like making them unable to retreat and giving them the ability to move through). Since the "Submarines Defending May Submerge Or Retreat", despite what it says, is not adding to the submarines the ability to retreat, and "Submersible Subs", despite what it says, is removing from submarines the ability to retreat (in favour of submerge only), I think "Submarines Defending May Submerge Or Retreat" being completely superseded by "Submersible Subs" (if "Submersible Subs" is true, it doesn't matter the value of the other property), when both are true, is consistent with their behaviour (but certainly not with their names).
"Submersible Subs" is false and
"Submarines Defending May Submerge Or Retreat" is true, then the defending subs can still submerge but only if there are other territories that it can retreat to.
I believe this is a wrong behaviour, as, under the "Submarines Defending May Submerge Or Retreat" rule, submarines can submerge regardless whether or not they can retreat (meaning that I believe they should be able to submerge also if all surrounding zones of the same space are hostile or the zone is connecting to no zone of the same space (by space, I mean sea if the submarine is a sea unit, land if the submarine is a land unit, both if the submarine is an air unit, though air submarines should be able defensively to retreat only to a sea zone where they can land)). Of course, I suggest fixing it. However, I'm only almost sure of this, so I'll defer to @Panther if certainty can be achieved (it's v1.III).
I've attached a zip with 4 save games on world war II classic and with various options set.
"DefSubNoSubmergeRetreat.tsvg" has both options set to false. Play the battle and you'll see that the German defending subs can still retreat.
"DefSubNoSubmergeRetreatButSubmersible.tsvg" has only
"Submersible Subs" set to true. The German defending subs can submerge.
"DefSubSubmergeRetreatButNotSubmersible.tsvg" has only
"Submarines Defending May Submerge Or Retreat" set to true. The German defending subs have no friendly territory to retreat to so there is no option to withdraw or submerge.
"DefSubSubmergeRetreatButNotSubmersibleWithFriendlyWater.tsvg" is identical to "DefSubSubmergeRetreatButNotSubmersible.tsvg" except this time the German defending subs have a friendly territory. In the territory dialog, you can select the current territory and submerge there.
I've not tested your save-games, as I believe I understand what you are describing. Let me know if I'm not.
In practice, I believe most problems here are naming problems (as usual in TripleA):
- "Submarines Defending May Submerge Or Retreat" should be called "Submarines Defending May Submerge" (since they can already retreat, and the property is not adding nor removing this ability) (the former name being deprecated).
- "Submersible Subs" is such a bad (highly lacking) name that it should just be deprecated (especially now that "isSub" itself is split into its components) and substituted with a number of properties, each of them focused on a single behaviour and correctly descriptive, like "Submarines Offending May Submerge", "Submarines Defending May Submerge", "Submarines May Not Retreat Independently", "Submarines May Move Through Enemies" (and whatever else I'm missing) (keeping "Submersible Subs" as a deprecated option that does nothing on its own and sets all these options true if true).
All this beside every other known problem related to submarines (like the fact that they can only submerge all together, while the ability should be selective).
I hope this helps, I got everything right, and the developers may fix all problems (both naming and behaviour ones) I described.