I pinpointed the problem.
Game starts with some Settlers, Workers and Explorers.
When those units are given the flag "Small Land", they are not created at the beginning. When they are given flag "Land", everything is fine and the game starts normally and with them.
It seems there is nothing wrong with those flags by themselves because the moment I build a city, that city can build further Workers ("Small Land", and the class name even shows in Civipedia).
This is the part of units.ruleset that defines those two classes:
Code: Select all
[unitclass_land]
; /* TRANS: Unit class: used adjectivally */
name = _("?unitclass:Land")
min_speed = 1
hp_loss_pct = 0
flags = "TerrainSpeed", "DamageSlows", "CanOccupyCity", "BuildAnywhere",
"CollectRansom", "ZOC", "CanFortify", "CanPillage",
"TerrainDefense", "KillCitizen"
[unitclass_land_small]
; /* TRANS: Unit class: used adjectivally */
name = _("?unitclass:Small Land")
min_speed = 1
hp_loss_pct = 0
flags = "TerrainSpeed", "DamageSlows", "BuildAnywhere", "CollectRansom",
"ZOC", "TerrainDefense", "DoesntOccupyTile"
Also, I have created a new unit, "Founders", which are supposed to be a copy of Settlers, but slightly different and with a flag "NoBuild". Everything is fine until I give them this flag and then, again, there is a short circuit.
Any ideas?