Screeps Wiki
Advertisement

function (target) {

   if (!this.my) {
     return C.ERR_NOT_OWNER;
   }
   if (data(this.id).spawning) {
     return C.ERR_BUSY;
   }
   if (this.getActiveBodyparts(C.WORK) == 0) {
     return C.ERR_NO_BODYPART;
   }
   if (!this.energy) {
     return C.ERR_NOT_ENOUGH_ENERGY;
   }
   if (!target || !target.id || !register.structures[target.id] || !(target instanceof globals.Structure)) {
     return C.ERR_INVALID_TARGET;
   }
   if (!target.pos.isNearTo(this.pos)) {
     return C.ERR_NOT_IN_RANGE;
   }
   if (target.structureType != 'controller') {
     return C.ERR_INVALID_TARGET;
   }
   if (!target.level || !target.owner) {
     return C.ERR_INVALID_TARGET;
   }
   intents[this.id] = intents[this.id] || {};
   intents[this.id].upgradeController = {id: target.id};
   return C.OK;
 }

Advertisement