I can think of several things which wouldn't break with this?
- grabbing
Creep.move
withvar x = Creep.prototype.move
. - grabbing
Creep.moveTo
withvar x = Creep.prototype.moveTo
. - grabbing
Creep.moveByPath
withvar x = Creep.prototype.moveByPath
. - calling
c.moveTo()
with any arguments - replacing the Creep move prototype with
Creep.prototype.move = x;
and having creep movement use the new function - replacing the Creep moveByPath prototype with
Creep.prototype.moveByPath = x;
and having creep movement use the new function - replacing the Creep moveTo prototype with
Creep.prototype.moveTo = x;
and having creep movement use the new function
The only thing which would break, as far as I can tell, are:
- overwriting
Creep.prototype.moveTo = x;
and then expectingsomePowerCreep.moveTo()
to use the new creep moveTo function - overwriting
Creep.prototype.moveByPath = x;
and then expectingsomePowerCreep.moveByPath()
to use the new CreepmoveByPath
function
Both of these things are breaking only to people who've written PowerCreep code in the time since they've been out, and both have the easily fixable solution of overwriting Moveable.moveTo
/ Moveable.moveByPath
. There's no way this can affect idle users, even if they extensively use the prototype system.