triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.35k stars 399 forks source link

Battle calculator in Global 1940 incorrectly distinguishes UK-pacific from British units #5844

Open panther2 opened 4 years ago

panther2 commented 4 years ago

As identified and discussed on https://www.axisandallies.org/forums/topic/34519/triplea-game-launcher-battle-calculator-problem-with-uk-pacific

The battle calculator identifies British units placed in territories that belong to the UK Pacific economy (those on the Pacific side of the map) incorrectly as "UK_pacific". This leads to strange results when the player switches to the correct "British" tag,

In Global 1940 “UK Pacific units” simply do not exist. By the rules “All combat moves, combat, and noncombat moves are made or conducted as any other power’s single, united force.” So the TripleA battle calculator seems to somehow “sort” those units depending on whether they are on the European side of the map or on the Pacific side of the map.

Interestingly this does not occur with sea units. Those are correctly represented as being “British”, even on the Pacific side of the map.

In the attached savegame (current stable) please use the BattleCalculator and look at SZ 37 and 39. The UK ships are correctly represented as “British”. The Infantry units in Malaya instead are incorrectly represented as “UK Pacific”, while they should be “British”, too. Switching to “British” sets everything to “Zero”.

testG40Bcalc2.zip

ron-murhammer commented 4 years ago

@panther2 I'm fairly certain its due to territory ownership being UK Pacific. The battle calc takes the defender as the territory owner which in that case is UK Pacific. You can probably have a similar test for say UK units on a USA owned territory and I think you'd get that same behavior if you wanted to then switch to UK as player.

Cernelius commented 4 years ago

Haven't tested this since a while, but I believe there is a closely related problem with assigning the defending player in territories, as I believe the defending player is given as the territory owner, if enemy to the current turn player, even if not having any units in the battle, while it should be one of the owners of the units that are defending in that battle (chosen with full consent of all other defending players).

Of course, this doesn't matter in 1v1 and hardly matters in two sided games anyways.

simon33-2 commented 2 years ago

Latest version of the battle calculator resolves the original problem but there are still issues with UK_Pacific units incorrectly lingering around in lobby games. No idea what is different in lobby games, just seems really strange.