Subcategories

  • 7
  • 1
  • 21
  • 6
  • 5
  • 9
  • 23
  • 13
  • 6
  • 11
  • 6
  • 6
  • 6
  • 4
  • 10
  • 3
  • 5
  • 14
  • 4
  • 7

Recent Posts

  • B

    @rogercooper said in Problem with foreach:

    The variable system was well coded..

    yea redrum did that. He was working on TWW and realized he needed about 1500 triggers so said F it and wrote the code.

    But you probably already knew that ๐Ÿ™‚

    read more
  • @wc_sumpton There is no Non_Aligned turn step. Non_Aligned is a nominal player that is collection of territories and units that don't anything except defend. They have no steps. This is probably why your suggestions were not working.

    I can't leave them as neutral because

    You can only change control of territory if it has actual player assigned to it. I needed to allow the Soviet_Union to attack Non_Aligned territories but not the others

    I was surprised that foreach="$MajorPower$^$NeutralArea$:$NeutralSetup$" worked. The variable system was well coded..

    read more
  • W

    @rogercooper

    First off, I applauded the fantastic skill demonstrated. Next, I would like to humbly apologize.

    During the discussion under topic Transferring Unit Control when asked "Ireland changes ownership, but the unit remains Non_Aligned" the proper reply should have been "The units in Ireland will only change at Non_Aligned endTurn step. Using 'changeUnitOwners' with a value 'Soviet_Union' for Ireland means that any Non_Aligned infantry unit in Ireland will change to Soviet_Union control during Non_Aligned endTurn step, irregardless of territory ownership."
    I did not understand then the difference between 'changeUnitOwners' and 'captureUnitOnEnteringBy'.

    What happens if one of Non_Aligned units change either by setup or combat. IMHO 'captureUnitOnEnteringBy' would work much better.

    Again, I am sorry for any confusion or problems I may have caused. And again, the coding presented shows great skill.

    Cheers...

    read more
  • @rogercooper I want to post my complete solution as it has some tricks people might want to use. I was surprised that you can use both a cartesian join "^" and a standard join ":" in the same foreach structure.

    Another neat trick is that you can use Export/Export game.xml file to resolve all the for eaches. Useful if you want to check that the result is correct or if you need to customize some entries.

    <variableList> <variable name="MajorPower"> <element name="Britain"/> <element name="Soviet_Union"/> <element name="United_States"/> <element name="Western_Europe"/> </variable> <variable name="NeutralArea"> <element name="Afghanistan"/> <element name="Borneo/Celebes"/> <element name="Ethiopia"/> <element name="Finland"/> <element name="Iran"/> <element name="Ireland"/> <element name="Java"/> <element name="Rio de Oro"/> <element name="Spain"/> <element name="Sumatra"/> <element name="Sweden"/> <element name="Switzerland"/> <element name="Thailand"/> <element name="Tibet"/> </variable> <variable name="NeutralSetup"> <element name="infantry"/> <element name="infantry"/> <element name="infantry:infantry"/> <element name="infantry:infantry:infantry"/> <element name="infantry:armor:fighter"/> <element name="infantry"/> <element name="infantry"/> <element name="infantry"/> <element name="infantry:infantry:infantry:infantry:armor:fighter"/> <element name="infantry"/> <element name="infantry:infantry:infantry:armor:fighter"/> <element name="infantry:infantry:infantry:fighter"/> <element name="infantry:infantry"/> <element name="infantry:infantry"/> </variable> </variableList>

    and

    <attachment name="conditionAttachmentEveryTurn" attachTo="United_States" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"> <option name="rounds" value="1-100"/> </attachment> <attachment foreach="$NeutralArea$" name="conditionAttachment@NeutralArea@Non_Aligned" attachTo="Non_Aligned" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"> <option name="directOwnershipTerritories" value="@NeutralArea@" count="1"/> </attachment> <attachment foreach="$NeutralArea$" name="triggerAttachment@NeutralArea@RemoveUnits" attachTo="Non_Aligned" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="players" value="Non_Aligned"/> <option name="uses" value="1"/> <option name="removeUnits" value="@NeutralArea@:All" count="5"/> </attachment> <attachment foreach="$MajorPower$^$NeutralArea$:$NeutralSetup$" name="triggerAttachment@MajorPower@@NeutralArea@" attachTo="@MajorPower@" javaClass="games.strategy.triplea.attachments.TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachmentEveryTurn"/> <option name="conditions" value="conditionAttachment@NeutralArea@Non_Aligned"/> <option name="players" value="@MajorPower@"/> <option name="chance" value="1:80"/> <option name="chanceIncrementOnFailure" value="1"/> <option name="when" value="before:@MajorPower@Purchase"/> <option name="placement" value="@NeutralArea@:@NeutralSetup@" /> <option name="changeOwnership" value="@NeutralArea@:Non_Aligned:@MajorPower@:false"/> <option name="activateTrigger" value="triggerAttachment@NeutralArea@RemoveUnits:1:false:false:false:false"/> <option name="uses" value="1"/> </attachment>

    read more