in city_build_building() [../../src/server/cityturn.c::2412]: assertion 'pcity->surplus[O_SHIELD] >= 0' failed.
This is an overzealous assert. Surplus can be negative if there's enough shields in the store to pay for it. That can happen on the first turn after switching to producing Gold, when it didn't empty the store in the previous turn.
Split from https://osdn.net/projects/freeciv/ticket/47662#comment:12505:47662:1681274131
This is an overzealous assert. Surplus can be negative if there's enough shields in the store to pay for it. That can happen on the first turn after switching to producing Gold, when it didn't empty the store in the previous turn.