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

    Categories and/or tags

    Scheduled Pinned Locked Moved Feature Requests & Ideas
    57 Posts 9 Posters 23.0k Views 9 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.
    • C Offline
      Cernel Moderators @Frostion
      last edited by

      @Frostion said in Categories and/or tags:

      I really hope that the term is at least a word known to ordinary people and not technobabble gibberish πŸ˜…

      Knuth himself attributes the first study of multisets to the Indian mathematician Bhāskarāchārya, who described permutations of multisets around 1150. Knuth also lists other names that were proposed or used for this concept, including list, bunch, bag, heap, sample, weighted set, collection, and suite.

      I just advice against list, as pretty much all the xml is a bunch of lists, so that may be confusing if you are talking about some lists.

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

        @Cernel It will be available for any type of attachment. It will in ways complement "each" by allowing map makers have essentially a attachment "template" which then uses a "variable" to generate multiple attachments (should help minimize copy/paste). One of the most obvious uses of this is having separate units for each player like TWW does where you will define "infantry" and use "foreach" with a variable containing say the list of players which the engine will then generate a separate unit attachment for each player.

        @Frostion I think I'm going to just stick with variable as that avoids trying to decide between all the different types of lists, sets, sequences, etc. Essentially its similar to in algebra or basic programming, you can define a variable with a symbol/name which then represents some value (list of elements). Wherever you use that variable, it then replaces it with the list of elements.

        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
        • C Offline
          Cernel Moderators @Cernel
          last edited by

          @Cernel Also, a "weighted set" would be a little more polished, if you can just call the element once and define a number of entries for it, rather than having to list it multiple times.

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

            And now the second portion of this change which is foreach. This allows defining essentially an attachment "template" which using variables then generates multiple attachments. This can be very useful for repetitive unit attachments, conditions, triggers, etc as it will make the XML much shorter and easier to manage/update. The following shows an example of how this can be used to define multiple similar unit attachments for TWW:

            Define 3 variables which vary across the unit attachments
            *Notice that you can have an empty element (under Players in this case) which means that any attachment option will be skipped

              <variableList>
                <variable name="Infantry">
                  <element name="germanInfantry"/>
                  <element name="russianInfantry"/>
                </variable>
                <variable name="Players">
                  <element name="Germany"/>
                  <element name=""/>
                </variable>
                <variable name="Barracks">
                  <element name="germanBarracks"/>
                  <element name="russianBarracks"/>
                </variable>
              </variableList>
            

            Define unit attachment "template" using "foreach" and specifying the 3 variables (Infantry:Players:Barracks)
            *The foreach makes it so it iterates through the variables' elements and replaces any @X@ that is specified in the templates which in this case the Infantry variable is used to specify what unit to attachTo by using @Infantry@

                <attachment foreach="$Infantry$:$Players$:$Barracks$" name="unitAttachment" attachTo="@Infantry@" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
                  <option name="movement" value="1"/>
                  <option name="attack" value="2"/>
                  <option name="defense" value="3"/>
                  <option name="transportCost" value="2"/>
                  <option name="isLandTransportable" value="true"/>
                  <option name="canBeGivenByTerritoryTo" value="@Players@"/>
                  <option name="requiresUnits" value="@Barracks@"/>
                  <option name="canInvadeOnlyFrom" value="none"/>
                </attachment>
            

            This then generates the equivalent of having 2 unit attachments
            *Notice that canBeGivenByTerritoryTo is only included for germanInfantry not russianInfantry because its left empty in the Players variable

                    <attachment name="unitAttachment" attachTo="germanInfantry" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
                        <option name="movement" value="1"/>
                        <option name="attack" value="2"/>
                        <option name="defense" value="3"/>
                        <option name="transportCost" value="2"/>
                        <option name="isLandTransportable" value="true"/>
                        <option name="canBeGivenByTerritoryTo" value="Germany"/>
                        <option name="requiresUnits" value="germanBarracks"/>
                        <option name="canInvadeOnlyFrom" value="none"/>
                    </attachment>
                    <attachment name="unitAttachment" attachTo="russianInfantry" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
                        <option name="movement" value="1"/>
                        <option name="attack" value="2"/>
                        <option name="defense" value="3"/>
                        <option name="transportCost" value="2"/>
                        <option name="isLandTransportable" value="true"/>
                        <option name="requiresUnits" value="russianBarracks"/>
                        <option name="canInvadeOnlyFrom" value="none"/>
                    </attachment>
            

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

            C 1 Reply Last reply Reply Quote 2
            • C Offline
              Cernel Moderators @redrum
              last edited by

              @redrum said in Categories and/or tags:

              *Notice that you can have an empty element (under Players in this case) which means that any attachment option will be skipped

              I don't understand.

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

                @Cernel So here is the variable definition with an empty second element:

                    <variable name="Players">
                      <element name="Germany"/>
                      <element name=""/>
                    </variable>
                

                This is then used in the template further down in this line:

                <option name="canBeGivenByTerritoryTo" value="$Players$"/>
                

                And ends up generating the germanInfantry attachment with this:

                <option name="canBeGivenByTerritoryTo" value="Germany"/>
                

                And the russianInfantry attachment skips that option.

                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 2
                • redrumR Offline
                  redrum Admin
                  last edited by redrum

                  Here is another foreach example to generate multiple similar triggers:

                  Variables

                    <variableList>
                      <variable name="Players">
                        <element name="Germany"/>
                        <element name="Brazil"/>
                      </variable>
                      <variable name="Phases">
                        <element name="germanyBattle"/>
                        <element name="brazilBattle"/>
                      </variable>
                    </variableList>
                  

                  Trigger Template

                      <attachment foreach="$Players$:$Phases$" name="triggerAttachmentLiberationUsaBy@Players@" attachTo="@Players@" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
                        <option name="conditions" value="conditionAttachmentWashingtonlost:conditionAttachmentChicagolost"/>
                        <option name="when" value="after:@Phases@"/>
                        <option name="players" value="Usa"/>
                        <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentLiberationUsa"/>
                        <option name="playerProperty" value="switch" count="true"/>
                      </attachment>
                  

                  Generated Triggers

                      <attachment name="triggerAttachmentLiberationUsaByGermany" attachTo="Germany" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
                        <option name="conditions" value="conditionAttachmentWashingtonlost:conditionAttachmentChicagolost"/>
                        <option name="when" value="after:germanyBattle"/>
                        <option name="players" value="Usa"/>
                        <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentLiberationUsa"/>
                        <option name="playerProperty" value="switch" count="true"/>
                      </attachment>
                      <attachment name="triggerAttachmentLiberationUsaByBrazil" attachTo="Brazil" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
                        <option name="conditions" value="conditionAttachmentWashingtonlost:conditionAttachmentChicagolost"/>
                        <option name="when" value="after:brazilBattle"/>
                        <option name="players" value="Usa"/>
                        <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentLiberationUsa"/>
                        <option name="playerProperty" value="switch" count="true"/>
                      </attachment>
                  

                  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 2
                  • FrostionF Offline
                    Frostion Admin
                    last edited by

                    I hope that the basic features of this feature request will be implemented in a way that will not require the mapmaker to understand or use these new and more advanced possibilities. I don't understand anything you presented in your last couple of posts @redrum.

                    Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

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

                      @Frostion These are optional advanced XML features and don't at all need to be used (and have no impact on existing maps). They are really just providing a way to have a "find and replace" type XML feature and an "attachment template to generate multiple similar attachments". They are provided to map makers to minimize copy and paste if they want. These can be very useful to maps like TWW which have lots of repetitive XML around unit attachments, conditions, and triggers that are hard to make updates to.

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

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

                        @redrum I'm sure once a full example is provided it will be similar to learning anything else in an XML.

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

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

                          @Frostion Here is an example of how you could use this feature in the Iron War XML if you wanted. There are player attachments for retainCapital parameters for all regular players which are almost all the same.

                          Here is what you have now:

                                  <attachment name="playerAttachment" attachTo="Germany" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Balkan" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="USSR" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Finland" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="France" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="French-Colonies" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Britain" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="British-Colonies" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Italy" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="South-Africa" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="British-India" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Iraq" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Iran" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="ANZAC" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="KNIL" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Japan" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Thailand" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="USA" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="China" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                                  <attachment name="playerAttachment" attachTo="Brazil" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                          

                          If you ever wanted to say change the capital rules and instead make all players require 1 instead of 0 capitals then you'd have to update each of these attachments 1 by 1 (very unlikely that you'd want to change that but just using this as an example since these player attachments are almost all the same). The only difference between each of these attachments is that player its attachTo as each player needs one.

                          You could instead use this new feature to make this a bit shorter by defining a variable for the list of players that need this attachment (all of them in this case). And a kind of 'template' for the attachment that will insert the list of players into it to generate the original attachments above. This would allow you to only have to update the capital requirements for all players in one attachment rather than having 20 separate ones.

                          First, I define a variable named "AllPlayers" and assign a list of players to that (all of the regular ones in this case that I want to specify capital rules for). Then I create an attachment "template" where the "foreach" attribute uses this variable "AllPlayers" to indicate what players to generate a PlayerAttachment based on the template for. For each player in the variable list, it creates an attachment and inserts the "player" into the attachTo field as it specifies $AllPlayers$. This ends up generating the exact same attachments that you have in the above XML.

                          Here is what it would look like:

                            <variableList>
                              <variable name="AllPlayers">
                                  <element name="Germany"/>
                                  <element name="Balkan"/>
                                  <element name="Finland"/>
                                  <element name="USSR"/>
                                  <element name="Britain"/>
                                  <element name="France"/>
                                  <element name="British-Colonies"/>
                                  <element name="South-Africa"/>
                                  <element name="Italy"/>
                                  <element name="Iraq"/>
                                  <element name="Iran"/>
                                  <element name="British-India"/>
                                  <element name="French-Colonies"/>
                                  <element name="ANZAC"/>
                                  <element name="KNIL"/>
                                  <element name="Japan"/>
                                  <element name="Thailand"/>
                                  <element name="USA"/>
                                  <element name="China"/>
                                  <element name="Brazil"/>
                              </variable>
                            </variableList>
                          
                                  <attachment foreach="$AllPlayers$" name="playerAttachment" attachTo="@AllPlayers@" javaClass="games.strategy.triplea.attachments.PlayerAttachment" type="player">
                                      <option name="retainCapitalProduceNumber" value="0"/>
                                      <option name="retainCapitalNumber" value="0"/>
                                  </attachment>
                          

                          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 4
                          • wc_sumptonW Online
                            wc_sumpton
                            last edited by

                            @redrum
                            I can see a lot of uses for this. I do have one question. In you example for the unitAttachment, under the "Players" variable, the last element was left blank so that when creating the attachment that value would be left out. This I understand, but what would happen if the blank value was not there?

                            In my map 'Invasion USA' there are 30 Victory Cities, with 'Denver' being the only city with both 'city' and 'mountain' effects. So if I created a list 'AllCities':

                            	<variableList>
                            		<variable name="AllCities">
                            			<element name="Denver"/>
                            			<element name="Washington D.C."/>
                            			<element name="New York"/>
                            			<element name="Boston"/>
                            			<element name="Philadelphia"/>
                            			<element name="Buffalo"/>
                            			<element name="Pittsburgh"/>
                            			<element name="San Diego"/>
                            			<element name="Memphis"/>
                            			<element name="Indianapolis"/>
                            			<element name="New Orleans"/>
                            			<element name="Los Angeles"/>
                            			<element name="Milwaukee"/>
                            			<element name="Detroit"/>
                            			<element name="Houston"/>
                            			<element name="Chicago"/>
                            			<element name="San Francisco"/>
                            			<element name="Portland"/>
                            			<element name="Tampa"/>
                            			<element name="Kansas City"/>
                            			<element name="St. Louis"/>
                            			<element name="Salt Lake City"/>
                            			<element name="Seattle"/>
                            			<element name="San Antonio"/>
                            			<element name="Dallas"/>
                            			<element name="Phoenix"/>
                            			<element name="Minneapolis"/>
                            			<element name="Atlanta"/>
                            			<element name="Miami"/>
                            			<element name="Cleveland"/>
                            		</variable>
                            

                            And the add another list for territoryEffect:

                            		<variable name="MountainOnly">
                            			<element name="mountain"/>
                            		</variable>
                            	</variableList>
                            

                            And the for my territoryAttachments I used:

                            	<attachment foreach="AllCities:MountainOnly" name="territoryAttachment" attachTo="$AllCities$" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
                            		<option name="production" value="6"/>
                            		<option name="unitProduction" value="2"/>
                            		<option name="resources" value="1:VCs"/>
                            		<option name="territoryEffect" value="city"/>
                            		<option name="territoryEffect" value="$MountainOnly$"/>
                            		<option name="capital" value="Americans"/>                        
                            	</attachment>
                            

                            Would it create the following attachments?

                            		<attachment name="territoryAttachment" attachTo="Denver" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
                            			<option name="production" value="6"/>
                            			<option name="unitProduction" value="2"/>
                            			<option name="resources" value="1:VCs"/>
                            			<option name="territoryEffect" value="city"/>
                            			<option name="territoryEffect" value="mountain"/>
                            			<option name="capital" value="Americans"/>                        
                            		</attachment>
                            
                            		<attachment name="territoryAttachment" attachTo="Washington D.C." javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
                            			<option name="production" value="6"/>
                            			<option name="unitProduction" value="2"/>
                            			<option name="resources" value="1:VCs"/>
                            			<option name="territoryEffect" value="city"/>
                            			<option name="capital" value="Americans"/>                        
                            		</attachment>
                            

                            Or would I have to add the 29 extra blank elements?

                            Cheers...

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

                              @wc_sumpton Right now I'm enforcing that all variables used in the same foreach must be the same length. For this particular example, I would just define Denver separately if its the only 1 like that otherwise you would need to add 29 empty elements. Here is what I would probably do:

                              		<variable name="AllCities">
                              			<element name="Washington D.C."/>
                              			<element name="New York"/>
                              			<element name="Boston"/>
                              			<element name="Philadelphia"/>
                              			<element name="Buffalo"/>
                              			<element name="Pittsburgh"/>
                              			<element name="San Diego"/>
                              			<element name="Memphis"/>
                              			<element name="Indianapolis"/>
                              			<element name="New Orleans"/>
                              			<element name="Los Angeles"/>
                              			<element name="Milwaukee"/>
                              			<element name="Detroit"/>
                              			<element name="Houston"/>
                              			<element name="Chicago"/>
                              			<element name="San Francisco"/>
                              			<element name="Portland"/>
                              			<element name="Tampa"/>
                              			<element name="Kansas City"/>
                              			<element name="St. Louis"/>
                              			<element name="Salt Lake City"/>
                              			<element name="Seattle"/>
                              			<element name="San Antonio"/>
                              			<element name="Dallas"/>
                              			<element name="Phoenix"/>
                              			<element name="Minneapolis"/>
                              			<element name="Atlanta"/>
                              			<element name="Miami"/>
                              			<element name="Cleveland"/>
                              		</variable>
                              
                              	<attachment foreach="$AllCities$" name="territoryAttachment" attachTo="@AllCities@" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
                              		<option name="production" value="6"/>
                              		<option name="unitProduction" value="2"/>
                              		<option name="resources" value="1:VCs"/>
                              		<option name="territoryEffect" value="city"/>
                              		<option name="capital" value="Americans"/>                        
                              	</attachment>
                              
                              	<attachment name="territoryAttachment" attachTo="Denver" javaClass="games.strategy.triplea.attachments.TerritoryAttachment" type="territory">
                              		<option name="production" value="6"/>
                              		<option name="unitProduction" value="2"/>
                              		<option name="resources" value="1:VCs"/>
                              		<option name="territoryEffect" value="city"/>
                              		<option name="territoryEffect" value="mountain"/>
                              		<option name="capital" value="Americans"/>                        
                              	</attachment>
                              

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

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

                                @redrum That edit was an important one. πŸ˜ƒ

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

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

                                  @Hepps Yeah, misunderstood what he was trying to do the first read through.

                                  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 0
                                  • wc_sumptonW Online
                                    wc_sumpton
                                    last edited by

                                    @redrum
                                    Got-ya! Thanks for the quick reply! Wondering when you plan to implement this. Would love to play around with some ideas!

                                    Cheers...

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

                                      PR: https://github.com/triplea-game/triplea/pull/4791

                                      As soon as that's merged, you can test it in the pre-release.

                                      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 4
                                      • redrumR Offline
                                        redrum Admin
                                        last edited by

                                        This is now available in the pre-release. I've updated the first post to reflect examples of how to use it and will be adding similar ones to POS2 XML.

                                        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 4
                                        • FrostionF Offline
                                          Frostion Admin
                                          last edited by

                                          @redrum I am looking forward to testing πŸ˜„

                                          Question: Can the names of the variableLists be used instead of unit listing in attachments like targetsAA, repairsUnits, unitType etc.? Like:

                                          <option name="targetsAA" value="PlayerLandUnits:AILandUnits"/>
                                          Or
                                          <option name="repairsUnits" value="1:PlayerHeroUnits:PlayerMultipleHPUnits:Dragon"/>

                                          Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

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

                                            @Frostion Yes. Though I updated the original proposal slightly. Any time you reference a variable you need to put $variableName$. So for you example it would be like this:

                                            <option name="targetsAA" value="$PlayerLandUnits$:$AILandUnits$"/>
                                            

                                            Here is an example I'm doing for some mystery map in development πŸ™‚

                                                    <variable name="MajorPlayers">
                                                        <element name="Bolsheviks"/>
                                                        <element name="France"/>
                                                        <element name="Britain"/>
                                                        <element name="Russia"/>
                                                        <element name="Germany"/>
                                                        <element name="Austria-Hungary"/>
                                                        <element name="Ottomans"/>
                                                        <element name="Usa"/>
                                                        <element name="Italy"/>
                                                    </variable>
                                            
                                                    <attachment name="unitAttachment" attachTo="RecruitmentCenter" javaClass="UnitAttachment" type="unitType">
                                                        <option name="movement" value="0"/>
                                                        <option name="attack" value="0"/>
                                                        <option name="defense" value="0"/>           
                                                        <option name="isInfrastructure" value="true"/>
                                                        <option name="canBeDamaged" value="true"/>
                                                        <option name="maxDamage" value="10"/>
                                                        <option name="maxOperationalDamage" value="8"/>
                                                        <option name="destroyedWhenCapturedBy" value="$MajorPlayers$"/>
                                                        <option name="canDieFromReachingMaxDamage" value="true"/>            
                                                        <option name="isConstruction" value="true"/>
                                                        <option name="constructionType" value="rcProduction"/>
                                                        <option name="constructionsPerTerrPerTypePerTurn" value="1"/>
                                                        <option name="maxConstructionsPerTypePerTerr" value="1"/>           
                                                    </attachment>
                                            

                                            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

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