I can think of several things which wouldn't break with this?
- grabbing
Creep.movewithvar x = Creep.prototype.move. - grabbing
Creep.moveTowithvar x = Creep.prototype.moveTo. - grabbing
Creep.moveByPathwithvar 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 CreepmoveByPathfunction
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.