A suggestion about upkeep



  • The upkeep codes are already exist and -1 upkeep is minimum number for every unit. But sometimes especially in small/medium maps even -1 upkeep is so high for such as conscripts or infantries. This method is great at preventing stack problems but it also force players to buy expensive units. So what about adding fractionel numbers for upkeep? Wouldn't -0.5 more realistic upkeep for cheap units rather than -1?


  • Donators Moderators Admin

    @schulz As is you have to increase the economies overall production so 1pu isn't so much as compared to a 3 pu infantry.



  • 1 Pu is too high for infantries, not all units should have the same upkeep. Upkeep has to be related with unit costs. For example let determine 0.25 as coefficient and give every upkeep to units. In this situation infantry upkeep will be 0.75 and armour upkeep 1.25. It is much more better.


  • Donators Moderators Admin

    @schulz I agree, that is why if I suggest increasing economies size. But that is only if the request is not implement of course. Oh and btw with increase in economy you can increase cost of units as needed, so it's not so high a percentage when using whole numbers for upkeep.


  • Admin

    @schulz As @General_Zod mentions, you could consider just increasing the cost of units and income so you have more flexibility. Alternatively, you could consider triggers that charge maintenance for say every 5, 10, 15, 20 units, etc. Total Ancient War has a system that does this per territory to avoid large stacks: https://github.com/triplea-maps/total_ancient_war/blob/master/map/games/Total_Ancient_War.xml


  • Moderators

    @redrum There are two problems with this:

    1. You cannot test for total units, as I believe this was the intent here (only per territory).
    1. There is not an "each" condition for such a test (meaning you cannot say that something triggers per every 5 units, but you need to make as many triggers and conditions as the times you want to cover, thus have to stop at some point (in your example, if I stop my triggering at 20, it would make really no sense that my costs increase when I go from 5 to 20, but remain the same when I go from 20 to 100)).

  • Admin

    @cernel Yes, those are the existing limitations of it. Point being its an option and there is more likelihood of addressing those limitations than allowing decimal values.


  • Moderators

    @redrum Keeping an eye on the matter being useful for a number of other items, such solutions may be:

    Adding support of "each" for unitPresence, and generally expanding each as to be able to define how much of each (currently it is only 1), in that you could code:
    <option name="directPresenceTerritories" value="map" count="each:1"/>
    <option name="unitPresence" value="infantry" count="each:5"/>
    Tho, this would mean that, for example, if you have 8 in a territory and 7 in another one, you will get twice the amount of whatever the related trigger is giving (resource, placement, purchase...) (2 valid territories with 1 count each), while if you have 15 in a territory, you will get thrice the amount (1 valid territory with 3 counts).
    Probably it would make more sense to be, then, able to test for the total units in the map (a condition option that would be anyways generally good to have), regardless of how they are stacked, and this would need to be added, as well.



  • @cernel Variables would solve everything. Eaches are already too confusing, no need to make it worse.


  • Admin

    Yeah, the whole "each" functionality is pretty funky. I'd like to implement some sort of variable/tag/etc system where you can define essentially a list of values at least to start. I think probably units, territories, and numerical lists would be the ones most useful. Something like:

    <variable name="landUnits" value="infantry:artillery:tank"/>
    <variable name="capitals" value="moscow:berlin:london:toyko:washington"/>
    <variable name="every5" value="5x[0-100]"/>