Handling several special cases in ruleset would become easier (or even possible at all) if there would be a requirement type to check if the city was acquired peacefully or by conquest. Maybe cities should remember how the current owner acquired them. At first (freeciv-3.2) I would go by some simple CityStatus requirement value to query that information. If it turns out that more detailed (than single bit) information is required, we should be able to do that in future versions.
Handling several special cases in ruleset would become easier (or even possible at all) if there would be a requirement type to check if the city was acquired peacefully or by conquest. Maybe cities should remember how the current owner acquired them. At first (freeciv-3.2) I would go by some simple CityStatus requirement value to query that information. If it turns out that more detailed (than single bit) information is required, we should be able to do that in future versions.