TiberiumSpill and Storage
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ares |
Fix Released
|
High
|
AlexB |
Bug Description
When all buildings with positive Storage are filled, and one of them doesn't have TiberiumSpill=yes set, then if you destroy that one building, you will immediately lose almost all of your money, no matter how much you had (it could as well be as much as 400000 or something like that). Furthermore, from that very moment all other structures with Storage will become bugged (even if they have TiberiumSpill=yes), as their pips will indicate they are full, yet you will have almost no money, and they won't get empty as you spend more money. The only way to get back that money is to destroy those structures and harvest those resources again (of course, if they had TiberiumSpill=no, then the money is lost forever).
This doesn't appear to happen if the said structure is destroyed before it gets full storage. It also doesn't happen when a structure with TiberiumSpill=yes is destroyed instead. It happens for both refineries, and structures working as tiberium silos.
Changed in ares: | |
status: | New → In Progress |
importance: | Undecided → Critical |
importance: | Critical → High |
assignee: | nobody → AlexB (alexander-b) |
milestone: | none → 0.5 |
It's a floating point stack corruption. TiberiumSpill skipped a float pop instruction for buidings. This has been fixed by recoding the entire thing. Previously, YR subtracted bail by bail from the building and spread it over the map. Now the Tiberium is removed in one go, and spilling only loops bail by bail if it is enabled.
Also moved the non-building spill to another location, but it should work as always.