Screep Creep.pull函数解析

2021-07-19  本文已影响0人  6g3y

Creep.pull
帮助其他 creep 跟随该 creep。目标 creep 移动产生的疲劳值将由该 creep 承担。

第一句话:帮助其他 creep 跟随该 creep。

首先:
A和B必须都要没用疲劳值才能移动

移动方法如下代码所示
A必须朝向目标移动,B必须移动到A

A.pull(B);
A.moveTo(target);
B.move(A);

第二句话:
目标 creep 移动产生的疲劳值将由该 creep 承担。
还是以A,B为例
A:B:
分别是 19 MOVE 和 10MOVE 40 WORK


bodys

测试结果:
当A拉着B移动的时候:

平地:
A+B的move会全部起作用,然后打到 A 上
平地上40WORK是80疲劳,29MOVE 有 58 移动点数
结果是22点疲劳值


疲劳值

沼泽上:
A+B的move会全部起作用,然后打到 A 上
平地上40WORK是80疲劳,29MOVE 有 58 移动点数
结果是,40*5-59 = 342点疲劳值
然后只减少接下来只根据A的move的移动点数来减少疲劳值
然后减少38点疲劳值(只减少B的移动点数),相当于A可以继续移动,或者说A的移动点数被浪费了
其次是如果是B拉A,则会出现平地的情况,双方都可以移动,MOVE少所以疲劳减少的太慢了

image.png image.png

结论:
1.尽量让MOVE多的拉MOVE少的
2.当MOVE平地刚刚好可以给疲劳消耗的时候,进入沼泽是没必要拉(因为效率一样的)
3.当战斗时断腿时可以考虑拉人(毕竟两个人有一个全断,另一个没断的情况下,还能保持 0.5的速度,适合用来两人小队撤退,断腿的时候奶妈来拉)
4.当速度小于1的时候,拉人是不划算的,配置B,平地会变成200move,两个人互相拉,相当于速度变慢了一倍:如下图


image.png
上一篇下一篇

猜你喜欢

热点阅读