diff --git a/src/game/creeps.js b/src/game/creeps.js
index fa1238d5..4ba85d3d 100644
--- a/src/game/creeps.js
+++ b/src/game/creeps.js
@@ -310,7 +310,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             if(!target.energy) {
                 return C.ERR_NOT_ENOUGH_RESOURCES;
             }
-            if(!target.pos.isNearTo(this.pos)) {
+            if(!target.pos.inRangeTo(this.pos, C.RANGE_HARVEST_SOURCE)) {
                 return C.ERR_NOT_IN_RANGE;
             }
             if(this.room.controller && (
@@ -325,7 +325,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             if(!target.mineralAmount) {
                 return C.ERR_NOT_ENOUGH_RESOURCES;
             }
-            if(!target.pos.isNearTo(this.pos)) {
+            if(!target.pos.inRangeTo(this.pos, C.RANGE_HARVEST_MINERAL)) {
                 return C.ERR_NOT_IN_RANGE;
             }
             var extractor = _.find(target.pos.lookFor('structure'), {structureType: C.STRUCTURE_EXTRACTOR});
@@ -433,7 +433,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             }
         }
 
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_TRANSFER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(!data(this.id)[resourceType]) {
@@ -574,7 +574,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             }
         }
 
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_WITHDRAW)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -646,7 +646,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(utils.calcResources(this.carry) >= this.carryCapacity) {
             return C.ERR_FULL;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_PICKUP)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -678,7 +678,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_ATTACK)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -706,7 +706,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!this.pos.inRangeTo(target, 3)) {
+        if(!this.pos.inRangeTo(target, C.RANGE_RANGED_ATTACK)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -750,7 +750,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_HEAL)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(this.room.controller && !this.room.controller.my && this.room.controller.safeMode) {
@@ -808,7 +808,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!this.pos.inRangeTo(target, 3)) {
+        if(!this.pos.inRangeTo(target, C.RANGE_REPAIR)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -835,7 +835,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!this.pos.inRangeTo(target, 3)) {
+        if(!this.pos.inRangeTo(target, C.RANGE_BUILD)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(_.contains(['spawn','extension','constructedWall'], target.structureType) &&
@@ -906,7 +906,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(this.getActiveBodyparts(C.CLAIM) == 0) {
             return C.ERR_NO_BODYPART;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_CLAIM_CONTROLLER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(target.structureType != 'controller') {
@@ -942,7 +942,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(this.getActiveBodyparts(C.CLAIM) < 5) {
             return C.ERR_NO_BODYPART;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_ATTACK_CONTROLLER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(!target.owner && !target.reservation) {
@@ -977,7 +977,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(target.upgradeBlocked && target.upgradeBlocked > 0) {
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.inRangeTo(this.pos, 3)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_UPGRADE_CONTROLLER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(!target.my) {
@@ -1004,7 +1004,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_RESERVE_CONTROLLER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(target.structureType != 'controller') {
@@ -1070,7 +1070,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_DISMANTLE)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(this.room.controller && !this.room.controller.my && this.room.controller.safeMode) {
@@ -1096,7 +1096,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_GENERATE_SAFEMODE)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -1114,7 +1114,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_SIGN_CONTROLLER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(target.structureType != 'controller') {
diff --git a/src/game/structures.js b/src/game/structures.js
index 5df958ae..ce8388b6 100644
--- a/src/game/structures.js
+++ b/src/game/structures.js
@@ -52,7 +52,7 @@ function _transfer(target, resourceType, amount) {
     if (data(target.id).energyCapacity && (!amount || utils.calcResources(data(target.id)) + amount > data(target.id).energyCapacity)) {
         return C.ERR_FULL;
     }
-    if (!target.pos.isNearTo(this.pos)) {
+    if (!target.pos.inRangeTo(this.pos, C.RANGE_TRANSFER)) {
         return C.ERR_NOT_IN_RANGE;
     }
 
@@ -89,7 +89,7 @@ function _transferEnergy(target, amount) {
     if(data(target.id).energyCapacity && (!amount || utils.calcResources(data(target.id)) + amount > data(target.id).energyCapacity)) {
         return C.ERR_FULL;
     }
-    if(!target.pos.isNearTo(this.pos)) {
+    if(!target.pos.inRangeTo(this.pos, C.RANGE_TRANSFER)) {
         return C.ERR_NOT_IN_RANGE;
     }
 
@@ -403,7 +403,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if (data(target.id).energyCapacity && (!amount || utils.calcResources(data(target.id)) + amount > data(target.id).energyCapacity)) {
             return C.ERR_FULL;
         }
-        if (!target.pos.isNearTo(this.pos)) {
+        if (!target.pos.inRangeTo(this.pos, C.RANGE_TRANSFER)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -431,7 +431,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(lab2);
             return C.ERR_INVALID_TARGET;
         }
-        if(this.pos.getRangeTo(lab1) > 2 || this.pos.getRangeTo(lab2) > 2) {
+        if(this.pos.getRangeTo(lab1) > C.RANGE_RUN_REACTION || this.pos.getRangeTo(lab2) > C.RANGE_RUN_REACTION) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(this.mineralAmount > this.mineralCapacity - C.LAB_REACTION_AMOUNT) {
@@ -460,7 +460,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
             register.assertTargetObject(target);
             return C.ERR_INVALID_TARGET;
         }
-        if(!this.pos.isNearTo(target)) {
+        if(!this.pos.inRangeTo(target, C.RANGE_BOOST_CREEP)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(data(this.id).energy < C.LAB_BOOST_ENERGY) {
@@ -531,7 +531,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
                 return C.ERR_RCL_NOT_ENOUGH;
             }
         }
-        if ((target instanceof globals.Creep) && !this.pos.isNearTo(target)) {
+        if ((target instanceof globals.Creep) && !this.pos.inRangeTo(target, C.RANGE_TRANSFER)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if (!data(this.id).energy) {
@@ -1092,7 +1092,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(data(target.id).energy == data(target.id).energyCapacity) {
             return C.ERR_FULL;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_TRANSFER)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
@@ -1144,7 +1144,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(!target.my) {
             return C.ERR_NOT_OWNER;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_RENEW_CREEP)) {
             return C.ERR_NOT_IN_RANGE;
         }
         if(this.spawning) {
@@ -1176,7 +1176,7 @@ exports.make = function(_runtimeData, _intents, _register, _globals) {
         if(!target.my) {
             return C.ERR_NOT_OWNER;
         }
-        if(!target.pos.isNearTo(this.pos)) {
+        if(!target.pos.inRangeTo(this.pos, C.RANGE_RECYCLE_CREEP)) {
             return C.ERR_NOT_IN_RANGE;
         }
 
diff --git a/src/processor/intents/creeps/attack.js b/src/processor/intents/creeps/attack.js
index 49bafb49..b6ca28d8 100644
--- a/src/processor/intents/creeps/attack.js
+++ b/src/processor/intents/creeps/attack.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target == object) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_ATTACK || Math.abs(target.y - object.y) > C.RANGE_ATTACK) {
         return;
     }
     if(target.type == 'creep' && target.spawning) {
diff --git a/src/processor/intents/creeps/attackController.js b/src/processor/intents/creeps/attackController.js
index b0a8f29b..d401399b 100644
--- a/src/processor/intents/creeps/attackController.js
+++ b/src/processor/intents/creeps/attackController.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'controller') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_ATTACK_CONTROLLER || Math.abs(target.y - object.y) > C.RANGE_ATTACK_CONTROLLER) {
         return;
     }
     if(!target.user && !target.reservation) {
diff --git a/src/processor/intents/creeps/build.js b/src/processor/intents/creeps/build.js
index 21c7cce2..fb3dbd26 100644
--- a/src/processor/intents/creeps/build.js
+++ b/src/processor/intents/creeps/build.js
@@ -20,7 +20,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
         !C.CONSTRUCTION_COST[target.structureType]) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 3 || Math.abs(target.y - object.y) > 3) {
+    if(Math.abs(target.x - object.x) > C.RANGE_BUILD || Math.abs(target.y - object.y) > C.RANGE_BUILD) {
         return;
     }
     if(_.any(roomObjects, {x: target.x, y: target.y, type: target.structureType})) {
diff --git a/src/processor/intents/creeps/claimController.js b/src/processor/intents/creeps/claimController.js
index 0854cec6..1ab381b1 100644
--- a/src/processor/intents/creeps/claimController.js
+++ b/src/processor/intents/creeps/claimController.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'controller') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_CLAIM_CONTROLLER || Math.abs(target.y - object.y) > C.RANGE_CLAIM_CONTROLLER) {
         return;
     }
     if(target.bindUser && object.user != target.bindUser) {
diff --git a/src/processor/intents/creeps/dismantle.js b/src/processor/intents/creeps/dismantle.js
index 777b3a54..a5e17e63 100644
--- a/src/processor/intents/creeps/dismantle.js
+++ b/src/processor/intents/creeps/dismantle.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || !C.CONSTRUCTION_COST[target.type]) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_DISMANTLE || Math.abs(target.y - object.y) > C.RANGE_DISMANTLE) {
         return;
     }
     if(roomController && roomController.user != object.user && roomController.safeMode > gameTime) {
diff --git a/src/processor/intents/creeps/generateSafeMode.js b/src/processor/intents/creeps/generateSafeMode.js
index 22ddb2d1..1bb39c9e 100644
--- a/src/processor/intents/creeps/generateSafeMode.js
+++ b/src/processor/intents/creeps/generateSafeMode.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'controller') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_GENERATE_SAFEMODE || Math.abs(target.y - object.y) > C.RANGE_GENERATE_SAFEMODE) {
         return;
     }
     if(!(object[C.RESOURCE_GHODIUM] >= C.SAFE_MODE_COST)) {
diff --git a/src/processor/intents/creeps/harvest.js b/src/processor/intents/creeps/harvest.js
index 6874adf1..b0e7bc69 100644
--- a/src/processor/intents/creeps/harvest.js
+++ b/src/processor/intents/creeps/harvest.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_HARVEST || Math.abs(target.y - object.y) > C.RANGE_HARVEST) {
         return;
     }
 
diff --git a/src/processor/intents/creeps/heal.js b/src/processor/intents/creeps/heal.js
index d37ee708..b438b364 100644
--- a/src/processor/intents/creeps/heal.js
+++ b/src/processor/intents/creeps/heal.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'creep' || target.spawning || target.hits >= target.hitsMax) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_HEAL || Math.abs(target.y - object.y) > C.RANGE_HEAL) {
         return;
     }
     if(roomController && roomController.user != object.user && roomController.safeMode > gameTime) {
diff --git a/src/processor/intents/creeps/pickup.js b/src/processor/intents/creeps/pickup.js
index 71dd32c6..1d438691 100644
--- a/src/processor/intents/creeps/pickup.js
+++ b/src/processor/intents/creeps/pickup.js
@@ -19,7 +19,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!target || target.type != 'energy') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_PICKUP || Math.abs(target.y - object.y) > C.RANGE_PICKUP) {
         return;
     }
 
diff --git a/src/processor/intents/creeps/rangedAttack.js b/src/processor/intents/creeps/rangedAttack.js
index fb6a9185..b70eda92 100644
--- a/src/processor/intents/creeps/rangedAttack.js
+++ b/src/processor/intents/creeps/rangedAttack.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target == object) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 3 || Math.abs(target.y - object.y) > 3) {
+    if(Math.abs(target.x - object.x) > C.RANGE_RANGED_ATTACK || Math.abs(target.y - object.y) > C.RANGE_RANGED_ATTACK) {
         return;
     }
     if(target.type == 'creep' && target.spawning) {
diff --git a/src/processor/intents/creeps/rangedHeal.js b/src/processor/intents/creeps/rangedHeal.js
index caa439eb..05491a22 100644
--- a/src/processor/intents/creeps/rangedHeal.js
+++ b/src/processor/intents/creeps/rangedHeal.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'creep' || target.spawning || target.hits >= target.hitsMax) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 3 || Math.abs(target.y - object.y) > 3) {
+    if(Math.abs(target.x - object.x) > C.RANGE_RANGED_HEAL || Math.abs(target.y - object.y) > C.RANGE_RANGED_HEAL) {
         return;
     }
     if(roomController && roomController.user != object.user && roomController.safeMode > gameTime) {
diff --git a/src/processor/intents/creeps/rangedMassAttack.js b/src/processor/intents/creeps/rangedMassAttack.js
index ec6fbe06..78684f7a 100644
--- a/src/processor/intents/creeps/rangedMassAttack.js
+++ b/src/processor/intents/creeps/rangedMassAttack.js
@@ -23,8 +23,8 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
 
     var targets = _.filter(roomObjects, (i) => {
         return (!_.isUndefined(i.user) || i.type == 'powerBank') && i.user != object.user &&
-            i.x >= object.x - 3 && i.x <= object.x + 3 &&
-            i.y >= object.y - 3 && i.y <= object.y + 3;
+            i.x >= object.x - C.RANGE_RANGED_MASS_ATTACK && i.x <= object.x + C.RANGE_RANGED_MASS_ATTACK &&
+            i.y >= object.y - C.RANGE_RANGED_MASS_ATTACK && i.y <= object.y + C.RANGE_RANGED_MASS_ATTACK;
     });
 
     var distanceRate = {1: 1, 2: 0.4, 3: 0.1};
diff --git a/src/processor/intents/creeps/repair.js b/src/processor/intents/creeps/repair.js
index cd75e4cb..122db77f 100644
--- a/src/processor/intents/creeps/repair.js
+++ b/src/processor/intents/creeps/repair.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || !C.CONSTRUCTION_COST[target.type] || target.hits >= target.hitsMax) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 3 || Math.abs(target.y - object.y) > 3) {
+    if(Math.abs(target.x - object.x) > C.RANGE_REPAIR || Math.abs(target.y - object.y) > C.RANGE_REPAIR) {
         return;
     }
     if(!target.hitsMax) {
diff --git a/src/processor/intents/creeps/reserveController.js b/src/processor/intents/creeps/reserveController.js
index 364095cf..f238324f 100644
--- a/src/processor/intents/creeps/reserveController.js
+++ b/src/processor/intents/creeps/reserveController.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'controller') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_RESERVE_CONTROLLER || Math.abs(target.y - object.y) > C.RANGE_RESERVE_CONTROLLER) {
         return;
     }
     if(target.user || target.reservation && target.reservation.user != object.user) {
diff --git a/src/processor/intents/creeps/signController.js b/src/processor/intents/creeps/signController.js
index c88fbc2c..8ce6248a 100644
--- a/src/processor/intents/creeps/signController.js
+++ b/src/processor/intents/creeps/signController.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'controller') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_SIGN_CONTROLLER || Math.abs(target.y - object.y) > C.RANGE_SIGN_CONTROLLER) {
         return;
     }
 
diff --git a/src/processor/intents/creeps/transfer.js b/src/processor/intents/creeps/transfer.js
index 5b1657ee..70fc09ce 100644
--- a/src/processor/intents/creeps/transfer.js
+++ b/src/processor/intents/creeps/transfer.js
@@ -19,7 +19,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_TRANSFER || Math.abs(target.y - object.y) > C.RANGE_TRANSFER) {
         return;
     }
 
diff --git a/src/processor/intents/creeps/upgradeController.js b/src/processor/intents/creeps/upgradeController.js
index 09ac7402..832f4624 100644
--- a/src/processor/intents/creeps/upgradeController.js
+++ b/src/processor/intents/creeps/upgradeController.js
@@ -17,7 +17,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'controller') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 3 || Math.abs(target.y - object.y) > 3) {
+    if(Math.abs(target.x - object.x) > C.RANGE_UPGRADE_CONTROLLER || Math.abs(target.y - object.y) > C.RANGE_UPGRADE_CONTROLLER) {
         return;
     }
     if(target.level == 0 || target.user != object.user) {
diff --git a/src/processor/intents/creeps/withdraw.js b/src/processor/intents/creeps/withdraw.js
index d75ecf06..06cd035d 100644
--- a/src/processor/intents/creeps/withdraw.js
+++ b/src/processor/intents/creeps/withdraw.js
@@ -26,7 +26,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(object.user != target.user && _.any(roomObjects, i => i.type == C.STRUCTURE_RAMPART && i.user != object.user && !i.isPublic && i.x == target.x && i.y == target.y)) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_WITHDRAW || Math.abs(target.y - object.y) > C.RANGE_WITHDRAW) {
         return;
     }
 
diff --git a/src/processor/intents/extensions/transfer.js b/src/processor/intents/extensions/transfer.js
index 0ebf43ac..79a036cb 100644
--- a/src/processor/intents/extensions/transfer.js
+++ b/src/processor/intents/extensions/transfer.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!target || target.type != 'creep' || utils.calcResources(target) >= target.energyCapacity || intent.amount < 0) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_TRANSFER || Math.abs(target.y - object.y) > C.RANGE_TRANSFER) {
         return;
     }
     var amount = intent.amount;
diff --git a/src/processor/intents/labs/boost-creep.js b/src/processor/intents/labs/boost-creep.js
index 8850228f..fd7df21e 100644
--- a/src/processor/intents/labs/boost-creep.js
+++ b/src/processor/intents/labs/boost-creep.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!target || target.type != 'creep') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_BOOST_CREEP || Math.abs(target.y - object.y) > C.RANGE_BOOST_CREEP) {
         return;
     }
 
diff --git a/src/processor/intents/labs/run-reaction.js b/src/processor/intents/labs/run-reaction.js
index 45c16e1e..0c23227f 100644
--- a/src/processor/intents/labs/run-reaction.js
+++ b/src/processor/intents/labs/run-reaction.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!lab1 || lab1.type != 'lab' || lab1.mineralAmount < C.LAB_REACTION_AMOUNT) {
         return;
     }
-    if(Math.abs(lab1.x - object.x) > 2 || Math.abs(lab1.y - object.y) > 2) {
+    if(Math.abs(lab1.x - object.x) > C.RANGE_RUN_REACTION || Math.abs(lab1.y - object.y) > C.RANGE_RUN_REACTION) {
         return;
     }
 
@@ -21,7 +21,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!lab2 || lab2.type != 'lab' || lab2.mineralAmount < C.LAB_REACTION_AMOUNT) {
         return;
     }
-    if(Math.abs(lab2.x - object.x) > 2 || Math.abs(lab2.y - object.y) > 2) {
+    if(Math.abs(lab2.x - object.x) > C.RANGE_RUN_REACTION || Math.abs(lab2.y - object.y) > C.RANGE_RUN_REACTION) {
         return;
     }
 
diff --git a/src/processor/intents/labs/transfer.js b/src/processor/intents/labs/transfer.js
index 95f41657..8a0827b9 100644
--- a/src/processor/intents/labs/transfer.js
+++ b/src/processor/intents/labs/transfer.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!target || target.type != 'creep' || utils.calcResources(target) >= target.energyCapacity || intent.amount < 0) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_TRANSFER || Math.abs(target.y - object.y) > C.RANGE_TRANSFER) {
         return;
     }
     var amount = intent.amount;
diff --git a/src/processor/intents/links/transfer.js b/src/processor/intents/links/transfer.js
index fc8facce..27444c08 100644
--- a/src/processor/intents/links/transfer.js
+++ b/src/processor/intents/links/transfer.js
@@ -23,7 +23,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     }
     var targetTotal;
     if(target.type == 'creep') {
-        if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+        if(Math.abs(target.x - object.x) > C.RANGE_TRANSFER || Math.abs(target.y - object.y) > C.RANGE_TRANSFER) {
             return;
         }
         targetTotal = utils.calcResources(target);
diff --git a/src/processor/intents/spawns/recycle-creep.js b/src/processor/intents/spawns/recycle-creep.js
index 10730a4f..40bcea92 100644
--- a/src/processor/intents/spawns/recycle-creep.js
+++ b/src/processor/intents/spawns/recycle-creep.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'creep' || target.user != object.user || target.spawning) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_RECYCLE_CREEP || Math.abs(target.y - object.y) > C.RANGE_RECYCLE_CREEP) {
         return;
     }
 
diff --git a/src/processor/intents/spawns/renew-creep.js b/src/processor/intents/spawns/renew-creep.js
index f350443e..8fe9a0e8 100644
--- a/src/processor/intents/spawns/renew-creep.js
+++ b/src/processor/intents/spawns/renew-creep.js
@@ -16,7 +16,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(!target || target.type != 'creep' || target.user != object.user) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_RENEW_CREEP || Math.abs(target.y - object.y) > C.RANGE_RENEW_CREEP) {
         return;
     }
     if(_.filter(target.body, (i) => i.type == C.CLAIM).length > 0) {
diff --git a/src/processor/intents/spawns/transfer-energy.js b/src/processor/intents/spawns/transfer-energy.js
index f4dce78e..6f9e9957 100644
--- a/src/processor/intents/spawns/transfer-energy.js
+++ b/src/processor/intents/spawns/transfer-energy.js
@@ -13,7 +13,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk) {
     if(!target || target.type != 'creep' || target.energy >= target.energyCapacity || intent.amount < 0) {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_TRANSFER || Math.abs(target.y - object.y) > C.RANGE_TRANSFER) {
         return;
     }
     var amount = intent.amount;
diff --git a/src/processor/intents/towers/transfer.js b/src/processor/intents/towers/transfer.js
index 83026f15..cde7aab8 100644
--- a/src/processor/intents/towers/transfer.js
+++ b/src/processor/intents/towers/transfer.js
@@ -21,7 +21,7 @@ module.exports = function(object, intent, roomObjects, roomTerrain, bulk, bulkUs
     if(target.type != 'creep') {
         return;
     }
-    if(Math.abs(target.x - object.x) > 1 || Math.abs(target.y - object.y) > 1) {
+    if(Math.abs(target.x - object.x) > C.RANGE_TRANSFER || Math.abs(target.y - object.y) > C.RANGE_TRANSFER) {
         return;
     }
     if(target.energy == target.energyCapacity) {