new production unit - barracks



  • @Numetalfan hmm...just send the units folder for now. That and the xml only thing different ? No objectives ?

    Don't have any type of right click compress button ? I don't really know much about computer stuff really. Just push a bunch of buttons till it works lol. Not a recommended process.

    I used to put stuff in sendspace and send it that way too but probably not a lot of changes. Just send what's different and all add it



  • @Numetalfan Google drive is basically a storage space on the internet. Other versions are dropbox, microsoft onedrive, and apple has icloud. I am sure there are a million other ones as well, you could do a search for cloud storage and probably find a few of those other options.



  • @beelee

    @ Numetalfan right on. I'm having trouble accessing your xml. Can you put it in a zip file an upload it ? I forget how to change it the way it currently is 🙂

    I think you would want to just copy and paste it into a text editor, but you will need the new icons and graphics anyway. Though i think it will play without them, it will just be annoying.



  • @ff03k64 yea if you don't have the image it'll keep throwing the error but yea units folder should be all that's really needed. Can ignore the other stuff



  • @Numetalfan this will take a bit to go through but one thing is when you do your unitAttachment do them all at once. So instead of this:

    <!-- Barracks -->

    <attachment name="unitAttachment" attachTo="barracks" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">

    <option name="isFactory" value="true"/>

    </attachment>

    <attachment name='unitAttachment' attachTo='barracks' javaClass='UnitAttachment' type='unitType'>

    <option name='canProduceXUnits' value='2'/>

    </attachment>

    it'd be:

    <!-- Barracks -->
    <attachment name="unitAttachment" attachTo="barracks" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    <option name="isFactory" value="true"/>
    <option name='canProduceXUnits' value='2'/>
    </attachment>

    we probably don't want barracks as a factory as mentioned previously but will get to that 🙂



  • @ff03k64

    You want to require different production facilities to produce different units. You have that worked out. But you also want China to be able to place units without production facilities. Triggers will need to be created that '-reset-' the 'requiresUnits' values prior to China's placement, and then reassign those values. Or China will need a different set of units.

    Cheers...



  • the online help has an example

    <attachment name='conditionAttachment_Americans_Aid_UK' attachTo='Americans' javaClass='RulesAttachment' type='player'>
    <option name='switch' value='true'/>
    </attachment>
    <attachment name='triggerAttachment_Americans_Aid_UK' attachTo='Americans' javaClass='TriggerAttachment' type='player'>
    <option name='resource' value='PUs'/>
    <option name='resourceCount' value='6'/>
    <option name='players' value='British'/>
    </attachment>
    <attachment name='userActionAttachment_Americans_Aid_UK' attachTo='Americans' javaClass='UserActionAttachment' type='player'>
    <option name='conditions' value='conditionAttachment_Americans_Aid_UK'/>
    <option name='activateTrigger' value='triggerAttachment_Americans_Aid_UK:1:false:false:false:false'/>
    <option name='text' value='AMERICANS_AID_UK'/>
    <option name='chance' value='6:6'/>
    <option name='costPU' value='10'/>
    <option name='attemptsPerTurn' value='1'/>
    <option name='actionAccept' value='Americans'/>
    </attachment>



  • OK, I need help doing that.

    first I added triggers to my properties:

    <property name='Use Triggers' value='true' editable='false'>
    <boolean/>
    </property>

    now in the attachment section I need the correct coding. the trigger should be activated when it is the Chinese to play and the trigger has to be switched back when the Germans start at the latest, even better when the Chinese end their turn.

    my first code lines are

    <attachment name='conditionAttachment_Chinese_Infantry_placement' attachTo='Chinese' javaClass='RulesAttachment' type='player'>
    <property name="Unit Placement Restrictions" value='true'/>
    </attachment>

    <attachment name='triggerAttachment_Chinese_Infantry_placement' attachTo='Chinese' javaClass='triggerAttachment' type='player'>
    <option name='switch' value='true'/>
    </attachment>

    but I know this is just crap - I have no idea how to program such a trigger - please help



  • @Numetalfan There is probably a game property that you need to set as well but i think you need some rulesattachments as well. Maybe not all of these, but some depending on exactly what you are trying.

        <attachment name="rulesAttachment" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="movementRestrictionTerritories" value="Chinghai:Ningxia:Sikang:Yunnan:Hupeh:Fukien:Suiyuan:Manchuria:Kiangsu:Kwangtung"/>
          <option name="movementRestrictionType" value="allowed"/>
          <option name="productionPerXTerritories" value="2"/>
          <option name="placementAnyTerritory" value="true"/>
          <option name="placementCapturedTerritory" value="true"/>
          <option name="placementPerTerritory" value="3"/>
        </attachment>
    


  • @ff03k64

    I have all this already, as my game is a derivate of the wwii v3-41 where the chinese are part of

    the problem is:

    with my

    <property name="Unit Placement Restrictions" value="true" editable="false">
    <boolean/>
    </property>

    the Chinese functions are blocked, especially

    <option name="placementAnyTerritory" value="true"/>

    now Infantry require a factory or SmallFactory or barracks and the Chinese have none of it

    thats why I need a trigger for the Chinese to deactivate the placment restrection for them, the reactivate that



  • @Numetalfan edit: deleted a bunch of stuff.

    I would make a new unit for chinese infantry



  • @ff03k64 yea a separate chinese unit would be the way to go imo. Probably similar amount of work and will give more flexibility. Will have fewer triggers firing as well, which should help game speed. Maybe not a lot but ...



  • sounds like a plan, indeed:

    <unit name="Chinese_infantry"/>
    </unitList>

    <!-- Chinese Infantry -->

    <attachment name="unitAttachment" attachTo="Chinese_infantry" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    <option name="movement" value="1"/>
    <option name="transportCost" value="2"/>
    <option name="isInfantry" value="true"/>
    <option name="isAirTransportable" value="false"/>
    <option name="attack" value="1"/>
    <option name="defense" value="2"/>
    <option name="artillerySupportable" value="false"/>
    </attachment>

    next:

      <!-- US Chinese Placements -->
    
      <unitPlacement unitType="Chinese_infantry" territory="Fukien" quantity="1" owner="Chinese"/>
      <unitPlacement unitType="Chinese_infantry" territory="Hupeh" quantity="1" owner="Chinese"/>
      <unitPlacement unitType="Chinese_infantry" territory="Suiyuan" quantity="1" owner="Chinese"/>
      <unitPlacement unitType="Chinese_infantry" territory="Yunnan" quantity="1" owner="Chinese"/>
      <unitPlacement unitType="fighter" territory="Sikang" quantity="1" owner="Chinese"/>
      <unitPlacement unitType="Chinese_infantry" territory="Sikang" quantity="1" owner="Chinese"/>
      <unitPlacement unitType="Chinese_infantry" territory="Ningxia" quantity="1" owner="Chinese"/>
    

    so far so good.
    where is the coding that the Chinese get one -new- Chinese_infantry instead of the normal infantry? Have not found that in the xml.



  • @ff03k64

    Let's change the infantry for the Chinese:

    <!-- Always True condition first -->
    <attachment name="conditionAttachmentAlwaysTrue" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
       <option name="switch" value="true"/>
    </attachment>
    
    <!-- Now the triggers -->
    <!-- Reset requiresUnits to be empty -->
    <attachment name="triggerAttachmentResetInfantry" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
       <option name="conditons" value="conditionAttachmentAlwaysTrue"/>
       <option name="unitType" value="infantry"/>
       <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
       <option name="unitProperty" value="requiresUnits" count="-reset-"/>
       <option name="when" value="before:chinesePlace"/>
    </attachment>
    
    <!-- Add values to requiresUnits -->
    <attachment name="triggerAttachmentSetInfantry" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
       <option name="conditons" value="conditionAttachmentAlwaysTrue"/>
       <option name="unitType" value="infantry"/>
       <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/>
       <option name="unitProperty" value="requiresUnits" count="-reset-barracks"/>
       <option name="unitProperty" value="requiresUnits" count="factory"/>
       <option name="unitProperty" value="requiresUnits" count="SmallFactory"/>
       <option name="when" value="after:chinesePlace"/>
    </attachment>
    

    The above is untested but should work.

    Cheers...



  • @Numetalfan

    To use the Chinese_infantry for China, because it has 'purchaseNoPUs', you need to add into the rules for China:

    			<!-- Chinese Rules -->
    <attachment name="rulesAttachment" attachTo="Chinese" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
       <option name="movementRestrictionTerritories" value="Chinghai:Ningxia:Sikang:Yunnan:Hupeh:Fukien:Suiyuan:Manchuria:Kiangsu:Kwangtung:Xinjiang"/>
       <option name="movementRestrictionType" value="allowed"/>
       <option name="productionPerXTerritories" value="2:Chinese_infantry"/> <!-- Add 'Chinese_infantry' here -->
       <option name="placementAnyTerritory" value="true"/>
       <option name="placementCapturedTerritory" value="true"/>
       <option name="placementPerTerritory" value="3"/>
    </attachment>
    

    That's it.

    Cheers...



  • @wc_sumpton said in new production unit - barracks:

    <option name="productionPerXTerritories" value="2:Chinese_infantry"/>

    perfect, it worked!
    yet, I could place 4 Inf in a territory, which means

    <option name="placementPerTerritory" value="3"/>

    got disabled

    WW2v4-1941.xml



  • the barracks can now - I don't know why- only be build in a country already containing a factory.

    can you take a look why. thx



  • @Numetalfan yea I can't get your game to load. Can you upload the whole thing with sendspace or something similar ? I can't really test anything

    ahh...looks as if you are making progress 🙂





  • @Numetalfan yea I was able to DL it but when I added it to triplea I get a polygon error. Anyway, I just redid the Military Base on a mod I was working on and made it Infantry only, but I'm not sure if it'll work with what you want.

    Factories and Bases can't be built in the same TTy but in this mod they can. So that screws up how I was gonna do it. It looks as if you and wc made some progress though.

    What's the current status ? Everything ok except for Barracks building 4 ? If still having trouble, I'd look at Cernel's 270 BC again. I'm gonna take a look myself


Log in to reply