@screeps/engine
Version:
This is a module for Screeps standalone server. See [main repository](https://github.com/screeps/screeps) for more info.
36 lines (29 loc) • 1.15 kB
JavaScript
var _ = require('lodash'),
utils = require('../../../utils'),
driver = utils.getDriver(),
C = driver.constants;
module.exports = function(object, scope) {
const {roomObjects, bulk, roomController, gameTime, eventLog} = scope;
if(!object.nextDecayTime || gameTime >= object.nextDecayTime-1) {
object.hits = object.hits || 0;
object.hits -= C.CONTAINER_DECAY;
if(object.hits <= 0) {
if(object.store) {
_.forEach(object.store, (amount, resourceType) => {
if (amount > 0) {
require('../_create-energy')(object.x, object.y, object.room, amount, resourceType, scope);
}
});
}
bulk.remove(object._id);
delete roomObjects[object._id];
}
else {
object.nextDecayTime = gameTime + (roomController && roomController.level > 0 ? C.CONTAINER_DECAY_TIME_OWNED : C.CONTAINER_DECAY_TIME);
bulk.update(object, {
hits: object.hits,
nextDecayTime: object.nextDecayTime
});
}
}
};