WW2 Oil and Snow (1st ed.) NEW MAP RELEASE
-
@beelee yes, good one..... I have to update game notes once all is done... feedback from objective new players is welcome as I do not filter well what is allready common for me , and essential info for the Notes..
-
@hostilian that is a very cool feature.... goes beyond my coding understanding limits....
if you can use your solution I would be honoured to insert it in the V3.0 project ... so that we can be more thrifty with oil spendings
by getting these non flying planes switch off their engines...
( it does save some essential barrles indeed)what would be best place in the code to add it ?
great contribution!
-
@ebbe said in WW2 Oil and Snow (1st ed.) NEW MAP RELEASE:
@hostilian that is a good one, I assumed the final used Prod. frontier would remain...
so adapted! ( German example)
<attachment name="CA_T3GerHeavyHouwProd" attachTo="Germans" javaClass="RulesAttachment" type="player"><option name="turns" value="3"/></attachment> <attachment name="CA_T4GerFlakTowerProd" attachTo="Germans" javaClass="RulesAttachment" type="player"><option name="turns" value="4-9"/></attachment> <attachment name="CA_T10GerHeavyArmProd" attachTo="Germans" javaClass="RulesAttachment" type="player"><option name="turns" value="10-19"/></attachment> <attachment name="CA_T20GerSupersubProd" attachTo="Germans" javaClass="RulesAttachment" type="player"><option name="turns" value="20"/></attachment> <attachment name="CA_T21GerV1-rocketProd" attachTo="Germans" javaClass="RulesAttachment" type="player"><option name="turns" value="21"/></attachment> <attachment name="CA_T22GerJetFighterProd" attachTo="Germans" javaClass="RulesAttachment" type="player"><option name="turns" value="22-+"/></attachment>
Yep. Looks right. Bear it in mind that it will fire each of the Triggers, every round - so unless you add an option (for the bonus unit adds) so it only fires once, you'll end up with a free unit each turn.
-
@ebbe said in WW2 Oil and Snow (1st ed.) NEW MAP RELEASE:
@hostilian that is a very cool feature.... goes beyond my coding understanding limits....
if you can use your solution I would be honoured to insert it in the V3.0 project ... so that we can be more thrifty with oil spendings
by getting these non flying planes switch off their engines...
( it does save some essential barrles indeed)what would be best place in the code to add it ?
great contribution!
I'm away for a few days, will check when back, but you define the variables right at the start (well, just about). For HeavyAir, MediumAir and LightAir etc.
I created a AlwaysActive condition.
Then one trigger to set fuel-use to zero at start of combat move.
Then three sets of triggers for the 3 types of air (heavy, medium, light) at end of combat move. To reset the fuel use to what they are for the different aircraft types.Aircraft don't get refueled in the middle of a mission. I wasn't a fan of planes (effectively) running out of fuel mid-mission (before the planes get a chance to return). This is a way to fix that, I guess.
-
Defining variables (put it right above <map>)
<!-- Variables --> <variableList> <variable name="All-Air"> <!-- not Kamikaze-Plane --> <element name="fighter"/> <element name="fighterP38"/> <element name="fighterLight"/> <element name="fighterLightTur"/> <element name="fighterLightRum"/> <element name="fighterLightArg"/> <element name="fighterLightSAfr"/> <element name="fighterLightMex"/> <element name="jetFighter"/> <element name="airTransport"/> <element name="bomber"/> <element name="heavyBomber"/> <element name="v1-rocket"/> </variable> <variable name="Light-Air"> <element name="fighterLight"/> <element name="fighterLightTur"/> <element name="fighterLightRum"/> <element name="fighterLightArg"/> <element name="fighterLightSAfr"/> <element name="fighterLightMex"/> </variable> <variable name="Medium-Air"> <element name="fighter"/> <element name="fighterP38"/> <element name="airTransport"/> </variable> <variable name="Heavy-Air"> <element name="jetFighter"/> <element name="bomber"/> <element name="heavyBomber"/> </variable> </variableList>
Always true switch
<!-- Always True switch --> <attachment name="conditionAttachment_Always_True" attachTo="Germans" javaClass="RulesAttachment" type="player"> <option name="switch" value="true"/> </attachment>
Attachment to set to zero and 3 more attachments to change it back again..
<attachment name="triggerAttachment_noncombatfuel" attachTo="Germans" javaClass="TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachment_Always_True"/> <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/> <option name="unitType" value="$All-Air$"/> <option name="unitProperty" value="fuelCost" count="-reset-0:Fuel"/> <option name="when" value="before:americansNonCombatMove"/> <option name="when" value="before:germansNonCombatMove"/> <option name="when" value="before:japaneseNonCombatMove"/> <option name="when" value="before:chineseNonCombatMove"/> <option name="when" value="before:britishNonCombatMove"/> <option name="when" value="before:italiansNonCombatMove"/> <option name="when" value="before:anzacNonCombatMove"/> <option name="when" value="before:russiansNonCombatMove"/> <option name="when" value="before:frenchNonCombatMove"/> </attachment> <attachment name="triggerAttachment_revertnoncombatfuelheavy" attachTo="Germans" javaClass="TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachment_Always_True"/> <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/> <option name="unitType" value="$Heavy-Air$"/> <option name="unitProperty" value="fuelCost" count="-reset-3:Fuel"/> <option name="when" value="after:americansNonCombatMove"/> <option name="when" value="after:germansNonCombatMove"/> <option name="when" value="after:japaneseNonCombatMove"/> <option name="when" value="after:chineseNonCombatMove"/> <option name="when" value="after:britishNonCombatMove"/> <option name="when" value="after:italiansNonCombatMove"/> <option name="when" value="after:anzacNonCombatMove"/> <option name="when" value="after:russiansNonCombatMove"/> <option name="when" value="after:frenchNonCombatMove"/> </attachment> <attachment name="triggerAttachment_revertnoncombatmedium" attachTo="Germans" javaClass="TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachment_Always_True"/> <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/> <option name="unitType" value="$Medium-Air$"/> <option name="unitProperty" value="fuelCost" count="-reset-2:Fuel"/> <option name="when" value="after:americansNonCombatMove"/> <option name="when" value="after:germansNonCombatMove"/> <option name="when" value="after:japaneseNonCombatMove"/> <option name="when" value="after:chineseNonCombatMove"/> <option name="when" value="after:britishNonCombatMove"/> <option name="when" value="after:italiansNonCombatMove"/> <option name="when" value="after:anzacNonCombatMove"/> <option name="when" value="after:russiansNonCombatMove"/> <option name="when" value="after:frenchNonCombatMove"/> </attachment> <attachment name="triggerAttachment_revertnoncombatfuellight" attachTo="Germans" javaClass="TriggerAttachment" type="player"> <option name="conditions" value="conditionAttachment_Always_True"/> <option name="unitAttachmentName" value="UnitAttachment" count="unitAttachment"/> <option name="unitType" value="$Light-Air$"/> <option name="unitProperty" value="fuelCost" count="-reset-1:Fuel"/> <option name="when" value="after:americansNonCombatMove"/> <option name="when" value="after:germansNonCombatMove"/> <option name="when" value="after:japaneseNonCombatMove"/> <option name="when" value="after:chineseNonCombatMove"/> <option name="when" value="after:britishNonCombatMove"/> <option name="when" value="after:italiansNonCombatMove"/> <option name="when" value="after:anzacNonCombatMove"/> <option name="when" value="after:russiansNonCombatMove"/> <option name="when" value="after:frenchNonCombatMove"/> </attachment>
Note, I didn't do every single nation - just the main ones. Didn't bother with Vichy france as they don't have much air/usable navy anyway..
-
When using <variableList> and <variable> it is always easier to create the small lists first:
<!-- Variables --> <variableList> <!-- Creating small lists first --> <variable name="Light-Air"> <element name="fighterLight"/> <element name="fighterLightTur"/> <element name="fighterLightRum"/> <element name="fighterLightArg"/> <element name="fighterLightSAfr"/> <element name="fighterLightMex"/> </variable> <variable name="Medium-Air"> <element name="fighter"/> <element name="fighterP38"/> <element name="airTransport"/> </variable> <variable name="Heavy-Air"> <element name="jetFighter"/> <element name="bomber"/> <element name="heavyBomber"/> </variable>
Then add those small lists to the big list:
<variable name="All-Air"> <!-- not Kamikaze-Plane --> <element name="$Light-Air$"/> <element name="$Medium-Air$"/> <element name="$Heavy-Air$"/> <element name="v1-rocket"/> <!-- Added because not in any list --> </variable> </variableList>
Now if you wanted to add another Light-Air, just add it to the Light-Air list. Same if you were to remove a Heavy-Air, you would only need to remove it from one list. Helps a lot when adding and removing units.
Cheers...
-
@wc_sumpton
Nice one. Was a bit of a rush job before I went away; but good to know, thanks! -
Cheers...
-
@wc_sumpton
I'll add the V1 to the light air list. Need to doublecheck the fuel use..edit. It doesn't look like it has a fueluse set (when defining the unit). Maybe why I didn't bother re-adding it. If it's only representing a single v1 then that's possibly why.
-
Didn't see the V1, but it was a good example showing how lists and non-listed items can be merged together.
Cheers...
-
@hostilian So about the issue with Train movement in the Ussr....
it was due to an incorrect -reset- after winter in a TerritoryAttachment"actually this sytem was a big compromise: what I really wanted is a railroad unit that can be attacked by strategic bombing so it could be taken out and repaired like Industry... would be realistic, but I did not manage to connect this feature with changing TerritoryAttachment for the Winter-effect and or No railroad (or construction option ) ....
now the presence of a no_railroad-unit triggers a Ter's TerritoryAttachment"... allowing or disallowing trains.
<attachment name="CA_RailroadSichuan" attachTo="Chinese" javaClass="RulesAttachment" type="player"><option name="Players" value="$AllPlayers$"/><option name="directPresenceTerritories" value="Sichuan" count="1"/><option name="unitPresence" value="railroad" count="1"/></attachment> <attachment name="TA_SichuanRailroad" attachTo="Chinese" javaClass="TriggerAttachment" type="player"><option name="conditions" value="CA_RailroadSichuan"/><option name="territories" value="Sichuan"/><option name="territoryAttachmentName" value="TerritoryAttachment" count="territoryAttachment"/><option name="territoryProperty" value="territoryEffect" count="-reset-Hills"/><option name="uses" value="1"/><option name="when" value="after:frenchPlace"/></attachment>
hereby also including the terr's other terr. effect, in this example Hills.
maybe anyone knows a way to combine these features?
-
@ebbe Would you want to block it completely? No airforce in the world is going to completely knock out an entire territory's railyways (especially in Europe). At best, they'll knock out key locations, which could be fairly quickly repaired.
How about instead increasing (doubling) the movement points required for trains moving through 'bombed' territories? For a full turn. To represent the delays in getting them rerouted to less affected lines, repairs - or away from roving fighter/bombers.
-
@hostilian yes, that is a good one... now the challenge will be to get the rail-unit a possible Strategic bombing target (with repair option) and connect that with the mentioned above system of Territory Effect -invert- that allows train movement or disallows it
-
@ebbe Not sure about that.. Countries start with 1 or 2 'train units'; when they probably had hundreds.
Strategic bombers wouldn't have targetted trains (though they might have been present if a rail yard was bombed) - that was more for tactical or fighter bombers (as targets of opportunity).
-
@ebbe You might have already found it, but there's a problem with the logic for the Russian production phases. I've basically created the same sort of trigger and condition set for turn1 and turn 2-3 that there are for turns 4 and above. Seems to have fixed the issue where the T34's don't show up in the purchase list.
ie.
<attachment name="conditionAttachmentT1RusProd" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"><option name="turns" value="1"/></attachment> <attachment name="conditionAttachmentT2RusProd" attachTo="Russians" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player"><option name="turns" value="2-3"/></attachment>
Along with the corresponding triggers.
-
Railroads and trains... Oh my!
railroad has isInfrastructure as true, which means they cannot be taken during regular combat. Also, canBeDamaged is false which means they cannot be hit by SBR damage (bombers). They cannot be hit by bomber by what I read in the xml.
trains etc... could have requiresUnitsToMove set to railroad. It might help.
The xml I have might be dated, so disregard. Just trying to help.
Cheers...
-
anyone a clue what this fatal start up error refers to, or in what file I can find it..?
InvalidPathException: Illegal char at index 19: territoryNames/๏ปฟX__.png
as I cannot find this X__.png in any file .. hmmmm time consuming
and the error came haunting me even if I reinstall previous good working game versions.. which is bit frustrating...
woehaha
... -
I've gotten funny sounding errors when switching between TripleA versions. Mostly I just reload the map.
Cheers...
-
@ebbe Solved, let's move on
-
I will rename Russians to Soviets by the way...
that is I suppose more fair/rightful to all the non Russian USSR-inhabitants/nationalities involved in WW2 on the east front....