TripleA Logo TripleA Forum
    • TripleA Website
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Tags
    • Register
    • Login

    2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6

    Scheduled Pinned Locked Moved News
    241 Posts 23 Posters 197.1k Views 21 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B Offline
      beelee @zlefin
      last edited by

      @zlefin

      yea so this is where it is for me. My small "t" triplea folder

      Screenshot from 2024-06-15 21-56-13.png

      1 Reply Last reply Reply Quote 0
      • cameronC Offline
        cameron @LaFayette
        last edited by

        @lafayette

        surely large maps mean more turns not less... certainly do in my games.
        it seems what you're saying is that it's not useful in multiplayer games so you're taking away the option from solo players just because we don't matter? i really don't understand why you'd remove the option. people don't have to use it if they don't want to. seems like you're punishing people for not playing the way you do.
        i didn't really get your bit about the keyboard shortcuts but if that's the problem just remove the keyboard shortcut - surely we don't have to have a keyboard shortcut for everything.

        ugh. skipping dozens of aaguns every round is such a pain in the arse.

        1 Reply Last reply Reply Quote 0
        • Z Offline
          zlefin Moderators
          last edited by

          ok, found that log file. here's the data it has from around the most recent instance

          313 08:16:49.940 [main] INFO o.t.game.client.HeadedGameRunner - Launching game, version: 2.6.14759
          406 08:16:50.033 [Thread-4] DEBUG g.s.e.data.gameparser.GameParser - Parsing game XML: C:\Users\Tom\triplea\downloadedMaps\battle_for_arda\map\games\Battle_For_Arda.xml
          10049 08:16:59.676 [HttpClient-1-Worker-0] ERROR o.t.h.c.w.s.GenericWebSocketClient - Web Socket error
          java.util.ConcurrentModificationException: null
          at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1626)
          at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
          at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
          at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
          at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
          at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
          at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
          at org.triplea.http.client.web.socket.GenericWebSocketClient.messageReceived(GenericWebSocketClient.java:133)
          at org.triplea.http.client.web.socket.WebSocketConnection$InternalWebSocketListener.onText(WebSocketConnection.java:248)
          at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask.processText(WebSocketImpl.java:627)
          at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask.run(WebSocketImpl.java:435)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:271)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:224)
          at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl.tryChangeState(WebSocketImpl.java:853)
          at java.net.http/jdk.internal.net.http.websocket.WebSocketImpl$SignallingMessageConsumer.onText(WebSocketImpl.java:786)
          at java.net.http/jdk.internal.net.http.websocket.MessageDecoder.payloadData(MessageDecoder.java:222)
          at java.net.http/jdk.internal.net.http.websocket.Frame$Reader.readFrame(Frame.java:465)
          at java.net.http/jdk.internal.net.http.websocket.TransportImpl$ReceiveTask.run(TransportImpl.java:665)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:271)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:224)
          at java.net.http/jdk.internal.net.http.websocket.TransportImpl$ReadEvent.handle(TransportImpl.java:762)
          at java.net.http/jdk.internal.net.http.RawChannelTube$ReadSubscriber.checkEvents(RawChannelTube.java:174)
          at java.net.http/jdk.internal.net.http.RawChannelTube$ReadSubscriber.onNext(RawChannelTube.java:204)
          at java.net.http/jdk.internal.net.http.RawChannelTube$ReadSubscriber.onNext(RawChannelTube.java:157)
          at java.net.http/jdk.internal.net.http.common.SSLTube$DelegateWrapper.onNext(SSLTube.java:202)
          at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(SSLTube.java:484)
          at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onNext(SSLTube.java:287)
          at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(SubscriberWrapper.java:318)
          at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(SubscriberWrapper.java:261)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(SequentialScheduler.java:175)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:271)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:224)
          at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:234)
          at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:200)
          at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(SSLFlowDelegate.java:403)
          at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(SSLFlowDelegate.java:264)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(SequentialScheduler.java:175)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:147)
          at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:198)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at java.base/java.lang.Thread.run(Thread.java:829)

          M 1 Reply Last reply Reply Quote 1
          • M Offline
            Myrd @zlefin
            last edited by

            @zlefin Thanks for reporting!
            I believe it should be fixed now with 2.6.14762.

            1 Reply Last reply Reply Quote 3
            • Z Offline
              zlefin Moderators
              last edited by

              it seems to be fixed, I'll keep an eye on it.

              However there's another issue which isn't necessarily new.

              I'm getting an error whenever I try to open the admin toolbox, which I uised to be able to when I was using 2.5.x

              other mod actions still work (insofar as I've tested), it's just opening the admin toolbox that isn't working.

              here's the log from the session, the error is a few lines down.

              204 13:21:30.921 [main] INFO o.t.game.client.HeadedGameRunner - Launching game, version: 2.6.14762
              329 13:21:31.046 [Thread-4] DEBUG g.s.e.data.gameparser.GameParser - Parsing game XML: C:\Users\Tom\triplea\downloadedMaps\battle_for_arda\map\games\Battle_For_Arda.xml
              14725 13:21:45.442 [AWT-EventQueue-0] ERROR o.t.game.client.HeadedGameRunner - [401 Unauthorized] during [GET] to [https://prod.triplea-game.org/maps/list-tags] [MapTagAdminClient#fetchAllowedMapTagValues()]: [Invalid request]
              feign.FeignException$Unauthorized: [401 Unauthorized] during [GET] to [https://prod.triplea-game.org/maps/list-tags] [MapTagAdminClient#fetchAllowedMapTagValues()]: [Invalid request]
              at feign.FeignException.clientErrorStatus(FeignException.java:224)
              at feign.FeignException.errorStatus(FeignException.java:203)
              at feign.FeignException.errorStatus(FeignException.java:194)
              at feign.FeignException.errorStatus(FeignException.java:171)
              at feign.InvocationContext.decodeError(InvocationContext.java:126)
              at feign.InvocationContext.proceed(InvocationContext.java:72)
              at feign.ResponseHandler.handleResponse(ResponseHandler.java:63)
              at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:114)
              at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:70)
              at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:99)
              at com.sun.proxy.$Proxy30.fetchAllowedMapTagValues(Unknown Source)
              at games.strategy.engine.lobby.moderator.toolbox.tabs.maps.MapsTabModel.fetchAllowedMapTagValues(MapsTabModel.java:44)
              at games.strategy.engine.lobby.moderator.toolbox.tabs.maps.MapsTab.mapTagTable(MapsTab.java:74)
              at games.strategy.engine.lobby.moderator.toolbox.tabs.maps.MapsTab.get(MapsTab.java:56)
              at games.strategy.engine.lobby.moderator.toolbox.tabs.TabFactory.buildMapsTab(TabFactory.java:77)
              at games.strategy.engine.lobby.moderator.toolbox.tabs.TabFactory.buildTabs(TabFactory.java:37)
              at games.strategy.engine.lobby.moderator.toolbox.ToolBoxWindow.lambda$showWindow$0(ToolBoxWindow.java:47)
              at org.triplea.swing.JFrameBuilder.lambda$build$0(JFrameBuilder.java:102)
              at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
              at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
              at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
              at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
              at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
              at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
              at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
              at org.triplea.swing.JFrameBuilder.build(JFrameBuilder.java:102)
              at games.strategy.engine.lobby.moderator.toolbox.ToolBoxWindow.lambda$showWindow$1(ToolBoxWindow.java:50)
              at org.triplea.swing.SwingAction.invokeNowOrLater(SwingAction.java:151)
              at games.strategy.engine.lobby.moderator.toolbox.ToolBoxWindow.showWindow(ToolBoxWindow.java:27)
              at games.strategy.triplea.ui.menubar.LobbyMenu.lambda$new$2(LobbyMenu.java:71)
              at org.triplea.swing.JMenuBuilder.lambda$addMenuItem$0(JMenuBuilder.java:54)
              at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
              at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
              at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
              at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
              at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
              at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
              at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
              at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
              at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
              at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
              at java.desktop/java.awt.Component.processEvent(Component.java:6400)
              at java.desktop/java.awt.Container.processEvent(Container.java:2263)
              at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
              at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
              at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
              at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
              at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
              at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
              at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
              at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
              at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
              at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
              at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
              at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
              at java.base/java.security.AccessController.doPrivileged(Native Method)
              at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
              at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
              at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
              at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
              at java.base/java.security.AccessController.doPrivileged(Native Method)
              at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
              at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
              at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
              at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
              at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
              at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
              at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
              at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

              1 Reply Last reply Reply Quote 2
              • Z Offline
                zlefin Moderators
                last edited by

                Is there a setting to change the battle calcs default nation selection? I couldn't find anything in engine settings or in the battle calc screen itself

                It used to be that it would default to the first hostile nation, but now it defaults to the nation who's current turn it is. That means that when I select one of my own provinces and open the battle calc it defaults to having my units as both the attacker and defender, which means I have to clear it in order to see what my units actual defenses are like (because a lot of units in the Arda map have modifiers that reduce hostile unit stats). I want to change the default so it's like it used to be, or at least defaults to something empty.

                M 1 Reply Last reply Reply Quote 3
                • B Offline
                  beelee
                  last edited by

                  I thought when you overbought max units, it wouldn't obliterate your entire buy ?

                  @TheDog did this change ?

                  cameronC TheDogT 2 Replies Last reply Reply Quote 1
                  • cameronC Offline
                    cameron @beelee
                    last edited by

                    @beelee
                    depends on game setting:

                    <property name="Unplaced units live when not placed" value="true" editable="false">
                    	<boolean/>
                    </property>
                    
                    1 Reply Last reply Reply Quote 1
                    • TheDogT Offline
                      TheDog @beelee
                      last edited by

                      @beelee

                      I thought when you overbought max units, it wouldn't obliterate your entire buy ?

                      Yes in latest 2.6 this is true.
                      Zlefin is asking about battle calcs, but I dont use that much.

                      https://forums.triplea-game.org/tags/thedog
                      https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

                      B 1 Reply Last reply Reply Quote 0
                      • B Offline
                        beelee @TheDog
                        last edited by

                        @thedog

                        ok I had that happen so I'll grab a save next time and make a issue

                        1 Reply Last reply Reply Quote 1
                        • B Offline
                          beelee
                          last edited by

                          Here's the save

                          Max Build Kills Entire Buy.tsvg

                          Game is here https://github.com/triplea-maps/global_40_expansion_uhd_boxes

                          Screenshot from 2024-06-21 12-32-28.png

                          Screenshot from 2024-06-21 12-32-51.png

                          Screenshot from 2024-06-21 12-33-02.png

                          Screenshot from 2024-06-21 12-33-17.png

                          Screenshot from 2024-06-21 12-33-29.png

                          Go ahead and move to wherever if needed. Saw we didn't have todo git reports anymore

                          B 1 Reply Last reply Reply Quote 2
                          • B Offline
                            beelee @beelee
                            last edited by

                            Edit
                            14752

                            B 1 Reply Last reply Reply Quote 0
                            • B Offline
                              beelee @beelee
                              last edited by

                              Idk if this matters but some units you are able to buy 3 of with 1 purchase

                              TheDogT 1 Reply Last reply Reply Quote 1
                              • TheDogT Offline
                                TheDog @beelee
                                last edited by

                                @beelee
                                I have checked, 1941 GCD also has the same problem, that is all the purchases are wiped, when one of the purchases exceeds the maxBuiltPerPlayer, just like 2.5 used to do. Also 1941 GCD only has 1 for 1 purchases.

                                Shame 2.6 has regressed.

                                https://forums.triplea-game.org/tags/thedog
                                https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

                                wc_sumptonW 1 Reply Last reply Reply Quote 1
                                • wc_sumptonW Online
                                  wc_sumpton @TheDog
                                  last edited by

                                  @thedog @beelee

                                  Pre-Release 2.6.14441 was a fix for this problem... But, Pre-Release 2.6.14578/2.6.14624/2.6.14742 which delt with losing purchase during a saved game.

                                  Cheers...

                                  1 Reply Last reply Reply Quote 2
                                  • M Offline
                                    Myrd @zlefin
                                    last edited by

                                    @zlefin said in 2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6:

                                    Is there a setting to change the battle calcs default nation selection? I couldn't find anything in engine settings or in the battle calc screen itself

                                    It used to be that it would default to the first hostile nation, but now it defaults to the nation who's current turn it is. That means that when I select one of my own provinces and open the battle calc it defaults to having my units as both the attacker and defender, which means I have to clear it in order to see what my units actual defenses are like (because a lot of units in the Arda map have modifiers that reduce hostile unit stats). I want to change the default so it's like it used to be, or at least defaults to something empty.

                                    I think this was just an oversight, I guess the case of someone doing a battle calc on another player's turn wasn't considered... I can check if we can revert that part of the logic.

                                    C Z 2 Replies Last reply Reply Quote 1
                                    • C Offline
                                      Cernel Moderators @Myrd
                                      last edited by Cernel

                                      @myrd said in 2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6:

                                      @zlefin said in 2.6 Release Getting Close - Need Volunteers to Help Beta Test 2.6:

                                      Is there a setting to change the battle calcs default nation selection? I couldn't find anything in engine settings or in the battle calc screen itself

                                      It used to be that it would default to the first hostile nation, but now it defaults to the nation who's current turn it is. That means that when I select one of my own provinces and open the battle calc it defaults to having my units as both the attacker and defender, which means I have to clear it in order to see what my units actual defenses are like (because a lot of units in the Arda map have modifiers that reduce hostile unit stats). I want to change the default so it's like it used to be, or at least defaults to something empty.

                                      I think this was just an oversight, I guess the case of someone doing a battle calc on another player's turn wasn't considered... I can check if we can revert that part of the logic.

                                      @Myrd Defaulting to "the first hostile nation" or whatever other deterministic way seems to me so simplistic that I would leave it empty.

                                      If it has to default to something (and we are not using some sort of artificial intelligence somehow to calculate the most likely player against which it can be assumed one would want to calculate), I would have it being purely randomized but excluding the "Neutral" player and every player assigned as default to "Does Nothing".

                                      For example, if, in "270BC Wars", I open the battle-calculator on "Carthage", the other side would be given as either "Rome", "FreeGreece", "Egypt" or "Parthia" with a chance of 25% for each of them (the random selection happening every time it is opened).

                                      Alternatively, it would make sense to base it on simple statistical values, like opening on the enemy player having the highest current production amongst them all (the "biggest" one).

                                      (The eligible players should be either them all or based on the alliances of playerList, not on the relationships (because there are and may be games in which you want to battle-calculate now against players having an allied relationship with you with which you may be at war in the future))

                                      TheDogT 1 Reply Last reply Reply Quote 0
                                      • TheDogT Offline
                                        TheDog @Cernel
                                        last edited by

                                        @Myrd / asvitkine
                                        Thanks for fixing the purchase panel persisting on max built error.

                                        Here is the release that fixes it.
                                        https://github.com/triplea-game/triplea/releases/tag/2.6.14766

                                        https://forums.triplea-game.org/tags/thedog
                                        https://forums.triplea-game.org/topic/3741/curated-best-top-maps-triplea-guides

                                        1 Reply Last reply Reply Quote 4
                                        • Z Offline
                                          zlefin Moderators @Myrd
                                          last edited by zlefin

                                          @myrd

                                          I don't understand why you mention doing a battle calc on another player's turn not being considered, as my issue was occurring when i did battle calc on my own turn, which caused my own nation to be the attacker and defender

                                          at any rate, ty for the work on fixing it, which ever path is chosen.

                                          Personally I'd revert it to the behavior it used to have: which iirc is that of the first hostile nation in the list.

                                          LaFayetteL 1 Reply Last reply Reply Quote 2
                                          • LaFayetteL Offline
                                            LaFayette Admin @zlefin
                                            last edited by

                                            @zlefin The code for choosing attacker/defender is reasonably well commented: https://github.com/triplea-game/triplea/blob/master/game-app/game-core/src/main/java/games/strategy/triplea/odds/calculator/AttackerAndDefenderSelector.java

                                            In your game, is the current player not at war with anyone? In this case, it looks like you could see the behavior of same attacker/defender. Namely due to this logic:

                                            // Add the territory owner add the end of the priority list.  This way, when attacking an
                                            // empty territory, the owner gets preferred even though they have no units in their land. In
                                            // case the owner has units in the land, then they are already in the list but adding a second
                                            // entry to the list doesn't impact the algorithm.
                                            

                                            If there are no hostile nations, and you own the territory, and you are already the attacker, it looks like we could wind up with same attacker/defender.

                                            Z 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 12
                                            • 13
                                            • 2 / 13
                                            • First post
                                              Last post
                                            Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums