Ordering a renovation
Start orders a renovation for the player through the game’s own order path.
Renovations order a renovation
Call Start with a renovation’s Id to order it for the player. It works only while the contractor menu is open and a contractor is chosen.
public static class Renovations
{
public static bool Start(string id);
}
| Method | Returns | What it does |
|---|---|---|
Start(id) | bool | Orders a renovation the way the game does. true when the game took the order. |
Things to know
Startorders a renovation through the game’s own order path, so the game takes the first payment and the items. It givestrueonly when the game accepted the order. IfStartgivesfalsebefore it calls the game, nothing has been charged. (It callsTenementApartment.StartUpdateorTenementGeneral.StartUpdate. The game takes the OC first payment and the required items inside that call (TenementUpgrade.TakeRequiredItemsAndMoney).)- After an order,
Starttidies the screen the way the upgrade panel does. It removes the ordered renovation and the lower ones in its line from the player’s marked list, closes the upgrade panel if it is open, and refreshes the floor buttons. This stops a panel that was open before the call from ordering the same renovation a second time. (It callsTenementController.RemoveSupersededMarkedUpgrades,CloseUpgradePanel, andBlueprintManager.UpdateAll.)
Limits
Startgivesfalseunless all of these are true: (The checks areTenementController.contractorOpenwith acurrentContractor,TenementContractor.CanUpgrade,Money.CheckMoneyfor the OC price, andTenementUpgrade.CanUpgradewith items, unlessTenementController.ignoreUpgradePricesAndItemsis set.)- The contractor menu is open and a contractor is chosen.
- The renovation is
Available. - The contractor offers that upgrade for that size of apartment.
- The player can pay the first payment in OC and has the required items. The one exception is when the game’s setting that ignores upgrade prices and items is on, which skips this check.
Startgivesfalsefor an id that isnullor empty, and logs once for it. It also givesfalsewhile a save is loading or being written.Startdoes not do the developer shortcut that finishes a renovation at once.