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

    Expand givesMovement Option To Require Specific Units At Destination

    Scheduled Pinned Locked Moved Feature Requests & Ideas
    52 Posts 5 Posters 25.7k Views 5 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.
    • General_ZodG Offline
      General_Zod Moderators
      last edited by redrum

      There is an existing "territoryAttachment" called "navalBase" that has a very underused but great behavior .

      navalBase	values: works according to original pacific rules: it increases the non-combat movement of naval units by +1 IF they go from friendly naval base TO friendly naval base
      

      It would be very handy if this feature could also be added as an "unitAttachment". If this could be done then all "unitAttachment" attributes can also be utilized with it thus making the "navalBase" vastly more flexible.

      Additionally would like to specify which units the "navalBase" actually supports. Similar to how the "givesMovment" attribute can designate which units get the bonus movement. Also would be great if the amount of movement the "navalBase" gives can be selectable.

      Oh one last thing to consider. Maybe have and option built in that allows the behavior in 2 modes.

      mode 1: Functions from the territory containing the "navalBase" to another territory contain a "navalBase". This one would be used strictly for seazones. containing the units.

      mode 2: Functions from the territory adjacent to the territory containing "navalBase" to another territory that is adjacent to the territory containing another "navalBase". This one would be used for harbors or subpens and similar land based units. (The current "navalBase" functions in this mode)

      So the code would look something as follows:

       <option name="isNavalBase" value="true:modeOne"/>
       <option name="givesNavalBaseMovement" value="1:German.Submarine"/>
       <option name="givesNavalBaseMovement" value="2:German.Transport"/>
       <option name="givesNavalBaseMovement" value="1:German.Battleship"/>
      

      Thinking it over more it would be great if this new behavior could be used for land and air units as well. If this is doable, an alternate name would be appropriate. Perhaps something like "isBase" or whatever, the name is easy.

      I would love to use this current feature in my Big World 3 map. But currently it will limit the full potential of the concept I have in mind.

      I plan on using it for my submarines to get a +1 movement, only if they are moving from underwater seazone to another underwater seazone (circles) and only during noncombat and only if not blocked by enemies. Also I would love to use it as a technology upgrade to my harbors and subpens giving only certain ships specific +movement points. The beauty in this feature is that it is a noncombat related behavior. Thus there is a new cool dynamic layer to consider throughout the game which isn't overpowered.

      Here is a pic of my Atlantic region so you see what I wanna do a bit better. The circles are underwater seazones. I would have to hack connections to the circles in order to get it to function with current "territoryAttachment" version. But that would also involve some player enforced rules where loopholes to my rules would still exist because of current functionality limitations.

      0_1536567677617_BW.Atlantic_001.PNG


      Alright so trying to think about this in a reusable way that is fairly simple from an XML standpoint, what about just adding a 3rd parameter to the unit option "givesMovement" to indicate it only works if "X" unit is at the final destination of the units route?

      Sea Example (surface ships but not subs get +1 move between harbors)

      <attachment name="unitAttachment" attachTo="harbor" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
            <option name="givesMovement" value="1:transport:harbor"/>
            <option name="givesMovement" value="1:destroyer:harbor"/>
            <option name="givesMovement" value="1:battleship:harbor"/>
      

      Material Example (can only move materials from harbor on to transport)

      <attachment name="unitAttachment" attachTo="harbor" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
            <option name="givesMovement" value="1:material:transport"/>
      
      HeppsH 1 Reply Last reply Reply Quote 0
      • HeppsH Offline
        Hepps Moderators @General_Zod
        last edited by

        @general_zod Italy has really gained some weight. Might be time to lay off the pasta. 😉

        "A joyous heart sours with the burden of expectation"
        Hepster

        HeppsH 1 Reply Last reply Reply Quote 0
        • HeppsH Offline
          Hepps Moderators @Hepps
          last edited by

          @hepps Couldn't you already achieve your goal without changes?

          "A joyous heart sours with the burden of expectation"
          Hepster

          redrumR General_ZodG 2 Replies Last reply Reply Quote 0
          • redrumR Offline
            redrum Admin @Hepps
            last edited by

            @hepps Most or all could be done with canals and givesMovement. But I believe the piece that either isn't possible or is difficult is limiting the extra movement to only certain territories. The AA gun and material getting +1 movement on docks in TWW but being able to move on land is also an example of this (might be able to put canals across every land connection that excludes everything but AA/materials). So for @General_Zod example if a sub is in an "underwater" SZ then it could move 2 spaces if targeting a regular SZ or 3 spaces if targeting another "underwater" SZ.

            @General_Zod For this specific example, you may be able to hack an extra invisible territory between the underwater and surface sea zones so that it essentially costs 2 movement to "surface" and just use "givesMovement" for all subs in "underwater" SZs. I'd need to better understand what you are trying to achieve to see if there are any creative ways to do it currently.

            TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

            General_ZodG 1 Reply Last reply Reply Quote 0
            • General_ZodG Offline
              General_Zod Moderators @Hepps
              last edited by General_Zod

              @hepps

              @hepps said in "isNavalBase" For "unitAttachments":

              @general_zod Italy has really gained some weight. Might be time to lay off the pasta. 😉

              Haha, yep those Italians are just goin monja, monja all day long. Actually my whole European continent gained weight. Need plenty of room for the dead bodies which will be stacking up after a few rounds. :ogre:

              @hepps said in "isNavalBase" For "unitAttachments":

              @hepps Couldn't you already achieve your goal without changes?

              So I can currently hack my way into allowing the "navalBase" to function in the underwater seazones. However I also want the following points/issues.

              1. Technology Tree: I want to upgrade harbor units into "Naval Base".

              2. Give +1 NCM to certain sea units not all of them.

              3. Very difficult to code buying new navalBases as a territoryAttachment, since it requires code for every coastal territory.

              4. Would like to give any number of + NCM movement points.

              5. Need to contend with being adjacent to the territory to receive benefit, which complicates code. An option to be adjacent to territory or inside territory to receive the movement would be nice. And would open door to land and air units as well.

              6. Would need to use player enforced rules as is too.

              1 Reply Last reply Reply Quote 0
              • General_ZodG Offline
                General_Zod Moderators @redrum
                last edited by General_Zod

                @redrum

                @redrum said in "isNavalBase" For "unitAttachments":
                So for @General_Zod example if a sub is in an "underwater" SZ then it could move 2 spaces if targeting a regular SZ or 3 spaces if targeting another "underwater" SZ.

                @General_Zod For this specific example, you may be able to hack an extra invisible territory between the underwater and surface sea zones so that it essentially costs 2 movement to "surface" and just use "givesMovement" for all subs in "underwater" SZs. I'd need to better understand what you are trying to achieve to see if there are any creative ways to do it currently.

                Yes you are correct about the invisible territory as one approach to the underwater to underwater sz component of the code. I found another more hacky method as well which I am likely going to do. Goes as follows. I will create a "navalBase" territory to something like Mongolia (currently impassible). Then I will create connections for each underwater sz to Mongolia. I will change ownership of Mongolia each turn to be owned by current nation throughout the game. That should work nicely.

                However one of my problems is I want to allow players to create new "navalBase's". For this example, lets say Newfoundland to United Kingdom. Each will get a "navalBase" to do it. But now these "naval Bases" can interact with all my underwater "navalBases". I do limit underwater sz to only submarines and depth charges, so the unwanted behavior in this example is limited to just those 2 unit types. I would have to player enforce to not use any +1 movements between those "navalBases" (underwater to newly created)

                This could be resolved by having units act as "navalBases" because then I can use different types of units for underwater sz, land based "navalBases" and even subpens. As described in my earlier post.

                redrumR 1 Reply Last reply Reply Quote 0
                • redrumR Offline
                  redrum Admin @General_Zod
                  last edited by redrum

                  @general_zod I think I was getting at more of not using the territory navalBase property at all. Essentially only using unit property givesMovement and having invisible units in each underwater SZ. So if sub starts in underwater SZ they get +1 move which allows them to move 3 total across underwater or 2 total if they surface since going from underwater to surface SZ costs 2 movement.

                  If you do that then I don't think you end up with a conflict for your surface naval bases.

                  TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                  prastleP General_ZodG 3 Replies Last reply Reply Quote 1
                  • prastleP Offline
                    prastle Moderators Admin @redrum
                    last edited by prastle

                    @redrum minor point but subs were very slow underwater. Why 3 move? I would sug 3 above water one to surface two under water. Just my two cents. Of course that makes them faster than all. So I think you see the conundrum...

                    If we open a quarrel between past and present, we shall find that we have lost the future! Sir Winston Churchill

                    1 Reply Last reply Reply Quote 0
                    • General_ZodG Offline
                      General_Zod Moderators @redrum
                      last edited by

                      @redrum This will also allow them to move 3 surface sz if they wanted too. Assuming they start in a uw-sz. Unless I'm misunderstanding what your saying.

                      redrumR prastleP 2 Replies Last reply Reply Quote 0
                      • redrumR Offline
                        redrum Admin @General_Zod
                        last edited by

                        @general_zod I'm saying moving from an underwater SZ to surface SZ would cost 2 movement so they could only move 2 then. If they start in a surface SZ then they don't get the extra +1 movement so can only move 2.

                        TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                        1 Reply Last reply Reply Quote 1
                        • prastleP Offline
                          prastle Moderators Admin @General_Zod
                          last edited by

                          @general_zod cor gz
                          thus subs need a 1 underwater movement and two at surface
                          thus my ? about three?

                          If we open a quarrel between past and present, we shall find that we have lost the future! Sir Winston Churchill

                          1 Reply Last reply Reply Quote 0
                          • General_ZodG Offline
                            General_Zod Moderators @redrum
                            last edited by General_Zod

                            @redrum said in "isNavalBase" For "unitAttachments":

                            @general_zod I'm saying moving from an underwater SZ to surface SZ would cost 2 movement so they could only move 2 then. If they start in a surface SZ then they don't get the extra +1 movement so can only move 2.

                            @redrum Ah I see where the confusion is. It does not cost 2 movement to go from uw-sz to surface sz, only 1 movement. Thus your idea does in fact allows movement of 3 to either.

                            @prastle said in "isNavalBase" For "unitAttachments":

                            @general_zod cor gz
                            thus subs need a 1 underwater movement and two at surface
                            thus my ? about three?

                            @prastle However technically, each uw-sz is under the surface sz. This means they are not really moving faster or further if they had 3 movement points between uw-sz's, only. But you are correct they would in real life move faster on surface. But I think subs might be overpowered if I let them. They are already hard to kill and can lurk for whole game, or tie down allied vessel for convoy duty. Without any tech only a depth charge can kill a sub if it's underwater and they are suicide, so 1 try and they done.

                            redrumR 1 Reply Last reply Reply Quote 0
                            • redrumR Offline
                              redrum Admin @General_Zod
                              last edited by

                              @general_zod I mean if you make it cost 2 movement by having an extra invisible SZ between the uw-sz and surface sz. That then means they move 3 underwater but only 2 if they surface.

                              TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                              General_ZodG C 2 Replies Last reply Reply Quote 0
                              • General_ZodG Offline
                                General_Zod Moderators @redrum
                                last edited by General_Zod

                                @redrum I see what you mean, I reread above. I read it so quickly and thought you meant an invisible land territory for a navalBase attribute. Since that was my initial plan, since navalBase won't work off land.

                                redrumR 1 Reply Last reply Reply Quote 0
                                • redrumR Offline
                                  redrum Admin @General_Zod
                                  last edited by

                                  @general_zod Yeah, I'm approaching it from more of a "movement cost" perspective where you could treat surfacing as costing more movement then moving between underwater sea zones. Somewhat of a different take on it but you end up with similar behavior.

                                  TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                                  General_ZodG 2 Replies Last reply Reply Quote 0
                                  • C Offline
                                    Cernel Moderators @redrum
                                    last edited by

                                    @redrum said in "isNavalBase" For "unitAttachments":

                                    @general_zod I mean if you make it cost 2 movement by having an extra invisible SZ between the uw-sz and surface sz. That then means they move 3 underwater but only 2 if they surface.

                                    Or maybe having a canal option for consuming additional movement points when/for passing through (if not excluded).:upside-down_face:

                                    1 Reply Last reply Reply Quote 0
                                    • General_ZodG Offline
                                      General_Zod Moderators @redrum
                                      last edited by General_Zod

                                      @redrum Is it possible to at least get an option added that will allow selection of which units get the bonus movement from the "navalBase" territoryAttachment property? Just like "givesMovement" does. This will at least allow me to have my rules engine enforced.

                                      This is a very cool feature, just lacks this functionality.

                                      Or I wonder if it make more sense to alter "givesMovement" to get more control. So it can pick which territories for start points and end points. As well which phase it will function during, although this last piece can be done with triggers too.

                                      1 Reply Last reply Reply Quote 0
                                      • General_ZodG Offline
                                        General_Zod Moderators @redrum
                                        last edited by General_Zod

                                        @redrum Hmm, thinking it through more. Adding the unit selection to "navalBase" will not resolve it for me.

                                        Although adding functionality to "givesMovement" should.

                                        redrumR 1 Reply Last reply Reply Quote 0
                                        • redrumR Offline
                                          redrum Admin @General_Zod
                                          last edited by

                                          @general_zod So adding a unit list to navalBase is probably pretty easy but seems you realized that doesn't really solve all the problems as then purchasing/upgrading is fairly difficult.

                                          Enhancing givesMovement for units to consider say a list of start territories would be fairly easy. The bigger challenge is the end points as you don't know the end points until you move the unit and the way it works currently it gives the extra movement at the start of the move phase.

                                          TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                                          General_ZodG 2 Replies Last reply Reply Quote 0
                                          • General_ZodG Offline
                                            General_Zod Moderators @redrum
                                            last edited by

                                            @redrum Actually, I can make it work with a unit list added to "navalBase".

                                            Plan would be to swap (trigger) the submarines that end NCM in a uw-sz with a new unit called submerged-submarine. Then I could add the submerged-submarine to the unit list and not the submarine. Once the submerged-submarine ends a turn in a surface sz I can trigger it back into a submarine.

                                            HeppsH 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
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums