Why does reclaiming a building not use the same logic as building a building?
-
Kind of sounds like a schizo question but I was always under the impression that reclaiming a live structure utilized the same logic as building a structure. Namely, the speed is determined by the buildtime divided by the total buildpower.
However, reclaiming a live building is instead reliant on the total energy to build the structure divided by the total buildpower. Why? I don't understand why it is suddenly necessary to swap the numerator. For the sake of intuitiveness it should just be based on buildtime; I can't really imagine a situation where this destroys game balance.
Example: a T3 pgen has 6800 buildtime and a T3 mass fab has 5000 buildtime. However, a T3 engie will reclaim 2 T3 pgens in the time it takes to reclaim 1 T3 mass fab. This is because a T3 pgen costs 58,000 energy and a T3 mass fab costs 120,000 energy.
-
Mind: blown
-
So that's why my engies do like 0 dps when I try to reclaim landed inties...
-
I think this behavior is described in the engine, we can not change it in Lua.
-
https://github.com/FAForever/fa/blob/deploy/fafdevelop/lua/sim/Unit.lua#L736
Can add some logic here that adjusts engie's buildpower (unit:SetBuildRate) if the target is live building and then revert it back in unit.OnStopReclaim
I'm not gonna do it, just giving ideas
-
The area these things would matter for balance is engineers reclaiming poorly micro'd labs, but that balance was already kinda broken when labs were buffed.
-
Building something always takes time, hitting it with a hammer and taking to the trash takes a lot less time.
I can see reclaim not being build time based as you are not doing the same operation to build it, just converting the material so you can reclaim it.