Navigation

    TripleA Logo

    TripleA Forum

    • Register
    • Login
    • Search
    • TripleA Website
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Tags

    Adding triggers to a Map that doesn't have them

    Map Making
    2
    6
    79
    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
      beelee last edited by

      Map is "World War II v5 1942 Second Edition"

      I added <property name="Use Triggers" value="true" editable="true">

      and made a custom one to turn it on/off.

      <attachment name="TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
      <option name="gameProperty" value="Transport A0 D1"/>
      </attachment>

      Then the trigger:

        <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
        <option name="trigger" value="TransportD1"/>
        <option name="unitType" value="transport"/>
        <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
        <option name="unitProperty" value="defense" count="1"/>
        <option name="when" value="before:russiansPurchase"/>
        <option name="uses" value="1"/>
      </attachment>
      

      I also tried -reset-

      <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
      <option name="trigger" value="TransportD1"/>
      <option name="unitType" value="transport"/>
      <option name="unitProperty" value="defense" count="-reset-"/>
      <option name="unitProperty" value="defense" count="1"/>
      <option name="when" value="before:russiansPurchase"/>
      <option name="uses" value="1"/>
      </attachment>

      I could make it buy an entirely new unit in the "productionFrontier" but that seems like a lot of work when this should do it.

      Anyway, I'm obviously missing something. Would someone clue me in please ?

      Thanks

      C 1 Reply Last reply Reply Quote 0
      • C
        Cernel Moderators @beelee last edited by

        @beelee said in Adding triggers to a Map that doesn't have them:

        Map is "World War II v5 1942 Second Edition"

        I added <property name="Use Triggers" value="true" editable="true">

        and made a custom one to turn it on/off.

        <attachment name="TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
        <option name="gameProperty" value="Transport A0 D1"/>
        </attachment>

        Assuming you made the custom property (named "Transport A0 D1") correctly and the one you have there is, instead, supposed to be the condition referencing it, it should be:

        <attachment name="conditionAttachmentTransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
        <option name="gameProperty" value="Transport A0 D1"/>
        </attachment>
        

        Then the trigger:

          <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="trigger" value="TransportD1"/>
          <option name="unitType" value="transport"/>
          <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
          <option name="unitProperty" value="defense" count="1"/>
          <option name="when" value="before:russiansPurchase"/>
          <option name="uses" value="1"/>
        </attachment>
        

        You cannot call directly the property with the trigger. You have to call a condition that is testing the state of the property. Also, assuming "trigger" is a deprecated option, use "conditions", instead, substituting:

        <option name="trigger" value="TransportD1"/>
        

        with:

        <option name="conditions" value="conditionAttachmentTransportD1"/>
        

        I also tried -reset-

        <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
        <option name="trigger" value="TransportD1"/>
        <option name="unitType" value="transport"/>
        <option name="unitProperty" value="defense" count="-reset-"/>
        <option name="unitProperty" value="defense" count="1"/>
        <option name="when" value="before:russiansPurchase"/>
        <option name="uses" value="1"/>
        </attachment>

        This is wrongly coded but, anyway, since a unit can have only one "defense" value, there is no need to use "reset", as changing such value will overwrite the existent one.


        At the end, your trigger should be something like this:

        <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
        <option name="conditions" value="conditionAttachmentTransportD1"/>
        <option name="when" value="before:russiansPurchase"/>
        <option name="unitType" value="transport"/>
        <option name="unitProperty" value="defense" count="1"/>
        <option name="uses" value="1"/>
        </attachment>
        
        B 1 Reply Last reply Reply Quote 1
        • B
          beelee @Cernel last edited by

          @Cernel

          Well unfortunately I still can't get it to work. I tried your advice and variations of it as well but ....

          This is what I did in Global 40 House Rules and it works there.

          This is the custom game property that shows up in map options:

          <attachment name="TrprtC8" attachTo="Changer" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="gameProperty" value="Transport Cost 8"/>
          </attachment>

          It's added into this conditionAttachment:

          <attachment name="conditionAttachmentTransportCost8Changer" attachTo="Changer" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="conditions" value="conditionAttachmentTransportCost8ChangerOption:TrprtC8"/>
          <option name="conditionType" value="OR"/>
          </attachment>

          as you can see it's with another condition and they are a "OR" condition but it's just called "TrprtC8". That's the way all of the gameProperty ones I've made work. If I add "conditionAttachment" they won't work.

          And then here's the trigger"

          <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>

          I understand I can change trigger to conditions and have a few times but it works. Is there any other property that needs turned on or something ? I went through every one in both maps and couldn't find anything.

          This the latest:

          <attachment name="TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="gameProperty" value="Transport A0 D1"/>
          </attachment>
          <attachment name="conditionAttachmentTransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="conditions" value="TransportD1"/>
          </attachment>
          <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
          <option name="conditions" value="conditionAttachmentTransportD1"/>
          <option name="unitType" value="transport"/>
          <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
          <option name="unitProperty" value="defense" count="1"/>
          <option name="unitProperty" value="isCombatTransport" count="true"/>
          <option name="when" value="before:russiansPurchase"/>
          <option name="uses" value="1"/>
          </attachment>

          At any rate appreciate your time, but I'm still off here somewhere.

          C 1 Reply Last reply Reply Quote 0
          • C
            Cernel Moderators @beelee last edited by Cernel

            @beelee said in Adding triggers to a Map that doesn't have them:

            @Cernel

            Well unfortunately I still can't get it to work. I tried your advice and variations of it as well but ....

            This is what I did in Global 40 House Rules and it works there.

            This is the custom game property that shows up in map options:

            <attachment name="TrprtC8" attachTo="Changer" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
            <option name="gameProperty" value="Transport Cost 8"/>
            </attachment>

            It's added into this conditionAttachment:

            <attachment name="conditionAttachmentTransportCost8Changer" attachTo="Changer" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
            <option name="conditions" value="conditionAttachmentTransportCost8ChangerOption:TrprtC8"/>
            <option name="conditionType" value="OR"/>
            </attachment>

            as you can see it's with another condition and they are a "OR" condition but it's just called "TrprtC8". That's the way all of the gameProperty ones I've made work. If I add "conditionAttachment" they won't work.

            And then here's the trigger"

            <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>

            I understand I can change trigger to conditions and have a few times but it works. Is there any other property that needs turned on or something ? I went through every one in both maps and couldn't find anything.

            This the latest:

            <attachment name="TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
            <option name="gameProperty" value="Transport A0 D1"/>
            </attachment>
            <attachment name="conditionAttachmentTransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
            <option name="conditions" value="TransportD1"/>
            </attachment>
            <attachment name="triggerAttachment_TransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
            <option name="conditions" value="conditionAttachmentTransportD1"/>
            <option name="unitType" value="transport"/>
            <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
            <option name="unitProperty" value="defense" count="1"/>
            <option name="unitProperty" value="isCombatTransport" count="true"/>
            <option name="when" value="before:russiansPurchase"/>
            <option name="uses" value="1"/>
            </attachment>

            At any rate appreciate your time, but I'm still off here somewhere.

            Ok. Assuming you don't want anymore the double conditions with the "OR", at this point I'm just giving you the full code...

            This is the custom property you want (but I suggest you change this to something easier to understand), assuming this is supposed to be an option off as default:

            <property name="Transport A0 D1" value="false" editable="true">
            <boolean/>
            </property>
            

            This is the only condition you want:

            <attachment name="conditionAttachmentTransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
            <option name="gameProperty" value="Transport A0 D1"/>
            </attachment>
            

            This is the trigger you want:

            <attachment name="triggerAttachmentTransportD1" attachTo="Russians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player">
            <option name="conditions" value="conditionAttachmentTransportD1"/>
            <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="before:russiansPurchase"/>
            <option name="uses" value="1"/>
            </attachment>
            

            Of course, I've not tested it, so there is the risk something is wrong.

            I'm also not fond of this kind of things, by the way, since, then, you have this condition that will do nothing if changed after when it should fire and will be editable back, to no effect, after it has fired, but just my opinion here.

            Also be sure the phase is exactly called "russiansPurchase" (not validated).

            B 2 Replies Last reply Reply Quote 3
            • B
              beelee @Cernel last edited by

              @Cernel

              right on i'll give it a shot

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

                @Cernel

                GD it you sure got the eye. "Also be sure the phase is exactly called "russiansPurchase" (not validated)."

                It's "russianPurchase" Had me chasing my tail for half a day. Big thanks 🙂

                1 Reply Last reply Reply Quote 1
                • 1 / 1
                • First post
                  Last post
                Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums