Tutorial: don't understand naval movement



  • [Edit: added a github issue for this]

    I'm Germany and want to attack UK boats. I purchased and moved to combat phase, but only some of my naval units have movement points.
    0_1520971080348_933f6325-3ace-44e1-91a7-e3bf25b7d61f-image.png
    When I select a sub, for instance, it shows the red x that I can't move it and there's a message "Not all units have enough movement"

    0_1520971130425_ff7f65fb-a5a1-49ae-b2a0-1ca958e44342-image.png

    0_1520971054794_0ba0c482-5981-44a7-9f60-366758edad81-image.png

    In this case, my destroyers and carrier and planes can move, but the other units can't.

    I don't know how to see "available movement points" per unit, either, so I can't dig into what's going on.

    So, I don't know if this a bug or just me mis-understanding something.
    Here's a zipped version of the savegame.
    0_1520971327387_tutorial-18.tsvg.zip

    Engine version: 1.9.0.0.9687
    MacOS - Sierra



  • So, something is definitely broken, but I'm not sure why/what.

    Move an infantry to transport:
    0_1520972059893_610505c0-590a-413c-bddb-23595421bf28-image.png

    Attack UK
    0_1520972090620_b25707d3-903a-49e8-97e0-c75749ef622f-image.png

    0_1520972113905_be811c59-da64-432c-8daa-222e1468801b-image.png

    Error: Not being carried, unit:infantry owned by Germans transport:transport owned by Germans
    java.lang.IllegalStateException: Not being carried, unit:infantry owned by Germans transport:transport owned by Germans
    	at games.strategy.triplea.delegate.TransportTracker.unloadTransportChange(TransportTracker.java:131)
    	at games.strategy.triplea.delegate.MovePerformer.markTransportsMovement(MovePerformer.java:437)
    	at games.strategy.triplea.delegate.MovePerformer.access$700(MovePerformer.java:36)
    	at games.strategy.triplea.delegate.MovePerformer$3.execute(MovePerformer.java:168)
    	at games.strategy.triplea.delegate.ExecutionStack.execute(ExecutionStack.java:42)
    	at games.strategy.triplea.delegate.MovePerformer.populateStack(MovePerformer.java:290)
    	at games.strategy.triplea.delegate.MovePerformer.moveUnits(MovePerformer.java:75)
    	at games.strategy.triplea.delegate.MoveDelegate.move(MoveDelegate.java:604)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at games.strategy.engine.delegate.DelegateExecutionManager$1.invoke(DelegateExecutionManager.java:129)
    	at com.sun.proxy.$Proxy2.move(Unknown Source)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeSingle(EndPoint.java:157)
    	at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeMultiple(EndPoint.java:140)
    	at games.strategy.engine.message.unifiedmessenger.EndPoint.invokeLocal(EndPoint.java:126)
    	at games.strategy.engine.message.unifiedmessenger.UnifiedMessenger.invokeAndWait(UnifiedMessenger.java:105)
    	at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:52)
    	at com.sun.proxy.$Proxy2.move(Unknown Source)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at games.strategy.engine.gamePlayer.DefaultPlayerBridge$GameOverInvocationHandler.invoke(DefaultPlayerBridge.java:151)
    	at com.sun.proxy.$Proxy2.move(Unknown Source)
    	at games.strategy.triplea.TripleAPlayer.move(TripleAPlayer.java:325)
    	at games.strategy.triplea.TripleAPlayer.move(TripleAPlayer.java:330)
    	at games.strategy.triplea.TripleAPlayer.move(TripleAPlayer.java:330)
    	at games.strategy.triplea.TripleAPlayer.start(TripleAPlayer.java:124)
    	at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:515)
    	at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:404)
    	at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:254)
    	at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:58)
    	at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
    	at java.lang.Thread.run(Thread.java:745)
    	at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:64)
    	at com.sun.proxy.$Proxy2.move(Unknown Source)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at games.strategy.engine.gamePlayer.DefaultPlayerBridge$GameOverInvocationHandler.invoke(DefaultPlayerBridge.java:151)
    	at com.sun.proxy.$Proxy2.move(Unknown Source)
    	at games.strategy.triplea.TripleAPlayer.move(TripleAPlayer.java:325)
    	at games.strategy.triplea.TripleAPlayer.move(TripleAPlayer.java:330)
    	at games.strategy.triplea.TripleAPlayer.move(TripleAPlayer.java:330)
    	at games.strategy.triplea.TripleAPlayer.start(TripleAPlayer.java:124)
    	at games.strategy.engine.framework.ServerGame.waitForPlayerToFinishStep(ServerGame.java:515)
    	at games.strategy.engine.framework.ServerGame.runStep(ServerGame.java:404)
    	at games.strategy.engine.framework.ServerGame.startGame(ServerGame.java:254)
    	at games.strategy.engine.framework.startup.launcher.LocalLauncher.launchInNewThread(LocalLauncher.java:58)
    	at games.strategy.engine.framework.startup.launcher.AbstractLauncher.lambda$launch$0(AbstractLauncher.java:51)
    	at java.lang.Thread.run(Thread.java:745)
    

  • Moderators

    This definitely seems to be a bug, your units should be able to move normally.
    I was able to reproduce the problem on windows with your save.

    Did this happen more in your game or was this the first event?


  • Admin

    @zjelcop The tutorial has some really specific things it prompts the player to do during the course of a turn. Could it perhaps be related to that?



  • @zjelcop said in Tutorial: don't understand naval movement:

    Did this happen more in your game or was this the first event?

    I went back to the earliest autosave and it was still an issue. I just didn't try to move them until this turn.

    I went back to a manual save from turn 14 and it didn't appear to have been an issue yet, but those units also weren't all together yet.


  • Moderators

    I was thinking about that, but can't think of anything.
    Also only 1 destroyer can move, 2 others can't.
    I made several savegames from History, up to just after the original battle in Round 16.
    Momevent points are not being restored somehow, not even after a full round.

    @WG to continue the Tutorial you can use "Edit":
    -Remove the german Naval units.
    -Add them back with Edit
    -They can move normally again now

    Thank you for supplying the savegame and plenty of details, that helps a lot.
    I'll report the bug for you.



  • @Zjelcop Thanks for the fix and for passing it along. I saw the discussion on Github about moving issues to the forums and it was still in-progress, so I started here but I can post anything I find as I'm learning there if that's preferred.


  • Moderators

    Feel free to post it yourselves on Github if you want, that is appreciated.
    Put a link in to this discussion if you do.




 

Looks like your connection to TripleA Forum was lost, please wait while we try to reconnect.