Upkept tile extras

What would you like to see in Freeciv? Do you have a good idea what should be improved or how?
Ignatus
Hardened
Posts: 244
Joined: Mon Nov 06, 2017 12:05 pm
Location: St.Petersburg, Russia
Contact:

Upkept tile extras

Postby Ignatus » Fri Jul 12, 2019 9:59 am

A feature which makes functioning of railroads and maglevs more realistic and increases importance of your economy: some extras should need paying upkeep for them to function properly. This I would like to see in RussianCivilWar-1919 scenario: claiming and upkept railroads. At a first realization, we can just have a flag "NeedsUpkeep" that will take 1 gold for each such extra within your borders per turn after you have paid for your units and buildings; in future versions, we may introduce a more flexible effect that can have other values (including negative ones) and supports different types of upkeep (science is basically the same, food/shields should go only on workable radius tiles and need rules to resolve who pays if cities overlap there). The upkeep is paid always empire-based but we firstly pay for ones within city radii, and for some gold uk styles a rich city will pay for itself and a poor one will leave some extras on the government aid. After the cities are iterated, we iterate the whole territory. Random extras we have not found gold for will be left unupkept. Each tile has a bitvector for ticking extras received upkeep that is updated once in a turn. We use a requirement type "ExtraUpkept" that will work like "Extra" but test only upkept ones; for example, we can put such requirement as negated into the extra's rmreqs and set disappearance_chance = 10000. Movement speed of roads isunconditional, so it is just turned off. Probably, we should give the player a control where s/he can turn off the supply for specific type of extras in the empire when costs must be cut.