What Hurry Production costs, replaying the engine's own integer maths. Only four things move the number: the production still missing, how many times you have already hurried that same channel in that city (+10% each, and it never resets), whether the build is under 50% done (up to +50%), and whether it is produced with Growth rather than Training or Civics (+50%). The unit's identity never enters the formula — only its production cost and production type — so the picker is a convenience over a plain cost number. See Hurrying Production for which channels you can actually unlock.
| Previously done this channel, this city | Multiplier | | | | | | |
|---|
What the code says
The escalation per city, per channel
- Every hurry does
iCost *= (10 + count); iCost /= 10— so the nth repeat costs (10+n)/10 of base. Ten prior Civics hurries in a city means the eleventh costs double. - The counters are per city and per channel
(
miHurryCivicsCount,miHurryTrainingCount, …). Hurrying with Money never raises your Civics price. - Nothing in the code resets them — they are set to 0 when the city is created and only
ever incremented (
City.cs:283,incrementHurry*Count).
Base cost per channel
- Civics / Training —
1.5 × missing + 100, rounded up to a multiple of 10. - Money —
5 × missing + 10, rounded up to 10. - Orders —
missing/10 + 2, not rounded. - Citizens — the escalation hits the missing production first, then
missing/80 + 1. That base citizen is the one thing the repeat penalty never touches — and because the division is integer, the escalation is usually swallowed whole: Citizens is often the same price at nine prior hurries as at none.
The two multipliers on top
- Under 50% done —
getModifiedHurryCostadds(50 − percent)%. At 0% progress that is +50%; at 25% it is +25%; from 50% up it is nothing. Hurrying something barely started is the expensive case. - Growth builds —
YIELD_GROWTHis the only yield carryingiHurryModifier(+50). Workers, Settlers, Scouts and Disciples all hurry half again dearer than a soldier of identical cost. - Both are applied after the repeat escalation, in that order.
Discontent, and the gates
- Every hurry adds
missing/100 + 10Discontent regardless of channel, and it does not escalate with the hurry count — but it does take both multipliers above. Monetary Reform zeroes it (iHurryDiscontentModifier −100). In practice that is a near-flat 10–18, not something that scales with the build. - Because it does not escalate, a city that has already hurried nine times pays the same Discontent as one that never has — only the yield price climbs.
- The community Rush Buy Rules Summary Table in the official
manual (p.220) gives this one as
10 + mp/10. That converts the base to displayed Discontent but not thempterm: the engine holds Discontent in tenths and the UI divides by 10 (HelpText.cs:1316), so the missing-production term ismp/100. The same table's note that “Discontent … increases by 10% base too” is also wrong —getHurryDiscontenthas no count term, and all fivehurry*Buildfunctions call it identically. Every other row matches the code. canHurryrefuses outright when the city is Damaged, when the build would finish next turn anyway (getBuildTurnsLeft == 1), or below Developing culture (HURRY_CULTURE).- Three city effects switch hurrying off entirely: a Furious family
(
EFFECTCITY_OPINIONFAMILY_FURIOUS), Autonomous Rule and Shared Power. Anger your family and the whole lever disappears. - Workers, Settlers and Disciples also cost +10 production per copy already built
in that city (
iProductionCity) — a second, separate escalation that feeds the missing-production figure above.
Formulas from City.cs getHurryCivicsCost, getHurryTrainingCost,
getHurryMoneyCost, getHurryOrdersCost,
getHurryPopulationCost and getModifiedHurryCost; constants from
globalsInt.xml. Costs are charged with
changeYieldStockpileWhole, so every figure here is in whole displayed yield.
Integer truncation is reproduced exactly — the numbers should match the in-game tooltip.