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.

A work of art is never finished, merely abandoned


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.