Simple Trigger Help
-
@Name
'uses' is the number of time a condition/trigger can be called.<option name="uses" value="4"/>Means that the condition/trigger can only be call 4 times, it can be call 4 times in 1 turn, or take all game to make the 4 calls. After the 4th call, then the trigger can not be used any more for the rest of the game.
The 'switch' is a condition option. In my above example I created a condition called 'Lyttian_War_Switch' which contained '<option name="switch" value="true"/>'. So this condition is always true for any condition/trigger that uses it.
Then I changed the 'conditions' for Lyttian_War trigger and add a check for Lyttian_War_Switch:
<option name="conditions" value="Lyttian_War_Condition:Lyttian_War_Switch"/>So the trigger will only fire when both conditions are true. With a chance of 6 or less out of 6 (always true, you will always get a 6 or less, when the highest value is 6) then the relationship between Rhodos and Mecedon will change to war. Then I changed the Lyttian_War_Switch condition to false. The next three lines are taken together:
<option name="players" value="Rhodos"/> <!-- not needed because the trigger is attached to this player --> <option name="playerAttachmentName" value="RulesAttachment" count="Lyttian_War_Switch"/> <!-- changing a player RulesAttachment name 'Lyttian_War_Switch' --> <option name="playerProperty" value="switch" count="false"/> <!-- changing the 'switch' value from true to false for what uses this condition -->Hopes this helps what I was trying to say.
@Name said in Simple Trigger Help:
If we use switch on the condition, how many rolls when the trigger fires?
Again it is hard to understand what you are asking, the trigger will only roll once every time it fires. How may times will this trigger fire per turn is hard to say with out a 'when'.
Cheers...
-
@redrum
Could it be cause I have used this isDefaultWarPosition (without really being sure what it does
)?
If true, any players that reach an alliance chaining relationship, will have their enemies who are not yet at war with, set to this relationship.@wc_sumpton I'll study what you said and open a specific thread with any remaining related questions soon.
-
@Name
I am still trying to understand what you are asking. Let me breakdown what I think so far.<!-- You are creating a condition and attaching it to player Macedon --> <attachment name="Lyttian_War_Condition" attachTo="Macedon" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"> <!-- Now check for something in the Carpathian Sea or Cretan Sea. --> <!-- OR so only one territory has to contain something. --> <option name='alliedPresenceTerritories' value='Carpathian Sea:Cretan Sea' count='1'/> <!-- Checking for Pirate_Fleet OR Fleet, and there must be 2 or more of them in a single territory.--> <!-- If there is 1 in each territory then this will return 'false' --> <option name='unitPresence' value='Pirate_Fleet:Fleet' count='2'/> </attachment> <!-- A trigger to check condition Lyttian_War attached to player Rhodos --> <attachment name="Lyttian_War" attachTo="Rhodos" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <!-- There must be 2 or more Pirate_Fleet or Fleet units in a single Carpathian Sea or Cretan Sea territory, --> <option name="conditions" value="Lyttian_War_Condition"/> <!-- Change Rhodos and Macedon to be at war with each other. --> <option name="relationshipChange" value="Rhodos:Macedon:any:War"/> <!-- Show this notification to the Rhodos player. --> <option name='notification' value='Social_War'/> <!-- There will be a 1 in 6 chance every time this trigger is called --> <option name="chance" value="1:6"/> <!-- Add to fire only after Macedon NCM --> <option name="when" value="after:MacedonNonCombatMove"/> </attachment>@Name said in Simple Trigger Help:
If the Fleets are present on the next turn, and the trigger didn't succeed on the first, how many times will the trigger roll? Same scenario but the fleets not there anymore?
Yes this trigger will fire every time there are fleets there. Even if Rhodos and Macedon are at War, if the fleets are there this trigger will fire. If the fleets leave, then the trigger will not fire. If the fleets return the trigger will fire again.
How may times will this trigger roll/fire? Not sure, I think it should fire at the end of the Macedon NCM. But it could be many times per game turn.
Hope this is helpful.
Cheers...
-
Ok I think I get most of it.
switch = always true.
Setting switch to false for a condition will disable it.
uses 1 = 1 time in total that the trigger can fire.Those triggers seem to all fire during the politics phase. I'll keep it that way without "when" for now, until the gameplay is more settled on and I know when I want them.
Question:
Can I have a notification display to all or a number of players?My confusing question rephrased, and probably answered:
Does a trigger run again on it's own during the next turn if it failed it's roll? Probably not. What I was asking for about "rolls" (chances) is if it could roll two times next turn. One because it triggered again and one because it keeps checking from the previous turn. This chanceIncrementOnFailure made me think that possibly a trigger could auto-retry with increased chances next turn. Probably not. -
@Name said in Simple Trigger Help:
Question:
Can I have a notification display to all or a number of players?Yes add <option name="players" value="Rhodos:Macedon"/>. Just list the players, separated with a colon.
@Name said in Simple Trigger Help:
My confusing question rephrased, and probably answered:
Does a trigger run again on it's own during the next turn if it failed it's roll?Yes, if the condition, the fleets are still there. No if the fleets are not there. Chance has nothing to do with the trigger firing, only the 'conditions' value.
Turn 1: two Fleet units in Cretan Sea so trigger Lyttian_War fires and chance 1:6 fails.
Turn 2: one Fleet still in Cretan Sea with the other in Carpathian Sea with a Pirate_Fleet so trigger will fire. If you added:
<option name="chanceIncrementOnFailure" value="1"/>Now the chance is 2 or less out of 6, but fails again.
Turn 3 the Fleet as left Carpathian Sea leaving the Pirate_Fleet with a Fleet in Cretan Sea. The trigger 'Lyttian_War' will not fire.
Turn 4 the Pirate_Fleet moved to Cretan Sea with the Fleet and the trigger will fire again, this time at 3:6. Success and Rhodos and Macedon are at war!
Turn 5 the Pirate_Fleet and Fleet are still in Cretan Sea. Trigger 'Lyttian_War' fires at 3:6 failure but Rhodos and Macedon are still at war.
Turns 6-9 the Fleet has left Cretan Sea for Carpathian Sea so Trigger 'Lyttian_War' does not fire
Turns 10-15 the Pirate_Fleet has joined the Fleet at Carpathian Sea so Trigger 'Lyttian_War' will fire. Some fail, some success. With every failure the chance will increase by 1 until it matches 6, then the chance will not fail. With every success Rhodos and Macedon will be set to War, even if they are already at war, and everyone listed in the 'players' value will get notified.
So yes the trigger will fire again and again, as long as 2 units are in 1 of the listed territories, the trigger will fire.
And yes on every failure with 'chanceIncrementOnFailure' value of 1 will increase the chance of success until it reaches state of always true (6:6).
Hope this helps...
Cheers...
-
@Name Anything is possible and I'd need to take a closer look at the code and do some testing but I'm 99% sure that
isDefaultWarPositionwould only ever cause chaining war and cause additional war declarations which doesn't appear to be the issue you're seeing
-
-
I've made a thread for the map showcasing some of it's planned features.
https://forums.triplea-game.org/topic/1726/ancient-empires-222-bc@wc_sumpton
Thanks, everything seems clear now
-
@Name
Sure, no problem. Have fun and welcome to TripleA xml scripting.Cheers...
-
@Name So I looked a bit closer and the reason
alliancesCanChainTogetherisn't working as we would think is that it only happens during the politics phase not during triggered relationship changes. So if you'd say declare war using a politics action instead of the trigger then you would see the effect I described. This could probably be enhanced and either way a bit better documentation in POS2 would be helpful. -
@redrum
Thanks. I think I can deal with it for now, setting only a number of essential triggered changes to depict the era and including whatever players are needed in each case. -
@Name Yes, all powers start at neutral, with alliances set with triggers.
Here is the code
<attachment name="relationshipTypeAttachment" attachTo="War" javaClass="games.strategy.triplea.attachments.RelationshipTypeAttachment" type="relationship"> <option name="archeType" value="war"/> <option name="isDefaultWarPosition" value="true"/> </attachment> <attachment name="relationshipTypeAttachment" attachTo="Allied" javaClass="games.strategy.triplea.attachments.RelationshipTypeAttachment" type="relationship"> <option name="archeType" value="allied"/> <option name="alliancesCanChainTogether" value="true"/> </attachment> <attachment name="relationshipTypeAttachment" attachTo="Neutrality" javaClass="games.strategy.triplea.attachments.RelationshipTypeAttachment" type="relationship"> <option name="archeType" value="neutral"/> </attachment> <attachment name="conditionAttachmentTurn1" attachTo="A" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"><option name="rounds" value="1"/></attachment> <attachment name="triggerAttachmentJapanToA" attachTo="Japanese" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Japanese:A:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:2"/> <option name="when" value="before:ABidPlace"/> </attachment> <attachment name="triggerAttachmentJapanToB" attachTo="Japanese" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Japanese:B:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:1"/> <option name="when" value="after:ABidPlace"/> </attachment> <attachment name="triggerAttachmentGermansToA" attachTo="Germans" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Germans:A:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:2"/> <option name="when" value="before:ABidPlace"/> </attachment> <attachment name="triggerAttachmentGermansToB" attachTo="Germans" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Germans:B:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:1"/> <option name="when" value="after:ABidPlace"/> </attachment> <attachment name="triggerAttachmentItaliansToA" attachTo="Italians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Italians:A:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:2"/> <option name="when" value="before:ABidPlace"/> </attachment> <attachment name="triggerAttachmentItaliansToB" attachTo="Italians" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Italians:B:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:1"/> <option name="when" value="after:ABidPlace"/> </attachment> <attachment name="triggerAttachmentChineseToA" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Chinese:A:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:2"/> <option name="when" value="before:ABidPlace"/> </attachment> <attachment name="triggerAttachmentChineseToB" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Chinese:B:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:1"/> <option name="when" value="after:ABidPlace"/> </attachment> <attachment name="triggerAttachmentAmericansToA" attachTo="Americans" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Americans:A:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:2"/> <option name="when" value="before:ABidPlace"/> </attachment> <attachment name="triggerAttachmentAmericansToB" attachTo="Americans" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="Americans:B:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:1"/> <option name="when" value="after:ABidPlace"/> </attachment> <attachment name="triggerAttachmentBritishToA" attachTo="British" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="British:A:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:2"/> <option name="when" value="before:ABidPlace"/> </attachment> <attachment name="triggerAttachmentBritishToB" attachTo="British" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentTurn1"/> <option name="relationshipChange" value="British:B:Neutrality:Allied"/> <option name="uses" value="1"/> <option name="chance" value="1:1"/> <option name="when" value="after:ABidPlace"/> </attachment>Each power has 50% of joining alliance A, and a 50% of joining alliance B.
Note that alliances chain together not wars. Declaring war on a member of an alliance does not put you at war with the rest. However allying with another country gives you identical diplomatic relationships (for the peace and war archetypes).
-
@RogerCooper Thanks, I'll consider it when I get more deeply into how to handle diplomacy.
Btw does this format work with trigger notifications? or only with political actions?
Social_War=<body>Blah Blah!</body> Social_War.NOTIFICATION_SUCCESS=<body>Aetolia is now Allied with Sparta against Macedon!</body> Social_War.OTHER_NOTIFICATION_SUCCESS=<body>Aetolia is now Allied with Sparta against Macedon!</body> Social_War.NOTIFICATION_FAILURE=<body>Aetolia is not yet Allied with Sparta against Macedon!</body> Social_War.OTHER_NOTIFICATION_FAILURE=<body>Aetolia is not yet Allied with Sparta against Macedon!</body>I can't seem to get it replace things like:
Trigger Rolling is a Failure! (Rolled at 3 out of 6 Result: 4 for Social War) -
@Name Yeah, as far as I know, the success/failure notifications are manageable only from the user side. If so, I certainly believe this is unpolished, as it should be up to the mapmaker to decide if to show them or not, at least as default (for example, there is no point showing a success notification if that also triggers a custom notification, explaining the matter).
-
@Cernel Makes sense. Anyway I'll refrain from using chances and make all diplomacy conditions more linear for now until I have implemented all my players.
-
@Name It's unpolished, but not a big deal. Users will just have to disable showing all trigger chance rolls. Of course, I'm sure most users will not realize they can, at least not very soon. So, yeah... You can open a feature request, I suppose.
A problem with having many trigger chances (talking about having tens of them) is that, playing live, they cause a considerable delay (I guess because the rolls have to be sent to all participants each time). Try War of the Relics, if you want.
-
@Cernel I see, but that was actually the secondary reason for avoiding chances. My main concern is messing up alliances if some triggers don't succeed before others. So I'll keep it simple (at least for now).
-
so was the whole point of this thread to get the couple trolls with many accounts to make a really really pointless and waste of time super complicated thread about Triggers and call it "simple Trigger" help?
I just wondered for what mod/map is this for?
-
@Captain-Crunch No it just started as the title describes and due to many factors got carried away at times. It's for this map https://forums.triplea-game.org/topic/1726/ancient-empires-222-bc (in early development).
-
@Captain-Crunch
LoL now I'm a troll...

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