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

    technology question

    Scheduled Pinned Locked Moved Map Making
    23 Posts 4 Posters 4.9k Views 4 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 Online
      beelee @ff03k64
      last edited by

      @ff03k64 You tried with "techAbilityAttachment" ?Idk about createsUnitsList" I would think you could but ... 🙂

      1 Reply Last reply Reply Quote 0
      • F Offline
        ff03k64
        last edited by

        It wasn't in the POS list, but I guess i could just try it.

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

          @ff03k64 yea so something like this

          <attachment name="techAbilityAttachment" attachTo="SphereOfInfluence_ChangerMustActivate" javaClass="games.strategy.triplea.attachments.TechAbilityAttachment" type="technology">
          <option name="defenseBonus" value="0:bomber"/>
          </attachment>

          but different too obviously 🙂

          1 Reply Last reply Reply Quote 0
          • wc_sumptonW Offline
            wc_sumpton
            last edited by wc_sumpton

            @ff03k64

            At present, the only why to do this is with triggers.

            <!-- A technology condition to check -->
            <attachment name="conditionAttachmentUnitsListTech" attachTo="Player" javaClass="RulesAttachment" type="player">
               <option name="techs" value="IncreaseUnitsList" count="1"/>
            </attachment>
            
            <!-- Then the trigger -->
            <attachment name="triggerAttachmentUnitsListTech" attachTo="Player" javaClass="TriggerAttachment" type="player">
               <option name="trigger" value="conditionAttachmentUnitsListTech"/>
               <option name="unitType" value="unitCreator"/>
               <option name="unitAttachmentName" value="UnitAttachment"/>
               <option name="unitProperty" value="createsUnitsList" count="-reser-2:aCreatedUnit"/>
                <option name="uses" value="1"/>
                <option name="when" value="after:playerTechActivation"/>
            </attachment>
            

            The downside is that any Player the uses 'unitCreator' now has the ability to create 2 createdUnits per turn.

            @beelee

            techAbilityAttachment is limited to what is listed in POS2. Unless of course you dig into the engine code. I can do hitPoints, transportCapacity, and almost combatOffenseEffect / combatDefenseEffect for territoryEffect.

            So much fun!

            Cheers...

            F 2 Replies Last reply Reply Quote 1
            • F Offline
              ff03k64 @wc_sumpton
              last edited by

              @wc_sumpton said in technology question:

              techAbilityAttachment is limited to what is listed in POS2. Unless of course you dig into the engine code. I can do hitPoints, transportCapacity, and almost combatOffenseEffect / combatDefenseEffect for territoryEffect.

              I hope you are going to get those into the game so the rest of us mere mortals can use them!

              1 Reply Last reply Reply Quote 0
              • wc_sumptonW Offline
                wc_sumpton
                last edited by

                @ff03k64

                Hacks. I'm really making a mess of things. I just learning how the engine works.

                It's a fun hobby. But we'll see.

                Cheers...

                1 Reply Last reply Reply Quote 1
                • F Offline
                  ff03k64
                  last edited by

                  Do you know how I can have techs be directly purchasable? And how I can affect the price to be different resources than just PUs?

                  1 Reply Last reply Reply Quote 0
                  • wc_sumptonW Offline
                    wc_sumpton
                    last edited by

                    @ff03k64

                    Check out 'Age of Tribes' by @Frostion. All the Tech/Upgrades are purchasable in this great map!!

                    Cheers...

                    F 1 Reply Last reply Reply Quote 2
                    • F Offline
                      ff03k64 @wc_sumpton
                      last edited by ff03k64

                      I am getting this error.

                      Aug 28, 2020 9:11:48 AM games.strategy.engine.framework.ui.DefaultGameChooserEntry getCompleteGameData
                      SEVERE: Could not parse:jar:file:/C:/Users/ckimb/triplea/downloadedMaps/XCOM-master.zip!/XCOM-master/map/games/xcom.xml
                      games.strategy.engine.data.GameParseException: map name: 'jar:file:/C:/Users/ckimb/triplea/downloadedMaps/XCOM-master.zip!/XCOM-master/map/games/xcom.xml', game name: 'XCOM', Unexpected Exception while setting values for attachment: TriggerAttachment attached to: PlayerId named:XCOM with name: triggerAttachmentMedicPromotion
                      	at games.strategy.engine.data.GameParser.newGameParseException(GameParser.java:118)
                      	at games.strategy.engine.data.GameParser.setOptions(GameParser.java:1386)
                      	at games.strategy.engine.data.GameParser.parseAttachment(GameParser.java:1322)
                      	at games.strategy.engine.data.GameParser.parseAttachments(GameParser.java:1236)
                      	at games.strategy.engine.data.GameParser.parseMapDetails(GameParser.java:212)
                      	at games.strategy.engine.data.GameParser.parse(GameParser.java:106)
                      	at games.strategy.engine.data.GameParser.parse(GameParser.java:98)
                      	at games.strategy.engine.data.GameParser.parse(GameParser.java:84)
                      	at games.strategy.engine.framework.ui.DefaultGameChooserEntry.getCompleteGameData(DefaultGameChooserEntry.java:63)
                      	at games.strategy.engine.framework.ui.DefaultGameChooserEntry.fullyParseGameData(DefaultGameChooserEntry.java:47)
                      	at games.strategy.engine.framework.startup.ui.panels.main.game.selector.GameSelectorModel.selectByName(GameSelectorModel.java:225)
                      	at games.strategy.engine.framework.startup.ui.panels.main.game.selector.GameSelectorModel.loadDefaultGameSameThread(GameSelectorModel.java:198)
                      	at games.strategy.engine.framework.GameRunner.loadGameIfSpecified(GameRunner.java:98)
                      	at games.strategy.engine.framework.GameRunner.showMainFrame(GameRunner.java:83)
                      	at java.base/java.lang.Thread.run(Thread.java:834)
                      Caused by: games.strategy.engine.data.MutableProperty$InvalidValueException: failed to set string property value to 'unitAttachment'
                      	at games.strategy.engine.data.MutableProperty.setStringValue(MutableProperty.java:62)
                      	at games.strategy.engine.data.MutableProperty.setValue(MutableProperty.java:85)
                      	at games.strategy.engine.data.GameParser.setOptions(GameParser.java:1382)
                      	... 13 more
                      Caused by: games.strategy.engine.data.GameParseException: unitAttachmentName must have 2 entries, the type of attachment and the name of the attachment.   for: TriggerAttachment attached to: PlayerId named:XCOM with name: triggerAttachmentMedicPromotion
                      	at games.strategy.triplea.attachments.TriggerAttachment.setUnitAttachmentName(TriggerAttachment.java:725)
                      	at games.strategy.engine.data.MutableProperty.setStringValue(MutableProperty.java:58)
                      	... 15 more
                      
                      

                      With this code for my trigger.

                      			
                      			<attachment name="conditionAttachmentMedicPromotion" attachTo="XCOM" javaClass="RulesAttachment" type="player">
                      				<option name="techs" value="medic_promotion" count="1"/>
                      			</attachment>
                      			
                      			<attachment name="triggerAttachmentMedicPromotion" attachTo="XCOM" javaClass="TriggerAttachment" type="player">
                      				<option name="trigger" value="conditionAttachmentMedicPromotion"/>
                      				<option name="unitType" value="medic"/>
                      				<option name="unitAttachmentName" value="unitAttachment"/>
                      				<option name="unitProperty" value="createsUnitsList" count="-reser-2:bandage"/>
                      				<option name="uses" value="1"/>
                      				<option name="when" value="after:playerTechActivation"/>
                      			</attachment>
                      			```
                      I really can't figure out how the "unitAttachmentName" line is supposed to work.
                      1 Reply Last reply Reply Quote 0
                      • B Online
                        beelee
                        last edited by beelee

                        I think you need this :

                        <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>

                        instead of this:

                        <option name="unitAttachmentName" value="unitAttachment"/>

                        here's an example

                        <attachment name="triggerAttachmentTransportCost8Changer" attachTo="Changer" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
                        <option name="trigger" value="conditionAttachmentTransportCost8Changer"/>
                        <option name="unitType" value="transport"/>
                        <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
                        <option name="unitProperty" value="attack" count="0"/>
                        <option name="unitProperty" value="defense" count="1"/>
                        <option name="unitProperty" value="isCombatTransport" count="true"/>
                        <option name="when" value="after:changerCombatMove"/>
                        <option name="uses" value="1"/>
                        </attachment>

                        1 Reply Last reply Reply Quote 0
                        • F Offline
                          ff03k64
                          last edited by

                          After fiddling with it, does it even need that line?

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

                            @ff03k64 idk never tried it without it

                            1 Reply Last reply Reply Quote 0
                            • wc_sumptonW Offline
                              wc_sumpton
                              last edited by

                              @ff03k64

                              The value needs to have a capital 'U' value="UnitAttachment". It is the same value as in the javaClass = value.

                              Cheers... (With a capital 'C')

                              F 1 Reply Last reply Reply Quote 0
                              • F Offline
                                ff03k64 @wc_sumpton
                                last edited by ff03k64

                                edit: nevermind, figured it out. needed xcomTechActivation, not playerTechActivation

                                @wc_sumpton

                                			<attachment name="conditionAttachmentMedicPromotion" attachTo="XCOM" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
                                				<option name="techs" value="medic_promotion" count="1"/>
                                			</attachment>
                                			
                                			<attachment name="triggerAttachmentMedicPromotion" attachTo="XCOM" javaClass="TriggerAttachment" type="player">
                                				<option name="trigger" value="conditionAttachmentMedicPromotion"/>
                                				<option name="unitType" value="medic"/>
                                				<option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
                                				<option name="unitProperty" value="createsUnitsList" count="-reset-2:bandage"/>
                                				<option name="when" value="after:playerTechActivation"/>
                                			</attachment>
                                

                                No longer throwing errors. So far as I can tell it isn't doing anything though.

                                1 Reply Last reply Reply Quote 0
                                • F Offline
                                  ff03k64 @wc_sumpton
                                  last edited by

                                  @wc_sumpton said in technology question:

                                  @ff03k64

                                  Check out 'Age of Tribes' by @Frostion. All the Tech/Upgrades are purchasable in this great map!!

                                  Cheers...

                                  After perusing this for a bit, it looks like he does the tech purchasing by buying a unit, and then if you have that unit, you are allowed to build the associated tech? So it isn't really using the games tech system? Does that sound right?

                                  wc_sumptonW 1 Reply Last reply Reply Quote 0
                                  • wc_sumptonW Offline
                                    wc_sumpton
                                    last edited by

                                    @ff03k64

                                       <option name="unitAttachmentName" value="UnitAttachment"/> <!-- No count value -->
                                       <option name="when" value="after:XCOMTechActivation"?> <!-- Needs the name of the Owning Player's (XCOM) Tech Activation sequence -->
                                       <option name ="uses" value ="1"/> <!-- added to prevent the trigger from firing over and over again.
                                    

                                    The 'when' option determines during what sequence the trigger will fire. Also add a "uses=1" option to prevent the trigger from firing over and over.

                                    Cheers...

                                    1 Reply Last reply Reply Quote 0
                                    • wc_sumptonW Offline
                                      wc_sumpton @ff03k64
                                      last edited by

                                      @ff03k64

                                      That is how 'Age of Tribes' handles purchasing of tech. Yes

                                      Cheers...

                                      F 1 Reply Last reply Reply Quote 0
                                      • F Offline
                                        ff03k64 @wc_sumpton
                                        last edited by

                                        @wc_sumpton said in technology question:

                                        @ff03k64

                                        That is how 'Age of Tribes' handles purchasing of tech. Yes

                                        Cheers...

                                        That's unfortunate, I guess if i do some of my techs that way, i probably want to do all my techs that way then?

                                        Does that make sense?

                                        wc_sumptonW 1 Reply Last reply Reply Quote 0
                                        • wc_sumptonW Offline
                                          wc_sumpton @ff03k64
                                          last edited by

                                          @ff03k64

                                          No. You can purchase, and you can develop with the Tech Roll. You can do different Techs, or you can do the same Tech. Just use trigger to remove developed Technologies from the purchase window. And activate a purchase Tech, so the game can remove it from the development roll.

                                          Cheers...

                                          F 1 Reply Last reply Reply Quote 0
                                          • F Offline
                                            ff03k64 @wc_sumpton
                                            last edited by

                                            @wc_sumpton Well, I probably don't want the random tech rolls anyway. I guess that would be the big thing anyway.

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