Results 17 issues of logic

https://github.com/923132714/ScreepsScript/issues/33

https://github.com/923132714/ScreepsScript/issues/25

原因是 countEnergyChangeRatio 一个 tick 多次调用,totalEnergy总被置NAN 导致 expect一直不正常。 但为什么多次调用会为nan仍未明确,希望大佬 @LokiSharp 能看出原因 解决方法是如果当前tick调用过就直接返回结果,我觉得就算没这个问题也应该如此做减少计算量

https://github.com/923132714/ScreepsScript/issues/28#issuecomment-831671619

pb healer 似乎不会自杀,只是删除内存 https://github.com/923132714/ScreepsScript/issues/30

```shell [下午9:16:59][shardSeason]TypeError: Cannot destructure property `totalEnergy` of 'undefined' or 'null'. at ControllerExtension.drawEnergyHarvestInfo (../src/mount/StructureExtension/ControllerExtension/ControllerExtension.ts:41:43) at ControllerExtension.onWork (../src/mount/StructureExtension/ControllerExtension/ControllerExtension.ts:17:9) at App.errorMapper [as _catcher] (../src/utils/global/ErrorMapper.ts:82:4) at App.doWithCatcher (../src/modules/framework/index.ts:205:9) at allItem.forEach.item (../src/modules/framework/index.ts:195:65) at App.do (../src/modules/framework/index.ts:195:14)...

- [ ] 方案一,继续使用,worker升级任务使用upgradeLink能量 - [ ] 方案二,不再使用,去掉自动布局中的upgradeLink - [ ] 方案三,继续使用,worker 升级时优先查看upgradeLink能量是否到达所需阈值,到达则使用upgradeLink,否则此次获取能量不使用upgradeLink 我倾向于方案三,但是有可能的问题是upgradeLink周围的工作位置有限