@screeps/engine
Version:
This is a module for Screeps standalone server. See [main repository](https://github.com/screeps/screeps) for more info.
38 lines (27 loc) • 1.26 kB
JavaScript
var _ = require('lodash'),
utils = require('../../../utils'),
driver = utils.getDriver(),
C = driver.constants;
module.exports = function(intent, userId, roomObjects, roomTerrain, bulk, bulkUsers, roomController) {
var object = roomObjects[intent.id];
if(!object || !C.CONSTRUCTION_COST[object.type]) return;
if(!roomController || roomController.user != userId) return;
if(object.type == C.STRUCTURE_WALL && object.decayTime && !object.user) return;
if(_.any(roomObjects, i => i.type == 'creep' && i.user != userId)) return;
bulk.remove(object._id);
if(object.type == 'spawn' && object.spawning) {
var spawning = _.find(roomObjects, {user: object.user, name: object.spawning.name});
if(spawning) {
bulk.remove(spawning._id);
}
}
C.RESOURCES_ALL.forEach(resourceType => {
if (object[resourceType] > 0) {
require('../creeps/_create-energy')(object.x, object.y, object.room,
object[resourceType], roomObjects, bulk, resourceType);
}
});
if(object.type == 'constructedWall' && object.decayTime && object.user) {
require('../creeps/_clear-newbie-walls')(roomObjects, bulk);
}
};