crash: unloading to multiple territories

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

crash: unloading to multiple territories

panguitch
Perhaps this is known, but someone playing my Greyhawk Wars map just pointed out a bug. I've tested and it occurs in other maps also. It can cause the game to crash and is also a minor exploit.

1. Open any map.
2. Board two units on a single transport.
3. Unload one unit to territory A.
4. Undo.
5. Go to Show History.
6. Click on stats or any other tab besides History.
7. You can now unload one unit to territory A, despite being in history mode.
8. Show current game.
9. You can now unload the second unit to territory B, despite having already unloaded the first to territory A.
10. Undo both moves.
11. Try unloading them again and the game crashes.

You can easily reproduce this on any map. But just in case it's helpful, attached is a Greyhawk Wars save game and error log.
DoubleUnloadCrash.tsvg
DoubleUnloadBug.txt

Is this a known issue?

Greyhawk Wars
TripleA in the original Dungeons & Dragons world

Reply | Threaded
Open this post in threaded view
|

Re: crash: unloading to multiple territories

aaalafayette
Administrator
Not a known issue - thank you for the bug report. Tracking it in: http://github.com/triplea-game/triplea/issues/393
Reply | Threaded
Open this post in threaded view
|

Re: crash: unloading to multiple territories

panguitch
Weird stuff.

Another bug cropped up in this game, and I believe I've pinpointed it to the same "move during show history" problem.

Control Version
Here's a save game from immediately before the "move during show history." projpower17.tsvg
Here's the same, but with some editing done to allow Pomarj to conquer Duxchan. projpower17-factoryunload-noerror.tsvg 

The point is that Pomarj has conquered Duxchan, and if you now go into edit mode, you could remove the Pomarj hero (factory) unit from Duxchan without error (hero is the one with the icon/coat of arms). Similarly, if you played through to next round, that hero (factory) could place new units in Duxchan. In other words, things are functioning normally when the "move during show history" never happened.

Bugged Version
Now here's a save from immediately after the "move during show history," and also after AI-controlled Suel has conquered Duxchan. projpower19.tsvg
Here's the same, but with some editing done to allow Great Kingdom to conquer Duxchan. projpower19-factoryunload-yeserror.tsvg 

Here, after Great Kingdom has conquered Duxchan, you can go into edit mode and try to remove Great Kingdom's hero (factory) and it now gives you an error: "Can't remove transported units without removing transport." Same if you try to remove any of the other units. And if you play through to next round, you can't place new units in Duxchan ("No factory in Duxchan") because it still thinks that hero (factory) is on a transport. But if you were to play through the round and then move that hero back to a different Great Kingdom territory, it could place new units as normal--its "currently on a transport" status would become unstuck once it leaves Duxchan.

Speculations
I've narrowed it down to this moment, when Pomarj was messing around with the "move during show history" bug. Immediately after, AI-controlled Suel conquers Duxchan. And something gets messed up with Duxchan. From then on, throughout the game, any units or heroes a different faction unloads while conquering Duxchan get stuck in "currently on a transport" status. If Duxchan is already owned and they're unloaded during non-combat, they don't get stuck.

My guess is that whatever bug was introduced by Pomarj doing the "move during show history" was carried over into the AI-controlled Suel conquering Duxchan. Perhaps the game was still in "show history" when Suel conquered Duxchan? And now any units that conquer Duxchan get stuck with "on a transport" status, but only for Duxchan, and only if they unload to Duxchan in combat move.

I've combed through the XML after the problem is introduced and can't see anything messed up regarding Duxchan (stuckontransportedstatus.xml). So I'm at a total loss for explaining it, but I do think it's tied to the "move during show history" bug. If so, then solving one solves the other--I'm just posting this long confusing message in the hopes that describing this manifestation/consequence of the bug might help in finding a fix.

Greyhawk Wars
TripleA in the original Dungeons & Dragons world