Excess Consumption
The town_excess_consumption function at 0x00528630 reduces excess wares which cannot be produced in the town.
It is called in town_tick if the town is not under siege.
Calculation
def calculate_excess_consumption(
daily_production: int,
daily_consumption_citizens: int,
daily_consumption_businesses: int,
current_amount: int,
t1: int,
t3: int,
) -> int:
if daily_production:
return 0
if current_amount <= t1:
return 0
above_t1 = current_amount - t1
consumption = daily_consumption_citizens + daily_consumption_businesses
removed_amount = above_t1
* 16
* consumption
// 10
// t3
return min(removed_amount, above_t1)