I don't know if this is intended or not, but if a creep uses moveTo over multiple Ticks while using the Options reusePath and visualizePathStyle, then every Tick the creep is fatigued when calling moveTo, a new Path is generated instead of using the one already saved in memory.
Example call over multiple Ticks: creep.moveTo(target, {reusePath: 50, visualizePathStyle: {})
I think the issue lies here:
|
if(data(this.id).fatigue > 0 && (!opts || !opts.visualizePathStyle)) { |
|
return C.ERR_TIRED; |
|
} |
This gets skipped when visualizePathStyle is in use, regardless of the .fatigue value.
Then when getting to this Point, at the end of the reusePath Block:
|
var result = this.moveByPath(path); |
|
|
|
if(result == C.OK) { |
|
return C.OK; |
|
} |
|
} |
|
} |
|
|
|
if(opts.noPathFinding) { |
|
return C.ERR_NOT_FOUND; |
|
} |
|
|
|
var path = this.pos.findPathTo(targetPos, opts); |
var result = this.moveByPath(path); results, down the line in creep.move(), with C.ERR_TIRED, but creep.moveTo only returns on OK, thus continuing further down and generating a new Path at
this.pos.findPathTo(targetPos, opts);
I don't know if this is intended or not, but if a creep uses moveTo over multiple Ticks while using the Options reusePath and visualizePathStyle, then every Tick the creep is fatigued when calling moveTo, a new Path is generated instead of using the one already saved in memory.
Example call over multiple Ticks:
creep.moveTo(target, {reusePath: 50, visualizePathStyle: {})I think the issue lies here:
engine/src/game/creeps.js
Lines 173 to 175 in 92a3fff
This gets skipped when visualizePathStyle is in use, regardless of the .fatigue value.
Then when getting to this Point, at the end of the reusePath Block:
engine/src/game/creeps.js
Lines 271 to 283 in 92a3fff
var result = this.moveByPath(path);results, down the line in creep.move(), with C.ERR_TIRED, but creep.moveTo only returns on OK, thus continuing further down and generating a new Path atthis.pos.findPathTo(targetPos, opts);