pzgndr -> Loaned Unit Behaviors (9/28/2018 4:53:47 PM)
I'm investigating a couple of issues reported in Mantis. Here they are, and my thoughts.
836 pzgndr minor Game Enhancement 1.08.06
Loaned Unit Behavior
Loaned unit behavior should be clarified for both attack and defense situations, where either the loaned unit or the controlling player is at war with an opposing force. In lieu of repatriating a unit back to its original territory, consider changing this to a simple retreat into an adjacent area.
Murat. We had a game where the British tried to attack a stack that had defenders from 2 nations, one at war with Britain and one not. Britain could not attack. In your example, as long as there were mixed defenders, an attacker could not declare an attack. We may soon get to recreate this for you in our game.
Original Rule 126.96.36.199 STEP FOUR: All major powers not at war with the attacker (except the attacker and his allies at war with the defender and factors in cities or on depots) must now leave the area, moving to any adjacent area that, if possible, is closer or at least as close to their source of supply as the area they leave. [Units that cannot be retreated will be repatriated back to their home nation.]
INTERPRETATION: Ideally, retreating neutral corps to an adjacent area would be in accordance with the original rules, but introduces code complications. Currently, most combat situations simply leave the neutral corps out of combat and leaves it alone in the area if the controlling player is forced to retreat/withdraw. This should be acceptable. Code needs to fix situations where combat does not occur at all when controlling enemy units are present in the area. Repatriation is a separate issue and the code appears to move units to nearest friendly controlled area, which should be acceptable as is.
772 delatbabel major Game Bug 1.08.04
Naval woes with loaned fleets and corps
We're experiencing quite a bit of loaned fleet weirdness and some loaned corps weirdness. Any chance you can take a look please?
1. Assume Spain and Turkey are at war. Britain is not at war with either. Britain loans fleets to Turkey:
a. British fleets on loan (not carrying Turkish corps) can be attacked by Spanish fleets.
b. Turkey can use on-loan British fleets to attack Spanish fleets.
c. British fleets on loan to Turkey roll for, intercept, and attack moving Spanish fleets as they move past the British fleets during the Spanish naval phase.
2. Turkey loans fleets to Britain:
a. Spain cannot attack the Turkish fleets that are on loan to Britain in a sea zone.
b. Spain cannot attack the Turkish fleets that are on loan to Britain in a port.
c. Turkish fleets on loan to Britain can sail through a blockade box occupied by Spanish fleets.
d. Spain cannot enter the blockade box of a port where there are in-port Turkish fleets on loan to Britain.
e. Spain can enter a port where there are in-port Turkish fleets on loan to Britain, along with British garrison factors. No combat occurs.
3. Turkey loans fleets to Britain. Turkey does not have access allowed to British territory.
a. British fleets that are loaned to Turkey while in a British port are evicted from that port at the end of the reinforcement phase.
b. British fleets that are on loan to Turkey cannot move into a British controlled port.
I believe that all of the above is just one big bug -- fleets behaving as if they were "owned" by the receiving player rather than the recipient player in a fleets on loan situation.
2.a and 2.c in particular are game-blocking. In January 1805, France stacks a few corps along with all of its fleets in Brest, and loans the entire stack to Spain (Spain not being at war with Britain). Spain moves those fleets to the English Channel, past the British fleet blockade. Britain cannot attack those fleets and the blockade doesn't hold. Game over.
I have discovered one more regarding transported loaned corps in 1.08.04:
Turkey loans corps to Britain. Turkey is at war with Spain. Britain does not have access to Spain. Britain embarks Turkish corps on British fleets and sails those fleets to a sea area adjacent to a Spanish controlled land area. During the British land phase, the Turkish corps can then disembark into the Spanish controlled land area. At the end of the British land combat phase those (Turkish owned corps loaned to Britain) are then evicted from that Spanish controlled land area and repatriated to the nearest British territory.
Save game attached.
Note that the following bugs exist:
GB and Spain at war. Some Spanish fleets are loaned to Russia, which is neutral:
* British fleets cannot attack Spanish fleets on loan. e.g. in the Mediterranean near Tripoli.
* British fleets cannot blockade Trieste, which contains both Spanish fleets and corps. In fact, since Spanish corps are at war with Britain, Britain should be able to blockade Trieste even if it did contain only neutral corps (e.g. if a Turkish or Russian ship sailed into Trieste, Britain should immediately be able to place Trieste under blockade as it contains Spanish corps).
* Spanish fleets that have just been placed under Russian control have been evicted from Tripoli due to Russia having no access to Spain.
I think this needs fixing before 1.09. If a game allows "play by the software" rather than "play by the rules" (which I always insist on), then any new game is over very quickly as a triviality.
1. France loans all of its fleets to a neutral third party, e.g. Spain, as well as some number of corps sufficient to defeat London's garrison.
2. Neutral third party sails fleets to area off the coast of Britain, and unloads French corps into London.
3. French corps attack London. Britain surrenders unconditionally to France to avoid -3 PP and loss of income due to capital being occupied.
4. Repeat every 18 months, France wins the game.
Original Rule 188.8.131.52 INTERCEPTION PROCEDURE: When a phasing stack enters a sea area occupied by or adjacent to one or more enemy stacks, those enemy stacks may attempt to intercept the moving stack. An "enemy stack" is any stack containing fleets at war with any fleet or fleets in the phasing stack and/or at war with any corps that the phasing stack may be transporting.
Original Rule 6.2.7 BLOCKADE OF PORTS: A stack may only enter a blockade box if it is at war with the major power controlling the port or if the box or port contains an enemy fleet or enemy corps with neutral fleets that have announced combined movement (which makes transporting the corps possible-see 6.2.5).
INTERPRETATION: "Enemy Stack" is any stack containing fleets AT WAR with any fleet or fleets in the phasing stack, and/or AT WAR with any corps that the phasing stack may be transporting. The transport of an enemy corps on a neutral fleet is essentially an ACT OF WAR, and subjects the neutral fleet to interception combat AND prevents the neutral fleet from entering an enemy port or unloading corps on enemy territory (i.e., amphibious invasion). This should resolve most discrepancies, and is in accordance with the original rules.
So here's my ToDo List:
1) Fix combat for cases where controlling player has units present with enemy units.
2) Fix unit status of neutral fleets on loan to a controlling player at war with another major power.
3) Update unit status of neutral fleets transporting enemy units to be enemy fleets subject to interception/combat and restricted from entering enemy ports or unloading on enemy territory.
Please discuss. If there are other burning issues with loaned units, let me know. If you have any concerns with my interpretations and have suggestions, let me know. This is pretty tricky in the code, so I'd like to ensure we get it right, or close enough.