@screeps/engine
Version:
This is a module for Screeps standalone server. See [main repository](https://github.com/screeps/screeps) for more info.
47 lines (37 loc) • 1.6 kB
JavaScript
;
const _ = require('lodash'),
utils = require('../../../utils'),
driver = utils.getDriver(),
C = driver.constants,
strongholds = driver.strongholds;
module.exports = function (object, scope) {
const templates = strongholds.templates,
coreRewards = strongholds.coreRewards,
coreAmounts = strongholds.coreAmounts,
coreDensities = strongholds.coreDensities;
const bulk = scope.bulk,
roomController = scope.roomController;
if (roomController) {
bulk.update(roomController, {
user: null,
level: 0,
progress: 0,
downgradeTime: null,
safeMode: null,
safeModeAvailable: 0,
safeModeCooldown: null,
isPowerEnabled: false,
effects: null
});
}
if (!object || !object.depositType || !coreRewards[object.depositType] || !_.some(coreRewards[object.depositType]) || !object.templateName || !templates[object.templateName]) {
return;
}
const rewardLevel = templates[object.templateName].rewardLevel;
const rewards = coreRewards[object.depositType].slice(0, 1 + rewardLevel).map(r => _.isArray(r) ? _.sample(r) : r);
const rewardDensities = coreDensities.slice(0, 1 + rewardLevel);
const store = utils.calcReward(_.object(rewards, rewardDensities), coreAmounts[rewardLevel]);
bulk.update(object, { store });
driver.config.emit('strongholdDestroyed', object, scope);
};
//# sourceMappingURL=../../../sourcemaps/processor/intents/invader-core/destroy.js.map