UNPKG

@screeps/engine

Version:

This is a module for Screeps standalone server. See [main repository](https://github.com/screeps/screeps) for more info.

55 lines (46 loc) 1.78 kB
'use strict'; var _ = require('lodash'), utils = require('../../../utils'), driver = utils.getDriver(), C = driver.constants; module.exports = function (object, scope) { if (!object || object.type != 'invaderCore') return; const roomObjects = scope.roomObjects, roomController = scope.roomController, bulk = scope.bulk, roomInfo = scope.roomInfo, gameTime = scope.gameTime; const collapseEffect = _.find(object.effects, { effect: C.EFFECT_COLLAPSE_TIMER }); if (collapseEffect && collapseEffect.endTime <= gameTime) { if (roomController) { bulk.update(roomController, { user: null, level: 0, progress: 0, downgradeTime: null, safeMode: null, safeModeAvailable: 0, safeModeCooldown: null, isPowerEnabled: false, effects: null }); } return; } if (object.spawning) { if (gameTime >= object.spawning.spawnTime - 1) { const spawningCreep = _.find(roomObjects, { type: 'creep', name: object.spawning.name, x: object.x, y: object.y }); const bornOk = require('../spawns/_born-creep')(object, spawningCreep, scope); if (bornOk) { bulk.update(object, { spawning: null }); } else { bulk.update(object, { spawning: { spawnTime: 1 + gameTime } }); } } } if (!_.isEqual(object.actionLog, object._actionLog)) { roomInfo.active = true; bulk.update(object, { actionLog: object.actionLog }); } }; //# sourceMappingURL=../../../sourcemaps/processor/intents/invader-core/tick.js.map