@screeps/renderer-metadata 1.5.13 → 1.5.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/renderer-metadata.js +1 -1
- package/dist/renderer-metadata.js.map +1 -1
- package/images/bodyPartBar.svg +74 -74
- package/images/constructedWall.svg +73 -73
- package/images/controller-level.svg +65 -65
- package/images/controller.svg +78 -78
- package/images/cover.svg +74 -74
- package/images/creep-npc.svg +11 -11
- package/images/exit-bottom.svg +9 -9
- package/images/exit-left.svg +9 -9
- package/images/exit-right.svg +9 -9
- package/images/exit-top.svg +9 -9
- package/images/extension-border100.svg +80 -80
- package/images/extension-border200.svg +80 -80
- package/images/extension-border50.svg +80 -80
- package/images/extension.svg +78 -78
- package/images/extractor.svg +77 -77
- package/images/flag-secondary.svg +61 -61
- package/images/flag.svg +60 -60
- package/images/lab-highlight.svg +71 -71
- package/images/lab-mineral.svg +71 -71
- package/images/lab.svg +71 -71
- package/images/link-border.svg +71 -71
- package/images/link-energy.svg +71 -71
- package/images/link.svg +71 -71
- package/images/nuke.svg +11 -11
- package/images/nuker-border.svg +71 -71
- package/images/nuker.svg +82 -82
- package/images/powerBank.svg +71 -71
- package/images/rampart.svg +8 -8
- package/images/rectangle.svg +80 -80
- package/images/storage-border.svg +71 -71
- package/images/storage.svg +73 -73
- package/images/tbd.svg +91 -91
- package/images/terminal-arrows.svg +71 -71
- package/images/terminal-border.svg +71 -71
- package/images/terminal-highlight.svg +71 -71
- package/images/terminal.svg +80 -80
- package/images/tombstone-border.svg +72 -72
- package/images/tombstone-resource.svg +82 -82
- package/images/tombstone.svg +88 -88
- package/images/tough.svg +74 -74
- package/images/tower-base.svg +80 -80
- package/images/tower-rotatable.svg +90 -90
- package/package.json +2 -2
- package/images/flare4.png +0 -0
- package/images/flare5.png +0 -0
- package/images/flare6.png +0 -0
- package/images/flare7.png +0 -0
- package/images/invaderCore2.svg +0 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://RENDERER_METADATA/webpack/bootstrap","webpack://RENDERER_METADATA/./node_modules/@screeps/common/lib/constants.js","webpack://RENDERER_METADATA/./src/action-templates/appear.js","webpack://RENDERER_METADATA/./src/action-templates/blinking.js","webpack://RENDERER_METADATA/./src/action-templates/displayName.js","webpack://RENDERER_METADATA/./src/action-templates/flickering.js","webpack://RENDERER_METADATA/./src/objects/_all.metadata.js","webpack://RENDERER_METADATA/./src/objects/constructedWall.metadata.js","webpack://RENDERER_METADATA/./src/objects/constructionSite.metadata.js","webpack://RENDERER_METADATA/./src/calculation-templates/resourceTotal.js","webpack://RENDERER_METADATA/./src/objects/container.metadata.js","webpack://RENDERER_METADATA/./src/objects/controller.metadata.js","webpack://RENDERER_METADATA/../helpers/mathHelper.js","webpack://RENDERER_METADATA/./src/objects/creep.metadata.js","webpack://RENDERER_METADATA/./src/objects/deposit.metadata.js","webpack://RENDERER_METADATA/./src/objects/extension.metadata.js","webpack://RENDERER_METADATA/./src/objects/extractor.metadata.js","webpack://RENDERER_METADATA/./src/objects/factory.metadata.js","webpack://RENDERER_METADATA/./src/objects/flag.metadata.js","webpack://RENDERER_METADATA/./src/objects/lab.metadata.js","webpack://RENDERER_METADATA/./src/objects/link.metadata.js","webpack://RENDERER_METADATA/./src/objects/mineral.metadata.js","webpack://RENDERER_METADATA/./src/objects/nuke.metadata.js","webpack://RENDERER_METADATA/./src/objects/nuker.metadata.js","webpack://RENDERER_METADATA/./src/objects/observer.metadata.js","webpack://RENDERER_METADATA/./src/objects/powerBank.metadata.js","webpack://RENDERER_METADATA/./src/objects/powerCreep.metadata.js","webpack://RENDERER_METADATA/./src/objects/powerSpawn.metadata.js","webpack://RENDERER_METADATA/./src/objects/source.metadata.js","webpack://RENDERER_METADATA/./src/objects/spawn.metadata.js","webpack://RENDERER_METADATA/./src/objects/storage.metadata.js","webpack://RENDERER_METADATA/./src/objects/terminal.metadata.js","webpack://RENDERER_METADATA/./src/objects/tombstone.metadata.js","webpack://RENDERER_METADATA/./src/objects/tower.metadata.js","webpack://RENDERER_METADATA/./src/objects/invaderCore.metadata.js","webpack://RENDERER_METADATA/./src/objects/ruin.metadata.js","webpack://RENDERER_METADATA/./src/index.js","webpack://RENDERER_METADATA/./src/objects/energy.metadata.js","webpack://RENDERER_METADATA/./src/objects/keeperLair.metadata.js","webpack://RENDERER_METADATA/./src/objects/portal.metadata.js","webpack://RENDERER_METADATA/./src/objects/road.metadata.js","webpack://RENDERER_METADATA/./src/objects/rampart.metadata.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","assign","OK","ERR_NOT_OWNER","ERR_NO_PATH","ERR_NAME_EXISTS","ERR_BUSY","ERR_NOT_FOUND","ERR_NOT_ENOUGH_ENERGY","ERR_NOT_ENOUGH_RESOURCES","ERR_INVALID_TARGET","ERR_FULL","ERR_NOT_IN_RANGE","ERR_INVALID_ARGS","ERR_TIRED","ERR_NO_BODYPART","ERR_NOT_ENOUGH_EXTENSIONS","ERR_RCL_NOT_ENOUGH","ERR_GCL_NOT_ENOUGH","FIND_EXIT_TOP","FIND_EXIT_RIGHT","FIND_EXIT_BOTTOM","FIND_EXIT_LEFT","FIND_EXIT","FIND_CREEPS","FIND_MY_CREEPS","FIND_HOSTILE_CREEPS","FIND_SOURCES_ACTIVE","FIND_SOURCES","FIND_DROPPED_RESOURCES","FIND_STRUCTURES","FIND_MY_STRUCTURES","FIND_HOSTILE_STRUCTURES","FIND_FLAGS","FIND_CONSTRUCTION_SITES","FIND_MY_SPAWNS","FIND_HOSTILE_SPAWNS","FIND_MY_CONSTRUCTION_SITES","FIND_HOSTILE_CONSTRUCTION_SITES","FIND_MINERALS","FIND_NUKES","FIND_TOMBSTONES","FIND_POWER_CREEPS","FIND_MY_POWER_CREEPS","FIND_HOSTILE_POWER_CREEPS","FIND_DEPOSITS","FIND_RUINS","TOP","TOP_RIGHT","RIGHT","BOTTOM_RIGHT","BOTTOM","BOTTOM_LEFT","LEFT","TOP_LEFT","COLOR_RED","COLOR_PURPLE","COLOR_BLUE","COLOR_CYAN","COLOR_GREEN","COLOR_YELLOW","COLOR_ORANGE","COLOR_BROWN","COLOR_GREY","COLOR_WHITE","LOOK_CREEPS","LOOK_ENERGY","LOOK_RESOURCES","LOOK_SOURCES","LOOK_MINERALS","LOOK_DEPOSITS","LOOK_STRUCTURES","LOOK_FLAGS","LOOK_CONSTRUCTION_SITES","LOOK_NUKES","LOOK_TERRAIN","LOOK_TOMBSTONES","LOOK_POWER_CREEPS","LOOK_RUINS","OBSTACLE_OBJECT_TYPES","MOVE","WORK","CARRY","ATTACK","RANGED_ATTACK","TOUGH","HEAL","CLAIM","BODYPART_COST","move","work","attack","carry","heal","ranged_attack","tough","claim","WORLD_WIDTH","WORLD_HEIGHT","CREEP_LIFE_TIME","CREEP_CLAIM_LIFE_TIME","CREEP_CORPSE_RATE","CREEP_PART_MAX_ENERGY","CARRY_CAPACITY","HARVEST_POWER","HARVEST_MINERAL_POWER","HARVEST_DEPOSIT_POWER","REPAIR_POWER","DISMANTLE_POWER","BUILD_POWER","ATTACK_POWER","UPGRADE_CONTROLLER_POWER","RANGED_ATTACK_POWER","HEAL_POWER","RANGED_HEAL_POWER","REPAIR_COST","DISMANTLE_COST","RAMPART_DECAY_AMOUNT","RAMPART_DECAY_TIME","RAMPART_HITS","RAMPART_HITS_MAX","2","3","4","5","6","7","8","ENERGY_REGEN_TIME","ENERGY_DECAY","SPAWN_HITS","SPAWN_ENERGY_START","SPAWN_ENERGY_CAPACITY","CREEP_SPAWN_TIME","SPAWN_RENEW_RATIO","SOURCE_ENERGY_CAPACITY","SOURCE_ENERGY_NEUTRAL_CAPACITY","SOURCE_ENERGY_KEEPER_CAPACITY","WALL_HITS","WALL_HITS_MAX","EXTENSION_HITS","EXTENSION_ENERGY_CAPACITY","0","1","ROAD_HITS","ROAD_WEAROUT","ROAD_WEAROUT_POWER_CREEP","ROAD_DECAY_AMOUNT","ROAD_DECAY_TIME","LINK_HITS","LINK_HITS_MAX","LINK_CAPACITY","LINK_COOLDOWN","LINK_LOSS_RATIO","STORAGE_CAPACITY","STORAGE_HITS","STRUCTURE_SPAWN","STRUCTURE_EXTENSION","STRUCTURE_ROAD","STRUCTURE_WALL","STRUCTURE_RAMPART","STRUCTURE_KEEPER_LAIR","STRUCTURE_PORTAL","STRUCTURE_CONTROLLER","STRUCTURE_LINK","STRUCTURE_STORAGE","STRUCTURE_TOWER","STRUCTURE_OBSERVER","STRUCTURE_POWER_BANK","STRUCTURE_POWER_SPAWN","STRUCTURE_EXTRACTOR","STRUCTURE_LAB","STRUCTURE_TERMINAL","STRUCTURE_CONTAINER","STRUCTURE_NUKER","STRUCTURE_FACTORY","STRUCTURE_INVADER_CORE","CONSTRUCTION_COST","spawn","extension","road","constructedWall","rampart","link","storage","tower","observer","powerSpawn","extractor","lab","terminal","container","nuker","factory","CONSTRUCTION_COST_ROAD_SWAMP_RATIO","CONSTRUCTION_COST_ROAD_WALL_RATIO","CONTROLLER_LEVELS","CONTROLLER_STRUCTURES","CONTROLLER_DOWNGRADE","CONTROLLER_DOWNGRADE_RESTORE","CONTROLLER_DOWNGRADE_SAFEMODE_THRESHOLD","CONTROLLER_CLAIM_DOWNGRADE","CONTROLLER_RESERVE","CONTROLLER_RESERVE_MAX","CONTROLLER_MAX_UPGRADE_PER_TICK","CONTROLLER_ATTACK_BLOCKED_UPGRADE","CONTROLLER_NUKE_BLOCKED_UPGRADE","SAFE_MODE_DURATION","SAFE_MODE_COOLDOWN","SAFE_MODE_COST","TOWER_HITS","TOWER_CAPACITY","TOWER_ENERGY_COST","TOWER_POWER_ATTACK","TOWER_POWER_HEAL","TOWER_POWER_REPAIR","TOWER_OPTIMAL_RANGE","TOWER_FALLOFF_RANGE","TOWER_FALLOFF","OBSERVER_HITS","OBSERVER_RANGE","POWER_BANK_HITS","POWER_BANK_CAPACITY_MAX","POWER_BANK_CAPACITY_MIN","POWER_BANK_CAPACITY_CRIT","POWER_BANK_DECAY","POWER_BANK_HIT_BACK","POWER_SPAWN_HITS","POWER_SPAWN_ENERGY_CAPACITY","POWER_SPAWN_POWER_CAPACITY","POWER_SPAWN_ENERGY_RATIO","EXTRACTOR_HITS","EXTRACTOR_COOLDOWN","LAB_HITS","LAB_MINERAL_CAPACITY","LAB_ENERGY_CAPACITY","LAB_BOOST_ENERGY","LAB_BOOST_MINERAL","LAB_COOLDOWN","LAB_REACTION_AMOUNT","LAB_UNBOOST_ENERGY","LAB_UNBOOST_MINERAL","GCL_POW","GCL_MULTIPLY","GCL_NOVICE","MODE_SIMULATION","MODE_WORLD","TERRAIN_MASK_WALL","TERRAIN_MASK_SWAMP","TERRAIN_MASK_LAVA","MAX_CONSTRUCTION_SITES","MAX_CREEP_SIZE","MINERAL_REGEN_TIME","MINERAL_MIN_AMOUNT","H","O","L","K","Z","U","X","MINERAL_RANDOM_FACTOR","MINERAL_DENSITY","MINERAL_DENSITY_PROBABILITY","MINERAL_DENSITY_CHANGE","DENSITY_LOW","DENSITY_MODERATE","DENSITY_HIGH","DENSITY_ULTRA","DEPOSIT_EXHAUST_MULTIPLY","DEPOSIT_EXHAUST_POW","DEPOSIT_DECAY_TIME","TERMINAL_CAPACITY","TERMINAL_HITS","TERMINAL_SEND_COST","TERMINAL_MIN_SEND","TERMINAL_COOLDOWN","CONTAINER_HITS","CONTAINER_CAPACITY","CONTAINER_DECAY","CONTAINER_DECAY_TIME","CONTAINER_DECAY_TIME_OWNED","NUKER_HITS","NUKER_COOLDOWN","NUKER_ENERGY_CAPACITY","NUKER_GHODIUM_CAPACITY","NUKE_LAND_TIME","NUKE_RANGE","NUKE_DAMAGE","FACTORY_HITS","FACTORY_CAPACITY","TOMBSTONE_DECAY_PER_PART","TOMBSTONE_DECAY_POWER_CREEP","RUIN_DECAY","RUIN_DECAY_STRUCTURES","powerBank","PORTAL_DECAY","ORDER_SELL","ORDER_BUY","MARKET_FEE","MARKET_MAX_ORDERS","MARKET_ORDER_LIFE_TIME","FLAGS_LIMIT","SUBSCRIPTION_TOKEN","RESOURCE_ENERGY","RESOURCE_POWER","RESOURCE_HYDROGEN","RESOURCE_OXYGEN","RESOURCE_UTRIUM","RESOURCE_LEMERGIUM","RESOURCE_KEANIUM","RESOURCE_ZYNTHIUM","RESOURCE_CATALYST","RESOURCE_GHODIUM","RESOURCE_SILICON","RESOURCE_METAL","RESOURCE_BIOMASS","RESOURCE_MIST","RESOURCE_HYDROXIDE","RESOURCE_ZYNTHIUM_KEANITE","RESOURCE_UTRIUM_LEMERGITE","RESOURCE_UTRIUM_HYDRIDE","RESOURCE_UTRIUM_OXIDE","RESOURCE_KEANIUM_HYDRIDE","RESOURCE_KEANIUM_OXIDE","RESOURCE_LEMERGIUM_HYDRIDE","RESOURCE_LEMERGIUM_OXIDE","RESOURCE_ZYNTHIUM_HYDRIDE","RESOURCE_ZYNTHIUM_OXIDE","RESOURCE_GHODIUM_HYDRIDE","RESOURCE_GHODIUM_OXIDE","RESOURCE_UTRIUM_ACID","RESOURCE_UTRIUM_ALKALIDE","RESOURCE_KEANIUM_ACID","RESOURCE_KEANIUM_ALKALIDE","RESOURCE_LEMERGIUM_ACID","RESOURCE_LEMERGIUM_ALKALIDE","RESOURCE_ZYNTHIUM_ACID","RESOURCE_ZYNTHIUM_ALKALIDE","RESOURCE_GHODIUM_ACID","RESOURCE_GHODIUM_ALKALIDE","RESOURCE_CATALYZED_UTRIUM_ACID","RESOURCE_CATALYZED_UTRIUM_ALKALIDE","RESOURCE_CATALYZED_KEANIUM_ACID","RESOURCE_CATALYZED_KEANIUM_ALKALIDE","RESOURCE_CATALYZED_LEMERGIUM_ACID","RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE","RESOURCE_CATALYZED_ZYNTHIUM_ACID","RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE","RESOURCE_CATALYZED_GHODIUM_ACID","RESOURCE_CATALYZED_GHODIUM_ALKALIDE","RESOURCE_OPS","RESOURCE_UTRIUM_BAR","RESOURCE_LEMERGIUM_BAR","RESOURCE_ZYNTHIUM_BAR","RESOURCE_KEANIUM_BAR","RESOURCE_GHODIUM_MELT","RESOURCE_OXIDANT","RESOURCE_REDUCTANT","RESOURCE_PURIFIER","RESOURCE_BATTERY","RESOURCE_COMPOSITE","RESOURCE_CRYSTAL","RESOURCE_LIQUID","RESOURCE_WIRE","RESOURCE_SWITCH","RESOURCE_TRANSISTOR","RESOURCE_MICROCHIP","RESOURCE_CIRCUIT","RESOURCE_DEVICE","RESOURCE_CELL","RESOURCE_PHLEGM","RESOURCE_TISSUE","RESOURCE_MUSCLE","RESOURCE_ORGANOID","RESOURCE_ORGANISM","RESOURCE_ALLOY","RESOURCE_TUBE","RESOURCE_FIXTURES","RESOURCE_FRAME","RESOURCE_HYDRAULICS","RESOURCE_MACHINE","RESOURCE_CONDENSATE","RESOURCE_CONCENTRATE","RESOURCE_EXTRACT","RESOURCE_SPIRIT","RESOURCE_EMANATION","RESOURCE_ESSENCE","REACTIONS","G","OH","UH","UO","ZH","ZO","KH","KO","LH","LO","GH","GO","UH2O","UHO2","LH2O","LHO2","KH2O","KHO2","ZH2O","ZHO2","GH2O","GHO2","ZK","UL","BOOSTS","harvest","XUHO2","build","repair","XLH2O","dismantle","XZH2O","upgradeController","XGH2O","XUH2O","rangedAttack","rangedMassAttack","XKHO2","rangedHeal","XLHO2","capacity","XKH2O","fatigue","XZHO2","damage","XGHO2","REACTION_TIME","PORTAL_UNSTABLE","PORTAL_MIN_TIMEOUT","PORTAL_MAX_TIMEOUT","POWER_BANK_RESPAWN_TIME","INVADERS_ENERGY_GOAL","SYSTEM_USERNAME","SIGN_NOVICE_AREA","SIGN_RESPAWN_AREA","SIGN_PLANNED_AREA","EVENT_ATTACK","EVENT_OBJECT_DESTROYED","EVENT_ATTACK_CONTROLLER","EVENT_BUILD","EVENT_HARVEST","EVENT_HEAL","EVENT_REPAIR","EVENT_RESERVE_CONTROLLER","EVENT_UPGRADE_CONTROLLER","EVENT_EXIT","EVENT_POWER","EVENT_TRANSFER","EVENT_ATTACK_TYPE_MELEE","EVENT_ATTACK_TYPE_RANGED","EVENT_ATTACK_TYPE_RANGED_MASS","EVENT_ATTACK_TYPE_DISMANTLE","EVENT_ATTACK_TYPE_HIT_BACK","EVENT_ATTACK_TYPE_NUKE","EVENT_HEAL_TYPE_MELEE","EVENT_HEAL_TYPE_RANGED","POWER_LEVEL_MULTIPLY","POWER_LEVEL_POW","POWER_CREEP_SPAWN_COOLDOWN","POWER_CREEP_DELETE_COOLDOWN","POWER_CREEP_MAX_LEVEL","POWER_CREEP_LIFE_TIME","POWER_CLASS","OPERATOR","PWR_GENERATE_OPS","PWR_OPERATE_SPAWN","PWR_OPERATE_TOWER","PWR_OPERATE_STORAGE","PWR_OPERATE_LAB","PWR_OPERATE_EXTENSION","PWR_OPERATE_OBSERVER","PWR_OPERATE_TERMINAL","PWR_DISRUPT_SPAWN","PWR_DISRUPT_TOWER","PWR_DISRUPT_SOURCE","PWR_SHIELD","PWR_REGEN_SOURCE","PWR_REGEN_MINERAL","PWR_DISRUPT_TERMINAL","PWR_OPERATE_POWER","PWR_FORTIFY","PWR_OPERATE_CONTROLLER","PWR_OPERATE_FACTORY","EFFECT_INVULNERABILITY","EFFECT_COLLAPSE_TIMER","INVADER_CORE_HITS","INVADER_CORE_CREEP_SPAWN_TIME","INVADER_CORE_EXPAND_TIME","INVADER_CORE_CONTROLLER_POWER","INVADER_CORE_CONTROLLER_DOWNGRADE","STRONGHOLD_RAMPART_HITS","STRONGHOLD_DECAY_TICKS","POWER_INFO","[object Object]","className","level","cooldown","effect","duration","range","ops","energy","period","BODYPARTS_ALL","RESOURCES_ALL","COLORS_ALL","INTERSHARD_RESOURCES","COMMODITIES","amount","components","blinking","fromAlpha","toAlpha","toDuration","fromDuration","action","params","displayName","type","additionalWhen","once","layer","when","calcs","isOwner","stateExtra","gameData","showEnemyNames","showMyNames","payload","text","$calc","style","align","fill","fontFamily","fontSize","stroke","strokeThickness","anchor","x","y","flickering","alpha1","alpha2","alpha3","alpha4","$rel","koef","$random","_all_metadata","data","$state","calculations","id","props","func","state","user","player","undefined","world","options","VIEW_BOX","effects","gameTime","values","some","constants_default","a","power","endTime","decorations","processors","_isDisabled","drawings","method","blendMode","actions","texture","width","height","alpha","tint","hasEffect","Math","PI","constructedWall_metadata","hits","hitsMax","zIndex","constructionSite_metadata","color","radius","lineWidth","progress","progressTotal","disappearProcessor","resourceTotal","_","reduce","store","sum","cur","container_metadata","storeCapacity","resourcesTotal","shouldRun","pivot","controller_metadata","downgradeTime","reservation","upgradeBlocked","safeMode","isPowerEnabled","visible","rotation","strokeColor","strokeWidth","$processorParam","mathHelper_calculateAngle","x0","y0","angle","atan2","mathHelper","calculateAngle","convertGameXYToWorld","CELL_SIZE","scaleGameToWorld","isNpc","isNotNpc","creep_metadata","users","username","prevState","prevX","prevY","min","controller","objects","find","parentId","spawning","actionLog","say","showCreepSpeech","isPublic","targetId","COLORS","biomass","metal","mist","silicon","deposit_metadata","depositType","harvested","max","cooldownTime","METADATA","extension_metadata","storeCapacityResource","scale","extractor_metadata","until","factory_metadata_isCooldown","isLevel","isLevelBlinking","constants","isPowerOperate","factory_metadata","FLAG_COLORS","9","10","flag_metadata","secondaryColor","showFlagsNames","mineralPath","energyRectangle","lab_metadata","mineralType","keys","filter","k","first","mineralCapacity","runReaction","reverseReaction","link_metadata","mineral_metadata_COLORS","foreground","background","mineral_metadata","fontWeight","nuke_metadata_scaleAction","landed","landTime","notLanded","nuke_metadata","Number","MAX_VALUE","round","blur","resourceTriangle","gRectangle","nuker_metadata","observer_metadata","powerBank_metadata","sqrt","BADGE_GEOMETRY","commander","pivotY","size","executor","operator","powerCreep_metadata","ceil","spawned","ellipse1","ellipse2","ellipse3","ellipse4","arc","startAngle","powerSpawn_metadata","rect1","rect2","source_metadata","energyCapacity","spawn_metadata_ellipse1","spawn_metadata_ellipse2","spawn_metadata_ellipse3","spawn_metadata_arc","spawn_metadata","spawnTime","needTime","remainingTime","TOTAL_HEIGHT","terminal_metadata_isCooldown","result","tombstone_metadata","playerColor","decayTime","deathTime","tower_metadata_isNpc","tower_metadata_isNotNpc","tower_metadata","shotAnim","energyBarHeight","invaderCore_metadata_arc","invaderCore_metadata","floor","ruin_metadata","destroyTime","VoidFilter","PIXI","filters","TilingSprite","extras","Graphics","BLEND_MODES","__webpack_exports__","preprocessors","layers","afterCreate","async","app","resourceManager","lighting","setupExits","textureName","tileX","tileY","flipX","flipY","getCachedResource","sprite","tileScale","renderer","WebGLRenderer","ADD","addChild","isDefault","HALF_CELL_SIZE","MULTIPLY","ambient","beginFill","drawRect","endFill","on","element","_overrideBlendMode","SCREEN","_all","constructionSite","creep","deposit","flag","keeperLair","mineral","nuke","portal","powerCreep","source","storage_metadata","terminal_metadata","tombstone","invaderCore","ruin"],"mappings":"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","file":"renderer-metadata.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","Object.assign(exports, {\r\n OK: 0,\r\n ERR_NOT_OWNER: -1,\r\n ERR_NO_PATH: -2,\r\n ERR_NAME_EXISTS: -3,\r\n ERR_BUSY: -4,\r\n ERR_NOT_FOUND: -5,\r\n ERR_NOT_ENOUGH_ENERGY: -6,\r\n ERR_NOT_ENOUGH_RESOURCES: -6,\r\n ERR_INVALID_TARGET: -7,\r\n ERR_FULL: -8,\r\n ERR_NOT_IN_RANGE: -9,\r\n ERR_INVALID_ARGS: -10,\r\n ERR_TIRED: -11,\r\n ERR_NO_BODYPART: -12,\r\n ERR_NOT_ENOUGH_EXTENSIONS: -6,\r\n ERR_RCL_NOT_ENOUGH: -14,\r\n ERR_GCL_NOT_ENOUGH: -15,\r\n\r\n FIND_EXIT_TOP: 1,\r\n FIND_EXIT_RIGHT: 3,\r\n FIND_EXIT_BOTTOM: 5,\r\n FIND_EXIT_LEFT: 7,\r\n FIND_EXIT: 10,\r\n FIND_CREEPS: 101,\r\n FIND_MY_CREEPS: 102,\r\n FIND_HOSTILE_CREEPS: 103,\r\n FIND_SOURCES_ACTIVE: 104,\r\n FIND_SOURCES: 105,\r\n FIND_DROPPED_RESOURCES: 106,\r\n FIND_STRUCTURES: 107,\r\n FIND_MY_STRUCTURES: 108,\r\n FIND_HOSTILE_STRUCTURES: 109,\r\n FIND_FLAGS: 110,\r\n FIND_CONSTRUCTION_SITES: 111,\r\n FIND_MY_SPAWNS: 112,\r\n FIND_HOSTILE_SPAWNS: 113,\r\n FIND_MY_CONSTRUCTION_SITES: 114,\r\n FIND_HOSTILE_CONSTRUCTION_SITES: 115,\r\n FIND_MINERALS: 116,\r\n FIND_NUKES: 117,\r\n FIND_TOMBSTONES: 118,\r\n FIND_POWER_CREEPS: 119,\r\n FIND_MY_POWER_CREEPS: 120,\r\n FIND_HOSTILE_POWER_CREEPS: 121,\r\n FIND_DEPOSITS: 122,\r\n FIND_RUINS: 123,\r\n\r\n TOP: 1,\r\n TOP_RIGHT: 2,\r\n RIGHT: 3,\r\n BOTTOM_RIGHT: 4,\r\n BOTTOM: 5,\r\n BOTTOM_LEFT: 6,\r\n LEFT: 7,\r\n TOP_LEFT: 8,\r\n\r\n COLOR_RED: 1,\r\n COLOR_PURPLE: 2,\r\n COLOR_BLUE: 3,\r\n COLOR_CYAN: 4,\r\n COLOR_GREEN: 5,\r\n COLOR_YELLOW: 6,\r\n COLOR_ORANGE: 7,\r\n COLOR_BROWN: 8,\r\n COLOR_GREY: 9,\r\n COLOR_WHITE: 10,\r\n\r\n LOOK_CREEPS: \"creep\",\r\n LOOK_ENERGY: \"energy\",\r\n LOOK_RESOURCES: \"resource\",\r\n LOOK_SOURCES: \"source\",\r\n LOOK_MINERALS: \"mineral\",\r\n LOOK_DEPOSITS: \"deposit\",\r\n LOOK_STRUCTURES: \"structure\",\r\n LOOK_FLAGS: \"flag\",\r\n LOOK_CONSTRUCTION_SITES: \"constructionSite\",\r\n LOOK_NUKES: \"nuke\",\r\n LOOK_TERRAIN: \"terrain\",\r\n LOOK_TOMBSTONES: \"tombstone\",\r\n LOOK_POWER_CREEPS: \"powerCreep\",\r\n LOOK_RUINS: \"ruin\",\r\n\r\n OBSTACLE_OBJECT_TYPES: [\"spawn\", \"creep\", \"powerCreep\", \"source\", \"mineral\", \"deposit\", \"controller\", \"constructedWall\", \"extension\", \"link\", \"storage\", \"tower\", \"observer\", \"powerSpawn\", \"powerBank\", \"lab\", \"terminal\", \"nuker\", \"factory\", \"invaderCore\"],\r\n\r\n MOVE: \"move\",\r\n WORK: \"work\",\r\n CARRY: \"carry\",\r\n ATTACK: \"attack\",\r\n RANGED_ATTACK: \"ranged_attack\",\r\n TOUGH: \"tough\",\r\n HEAL: \"heal\",\r\n CLAIM: \"claim\",\r\n\r\n BODYPART_COST: {\r\n \"move\": 50,\r\n \"work\": 100,\r\n \"attack\": 80,\r\n \"carry\": 50,\r\n \"heal\": 250,\r\n \"ranged_attack\": 150,\r\n \"tough\": 10,\r\n \"claim\": 600\r\n },\r\n\r\n // WORLD_WIDTH and WORLD_HEIGHT constants are deprecated, please use Game.map.getWorldSize() instead\r\n WORLD_WIDTH: 202,\r\n WORLD_HEIGHT: 202,\r\n\r\n CREEP_LIFE_TIME: 1500,\r\n CREEP_CLAIM_LIFE_TIME: 600,\r\n CREEP_CORPSE_RATE: 0.2,\r\n CREEP_PART_MAX_ENERGY: 125,\r\n\r\n CARRY_CAPACITY: 50,\r\n HARVEST_POWER: 2,\r\n HARVEST_MINERAL_POWER: 1,\r\n HARVEST_DEPOSIT_POWER: 1,\r\n REPAIR_POWER: 100,\r\n DISMANTLE_POWER: 50,\r\n BUILD_POWER: 5,\r\n ATTACK_POWER: 30,\r\n UPGRADE_CONTROLLER_POWER: 1,\r\n RANGED_ATTACK_POWER: 10,\r\n HEAL_POWER: 12,\r\n RANGED_HEAL_POWER: 4,\r\n REPAIR_COST: 0.01,\r\n DISMANTLE_COST: 0.005,\r\n\r\n RAMPART_DECAY_AMOUNT: 300,\r\n RAMPART_DECAY_TIME: 100,\r\n RAMPART_HITS: 1,\r\n RAMPART_HITS_MAX: {2: 300000, 3: 1000000, 4: 3000000, 5: 10000000, 6: 30000000, 7: 100000000, 8: 300000000},\r\n\r\n ENERGY_REGEN_TIME: 300,\r\n ENERGY_DECAY: 1000,\r\n\r\n SPAWN_HITS: 5000,\r\n SPAWN_ENERGY_START: 300,\r\n SPAWN_ENERGY_CAPACITY: 300,\r\n CREEP_SPAWN_TIME: 3,\r\n SPAWN_RENEW_RATIO: 1.2,\r\n\r\n SOURCE_ENERGY_CAPACITY: 3000,\r\n SOURCE_ENERGY_NEUTRAL_CAPACITY: 1500,\r\n SOURCE_ENERGY_KEEPER_CAPACITY: 4000,\r\n\r\n WALL_HITS: 1,\r\n WALL_HITS_MAX: 300000000,\r\n\r\n EXTENSION_HITS: 1000,\r\n EXTENSION_ENERGY_CAPACITY: {0: 50, 1: 50, 2: 50, 3: 50, 4: 50, 5: 50, 6: 50, 7: 100, 8: 200},\r\n\r\n ROAD_HITS: 5000,\r\n ROAD_WEAROUT: 1,\r\n ROAD_WEAROUT_POWER_CREEP: 100,\r\n ROAD_DECAY_AMOUNT: 100,\r\n ROAD_DECAY_TIME: 1000,\r\n\r\n LINK_HITS: 1000,\r\n LINK_HITS_MAX: 1000,\r\n LINK_CAPACITY: 800,\r\n LINK_COOLDOWN: 1,\r\n LINK_LOSS_RATIO: 0.03,\r\n\r\n STORAGE_CAPACITY: 1000000,\r\n STORAGE_HITS: 10000,\r\n\r\n STRUCTURE_SPAWN: \"spawn\",\r\n STRUCTURE_EXTENSION: \"extension\",\r\n STRUCTURE_ROAD: \"road\",\r\n STRUCTURE_WALL: \"constructedWall\",\r\n STRUCTURE_RAMPART: \"rampart\",\r\n STRUCTURE_KEEPER_LAIR: \"keeperLair\",\r\n STRUCTURE_PORTAL: \"portal\",\r\n STRUCTURE_CONTROLLER: \"controller\",\r\n STRUCTURE_LINK: \"link\",\r\n STRUCTURE_STORAGE: \"storage\",\r\n STRUCTURE_TOWER: \"tower\",\r\n STRUCTURE_OBSERVER: \"observer\",\r\n STRUCTURE_POWER_BANK: \"powerBank\",\r\n STRUCTURE_POWER_SPAWN: \"powerSpawn\",\r\n STRUCTURE_EXTRACTOR: \"extractor\",\r\n STRUCTURE_LAB: \"lab\",\r\n STRUCTURE_TERMINAL: \"terminal\",\r\n STRUCTURE_CONTAINER: \"container\",\r\n STRUCTURE_NUKER: \"nuker\",\r\n STRUCTURE_FACTORY: \"factory\",\r\n STRUCTURE_INVADER_CORE: \"invaderCore\",\r\n\r\n CONSTRUCTION_COST: {\r\n \"spawn\": 15000,\r\n \"extension\": 3000,\r\n \"road\": 300,\r\n \"constructedWall\": 1,\r\n \"rampart\": 1,\r\n \"link\": 5000,\r\n \"storage\": 30000,\r\n \"tower\": 5000,\r\n \"observer\": 8000,\r\n \"powerSpawn\": 100000,\r\n \"extractor\": 5000,\r\n \"lab\": 50000,\r\n \"terminal\": 100000,\r\n \"container\": 5000,\r\n \"nuker\": 100000,\r\n \"factory\": 100000\r\n },\r\n CONSTRUCTION_COST_ROAD_SWAMP_RATIO: 5,\r\n CONSTRUCTION_COST_ROAD_WALL_RATIO: 150,\r\n\r\n CONTROLLER_LEVELS: {1: 200, 2: 45000, 3: 135000, 4: 405000, 5: 1215000, 6: 3645000, 7: 10935000},\r\n CONTROLLER_STRUCTURES: {\r\n \"spawn\": {0: 0, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 2, 8: 3},\r\n \"extension\": {0: 0, 1: 0, 2: 5, 3: 10, 4: 20, 5: 30, 6: 40, 7: 50, 8: 60},\r\n \"link\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 2, 6: 3, 7: 4, 8: 6},\r\n \"road\": {0: 2500, 1: 2500, 2: 2500, 3: 2500, 4: 2500, 5: 2500, 6: 2500, 7: 2500, 8: 2500},\r\n \"constructedWall\": {1: 0, 2: 2500, 3: 2500, 4: 2500, 5: 2500, 6: 2500, 7: 2500, 8: 2500},\r\n \"rampart\": {1: 0, 2: 2500, 3: 2500, 4: 2500, 5: 2500, 6: 2500, 7: 2500, 8: 2500},\r\n \"storage\": {1: 0, 2: 0, 3: 0, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1},\r\n \"tower\": {1: 0, 2: 0, 3: 1, 4: 1, 5: 2, 6: 2, 7: 3, 8: 6},\r\n \"observer\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 1},\r\n \"powerSpawn\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 1},\r\n \"extractor\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 1, 7: 1, 8: 1},\r\n \"terminal\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 1, 7: 1, 8: 1},\r\n \"lab\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 3, 7: 6, 8: 10},\r\n \"container\": {0: 5, 1: 5, 2: 5, 3: 5, 4: 5, 5: 5, 6: 5, 7: 5, 8: 5},\r\n \"nuker\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 1},\r\n \"factory\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 1, 8: 1}\r\n },\r\n CONTROLLER_DOWNGRADE: {1: 20000, 2: 10000, 3: 20000, 4: 40000, 5: 80000, 6: 120000, 7: 150000, 8: 200000},\r\n CONTROLLER_DOWNGRADE_RESTORE: 100,\r\n CONTROLLER_DOWNGRADE_SAFEMODE_THRESHOLD: 5000,\r\n CONTROLLER_CLAIM_DOWNGRADE: 300,\r\n CONTROLLER_RESERVE: 1,\r\n CONTROLLER_RESERVE_MAX: 5000,\r\n CONTROLLER_MAX_UPGRADE_PER_TICK: 15,\r\n CONTROLLER_ATTACK_BLOCKED_UPGRADE: 1000,\r\n CONTROLLER_NUKE_BLOCKED_UPGRADE: 200,\r\n\r\n SAFE_MODE_DURATION: 20000,\r\n SAFE_MODE_COOLDOWN: 50000,\r\n SAFE_MODE_COST: 1000,\r\n\r\n TOWER_HITS: 3000,\r\n TOWER_CAPACITY: 1000,\r\n TOWER_ENERGY_COST: 10,\r\n TOWER_POWER_ATTACK: 600,\r\n TOWER_POWER_HEAL: 400,\r\n TOWER_POWER_REPAIR: 800,\r\n TOWER_OPTIMAL_RANGE: 5,\r\n TOWER_FALLOFF_RANGE: 20,\r\n TOWER_FALLOFF: 0.75,\r\n\r\n OBSERVER_HITS: 500,\r\n OBSERVER_RANGE: 10,\r\n\r\n POWER_BANK_HITS: 2000000,\r\n POWER_BANK_CAPACITY_MAX: 5000,\r\n POWER_BANK_CAPACITY_MIN: 500,\r\n POWER_BANK_CAPACITY_CRIT: 0.3,\r\n POWER_BANK_DECAY: 5000,\r\n POWER_BANK_HIT_BACK: 0.5,\r\n\r\n POWER_SPAWN_HITS: 5000,\r\n POWER_SPAWN_ENERGY_CAPACITY: 5000,\r\n POWER_SPAWN_POWER_CAPACITY: 100,\r\n POWER_SPAWN_ENERGY_RATIO: 50,\r\n\r\n EXTRACTOR_HITS: 500,\r\n EXTRACTOR_COOLDOWN: 5,\r\n\r\n LAB_HITS: 500,\r\n LAB_MINERAL_CAPACITY: 3000,\r\n LAB_ENERGY_CAPACITY: 2000,\r\n LAB_BOOST_ENERGY: 20,\r\n LAB_BOOST_MINERAL: 30,\r\n LAB_COOLDOWN: 10, // not used\r\n LAB_REACTION_AMOUNT: 5,\r\n LAB_UNBOOST_ENERGY: 0,\r\n LAB_UNBOOST_MINERAL: 15,\r\n\r\n GCL_POW: 2.4,\r\n GCL_MULTIPLY: 1000000,\r\n GCL_NOVICE: 3,\r\n\r\n MODE_SIMULATION: null,\r\n MODE_WORLD: null,\r\n\r\n TERRAIN_MASK_WALL: 1,\r\n TERRAIN_MASK_SWAMP: 2,\r\n TERRAIN_MASK_LAVA: 4,\r\n\r\n MAX_CONSTRUCTION_SITES: 100,\r\n MAX_CREEP_SIZE: 50,\r\n\r\n MINERAL_REGEN_TIME: 50000,\r\n MINERAL_MIN_AMOUNT: {\r\n \"H\": 35000,\r\n \"O\": 35000,\r\n \"L\": 35000,\r\n \"K\": 35000,\r\n \"Z\": 35000,\r\n \"U\": 35000,\r\n \"X\": 35000\r\n },\r\n MINERAL_RANDOM_FACTOR: 2,\r\n\r\n MINERAL_DENSITY: {\r\n 1: 15000,\r\n 2: 35000,\r\n 3: 70000,\r\n 4: 100000\r\n },\r\n MINERAL_DENSITY_PROBABILITY : {\r\n 1: 0.1,\r\n 2: 0.5,\r\n 3: 0.9,\r\n 4: 1.0\r\n },\r\n MINERAL_DENSITY_CHANGE: 0.05,\r\n\r\n DENSITY_LOW: 1,\r\n DENSITY_MODERATE: 2,\r\n DENSITY_HIGH: 3,\r\n DENSITY_ULTRA: 4,\r\n\r\n DEPOSIT_EXHAUST_MULTIPLY: 0.001,\r\n DEPOSIT_EXHAUST_POW: 1.2,\r\n DEPOSIT_DECAY_TIME: 50000,\r\n\r\n TERMINAL_CAPACITY: 300000,\r\n TERMINAL_HITS: 3000,\r\n TERMINAL_SEND_COST: 0.1,\r\n TERMINAL_MIN_SEND: 100,\r\n TERMINAL_COOLDOWN: 10,\r\n\r\n CONTAINER_HITS: 250000,\r\n CONTAINER_CAPACITY: 2000,\r\n CONTAINER_DECAY: 5000,\r\n CONTAINER_DECAY_TIME: 100,\r\n CONTAINER_DECAY_TIME_OWNED: 500,\r\n\r\n NUKER_HITS: 1000,\r\n NUKER_COOLDOWN: 100000,\r\n NUKER_ENERGY_CAPACITY: 300000,\r\n NUKER_GHODIUM_CAPACITY: 5000,\r\n NUKE_LAND_TIME: 50000,\r\n NUKE_RANGE: 10,\r\n NUKE_DAMAGE: {\r\n 0: 10000000,\r\n 2: 5000000\r\n },\r\n\r\n FACTORY_HITS: 1000,\r\n FACTORY_CAPACITY: 50000,\r\n\r\n TOMBSTONE_DECAY_PER_PART: 5,\r\n TOMBSTONE_DECAY_POWER_CREEP: 500,\r\n\r\n RUIN_DECAY: 500,\r\n RUIN_DECAY_STRUCTURES: {\r\n 'powerBank': 10\r\n },\r\n\r\n PORTAL_DECAY: 30000,\r\n\r\n ORDER_SELL: \"sell\",\r\n ORDER_BUY: \"buy\",\r\n\r\n MARKET_FEE: 0.05,\r\n\r\n MARKET_MAX_ORDERS: 300,\r\n MARKET_ORDER_LIFE_TIME: 1000*60*60*24*30,\r\n\r\n FLAGS_LIMIT: 10000,\r\n\r\n SUBSCRIPTION_TOKEN: \"token\",\r\n\r\n RESOURCE_ENERGY: \"energy\",\r\n RESOURCE_POWER: \"power\",\r\n\r\n RESOURCE_HYDROGEN: \"H\",\r\n RESOURCE_OXYGEN: \"O\",\r\n RESOURCE_UTRIUM: \"U\",\r\n RESOURCE_LEMERGIUM: \"L\",\r\n RESOURCE_KEANIUM: \"K\",\r\n RESOURCE_ZYNTHIUM: \"Z\",\r\n RESOURCE_CATALYST: \"X\",\r\n RESOURCE_GHODIUM: \"G\",\r\n\r\n RESOURCE_SILICON: 'silicon',\r\n RESOURCE_METAL: 'metal',\r\n RESOURCE_BIOMASS: 'biomass',\r\n RESOURCE_MIST: 'mist',\r\n\r\n RESOURCE_HYDROXIDE: \"OH\",\r\n RESOURCE_ZYNTHIUM_KEANITE: \"ZK\",\r\n RESOURCE_UTRIUM_LEMERGITE: \"UL\",\r\n\r\n RESOURCE_UTRIUM_HYDRIDE: \"UH\",\r\n RESOURCE_UTRIUM_OXIDE: \"UO\",\r\n RESOURCE_KEANIUM_HYDRIDE: \"KH\",\r\n RESOURCE_KEANIUM_OXIDE: \"KO\",\r\n RESOURCE_LEMERGIUM_HYDRIDE: \"LH\",\r\n RESOURCE_LEMERGIUM_OXIDE: \"LO\",\r\n RESOURCE_ZYNTHIUM_HYDRIDE: \"ZH\",\r\n RESOURCE_ZYNTHIUM_OXIDE: \"ZO\",\r\n RESOURCE_GHODIUM_HYDRIDE: \"GH\",\r\n RESOURCE_GHODIUM_OXIDE: \"GO\",\r\n\r\n RESOURCE_UTRIUM_ACID: \"UH2O\",\r\n RESOURCE_UTRIUM_ALKALIDE: \"UHO2\",\r\n RESOURCE_KEANIUM_ACID: \"KH2O\",\r\n RESOURCE_KEANIUM_ALKALIDE: \"KHO2\",\r\n RESOURCE_LEMERGIUM_ACID: \"LH2O\",\r\n RESOURCE_LEMERGIUM_ALKALIDE: \"LHO2\",\r\n RESOURCE_ZYNTHIUM_ACID: \"ZH2O\",\r\n RESOURCE_ZYNTHIUM_ALKALIDE: \"ZHO2\",\r\n RESOURCE_GHODIUM_ACID: \"GH2O\",\r\n RESOURCE_GHODIUM_ALKALIDE: \"GHO2\",\r\n\r\n RESOURCE_CATALYZED_UTRIUM_ACID: \"XUH2O\",\r\n RESOURCE_CATALYZED_UTRIUM_ALKALIDE: \"XUHO2\",\r\n RESOURCE_CATALYZED_KEANIUM_ACID: \"XKH2O\",\r\n RESOURCE_CATALYZED_KEANIUM_ALKALIDE: \"XKHO2\",\r\n RESOURCE_CATALYZED_LEMERGIUM_ACID: \"XLH2O\",\r\n RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE: \"XLHO2\",\r\n RESOURCE_CATALYZED_ZYNTHIUM_ACID: \"XZH2O\",\r\n RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE: \"XZHO2\",\r\n RESOURCE_CATALYZED_GHODIUM_ACID: \"XGH2O\",\r\n RESOURCE_CATALYZED_GHODIUM_ALKALIDE: \"XGHO2\",\r\n\r\n RESOURCE_OPS: \"ops\",\r\n\r\n RESOURCE_UTRIUM_BAR: 'utrium_bar',\r\n RESOURCE_LEMERGIUM_BAR: 'lemergium_bar',\r\n RESOURCE_ZYNTHIUM_BAR: 'zynthium_bar',\r\n RESOURCE_KEANIUM_BAR: 'keanium_bar',\r\n RESOURCE_GHODIUM_MELT: 'ghodium_melt',\r\n RESOURCE_OXIDANT: 'oxidant',\r\n RESOURCE_REDUCTANT: 'reductant',\r\n RESOURCE_PURIFIER: 'purifier',\r\n RESOURCE_BATTERY: 'battery',\r\n\r\n RESOURCE_COMPOSITE: 'composite',\r\n RESOURCE_CRYSTAL: 'crystal',\r\n RESOURCE_LIQUID: 'liquid',\r\n\r\n RESOURCE_WIRE: 'wire',\r\n RESOURCE_SWITCH: 'switch',\r\n RESOURCE_TRANSISTOR: 'transistor',\r\n RESOURCE_MICROCHIP: 'microchip',\r\n RESOURCE_CIRCUIT: 'circuit',\r\n RESOURCE_DEVICE: 'device',\r\n\r\n RESOURCE_CELL: 'cell',\r\n RESOURCE_PHLEGM: 'phlegm',\r\n RESOURCE_TISSUE: 'tissue',\r\n RESOURCE_MUSCLE: 'muscle',\r\n RESOURCE_ORGANOID: 'organoid',\r\n RESOURCE_ORGANISM: 'organism',\r\n\r\n RESOURCE_ALLOY: 'alloy',\r\n RESOURCE_TUBE: 'tube',\r\n RESOURCE_FIXTURES: 'fixtures',\r\n RESOURCE_FRAME: 'frame',\r\n RESOURCE_HYDRAULICS: 'hydraulics',\r\n RESOURCE_MACHINE: 'machine',\r\n\r\n RESOURCE_CONDENSATE: 'condensate',\r\n RESOURCE_CONCENTRATE: 'concentrate',\r\n RESOURCE_EXTRACT: 'extract',\r\n RESOURCE_SPIRIT: 'spirit',\r\n RESOURCE_EMANATION: 'emanation',\r\n RESOURCE_ESSENCE: 'essence',\r\n\r\n REACTIONS: {\r\n H: {\r\n O: \"OH\",\r\n L: \"LH\",\r\n K: \"KH\",\r\n U: \"UH\",\r\n Z: \"ZH\",\r\n G: \"GH\"\r\n },\r\n O: {\r\n H: \"OH\",\r\n L: \"LO\",\r\n K: \"KO\",\r\n U: \"UO\",\r\n Z: \"ZO\",\r\n G: \"GO\"\r\n },\r\n Z: {\r\n K: \"ZK\",\r\n H: \"ZH\",\r\n O: \"ZO\"\r\n },\r\n L: {\r\n U: \"UL\",\r\n H: \"LH\",\r\n O: \"LO\"\r\n },\r\n K: {\r\n Z: \"ZK\",\r\n H: \"KH\",\r\n O: \"KO\"\r\n },\r\n G: {\r\n H: \"GH\",\r\n O: \"GO\"\r\n },\r\n U: {\r\n L: \"UL\",\r\n H: \"UH\",\r\n O: \"UO\"\r\n },\r\n OH: {\r\n UH: \"UH2O\",\r\n UO: \"UHO2\",\r\n ZH: \"ZH2O\",\r\n ZO: \"ZHO2\",\r\n KH: \"KH2O\",\r\n KO: \"KHO2\",\r\n LH: \"LH2O\",\r\n LO: \"LHO2\",\r\n GH: \"GH2O\",\r\n GO: \"GHO2\"\r\n },\r\n X: {\r\n UH2O: \"XUH2O\",\r\n UHO2: \"XUHO2\",\r\n LH2O: \"XLH2O\",\r\n LHO2: \"XLHO2\",\r\n KH2O: \"XKH2O\",\r\n KHO2: \"XKHO2\",\r\n ZH2O: \"XZH2O\",\r\n ZHO2: \"XZHO2\",\r\n GH2O: \"XGH2O\",\r\n GHO2: \"XGHO2\"\r\n },\r\n ZK: {\r\n UL: \"G\"\r\n },\r\n UL: {\r\n ZK: \"G\"\r\n },\r\n LH: {\r\n OH: \"LH2O\"\r\n },\r\n ZH: {\r\n OH: \"ZH2O\"\r\n },\r\n GH: {\r\n OH: \"GH2O\"\r\n },\r\n KH: {\r\n OH: \"KH2O\"\r\n },\r\n UH: {\r\n OH: \"UH2O\"\r\n },\r\n LO: {\r\n OH: \"LHO2\"\r\n },\r\n ZO: {\r\n OH: \"ZHO2\"\r\n },\r\n KO: {\r\n OH: \"KHO2\"\r\n },\r\n UO: {\r\n OH: \"UHO2\"\r\n },\r\n GO: {\r\n OH: \"GHO2\"\r\n },\r\n LH2O: {\r\n X: \"XLH2O\"\r\n },\r\n KH2O: {\r\n X: \"XKH2O\"\r\n },\r\n ZH2O: {\r\n X: \"XZH2O\"\r\n },\r\n UH2O: {\r\n X: \"XUH2O\"\r\n },\r\n GH2O: {\r\n X: \"XGH2O\"\r\n },\r\n LHO2: {\r\n X: \"XLHO2\"\r\n },\r\n UHO2: {\r\n X: \"XUHO2\"\r\n },\r\n KHO2: {\r\n X: \"XKHO2\"\r\n },\r\n ZHO2: {\r\n X: \"XZHO2\"\r\n },\r\n GHO2: {\r\n X: \"XGHO2\"\r\n }\r\n },\r\n\r\n BOOSTS: {\r\n work: {\r\n UO: {\r\n harvest: 3\r\n },\r\n UHO2: {\r\n harvest: 5\r\n },\r\n XUHO2: {\r\n harvest: 7\r\n },\r\n LH: {\r\n build: 1.5,\r\n repair: 1.5\r\n },\r\n LH2O: {\r\n build: 1.8,\r\n repair: 1.8\r\n },\r\n XLH2O: {\r\n build: 2,\r\n repair: 2\r\n },\r\n ZH: {\r\n dismantle: 2\r\n },\r\n ZH2O: {\r\n dismantle: 3\r\n },\r\n XZH2O: {\r\n dismantle: 4\r\n },\r\n GH: {\r\n upgradeController: 1.5\r\n },\r\n GH2O: {\r\n upgradeController: 1.8\r\n },\r\n XGH2O: {\r\n upgradeController: 2\r\n }\r\n },\r\n attack: {\r\n UH: {\r\n attack: 2\r\n },\r\n UH2O: {\r\n attack: 3\r\n },\r\n XUH2O: {\r\n attack: 4\r\n }\r\n },\r\n ranged_attack: {\r\n KO: {\r\n rangedAttack: 2,\r\n rangedMassAttack: 2\r\n },\r\n KHO2: {\r\n rangedAttack: 3,\r\n rangedMassAttack: 3\r\n },\r\n XKHO2: {\r\n rangedAttack: 4,\r\n rangedMassAttack: 4\r\n }\r\n },\r\n heal: {\r\n LO: {\r\n heal: 2,\r\n rangedHeal: 2\r\n },\r\n LHO2: {\r\n heal: 3,\r\n rangedHeal: 3\r\n },\r\n XLHO2: {\r\n heal: 4,\r\n rangedHeal: 4\r\n }\r\n },\r\n carry: {\r\n KH: {\r\n capacity: 2\r\n },\r\n KH2O: {\r\n capacity: 3\r\n },\r\n XKH2O: {\r\n capacity: 4\r\n }\r\n },\r\n move: {\r\n ZO: {\r\n fatigue: 2\r\n },\r\n ZHO2: {\r\n fatigue: 3\r\n },\r\n XZHO2: {\r\n fatigue: 4\r\n }\r\n },\r\n tough: {\r\n GO: {\r\n damage: .7\r\n },\r\n GHO2: {\r\n damage: .5\r\n },\r\n XGHO2: {\r\n damage: .3\r\n }\r\n }\r\n },\r\n\r\n REACTION_TIME: {\r\n OH: 20,\r\n ZK: 5,\r\n UL: 5,\r\n G: 5,\r\n UH: 10,\r\n UH2O: 5,\r\n XUH2O: 60,\r\n UO: 10,\r\n UHO2: 5,\r\n XUHO2: 60,\r\n KH: 10,\r\n KH2O: 5,\r\n XKH2O: 60,\r\n KO: 10,\r\n KHO2: 5,\r\n XKHO2: 60,\r\n LH: 15,\r\n LH2O: 10,\r\n XLH2O: 65,\r\n LO: 10,\r\n LHO2: 5,\r\n XLHO2: 60,\r\n ZH: 20,\r\n ZH2O: 40,\r\n XZH2O: 160,\r\n ZO: 10,\r\n ZHO2: 5,\r\n XZHO2: 60,\r\n GH: 10,\r\n GH2O: 15,\r\n XGH2O: 80,\r\n GO: 10,\r\n GHO2: 30,\r\n XGHO2: 150,\r\n },\r\n\r\n PORTAL_UNSTABLE: 10*24*3600*1000,\r\n PORTAL_MIN_TIMEOUT: 12*24*3600*1000,\r\n PORTAL_MAX_TIMEOUT: 22*24*3600*1000,\r\n\r\n POWER_BANK_RESPAWN_TIME: 50000,\r\n\r\n INVADERS_ENERGY_GOAL: 100000,\r\n\r\n SYSTEM_USERNAME: 'Screeps',\r\n\r\n // SIGN_NOVICE_AREA and SIGN_RESPAWN_AREA constants are deprecated, please use SIGN_PLANNED_AREA instead\r\n SIGN_NOVICE_AREA: 'A new Novice or Respawn Area is being planned somewhere in this sector. Please make sure all important rooms are reserved.',\r\n SIGN_RESPAWN_AREA: 'A new Novice or Respawn Area is being planned somewhere in this sector. Please make sure all important rooms are reserved.',\r\n SIGN_PLANNED_AREA: 'A new Novice or Respawn Area is being planned somewhere in this sector. Please make sure all important rooms are reserved.',\r\n\r\n EVENT_ATTACK: 1,\r\n EVENT_OBJECT_DESTROYED: 2,\r\n EVENT_ATTACK_CONTROLLER: 3,\r\n EVENT_BUILD: 4,\r\n EVENT_HARVEST: 5,\r\n EVENT_HEAL: 6,\r\n EVENT_REPAIR: 7,\r\n EVENT_RESERVE_CONTROLLER: 8,\r\n EVENT_UPGRADE_CONTROLLER: 9,\r\n EVENT_EXIT: 10,\r\n EVENT_POWER: 11,\r\n EVENT_TRANSFER: 12,\r\n\r\n EVENT_ATTACK_TYPE_MELEE: 1,\r\n EVENT_ATTACK_TYPE_RANGED: 2,\r\n EVENT_ATTACK_TYPE_RANGED_MASS: 3,\r\n EVENT_ATTACK_TYPE_DISMANTLE: 4,\r\n EVENT_ATTACK_TYPE_HIT_BACK: 5,\r\n EVENT_ATTACK_TYPE_NUKE: 6,\r\n\r\n EVENT_HEAL_TYPE_MELEE: 1,\r\n EVENT_HEAL_TYPE_RANGED: 2,\r\n\r\n POWER_LEVEL_MULTIPLY: 1000,\r\n POWER_LEVEL_POW: 2,\r\n POWER_CREEP_SPAWN_COOLDOWN: 8*3600*1000,\r\n POWER_CREEP_DELETE_COOLDOWN: 24*3600*1000,\r\n POWER_CREEP_MAX_LEVEL: 25,\r\n POWER_CREEP_LIFE_TIME: 5000,\r\n\r\n POWER_CLASS: {\r\n OPERATOR: 'operator'\r\n },\r\n\r\n PWR_GENERATE_OPS: 1,\r\n PWR_OPERATE_SPAWN: 2,\r\n PWR_OPERATE_TOWER: 3,\r\n PWR_OPERATE_STORAGE: 4,\r\n PWR_OPERATE_LAB: 5,\r\n PWR_OPERATE_EXTENSION: 6,\r\n PWR_OPERATE_OBSERVER: 7,\r\n PWR_OPERATE_TERMINAL: 8,\r\n PWR_DISRUPT_SPAWN: 9,\r\n PWR_DISRUPT_TOWER: 10,\r\n PWR_DISRUPT_SOURCE: 11,\r\n PWR_SHIELD: 12,\r\n PWR_REGEN_SOURCE: 13,\r\n PWR_REGEN_MINERAL: 14,\r\n PWR_DISRUPT_TERMINAL: 15,\r\n PWR_OPERATE_POWER: 16,\r\n PWR_FORTIFY: 17,\r\n PWR_OPERATE_CONTROLLER: 18,\r\n PWR_OPERATE_FACTORY: 19,\r\n\r\n EFFECT_INVULNERABILITY: 1001,\r\n EFFECT_COLLAPSE_TIMER: 1002,\r\n\r\n INVADER_CORE_HITS: 100000,\r\n INVADER_CORE_CREEP_SPAWN_TIME: {\r\n 0: 0, 1: 0, 2: 6, 3: 3, 4: 2, 5: 1\r\n },\r\n INVADER_CORE_EXPAND_TIME: { 1: 4000, 2: 3500, 3: 3000, 4: 2500, 5: 2000 },\r\n INVADER_CORE_CONTROLLER_POWER: 2,\r\n INVADER_CORE_CONTROLLER_DOWNGRADE: 5000,\r\n STRONGHOLD_RAMPART_HITS: { 0: 0, 1: 100000, 2: 200000, 3: 500000, 4: 1000000, 5: 2000000 },\r\n STRONGHOLD_DECAY_TICKS: 75000\r\n});\r\n\r\nObject.assign(exports, {\r\n POWER_INFO: {\r\n [exports.PWR_GENERATE_OPS]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 50,\r\n effect: [1, 2, 4, 6, 8]\r\n },\r\n [exports.PWR_OPERATE_SPAWN]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 300,\r\n duration: 1000,\r\n range: 3,\r\n ops: 100,\r\n effect: [0.9, 0.7, 0.5, 0.35, 0.2]\r\n },\r\n [exports.PWR_OPERATE_TOWER]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 10,\r\n duration: 100,\r\n range: 3,\r\n ops: 10,\r\n effect: [1.1, 1.2, 1.3, 1.4, 1.5]\r\n },\r\n [exports.PWR_OPERATE_STORAGE]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 800,\r\n duration: 1000,\r\n range: 3,\r\n ops: 100,\r\n effect: [500000,1000000,2000000,4000000,7000000]\r\n },\r\n [exports.PWR_OPERATE_LAB]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 50,\r\n duration: 1000,\r\n range: 3,\r\n ops: 10,\r\n effect: [2,4,6,8,10]\r\n },\r\n [exports.PWR_OPERATE_EXTENSION]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 50,\r\n range: 3,\r\n ops: 2,\r\n effect: [0.2, 0.4, 0.6, 0.8, 1.0]\r\n },\r\n [exports.PWR_OPERATE_OBSERVER]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 400,\r\n duration: [200,400,600,800,1000],\r\n range: 3,\r\n ops: 10,\r\n },\r\n [exports.PWR_OPERATE_TERMINAL]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 500,\r\n duration: 1000,\r\n range: 3,\r\n ops: 100,\r\n effect: [0.9, 0.8, 0.7, 0.6, 0.5]\r\n },\r\n [exports.PWR_DISRUPT_SPAWN]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 5,\r\n range: 20,\r\n ops: 10,\r\n duration: [1,2,3,4,5]\r\n },\r\n [exports.PWR_DISRUPT_TOWER]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 0,\r\n duration: 5,\r\n range: 50,\r\n ops: 10,\r\n effect: [0.9, 0.8, 0.7, 0.6, 0.5],\r\n },\r\n [exports.PWR_DISRUPT_SOURCE]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 100,\r\n range: 3,\r\n ops: 100,\r\n duration: [100, 200, 300, 400, 500]\r\n },\r\n [exports.PWR_SHIELD]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n effect: [5000, 10000, 15000, 20000, 25000],\r\n duration: 50,\r\n cooldown: 20,\r\n energy: 100,\r\n },\r\n [exports.PWR_REGEN_SOURCE]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [10, 11, 12, 14, 22],\r\n cooldown: 100,\r\n duration: 300,\r\n range: 3,\r\n effect: [50,100,150,200,250],\r\n period: 15\r\n },\r\n [exports.PWR_REGEN_MINERAL]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [10, 11, 12, 14, 22],\r\n cooldown: 100,\r\n duration: 100,\r\n range: 3,\r\n effect: [2,4,6,8,10],\r\n period: 10\r\n },\r\n [exports.PWR_DISRUPT_TERMINAL]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [20, 21, 22, 23, 24],\r\n cooldown: 8,\r\n duration: 10,\r\n range: 50,\r\n ops: [50,40,30,20,10]\r\n\r\n },\r\n [exports.PWR_FORTIFY]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 5,\r\n range: 3,\r\n ops: 5,\r\n duration: [1, 2, 3, 4, 5]\r\n },\r\n [exports.PWR_OPERATE_POWER]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [10, 11, 12, 14, 22],\r\n cooldown: 800,\r\n range: 3,\r\n duration: 1000,\r\n ops: 200,\r\n effect: [1, 2, 3, 4, 5]\r\n },\r\n [exports.PWR_OPERATE_CONTROLLER]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [20, 21, 22, 23, 24],\r\n cooldown: 800,\r\n range: 3,\r\n duration: 1000,\r\n ops: 200,\r\n effect: [10, 20, 30, 40, 50]\r\n },\r\n [exports.PWR_OPERATE_FACTORY]: {\r\n className: exports.POWER_CLASS.OPERATOR,\r\n level: [0, 2, 7, 14, 22],\r\n cooldown: 800,\r\n range: 3,\r\n duration: 1000,\r\n ops: 100\r\n },\r\n },\r\n\r\n BODYPARTS_ALL: [\r\n exports.MOVE,\r\n exports.WORK,\r\n exports.CARRY,\r\n exports.ATTACK,\r\n exports.RANGED_ATTACK,\r\n exports.TOUGH,\r\n exports.HEAL,\r\n exports.CLAIM\r\n ],\r\n RESOURCES_ALL: [\r\n exports.RESOURCE_ENERGY,\r\n exports.RESOURCE_POWER,\r\n\r\n exports.RESOURCE_HYDROGEN,\r\n exports.RESOURCE_OXYGEN,\r\n exports.RESOURCE_UTRIUM,\r\n exports.RESOURCE_KEANIUM,\r\n exports.RESOURCE_LEMERGIUM,\r\n exports.RESOURCE_ZYNTHIUM,\r\n exports.RESOURCE_CATALYST,\r\n exports.RESOURCE_GHODIUM,\r\n\r\n exports.RESOURCE_HYDROXIDE,\r\n exports.RESOURCE_ZYNTHIUM_KEANITE,\r\n exports.RESOURCE_UTRIUM_LEMERGITE,\r\n\r\n exports.RESOURCE_UTRIUM_HYDRIDE,\r\n exports.RESOURCE_UTRIUM_OXIDE,\r\n exports.RESOURCE_KEANIUM_HYDRIDE,\r\n exports.RESOURCE_KEANIUM_OXIDE,\r\n exports.RESOURCE_LEMERGIUM_HYDRIDE,\r\n exports.RESOURCE_LEMERGIUM_OXIDE,\r\n exports.RESOURCE_ZYNTHIUM_HYDRIDE,\r\n exports.RESOURCE_ZYNTHIUM_OXIDE,\r\n exports.RESOURCE_GHODIUM_HYDRIDE,\r\n exports.RESOURCE_GHODIUM_OXIDE,\r\n\r\n exports.RESOURCE_UTRIUM_ACID,\r\n exports.RESOURCE_UTRIUM_ALKALIDE,\r\n exports.RESOURCE_KEANIUM_ACID,\r\n exports.RESOURCE_KEANIUM_ALKALIDE,\r\n exports.RESOURCE_LEMERGIUM_ACID,\r\n exports.RESOURCE_LEMERGIUM_ALKALIDE,\r\n exports.RESOURCE_ZYNTHIUM_ACID,\r\n exports.RESOURCE_ZYNTHIUM_ALKALIDE,\r\n exports.RESOURCE_GHODIUM_ACID,\r\n exports.RESOURCE_GHODIUM_ALKALIDE,\r\n\r\n exports.RESOURCE_CATALYZED_UTRIUM_ACID,\r\n exports.RESOURCE_CATALYZED_UTRIUM_ALKALIDE,\r\n exports.RESOURCE_CATALYZED_KEANIUM_ACID,\r\n exports.RESOURCE_CATALYZED_KEANIUM_ALKALIDE,\r\n exports.RESOURCE_CATALYZED_LEMERGIUM_ACID,\r\n exports.RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE,\r\n exports.RESOURCE_CATALYZED_ZYNTHIUM_ACID,\r\n exports.RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE,\r\n exports.RESOURCE_CATALYZED_GHODIUM_ACID,\r\n exports.RESOURCE_CATALYZED_GHODIUM_ALKALIDE,\r\n\r\n exports.RESOURCE_OPS,\r\n\r\n exports.RESOURCE_SILICON,\r\n exports.RESOURCE_METAL,\r\n exports.RESOURCE_BIOMASS,\r\n exports.RESOURCE_MIST,\r\n\r\n exports.RESOURCE_UTRIUM_BAR,\r\n exports.RESOURCE_LEMERGIUM_BAR,\r\n exports.RESOURCE_ZYNTHIUM_BAR,\r\n exports.RESOURCE_KEANIUM_BAR,\r\n exports.RESOURCE_GHODIUM_MELT,\r\n exports.RESOURCE_OXIDANT,\r\n exports.RESOURCE_REDUCTANT,\r\n exports.RESOURCE_PURIFIER,\r\n exports.RESOURCE_BATTERY,\r\n exports.RESOURCE_COMPOSITE,\r\n exports.RESOURCE_CRYSTAL,\r\n exports.RESOURCE_LIQUID,\r\n\r\n exports.RESOURCE_WIRE,\r\n exports.RESOURCE_SWITCH,\r\n exports.RESOURCE_TRANSISTOR,\r\n exports.RESOURCE_MICROCHIP,\r\n exports.RESOURCE_CIRCUIT,\r\n exports.RESOURCE_DEVICE,\r\n\r\n exports.RESOURCE_CELL,\r\n exports.RESOURCE_PHLEGM,\r\n exports.RESOURCE_TISSUE,\r\n exports.RESOURCE_MUSCLE,\r\n exports.RESOURCE_ORGANOID,\r\n exports.RESOURCE_ORGANISM,\r\n\r\n exports.RESOURCE_ALLOY,\r\n exports.RESOURCE_TUBE,\r\n exports.RESOURCE_FIXTURES,\r\n exports.RESOURCE_FRAME,\r\n exports.RESOURCE_HYDRAULICS,\r\n exports.RESOURCE_MACHINE,\r\n\r\n exports.RESOURCE_CONDENSATE,\r\n exports.RESOURCE_CONCENTRATE,\r\n exports.RESOURCE_EXTRACT,\r\n exports.RESOURCE_SPIRIT,\r\n exports.RESOURCE_EMANATION,\r\n exports.RESOURCE_ESSENCE\r\n ],\r\n COLORS_ALL: [\r\n exports.COLOR_RED,\r\n exports.COLOR_PURPLE,\r\n exports.COLOR_BLUE,\r\n exports.COLOR_CYAN,\r\n exports.COLOR_GREEN,\r\n exports.COLOR_YELLOW,\r\n exports.COLOR_ORANGE,\r\n exports.COLOR_BROWN,\r\n exports.COLOR_GREY,\r\n exports.COLOR_WHITE\r\n ],\r\n INTERSHARD_RESOURCES: [\r\n exports.SUBSCRIPTION_TOKEN\r\n ],\r\n COMMODITIES: {\r\n [exports.RESOURCE_UTRIUM_BAR]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_UTRIUM]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_UTRIUM]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_UTRIUM_BAR]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_LEMERGIUM_BAR]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_LEMERGIUM]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_LEMERGIUM]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_LEMERGIUM_BAR]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_ZYNTHIUM]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_ZYNTHIUM]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_KEANIUM_BAR]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_KEANIUM]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_KEANIUM]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_KEANIUM_BAR]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_GHODIUM_MELT]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_GHODIUM]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_GHODIUM]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_GHODIUM_MELT]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_OXIDANT]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_OXYGEN]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_OXYGEN]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_OXIDANT]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_REDUCTANT]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_HYDROGEN]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_HYDROGEN]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_REDUCTANT]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_PURIFIER]: {\r\n amount: 100,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_CATALYST]: 500,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_CATALYST]: {\r\n amount: 500,\r\n cooldown: 20,\r\n components: {\r\n [exports.RESOURCE_PURIFIER]: 100,\r\n [exports.RESOURCE_ENERGY]: 200\r\n }\r\n },\r\n [exports.RESOURCE_BATTERY]: {\r\n amount: 50,\r\n cooldown: 10,\r\n components: {\r\n [exports.RESOURCE_ENERGY]: 600\r\n }\r\n },\r\n [exports.RESOURCE_ENERGY]: {\r\n amount: 500,\r\n cooldown: 10,\r\n components: {\r\n [exports.RESOURCE_BATTERY]: 50\r\n }\r\n },\r\n [exports.RESOURCE_COMPOSITE]: {\r\n level: 1,\r\n amount: 20,\r\n cooldown: 50,\r\n components: {\r\n [exports.RESOURCE_UTRIUM_BAR]: 20,\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: 20,\r\n [exports.RESOURCE_ENERGY]: 20\r\n }\r\n },\r\n [exports.RESOURCE_CRYSTAL]: {\r\n level: 2,\r\n amount: 6,\r\n cooldown: 21,\r\n components: {\r\n [exports.RESOURCE_LEMERGIUM_BAR]: 6,\r\n [exports.RESOURCE_KEANIUM_BAR]: 6,\r\n [exports.RESOURCE_PURIFIER]: 6,\r\n [exports.RESOURCE_ENERGY]: 45\r\n }\r\n },\r\n [exports.RESOURCE_LIQUID]: {\r\n level: 3,\r\n amount: 12,\r\n cooldown: 60,\r\n components: {\r\n [exports.RESOURCE_OXIDANT]: 12,\r\n [exports.RESOURCE_REDUCTANT]: 12,\r\n [exports.RESOURCE_GHODIUM_MELT]: 12,\r\n [exports.RESOURCE_ENERGY]: 90\r\n }\r\n },\r\n\r\n [exports.RESOURCE_WIRE]: {\r\n amount: 20,\r\n cooldown: 8,\r\n components: {\r\n [exports.RESOURCE_UTRIUM_BAR]: 20,\r\n [exports.RESOURCE_SILICON]: 100,\r\n [exports.RESOURCE_ENERGY]: 40\r\n }\r\n },\r\n [exports.RESOURCE_SWITCH]: {\r\n level: 1,\r\n amount: 5,\r\n cooldown: 70,\r\n components: {\r\n [exports.RESOURCE_WIRE]: 40,\r\n [exports.RESOURCE_OXIDANT]: 95,\r\n [exports.RESOURCE_UTRIUM_BAR]: 35,\r\n [exports.RESOURCE_ENERGY]: 20\r\n }\r\n },\r\n [exports.RESOURCE_TRANSISTOR]: {\r\n level: 2,\r\n amount: 1,\r\n cooldown: 59,\r\n components: {\r\n [exports.RESOURCE_SWITCH]: 4,\r\n [exports.RESOURCE_WIRE]: 15,\r\n [exports.RESOURCE_REDUCTANT]: 85,\r\n [exports.RESOURCE_ENERGY]: 8\r\n }\r\n },\r\n [exports.RESOURCE_MICROCHIP]: {\r\n level: 3,\r\n amount: 1,\r\n cooldown: 250,\r\n components: {\r\n [exports.RESOURCE_TRANSISTOR]: 2,\r\n [exports.RESOURCE_COMPOSITE]: 50,\r\n [exports.RESOURCE_WIRE]: 117,\r\n [exports.RESOURCE_PURIFIER]: 25,\r\n [exports.RESOURCE_ENERGY]: 16\r\n }\r\n },\r\n [exports.RESOURCE_CIRCUIT]: {\r\n level: 4,\r\n amount: 1,\r\n cooldown: 800,\r\n components: {\r\n [exports.RESOURCE_MICROCHIP]: 1,\r\n [exports.RESOURCE_TRANSISTOR]: 5,\r\n [exports.RESOURCE_SWITCH]: 4,\r\n [exports.RESOURCE_OXIDANT]: 115,\r\n [exports.RESOURCE_ENERGY]: 32\r\n }\r\n },\r\n [exports.RESOURCE_DEVICE]: {\r\n level: 5,\r\n amount: 1,\r\n cooldown: 600,\r\n components: {\r\n [exports.RESOURCE_CIRCUIT]: 1,\r\n [exports.RESOURCE_MICROCHIP]: 3,\r\n [exports.RESOURCE_CRYSTAL]: 110,\r\n [exports.RESOURCE_GHODIUM_MELT]: 150,\r\n [exports.RESOURCE_ENERGY]: 64\r\n }\r\n },\r\n\r\n [exports.RESOURCE_CELL]: {\r\n amount: 20,\r\n cooldown: 8,\r\n components: {\r\n [exports.RESOURCE_LEMERGIUM_BAR]: 20,\r\n [exports.RESOURCE_BIOMASS]: 100,\r\n [exports.RESOURCE_ENERGY]: 40\r\n }\r\n },\r\n [exports.RESOURCE_PHLEGM]: {\r\n level: 1,\r\n amount: 2,\r\n cooldown: 35,\r\n components: {\r\n [exports.RESOURCE_CELL]: 20,\r\n [exports.RESOURCE_OXIDANT]: 36,\r\n [exports.RESOURCE_LEMERGIUM_BAR]: 16,\r\n [exports.RESOURCE_ENERGY]: 8\r\n }\r\n },\r\n [exports.RESOURCE_TISSUE]: {\r\n level: 2,\r\n amount: 2,\r\n cooldown: 164,\r\n components: {\r\n [exports.RESOURCE_PHLEGM]: 10,\r\n [exports.RESOURCE_CELL]: 10,\r\n [exports.RESOURCE_REDUCTANT]: 110,\r\n [exports.RESOURCE_ENERGY]: 16\r\n }\r\n },\r\n [exports.RESOURCE_MUSCLE]: {\r\n level: 3,\r\n amount: 1,\r\n cooldown: 250,\r\n components: {\r\n [exports.RESOURCE_TISSUE]: 3,\r\n [exports.RESOURCE_PHLEGM]: 3,\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: 50,\r\n [exports.RESOURCE_REDUCTANT]: 50,\r\n [exports.RESOURCE_ENERGY]: 16\r\n }\r\n },\r\n [exports.RESOURCE_ORGANOID]: {\r\n level: 4,\r\n amount: 1,\r\n cooldown: 800,\r\n components: {\r\n [exports.RESOURCE_MUSCLE]: 1,\r\n [exports.RESOURCE_TISSUE]: 5,\r\n [exports.RESOURCE_PURIFIER]: 208,\r\n [exports.RESOURCE_OXIDANT]: 256,\r\n [exports.RESOURCE_ENERGY]: 32\r\n }\r\n },\r\n [exports.RESOURCE_ORGANISM]: {\r\n level: 5,\r\n amount: 1,\r\n cooldown: 600,\r\n components: {\r\n [exports.RESOURCE_ORGANOID]: 1,\r\n [exports.RESOURCE_LIQUID]: 150,\r\n [exports.RESOURCE_TISSUE]: 6,\r\n [exports.RESOURCE_CELL]: 310,\r\n [exports.RESOURCE_ENERGY]: 64\r\n }\r\n },\r\n\r\n [exports.RESOURCE_ALLOY]: {\r\n amount: 20,\r\n cooldown: 8,\r\n components: {\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: 20,\r\n [exports.RESOURCE_METAL]: 100,\r\n [exports.RESOURCE_ENERGY]: 40\r\n }\r\n },\r\n [exports.RESOURCE_TUBE]: {\r\n level: 1,\r\n amount: 2,\r\n cooldown: 45,\r\n components: {\r\n [exports.RESOURCE_ALLOY]: 40,\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: 16,\r\n [exports.RESOURCE_ENERGY]: 8\r\n }\r\n },\r\n [exports.RESOURCE_FIXTURES]: {\r\n level: 2,\r\n amount: 1,\r\n cooldown: 115,\r\n components: {\r\n [exports.RESOURCE_COMPOSITE]: 20,\r\n [exports.RESOURCE_ALLOY]: 41,\r\n [exports.RESOURCE_OXIDANT]: 161,\r\n [exports.RESOURCE_ENERGY]: 8\r\n }\r\n },\r\n [exports.RESOURCE_FRAME]: {\r\n level: 3,\r\n amount: 1,\r\n cooldown: 125,\r\n components: {\r\n [exports.RESOURCE_FIXTURES]: 2,\r\n [exports.RESOURCE_TUBE]: 4,\r\n [exports.RESOURCE_REDUCTANT]: 330,\r\n [exports.RESOURCE_ZYNTHIUM_BAR]: 31,\r\n [exports.RESOURCE_ENERGY]: 16\r\n }\r\n },\r\n [exports.RESOURCE_HYDRAULICS]: {\r\n level: 4,\r\n amount: 1,\r\n cooldown: 800,\r\n components: {\r\n [exports.RESOURCE_LIQUID]: 150,\r\n [exports.RESOURCE_FIXTURES]: 3,\r\n [exports.RESOURCE_TUBE]: 15,\r\n [exports.RESOURCE_PURIFIER]: 208,\r\n [exports.RESOURCE_ENERGY]: 32\r\n }\r\n },\r\n [exports.RESOURCE_MACHINE]: {\r\n level: 5,\r\n amount: 1,\r\n cooldown: 600,\r\n components: {\r\n [exports.RESOURCE_HYDRAULICS]: 1,\r\n [exports.RESOURCE_FRAME]: 2,\r\n [exports.RESOURCE_FIXTURES]: 3,\r\n [exports.RESOURCE_TUBE]: 12,\r\n [exports.RESOURCE_ENERGY]: 64\r\n }\r\n },\r\n\r\n [exports.RESOURCE_CONDENSATE]: {\r\n amount: 20,\r\n cooldown: 8,\r\n components: {\r\n [exports.RESOURCE_KEANIUM_BAR]: 20,\r\n [exports.RESOURCE_MIST]: 100,\r\n [exports.RESOURCE_ENERGY]: 40\r\n }\r\n },\r\n [exports.RESOURCE_CONCENTRATE]: {\r\n level: 1,\r\n amount: 3,\r\n cooldown: 41,\r\n components: {\r\n [exports.RESOURCE_CONDENSATE]: 30,\r\n [exports.RESOURCE_KEANIUM_BAR]: 15,\r\n [exports.RESOURCE_REDUCTANT]: 54,\r\n [exports.RESOURCE_ENERGY]: 12\r\n }\r\n },\r\n [exports.RESOURCE_EXTRACT]: {\r\n level: 2,\r\n amount: 2,\r\n cooldown: 128,\r\n components: {\r\n [exports.RESOURCE_CONCENTRATE]: 10,\r\n [exports.RESOURCE_CONDENSATE]: 30,\r\n [exports.RESOURCE_OXIDANT]: 60,\r\n [exports.RESOURCE_ENERGY]: 16\r\n }\r\n },\r\n [exports.RESOURCE_SPIRIT]: {\r\n level: 3,\r\n amount: 1,\r\n cooldown: 200,\r\n components: {\r\n [exports.RESOURCE_EXTRACT]: 2,\r\n [exports.RESOURCE_CONCENTRATE]: 6,\r\n [exports.RESOURCE_REDUCTANT]: 90,\r\n [exports.RESOURCE_PURIFIER]: 20,\r\n [exports.RESOURCE_ENERGY]: 16\r\n }\r\n },\r\n [exports.RESOURCE_EMANATION]: {\r\n level: 4,\r\n amount: 1,\r\n cooldown: 800,\r\n components: {\r\n [exports.RESOURCE_SPIRIT]: 2,\r\n [exports.RESOURCE_EXTRACT]: 2,\r\n [exports.RESOURCE_CONCENTRATE]: 3,\r\n [exports.RESOURCE_KEANIUM_BAR]: 112,\r\n [exports.RESOURCE_ENERGY]: 32\r\n }\r\n },\r\n [exports.RESOURCE_ESSENCE]: {\r\n level: 5,\r\n amount: 1,\r\n cooldown: 600,\r\n components: {\r\n [exports.RESOURCE_EMANATION]: 1,\r\n [exports.RESOURCE_SPIRIT]: 3,\r\n [exports.RESOURCE_CRYSTAL]: 110,\r\n [exports.RESOURCE_GHODIUM_MELT]: 150,\r\n [exports.RESOURCE_ENERGY]: 64\r\n }\r\n },\r\n }\r\n});\r\n","/**\r\n * Created by vedi on 19/03/2017.\r\n */\r\n\r\nexport default (duration = { $processorParam: 'tickDuration' }) => ({\r\n action: 'FadeIn',\r\n params: [duration],\r\n});\r\n","/**\r\n * Created by vedi on 19/03/2017.\r\n */\r\n\r\nexport default (fromAlpha, toAlpha, toDuration, fromDuration) => ({\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'AlphaTo',\r\n params: [fromAlpha, 0],\r\n },\r\n {\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'AlphaTo',\r\n params: [toAlpha, toDuration],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [fromAlpha, fromDuration],\r\n },\r\n ],\r\n ],\r\n }],\r\n },\r\n ]],\r\n});\r\n","export default (type, additionalWhen) => ({\r\n type: 'text',\r\n once: true,\r\n layer: 'effects',\r\n when: (params) => {\r\n const {\r\n calcs: { isOwner },\r\n stateExtra: { gameData: { showEnemyNames, showMyNames } },\r\n } = params;\r\n return ((isOwner && showMyNames[type]) || (!isOwner && showEnemyNames[type])) &&\r\n (!additionalWhen || additionalWhen(params));\r\n },\r\n payload: {\r\n text: { $calc: 'displayName' },\r\n style: {\r\n align: 'center',\r\n fill: { $calc: 'playerColorHex' },\r\n fontFamily: 'Roboto, sans-serif',\r\n fontSize: 55,\r\n stroke: '#111',\r\n strokeThickness: 15,\r\n },\r\n anchor: {\r\n x: 0.5,\r\n y: 1.7,\r\n },\r\n },\r\n});\r\n","export default (alpha1, alpha2, alpha3, alpha4) => ({\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x', koef: 1.2 },\r\n { $rel: 'scale.y', koef: 1.2 },\r\n 1,\r\n ],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x' },\r\n { $rel: 'scale.y' },\r\n 1,\r\n ],\r\n },\r\n ]],\r\n }],\r\n },\r\n {\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'AlphaTo',\r\n params: [alpha1, 0.1],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [alpha2, 0.2],\r\n },\r\n {\r\n action: 'DelayTime',\r\n params: [{ $random: 2 }],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [alpha3, 0.2],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [alpha4, 2.8],\r\n },\r\n ]],\r\n }],\r\n },\r\n ]],\r\n});\r\n","/**\n * Created by vedi on 13/09/2017.\n */\n\nimport { blinking } from '../action-templates';\nimport constants from '@screeps/common/lib/constants';\n\nconst CELL_SIZE = 100;\n\nexport default {\n data: {\n x: { $state: 'x', koef: CELL_SIZE },\n y: { $state: 'y', koef: CELL_SIZE },\n },\n calculations: [\n {\n id: 'isOwner',\n props: ['user'],\n func: ({ state: { user }, stateExtra: { gameData: { player } } }) =>\n // eslint-disable-next-line eqeqeq\n (user === undefined ? undefined : player == user),\n },\n {\n id: 'playerColor',\n props: ['user'],\n func: ({ calcs: { isOwner } }) => {\n if (isOwner === undefined) {\n return 0xBBBBBB;\n } else if (isOwner) {\n return 0x8fbb93;\n } else {\n return 0xFF7777;\n }\n },\n },\n {\n id: 'playerColorHex',\n props: ['user'],\n func: ({ calcs: { isOwner } }) =>\n (isOwner ? '#8fbb93' : '#FF7777'),\n },\n {\n id: 'playerColorIntense',\n props: ['user'],\n func: ({ calcs: { isOwner } }) =>\n (isOwner ? 0x00ff00 : 0x00ff00),\n },\n {\n id: 'viewBox',\n func: ({ world: { options: { VIEW_BOX } } }) => VIEW_BOX,\n },\n {\n id: 'hasEffect',\n func: ({ state: { effects }, stateExtra: { gameTime } }) =>\n effects && Object.values(effects).some(effect => !!constants.POWER_INFO[effect.power] && effect.endTime > gameTime),\n },\n {\n id: 'decorations',\n func: ({ world: { decorations = [] } }) => decorations,\n },\n ],\n processors: [\n {\n type: 'objectDecoration',\n props: ['decorations'],\n },\n {\n type: 'draw',\n once: true,\n when: ({ state: { _isDisabled } }) => !!_isDisabled,\n layer: 'effects',\n payload: {\n drawings: [\n { method: 'beginFill', params: [0xFF0000] },\n {\n method: 'drawRect',\n params: [-50, -50, 100, 100],\n },\n { method: 'endFill' },\n ],\n blendMode: 1,\n },\n actions: [blinking(0, 0.5, 0.3, 1.5)],\n },\n {\n type: 'sprite',\n layer: 'effects',\n id: 'flare',\n props: ['hasEffect'],\n payload: {\n texture: 'flare3',\n width: 300,\n height: 300,\n alpha: 0,\n blendMode: 1,\n tint: 0xFF0000,\n },\n when: ({ calcs: { hasEffect } }) => hasEffect,\n actions: [\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [0.4, 0.2],\n },\n {\n action: 'AlphaTo',\n params: [0, 1],\n },\n {\n action: 'DelayTime',\n params: [2],\n },\n ],\n ],\n }],\n },\n {\n action: 'Repeat',\n params: [{\n action: 'RotateBy',\n params: [2 * Math.PI, 1],\n }],\n }\n ],\n },\n ],\n};\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nimport { blinking } from '../action-templates';\r\n\r\nexport default {\r\n texture: 'constructedWall',\r\n processors: [\r\n {\r\n type: 'sprite',\r\n once: true,\r\n payload: {\r\n width: 100,\r\n height: 100,\r\n blendMode: 1,\r\n },\r\n },\r\n {\r\n type: 'draw',\r\n once: true,\r\n when: ({ state: { hits, hitsMax } }) => hits === 1 && hitsMax > 1,\r\n layer: 'effects',\r\n payload: {\r\n drawings: [\r\n { method: 'beginFill', params: [0xFF0000] },\r\n {\r\n method: 'drawRect',\r\n params: [-50, -50, 100, 100],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n blendMode: 1,\r\n },\r\n actions: [blinking(0, 0.2, 0.3, 1.5)],\r\n },\r\n ],\r\n zIndex: 0,\r\n};\r\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { blinking } from '../action-templates';\n\nexport default {\n texture: 'constructionSite',\n processors: [\n {\n id: 'siteProgress',\n type: 'siteProgress',\n layer: 'effects',\n props: ['progress', 'progressTotal'],\n payload: {\n color: { $calc: 'playerColor' },\n radius: 20,\n lineWidth: 10,\n progress: { $state: 'progress' },\n progressTotal: { $state: 'progressTotal' },\n },\n actions: [blinking(0.8, 0.3, 1, 1)],\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: 18,\n};\n","/**\n * Created by vedi on 19/03/2017.\n */\n\nexport default () => {\n return ({\n id: 'resourcesTotal',\n func: ({ state }) => _.reduce(state.store, (sum, cur) => cur + sum, 0)\n });\n};\n","/**\n * Created by vedi on 19/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\n\nexport default {\n texture: 'rectangle',\n calculations: [\n resourceTotal(),\n {\n id: 'energyBackgroundHeight',\n func: ({ state: { storeCapacity }, calcs: { resourcesTotal } }) =>\n (resourcesTotal * 50) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'energyHeight',\n func: ({ state: { store = {}, storeCapacity }, calcs: { resourcesTotal } }) =>\n ((store['energy']||0) * 50) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'powerHeight',\n func: ({ state: { store = {}, storeCapacity },\n calcs: { resourcesTotal } }) =>\n (((store['power']||0) + (store['energy']||0)) * 50) / (storeCapacity || resourcesTotal),\n },\n ],\n processors: [\n {\n type: 'sprite',\n id: 'border',\n once: true,\n payload: {\n width: 60,\n height: 70,\n tint: 0x181818,\n },\n },\n {\n id: 'internalBorder',\n type: 'sprite',\n once: true,\n payload: {\n width: 40,\n height: 50,\n tint: 0x5555555,\n },\n },\n {\n type: 'sprite',\n id: 'otherResourcesBar',\n props: ['store', 'energyBackgroundHeight', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} }, calcs: { resourcesTotal } }) =>\n store['energy']||0 + store['power']||0 < resourcesTotal,\n payload: {\n pivot: {\n y: { $calc: 'energyBackgroundHeight' },\n },\n y: 25,\n width: 40,\n height: { $calc: 'energyBackgroundHeight' },\n tint: 0xffffff,\n },\n },\n {\n type: 'sprite',\n id: 'powerBar',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['power'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'powerHeight' },\n },\n y: 25,\n width: 40,\n height: { $calc: 'powerHeight' },\n tint: 0xf41f33,\n },\n },\n {\n type: 'sprite',\n id: 'energyBar',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['energy'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'energyHeight' },\n },\n y: 25,\n width: 40,\n height: { $calc: 'energyHeight' },\n tint: 0xffe56d,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['resourcesTotal'],\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n ],\n zIndex: 4,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport constants from '@screeps/common/lib/constants';\n\nimport { blinking } from '../action-templates';\n\nexport default {\n texture: 'controller',\n calculations: [\n {\n id: 'level1Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 1,\n },\n {\n id: 'level2Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 2,\n },\n {\n id: 'level3Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 3,\n },\n {\n id: 'level4Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 4,\n },\n {\n id: 'level5Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 5,\n },\n {\n id: 'level6Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 6,\n },\n {\n id: 'level7Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 7,\n },\n {\n id: 'level8Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 8,\n },\n {\n id: 'downgradeOpacity',\n func: ({ state: { level, downgradeTime }, stateExtra: { gameTime } }) => {\n const { CONTROLLER_DOWNGRADE } = constants;\n\n if (!downgradeTime || !level || !gameTime) {\n return 0;\n }\n return (CONTROLLER_DOWNGRADE[level] - (downgradeTime - gameTime)) /\n CONTROLLER_DOWNGRADE[level];\n },\n },\n {\n id: 'progressTotal',\n func: ({ state: { level } }) => {\n const { CONTROLLER_LEVELS } = constants;\n return CONTROLLER_LEVELS[level];\n },\n },\n ],\n processors: [\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0x33ff33,\n radius: 110,\n },\n shouldRun: ({ state: { reservation }, stateExtra: { gameData: { player } } }) =>\n reservation && reservation.user === player,\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xff3333,\n radius: 110,\n },\n shouldRun: ({\n state: { upgradeBlocked, reservation },\n stateExtra: { gameTime, gameData: { player } },\n }) =>\n (upgradeBlocked && upgradeBlocked > gameTime) ||\n (reservation && reservation.user !== player),\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xff3333,\n radius: 110,\n },\n shouldRun: ({\n state: { upgradeBlocked, reservation },\n stateExtra: { gameTime, gameData: { player } },\n }) =>\n (upgradeBlocked && upgradeBlocked > gameTime) ||\n (reservation && reservation.user !== player),\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n id: 'safeMode1',\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xffd180,\n radius: 110,\n },\n shouldRun: ({ state: { safeMode }, stateExtra: { gameTime } }) =>\n safeMode && safeMode > gameTime,\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xffffff,\n radius: 92,\n },\n },\n {\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'glow',\n alpha: 0.1,\n tint: 0xffd180,\n width: 1,\n height: 1,\n blendMode: 1,\n },\n shouldRun: ({ state: { safeMode }, stateExtra: { gameTime } }) =>\n safeMode && safeMode > gameTime,\n actions: [\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [50, 50, 1.5],\n },\n {\n action: 'AlphaTo',\n params: [0, 1.5],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.05, 0],\n },\n ]],\n },\n {\n action: 'DelayTime',\n params: [6],\n },\n ],\n ],\n }],\n },\n ],\n },\n\n {\n type: 'sprite',\n layer: 'effects',\n props: ['isPowerEnabled'],\n payload: {\n texture: 'flare1',\n alpha: 0.4,\n tint: 0xff0000,\n width: 1,\n height: 1,\n blendMode: 1,\n },\n when: ({ state: { isPowerEnabled } }) => !!isPowerEnabled,\n actions: [\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [20, 20, 1.0],\n },\n {\n action: 'AlphaTo',\n params: [0, 1.0],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.4, 0],\n },\n ]],\n },\n {\n action: 'DelayTime',\n params: [5],\n },\n ],\n ],\n }]\n },\n ],\n },\n\n {\n type: 'sprite',\n once: true,\n payload: {\n tint: 0x000000,\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n props: ['level1Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n visible: { $calc: 'level1Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level2Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: (2 * Math.PI) / 8,\n visible: { $calc: 'level2Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level3Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 2 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level3Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level4Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 3 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level4Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level5Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 4 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level5Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level6Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 5 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level6Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level7Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 6 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level7Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level8Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 7 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level8Visible' },\n },\n },\n {\n type: 'userBadge',\n props: ['user', 'level'],\n },\n {\n id: 'siteProgress',\n type: 'siteProgress',\n props: ['progress', 'progressTotal', 'level'],\n payload: {\n color: 0xFFFFFF,\n radius: 37,\n lineWidth: 0,\n progress: { $state: 'progress' },\n progressTotal: { $calc: 'progressTotal' },\n },\n when: ({ state: { progress } }) => progress > 0,\n actions: [blinking(0.8, 0.3, 1, 1)],\n },\n {\n type: 'circle',\n props: ['level'],\n payload: {\n radius: 40,\n strokeColor: 0x080808,\n strokeWidth: 10,\n },\n },\n {\n id: 'downgrade',\n type: 'sprite',\n once: true,\n layer: 'effects',\n payload: {\n alpha: 0,\n width: 200,\n height: 200,\n tint: 0xff3333,\n },\n },\n {\n type: 'runAction',\n payload: {\n id: 'downgrade',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [\n { $calc: 'downgradeOpacity' },\n { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [\n 0,\n { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ],\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['user'],\n payload: {\n texture: 'glow',\n width: 1200,\n height: 1200,\n alpha: 0.5,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['user'],\n shouldRun: ({ state: { user } }) => !!user,\n payload: {\n texture: 'glow',\n width: 500,\n height: 500,\n alpha: 1,\n },\n },\n ],\n zIndex: 4,\n};\n","/**\r\n * Created by vedi on 07/04/2017.\r\n */\r\n\r\nexport const calculateAngle = (x0, y0, x, y) => {\r\n let angle = Math.atan2(y - y0, x - x0) + (Math.PI / 2);\r\n if (angle > Math.PI) {\r\n angle -= 2 * Math.PI;\r\n } else if (angle < -Math.PI) {\r\n angle += 2 * Math.PI;\r\n }\r\n return angle;\r\n};\r\nexport const convertGameXYToWorld = ({ x, y }, { CELL_SIZE }) => ({\r\n x: (CELL_SIZE * x),\r\n y: (CELL_SIZE * y),\r\n});\r\nexport const scaleGameToWorld = (value, { CELL_SIZE }) => CELL_SIZE * value;\r\n\r\nexport default {\r\n calculateAngle,\r\n convertGameXYToWorld,\r\n scaleGameToWorld,\r\n};\r\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport mathHelper from '../../../helpers/mathHelper';\n\nimport { displayName } from '../action-templates';\nimport { resourceTotal } from '../calculation-templates';\n\nconst CELL_SIZE = 100;\nconst ENERGY_RADIUS = 20;\nconst isNpc = ({ state: { user } }) => user === '3' || user === '2';\nconst isNotNpc = (...params) => !isNpc(...params);\n\nexport default {\n texture: 'creep',\n calculations: [\n {\n id: 'displayName',\n func: ({ calcs: { isOwner }, state: { name, user }, stateExtra: { users } }) =>\n (isOwner ? name : users[user].username),\n },\n {\n id: 'rotation',\n props: ['x', 'y'],\n func: ({ prevState: { x: prevX, y: prevY } = {}, state: { x, y } }) => {\n const { calculateAngle } = mathHelper;\n return (prevX !== undefined && prevY !== undefined ?\n calculateAngle(prevX, prevY, x, y) : 0);\n },\n },\n resourceTotal(),\n {\n id: 'resourcesTotalRadius',\n func: ({ state: { storeCapacity }, calcs: { resourcesTotal } }) =>\n Math.min(1, resourcesTotal / storeCapacity) * ENERGY_RADIUS,\n },\n {\n id: 'energyRadius',\n func: ({ state: { store, storeCapacity } }) =>\n Math.min(1, (store['energy']||0) / storeCapacity) * ENERGY_RADIUS,\n },\n {\n id: 'powerRadius',\n func: ({ state: { store, storeCapacity } }) =>\n Math.min(1, ((store['energy']||0) + (store['power']||0)) / storeCapacity) * ENERGY_RADIUS,\n },\n {\n id: 'safeMode',\n func: ({\n stateExtra,\n state: { user },\n stateExtra: { controller, gameTime, objects },\n }) => {\n if (controller === undefined) {\n controller = objects.find(i => i.type === 'controller') || null;\n stateExtra.controller = controller;\n }\n return controller && controller.safeMode > gameTime && controller.user !== user ?\n 0.5 : 1.0;\n },\n },\n ],\n processors: [\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'mainContainer',\n },\n },\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'decorationContainer',\n parentId: 'mainContainer',\n },\n },\n {\n type: 'creepDecoration',\n props: ['spawning', 'decorations'],\n when: (({ state: { spawning } }) => !spawning),\n payload: {\n parentId: 'decorationContainer',\n },\n },\n {\n type: 'circle',\n once: true,\n payload: {\n parentId: 'mainContainer',\n color: 0x202020,\n radius: 50,\n },\n when: isNotNpc,\n },\n {\n type: 'creepBuildBody',\n props: ['body'],\n payload: {\n parentId: 'mainContainer',\n },\n when: isNotNpc,\n },\n {\n type: 'circle',\n once: true,\n payload: {\n parentId: 'mainContainer',\n color: 0x000000,\n radius: 32,\n },\n when: isNotNpc,\n },\n {\n type: 'userBadge',\n once: true,\n payload: {\n parentId: 'mainContainer',\n radius: 26,\n color: 0x222222,\n },\n when: isNotNpc,\n },\n {\n type: 'circle',\n props: ['store', 'resourcesTotal'],\n when: ({ state: { store = {}, user }, calcs: { resourcesTotal } }) =>\n user !== '3' && user !== '2' && resourcesTotal > 0 && (store['energy']||0 + store['power']||0 < resourcesTotal),\n payload: {\n parentId: 'mainContainer',\n radius: { $calc: 'resourcesTotalRadius' },\n color: 0xffffff,\n },\n },\n {\n type: 'circle',\n props: ['store'],\n when: ({ state: { store = {}, user } }) => user !== '3' && user !== '2' && store['power'] > 0,\n payload: {\n parentId: 'mainContainer',\n radius: { $calc: 'powerRadius' },\n color: 0xf41f33,\n },\n },\n {\n type: 'circle',\n props: ['store'],\n when: ({ state: { store = {}, user } }) => user !== '3' && user !== '2' && store['energy'] > 0,\n payload: {\n parentId: 'mainContainer',\n radius: { $calc: 'energyRadius' },\n color: 0xffe56d,\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n parentId: 'mainContainer',\n texture: 'creep-npc',\n width: 100,\n height: 100,\n },\n when: isNpc,\n },\n {\n type: 'creepActions',\n payload: {\n parentId: 'mainContainer',\n },\n props: '*',\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n when: ((params) => {\n const { state: { spawning } } = params;\n return !spawning && isNotNpc(params);\n }),\n payload: {\n parentId: 'mainContainer',\n texture: 'creep-mask',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n when: isNpc,\n payload: {\n parentId: 'mainContainer',\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 0.5,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: (({ state: { spawning } }) => !spawning),\n payload: {\n parentId: 'mainContainer',\n texture: 'glow',\n width: 400,\n height: 400,\n alpha: 0.2,\n },\n },\n displayName('creeps', ({ state: { spawning } }) => !spawning),\n {\n type: 'say',\n layer: 'effects',\n when: ({\n state: { actionLog: { say } = {} },\n stateExtra: { gameData: { showCreepSpeech } },\n calcs: { isOwner },\n }) =>\n !!showCreepSpeech && !!say && (say.isPublic || isOwner),\n payload: {\n say: { $state: 'actionLog.say' },\n },\n },\n {\n id: 'rangedMassAttack',\n type: 'circle',\n layer: 'effects',\n once: true,\n payload: {\n alpha: 0,\n color: 0x5d80b2,\n radius: 300,\n blendMode: 1,\n },\n },\n {\n type: 'runAction',\n payload: {\n id: 'rangedMassAttack',\n },\n when: ({ state: { actionLog: { rangedMassAttack } = {} } }) => !!rangedMassAttack,\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.4, 0],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'Ease',\n params: [{\n action: 'ScaleTo',\n params: [1, 1, { $processorParam: 'tickDuration', koef: 0.6 }],\n }],\n },\n {\n action: 'Ease',\n params: [{\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.6 }],\n }],\n },\n ]],\n },\n ]],\n }],\n },\n ],\n actions: [\n {\n id: 'moveTo',\n props: ['x', 'y'],\n actions: [{\n action: 'Ease',\n params: [\n {\n action: 'MoveTo',\n params: [\n { $state: 'x', koef: CELL_SIZE },\n { $state: 'y', koef: CELL_SIZE },\n { $processorParam: 'tickDuration' },\n ],\n },\n 'EASE_IN_OUT_QUAD',\n ],\n }],\n },\n {\n id: 'rotateTo',\n props: ['rotation'],\n targetId: 'mainContainer',\n actions: [{\n action: 'RotateTo',\n params: [\n { $calc: 'rotation' },\n { $processorParam: 'tickDuration', koef: 0.2 },\n ],\n }],\n },\n {\n id: 'safeModeAlpha',\n props: ['safeMode'],\n targetId: 'mainContainer',\n actions: [{\n action: 'AlphaTo',\n params: [{ $calc: 'safeMode' }, 0],\n }],\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: 6,\n};\n","import { flickering } from '../action-templates';\n\nconst scaleAction = {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [{\n action: 'Ease',\n params: [{\n action: 'ScaleTo',\n params: [0.7, 0.7, 1],\n }],\n }, {\n action: 'Ease',\n params: [{\n action: 'ScaleTo',\n params: [1.0, 1.0, 0.3],\n }],\n }],\n ],\n }],\n};\n\nconst COLORS = {\n biomass: 0x84b012,\n metal: 0x956f5c,\n mist: 0xda6bf5,\n silicon: 0x4ca7e5,\n};\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime >= gameTime;\n\nexport default {\n calculations: [\n {\n id: 'deposit',\n props: ['depositType'],\n func: ({ state: { depositType } }) => `deposit-${depositType}`,\n },\n {\n id: 'deposit-fill',\n props: ['depositType'],\n func: ({ state: { depositType } }) => `deposit-${depositType}-fill`,\n },\n {\n id: 'color',\n props: ['depositType'],\n func: ({ state: { depositType } }) => COLORS[depositType],\n },\n {\n id: 'harvested',\n props: ['harvested'],\n func: ({ state: { depositType, harvested = 0 } }) => {\n return Math.max(0, 0.6 - (harvested / 100000));\n },\n },\n ],\n processors: [\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'container',\n },\n },\n {\n type: 'runAction',\n once: true,\n when: isCooldown,\n payload: {\n id: 'container',\n },\n actions: [scaleAction],\n },\n {\n type: 'sprite',\n payload: {\n parentId: 'container',\n texture: { $calc: 'deposit-fill' },\n width: 160,\n height: 160,\n alpha: { $calc: 'harvested' },\n tint: { $calc: 'color' }\n },\n },\n {\n type: 'sprite',\n payload: {\n parentId: 'container',\n texture: { $calc: 'deposit' },\n width: 160,\n height: 160,\n tint: { $calc: 'color' }\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n parentId: 'container',\n texture: { $calc: 'deposit' },\n width: 160,\n height: 160,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 700,\n height: 700,\n alpha: 1,\n tint: { $calc: 'color' },\n },\n actions: [flickering(0.7, 0.4, 1.0, 0.4)],\n },\n ],\n zIndex: 1,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nconst METADATA = {\n small: 68,\n medium: 80,\n large: 100,\n};\n\nexport default {\n calculations: [\n {\n id: 'size',\n props: ['storeCapacityResource'],\n func: ({ state: { storeCapacityResource } }) => {\n if (storeCapacityResource && storeCapacityResource.energy >= 200) {\n return METADATA.large;\n } else if (storeCapacityResource && storeCapacityResource.energy >= 100) {\n return METADATA.medium;\n } else {\n return METADATA.small;\n }\n },\n },\n {\n id: 'resourceScale',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource ? Math.min(1, (store.energy||0) / storeCapacityResource.energy) : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: true,\n when: ({ state: { storeCapacityResource } }) => !storeCapacityResource || storeCapacityResource.energy < 100,\n payload: {\n texture: 'extension-border50',\n tint: { $calc: 'playerColor' },\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: ({ state: { storeCapacityResource } }) => storeCapacityResource && storeCapacityResource.energy === 100,\n payload: {\n texture: 'extension-border100',\n tint: { $calc: 'playerColor' },\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: ({ state: { storeCapacityResource } }) => storeCapacityResource && storeCapacityResource.energy === 200,\n payload: {\n texture: 'extension-border200',\n tint: { $calc: 'playerColor' },\n width: 100,\n height: 100,\n },\n },\n\n {\n type: 'sprite',\n props: ['storeCapacityResource'],\n payload: {\n texture: 'extension',\n width: { $calc: 'size' },\n height: { $calc: 'size' },\n },\n },\n {\n id: 'resourceCircle',\n props: ['storeCapacityResource'],\n type: 'circle',\n payload: {\n radius: { $calc: 'size', koef: 0.32 },\n color: 0xffe56d,\n scale: {\n x: { $calc: 'resourceScale' },\n y: { $calc: 'resourceScale' },\n },\n },\n },\n {\n type: 'runAction',\n props: ['resourceScale'],\n payload: {\n id: 'resourceCircle',\n },\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store && store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store, storeCapacityResource } }) => (store.energy||0) > 0 &&\n storeCapacityResource && storeCapacityResource.energy === 50),\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 0.7,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store, storeCapacityResource } }) => (store.energy||0) > 0 &&\n storeCapacityResource && storeCapacityResource.energy === 100),\n payload: {\n texture: 'glow',\n width: 220,\n height: 220,\n alpha: 0.7,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store, storeCapacityResource } }) => (store.energy||0) > 0 &&\n storeCapacityResource && storeCapacityResource.energy === 200),\n payload: {\n texture: 'glow',\n width: 250,\n height: 250,\n alpha: 0.7,\n },\n },\n ],\n zIndex: 7,\n};\n","/**\r\n * Created by vedi on 04/09/2017.\r\n */\r\nexport default {\r\n processors: [\r\n {\r\n id: 'main',\r\n type: 'sprite',\r\n once: 'true',\r\n payload: {\r\n texture: 'extractor',\r\n width: 200,\r\n tint: { $calc: 'playerColor' },\r\n },\r\n },\r\n {\r\n type: 'runAction',\r\n once: true,\r\n when: ({ state: { cooldown } }) => cooldown > 0,\r\n until: ({ state: { cooldown } }) => !cooldown || cooldown <= 0,\r\n payload: {\r\n id: 'main',\r\n },\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'RotateBy',\r\n params: [2 * Math.PI, 4],\r\n }],\r\n }],\r\n },\r\n ],\r\n zIndex: 0,\r\n};\r\n","/**\n * Created by vedi on 19/04/2017.\n */\n\nimport { PWR_OPERATE_FACTORY } from '@screeps/common/lib/constants';\n\nimport { blinking } from '../action-templates';\nimport { resourceTotal } from '../calculation-templates';\n\nconst SPRITE_SIZE = 200;\nconst CONTAINER_SIZE = 50.0;\n\nconst COLOR_CONTAINER = 0x555555;\nconst COLOR_ENERGY = 0xfadf7e;\nconst COLOR_POWER = 0xf41f33;\nconst COLOR_RESOURCE = 0xFFFFFF;\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime >= gameTime;\nconst isNotCooldown = (...params) => !isCooldown(...params);\nconst isLevel = ({ state: { level } }) => level > 0;\nconst isPowerOperate = ({ state: { effects }, stateExtra: { gameTime } }) =>\n effects && Object.values(effects).some(({ power, endTime }) =>\n power === PWR_OPERATE_FACTORY && endTime >= gameTime);\nconst isLevelBlinking = (...params) => isLevel(...params) && !isPowerOperate(...params);\nconst isNotLevelBlinking = (...params) => !isLevelBlinking(...params);\n\nexport default {\n texture: 'rectangle',\n calculations: [\n resourceTotal(),\n {\n id: 'energyBackgroundHeight',\n func: ({ state: { storeCapacity }, calcs: { resourcesTotal } }) =>\n (resourcesTotal * CONTAINER_SIZE) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'energyHeight',\n func: ({ state: { store = {}, storeCapacity }, calcs: { resourcesTotal } }) =>\n ((store['energy']||0) * CONTAINER_SIZE) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'powerHeight',\n func: ({ state: { store = {}, storeCapacity },\n calcs: { resourcesTotal } }) =>\n ((store['power']||0 + store['energy']||0) * CONTAINER_SIZE) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'factory-lvl',\n props: ['level'],\n func: ({ state: { level = 0 } }) => `factory-lvl${level}`,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'factory-border',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'factory',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n },\n },\n {\n id: 'factory-highlight',\n type: 'sprite',\n once: true,\n payload: {\n texture: 'factory-highlight',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n alpha: 0.4\n },\n },\n {\n type: 'runAction',\n when: isCooldown,\n payload: {\n id: 'factory-highlight',\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [1, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n }]\n },{\n type: 'runAction',\n when: isNotCooldown,\n payload: {\n id: 'factory-highlight',\n },\n actions: [\n {\n action: 'AlphaTo',\n params: [0.4, 0],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'factory-lvl0',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n },\n },\n {\n id: 'level',\n type: 'sprite',\n when: isLevel,\n once: true,\n payload: {\n texture: { $calc: 'factory-lvl' },\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n },\n },\n {\n type: 'runAction',\n when: isLevelBlinking,\n once: true,\n payload: {\n id: 'level',\n },\n actions: [\n blinking(0, 1, 0.2, 0.8),\n ],\n },\n {\n type: 'runAction',\n when: isNotLevelBlinking,\n payload: {\n id: 'level',\n },\n actions: [\n {\n action: 'AlphaTo',\n params: [1, 0],\n },\n ],\n },\n {\n id: 'internalBorder',\n type: 'sprite',\n once: true,\n payload: {\n width: CONTAINER_SIZE,\n height: CONTAINER_SIZE,\n tint: COLOR_CONTAINER,\n },\n },\n {\n type: 'sprite',\n id: 'otherResourcesBar',\n props: ['store', 'energyBackgroundHeight', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} }, calcs: { resourcesTotal } }) =>\n store['energy']||0 + store['power']||0 < resourcesTotal,\n payload: {\n pivot: {\n y: { $calc: 'energyBackgroundHeight' },\n },\n y: 25,\n width: CONTAINER_SIZE,\n height: { $calc: 'energyBackgroundHeight' },\n tint: COLOR_RESOURCE,\n },\n },\n {\n id: 'powerBar',\n type: 'sprite',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['power'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'powerHeight' },\n },\n y: 25,\n width: CONTAINER_SIZE,\n height: { $calc: 'powerHeight' },\n tint: COLOR_POWER,\n },\n },\n {\n id: 'energyBar',\n type: 'sprite',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['energy'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'energyHeight' },\n },\n y: 25,\n width: CONTAINER_SIZE,\n height: { $calc: 'energyHeight' },\n tint: COLOR_ENERGY,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 7,\n};\n","const CELL_SIZE = 100;\r\nconst FLAG_COLORS = {\r\n 1: 0xF44336,\r\n 2: 0x9C27B0,\r\n 3: 0x2196F3,\r\n 4: 0x00BCD4,\r\n 5: 0x4CAF50,\r\n 6: 0xFFEB3B,\r\n 7: 0xFF9800,\r\n 8: 0x795548,\r\n 9: 0x9E9E9E,\r\n 10: 0xFFFFFF,\r\n};\r\n\r\nexport default {\r\n calculations: [\r\n {\r\n id: 'flagColor',\r\n func: ({ state: { color } }) => FLAG_COLORS[color],\r\n },\r\n {\r\n id: 'flagSecondaryColor',\r\n func: ({ state: { secondaryColor } }) => FLAG_COLORS[secondaryColor],\r\n },\r\n ],\r\n processors: [\r\n {\r\n type: 'sprite',\r\n props: ['color'],\r\n layer: 'effects',\r\n payload: {\r\n texture: 'flag',\r\n width: 200,\r\n height: 200,\r\n tint: { $calc: 'flagColor' },\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n props: ['secondaryColor'],\r\n layer: 'effects',\r\n payload: {\r\n texture: 'flag-secondary',\r\n width: 200,\r\n height: 200,\r\n tint: { $calc: 'flagSecondaryColor' },\r\n },\r\n when: ({ state: { secondaryColor } }) => !!secondaryColor,\r\n },\r\n {\r\n type: 'text',\r\n props: ['color'],\r\n layer: 'effects',\r\n shouldRun: ({ stateExtra: { gameData: { showFlagsNames } } }) => !!showFlagsNames,\r\n payload: {\r\n text: { $state: 'name' },\r\n style: {\r\n align: 'center',\r\n fill: { $calc: 'flagColor' },\r\n fontFamily: 'Roboto, sans-serif',\r\n fontSize: 60,\r\n stroke: '#111',\r\n strokeThickness: 10,\r\n },\r\n anchor: {\r\n x: 0.5,\r\n y: -0.5,\r\n },\r\n },\r\n },\r\n ],\r\n actions: [\r\n {\r\n id: 'moveTo',\r\n props: ['x', 'y'],\r\n actions: [{\r\n action: 'MoveTo',\r\n params: [\r\n { $state: 'x', koef: CELL_SIZE },\r\n { $state: 'y', koef: CELL_SIZE },\r\n 0,\r\n ],\r\n }],\r\n },\r\n ],\r\n};\r\n","/**\n * Created by vedi on 31/08/2017.\n */\nimport resourceTotal from '../calculation-templates/resourceTotal';\n\nconst mineralPath = {\n texture: 'lab-mineral',\n tint: 0x777777,\n anchor: {\n y: 1,\n },\n scale: {\n x: 0.6875,\n y: 0.6875,\n },\n y: 25,\n};\n\nconst mineralColorActive = 0xffffff;\n\nconst energyRectangle = {\n color: 0xffe56d,\n x: -40,\n y: 32,\n width: 67,\n height: 10,\n};\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime > gameTime;\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'mineralPathScale',\n props: ['store', 'storeCapacity', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacity, storeCapacityResource }, calcs: { resourcesTotal } }) => {\n const { scale: { x: scale } } = mineralPath;\n const mineralType = _(store).keys().filter(k => k != 'energy' && store[k]).first();\n if(!mineralType) {\n return 0;\n }\n const mineralCapacity = storeCapacityResource[mineralType] || storeCapacity - _.sum(storeCapacityResource);\n if(!mineralCapacity) {\n return 0;\n }\n return (scale * (store[mineralType]||0)) / mineralCapacity;\n },\n },\n {\n id: 'energyWidth',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource.energy ?\n (energyRectangle.width * (store.energy||0)) / storeCapacityResource.energy : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'lab',\n width: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: 'true',\n id: 'lab-highlight',\n payload: {\n texture: 'lab-highlight',\n width: 200,\n alpha: 0,\n },\n },\n {\n type: 'runAction',\n when: isCooldown,\n payload: {\n id: 'lab-highlight',\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [0.5, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n }],\n },\n {\n type: 'sprite',\n once: 'true',\n payload: mineralPath,\n },\n {\n type: 'sprite',\n props: ['mineralPathScale'],\n payload: Object.assign(\n { },\n mineralPath,\n {\n scale: { x: { $calc: 'mineralPathScale' }, y: { $calc: 'mineralPathScale' } },\n tint: mineralColorActive,\n }\n ),\n },\n {\n type: 'draw',\n props: ['energyWidth'],\n payload: {\n id: 'energyRectangle',\n drawings: [\n { method: 'beginFill', params: [energyRectangle.color] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'energyWidth', koef: -0.5 },\n energyRectangle.y,\n { $calc: 'energyWidth' },\n energyRectangle.height,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'creepActions',\n props: '*',\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: (({ state: { store }, calcs: { resourcesTotal } }) => (resourcesTotal-(store.energy||0)) > 0),\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n alpha: 1,\n },\n },\n {\n id: 'light',\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['store'],\n shouldRun: (({ state: { store }, calcs: { resourcesTotal } }) => (resourcesTotal-(store.energy||0)) > 0),\n payload: {\n texture: 'glow',\n width: 500,\n height: 500,\n alpha: 0.3,\n },\n },\n {\n id: 'reactionLight',\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n alpha: 0,\n blendMode: 1,\n },\n },\n {\n type: 'runAction',\n shouldRun: (({ state }) => state.actionLog && state.actionLog.runReaction),\n payload: {\n id: 'reactionLight',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'DelayTime',\n params: [{ $processorParam: 'tickDuration', koef: 0.3 }],\n },\n {\n action: 'AlphaTo',\n params: [1.0, { $processorParam: 'tickDuration', koef: 0.15 }],\n },\n {\n action: 'AlphaTo',\n params: [0.0, { $processorParam: 'tickDuration', koef: 0.55 }],\n },\n ],\n ],\n },\n ],\n },\n {\n type: 'runAction',\n shouldRun: (({ state }) => state.actionLog && state.actionLog.reverseReaction),\n payload: {\n id: 'reactionLight',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [1.0, { $processorParam: 'tickDuration', koef: 0.15 }],\n },\n {\n action: 'AlphaTo',\n params: [0.0, { $processorParam: 'tickDuration', koef: 0.55 }],\n },\n {\n action: 'DelayTime',\n params: [{ $processorParam: 'tickDuration', koef: 0.3 }],\n },\n ],\n ],\n }\n ]\n },\n ],\n zIndex: 15,\n};\n","/**\n * Created by vedi on 29/08/2017.\n */\n\nexport default {\n calculations: [\n {\n id: 'energyScale',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource ? Math.min(1, (store.energy||0) / storeCapacityResource.energy) : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'link-border',\n width: 100,\n height: 100,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'link',\n width: 100,\n height: 100,\n },\n },\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'energyContainer',\n },\n },\n {\n type: 'sprite',\n once: 'true',\n payload: {\n id: 'energy',\n parentId: 'energyContainer',\n texture: 'link-energy',\n width: 50,\n height: 50,\n },\n },\n {\n type: 'runAction',\n props: ['energyScale'],\n payload: {\n id: 'energyContainer',\n },\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'energyScale' },\n { $calc: 'energyScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n {\n type: 'creepActions',\n props: '*',\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n id: 'light',\n once: true,\n type: 'sprite',\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 400,\n height: 400,\n alpha: 0.5,\n },\n },\n\n ],\n zIndex: 9,\n};\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nimport { flickering } from '../action-templates';\r\n\r\nconst COLORS = {\r\n L: {\r\n foreground: 0x89F4A5,\r\n background: 0x3F6147,\r\n },\r\n U: {\r\n foreground: 0x88D6F7,\r\n background: 0x1B617F,\r\n },\r\n K: {\r\n foreground: 0x9370FF,\r\n background: 0x331A80,\r\n },\r\n Z: {\r\n foreground: 0xF2D28B,\r\n background: 0x594D33,\r\n },\r\n X: {\r\n foreground: 0xFF7A7A,\r\n background: 0x4F2626,\r\n },\r\n O: {\r\n foreground: 0xCCCCCC,\r\n background: 0x4D4D4D,\r\n },\r\n H: {\r\n foreground: 0xCCCCCC,\r\n background: 0x4D4D4D,\r\n },\r\n};\r\n\r\nexport default {\r\n calculations: [\r\n {\r\n id: 'foregroundColor',\r\n once: true,\r\n func: ({ state: { mineralType } }) => COLORS[mineralType].foreground,\r\n },\r\n {\r\n id: 'backgroundColor',\r\n once: true,\r\n func: ({ state: { mineralType } }) => COLORS[mineralType].background,\r\n },\r\n ],\r\n processors: [\r\n {\r\n type: 'draw',\r\n once: true,\r\n payload: {\r\n drawings: [\r\n {\r\n method: 'lineStyle',\r\n params: [\r\n 10,\r\n { $calc: 'foregroundColor' },\r\n 1,\r\n ],\r\n },\r\n { method: 'beginFill', params: [{ $calc: 'backgroundColor' }] },\r\n {\r\n method: 'drawCircle',\r\n params: [\r\n 0,\r\n 0,\r\n 54,\r\n ],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n },\r\n },\r\n {\r\n type: 'text',\r\n once: true,\r\n payload: {\r\n text: { $state: 'mineralType' },\r\n style: {\r\n align: 'center',\r\n fill: { $calc: 'foregroundColor' },\r\n fontFamily: 'Roboto, serif',\r\n fontSize: 82,\r\n fontWeight: 'bold',\r\n },\r\n anchor: {\r\n x: 0.5,\r\n y: 0.5,\r\n },\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n once: true,\r\n layer: 'lighting',\r\n payload: {\r\n texture: 'glow',\r\n width: 200,\r\n height: 200,\r\n alpha: 1,\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n once: true,\r\n layer: 'lighting',\r\n payload: {\r\n texture: 'glow',\r\n width: 700,\r\n height: 700,\r\n alpha: 0.7,\r\n tint: { $calc: 'foregroundColor' },\r\n },\r\n actions: [flickering(0.7, 0.4, 1.0, 0.4)],\r\n },\r\n ],\r\n zIndex: 2,\r\n};\r\n","const scaleAction = {\r\n action: 'Repeat',\r\n params: [\r\n {\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'Ease',\r\n params: [\r\n {\r\n action: 'ScaleTo',\r\n params: [0.6, 0.6, 1],\r\n },\r\n 'EASE_IN_OUT_QUAD',\r\n ],\r\n },\r\n {\r\n action: 'Ease',\r\n params: [\r\n {\r\n action: 'ScaleTo',\r\n params: [1, 1, 1],\r\n },\r\n 'EASE_IN_OUT_QUAD',\r\n ],\r\n },\r\n ]],\r\n },\r\n ],\r\n};\r\n\r\nconst landed = ({ state: { landTime }, stateExtra: { gameTime } }) => landTime <= gameTime;\r\nconst notLanded = (...params) => !landed(...params);\r\n\r\nexport default {\r\n calculations: [\r\n {\r\n id: 'landTimeSpeed',\r\n func: ({ state: { landTime }, stateExtra: { gameTime } }) => {\r\n if (landTime <= gameTime) {\r\n return Number.MAX_VALUE;\r\n }\r\n return Math.max(0.4, ((Math.round((landTime - gameTime) / 100) * 100) / 50000) * 8);\r\n },\r\n },\r\n {\r\n id: 'offsetToZeroX',\r\n func: ({ state: { x }, world: { options: { CELL_SIZE } } }) => -(x + 0.5) * CELL_SIZE,\r\n },\r\n {\r\n id: 'offsetToZeroY',\r\n func: ({ state: { y }, world: { options: { CELL_SIZE } } }) => -(y + 0.5) * CELL_SIZE,\r\n },\r\n ],\r\n processors: [\r\n {\r\n type: 'sprite',\r\n layer: 'effects',\r\n once: true,\r\n payload: {\r\n texture: 'nuke',\r\n alpha: 0.7,\r\n },\r\n when: notLanded,\r\n actions: [scaleAction],\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'effects',\r\n once: true,\r\n payload: {\r\n texture: 'nuke',\r\n blur: 2,\r\n blendMode: 3,\r\n },\r\n when: notLanded,\r\n actions: [scaleAction],\r\n },\r\n {\r\n type: 'circle',\r\n layer: 'effects',\r\n once: true,\r\n payload: {\r\n color: 0xFF2222,\r\n radius: 110,\r\n blendMode: 1,\r\n alpha: 0.5,\r\n },\r\n when: notLanded,\r\n actions: [scaleAction],\r\n },\r\n {\r\n type: 'circle',\r\n layer: 'effects',\r\n props: ['landTimeSpeed'],\r\n payload: {\r\n color: 0xFF0000,\r\n radius: 600,\r\n alpha: 0,\r\n blendMode: 1,\r\n blur: 30,\r\n },\r\n when: notLanded,\r\n actions: [\r\n {\r\n action: 'Repeat',\r\n params: [\r\n {\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [0, 0, { $calc: 'landTimeSpeed' }],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [0.4, { $calc: 'landTimeSpeed' }],\r\n },\r\n {\r\n action: 'FilterTo',\r\n params: [0, 'blur', 0.5,\r\n { $calc: 'landTimeSpeed', koef: 0.5 }],\r\n },\r\n ]],\r\n },\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [1, 1, 0],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [0, 0],\r\n },\r\n {\r\n action: 'FilterTo',\r\n params: [0, 'blur', 30, 0],\r\n },\r\n ]],\r\n },\r\n ]],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n type: 'sprite',\r\n once: true,\r\n layer: 'lighting',\r\n when: notLanded,\r\n payload: {\r\n texture: 'glow',\r\n tint: 0xFF4444,\r\n width: 700,\r\n height: 700,\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'effects',\r\n once: true,\r\n payload: {\r\n texture: 'glow',\r\n alpha: 1.0,\r\n tint: 0xff2222,\r\n width: 1,\r\n height: 1,\r\n blendMode: 1,\r\n },\r\n when: landed,\r\n actions: [\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'Ease',\r\n params: [\r\n {\r\n action: 'ScaleTo',\r\n params: [20, 20, { $processorParam: 'tickDuration' }],\r\n },\r\n ],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [0, { $processorParam: 'tickDuration' }],\r\n },\r\n ]],\r\n },\r\n ],\r\n },\r\n {\r\n type: 'draw',\r\n once: true,\r\n layer: 'effects',\r\n when: landed,\r\n payload: {\r\n x: { $calc: 'offsetToZeroX' },\r\n y: { $calc: 'offsetToZeroY' },\r\n blendMode: 1,\r\n alpha: 0.7,\r\n drawings: [\r\n { method: 'beginFill', params: [0xFF0000] },\r\n {\r\n method: 'drawRect',\r\n params: [\r\n 0,\r\n 0,\r\n { $calc: 'viewBox' },\r\n { $calc: 'viewBox' },\r\n ],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n },\r\n actions: [\r\n {\r\n action: 'Ease',\r\n params: [\r\n {\r\n action: 'AlphaTo',\r\n params: [0, { $processorParam: 'tickDuration' }],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n};\r\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nconst resourceTriangle = {\n color: 0xffe56d,\n x: 0,\n y: 10,\n width: 86,\n height: 118,\n};\n\nconst gRectangle = {\n color: 0xffffff,\n x: -40,\n y: 35,\n width: 80,\n height: 15,\n};\n\nexport default {\n calculations: [\n {\n id: 'energyTrianglePoints',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) => {\n const { x, y } = resourceTriangle;\n let { width, height } = resourceTriangle;\n const koef = (store.energy||0) / storeCapacityResource.energy;\n width *= koef;\n height *= koef;\n return [\n x - (width / 2), y,\n x, y - height,\n x + (width / 2), y,\n ];\n },\n },\n {\n id: 'gWidth',\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource['G'] ?\n (gRectangle.width * (store['G']||0)) / storeCapacityResource['G'] : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'nuker-border',\n width: 300,\n height: 300,\n y: -40,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'nuker',\n width: 300,\n height: 300,\n y: -40,\n },\n },\n {\n type: 'draw',\n props: ['energyTrianglePoints'],\n payload: {\n id: 'energyTriangle',\n drawings: [\n { method: 'beginFill', params: [resourceTriangle.color] },\n {\n method: 'drawPolygon',\n params: [{ $calc: 'energyTrianglePoints' }],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'draw',\n props: ['gWidth'],\n payload: {\n id: 'gRectangle',\n drawings: [\n { method: 'beginFill', params: [gRectangle.color] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'gWidth', koef: -0.5 },\n gRectangle.y,\n { $calc: 'gWidth' },\n gRectangle.height,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 7\n};\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nconst ellipseBorder = {\r\n color: 0x111111,\r\n strokeWidth: 5,\r\n width: 45,\r\n height: 40,\r\n};\r\n\r\nconst ellipseEye = {\r\n strokeWidth: 5,\r\n width: 20,\r\n height: 20,\r\n};\r\n\r\nexport default {\r\n processors: [\r\n {\r\n type: 'draw',\r\n once: true,\r\n payload: {\r\n id: 'border',\r\n drawings: [\r\n {\r\n method: 'lineStyle',\r\n params: [\r\n ellipseBorder.strokeWidth,\r\n { $calc: 'playerColor' },\r\n 1,\r\n ],\r\n },\r\n { method: 'beginFill', params: [ellipseBorder.color] },\r\n {\r\n method: 'drawEllipse',\r\n params: [\r\n 0,\r\n 0,\r\n ellipseBorder.width,\r\n ellipseBorder.height,\r\n ],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n },\r\n },\r\n {\r\n type: 'draw',\r\n once: true,\r\n payload: {\r\n id: 'eye',\r\n drawings: [\r\n {\r\n method: 'lineStyle',\r\n params: [0, 0, 1],\r\n },\r\n { method: 'beginFill', params: [{ $calc: 'playerColor' }] },\r\n {\r\n method: 'drawEllipse',\r\n params: [\r\n 0,\r\n 0,\r\n ellipseEye.width,\r\n ellipseEye.height,\r\n ],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n },\r\n actions: [\r\n {\r\n action: 'Repeat',\r\n params: [\r\n {\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'MoveTo',\r\n params: [20, 0, 0.25],\r\n },\r\n {\r\n action: 'DelayTime',\r\n params: [0.25],\r\n },\r\n {\r\n action: 'MoveTo',\r\n params: [0, 15, 0.25],\r\n },\r\n {\r\n action: 'DelayTime',\r\n params: [0.25],\r\n },\r\n {\r\n action: 'MoveTo',\r\n params: [-20, 0, 0.25],\r\n },\r\n {\r\n action: 'DelayTime',\r\n params: [0.25],\r\n },\r\n {\r\n action: 'MoveTo',\r\n params: [0, -15, 0.25],\r\n },\r\n {\r\n action: 'DelayTime',\r\n params: [0.25],\r\n },\r\n ]],\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n type: 'sprite',\r\n once: true,\r\n layer: 'lighting',\r\n payload: {\r\n texture: 'glow',\r\n width: 800,\r\n height: 800,\r\n alpha: 0.5,\r\n },\r\n },\r\n ],\r\n zIndex: 10,\r\n};\r\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport constants from '@screeps/common/lib/constants';\n\nconst ellipse = {\n color: 0xf41f33,\n strokeColor: 0x8d000d,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'radius',\n props: ['store'],\n func: ({ state: { store } }) => {\n const { POWER_BANK_CAPACITY_MAX } = constants;\n return Math.sqrt(((store.power / POWER_BANK_CAPACITY_MAX) * 3000) / Math.PI);\n },\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'powerBank',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n ellipse.strokeWidth,\n ellipse.strokeColor,\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipse.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n { $calc: 'radius' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'Sequence',\n params: [[\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x', koef: 0.6 },\n { $rel: 'scale.y', koef: 0.6 },\n { $processorParam: 'tickDuration', koef: 0.66 },\n ],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n { $processorParam: 'tickDuration', koef: 0.34 },\n ],\n },\n ]],\n },\n {\n action: 'Sequence',\n params: [[\n {\n action: 'TintTo',\n params: [\n 0xd31022,\n { $processorParam: 'tickDuration', koef: 0.33 },\n ],\n },\n {\n action: 'TintTo',\n params: [\n 0x8d000d,\n { $processorParam: 'tickDuration', koef: 0.33 },\n ],\n },\n {\n action: 'TintTo',\n params: [\n 0xf41f33,\n { $processorParam: 'tickDuration', koef: 0.34 },\n ],\n },\n ]],\n },\n ]],\n },\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n tint: 0xFF8080,\n },\n },\n ],\n zIndex: 11,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { calculateAngle } from '../../../helpers/mathHelper';\nimport {displayName} from \"../action-templates\";\n\nconst CELL_SIZE = 100;\n\nconst BADGE_GEOMETRY = {\n commander: {\n pivotY: 30,\n size: 65,\n },\n executor: {\n pivotY: 30,\n size: 45,\n },\n operator: {\n pivotY: 15,\n size: 63,\n },\n};\n\nexport default {\n calculations: [\n {\n id: 'displayName',\n func: ({ calcs: { isOwner }, state: { name, user }, stateExtra: { users } }) =>\n (isOwner ? name : users[user].username),\n },\n {\n id: 'rotation',\n props: ['x', 'y'],\n func: ({ prevState: { x: prevX, y: prevY } = {}, state: { x, y } }) => {\n return (prevX !== undefined && prevY !== undefined ?\n calculateAngle(prevX, prevY, x, y) : 0);\n },\n },\n {\n id: 'texture',\n props: ['level'],\n func: ({ state: { level, className } }) => `${className}-lvl${Math.min(4, Math.ceil(level / 6))}`,\n },\n {\n id: 'texture-light',\n func: ({ state: { className } }) => `${className}-lvl4`,\n },\n {\n id: 'badgePivotY',\n props: ['className'],\n func: ({ state: { className } }) => BADGE_GEOMETRY[className].pivotY,\n },\n {\n id: 'badgeSize',\n props: ['className'],\n func: ({ state: { className } }) => BADGE_GEOMETRY[className].size,\n },\n {\n id: 'safeMode',\n func: ({\n stateExtra,\n state: { user },\n stateExtra: { controller, gameTime, objects },\n }) => {\n if (controller === undefined) {\n controller = objects.find(i => i.type === 'controller') || null;\n stateExtra.controller = controller;\n }\n return controller && controller.safeMode > gameTime && controller.user !== user ?\n 0.5 : 1.0;\n },\n },\n ],\n processors: [\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'mainContainer',\n },\n },\n {\n type: 'sprite',\n props: ['texture'],\n payload: {\n id: 'sprite',\n parentId: 'mainContainer',\n texture: { $calc: 'texture' },\n width: 180,\n height: 180,\n zIndex: 0,\n tint: 0xcc3d3e,\n },\n },\n {\n type: 'userBadge',\n props: ['texture'],\n payload: {\n parentId: 'mainContainer',\n radius: 26,\n color: 0x222222,\n width: { $calc: 'badgeSize' },\n height: { $calc: 'badgeSize' },\n pivot: {\n y: { $calc: 'badgePivotY' },\n },\n },\n },\n {\n type: 'creepActions',\n payload: {\n parentId: 'mainContainer',\n },\n props: '*',\n },\n {\n type: 'powerInfluence',\n payload: {\n parentId: 'mainContainer',\n },\n props: '*',\n },\n displayName('creeps'),\n {\n type: 'say',\n layer: 'effects',\n when: ({\n state: { actionLog: { say } = {} },\n stateExtra: { gameData: { showCreepSpeech } },\n calcs: { isOwner },\n }) =>\n !!showCreepSpeech && !!say && (say.isPublic || isOwner),\n payload: {\n say: { $state: 'actionLog.say' },\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n parentId: 'mainContainer',\n texture: { $calc: 'texture' },\n width: 180,\n height: 180,\n alpha: 1.0,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n parentId: 'mainContainer',\n texture: 'glow',\n width: 400,\n height: 400,\n alpha: 1.0,\n tint: 0xFF5555,\n },\n },\n {\n type: 'sprite',\n layer: 'effects',\n\t\t\tonce: true,\n\t\t\twhen: ({ state: { actionLog: { spawned } = {} } }) => !!spawned,\n payload: {\n\t\t\t\ttexture: 'flare2',\t\t\t\t\n\t\t\t\twidth: 400,\n\t\t\t\theight: 400,\n\t\t\t\talpha: 1,\n blendMode: 1,\n tint: 0xff1111,\n },\n actions: [\n {\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'AlphaTo',\n\t\t\t\t\t\t\t\t\tparams: [0.0, { $processorParam: 'tickDuration', koef: 0.5 }], \n },\n\t\t\t\t\t\t\t\t{\n action: 'RotateBy',\n\t\t\t\t\t\t\t\t\tparams: [Math.PI / 8, { $processorParam: 'tickDuration', koef: 0.5 }], \n },\n ]],\n },\n ]],\n },\n ],\n },\n ],\n actions: [\n {\n id: 'moveTo',\n props: ['x', 'y'],\n actions: [{\n action: 'Ease',\n params: [\n {\n action: 'MoveTo',\n params: [\n { $state: 'x', koef: CELL_SIZE },\n { $state: 'y', koef: CELL_SIZE },\n { $processorParam: 'tickDuration' },\n ],\n },\n 'EASE_IN_OUT_QUAD',\n ],\n }],\n },\n {\n id: 'rotateTo',\n props: ['rotation'],\n targetId: 'mainContainer',\n actions: [{\n action: 'RotateTo',\n params: [\n { $calc: 'rotation' },\n { $processorParam: 'tickDuration', koef: 0.2 },\n ],\n }],\n },\n {\n id: 'safeModeAlpha',\n props: ['safeMode'],\n targetId: 'mainContainer',\n actions: [{\n action: 'AlphaTo',\n params: [{ $calc: 'safeMode' }, 0],\n }],\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: 13,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\nconst ellipse1 = {\n color: 0x222222,\n radius: 75,\n strokeColor: 0xcccccc,\n strokeWidth: 7,\n};\nconst ellipse2 = {\n color: 0x222222,\n radius: 68,\n strokeColor: 0xf41f33,\n strokeWidth: 10,\n};\n\nconst ellipse3 = {\n color: 0x181818,\n radius: 59,\n};\n\nconst ellipse4 = {\n color: 0x555555,\n radius: 38,\n};\n\nconst arc = {\n color: 0xf41f33,\n radius: 50,\n startAngle: -Math.PI / 2,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'powerAngle',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n arc.startAngle +\n (storeCapacityResource && storeCapacityResource.power ? (((2 * Math.PI) * (store.power||0)) / storeCapacityResource.power) : 0),\n },\n {\n id: 'resourceScale',\n props: ['store', 'storeCapacity'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource.energy ? Math.min(1, (store.energy||0) / storeCapacityResource.energy) : 0,\n },\n ],\n processors: [\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n ellipse1.strokeWidth,\n ellipse1.strokeColor,\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipse1.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n ellipse1.radius,\n ],\n },\n { method: 'endFill' },\n {\n method: 'lineStyle',\n params: [\n ellipse2.strokeWidth,\n ellipse2.strokeColor,\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipse2.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n ellipse2.radius,\n ],\n },\n { method: 'endFill' },\n {\n method: 'lineStyle',\n params: [0, 0, 1],\n },\n { method: 'beginFill', params: [ellipse3.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n ellipse3.radius,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'userBadge',\n once: true,\n payload: {\n parentId: 'static',\n color: ellipse4.color,\n radius: ellipse4.radius,\n },\n },\n {\n type: 'draw',\n props: ['powerAngle'],\n payload: {\n id: 'arc',\n parentId: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n arc.strokeWidth,\n arc.color,\n 1,\n ],\n },\n {\n method: 'arc',\n params: [\n 0,\n 0,\n arc.radius,\n arc.startAngle,\n { $calc: 'powerAngle' },\n ],\n },\n ],\n },\n },\n {\n type: 'runAction',\n props: ['resourceScale'],\n payload: {\n id: 'resourceCircle',\n },\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n {\n id: 'resourceCircle',\n once: true,\n type: 'circle',\n payload: {\n parentId: 'static',\n radius: ellipse4.radius,\n color: 0xffe56d,\n scale: {\n x: { $calc: 'resourceScale' },\n y: { $calc: 'resourceScale' },\n },\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n alpha: 1,\n },\n },\n {\n id: 'glow',\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n alpha: 0.5,\n scale: {\n x: 1,\n y: 1,\n },\n },\n },\n {\n type: 'runAction',\n props: ['store'],\n payload: {\n id: 'glow',\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'TintTo',\n params: [0xFF3333, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [1, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'ScaleTo',\n params: [2, 2, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'TintTo',\n params: [0xFFFFFF, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n {\n action: 'AlphaTo',\n params: [0.5, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n {\n action: 'ScaleTo',\n params: [1, 1, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n },\n ]],\n }],\n },\n ],\n actions: [\n {\n id: 'resourceScale',\n targetId: 'resourceCircle',\n props: ['resourceScale'],\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n ],\n zIndex: 12,\n};\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nimport { flickering } from '../action-templates';\r\n\r\nconst rect1 = {\r\n animationDuration: 4.0,\r\n fillColor: 0x111111,\r\n radius: 15,\r\n size: 40,\r\n strokeBlinkingColor: 0x0e0c04,\r\n strokeColor: 0x595026,\r\n strokeWidth: 15,\r\n};\r\n\r\nconst rect2 = {\r\n animationDuration: 2,\r\n fillColor: 0xffe56d,\r\n radius: 15,\r\n size: 60,\r\n blinkingColors: [0xffffff, 0xffcd6d, 0xffde84],\r\n};\r\n\r\nexport default {\r\n calculations: [\r\n {\r\n id: 'energySize',\r\n props: ['energy', 'energyCapacity'],\r\n func: ({ state: { energy, energyCapacity } }) =>\r\n (rect2.size * energy) / energyCapacity,\r\n },\r\n ],\r\n processors: [\r\n {\r\n type: 'draw',\r\n once: true,\r\n payload: {\r\n id: 'static',\r\n tint: rect1.strokeColor,\r\n drawings: [\r\n {\r\n method: 'lineStyle',\r\n params: [\r\n rect1.strokeWidth,\r\n 0xffffff,\r\n 1,\r\n ],\r\n },\r\n { method: 'beginFill', params: [rect1.fillColor] },\r\n {\r\n method: 'drawRoundedRect',\r\n params: [\r\n -rect1.size / 2,\r\n -rect1.size / 2,\r\n rect1.size,\r\n rect1.size,\r\n rect1.radius,\r\n ],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n },\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'TintTo',\r\n params: [\r\n rect1.strokeBlinkingColor,\r\n rect1.animationDuration / 2,\r\n ],\r\n },\r\n {\r\n action: 'TintTo',\r\n params: [\r\n rect1.strokeColor,\r\n rect1.animationDuration / 2,\r\n ],\r\n },\r\n ],\r\n ],\r\n }],\r\n }],\r\n },\r\n {\r\n type: 'draw',\r\n props: ['energySize'],\r\n payload: {\r\n id: 'energy',\r\n tint: rect2.fillColor,\r\n drawings: [\r\n { method: 'beginFill', params: [0xffffff] },\r\n {\r\n method: 'drawRoundedRect',\r\n params: [\r\n { $calc: 'energySize', koef: -0.5 },\r\n { $calc: 'energySize', koef: -0.5 },\r\n { $calc: 'energySize' },\r\n { $calc: 'energySize' },\r\n rect1.radius,\r\n ],\r\n },\r\n { method: 'endFill' },\r\n ],\r\n },\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'TintTo',\r\n params: [\r\n rect2.blinkingColors[0],\r\n rect2.animationDuration / 4,\r\n ],\r\n },\r\n {\r\n action: 'TintTo',\r\n params: [\r\n rect2.blinkingColors[1],\r\n rect2.animationDuration / 4,\r\n ],\r\n },\r\n {\r\n action: 'TintTo',\r\n params: [\r\n rect2.blinkingColors[2],\r\n rect2.animationDuration / 4,\r\n ],\r\n },\r\n {\r\n action: 'TintTo',\r\n params: [\r\n rect2.fillColor,\r\n rect2.animationDuration / 4,\r\n ],\r\n },\r\n ],\r\n ],\r\n }],\r\n }],\r\n },\r\n {\r\n type: 'sprite',\r\n once: true,\r\n layer: 'lighting',\r\n payload: {\r\n texture: 'glow',\r\n width: 800,\r\n height: 800,\r\n tint: 0xFFFF50,\r\n alpha: 0.5,\r\n },\r\n actions: [flickering(0.6, 0.4, 0.8, 0.4)],\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'lighting',\r\n once: true,\r\n shouldRun: (({ state: { energy } }) => energy > 0),\r\n payload: {\r\n texture: 'glow',\r\n width: 150,\r\n height: 150,\r\n tint: 0xFFFFFF,\r\n },\r\n },\r\n ],\r\n zIndex: 2,\r\n};\r\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { displayName } from '../action-templates';\n\nconst ellipse1 = {\n color: 0xCCCCCC,\n radius: 70,\n};\n\nconst ellipse2 = {\n color: 0x181818,\n radius: 59,\n};\n\nconst ellipse3 = {\n color: 0x555555,\n radius: 38,\n};\n\nconst arc = {\n color: 0xCCCCCC,\n radius: 50,\n startAngle: -Math.PI / 2,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'spawningAngle',\n func: ({ state: { name, spawning }, stateExtra: { gameTime } }) => {\n const { spawnTime = gameTime+0.01, needTime = 0 } = spawning || {};\n const remainingTime = spawnTime - gameTime;\n return arc.startAngle +\n (needTime ? (((2 * Math.PI) * (needTime - remainingTime)) / needTime) : 0);\n },\n },\n {\n id: 'resourceScale',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource.energy ?\n (store.energy||0) / storeCapacityResource.energy : 0,\n },\n {\n id: 'displayName',\n func: ({ calcs: { isOwner }, state: { name, user }, stateExtra: { users } }) =>\n (isOwner ? name : users[user].username),\n },\n ],\n processors: [\n {\n type: 'circle',\n once: true,\n payload: {\n id: 'static',\n radius: ellipse1.radius,\n color: ellipse1.color,\n },\n },\n {\n type: 'circle',\n once: true,\n payload: {\n id: 'black',\n parentId: 'static',\n radius: ellipse2.radius,\n color: ellipse2.color,\n },\n },\n {\n type: 'userBadge',\n once: true,\n payload: {\n parentId: 'black',\n color: ellipse3.color,\n radius: ellipse3.radius,\n },\n },\n {\n type: 'runAction',\n props: ['spawning'],\n once: true,\n shouldRun: (({ state: { spawning } }) => !!spawning),\n payload: {\n id: 'static',\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [\n 1.25,\n 1.25,\n 0.5,\n ],\n },\n ],\n },\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [\n 1,\n 1,\n 2,\n ],\n },\n 'EASE_IN_QUAD',\n ],\n },\n ],\n ],\n },\n ],\n },\n ],\n },\n {\n type: 'draw',\n props: ['spawningAngle'],\n payload: {\n id: 'arc',\n parentId: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n arc.strokeWidth,\n arc.color,\n 1,\n ],\n },\n {\n method: 'arc',\n params: [\n 0,\n 0,\n arc.radius,\n arc.startAngle,\n { $calc: 'spawningAngle' },\n ],\n },\n ],\n },\n },\n {\n id: 'resourceCircle',\n once: true,\n type: 'circle',\n payload: {\n parentId: 'static',\n radius: ellipse3.radius,\n color: 0xffe56d,\n scale: {\n x: { $calc: 'resourceScale' },\n y: { $calc: 'resourceScale' },\n },\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n props: ['store'],\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n id: 'light',\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 600,\n height: 600,\n alpha: 0.5,\n },\n },\n {\n type: 'runAction',\n props: ['spawning'],\n shouldRun: (({ state: { spawning } }) => !!spawning),\n once: true,\n payload: {\n id: 'light',\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'Ease',\n params: [\n {\n action: 'AlphaTo',\n params: [\n 1,\n 0.5,\n ],\n },\n ],\n },\n {\n action: 'Ease',\n params: [\n {\n action: 'AlphaTo',\n params: [\n 0.5,\n 2,\n ],\n },\n 'EASE_IN_QUAD',\n ],\n },\n ],\n ],\n },\n ],\n },\n ],\n },\n displayName('spawns'),\n ],\n actions: [\n {\n id: 'resourceScale',\n targetId: 'resourceCircle',\n props: ['resourceScale'],\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n ],\n zIndex: 8,\n};\n","/**\n * Created by vedi on 19/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\nimport constants from '@screeps/common/lib/constants';\n\nconst WEIGHT = 110;\nconst TOTAL_HEIGHT = 140;\n\nexport default {\n texture: 'storage',\n calculations: [\n resourceTotal(),\n {\n id: 'energyBackgroundHeight',\n func: ({ calcs: { resourcesTotal }, state: { storeCapacity } }) => {\n return (resourcesTotal * TOTAL_HEIGHT) / Math.max(storeCapacity||constants.STORAGE_CAPACITY, resourcesTotal);\n },\n },\n {\n id: 'energyHeight',\n func: ({ calcs: { resourcesTotal }, state: { store, storeCapacity } }) => {\n return (store['energy'] * TOTAL_HEIGHT) / Math.max(storeCapacity||constants.STORAGE_CAPACITY, resourcesTotal);\n },\n },\n {\n id: 'powerHeight',\n func: ({ calcs: { resourcesTotal }, state: { store, storeCapacity } }) => {\n return (((store['power']||0) + (store['energy']||0)) * TOTAL_HEIGHT) / Math.max((storeCapacity||constants.STORAGE_CAPACITY), resourcesTotal);\n },\n },\n ],\n processors: [\n {\n id: 'border',\n type: 'sprite',\n once: true,\n payload: {\n texture: 'storage-border',\n width: 200,\n height: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'storage',\n width: 200,\n height: 200,\n },\n },\n {\n id: 'otherResourcesBar',\n type: 'sprite',\n props: ['store', 'energyBackgroundHeight', 'resourcesTotal'],\n shouldRun: ({ state: { store }, calcs: { resourcesTotal } }) =>\n store['energy'] + (store['power'] || 0) < resourcesTotal,\n payload: {\n texture: 'rectangle',\n pivot: {\n y: { $calc: 'energyBackgroundHeight' },\n },\n y: TOTAL_HEIGHT / 2,\n width: WEIGHT,\n height: { $calc: 'energyBackgroundHeight' },\n tint: 0xffffff,\n },\n },\n {\n id: 'powerBar',\n type: 'sprite',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store } }) => store['power'] > 0,\n payload: {\n texture: 'rectangle',\n pivot: {\n y: { $calc: 'powerHeight' },\n },\n y: TOTAL_HEIGHT / 2,\n width: WEIGHT,\n height: { $calc: 'powerHeight' },\n tint: 0xf41f33,\n },\n },\n {\n type: 'sprite',\n id: 'energyBar',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store } }) => store['energy'] > 0,\n payload: {\n texture: 'rectangle',\n pivot: {\n y: { $calc: 'energyHeight' },\n },\n y: TOTAL_HEIGHT / 2,\n width: WEIGHT,\n height: { $calc: 'energyHeight' },\n tint: 0xffe56d,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 7,\n};\n","/**\n * Created by vedi on 22/08/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\nimport constants from '@screeps/common/lib/constants';\n\nconst ENERGY_RECT_FULL_SIZE = 76.0;\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime >= gameTime;\nconst isNotCooldown = (...params) => !isCooldown(...params);\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'restResourceSize',\n props: ['store', 'storeCapacity', 'resourcesTotal'],\n func: ({\n state: { store = {}, storeCapacity },\n calcs: { resourcesTotal },\n }) => {\n if (resourcesTotal <= (store['energy']||0) + (store['power']||0)) {\n return 0;\n }\n const result = (ENERGY_RECT_FULL_SIZE * resourcesTotal) / (storeCapacity||constants.TERMINAL_CAPACITY);\n return Math.min(result, ENERGY_RECT_FULL_SIZE);\n },\n },\n {\n id: 'powerResourceSize',\n props: ['store', 'storeCapacity'],\n func: ({ state: { store = {}, storeCapacity } }) => {\n const result = (ENERGY_RECT_FULL_SIZE * ((store['energy']||0) + (store['power']||0))) / (storeCapacity||constants.TERMINAL_CAPACITY);\n return Math.min(result, ENERGY_RECT_FULL_SIZE);\n },\n },\n {\n id: 'energyResourceHeight',\n props: ['store', 'storeCapacity'],\n func: ({ state: { store = {}, storeCapacity } }) => {\n const result = (ENERGY_RECT_FULL_SIZE * (store['energy']||0)) / (storeCapacity||constants.TERMINAL_CAPACITY);\n return Math.min(result, ENERGY_RECT_FULL_SIZE);\n },\n },\n {\n id: 'arrowsAlpha',\n props: ['cooldownTime'],\n func: (...params) => (isCooldown(...params) ? 0.1 : 1),\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'terminal-border',\n width: 200,\n height: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'terminal',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: isCooldown,\n payload: {\n texture: 'terminal-arrows',\n width: 200,\n height: 200,\n alpha: 0.1,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: isNotCooldown,\n payload: {\n texture: 'terminal-arrows',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n when: isCooldown,\n payload: {\n texture: 'terminal-highlight',\n width: 200,\n height: 200,\n tint: 0xFFFFFF,\n alpha: 0,\n blendMode: 1,\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [1, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n }],\n },\n {\n type: 'draw',\n payload: {\n drawings: [\n { method: 'beginFill', params: [0xffffff] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'restResourceSize', koef: -0.5 },\n { $calc: 'restResourceSize', koef: -0.5 },\n { $calc: 'restResourceSize' },\n { $calc: 'restResourceSize' },\n ],\n },\n { method: 'endFill' },\n { method: 'beginFill', params: [0xf41f33] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'powerResourceSize', koef: -0.5 },\n { $calc: 'powerResourceSize', koef: -0.5 },\n { $calc: 'powerResourceSize' },\n { $calc: 'powerResourceSize' },\n ],\n },\n { method: 'endFill' },\n { method: 'beginFill', params: [0xffe56d] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'energyResourceHeight', koef: -0.5 },\n { $calc: 'energyResourceHeight', koef: -0.5 },\n { $calc: 'energyResourceHeight' },\n { $calc: 'energyResourceHeight' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 16,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'resourceColor',\n func: ({ calcs: { resourcesTotal, playerColor } }) =>\n (resourcesTotal > 0 ? playerColor : 0x000000),\n },\n {\n id: 'decayAlpha',\n func: ({ state: { decayTime, deathTime }, stateExtra: { gameTime } }) =>\n 1 - ((gameTime - deathTime) / (decayTime - deathTime)),\n },\n ],\n processors: [\n {\n type: 'sprite',\n id: 'tombstone-border',\n once: true,\n payload: {\n texture: 'tombstone-border',\n width: 100,\n height: 100,\n blendMode: 1,\n alpha: { $calc: 'decayAlpha' },\n },\n },\n {\n type: 'sprite',\n props: ['resourceColor'],\n payload: {\n texture: 'tombstone-resource',\n tint: { $calc: 'resourceColor' },\n alpha: 0.8,\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'tombstone-resource',\n width: 100,\n height: 100,\n },\n },\n ],\n actions: [\n {\n targetId: 'tombstone-border',\n actions: [\n {\n action: 'AlphaTo',\n params: [\n { $calc: 'decayAlpha' },\n 0,\n ],\n },\n ],\n },\n ],\n zIndex: 5,\n};\n","/**\n * Created by vedi on 18/08/2017.\n */\n\nimport mathHelper from '../../../helpers/mathHelper';\n\nconst ENERGY_BAR_FULL_HEIGHT = 66.7;\nconst isNpc = ({ state: { user } }) => user === '3' || user === '2';\nconst isNotNpc = (...params) => !isNpc(...params);\n\n/**\n * Sprite for base.\n * Sprite for rotatable area.\n * Drawable energy bar with formula `energy / energyCapacity`\n * Shot animation\n * Autorotation:\n * 1. To shot destination, or\n * 2. To random value in idling state.\n */\nexport default {\n calculations: [\n {\n id: 'shotAnim',\n func: ({ state: { actionLog } }) =>\n actionLog.attack || actionLog.heal || actionLog.repair,\n },\n {\n id: 'rotation',\n func: ({ state: { x, y }, calcs: { shotAnim } }) => {\n const { calculateAngle } = mathHelper;\n if (!shotAnim) {\n return 0;\n }\n return calculateAngle(shotAnim.x, shotAnim.y, x, y);\n },\n },\n {\n id: 'energyBarHeight',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) => {\n const result = storeCapacityResource && storeCapacityResource.energy ?\n (ENERGY_BAR_FULL_HEIGHT * store.energy) / storeCapacityResource.energy : 0;\n return Math.min(result, ENERGY_BAR_FULL_HEIGHT);\n },\n },\n {\n id: 'energyBarBorderRadius',\n props: ['store', 'storeCapacity'],\n func: ({ calcs: { energyBarHeight } }) => Math.min(12, energyBarHeight / 2),\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'tower-base',\n tint: { $calc: 'playerColor' },\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n once: 'true',\n when: isNotNpc,\n payload: {\n id: 'towerRotatable',\n texture: 'tower-rotatable',\n pivot: {\n y: 32,\n },\n width: 115,\n height: 115,\n },\n actions: [{\n action: 'RotateTo',\n params: [{ $random: Math.PI * 2 }, 0],\n }],\n },\n {\n type: 'sprite',\n once: 'true',\n when: isNpc,\n payload: {\n id: 'towerRotatable',\n texture: 'tower-rotatable-npc',\n pivot: {\n y: 32,\n },\n width: 115,\n height: 115,\n },\n actions: [{\n action: 'RotateTo',\n params: [{ $random: Math.PI * 2 }, 0],\n }],\n },\n {\n type: 'creepActions',\n props: '*',\n layer: 'effects',\n },\n {\n type: 'runAction',\n payload: {\n id: 'towerRotatable',\n },\n when: ({ calcs: { shotAnim } }) => !!shotAnim,\n actions: [\n {\n action: 'RotateTo',\n params: [\n { $calc: 'rotation' },\n 0.3,\n ],\n },\n ],\n },\n {\n type: 'runAction',\n once: true,\n payload: {\n id: 'towerRotatable',\n },\n when: ({ calcs: { shotAnim } }) => !shotAnim,\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'RotateBy',\n params: [\n Math.PI,\n 10,\n ],\n },\n ],\n },\n ],\n },\n {\n type: 'draw',\n when: isNotNpc,\n payload: {\n parentId: 'towerRotatable',\n drawings: [\n { method: 'beginFill', params: [0xffe56d] },\n {\n method: 'drawRoundedRect',\n params: [\n -45,\n 0,\n 90,\n { $calc: 'energyBarHeight' },\n { $calc: 'energyBarBorderRadius' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n id: 'light',\n once: true,\n type: 'sprite',\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 600,\n height: 600,\n alpha: 0.5,\n },\n },\n {\n type: 'runAction',\n shouldRun: (({ state: { actionLog: { repair, heal, attack } = {} } }) =>\n repair || heal || attack),\n payload: {\n id: 'light',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [1.0, { $processorParam: 'tickDuration', koef: 0.1 }],\n },\n {\n action: 'AlphaTo',\n params: [0.5, { $processorParam: 'tickDuration', koef: 0.3 }],\n },\n ],\n ],\n },\n ],\n },\n {\n id: 'flare',\n once: true,\n type: 'sprite',\n layer: 'effects',\n payload: {\n texture: 'flare1',\n width: 400,\n height: 400,\n alpha: 0,\n blendMode: 1,\n },\n },\n {\n type: 'runAction',\n when: ({ calcs: { shotAnim } }) => !!shotAnim,\n payload: {\n id: 'flare',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [0.2, { $processorParam: 'tickDuration', koef: 0.1 }],\n },\n {\n action: 'AlphaTo',\n params: [0.0, { $processorParam: 'tickDuration', koef: 0.3 }],\n },\n ],\n ],\n },\n ],\n },\n ],\n zIndex: 13,\n};\n","import constants from '@screeps/common/lib/constants';\n\nconst arc = {\n color: 0xCCCCCC,\n radius: 40,\n startAngle: -Math.PI / 2,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'spawningAngle',\n func: ({ state: { spawning }, stateExtra: { gameTime } }) => {\n const { spawnTime = gameTime+0.01, needTime = 0 } = spawning || {};\n const remainingTime = spawnTime - gameTime;\n return arc.startAngle +\n (needTime ? (((2 * Math.PI) * (needTime - remainingTime)) / needTime) : 0);\n },\n },\n {\n id: 'ttl',\n func: ({ state: { decayTime }, stateExtra: { gameTime } }) =>\n Math.floor((decayTime - gameTime) / 100) * 100,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'invaderCore',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'siteProgress',\n payload: {\n color: 0xff0d39,\n radius: 23,\n lineWidth: 0,\n progress: { $calc: 'ttl' },\n progressTotal: constants.STRONGHOLD_DECAY_TICKS,\n },\n },\n {\n type: 'draw',\n props: ['spawningAngle'],\n payload: {\n id: 'arc',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n arc.strokeWidth,\n arc.color,\n 1,\n ],\n },\n {\n method: 'arc',\n params: [\n 0,\n 0,\n arc.radius,\n arc.startAngle,\n { $calc: 'spawningAngle' },\n ],\n },\n ],\n },\n },\n {\n type: 'creepActions',\n props: '*',\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n tint: 0xFF8080,\n },\n },\n\n ],\n zIndex: 17,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'resourceColor',\n func: ({ calcs: { resourcesTotal, playerColor } }) =>\n (resourcesTotal > 0 ? playerColor : 0x000000),\n },\n {\n id: 'decayAlpha',\n func: ({ state: { decayTime, destroyTime }, stateExtra: { gameTime } }) =>\n 1 - ((gameTime - destroyTime) / (decayTime - destroyTime)),\n },\n ],\n processors: [\n {\n type: 'sprite',\n id: 'ruin',\n once: true,\n payload: {\n texture: 'ruin',\n width: 100,\n height: 100,\n blendMode: 1,\n alpha: { $calc: 'decayAlpha' },\n },\n },\n {\n type: 'sprite',\n props: ['resourceColor'],\n payload: {\n texture: 'tombstone-resource',\n tint: { $calc: 'resourceColor' },\n alpha: 0.8,\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'tombstone-resource',\n width: 100,\n height: 100,\n },\n },\n ],\n actions: [\n {\n targetId: 'ruin',\n actions: [\n {\n action: 'AlphaTo',\n params: [\n { $calc: 'decayAlpha' },\n 0,\n ],\n },\n ],\n },\n ],\n zIndex: 5,\n};\n","/**\n * Created by vedi on 18/03/2017.\n */\n\nimport _all from './objects/_all.metadata';\nimport constructedWall from './objects/constructedWall.metadata';\nimport constructionSite from './objects/constructionSite.metadata';\nimport container from './objects/container.metadata';\nimport controller from './objects/controller.metadata';\nimport creep from './objects/creep.metadata';\nimport deposit from './objects/deposit.metadata';\nimport energy from './objects/energy.metadata';\nimport extension from './objects/extension.metadata';\nimport extractor from './objects/extractor.metadata';\nimport factory from './objects/factory.metadata';\nimport flag from './objects/flag.metadata';\nimport keeperLair from './objects/keeperLair.metadata';\nimport lab from './objects/lab.metadata';\nimport link from './objects/link.metadata';\nimport mineral from './objects/mineral.metadata';\nimport nuke from './objects/nuke.metadata';\nimport nuker from './objects/nuker.metadata';\nimport observer from './objects/observer.metadata';\nimport portal from './objects/portal.metadata';\nimport powerBank from './objects/powerBank.metadata';\nimport powerCreep from './objects/powerCreep.metadata';\nimport powerSpawn from './objects/powerSpawn.metadata';\nimport rampart from './objects/rampart.metadata';\nimport road from './objects/road.metadata';\nimport source from './objects/source.metadata';\nimport spawn from './objects/spawn.metadata';\nimport storage from './objects/storage.metadata';\n// import tbd from './objects/tbd.metadata';\nimport terminal from './objects/terminal.metadata';\nimport tombstone from './objects/tombstone.metadata';\nimport tower from './objects/tower.metadata';\nimport invaderCore from './objects/invaderCore.metadata';\nimport ruin from './objects/ruin.metadata';\n\nconst { VoidFilter } = PIXI.filters;\nconst { TilingSprite } = PIXI.extras;\nconst { Graphics, BLEND_MODES } = PIXI;\n\nexport default {\n preprocessors: [\n 'setBadgeUrls',\n 'terrain',\n ],\n layers: [\n {\n id: 'terrain',\n afterCreate: async (layer, { app, resourceManager,\n world: { options: { VIEW_BOX, CELL_SIZE,\n lighting = 'normal' } } }) => {\n function setupExits(textureName, tileX, tileY, flipX, flipY) {\n const { texture } = resourceManager.getCachedResource(textureName);\n const sprite = new TilingSprite(texture,\n tileX ? VIEW_BOX : CELL_SIZE,\n tileY ? VIEW_BOX : CELL_SIZE);\n sprite.x = (-CELL_SIZE / 2) + (flipX ? VIEW_BOX - CELL_SIZE : 0);\n sprite.y = (-CELL_SIZE / 2) + (flipY ? VIEW_BOX - CELL_SIZE : 0);\n sprite.tileScale.x = CELL_SIZE / texture.width;\n sprite.tileScale.y = CELL_SIZE / texture.height;\n if (!(app.renderer instanceof PIXI.WebGLRenderer)) {\n sprite.tint = 0xa0a0a0;\n } else {\n if (lighting === 'disabled') {\n sprite.tint = 0xa0a0a0;\n }\n if (lighting === 'low') {\n sprite.tint = 0xc0c0c0;\n }\n }\n sprite.blendMode = BLEND_MODES.ADD;\n sprite.alpha = 0.5;\n sprite.zIndex = 1;\n layer.addChild(sprite);\n }\n\n setupExits('exit-left', false, true, false, false);\n setupExits('exit-bottom', true, false, false, true);\n setupExits('exit-top', true, false, false, false);\n setupExits('exit-right', false, true, true, false);\n },\n },\n { id: 'wallGraffiti' },\n { id: 'objects', isDefault: true },\n {\n id: 'lighting',\n afterCreate: async (layer, { app, world: { options: { CELL_SIZE,\n HALF_CELL_SIZE = CELL_SIZE / 2, VIEW_BOX, lighting = 'normal' } } }) => {\n if (lighting !== 'disabled' && app.renderer instanceof PIXI.WebGLRenderer) {\n layer.filters = [new VoidFilter()];\n layer.filters[0].blendMode = PIXI.BLEND_MODES.MULTIPLY;\n\n const ambient = new PIXI.Graphics();\n ambient.beginFill(0x808080, 1.0);\n ambient.drawRect(-HALF_CELL_SIZE, -HALF_CELL_SIZE, VIEW_BOX, VIEW_BOX);\n ambient.endFill();\n layer.addChild(ambient);\n\n if (lighting === 'low') {\n layer.alpha = 0.5;\n }\n\n layer.on('display', (element) => {\n if (!element._overrideBlendMode) {\n element.blendMode = PIXI.BLEND_MODES.SCREEN;\n }\n });\n } else {\n layer.on('display', (element) => {\n element.visible = false;\n });\n }\n },\n },\n { id: 'effects' },\n ],\n objects: {\n _all,\n constructedWall,\n constructionSite,\n container,\n controller,\n creep,\n deposit,\n energy,\n extension,\n extractor,\n factory,\n flag,\n keeperLair,\n lab,\n link,\n mineral,\n nuke,\n nuker,\n observer,\n portal,\n powerBank,\n powerCreep,\n powerSpawn,\n road,\n source,\n spawn,\n storage,\n terminal,\n tombstone,\n tower,\n rampart,\n invaderCore,\n ruin\n },\n};\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nexport default {\r\n processors: [\r\n {\r\n type: 'resourceCircle',\r\n },\r\n {\r\n type: 'resourceCircle',\r\n layer: 'lighting',\r\n payload: {\r\n tint: 0xFFFFFF,\r\n },\r\n },\r\n ],\r\n zIndex: 1,\r\n};\r\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nexport default {\r\n processors: [\r\n {\r\n type: 'circle',\r\n once: true,\r\n payload: {\r\n radius: 60,\r\n color: 0x000000,\r\n },\r\n },\r\n {\r\n type: 'circle',\r\n once: true,\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [0, 0, 0],\r\n },\r\n {\r\n action: 'FadeIn',\r\n params: [0],\r\n },\r\n ]],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x' },\r\n { $rel: 'scale.y' },\r\n 1,\r\n ],\r\n },\r\n {\r\n action: 'FadeOut',\r\n params: [1],\r\n },\r\n ],\r\n ],\r\n }],\r\n }],\r\n payload: {\r\n radius: 50,\r\n color: 0x780207,\r\n },\r\n },\r\n {\r\n type: 'circle',\r\n once: true,\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'ScaleTo',\r\n params: [0, 0, 0],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x', koef: 0.3 },\r\n { $rel: 'scale.y', koef: 0.3 },\r\n 1,\r\n ],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x' },\r\n { $rel: 'scale.y' },\r\n 1,\r\n ],\r\n },\r\n ],\r\n ],\r\n }],\r\n }],\r\n payload: {\r\n radius: 50,\r\n color: 0x000000,\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'lighting',\r\n payload: {\r\n texture: 'glow',\r\n width: 800,\r\n height: 800,\r\n alpha: 0.5,\r\n tint: 0xFF0000,\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'lighting',\r\n once: true,\r\n payload: {\r\n texture: 'glow',\r\n width: 150,\r\n height: 150,\r\n },\r\n },\r\n ],\r\n zIndex: 3,\r\n};\r\n","/**\r\n * Created by vedi on 23/04/2017.\r\n */\r\n\r\nexport default {\r\n processors: [\r\n {\r\n type: 'circle',\r\n once: true,\r\n payload: {\r\n radius: 45,\r\n color: 0x111133,\r\n alpha: 0.5,\r\n },\r\n },\r\n {\r\n type: 'circle',\r\n once: true,\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [0, 0, 0],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [0.5, 0],\r\n },\r\n ]],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x' },\r\n { $rel: 'scale.y' },\r\n 1,\r\n ],\r\n },\r\n {\r\n action: 'FadeOut',\r\n params: [1],\r\n },\r\n ],\r\n ],\r\n }],\r\n }],\r\n payload: {\r\n radius: 40,\r\n color: 0x61c0ed,\r\n alpha: 0.5,\r\n },\r\n },\r\n {\r\n type: 'circle',\r\n once: true,\r\n actions: [{\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [\r\n [\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [0, 0, 0],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [0.5, 0],\r\n },\r\n ]],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x', koef: 0.3 },\r\n { $rel: 'scale.y', koef: 0.3 },\r\n 1,\r\n ],\r\n },\r\n {\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x' },\r\n { $rel: 'scale.y' },\r\n 1,\r\n ],\r\n },\r\n {\r\n action: 'FadeOut',\r\n params: [1],\r\n },\r\n ]],\r\n },\r\n\r\n ],\r\n ],\r\n }],\r\n }],\r\n payload: {\r\n radius: 40,\r\n color: 0x111133,\r\n alpha: 0.5,\r\n },\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'lighting',\r\n once: true,\r\n payload: {\r\n texture: 'glow',\r\n width: 700,\r\n height: 700,\r\n tint: 0x9999FF,\r\n alpha: 0.7,\r\n },\r\n actions: [{\r\n action: 'Spawn',\r\n params: [[\r\n {\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x', koef: 1.2 },\r\n { $rel: 'scale.y', koef: 1.2 },\r\n 2,\r\n ],\r\n },\r\n {\r\n action: 'ScaleTo',\r\n params: [\r\n { $rel: 'scale.x' },\r\n { $rel: 'scale.y' },\r\n 2,\r\n ],\r\n },\r\n ]],\r\n }],\r\n },\r\n {\r\n action: 'Repeat',\r\n params: [{\r\n action: 'Sequence',\r\n params: [[\r\n {\r\n action: 'AlphaTo',\r\n params: [0.1, 3.5],\r\n },\r\n {\r\n action: 'AlphaTo',\r\n params: [0.7, 3.5],\r\n },\r\n ]],\r\n }],\r\n },\r\n ]],\r\n }],\r\n },\r\n {\r\n type: 'sprite',\r\n layer: 'lighting',\r\n once: true,\r\n payload: {\r\n texture: 'glow',\r\n width: 150,\r\n height: 150,\r\n tint: 0x7777FF,\r\n },\r\n },\r\n ],\r\n zIndex: 3,\r\n};\r\n","/**\r\n * Created by vedi on 17/08/2017.\r\n */\r\n\r\nexport default {\r\n processors: [\r\n {\r\n type: 'road',\r\n layer: 'objects',\r\n },\r\n ],\r\n disappearProcessor: { type: 'disappear' },\r\n zIndex: -1\r\n};\r\n","export default {\n calculations: [\n {\n id: 'rampartColor',\n once: true,\n func: ({ state: { user }, stateExtra: { gameData: { player } } }) =>\n (user === player ? 0x44FF44 : 0xFF4444),\n },\n ],\n processors: [\n {\n type: 'sprite',\n layer: 'effects',\n props: ['isPublic'],\n payload: {\n texture: 'rampart',\n width: 100,\n height: 100,\n alpha: 0.5,\n tint: { $calc: 'rampartColor' },\n },\n shouldRun: ({ state: { isPublic } }) => !!isPublic,\n },\n ],\n zIndex: 0,\n};\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://RENDERER_METADATA/webpack/bootstrap","webpack://RENDERER_METADATA/./node_modules/@screeps/common/lib/constants.js","webpack://RENDERER_METADATA/./src/action-templates/appear.js","webpack://RENDERER_METADATA/./src/action-templates/blinking.js","webpack://RENDERER_METADATA/./src/action-templates/displayName.js","webpack://RENDERER_METADATA/./src/action-templates/flickering.js","webpack://RENDERER_METADATA/./src/objects/_all.metadata.js","webpack://RENDERER_METADATA/./src/objects/constructedWall.metadata.js","webpack://RENDERER_METADATA/./src/objects/constructionSite.metadata.js","webpack://RENDERER_METADATA/./src/calculation-templates/resourceTotal.js","webpack://RENDERER_METADATA/./src/objects/container.metadata.js","webpack://RENDERER_METADATA/./src/objects/controller.metadata.js","webpack://RENDERER_METADATA/../helpers/mathHelper.js","webpack://RENDERER_METADATA/./src/objects/creep.metadata.js","webpack://RENDERER_METADATA/./src/objects/deposit.metadata.js","webpack://RENDERER_METADATA/./src/objects/extension.metadata.js","webpack://RENDERER_METADATA/./src/objects/extractor.metadata.js","webpack://RENDERER_METADATA/./src/objects/factory.metadata.js","webpack://RENDERER_METADATA/./src/objects/flag.metadata.js","webpack://RENDERER_METADATA/./src/objects/lab.metadata.js","webpack://RENDERER_METADATA/./src/objects/link.metadata.js","webpack://RENDERER_METADATA/./src/objects/mineral.metadata.js","webpack://RENDERER_METADATA/./src/objects/nuke.metadata.js","webpack://RENDERER_METADATA/./src/objects/nuker.metadata.js","webpack://RENDERER_METADATA/./src/objects/observer.metadata.js","webpack://RENDERER_METADATA/./src/objects/powerBank.metadata.js","webpack://RENDERER_METADATA/./src/objects/powerCreep.metadata.js","webpack://RENDERER_METADATA/./src/objects/powerSpawn.metadata.js","webpack://RENDERER_METADATA/./src/objects/source.metadata.js","webpack://RENDERER_METADATA/./src/objects/spawn.metadata.js","webpack://RENDERER_METADATA/./src/objects/storage.metadata.js","webpack://RENDERER_METADATA/./src/objects/terminal.metadata.js","webpack://RENDERER_METADATA/./src/objects/tombstone.metadata.js","webpack://RENDERER_METADATA/./src/objects/tower.metadata.js","webpack://RENDERER_METADATA/./src/objects/invaderCore.metadata.js","webpack://RENDERER_METADATA/./src/objects/ruin.metadata.js","webpack://RENDERER_METADATA/./src/index.js","webpack://RENDERER_METADATA/./src/objects/energy.metadata.js","webpack://RENDERER_METADATA/./src/objects/keeperLair.metadata.js","webpack://RENDERER_METADATA/./src/objects/portal.metadata.js","webpack://RENDERER_METADATA/./src/objects/road.metadata.js","webpack://RENDERER_METADATA/./src/objects/rampart.metadata.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","assign","OK","ERR_NOT_OWNER","ERR_NO_PATH","ERR_NAME_EXISTS","ERR_BUSY","ERR_NOT_FOUND","ERR_NOT_ENOUGH_ENERGY","ERR_NOT_ENOUGH_RESOURCES","ERR_INVALID_TARGET","ERR_FULL","ERR_NOT_IN_RANGE","ERR_INVALID_ARGS","ERR_TIRED","ERR_NO_BODYPART","ERR_NOT_ENOUGH_EXTENSIONS","ERR_RCL_NOT_ENOUGH","ERR_GCL_NOT_ENOUGH","FIND_EXIT_TOP","FIND_EXIT_RIGHT","FIND_EXIT_BOTTOM","FIND_EXIT_LEFT","FIND_EXIT","FIND_CREEPS","FIND_MY_CREEPS","FIND_HOSTILE_CREEPS","FIND_SOURCES_ACTIVE","FIND_SOURCES","FIND_DROPPED_RESOURCES","FIND_STRUCTURES","FIND_MY_STRUCTURES","FIND_HOSTILE_STRUCTURES","FIND_FLAGS","FIND_CONSTRUCTION_SITES","FIND_MY_SPAWNS","FIND_HOSTILE_SPAWNS","FIND_MY_CONSTRUCTION_SITES","FIND_HOSTILE_CONSTRUCTION_SITES","FIND_MINERALS","FIND_NUKES","FIND_TOMBSTONES","FIND_POWER_CREEPS","FIND_MY_POWER_CREEPS","FIND_HOSTILE_POWER_CREEPS","FIND_DEPOSITS","FIND_RUINS","TOP","TOP_RIGHT","RIGHT","BOTTOM_RIGHT","BOTTOM","BOTTOM_LEFT","LEFT","TOP_LEFT","COLOR_RED","COLOR_PURPLE","COLOR_BLUE","COLOR_CYAN","COLOR_GREEN","COLOR_YELLOW","COLOR_ORANGE","COLOR_BROWN","COLOR_GREY","COLOR_WHITE","LOOK_CREEPS","LOOK_ENERGY","LOOK_RESOURCES","LOOK_SOURCES","LOOK_MINERALS","LOOK_DEPOSITS","LOOK_STRUCTURES","LOOK_FLAGS","LOOK_CONSTRUCTION_SITES","LOOK_NUKES","LOOK_TERRAIN","LOOK_TOMBSTONES","LOOK_POWER_CREEPS","LOOK_RUINS","OBSTACLE_OBJECT_TYPES","MOVE","WORK","CARRY","ATTACK","RANGED_ATTACK","TOUGH","HEAL","CLAIM","BODYPART_COST","move","work","attack","carry","heal","ranged_attack","tough","claim","WORLD_WIDTH","WORLD_HEIGHT","CREEP_LIFE_TIME","CREEP_CLAIM_LIFE_TIME","CREEP_CORPSE_RATE","CREEP_PART_MAX_ENERGY","CARRY_CAPACITY","HARVEST_POWER","HARVEST_MINERAL_POWER","HARVEST_DEPOSIT_POWER","REPAIR_POWER","DISMANTLE_POWER","BUILD_POWER","ATTACK_POWER","UPGRADE_CONTROLLER_POWER","RANGED_ATTACK_POWER","HEAL_POWER","RANGED_HEAL_POWER","REPAIR_COST","DISMANTLE_COST","RAMPART_DECAY_AMOUNT","RAMPART_DECAY_TIME","RAMPART_HITS","RAMPART_HITS_MAX","2","3","4","5","6","7","8","ENERGY_REGEN_TIME","ENERGY_DECAY","SPAWN_HITS","SPAWN_ENERGY_START","SPAWN_ENERGY_CAPACITY","CREEP_SPAWN_TIME","SPAWN_RENEW_RATIO","SOURCE_ENERGY_CAPACITY","SOURCE_ENERGY_NEUTRAL_CAPACITY","SOURCE_ENERGY_KEEPER_CAPACITY","WALL_HITS","WALL_HITS_MAX","EXTENSION_HITS","EXTENSION_ENERGY_CAPACITY","0","1","ROAD_HITS","ROAD_WEAROUT","ROAD_WEAROUT_POWER_CREEP","ROAD_DECAY_AMOUNT","ROAD_DECAY_TIME","LINK_HITS","LINK_HITS_MAX","LINK_CAPACITY","LINK_COOLDOWN","LINK_LOSS_RATIO","STORAGE_CAPACITY","STORAGE_HITS","STRUCTURE_SPAWN","STRUCTURE_EXTENSION","STRUCTURE_ROAD","STRUCTURE_WALL","STRUCTURE_RAMPART","STRUCTURE_KEEPER_LAIR","STRUCTURE_PORTAL","STRUCTURE_CONTROLLER","STRUCTURE_LINK","STRUCTURE_STORAGE","STRUCTURE_TOWER","STRUCTURE_OBSERVER","STRUCTURE_POWER_BANK","STRUCTURE_POWER_SPAWN","STRUCTURE_EXTRACTOR","STRUCTURE_LAB","STRUCTURE_TERMINAL","STRUCTURE_CONTAINER","STRUCTURE_NUKER","STRUCTURE_FACTORY","STRUCTURE_INVADER_CORE","CONSTRUCTION_COST","spawn","extension","road","constructedWall","rampart","link","storage","tower","observer","powerSpawn","extractor","lab","terminal","container","nuker","factory","CONSTRUCTION_COST_ROAD_SWAMP_RATIO","CONSTRUCTION_COST_ROAD_WALL_RATIO","CONTROLLER_LEVELS","CONTROLLER_STRUCTURES","CONTROLLER_DOWNGRADE","CONTROLLER_DOWNGRADE_RESTORE","CONTROLLER_DOWNGRADE_SAFEMODE_THRESHOLD","CONTROLLER_CLAIM_DOWNGRADE","CONTROLLER_RESERVE","CONTROLLER_RESERVE_MAX","CONTROLLER_MAX_UPGRADE_PER_TICK","CONTROLLER_ATTACK_BLOCKED_UPGRADE","CONTROLLER_NUKE_BLOCKED_UPGRADE","SAFE_MODE_DURATION","SAFE_MODE_COOLDOWN","SAFE_MODE_COST","TOWER_HITS","TOWER_CAPACITY","TOWER_ENERGY_COST","TOWER_POWER_ATTACK","TOWER_POWER_HEAL","TOWER_POWER_REPAIR","TOWER_OPTIMAL_RANGE","TOWER_FALLOFF_RANGE","TOWER_FALLOFF","OBSERVER_HITS","OBSERVER_RANGE","POWER_BANK_HITS","POWER_BANK_CAPACITY_MAX","POWER_BANK_CAPACITY_MIN","POWER_BANK_CAPACITY_CRIT","POWER_BANK_DECAY","POWER_BANK_HIT_BACK","POWER_SPAWN_HITS","POWER_SPAWN_ENERGY_CAPACITY","POWER_SPAWN_POWER_CAPACITY","POWER_SPAWN_ENERGY_RATIO","EXTRACTOR_HITS","EXTRACTOR_COOLDOWN","LAB_HITS","LAB_MINERAL_CAPACITY","LAB_ENERGY_CAPACITY","LAB_BOOST_ENERGY","LAB_BOOST_MINERAL","LAB_COOLDOWN","LAB_REACTION_AMOUNT","LAB_UNBOOST_ENERGY","LAB_UNBOOST_MINERAL","GCL_POW","GCL_MULTIPLY","GCL_NOVICE","MODE_SIMULATION","MODE_WORLD","TERRAIN_MASK_WALL","TERRAIN_MASK_SWAMP","TERRAIN_MASK_LAVA","MAX_CONSTRUCTION_SITES","MAX_CREEP_SIZE","MINERAL_REGEN_TIME","MINERAL_MIN_AMOUNT","H","O","L","K","Z","U","X","MINERAL_RANDOM_FACTOR","MINERAL_DENSITY","MINERAL_DENSITY_PROBABILITY","MINERAL_DENSITY_CHANGE","DENSITY_LOW","DENSITY_MODERATE","DENSITY_HIGH","DENSITY_ULTRA","DEPOSIT_EXHAUST_MULTIPLY","DEPOSIT_EXHAUST_POW","DEPOSIT_DECAY_TIME","TERMINAL_CAPACITY","TERMINAL_HITS","TERMINAL_SEND_COST","TERMINAL_MIN_SEND","TERMINAL_COOLDOWN","CONTAINER_HITS","CONTAINER_CAPACITY","CONTAINER_DECAY","CONTAINER_DECAY_TIME","CONTAINER_DECAY_TIME_OWNED","NUKER_HITS","NUKER_COOLDOWN","NUKER_ENERGY_CAPACITY","NUKER_GHODIUM_CAPACITY","NUKE_LAND_TIME","NUKE_RANGE","NUKE_DAMAGE","FACTORY_HITS","FACTORY_CAPACITY","TOMBSTONE_DECAY_PER_PART","TOMBSTONE_DECAY_POWER_CREEP","RUIN_DECAY","RUIN_DECAY_STRUCTURES","powerBank","PORTAL_DECAY","ORDER_SELL","ORDER_BUY","MARKET_FEE","MARKET_MAX_ORDERS","MARKET_ORDER_LIFE_TIME","FLAGS_LIMIT","SUBSCRIPTION_TOKEN","CPU_UNLOCK","PIXEL","ACCESS_KEY","PIXEL_CPU_COST","RESOURCE_ENERGY","RESOURCE_POWER","RESOURCE_HYDROGEN","RESOURCE_OXYGEN","RESOURCE_UTRIUM","RESOURCE_LEMERGIUM","RESOURCE_KEANIUM","RESOURCE_ZYNTHIUM","RESOURCE_CATALYST","RESOURCE_GHODIUM","RESOURCE_SILICON","RESOURCE_METAL","RESOURCE_BIOMASS","RESOURCE_MIST","RESOURCE_HYDROXIDE","RESOURCE_ZYNTHIUM_KEANITE","RESOURCE_UTRIUM_LEMERGITE","RESOURCE_UTRIUM_HYDRIDE","RESOURCE_UTRIUM_OXIDE","RESOURCE_KEANIUM_HYDRIDE","RESOURCE_KEANIUM_OXIDE","RESOURCE_LEMERGIUM_HYDRIDE","RESOURCE_LEMERGIUM_OXIDE","RESOURCE_ZYNTHIUM_HYDRIDE","RESOURCE_ZYNTHIUM_OXIDE","RESOURCE_GHODIUM_HYDRIDE","RESOURCE_GHODIUM_OXIDE","RESOURCE_UTRIUM_ACID","RESOURCE_UTRIUM_ALKALIDE","RESOURCE_KEANIUM_ACID","RESOURCE_KEANIUM_ALKALIDE","RESOURCE_LEMERGIUM_ACID","RESOURCE_LEMERGIUM_ALKALIDE","RESOURCE_ZYNTHIUM_ACID","RESOURCE_ZYNTHIUM_ALKALIDE","RESOURCE_GHODIUM_ACID","RESOURCE_GHODIUM_ALKALIDE","RESOURCE_CATALYZED_UTRIUM_ACID","RESOURCE_CATALYZED_UTRIUM_ALKALIDE","RESOURCE_CATALYZED_KEANIUM_ACID","RESOURCE_CATALYZED_KEANIUM_ALKALIDE","RESOURCE_CATALYZED_LEMERGIUM_ACID","RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE","RESOURCE_CATALYZED_ZYNTHIUM_ACID","RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE","RESOURCE_CATALYZED_GHODIUM_ACID","RESOURCE_CATALYZED_GHODIUM_ALKALIDE","RESOURCE_OPS","RESOURCE_UTRIUM_BAR","RESOURCE_LEMERGIUM_BAR","RESOURCE_ZYNTHIUM_BAR","RESOURCE_KEANIUM_BAR","RESOURCE_GHODIUM_MELT","RESOURCE_OXIDANT","RESOURCE_REDUCTANT","RESOURCE_PURIFIER","RESOURCE_BATTERY","RESOURCE_COMPOSITE","RESOURCE_CRYSTAL","RESOURCE_LIQUID","RESOURCE_WIRE","RESOURCE_SWITCH","RESOURCE_TRANSISTOR","RESOURCE_MICROCHIP","RESOURCE_CIRCUIT","RESOURCE_DEVICE","RESOURCE_CELL","RESOURCE_PHLEGM","RESOURCE_TISSUE","RESOURCE_MUSCLE","RESOURCE_ORGANOID","RESOURCE_ORGANISM","RESOURCE_ALLOY","RESOURCE_TUBE","RESOURCE_FIXTURES","RESOURCE_FRAME","RESOURCE_HYDRAULICS","RESOURCE_MACHINE","RESOURCE_CONDENSATE","RESOURCE_CONCENTRATE","RESOURCE_EXTRACT","RESOURCE_SPIRIT","RESOURCE_EMANATION","RESOURCE_ESSENCE","REACTIONS","G","OH","UH","UO","ZH","ZO","KH","KO","LH","LO","GH","GO","UH2O","UHO2","LH2O","LHO2","KH2O","KHO2","ZH2O","ZHO2","GH2O","GHO2","ZK","UL","BOOSTS","harvest","XUHO2","build","repair","XLH2O","dismantle","XZH2O","upgradeController","XGH2O","XUH2O","rangedAttack","rangedMassAttack","XKHO2","rangedHeal","XLHO2","capacity","XKH2O","fatigue","XZHO2","damage","XGHO2","REACTION_TIME","PORTAL_UNSTABLE","PORTAL_MIN_TIMEOUT","PORTAL_MAX_TIMEOUT","POWER_BANK_RESPAWN_TIME","INVADERS_ENERGY_GOAL","SYSTEM_USERNAME","SIGN_NOVICE_AREA","SIGN_RESPAWN_AREA","SIGN_PLANNED_AREA","EVENT_ATTACK","EVENT_OBJECT_DESTROYED","EVENT_ATTACK_CONTROLLER","EVENT_BUILD","EVENT_HARVEST","EVENT_HEAL","EVENT_REPAIR","EVENT_RESERVE_CONTROLLER","EVENT_UPGRADE_CONTROLLER","EVENT_EXIT","EVENT_POWER","EVENT_TRANSFER","EVENT_ATTACK_TYPE_MELEE","EVENT_ATTACK_TYPE_RANGED","EVENT_ATTACK_TYPE_RANGED_MASS","EVENT_ATTACK_TYPE_DISMANTLE","EVENT_ATTACK_TYPE_HIT_BACK","EVENT_ATTACK_TYPE_NUKE","EVENT_HEAL_TYPE_MELEE","EVENT_HEAL_TYPE_RANGED","POWER_LEVEL_MULTIPLY","POWER_LEVEL_POW","POWER_CREEP_SPAWN_COOLDOWN","POWER_CREEP_DELETE_COOLDOWN","POWER_CREEP_MAX_LEVEL","POWER_CREEP_LIFE_TIME","POWER_CLASS","OPERATOR","PWR_GENERATE_OPS","PWR_OPERATE_SPAWN","PWR_OPERATE_TOWER","PWR_OPERATE_STORAGE","PWR_OPERATE_LAB","PWR_OPERATE_EXTENSION","PWR_OPERATE_OBSERVER","PWR_OPERATE_TERMINAL","PWR_DISRUPT_SPAWN","PWR_DISRUPT_TOWER","PWR_DISRUPT_SOURCE","PWR_SHIELD","PWR_REGEN_SOURCE","PWR_REGEN_MINERAL","PWR_DISRUPT_TERMINAL","PWR_OPERATE_POWER","PWR_FORTIFY","PWR_OPERATE_CONTROLLER","PWR_OPERATE_FACTORY","EFFECT_INVULNERABILITY","EFFECT_COLLAPSE_TIMER","INVADER_CORE_HITS","INVADER_CORE_CREEP_SPAWN_TIME","INVADER_CORE_EXPAND_TIME","INVADER_CORE_CONTROLLER_POWER","INVADER_CORE_CONTROLLER_DOWNGRADE","STRONGHOLD_RAMPART_HITS","STRONGHOLD_DECAY_TICKS","POWER_INFO","[object Object]","className","level","cooldown","effect","duration","range","ops","energy","period","BODYPARTS_ALL","RESOURCES_ALL","COLORS_ALL","INTERSHARD_RESOURCES","COMMODITIES","amount","components","blinking","fromAlpha","toAlpha","toDuration","fromDuration","action","params","displayName","type","additionalWhen","once","layer","when","calcs","isOwner","stateExtra","gameData","showEnemyNames","showMyNames","payload","text","$calc","style","align","fill","fontFamily","fontSize","stroke","strokeThickness","anchor","x","y","flickering","alpha1","alpha2","alpha3","alpha4","$rel","koef","$random","_all_metadata","data","$state","calculations","id","props","func","state","user","player","undefined","world","options","VIEW_BOX","effects","gameTime","values","some","constants_default","a","power","endTime","decorations","processors","_isDisabled","drawings","method","blendMode","actions","texture","width","height","alpha","tint","hasEffect","Math","PI","constructedWall_metadata","hits","hitsMax","zIndex","constructionSite_metadata","color","radius","lineWidth","progress","progressTotal","disappearProcessor","resourceTotal","_","reduce","store","sum","cur","container_metadata","storeCapacity","resourcesTotal","shouldRun","pivot","controller_metadata","downgradeTime","reservation","upgradeBlocked","safeMode","isPowerEnabled","visible","rotation","strokeColor","strokeWidth","$processorParam","mathHelper_calculateAngle","x0","y0","angle","atan2","mathHelper","calculateAngle","convertGameXYToWorld","CELL_SIZE","scaleGameToWorld","isNpc","isNotNpc","creep_metadata","users","username","prevState","prevX","prevY","min","controller","objects","find","parentId","spawning","actionLog","say","showCreepSpeech","isPublic","targetId","COLORS","biomass","metal","mist","silicon","deposit_metadata","depositType","harvested","max","cooldownTime","METADATA","extension_metadata","storeCapacityResource","scale","extractor_metadata","until","factory_metadata_isCooldown","isLevel","isLevelBlinking","constants","isPowerOperate","factory_metadata","FLAG_COLORS","9","10","flag_metadata","secondaryColor","showFlagsNames","mineralPath","energyRectangle","lab_metadata","mineralType","keys","filter","k","first","mineralCapacity","runReaction","reverseReaction","link_metadata","mineral_metadata_COLORS","foreground","background","mineral_metadata","fontWeight","nuke_metadata_scaleAction","landed","landTime","notLanded","nuke_metadata","Number","MAX_VALUE","round","blur","resourceTriangle","gRectangle","nuker_metadata","observer_metadata","powerBank_metadata","sqrt","BADGE_GEOMETRY","commander","pivotY","size","executor","operator","powerCreep_metadata","ceil","spawned","ellipse1","ellipse2","ellipse3","ellipse4","arc","startAngle","powerSpawn_metadata","rect1","rect2","source_metadata","energyCapacity","spawn_metadata_ellipse1","spawn_metadata_ellipse2","spawn_metadata_ellipse3","spawn_metadata_arc","spawn_metadata","spawnTime","needTime","remainingTime","TOTAL_HEIGHT","terminal_metadata_isCooldown","result","tombstone_metadata","playerColor","decayTime","deathTime","tower_metadata_isNpc","tower_metadata_isNotNpc","tower_metadata","shotAnim","energyBarHeight","invaderCore_metadata_arc","invaderCore_metadata","floor","ruin_metadata","destroyTime","VoidFilter","PIXI","filters","TilingSprite","extras","Graphics","BLEND_MODES","__webpack_exports__","preprocessors","layers","afterCreate","async","app","resourceManager","lighting","setupExits","textureName","tileX","tileY","flipX","flipY","getCachedResource","sprite","tileScale","renderer","WebGLRenderer","ADD","addChild","isDefault","HALF_CELL_SIZE","MULTIPLY","ambient","beginFill","drawRect","endFill","on","element","_overrideBlendMode","SCREEN","_all","constructionSite","creep","deposit","flag","keeperLair","mineral","nuke","portal","powerCreep","source","storage_metadata","terminal_metadata","tombstone","invaderCore","ruin"],"mappings":"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","file":"renderer-metadata.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","Object.assign(exports, {\n OK: 0,\n ERR_NOT_OWNER: -1,\n ERR_NO_PATH: -2,\n ERR_NAME_EXISTS: -3,\n ERR_BUSY: -4,\n ERR_NOT_FOUND: -5,\n ERR_NOT_ENOUGH_ENERGY: -6,\n ERR_NOT_ENOUGH_RESOURCES: -6,\n ERR_INVALID_TARGET: -7,\n ERR_FULL: -8,\n ERR_NOT_IN_RANGE: -9,\n ERR_INVALID_ARGS: -10,\n ERR_TIRED: -11,\n ERR_NO_BODYPART: -12,\n ERR_NOT_ENOUGH_EXTENSIONS: -6,\n ERR_RCL_NOT_ENOUGH: -14,\n ERR_GCL_NOT_ENOUGH: -15,\n\n FIND_EXIT_TOP: 1,\n FIND_EXIT_RIGHT: 3,\n FIND_EXIT_BOTTOM: 5,\n FIND_EXIT_LEFT: 7,\n FIND_EXIT: 10,\n FIND_CREEPS: 101,\n FIND_MY_CREEPS: 102,\n FIND_HOSTILE_CREEPS: 103,\n FIND_SOURCES_ACTIVE: 104,\n FIND_SOURCES: 105,\n FIND_DROPPED_RESOURCES: 106,\n FIND_STRUCTURES: 107,\n FIND_MY_STRUCTURES: 108,\n FIND_HOSTILE_STRUCTURES: 109,\n FIND_FLAGS: 110,\n FIND_CONSTRUCTION_SITES: 111,\n FIND_MY_SPAWNS: 112,\n FIND_HOSTILE_SPAWNS: 113,\n FIND_MY_CONSTRUCTION_SITES: 114,\n FIND_HOSTILE_CONSTRUCTION_SITES: 115,\n FIND_MINERALS: 116,\n FIND_NUKES: 117,\n FIND_TOMBSTONES: 118,\n FIND_POWER_CREEPS: 119,\n FIND_MY_POWER_CREEPS: 120,\n FIND_HOSTILE_POWER_CREEPS: 121,\n FIND_DEPOSITS: 122,\n FIND_RUINS: 123,\n\n TOP: 1,\n TOP_RIGHT: 2,\n RIGHT: 3,\n BOTTOM_RIGHT: 4,\n BOTTOM: 5,\n BOTTOM_LEFT: 6,\n LEFT: 7,\n TOP_LEFT: 8,\n\n COLOR_RED: 1,\n COLOR_PURPLE: 2,\n COLOR_BLUE: 3,\n COLOR_CYAN: 4,\n COLOR_GREEN: 5,\n COLOR_YELLOW: 6,\n COLOR_ORANGE: 7,\n COLOR_BROWN: 8,\n COLOR_GREY: 9,\n COLOR_WHITE: 10,\n\n LOOK_CREEPS: \"creep\",\n LOOK_ENERGY: \"energy\",\n LOOK_RESOURCES: \"resource\",\n LOOK_SOURCES: \"source\",\n LOOK_MINERALS: \"mineral\",\n LOOK_DEPOSITS: \"deposit\",\n LOOK_STRUCTURES: \"structure\",\n LOOK_FLAGS: \"flag\",\n LOOK_CONSTRUCTION_SITES: \"constructionSite\",\n LOOK_NUKES: \"nuke\",\n LOOK_TERRAIN: \"terrain\",\n LOOK_TOMBSTONES: \"tombstone\",\n LOOK_POWER_CREEPS: \"powerCreep\",\n LOOK_RUINS: \"ruin\",\n\n OBSTACLE_OBJECT_TYPES: [\"spawn\", \"creep\", \"powerCreep\", \"source\", \"mineral\", \"deposit\", \"controller\", \"constructedWall\", \"extension\", \"link\", \"storage\", \"tower\", \"observer\", \"powerSpawn\", \"powerBank\", \"lab\", \"terminal\", \"nuker\", \"factory\", \"invaderCore\"],\n\n MOVE: \"move\",\n WORK: \"work\",\n CARRY: \"carry\",\n ATTACK: \"attack\",\n RANGED_ATTACK: \"ranged_attack\",\n TOUGH: \"tough\",\n HEAL: \"heal\",\n CLAIM: \"claim\",\n\n BODYPART_COST: {\n \"move\": 50,\n \"work\": 100,\n \"attack\": 80,\n \"carry\": 50,\n \"heal\": 250,\n \"ranged_attack\": 150,\n \"tough\": 10,\n \"claim\": 600\n },\n\n // WORLD_WIDTH and WORLD_HEIGHT constants are deprecated, please use Game.map.getWorldSize() instead\n WORLD_WIDTH: 202,\n WORLD_HEIGHT: 202,\n\n CREEP_LIFE_TIME: 1500,\n CREEP_CLAIM_LIFE_TIME: 600,\n CREEP_CORPSE_RATE: 0.2,\n CREEP_PART_MAX_ENERGY: 125,\n\n CARRY_CAPACITY: 50,\n HARVEST_POWER: 2,\n HARVEST_MINERAL_POWER: 1,\n HARVEST_DEPOSIT_POWER: 1,\n REPAIR_POWER: 100,\n DISMANTLE_POWER: 50,\n BUILD_POWER: 5,\n ATTACK_POWER: 30,\n UPGRADE_CONTROLLER_POWER: 1,\n RANGED_ATTACK_POWER: 10,\n HEAL_POWER: 12,\n RANGED_HEAL_POWER: 4,\n REPAIR_COST: 0.01,\n DISMANTLE_COST: 0.005,\n\n RAMPART_DECAY_AMOUNT: 300,\n RAMPART_DECAY_TIME: 100,\n RAMPART_HITS: 1,\n RAMPART_HITS_MAX: {2: 300000, 3: 1000000, 4: 3000000, 5: 10000000, 6: 30000000, 7: 100000000, 8: 300000000},\n\n ENERGY_REGEN_TIME: 300,\n ENERGY_DECAY: 1000,\n\n SPAWN_HITS: 5000,\n SPAWN_ENERGY_START: 300,\n SPAWN_ENERGY_CAPACITY: 300,\n CREEP_SPAWN_TIME: 3,\n SPAWN_RENEW_RATIO: 1.2,\n\n SOURCE_ENERGY_CAPACITY: 3000,\n SOURCE_ENERGY_NEUTRAL_CAPACITY: 1500,\n SOURCE_ENERGY_KEEPER_CAPACITY: 4000,\n\n WALL_HITS: 1,\n WALL_HITS_MAX: 300000000,\n\n EXTENSION_HITS: 1000,\n EXTENSION_ENERGY_CAPACITY: {0: 50, 1: 50, 2: 50, 3: 50, 4: 50, 5: 50, 6: 50, 7: 100, 8: 200},\n\n ROAD_HITS: 5000,\n ROAD_WEAROUT: 1,\n ROAD_WEAROUT_POWER_CREEP: 100,\n ROAD_DECAY_AMOUNT: 100,\n ROAD_DECAY_TIME: 1000,\n\n LINK_HITS: 1000,\n LINK_HITS_MAX: 1000,\n LINK_CAPACITY: 800,\n LINK_COOLDOWN: 1,\n LINK_LOSS_RATIO: 0.03,\n\n STORAGE_CAPACITY: 1000000,\n STORAGE_HITS: 10000,\n\n STRUCTURE_SPAWN: \"spawn\",\n STRUCTURE_EXTENSION: \"extension\",\n STRUCTURE_ROAD: \"road\",\n STRUCTURE_WALL: \"constructedWall\",\n STRUCTURE_RAMPART: \"rampart\",\n STRUCTURE_KEEPER_LAIR: \"keeperLair\",\n STRUCTURE_PORTAL: \"portal\",\n STRUCTURE_CONTROLLER: \"controller\",\n STRUCTURE_LINK: \"link\",\n STRUCTURE_STORAGE: \"storage\",\n STRUCTURE_TOWER: \"tower\",\n STRUCTURE_OBSERVER: \"observer\",\n STRUCTURE_POWER_BANK: \"powerBank\",\n STRUCTURE_POWER_SPAWN: \"powerSpawn\",\n STRUCTURE_EXTRACTOR: \"extractor\",\n STRUCTURE_LAB: \"lab\",\n STRUCTURE_TERMINAL: \"terminal\",\n STRUCTURE_CONTAINER: \"container\",\n STRUCTURE_NUKER: \"nuker\",\n STRUCTURE_FACTORY: \"factory\",\n STRUCTURE_INVADER_CORE: \"invaderCore\",\n\n CONSTRUCTION_COST: {\n \"spawn\": 15000,\n \"extension\": 3000,\n \"road\": 300,\n \"constructedWall\": 1,\n \"rampart\": 1,\n \"link\": 5000,\n \"storage\": 30000,\n \"tower\": 5000,\n \"observer\": 8000,\n \"powerSpawn\": 100000,\n \"extractor\": 5000,\n \"lab\": 50000,\n \"terminal\": 100000,\n \"container\": 5000,\n \"nuker\": 100000,\n \"factory\": 100000\n },\n CONSTRUCTION_COST_ROAD_SWAMP_RATIO: 5,\n CONSTRUCTION_COST_ROAD_WALL_RATIO: 150,\n\n CONTROLLER_LEVELS: {1: 200, 2: 45000, 3: 135000, 4: 405000, 5: 1215000, 6: 3645000, 7: 10935000},\n CONTROLLER_STRUCTURES: {\n \"spawn\": {0: 0, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 2, 8: 3},\n \"extension\": {0: 0, 1: 0, 2: 5, 3: 10, 4: 20, 5: 30, 6: 40, 7: 50, 8: 60},\n \"link\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 2, 6: 3, 7: 4, 8: 6},\n \"road\": {0: 2500, 1: 2500, 2: 2500, 3: 2500, 4: 2500, 5: 2500, 6: 2500, 7: 2500, 8: 2500},\n \"constructedWall\": {1: 0, 2: 2500, 3: 2500, 4: 2500, 5: 2500, 6: 2500, 7: 2500, 8: 2500},\n \"rampart\": {1: 0, 2: 2500, 3: 2500, 4: 2500, 5: 2500, 6: 2500, 7: 2500, 8: 2500},\n \"storage\": {1: 0, 2: 0, 3: 0, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1},\n \"tower\": {1: 0, 2: 0, 3: 1, 4: 1, 5: 2, 6: 2, 7: 3, 8: 6},\n \"observer\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 1},\n \"powerSpawn\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 1},\n \"extractor\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 1, 7: 1, 8: 1},\n \"terminal\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 1, 7: 1, 8: 1},\n \"lab\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 3, 7: 6, 8: 10},\n \"container\": {0: 5, 1: 5, 2: 5, 3: 5, 4: 5, 5: 5, 6: 5, 7: 5, 8: 5},\n \"nuker\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 1},\n \"factory\": {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 1, 8: 1}\n },\n CONTROLLER_DOWNGRADE: {1: 20000, 2: 10000, 3: 20000, 4: 40000, 5: 80000, 6: 120000, 7: 150000, 8: 200000},\n CONTROLLER_DOWNGRADE_RESTORE: 100,\n CONTROLLER_DOWNGRADE_SAFEMODE_THRESHOLD: 5000,\n CONTROLLER_CLAIM_DOWNGRADE: 300,\n CONTROLLER_RESERVE: 1,\n CONTROLLER_RESERVE_MAX: 5000,\n CONTROLLER_MAX_UPGRADE_PER_TICK: 15,\n CONTROLLER_ATTACK_BLOCKED_UPGRADE: 1000,\n CONTROLLER_NUKE_BLOCKED_UPGRADE: 200,\n\n SAFE_MODE_DURATION: 20000,\n SAFE_MODE_COOLDOWN: 50000,\n SAFE_MODE_COST: 1000,\n\n TOWER_HITS: 3000,\n TOWER_CAPACITY: 1000,\n TOWER_ENERGY_COST: 10,\n TOWER_POWER_ATTACK: 600,\n TOWER_POWER_HEAL: 400,\n TOWER_POWER_REPAIR: 800,\n TOWER_OPTIMAL_RANGE: 5,\n TOWER_FALLOFF_RANGE: 20,\n TOWER_FALLOFF: 0.75,\n\n OBSERVER_HITS: 500,\n OBSERVER_RANGE: 10,\n\n POWER_BANK_HITS: 2000000,\n POWER_BANK_CAPACITY_MAX: 5000,\n POWER_BANK_CAPACITY_MIN: 500,\n POWER_BANK_CAPACITY_CRIT: 0.3,\n POWER_BANK_DECAY: 5000,\n POWER_BANK_HIT_BACK: 0.5,\n\n POWER_SPAWN_HITS: 5000,\n POWER_SPAWN_ENERGY_CAPACITY: 5000,\n POWER_SPAWN_POWER_CAPACITY: 100,\n POWER_SPAWN_ENERGY_RATIO: 50,\n\n EXTRACTOR_HITS: 500,\n EXTRACTOR_COOLDOWN: 5,\n\n LAB_HITS: 500,\n LAB_MINERAL_CAPACITY: 3000,\n LAB_ENERGY_CAPACITY: 2000,\n LAB_BOOST_ENERGY: 20,\n LAB_BOOST_MINERAL: 30,\n LAB_COOLDOWN: 10, // not used\n LAB_REACTION_AMOUNT: 5,\n LAB_UNBOOST_ENERGY: 0,\n LAB_UNBOOST_MINERAL: 15,\n\n GCL_POW: 2.4,\n GCL_MULTIPLY: 1000000,\n GCL_NOVICE: 3,\n\n MODE_SIMULATION: null,\n MODE_WORLD: null,\n\n TERRAIN_MASK_WALL: 1,\n TERRAIN_MASK_SWAMP: 2,\n TERRAIN_MASK_LAVA: 4,\n\n MAX_CONSTRUCTION_SITES: 100,\n MAX_CREEP_SIZE: 50,\n\n MINERAL_REGEN_TIME: 50000,\n MINERAL_MIN_AMOUNT: {\n \"H\": 35000,\n \"O\": 35000,\n \"L\": 35000,\n \"K\": 35000,\n \"Z\": 35000,\n \"U\": 35000,\n \"X\": 35000\n },\n MINERAL_RANDOM_FACTOR: 2,\n\n MINERAL_DENSITY: {\n 1: 15000,\n 2: 35000,\n 3: 70000,\n 4: 100000\n },\n MINERAL_DENSITY_PROBABILITY : {\n 1: 0.1,\n 2: 0.5,\n 3: 0.9,\n 4: 1.0\n },\n MINERAL_DENSITY_CHANGE: 0.05,\n\n DENSITY_LOW: 1,\n DENSITY_MODERATE: 2,\n DENSITY_HIGH: 3,\n DENSITY_ULTRA: 4,\n\n DEPOSIT_EXHAUST_MULTIPLY: 0.001,\n DEPOSIT_EXHAUST_POW: 1.2,\n DEPOSIT_DECAY_TIME: 50000,\n\n TERMINAL_CAPACITY: 300000,\n TERMINAL_HITS: 3000,\n TERMINAL_SEND_COST: 0.1,\n TERMINAL_MIN_SEND: 100,\n TERMINAL_COOLDOWN: 10,\n\n CONTAINER_HITS: 250000,\n CONTAINER_CAPACITY: 2000,\n CONTAINER_DECAY: 5000,\n CONTAINER_DECAY_TIME: 100,\n CONTAINER_DECAY_TIME_OWNED: 500,\n\n NUKER_HITS: 1000,\n NUKER_COOLDOWN: 100000,\n NUKER_ENERGY_CAPACITY: 300000,\n NUKER_GHODIUM_CAPACITY: 5000,\n NUKE_LAND_TIME: 50000,\n NUKE_RANGE: 10,\n NUKE_DAMAGE: {\n 0: 10000000,\n 2: 5000000\n },\n\n FACTORY_HITS: 1000,\n FACTORY_CAPACITY: 50000,\n\n TOMBSTONE_DECAY_PER_PART: 5,\n TOMBSTONE_DECAY_POWER_CREEP: 500,\n\n RUIN_DECAY: 500,\n RUIN_DECAY_STRUCTURES: {\n 'powerBank': 10\n },\n\n PORTAL_DECAY: 30000,\n\n ORDER_SELL: \"sell\",\n ORDER_BUY: \"buy\",\n\n MARKET_FEE: 0.05,\n\n MARKET_MAX_ORDERS: 300,\n MARKET_ORDER_LIFE_TIME: 1000*60*60*24*30,\n\n FLAGS_LIMIT: 10000,\n\n SUBSCRIPTION_TOKEN: \"token\",\n CPU_UNLOCK: \"cpuUnlock\",\n PIXEL: \"pixel\",\n ACCESS_KEY: \"accessKey\",\n\n PIXEL_CPU_COST: 10000,\n\n RESOURCE_ENERGY: \"energy\",\n RESOURCE_POWER: \"power\",\n\n RESOURCE_HYDROGEN: \"H\",\n RESOURCE_OXYGEN: \"O\",\n RESOURCE_UTRIUM: \"U\",\n RESOURCE_LEMERGIUM: \"L\",\n RESOURCE_KEANIUM: \"K\",\n RESOURCE_ZYNTHIUM: \"Z\",\n RESOURCE_CATALYST: \"X\",\n RESOURCE_GHODIUM: \"G\",\n\n RESOURCE_SILICON: 'silicon',\n RESOURCE_METAL: 'metal',\n RESOURCE_BIOMASS: 'biomass',\n RESOURCE_MIST: 'mist',\n\n RESOURCE_HYDROXIDE: \"OH\",\n RESOURCE_ZYNTHIUM_KEANITE: \"ZK\",\n RESOURCE_UTRIUM_LEMERGITE: \"UL\",\n\n RESOURCE_UTRIUM_HYDRIDE: \"UH\",\n RESOURCE_UTRIUM_OXIDE: \"UO\",\n RESOURCE_KEANIUM_HYDRIDE: \"KH\",\n RESOURCE_KEANIUM_OXIDE: \"KO\",\n RESOURCE_LEMERGIUM_HYDRIDE: \"LH\",\n RESOURCE_LEMERGIUM_OXIDE: \"LO\",\n RESOURCE_ZYNTHIUM_HYDRIDE: \"ZH\",\n RESOURCE_ZYNTHIUM_OXIDE: \"ZO\",\n RESOURCE_GHODIUM_HYDRIDE: \"GH\",\n RESOURCE_GHODIUM_OXIDE: \"GO\",\n\n RESOURCE_UTRIUM_ACID: \"UH2O\",\n RESOURCE_UTRIUM_ALKALIDE: \"UHO2\",\n RESOURCE_KEANIUM_ACID: \"KH2O\",\n RESOURCE_KEANIUM_ALKALIDE: \"KHO2\",\n RESOURCE_LEMERGIUM_ACID: \"LH2O\",\n RESOURCE_LEMERGIUM_ALKALIDE: \"LHO2\",\n RESOURCE_ZYNTHIUM_ACID: \"ZH2O\",\n RESOURCE_ZYNTHIUM_ALKALIDE: \"ZHO2\",\n RESOURCE_GHODIUM_ACID: \"GH2O\",\n RESOURCE_GHODIUM_ALKALIDE: \"GHO2\",\n\n RESOURCE_CATALYZED_UTRIUM_ACID: \"XUH2O\",\n RESOURCE_CATALYZED_UTRIUM_ALKALIDE: \"XUHO2\",\n RESOURCE_CATALYZED_KEANIUM_ACID: \"XKH2O\",\n RESOURCE_CATALYZED_KEANIUM_ALKALIDE: \"XKHO2\",\n RESOURCE_CATALYZED_LEMERGIUM_ACID: \"XLH2O\",\n RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE: \"XLHO2\",\n RESOURCE_CATALYZED_ZYNTHIUM_ACID: \"XZH2O\",\n RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE: \"XZHO2\",\n RESOURCE_CATALYZED_GHODIUM_ACID: \"XGH2O\",\n RESOURCE_CATALYZED_GHODIUM_ALKALIDE: \"XGHO2\",\n\n RESOURCE_OPS: \"ops\",\n\n RESOURCE_UTRIUM_BAR: 'utrium_bar',\n RESOURCE_LEMERGIUM_BAR: 'lemergium_bar',\n RESOURCE_ZYNTHIUM_BAR: 'zynthium_bar',\n RESOURCE_KEANIUM_BAR: 'keanium_bar',\n RESOURCE_GHODIUM_MELT: 'ghodium_melt',\n RESOURCE_OXIDANT: 'oxidant',\n RESOURCE_REDUCTANT: 'reductant',\n RESOURCE_PURIFIER: 'purifier',\n RESOURCE_BATTERY: 'battery',\n\n RESOURCE_COMPOSITE: 'composite',\n RESOURCE_CRYSTAL: 'crystal',\n RESOURCE_LIQUID: 'liquid',\n\n RESOURCE_WIRE: 'wire',\n RESOURCE_SWITCH: 'switch',\n RESOURCE_TRANSISTOR: 'transistor',\n RESOURCE_MICROCHIP: 'microchip',\n RESOURCE_CIRCUIT: 'circuit',\n RESOURCE_DEVICE: 'device',\n\n RESOURCE_CELL: 'cell',\n RESOURCE_PHLEGM: 'phlegm',\n RESOURCE_TISSUE: 'tissue',\n RESOURCE_MUSCLE: 'muscle',\n RESOURCE_ORGANOID: 'organoid',\n RESOURCE_ORGANISM: 'organism',\n\n RESOURCE_ALLOY: 'alloy',\n RESOURCE_TUBE: 'tube',\n RESOURCE_FIXTURES: 'fixtures',\n RESOURCE_FRAME: 'frame',\n RESOURCE_HYDRAULICS: 'hydraulics',\n RESOURCE_MACHINE: 'machine',\n\n RESOURCE_CONDENSATE: 'condensate',\n RESOURCE_CONCENTRATE: 'concentrate',\n RESOURCE_EXTRACT: 'extract',\n RESOURCE_SPIRIT: 'spirit',\n RESOURCE_EMANATION: 'emanation',\n RESOURCE_ESSENCE: 'essence',\n\n REACTIONS: {\n H: {\n O: \"OH\",\n L: \"LH\",\n K: \"KH\",\n U: \"UH\",\n Z: \"ZH\",\n G: \"GH\"\n },\n O: {\n H: \"OH\",\n L: \"LO\",\n K: \"KO\",\n U: \"UO\",\n Z: \"ZO\",\n G: \"GO\"\n },\n Z: {\n K: \"ZK\",\n H: \"ZH\",\n O: \"ZO\"\n },\n L: {\n U: \"UL\",\n H: \"LH\",\n O: \"LO\"\n },\n K: {\n Z: \"ZK\",\n H: \"KH\",\n O: \"KO\"\n },\n G: {\n H: \"GH\",\n O: \"GO\"\n },\n U: {\n L: \"UL\",\n H: \"UH\",\n O: \"UO\"\n },\n OH: {\n UH: \"UH2O\",\n UO: \"UHO2\",\n ZH: \"ZH2O\",\n ZO: \"ZHO2\",\n KH: \"KH2O\",\n KO: \"KHO2\",\n LH: \"LH2O\",\n LO: \"LHO2\",\n GH: \"GH2O\",\n GO: \"GHO2\"\n },\n X: {\n UH2O: \"XUH2O\",\n UHO2: \"XUHO2\",\n LH2O: \"XLH2O\",\n LHO2: \"XLHO2\",\n KH2O: \"XKH2O\",\n KHO2: \"XKHO2\",\n ZH2O: \"XZH2O\",\n ZHO2: \"XZHO2\",\n GH2O: \"XGH2O\",\n GHO2: \"XGHO2\"\n },\n ZK: {\n UL: \"G\"\n },\n UL: {\n ZK: \"G\"\n },\n LH: {\n OH: \"LH2O\"\n },\n ZH: {\n OH: \"ZH2O\"\n },\n GH: {\n OH: \"GH2O\"\n },\n KH: {\n OH: \"KH2O\"\n },\n UH: {\n OH: \"UH2O\"\n },\n LO: {\n OH: \"LHO2\"\n },\n ZO: {\n OH: \"ZHO2\"\n },\n KO: {\n OH: \"KHO2\"\n },\n UO: {\n OH: \"UHO2\"\n },\n GO: {\n OH: \"GHO2\"\n },\n LH2O: {\n X: \"XLH2O\"\n },\n KH2O: {\n X: \"XKH2O\"\n },\n ZH2O: {\n X: \"XZH2O\"\n },\n UH2O: {\n X: \"XUH2O\"\n },\n GH2O: {\n X: \"XGH2O\"\n },\n LHO2: {\n X: \"XLHO2\"\n },\n UHO2: {\n X: \"XUHO2\"\n },\n KHO2: {\n X: \"XKHO2\"\n },\n ZHO2: {\n X: \"XZHO2\"\n },\n GHO2: {\n X: \"XGHO2\"\n }\n },\n\n BOOSTS: {\n work: {\n UO: {\n harvest: 3\n },\n UHO2: {\n harvest: 5\n },\n XUHO2: {\n harvest: 7\n },\n LH: {\n build: 1.5,\n repair: 1.5\n },\n LH2O: {\n build: 1.8,\n repair: 1.8\n },\n XLH2O: {\n build: 2,\n repair: 2\n },\n ZH: {\n dismantle: 2\n },\n ZH2O: {\n dismantle: 3\n },\n XZH2O: {\n dismantle: 4\n },\n GH: {\n upgradeController: 1.5\n },\n GH2O: {\n upgradeController: 1.8\n },\n XGH2O: {\n upgradeController: 2\n }\n },\n attack: {\n UH: {\n attack: 2\n },\n UH2O: {\n attack: 3\n },\n XUH2O: {\n attack: 4\n }\n },\n ranged_attack: {\n KO: {\n rangedAttack: 2,\n rangedMassAttack: 2\n },\n KHO2: {\n rangedAttack: 3,\n rangedMassAttack: 3\n },\n XKHO2: {\n rangedAttack: 4,\n rangedMassAttack: 4\n }\n },\n heal: {\n LO: {\n heal: 2,\n rangedHeal: 2\n },\n LHO2: {\n heal: 3,\n rangedHeal: 3\n },\n XLHO2: {\n heal: 4,\n rangedHeal: 4\n }\n },\n carry: {\n KH: {\n capacity: 2\n },\n KH2O: {\n capacity: 3\n },\n XKH2O: {\n capacity: 4\n }\n },\n move: {\n ZO: {\n fatigue: 2\n },\n ZHO2: {\n fatigue: 3\n },\n XZHO2: {\n fatigue: 4\n }\n },\n tough: {\n GO: {\n damage: .7\n },\n GHO2: {\n damage: .5\n },\n XGHO2: {\n damage: .3\n }\n }\n },\n\n REACTION_TIME: {\n OH: 20,\n ZK: 5,\n UL: 5,\n G: 5,\n UH: 10,\n UH2O: 5,\n XUH2O: 60,\n UO: 10,\n UHO2: 5,\n XUHO2: 60,\n KH: 10,\n KH2O: 5,\n XKH2O: 60,\n KO: 10,\n KHO2: 5,\n XKHO2: 60,\n LH: 15,\n LH2O: 10,\n XLH2O: 65,\n LO: 10,\n LHO2: 5,\n XLHO2: 60,\n ZH: 20,\n ZH2O: 40,\n XZH2O: 160,\n ZO: 10,\n ZHO2: 5,\n XZHO2: 60,\n GH: 10,\n GH2O: 15,\n XGH2O: 80,\n GO: 10,\n GHO2: 30,\n XGHO2: 150,\n },\n\n PORTAL_UNSTABLE: 10*24*3600*1000,\n PORTAL_MIN_TIMEOUT: 12*24*3600*1000,\n PORTAL_MAX_TIMEOUT: 22*24*3600*1000,\n\n POWER_BANK_RESPAWN_TIME: 50000,\n\n INVADERS_ENERGY_GOAL: 100000,\n\n SYSTEM_USERNAME: 'Screeps',\n\n // SIGN_NOVICE_AREA and SIGN_RESPAWN_AREA constants are deprecated, please use SIGN_PLANNED_AREA instead\n SIGN_NOVICE_AREA: 'A new Novice or Respawn Area is being planned somewhere in this sector. Please make sure all important rooms are reserved.',\n SIGN_RESPAWN_AREA: 'A new Novice or Respawn Area is being planned somewhere in this sector. Please make sure all important rooms are reserved.',\n SIGN_PLANNED_AREA: 'A new Novice or Respawn Area is being planned somewhere in this sector. Please make sure all important rooms are reserved.',\n\n EVENT_ATTACK: 1,\n EVENT_OBJECT_DESTROYED: 2,\n EVENT_ATTACK_CONTROLLER: 3,\n EVENT_BUILD: 4,\n EVENT_HARVEST: 5,\n EVENT_HEAL: 6,\n EVENT_REPAIR: 7,\n EVENT_RESERVE_CONTROLLER: 8,\n EVENT_UPGRADE_CONTROLLER: 9,\n EVENT_EXIT: 10,\n EVENT_POWER: 11,\n EVENT_TRANSFER: 12,\n\n EVENT_ATTACK_TYPE_MELEE: 1,\n EVENT_ATTACK_TYPE_RANGED: 2,\n EVENT_ATTACK_TYPE_RANGED_MASS: 3,\n EVENT_ATTACK_TYPE_DISMANTLE: 4,\n EVENT_ATTACK_TYPE_HIT_BACK: 5,\n EVENT_ATTACK_TYPE_NUKE: 6,\n\n EVENT_HEAL_TYPE_MELEE: 1,\n EVENT_HEAL_TYPE_RANGED: 2,\n\n POWER_LEVEL_MULTIPLY: 1000,\n POWER_LEVEL_POW: 2,\n POWER_CREEP_SPAWN_COOLDOWN: 8*3600*1000,\n POWER_CREEP_DELETE_COOLDOWN: 24*3600*1000,\n POWER_CREEP_MAX_LEVEL: 25,\n POWER_CREEP_LIFE_TIME: 5000,\n\n POWER_CLASS: {\n OPERATOR: 'operator'\n },\n\n PWR_GENERATE_OPS: 1,\n PWR_OPERATE_SPAWN: 2,\n PWR_OPERATE_TOWER: 3,\n PWR_OPERATE_STORAGE: 4,\n PWR_OPERATE_LAB: 5,\n PWR_OPERATE_EXTENSION: 6,\n PWR_OPERATE_OBSERVER: 7,\n PWR_OPERATE_TERMINAL: 8,\n PWR_DISRUPT_SPAWN: 9,\n PWR_DISRUPT_TOWER: 10,\n PWR_DISRUPT_SOURCE: 11,\n PWR_SHIELD: 12,\n PWR_REGEN_SOURCE: 13,\n PWR_REGEN_MINERAL: 14,\n PWR_DISRUPT_TERMINAL: 15,\n PWR_OPERATE_POWER: 16,\n PWR_FORTIFY: 17,\n PWR_OPERATE_CONTROLLER: 18,\n PWR_OPERATE_FACTORY: 19,\n\n EFFECT_INVULNERABILITY: 1001,\n EFFECT_COLLAPSE_TIMER: 1002,\n\n INVADER_CORE_HITS: 100000,\n INVADER_CORE_CREEP_SPAWN_TIME: {\n 0: 0, 1: 0, 2: 6, 3: 3, 4: 2, 5: 1\n },\n INVADER_CORE_EXPAND_TIME: { 1: 4000, 2: 3500, 3: 3000, 4: 2500, 5: 2000 },\n INVADER_CORE_CONTROLLER_POWER: 2,\n INVADER_CORE_CONTROLLER_DOWNGRADE: 5000,\n STRONGHOLD_RAMPART_HITS: { 0: 0, 1: 100000, 2: 200000, 3: 500000, 4: 1000000, 5: 2000000 },\n STRONGHOLD_DECAY_TICKS: 75000\n});\n\nObject.assign(exports, {\n POWER_INFO: {\n [exports.PWR_GENERATE_OPS]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 50,\n effect: [1, 2, 4, 6, 8]\n },\n [exports.PWR_OPERATE_SPAWN]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 300,\n duration: 1000,\n range: 3,\n ops: 100,\n effect: [0.9, 0.7, 0.5, 0.35, 0.2]\n },\n [exports.PWR_OPERATE_TOWER]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 10,\n duration: 100,\n range: 3,\n ops: 10,\n effect: [1.1, 1.2, 1.3, 1.4, 1.5]\n },\n [exports.PWR_OPERATE_STORAGE]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 800,\n duration: 1000,\n range: 3,\n ops: 100,\n effect: [500000,1000000,2000000,4000000,7000000]\n },\n [exports.PWR_OPERATE_LAB]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 50,\n duration: 1000,\n range: 3,\n ops: 10,\n effect: [2,4,6,8,10]\n },\n [exports.PWR_OPERATE_EXTENSION]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 50,\n range: 3,\n ops: 2,\n effect: [0.2, 0.4, 0.6, 0.8, 1.0]\n },\n [exports.PWR_OPERATE_OBSERVER]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 400,\n duration: [200,400,600,800,1000],\n range: 3,\n ops: 10,\n },\n [exports.PWR_OPERATE_TERMINAL]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 500,\n duration: 1000,\n range: 3,\n ops: 100,\n effect: [0.9, 0.8, 0.7, 0.6, 0.5]\n },\n [exports.PWR_DISRUPT_SPAWN]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 5,\n range: 20,\n ops: 10,\n duration: [1,2,3,4,5]\n },\n [exports.PWR_DISRUPT_TOWER]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 0,\n duration: 5,\n range: 50,\n ops: 10,\n effect: [0.9, 0.8, 0.7, 0.6, 0.5],\n },\n [exports.PWR_DISRUPT_SOURCE]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 100,\n range: 3,\n ops: 100,\n duration: [100, 200, 300, 400, 500]\n },\n [exports.PWR_SHIELD]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n effect: [5000, 10000, 15000, 20000, 25000],\n duration: 50,\n cooldown: 20,\n energy: 100,\n },\n [exports.PWR_REGEN_SOURCE]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [10, 11, 12, 14, 22],\n cooldown: 100,\n duration: 300,\n range: 3,\n effect: [50,100,150,200,250],\n period: 15\n },\n [exports.PWR_REGEN_MINERAL]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [10, 11, 12, 14, 22],\n cooldown: 100,\n duration: 100,\n range: 3,\n effect: [2,4,6,8,10],\n period: 10\n },\n [exports.PWR_DISRUPT_TERMINAL]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [20, 21, 22, 23, 24],\n cooldown: 8,\n duration: 10,\n range: 50,\n ops: [50,40,30,20,10]\n\n },\n [exports.PWR_FORTIFY]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 5,\n range: 3,\n ops: 5,\n duration: [1, 2, 3, 4, 5]\n },\n [exports.PWR_OPERATE_POWER]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [10, 11, 12, 14, 22],\n cooldown: 800,\n range: 3,\n duration: 1000,\n ops: 200,\n effect: [1, 2, 3, 4, 5]\n },\n [exports.PWR_OPERATE_CONTROLLER]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [20, 21, 22, 23, 24],\n cooldown: 800,\n range: 3,\n duration: 1000,\n ops: 200,\n effect: [10, 20, 30, 40, 50]\n },\n [exports.PWR_OPERATE_FACTORY]: {\n className: exports.POWER_CLASS.OPERATOR,\n level: [0, 2, 7, 14, 22],\n cooldown: 800,\n range: 3,\n duration: 1000,\n ops: 100\n },\n },\n\n BODYPARTS_ALL: [\n exports.MOVE,\n exports.WORK,\n exports.CARRY,\n exports.ATTACK,\n exports.RANGED_ATTACK,\n exports.TOUGH,\n exports.HEAL,\n exports.CLAIM\n ],\n RESOURCES_ALL: [\n exports.RESOURCE_ENERGY,\n exports.RESOURCE_POWER,\n\n exports.RESOURCE_HYDROGEN,\n exports.RESOURCE_OXYGEN,\n exports.RESOURCE_UTRIUM,\n exports.RESOURCE_KEANIUM,\n exports.RESOURCE_LEMERGIUM,\n exports.RESOURCE_ZYNTHIUM,\n exports.RESOURCE_CATALYST,\n exports.RESOURCE_GHODIUM,\n\n exports.RESOURCE_HYDROXIDE,\n exports.RESOURCE_ZYNTHIUM_KEANITE,\n exports.RESOURCE_UTRIUM_LEMERGITE,\n\n exports.RESOURCE_UTRIUM_HYDRIDE,\n exports.RESOURCE_UTRIUM_OXIDE,\n exports.RESOURCE_KEANIUM_HYDRIDE,\n exports.RESOURCE_KEANIUM_OXIDE,\n exports.RESOURCE_LEMERGIUM_HYDRIDE,\n exports.RESOURCE_LEMERGIUM_OXIDE,\n exports.RESOURCE_ZYNTHIUM_HYDRIDE,\n exports.RESOURCE_ZYNTHIUM_OXIDE,\n exports.RESOURCE_GHODIUM_HYDRIDE,\n exports.RESOURCE_GHODIUM_OXIDE,\n\n exports.RESOURCE_UTRIUM_ACID,\n exports.RESOURCE_UTRIUM_ALKALIDE,\n exports.RESOURCE_KEANIUM_ACID,\n exports.RESOURCE_KEANIUM_ALKALIDE,\n exports.RESOURCE_LEMERGIUM_ACID,\n exports.RESOURCE_LEMERGIUM_ALKALIDE,\n exports.RESOURCE_ZYNTHIUM_ACID,\n exports.RESOURCE_ZYNTHIUM_ALKALIDE,\n exports.RESOURCE_GHODIUM_ACID,\n exports.RESOURCE_GHODIUM_ALKALIDE,\n\n exports.RESOURCE_CATALYZED_UTRIUM_ACID,\n exports.RESOURCE_CATALYZED_UTRIUM_ALKALIDE,\n exports.RESOURCE_CATALYZED_KEANIUM_ACID,\n exports.RESOURCE_CATALYZED_KEANIUM_ALKALIDE,\n exports.RESOURCE_CATALYZED_LEMERGIUM_ACID,\n exports.RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE,\n exports.RESOURCE_CATALYZED_ZYNTHIUM_ACID,\n exports.RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE,\n exports.RESOURCE_CATALYZED_GHODIUM_ACID,\n exports.RESOURCE_CATALYZED_GHODIUM_ALKALIDE,\n\n exports.RESOURCE_OPS,\n\n exports.RESOURCE_SILICON,\n exports.RESOURCE_METAL,\n exports.RESOURCE_BIOMASS,\n exports.RESOURCE_MIST,\n\n exports.RESOURCE_UTRIUM_BAR,\n exports.RESOURCE_LEMERGIUM_BAR,\n exports.RESOURCE_ZYNTHIUM_BAR,\n exports.RESOURCE_KEANIUM_BAR,\n exports.RESOURCE_GHODIUM_MELT,\n exports.RESOURCE_OXIDANT,\n exports.RESOURCE_REDUCTANT,\n exports.RESOURCE_PURIFIER,\n exports.RESOURCE_BATTERY,\n exports.RESOURCE_COMPOSITE,\n exports.RESOURCE_CRYSTAL,\n exports.RESOURCE_LIQUID,\n\n exports.RESOURCE_WIRE,\n exports.RESOURCE_SWITCH,\n exports.RESOURCE_TRANSISTOR,\n exports.RESOURCE_MICROCHIP,\n exports.RESOURCE_CIRCUIT,\n exports.RESOURCE_DEVICE,\n\n exports.RESOURCE_CELL,\n exports.RESOURCE_PHLEGM,\n exports.RESOURCE_TISSUE,\n exports.RESOURCE_MUSCLE,\n exports.RESOURCE_ORGANOID,\n exports.RESOURCE_ORGANISM,\n\n exports.RESOURCE_ALLOY,\n exports.RESOURCE_TUBE,\n exports.RESOURCE_FIXTURES,\n exports.RESOURCE_FRAME,\n exports.RESOURCE_HYDRAULICS,\n exports.RESOURCE_MACHINE,\n\n exports.RESOURCE_CONDENSATE,\n exports.RESOURCE_CONCENTRATE,\n exports.RESOURCE_EXTRACT,\n exports.RESOURCE_SPIRIT,\n exports.RESOURCE_EMANATION,\n exports.RESOURCE_ESSENCE\n ],\n COLORS_ALL: [\n exports.COLOR_RED,\n exports.COLOR_PURPLE,\n exports.COLOR_BLUE,\n exports.COLOR_CYAN,\n exports.COLOR_GREEN,\n exports.COLOR_YELLOW,\n exports.COLOR_ORANGE,\n exports.COLOR_BROWN,\n exports.COLOR_GREY,\n exports.COLOR_WHITE\n ],\n INTERSHARD_RESOURCES: [\n exports.SUBSCRIPTION_TOKEN,\n exports.CPU_UNLOCK,\n exports.PIXEL,\n exports.ACCESS_KEY\n ],\n COMMODITIES: {\n [exports.RESOURCE_UTRIUM_BAR]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_UTRIUM]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_UTRIUM]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_UTRIUM_BAR]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_LEMERGIUM_BAR]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_LEMERGIUM]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_LEMERGIUM]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_LEMERGIUM_BAR]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_ZYNTHIUM_BAR]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_ZYNTHIUM]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_ZYNTHIUM]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_ZYNTHIUM_BAR]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_KEANIUM_BAR]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_KEANIUM]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_KEANIUM]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_KEANIUM_BAR]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_GHODIUM_MELT]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_GHODIUM]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_GHODIUM]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_GHODIUM_MELT]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_OXIDANT]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_OXYGEN]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_OXYGEN]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_OXIDANT]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_REDUCTANT]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_HYDROGEN]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_HYDROGEN]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_REDUCTANT]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_PURIFIER]: {\n amount: 100,\n cooldown: 20,\n components: {\n [exports.RESOURCE_CATALYST]: 500,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_CATALYST]: {\n amount: 500,\n cooldown: 20,\n components: {\n [exports.RESOURCE_PURIFIER]: 100,\n [exports.RESOURCE_ENERGY]: 200\n }\n },\n [exports.RESOURCE_BATTERY]: {\n amount: 50,\n cooldown: 10,\n components: {\n [exports.RESOURCE_ENERGY]: 600\n }\n },\n [exports.RESOURCE_ENERGY]: {\n amount: 500,\n cooldown: 10,\n components: {\n [exports.RESOURCE_BATTERY]: 50\n }\n },\n [exports.RESOURCE_COMPOSITE]: {\n level: 1,\n amount: 20,\n cooldown: 50,\n components: {\n [exports.RESOURCE_UTRIUM_BAR]: 20,\n [exports.RESOURCE_ZYNTHIUM_BAR]: 20,\n [exports.RESOURCE_ENERGY]: 20\n }\n },\n [exports.RESOURCE_CRYSTAL]: {\n level: 2,\n amount: 6,\n cooldown: 21,\n components: {\n [exports.RESOURCE_LEMERGIUM_BAR]: 6,\n [exports.RESOURCE_KEANIUM_BAR]: 6,\n [exports.RESOURCE_PURIFIER]: 6,\n [exports.RESOURCE_ENERGY]: 45\n }\n },\n [exports.RESOURCE_LIQUID]: {\n level: 3,\n amount: 12,\n cooldown: 60,\n components: {\n [exports.RESOURCE_OXIDANT]: 12,\n [exports.RESOURCE_REDUCTANT]: 12,\n [exports.RESOURCE_GHODIUM_MELT]: 12,\n [exports.RESOURCE_ENERGY]: 90\n }\n },\n\n [exports.RESOURCE_WIRE]: {\n amount: 20,\n cooldown: 8,\n components: {\n [exports.RESOURCE_UTRIUM_BAR]: 20,\n [exports.RESOURCE_SILICON]: 100,\n [exports.RESOURCE_ENERGY]: 40\n }\n },\n [exports.RESOURCE_SWITCH]: {\n level: 1,\n amount: 5,\n cooldown: 70,\n components: {\n [exports.RESOURCE_WIRE]: 40,\n [exports.RESOURCE_OXIDANT]: 95,\n [exports.RESOURCE_UTRIUM_BAR]: 35,\n [exports.RESOURCE_ENERGY]: 20\n }\n },\n [exports.RESOURCE_TRANSISTOR]: {\n level: 2,\n amount: 1,\n cooldown: 59,\n components: {\n [exports.RESOURCE_SWITCH]: 4,\n [exports.RESOURCE_WIRE]: 15,\n [exports.RESOURCE_REDUCTANT]: 85,\n [exports.RESOURCE_ENERGY]: 8\n }\n },\n [exports.RESOURCE_MICROCHIP]: {\n level: 3,\n amount: 1,\n cooldown: 250,\n components: {\n [exports.RESOURCE_TRANSISTOR]: 2,\n [exports.RESOURCE_COMPOSITE]: 50,\n [exports.RESOURCE_WIRE]: 117,\n [exports.RESOURCE_PURIFIER]: 25,\n [exports.RESOURCE_ENERGY]: 16\n }\n },\n [exports.RESOURCE_CIRCUIT]: {\n level: 4,\n amount: 1,\n cooldown: 800,\n components: {\n [exports.RESOURCE_MICROCHIP]: 1,\n [exports.RESOURCE_TRANSISTOR]: 5,\n [exports.RESOURCE_SWITCH]: 4,\n [exports.RESOURCE_OXIDANT]: 115,\n [exports.RESOURCE_ENERGY]: 32\n }\n },\n [exports.RESOURCE_DEVICE]: {\n level: 5,\n amount: 1,\n cooldown: 600,\n components: {\n [exports.RESOURCE_CIRCUIT]: 1,\n [exports.RESOURCE_MICROCHIP]: 3,\n [exports.RESOURCE_CRYSTAL]: 110,\n [exports.RESOURCE_GHODIUM_MELT]: 150,\n [exports.RESOURCE_ENERGY]: 64\n }\n },\n\n [exports.RESOURCE_CELL]: {\n amount: 20,\n cooldown: 8,\n components: {\n [exports.RESOURCE_LEMERGIUM_BAR]: 20,\n [exports.RESOURCE_BIOMASS]: 100,\n [exports.RESOURCE_ENERGY]: 40\n }\n },\n [exports.RESOURCE_PHLEGM]: {\n level: 1,\n amount: 2,\n cooldown: 35,\n components: {\n [exports.RESOURCE_CELL]: 20,\n [exports.RESOURCE_OXIDANT]: 36,\n [exports.RESOURCE_LEMERGIUM_BAR]: 16,\n [exports.RESOURCE_ENERGY]: 8\n }\n },\n [exports.RESOURCE_TISSUE]: {\n level: 2,\n amount: 2,\n cooldown: 164,\n components: {\n [exports.RESOURCE_PHLEGM]: 10,\n [exports.RESOURCE_CELL]: 10,\n [exports.RESOURCE_REDUCTANT]: 110,\n [exports.RESOURCE_ENERGY]: 16\n }\n },\n [exports.RESOURCE_MUSCLE]: {\n level: 3,\n amount: 1,\n cooldown: 250,\n components: {\n [exports.RESOURCE_TISSUE]: 3,\n [exports.RESOURCE_PHLEGM]: 3,\n [exports.RESOURCE_ZYNTHIUM_BAR]: 50,\n [exports.RESOURCE_REDUCTANT]: 50,\n [exports.RESOURCE_ENERGY]: 16\n }\n },\n [exports.RESOURCE_ORGANOID]: {\n level: 4,\n amount: 1,\n cooldown: 800,\n components: {\n [exports.RESOURCE_MUSCLE]: 1,\n [exports.RESOURCE_TISSUE]: 5,\n [exports.RESOURCE_PURIFIER]: 208,\n [exports.RESOURCE_OXIDANT]: 256,\n [exports.RESOURCE_ENERGY]: 32\n }\n },\n [exports.RESOURCE_ORGANISM]: {\n level: 5,\n amount: 1,\n cooldown: 600,\n components: {\n [exports.RESOURCE_ORGANOID]: 1,\n [exports.RESOURCE_LIQUID]: 150,\n [exports.RESOURCE_TISSUE]: 6,\n [exports.RESOURCE_CELL]: 310,\n [exports.RESOURCE_ENERGY]: 64\n }\n },\n\n [exports.RESOURCE_ALLOY]: {\n amount: 20,\n cooldown: 8,\n components: {\n [exports.RESOURCE_ZYNTHIUM_BAR]: 20,\n [exports.RESOURCE_METAL]: 100,\n [exports.RESOURCE_ENERGY]: 40\n }\n },\n [exports.RESOURCE_TUBE]: {\n level: 1,\n amount: 2,\n cooldown: 45,\n components: {\n [exports.RESOURCE_ALLOY]: 40,\n [exports.RESOURCE_ZYNTHIUM_BAR]: 16,\n [exports.RESOURCE_ENERGY]: 8\n }\n },\n [exports.RESOURCE_FIXTURES]: {\n level: 2,\n amount: 1,\n cooldown: 115,\n components: {\n [exports.RESOURCE_COMPOSITE]: 20,\n [exports.RESOURCE_ALLOY]: 41,\n [exports.RESOURCE_OXIDANT]: 161,\n [exports.RESOURCE_ENERGY]: 8\n }\n },\n [exports.RESOURCE_FRAME]: {\n level: 3,\n amount: 1,\n cooldown: 125,\n components: {\n [exports.RESOURCE_FIXTURES]: 2,\n [exports.RESOURCE_TUBE]: 4,\n [exports.RESOURCE_REDUCTANT]: 330,\n [exports.RESOURCE_ZYNTHIUM_BAR]: 31,\n [exports.RESOURCE_ENERGY]: 16\n }\n },\n [exports.RESOURCE_HYDRAULICS]: {\n level: 4,\n amount: 1,\n cooldown: 800,\n components: {\n [exports.RESOURCE_LIQUID]: 150,\n [exports.RESOURCE_FIXTURES]: 3,\n [exports.RESOURCE_TUBE]: 15,\n [exports.RESOURCE_PURIFIER]: 208,\n [exports.RESOURCE_ENERGY]: 32\n }\n },\n [exports.RESOURCE_MACHINE]: {\n level: 5,\n amount: 1,\n cooldown: 600,\n components: {\n [exports.RESOURCE_HYDRAULICS]: 1,\n [exports.RESOURCE_FRAME]: 2,\n [exports.RESOURCE_FIXTURES]: 3,\n [exports.RESOURCE_TUBE]: 12,\n [exports.RESOURCE_ENERGY]: 64\n }\n },\n\n [exports.RESOURCE_CONDENSATE]: {\n amount: 20,\n cooldown: 8,\n components: {\n [exports.RESOURCE_KEANIUM_BAR]: 20,\n [exports.RESOURCE_MIST]: 100,\n [exports.RESOURCE_ENERGY]: 40\n }\n },\n [exports.RESOURCE_CONCENTRATE]: {\n level: 1,\n amount: 3,\n cooldown: 41,\n components: {\n [exports.RESOURCE_CONDENSATE]: 30,\n [exports.RESOURCE_KEANIUM_BAR]: 15,\n [exports.RESOURCE_REDUCTANT]: 54,\n [exports.RESOURCE_ENERGY]: 12\n }\n },\n [exports.RESOURCE_EXTRACT]: {\n level: 2,\n amount: 2,\n cooldown: 128,\n components: {\n [exports.RESOURCE_CONCENTRATE]: 10,\n [exports.RESOURCE_CONDENSATE]: 30,\n [exports.RESOURCE_OXIDANT]: 60,\n [exports.RESOURCE_ENERGY]: 16\n }\n },\n [exports.RESOURCE_SPIRIT]: {\n level: 3,\n amount: 1,\n cooldown: 200,\n components: {\n [exports.RESOURCE_EXTRACT]: 2,\n [exports.RESOURCE_CONCENTRATE]: 6,\n [exports.RESOURCE_REDUCTANT]: 90,\n [exports.RESOURCE_PURIFIER]: 20,\n [exports.RESOURCE_ENERGY]: 16\n }\n },\n [exports.RESOURCE_EMANATION]: {\n level: 4,\n amount: 1,\n cooldown: 800,\n components: {\n [exports.RESOURCE_SPIRIT]: 2,\n [exports.RESOURCE_EXTRACT]: 2,\n [exports.RESOURCE_CONCENTRATE]: 3,\n [exports.RESOURCE_KEANIUM_BAR]: 112,\n [exports.RESOURCE_ENERGY]: 32\n }\n },\n [exports.RESOURCE_ESSENCE]: {\n level: 5,\n amount: 1,\n cooldown: 600,\n components: {\n [exports.RESOURCE_EMANATION]: 1,\n [exports.RESOURCE_SPIRIT]: 3,\n [exports.RESOURCE_CRYSTAL]: 110,\n [exports.RESOURCE_GHODIUM_MELT]: 150,\n [exports.RESOURCE_ENERGY]: 64\n }\n },\n }\n});\n","/**\n * Created by vedi on 19/03/2017.\n */\n\nexport default (duration = { $processorParam: 'tickDuration' }) => ({\n action: 'FadeIn',\n params: [duration],\n});\n","/**\n * Created by vedi on 19/03/2017.\n */\n\nexport default (fromAlpha, toAlpha, toDuration, fromDuration) => ({\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [fromAlpha, 0],\n },\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [toAlpha, toDuration],\n },\n {\n action: 'AlphaTo',\n params: [fromAlpha, fromDuration],\n },\n ],\n ],\n }],\n },\n ]],\n});\n","export default (type, additionalWhen) => ({\n type: 'text',\n once: true,\n layer: 'effects',\n when: (params) => {\n const {\n calcs: { isOwner },\n stateExtra: { gameData: { showEnemyNames, showMyNames } },\n } = params;\n return ((isOwner && showMyNames[type]) || (!isOwner && showEnemyNames[type])) &&\n (!additionalWhen || additionalWhen(params));\n },\n payload: {\n text: { $calc: 'displayName' },\n style: {\n align: 'center',\n fill: { $calc: 'playerColorHex' },\n fontFamily: 'Roboto, sans-serif',\n fontSize: 55,\n stroke: '#111',\n strokeThickness: 15,\n },\n anchor: {\n x: 0.5,\n y: 1.7,\n },\n },\n});\n","export default (alpha1, alpha2, alpha3, alpha4) => ({\n action: 'Spawn',\n params: [[\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [[\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x', koef: 1.2 },\n { $rel: 'scale.y', koef: 1.2 },\n 1,\n ],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n 1,\n ],\n },\n ]],\n }],\n },\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [alpha1, 0.1],\n },\n {\n action: 'AlphaTo',\n params: [alpha2, 0.2],\n },\n {\n action: 'DelayTime',\n params: [{ $random: 2 }],\n },\n {\n action: 'AlphaTo',\n params: [alpha3, 0.2],\n },\n {\n action: 'AlphaTo',\n params: [alpha4, 2.8],\n },\n ]],\n }],\n },\n ]],\n});\n","/**\n * Created by vedi on 13/09/2017.\n */\n\nimport { blinking } from '../action-templates';\nimport constants from '@screeps/common/lib/constants';\n\nconst CELL_SIZE = 100;\n\nexport default {\n data: {\n x: { $state: 'x', koef: CELL_SIZE },\n y: { $state: 'y', koef: CELL_SIZE },\n },\n calculations: [\n {\n id: 'isOwner',\n props: ['user'],\n func: ({ state: { user }, stateExtra: { gameData: { player } } }) =>\n // eslint-disable-next-line eqeqeq\n (user === undefined ? undefined : player == user),\n },\n {\n id: 'playerColor',\n props: ['user'],\n func: ({ calcs: { isOwner } }) => {\n if (isOwner === undefined) {\n return 0xBBBBBB;\n } else if (isOwner) {\n return 0x8fbb93;\n } else {\n return 0xFF7777;\n }\n },\n },\n {\n id: 'playerColorHex',\n props: ['user'],\n func: ({ calcs: { isOwner } }) =>\n (isOwner ? '#8fbb93' : '#FF7777'),\n },\n {\n id: 'playerColorIntense',\n props: ['user'],\n func: ({ calcs: { isOwner } }) =>\n (isOwner ? 0x00ff00 : 0x00ff00),\n },\n {\n id: 'viewBox',\n func: ({ world: { options: { VIEW_BOX } } }) => VIEW_BOX,\n },\n {\n id: 'hasEffect',\n func: ({ state: { effects }, stateExtra: { gameTime } }) =>\n effects && Object.values(effects).some(effect => !!constants.POWER_INFO[effect.power] && effect.endTime > gameTime),\n },\n {\n id: 'decorations',\n func: ({ world: { decorations = [] } }) => decorations,\n },\n ],\n processors: [\n {\n type: 'objectDecoration',\n props: ['decorations'],\n },\n {\n type: 'draw',\n once: true,\n when: ({ state: { _isDisabled } }) => !!_isDisabled,\n layer: 'effects',\n payload: {\n drawings: [\n { method: 'beginFill', params: [0xFF0000] },\n {\n method: 'drawRect',\n params: [-50, -50, 100, 100],\n },\n { method: 'endFill' },\n ],\n blendMode: 1,\n },\n actions: [blinking(0, 0.5, 0.3, 1.5)],\n },\n {\n type: 'sprite',\n layer: 'effects',\n id: 'flare',\n props: ['hasEffect'],\n payload: {\n texture: 'flare3',\n width: 300,\n height: 300,\n alpha: 0,\n blendMode: 1,\n tint: 0xFF0000,\n },\n when: ({ calcs: { hasEffect } }) => hasEffect,\n actions: [\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [0.4, 0.2],\n },\n {\n action: 'AlphaTo',\n params: [0, 1],\n },\n {\n action: 'DelayTime',\n params: [2],\n },\n ],\n ],\n }],\n },\n {\n action: 'Repeat',\n params: [{\n action: 'RotateBy',\n params: [2 * Math.PI, 1],\n }],\n }\n ],\n },\n ],\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { blinking } from '../action-templates';\n\nexport default {\n texture: 'constructedWall',\n processors: [\n {\n type: 'sprite',\n once: true,\n payload: {\n width: 100,\n height: 100,\n blendMode: 1,\n },\n },\n {\n type: 'draw',\n once: true,\n when: ({ state: { hits, hitsMax } }) => hits === 1 && hitsMax > 1,\n layer: 'effects',\n payload: {\n drawings: [\n { method: 'beginFill', params: [0xFF0000] },\n {\n method: 'drawRect',\n params: [-50, -50, 100, 100],\n },\n { method: 'endFill' },\n ],\n blendMode: 1,\n },\n actions: [blinking(0, 0.2, 0.3, 1.5)],\n },\n ],\n zIndex: 0,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { blinking } from '../action-templates';\n\nexport default {\n texture: 'constructionSite',\n processors: [\n {\n id: 'siteProgress',\n type: 'siteProgress',\n layer: 'effects',\n props: ['progress', 'progressTotal'],\n payload: {\n color: { $calc: 'playerColor' },\n radius: 20,\n lineWidth: 10,\n progress: { $state: 'progress' },\n progressTotal: { $state: 'progressTotal' },\n },\n actions: [blinking(0.8, 0.3, 1, 1)],\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: 18,\n};\n","/**\n * Created by vedi on 19/03/2017.\n */\n\nexport default () => {\n return ({\n id: 'resourcesTotal',\n func: ({ state }) => _.reduce(state.store, (sum, cur) => cur + sum, 0)\n });\n};\n","/**\n * Created by vedi on 19/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\n\nexport default {\n texture: 'rectangle',\n calculations: [\n resourceTotal(),\n {\n id: 'energyBackgroundHeight',\n func: ({ state: { storeCapacity }, calcs: { resourcesTotal } }) =>\n (resourcesTotal * 50) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'energyHeight',\n func: ({ state: { store = {}, storeCapacity }, calcs: { resourcesTotal } }) =>\n ((store['energy']||0) * 50) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'powerHeight',\n func: ({ state: { store = {}, storeCapacity },\n calcs: { resourcesTotal } }) =>\n (((store['power']||0) + (store['energy']||0)) * 50) / (storeCapacity || resourcesTotal),\n },\n ],\n processors: [\n {\n type: 'sprite',\n id: 'border',\n once: true,\n payload: {\n width: 60,\n height: 70,\n tint: 0x181818,\n },\n },\n {\n id: 'internalBorder',\n type: 'sprite',\n once: true,\n payload: {\n width: 40,\n height: 50,\n tint: 0x5555555,\n },\n },\n {\n type: 'sprite',\n id: 'otherResourcesBar',\n props: ['store', 'energyBackgroundHeight', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} }, calcs: { resourcesTotal } }) =>\n store['energy']||0 + store['power']||0 < resourcesTotal,\n payload: {\n pivot: {\n y: { $calc: 'energyBackgroundHeight' },\n },\n y: 25,\n width: 40,\n height: { $calc: 'energyBackgroundHeight' },\n tint: 0xffffff,\n },\n },\n {\n type: 'sprite',\n id: 'powerBar',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['power'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'powerHeight' },\n },\n y: 25,\n width: 40,\n height: { $calc: 'powerHeight' },\n tint: 0xf41f33,\n },\n },\n {\n type: 'sprite',\n id: 'energyBar',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['energy'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'energyHeight' },\n },\n y: 25,\n width: 40,\n height: { $calc: 'energyHeight' },\n tint: 0xffe56d,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['resourcesTotal'],\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n ],\n zIndex: 4,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport constants from '@screeps/common/lib/constants';\n\nimport { blinking } from '../action-templates';\n\nexport default {\n texture: 'controller',\n calculations: [\n {\n id: 'level1Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 1,\n },\n {\n id: 'level2Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 2,\n },\n {\n id: 'level3Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 3,\n },\n {\n id: 'level4Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 4,\n },\n {\n id: 'level5Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 5,\n },\n {\n id: 'level6Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 6,\n },\n {\n id: 'level7Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 7,\n },\n {\n id: 'level8Visible',\n props: ['level'],\n func: ({ state: { level } }) => level >= 8,\n },\n {\n id: 'downgradeOpacity',\n func: ({ state: { level, downgradeTime }, stateExtra: { gameTime } }) => {\n const { CONTROLLER_DOWNGRADE } = constants;\n\n if (!downgradeTime || !level || !gameTime) {\n return 0;\n }\n return (CONTROLLER_DOWNGRADE[level] - (downgradeTime - gameTime)) /\n CONTROLLER_DOWNGRADE[level];\n },\n },\n {\n id: 'progressTotal',\n func: ({ state: { level } }) => {\n const { CONTROLLER_LEVELS } = constants;\n return CONTROLLER_LEVELS[level];\n },\n },\n ],\n processors: [\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0x33ff33,\n radius: 110,\n },\n shouldRun: ({ state: { reservation }, stateExtra: { gameData: { player } } }) =>\n reservation && reservation.user === player,\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xff3333,\n radius: 110,\n },\n shouldRun: ({\n state: { upgradeBlocked, reservation },\n stateExtra: { gameTime, gameData: { player } },\n }) =>\n (upgradeBlocked && upgradeBlocked > gameTime) ||\n (reservation && reservation.user !== player),\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xff3333,\n radius: 110,\n },\n shouldRun: ({\n state: { upgradeBlocked, reservation },\n stateExtra: { gameTime, gameData: { player } },\n }) =>\n (upgradeBlocked && upgradeBlocked > gameTime) ||\n (reservation && reservation.user !== player),\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n id: 'safeMode1',\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xffd180,\n radius: 110,\n },\n shouldRun: ({ state: { safeMode }, stateExtra: { gameTime } }) =>\n safeMode && safeMode > gameTime,\n actions: [blinking(0.05, 0.4, 1, 1)],\n },\n {\n type: 'circle',\n once: true,\n payload: {\n alpha: 0.05,\n color: 0xffffff,\n radius: 92,\n },\n },\n {\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'glow',\n alpha: 0.1,\n tint: 0xffd180,\n width: 1,\n height: 1,\n blendMode: 1,\n },\n shouldRun: ({ state: { safeMode }, stateExtra: { gameTime } }) =>\n safeMode && safeMode > gameTime,\n actions: [\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [50, 50, 1.5],\n },\n {\n action: 'AlphaTo',\n params: [0, 1.5],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.05, 0],\n },\n ]],\n },\n {\n action: 'DelayTime',\n params: [6],\n },\n ],\n ],\n }],\n },\n ],\n },\n\n {\n type: 'sprite',\n layer: 'effects',\n props: ['isPowerEnabled'],\n payload: {\n texture: 'flare1',\n alpha: 0.4,\n tint: 0xff0000,\n width: 1,\n height: 1,\n blendMode: 1,\n },\n when: ({ state: { isPowerEnabled } }) => !!isPowerEnabled,\n actions: [\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [20, 20, 1.0],\n },\n {\n action: 'AlphaTo',\n params: [0, 1.0],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.4, 0],\n },\n ]],\n },\n {\n action: 'DelayTime',\n params: [5],\n },\n ],\n ],\n }]\n },\n ],\n },\n\n {\n type: 'sprite',\n once: true,\n payload: {\n tint: 0x000000,\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n props: ['level1Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n visible: { $calc: 'level1Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level2Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: (2 * Math.PI) / 8,\n visible: { $calc: 'level2Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level3Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 2 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level3Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level4Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 3 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level4Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level5Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 4 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level5Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level6Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 5 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level6Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level7Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 6 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level7Visible' },\n },\n },\n {\n type: 'sprite',\n props: ['level8Visible'],\n payload: {\n texture: 'controller-level',\n width: 100,\n height: 100,\n anchor: {\n y: 1,\n },\n rotation: 7 * ((2 * Math.PI) / 8),\n visible: { $calc: 'level8Visible' },\n },\n },\n {\n type: 'userBadge',\n props: ['user', 'level'],\n },\n {\n id: 'siteProgress',\n type: 'siteProgress',\n props: ['progress', 'progressTotal', 'level'],\n payload: {\n color: 0xFFFFFF,\n radius: 37,\n lineWidth: 0,\n progress: { $state: 'progress' },\n progressTotal: { $calc: 'progressTotal' },\n },\n when: ({ state: { progress } }) => progress > 0,\n actions: [blinking(0.8, 0.3, 1, 1)],\n },\n {\n type: 'circle',\n props: ['level'],\n payload: {\n radius: 40,\n strokeColor: 0x080808,\n strokeWidth: 10,\n },\n },\n {\n id: 'downgrade',\n type: 'sprite',\n once: true,\n layer: 'effects',\n payload: {\n alpha: 0,\n width: 200,\n height: 200,\n tint: 0xff3333,\n },\n },\n {\n type: 'runAction',\n payload: {\n id: 'downgrade',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [\n { $calc: 'downgradeOpacity' },\n { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [\n 0,\n { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ],\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['user'],\n payload: {\n texture: 'glow',\n width: 1200,\n height: 1200,\n alpha: 0.5,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['user'],\n shouldRun: ({ state: { user } }) => !!user,\n payload: {\n texture: 'glow',\n width: 500,\n height: 500,\n alpha: 1,\n },\n },\n ],\n zIndex: 4,\n};\n","/**\n * Created by vedi on 07/04/2017.\n */\n\nexport const calculateAngle = (x0, y0, x, y) => {\n let angle = Math.atan2(y - y0, x - x0) + (Math.PI / 2);\n if (angle > Math.PI) {\n angle -= 2 * Math.PI;\n } else if (angle < -Math.PI) {\n angle += 2 * Math.PI;\n }\n return angle;\n};\nexport const convertGameXYToWorld = ({ x, y }, { CELL_SIZE }) => ({\n x: (CELL_SIZE * x),\n y: (CELL_SIZE * y),\n});\nexport const scaleGameToWorld = (value, { CELL_SIZE }) => CELL_SIZE * value;\n\nexport default {\n calculateAngle,\n convertGameXYToWorld,\n scaleGameToWorld,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport mathHelper from '../../../helpers/mathHelper';\n\nimport { displayName } from '../action-templates';\nimport { resourceTotal } from '../calculation-templates';\n\nconst CELL_SIZE = 100;\nconst ENERGY_RADIUS = 20;\nconst isNpc = ({ state: { user } }) => user === '3' || user === '2';\nconst isNotNpc = (...params) => !isNpc(...params);\n\nexport default {\n texture: 'creep',\n calculations: [\n {\n id: 'displayName',\n func: ({ calcs: { isOwner }, state: { name, user }, stateExtra: { users } }) =>\n (isOwner ? name : users[user].username),\n },\n {\n id: 'rotation',\n props: ['x', 'y'],\n func: ({ prevState: { x: prevX, y: prevY } = {}, state: { x, y } }) => {\n const { calculateAngle } = mathHelper;\n return (prevX !== undefined && prevY !== undefined ?\n calculateAngle(prevX, prevY, x, y) : 0);\n },\n },\n resourceTotal(),\n {\n id: 'resourcesTotalRadius',\n func: ({ state: { storeCapacity }, calcs: { resourcesTotal } }) =>\n Math.min(1, resourcesTotal / storeCapacity) * ENERGY_RADIUS,\n },\n {\n id: 'energyRadius',\n func: ({ state: { store, storeCapacity } }) =>\n Math.min(1, (store['energy']||0) / storeCapacity) * ENERGY_RADIUS,\n },\n {\n id: 'powerRadius',\n func: ({ state: { store, storeCapacity } }) =>\n Math.min(1, ((store['energy']||0) + (store['power']||0)) / storeCapacity) * ENERGY_RADIUS,\n },\n {\n id: 'safeMode',\n func: ({\n stateExtra,\n state: { user },\n stateExtra: { controller, gameTime, objects },\n }) => {\n if (controller === undefined) {\n controller = objects.find(i => i.type === 'controller') || null;\n stateExtra.controller = controller;\n }\n return controller && controller.safeMode > gameTime && controller.user !== user ?\n 0.5 : 1.0;\n },\n },\n ],\n processors: [\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'mainContainer',\n },\n },\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'decorationContainer',\n parentId: 'mainContainer',\n },\n },\n {\n type: 'creepDecoration',\n props: ['spawning', 'decorations'],\n when: (({ state: { spawning } }) => !spawning),\n payload: {\n parentId: 'decorationContainer',\n },\n },\n {\n type: 'circle',\n once: true,\n payload: {\n parentId: 'mainContainer',\n color: 0x202020,\n radius: 50,\n },\n when: isNotNpc,\n },\n {\n type: 'creepBuildBody',\n props: ['body'],\n payload: {\n parentId: 'mainContainer',\n },\n when: isNotNpc,\n },\n {\n type: 'circle',\n once: true,\n payload: {\n parentId: 'mainContainer',\n color: 0x000000,\n radius: 32,\n },\n when: isNotNpc,\n },\n {\n type: 'userBadge',\n once: true,\n payload: {\n parentId: 'mainContainer',\n radius: 26,\n color: 0x222222,\n },\n when: isNotNpc,\n },\n {\n type: 'circle',\n props: ['store', 'resourcesTotal'],\n when: ({ state: { store = {}, user }, calcs: { resourcesTotal } }) =>\n user !== '3' && user !== '2' && resourcesTotal > 0 && (store['energy']||0 + store['power']||0 < resourcesTotal),\n payload: {\n parentId: 'mainContainer',\n radius: { $calc: 'resourcesTotalRadius' },\n color: 0xffffff,\n },\n },\n {\n type: 'circle',\n props: ['store'],\n when: ({ state: { store = {}, user } }) => user !== '3' && user !== '2' && store['power'] > 0,\n payload: {\n parentId: 'mainContainer',\n radius: { $calc: 'powerRadius' },\n color: 0xf41f33,\n },\n },\n {\n type: 'circle',\n props: ['store'],\n when: ({ state: { store = {}, user } }) => user !== '3' && user !== '2' && store['energy'] > 0,\n payload: {\n parentId: 'mainContainer',\n radius: { $calc: 'energyRadius' },\n color: 0xffe56d,\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n parentId: 'mainContainer',\n texture: 'creep-npc',\n width: 100,\n height: 100,\n },\n when: isNpc,\n },\n {\n type: 'creepActions',\n payload: {\n parentId: 'mainContainer',\n },\n props: '*',\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n when: ((params) => {\n const { state: { spawning } } = params;\n return !spawning && isNotNpc(params);\n }),\n payload: {\n parentId: 'mainContainer',\n texture: 'creep-mask',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n when: isNpc,\n payload: {\n parentId: 'mainContainer',\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 0.5,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: (({ state: { spawning } }) => !spawning),\n payload: {\n parentId: 'mainContainer',\n texture: 'glow',\n width: 400,\n height: 400,\n alpha: 0.2,\n },\n },\n displayName('creeps', ({ state: { spawning } }) => !spawning),\n {\n type: 'say',\n layer: 'effects',\n when: ({\n state: { actionLog: { say } = {} },\n stateExtra: { gameData: { showCreepSpeech } },\n calcs: { isOwner },\n }) =>\n !!showCreepSpeech && !!say && (say.isPublic || isOwner),\n payload: {\n say: { $state: 'actionLog.say' },\n },\n },\n {\n id: 'rangedMassAttack',\n type: 'circle',\n layer: 'effects',\n once: true,\n payload: {\n alpha: 0,\n color: 0x5d80b2,\n radius: 300,\n blendMode: 1,\n },\n },\n {\n type: 'runAction',\n payload: {\n id: 'rangedMassAttack',\n },\n when: ({ state: { actionLog: { rangedMassAttack } = {} } }) => !!rangedMassAttack,\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.4, 0],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'Ease',\n params: [{\n action: 'ScaleTo',\n params: [1, 1, { $processorParam: 'tickDuration', koef: 0.6 }],\n }],\n },\n {\n action: 'Ease',\n params: [{\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.6 }],\n }],\n },\n ]],\n },\n ]],\n }],\n },\n ],\n actions: [\n {\n id: 'moveTo',\n props: ['x', 'y'],\n actions: [{\n action: 'Ease',\n params: [\n {\n action: 'MoveTo',\n params: [\n { $state: 'x', koef: CELL_SIZE },\n { $state: 'y', koef: CELL_SIZE },\n { $processorParam: 'tickDuration' },\n ],\n },\n 'EASE_IN_OUT_QUAD',\n ],\n }],\n },\n {\n id: 'rotateTo',\n props: ['rotation'],\n targetId: 'mainContainer',\n actions: [{\n action: 'RotateTo',\n params: [\n { $calc: 'rotation' },\n { $processorParam: 'tickDuration', koef: 0.2 },\n ],\n }],\n },\n {\n id: 'safeModeAlpha',\n props: ['safeMode'],\n targetId: 'mainContainer',\n actions: [{\n action: 'AlphaTo',\n params: [{ $calc: 'safeMode' }, 0],\n }],\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: 6,\n};\n","import { flickering } from '../action-templates';\n\nconst scaleAction = {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [{\n action: 'Ease',\n params: [{\n action: 'ScaleTo',\n params: [0.7, 0.7, 1],\n }],\n }, {\n action: 'Ease',\n params: [{\n action: 'ScaleTo',\n params: [1.0, 1.0, 0.3],\n }],\n }],\n ],\n }],\n};\n\nconst COLORS = {\n biomass: 0x84b012,\n metal: 0x956f5c,\n mist: 0xda6bf5,\n silicon: 0x4ca7e5,\n};\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime >= gameTime;\n\nexport default {\n calculations: [\n {\n id: 'deposit',\n props: ['depositType'],\n func: ({ state: { depositType } }) => `deposit-${depositType}`,\n },\n {\n id: 'deposit-fill',\n props: ['depositType'],\n func: ({ state: { depositType } }) => `deposit-${depositType}-fill`,\n },\n {\n id: 'color',\n props: ['depositType'],\n func: ({ state: { depositType } }) => COLORS[depositType],\n },\n {\n id: 'harvested',\n props: ['harvested'],\n func: ({ state: { depositType, harvested = 0 } }) => {\n return Math.max(0, 0.6 - (harvested / 100000));\n },\n },\n ],\n processors: [\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'container',\n },\n },\n {\n type: 'runAction',\n once: true,\n when: isCooldown,\n payload: {\n id: 'container',\n },\n actions: [scaleAction],\n },\n {\n type: 'sprite',\n payload: {\n parentId: 'container',\n texture: { $calc: 'deposit-fill' },\n width: 160,\n height: 160,\n alpha: { $calc: 'harvested' },\n tint: { $calc: 'color' }\n },\n },\n {\n type: 'sprite',\n payload: {\n parentId: 'container',\n texture: { $calc: 'deposit' },\n width: 160,\n height: 160,\n tint: { $calc: 'color' }\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n parentId: 'container',\n texture: { $calc: 'deposit' },\n width: 160,\n height: 160,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 700,\n height: 700,\n alpha: 1,\n tint: { $calc: 'color' },\n },\n actions: [flickering(0.7, 0.4, 1.0, 0.4)],\n },\n ],\n zIndex: 1,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nconst METADATA = {\n small: 68,\n medium: 80,\n large: 100,\n};\n\nexport default {\n calculations: [\n {\n id: 'size',\n props: ['storeCapacityResource'],\n func: ({ state: { storeCapacityResource } }) => {\n if (storeCapacityResource && storeCapacityResource.energy >= 200) {\n return METADATA.large;\n } else if (storeCapacityResource && storeCapacityResource.energy >= 100) {\n return METADATA.medium;\n } else {\n return METADATA.small;\n }\n },\n },\n {\n id: 'resourceScale',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource ? Math.min(1, (store.energy||0) / storeCapacityResource.energy) : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: true,\n when: ({ state: { storeCapacityResource } }) => !storeCapacityResource || storeCapacityResource.energy < 100,\n payload: {\n texture: 'extension-border50',\n tint: { $calc: 'playerColor' },\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: ({ state: { storeCapacityResource } }) => storeCapacityResource && storeCapacityResource.energy === 100,\n payload: {\n texture: 'extension-border100',\n tint: { $calc: 'playerColor' },\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: ({ state: { storeCapacityResource } }) => storeCapacityResource && storeCapacityResource.energy === 200,\n payload: {\n texture: 'extension-border200',\n tint: { $calc: 'playerColor' },\n width: 100,\n height: 100,\n },\n },\n\n {\n type: 'sprite',\n props: ['storeCapacityResource'],\n payload: {\n texture: 'extension',\n width: { $calc: 'size' },\n height: { $calc: 'size' },\n },\n },\n {\n id: 'resourceCircle',\n props: ['storeCapacityResource'],\n type: 'circle',\n payload: {\n radius: { $calc: 'size', koef: 0.32 },\n color: 0xffe56d,\n scale: {\n x: { $calc: 'resourceScale' },\n y: { $calc: 'resourceScale' },\n },\n },\n },\n {\n type: 'runAction',\n props: ['resourceScale'],\n payload: {\n id: 'resourceCircle',\n },\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store && store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store, storeCapacityResource } }) => (store.energy||0) > 0 &&\n storeCapacityResource && storeCapacityResource.energy === 50),\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 0.7,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store, storeCapacityResource } }) => (store.energy||0) > 0 &&\n storeCapacityResource && storeCapacityResource.energy === 100),\n payload: {\n texture: 'glow',\n width: 220,\n height: 220,\n alpha: 0.7,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store, storeCapacityResource } }) => (store.energy||0) > 0 &&\n storeCapacityResource && storeCapacityResource.energy === 200),\n payload: {\n texture: 'glow',\n width: 250,\n height: 250,\n alpha: 0.7,\n },\n },\n ],\n zIndex: 7,\n};\n","/**\n * Created by vedi on 04/09/2017.\n */\nexport default {\n processors: [\n {\n id: 'main',\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'extractor',\n width: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'runAction',\n once: true,\n when: ({ state: { cooldown } }) => cooldown > 0,\n until: ({ state: { cooldown } }) => !cooldown || cooldown <= 0,\n payload: {\n id: 'main',\n },\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'RotateBy',\n params: [2 * Math.PI, 4],\n }],\n }],\n },\n ],\n zIndex: 0,\n};\n","/**\n * Created by vedi on 19/04/2017.\n */\n\nimport { PWR_OPERATE_FACTORY } from '@screeps/common/lib/constants';\n\nimport { blinking } from '../action-templates';\nimport { resourceTotal } from '../calculation-templates';\n\nconst SPRITE_SIZE = 200;\nconst CONTAINER_SIZE = 50.0;\n\nconst COLOR_CONTAINER = 0x555555;\nconst COLOR_ENERGY = 0xfadf7e;\nconst COLOR_POWER = 0xf41f33;\nconst COLOR_RESOURCE = 0xFFFFFF;\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime >= gameTime;\nconst isNotCooldown = (...params) => !isCooldown(...params);\nconst isLevel = ({ state: { level } }) => level > 0;\nconst isPowerOperate = ({ state: { effects }, stateExtra: { gameTime } }) =>\n effects && Object.values(effects).some(({ power, endTime }) =>\n power === PWR_OPERATE_FACTORY && endTime >= gameTime);\nconst isLevelBlinking = (...params) => isLevel(...params) && !isPowerOperate(...params);\nconst isNotLevelBlinking = (...params) => !isLevelBlinking(...params);\n\nexport default {\n texture: 'rectangle',\n calculations: [\n resourceTotal(),\n {\n id: 'energyBackgroundHeight',\n func: ({ state: { storeCapacity }, calcs: { resourcesTotal } }) =>\n (resourcesTotal * CONTAINER_SIZE) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'energyHeight',\n func: ({ state: { store = {}, storeCapacity }, calcs: { resourcesTotal } }) =>\n ((store['energy']||0) * CONTAINER_SIZE) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'powerHeight',\n func: ({ state: { store = {}, storeCapacity },\n calcs: { resourcesTotal } }) =>\n ((store['power']||0 + store['energy']||0) * CONTAINER_SIZE) / (storeCapacity || resourcesTotal),\n },\n {\n id: 'factory-lvl',\n props: ['level'],\n func: ({ state: { level = 0 } }) => `factory-lvl${level}`,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'factory-border',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'factory',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n },\n },\n {\n id: 'factory-highlight',\n type: 'sprite',\n once: true,\n payload: {\n texture: 'factory-highlight',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n alpha: 0.4\n },\n },\n {\n type: 'runAction',\n when: isCooldown,\n payload: {\n id: 'factory-highlight',\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [1, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n }]\n },{\n type: 'runAction',\n when: isNotCooldown,\n payload: {\n id: 'factory-highlight',\n },\n actions: [\n {\n action: 'AlphaTo',\n params: [0.4, 0],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'factory-lvl0',\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n },\n },\n {\n id: 'level',\n type: 'sprite',\n when: isLevel,\n once: true,\n payload: {\n texture: { $calc: 'factory-lvl' },\n width: SPRITE_SIZE,\n height: SPRITE_SIZE,\n },\n },\n {\n type: 'runAction',\n when: isLevelBlinking,\n once: true,\n payload: {\n id: 'level',\n },\n actions: [\n blinking(0, 1, 0.2, 0.8),\n ],\n },\n {\n type: 'runAction',\n when: isNotLevelBlinking,\n payload: {\n id: 'level',\n },\n actions: [\n {\n action: 'AlphaTo',\n params: [1, 0],\n },\n ],\n },\n {\n id: 'internalBorder',\n type: 'sprite',\n once: true,\n payload: {\n width: CONTAINER_SIZE,\n height: CONTAINER_SIZE,\n tint: COLOR_CONTAINER,\n },\n },\n {\n type: 'sprite',\n id: 'otherResourcesBar',\n props: ['store', 'energyBackgroundHeight', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} }, calcs: { resourcesTotal } }) =>\n store['energy']||0 + store['power']||0 < resourcesTotal,\n payload: {\n pivot: {\n y: { $calc: 'energyBackgroundHeight' },\n },\n y: 25,\n width: CONTAINER_SIZE,\n height: { $calc: 'energyBackgroundHeight' },\n tint: COLOR_RESOURCE,\n },\n },\n {\n id: 'powerBar',\n type: 'sprite',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['power'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'powerHeight' },\n },\n y: 25,\n width: CONTAINER_SIZE,\n height: { $calc: 'powerHeight' },\n tint: COLOR_POWER,\n },\n },\n {\n id: 'energyBar',\n type: 'sprite',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store = {} } }) => store['energy'] > 0,\n payload: {\n pivot: {\n y: { $calc: 'energyHeight' },\n },\n y: 25,\n width: CONTAINER_SIZE,\n height: { $calc: 'energyHeight' },\n tint: COLOR_ENERGY,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 7,\n};\n","const CELL_SIZE = 100;\nconst FLAG_COLORS = {\n 1: 0xF44336,\n 2: 0x9C27B0,\n 3: 0x2196F3,\n 4: 0x00BCD4,\n 5: 0x4CAF50,\n 6: 0xFFEB3B,\n 7: 0xFF9800,\n 8: 0x795548,\n 9: 0x9E9E9E,\n 10: 0xFFFFFF,\n};\n\nexport default {\n calculations: [\n {\n id: 'flagColor',\n func: ({ state: { color } }) => FLAG_COLORS[color],\n },\n {\n id: 'flagSecondaryColor',\n func: ({ state: { secondaryColor } }) => FLAG_COLORS[secondaryColor],\n },\n ],\n processors: [\n {\n type: 'sprite',\n props: ['color'],\n layer: 'effects',\n payload: {\n texture: 'flag',\n width: 200,\n height: 200,\n tint: { $calc: 'flagColor' },\n },\n },\n {\n type: 'sprite',\n props: ['secondaryColor'],\n layer: 'effects',\n payload: {\n texture: 'flag-secondary',\n width: 200,\n height: 200,\n tint: { $calc: 'flagSecondaryColor' },\n },\n when: ({ state: { secondaryColor } }) => !!secondaryColor,\n },\n {\n type: 'text',\n props: ['color'],\n layer: 'effects',\n shouldRun: ({ stateExtra: { gameData: { showFlagsNames } } }) => !!showFlagsNames,\n payload: {\n text: { $state: 'name' },\n style: {\n align: 'center',\n fill: { $calc: 'flagColor' },\n fontFamily: 'Roboto, sans-serif',\n fontSize: 60,\n stroke: '#111',\n strokeThickness: 10,\n },\n anchor: {\n x: 0.5,\n y: -0.5,\n },\n },\n },\n ],\n actions: [\n {\n id: 'moveTo',\n props: ['x', 'y'],\n actions: [{\n action: 'MoveTo',\n params: [\n { $state: 'x', koef: CELL_SIZE },\n { $state: 'y', koef: CELL_SIZE },\n 0,\n ],\n }],\n },\n ],\n};\n","/**\n * Created by vedi on 31/08/2017.\n */\nimport resourceTotal from '../calculation-templates/resourceTotal';\n\nconst mineralPath = {\n texture: 'lab-mineral',\n tint: 0x777777,\n anchor: {\n y: 1,\n },\n scale: {\n x: 0.6875,\n y: 0.6875,\n },\n y: 25,\n};\n\nconst mineralColorActive = 0xffffff;\n\nconst energyRectangle = {\n color: 0xffe56d,\n x: -40,\n y: 32,\n width: 67,\n height: 10,\n};\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime > gameTime;\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'mineralPathScale',\n props: ['store', 'storeCapacity', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacity, storeCapacityResource }, calcs: { resourcesTotal } }) => {\n const { scale: { x: scale } } = mineralPath;\n const mineralType = _(store).keys().filter(k => k != 'energy' && store[k]).first();\n if(!mineralType) {\n return 0;\n }\n const mineralCapacity = storeCapacityResource[mineralType] || storeCapacity - _.sum(storeCapacityResource);\n if(!mineralCapacity) {\n return 0;\n }\n return (scale * (store[mineralType]||0)) / mineralCapacity;\n },\n },\n {\n id: 'energyWidth',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource.energy ?\n (energyRectangle.width * (store.energy||0)) / storeCapacityResource.energy : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'lab',\n width: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: 'true',\n id: 'lab-highlight',\n payload: {\n texture: 'lab-highlight',\n width: 200,\n alpha: 0,\n },\n },\n {\n type: 'runAction',\n when: isCooldown,\n payload: {\n id: 'lab-highlight',\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [0.5, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n }],\n },\n {\n type: 'sprite',\n once: 'true',\n payload: mineralPath,\n },\n {\n type: 'sprite',\n props: ['mineralPathScale'],\n payload: Object.assign(\n { },\n mineralPath,\n {\n scale: { x: { $calc: 'mineralPathScale' }, y: { $calc: 'mineralPathScale' } },\n tint: mineralColorActive,\n }\n ),\n },\n {\n type: 'draw',\n props: ['energyWidth'],\n payload: {\n id: 'energyRectangle',\n drawings: [\n { method: 'beginFill', params: [energyRectangle.color] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'energyWidth', koef: -0.5 },\n energyRectangle.y,\n { $calc: 'energyWidth' },\n energyRectangle.height,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'creepActions',\n props: '*',\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: (({ state: { store }, calcs: { resourcesTotal } }) => (resourcesTotal-(store.energy||0)) > 0),\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n alpha: 1,\n },\n },\n {\n id: 'light',\n type: 'sprite',\n once: true,\n layer: 'lighting',\n props: ['store'],\n shouldRun: (({ state: { store }, calcs: { resourcesTotal } }) => (resourcesTotal-(store.energy||0)) > 0),\n payload: {\n texture: 'glow',\n width: 500,\n height: 500,\n alpha: 0.3,\n },\n },\n {\n id: 'reactionLight',\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n alpha: 0,\n blendMode: 1,\n },\n },\n {\n type: 'runAction',\n shouldRun: (({ state }) => state.actionLog && state.actionLog.runReaction),\n payload: {\n id: 'reactionLight',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'DelayTime',\n params: [{ $processorParam: 'tickDuration', koef: 0.3 }],\n },\n {\n action: 'AlphaTo',\n params: [1.0, { $processorParam: 'tickDuration', koef: 0.15 }],\n },\n {\n action: 'AlphaTo',\n params: [0.0, { $processorParam: 'tickDuration', koef: 0.55 }],\n },\n ],\n ],\n },\n ],\n },\n {\n type: 'runAction',\n shouldRun: (({ state }) => state.actionLog && state.actionLog.reverseReaction),\n payload: {\n id: 'reactionLight',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [1.0, { $processorParam: 'tickDuration', koef: 0.15 }],\n },\n {\n action: 'AlphaTo',\n params: [0.0, { $processorParam: 'tickDuration', koef: 0.55 }],\n },\n {\n action: 'DelayTime',\n params: [{ $processorParam: 'tickDuration', koef: 0.3 }],\n },\n ],\n ],\n }\n ]\n },\n ],\n zIndex: 15,\n};\n","/**\n * Created by vedi on 29/08/2017.\n */\n\nexport default {\n calculations: [\n {\n id: 'energyScale',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource ? Math.min(1, (store.energy||0) / storeCapacityResource.energy) : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'link-border',\n width: 100,\n height: 100,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'link',\n width: 100,\n height: 100,\n },\n },\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'energyContainer',\n },\n },\n {\n type: 'sprite',\n once: 'true',\n payload: {\n id: 'energy',\n parentId: 'energyContainer',\n texture: 'link-energy',\n width: 50,\n height: 50,\n },\n },\n {\n type: 'runAction',\n props: ['energyScale'],\n payload: {\n id: 'energyContainer',\n },\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'energyScale' },\n { $calc: 'energyScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n {\n type: 'creepActions',\n props: '*',\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n id: 'light',\n once: true,\n type: 'sprite',\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 400,\n height: 400,\n alpha: 0.5,\n },\n },\n\n ],\n zIndex: 9,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { flickering } from '../action-templates';\n\nconst COLORS = {\n L: {\n foreground: 0x89F4A5,\n background: 0x3F6147,\n },\n U: {\n foreground: 0x88D6F7,\n background: 0x1B617F,\n },\n K: {\n foreground: 0x9370FF,\n background: 0x331A80,\n },\n Z: {\n foreground: 0xF2D28B,\n background: 0x594D33,\n },\n X: {\n foreground: 0xFF7A7A,\n background: 0x4F2626,\n },\n O: {\n foreground: 0xCCCCCC,\n background: 0x4D4D4D,\n },\n H: {\n foreground: 0xCCCCCC,\n background: 0x4D4D4D,\n },\n};\n\nexport default {\n calculations: [\n {\n id: 'foregroundColor',\n once: true,\n func: ({ state: { mineralType } }) => COLORS[mineralType].foreground,\n },\n {\n id: 'backgroundColor',\n once: true,\n func: ({ state: { mineralType } }) => COLORS[mineralType].background,\n },\n ],\n processors: [\n {\n type: 'draw',\n once: true,\n payload: {\n drawings: [\n {\n method: 'lineStyle',\n params: [\n 10,\n { $calc: 'foregroundColor' },\n 1,\n ],\n },\n { method: 'beginFill', params: [{ $calc: 'backgroundColor' }] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n 54,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'text',\n once: true,\n payload: {\n text: { $state: 'mineralType' },\n style: {\n align: 'center',\n fill: { $calc: 'foregroundColor' },\n fontFamily: 'Roboto, serif',\n fontSize: 82,\n fontWeight: 'bold',\n },\n anchor: {\n x: 0.5,\n y: 0.5,\n },\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 700,\n height: 700,\n alpha: 0.7,\n tint: { $calc: 'foregroundColor' },\n },\n actions: [flickering(0.7, 0.4, 1.0, 0.4)],\n },\n ],\n zIndex: 2,\n};\n","const scaleAction = {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [[\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [0.6, 0.6, 1],\n },\n 'EASE_IN_OUT_QUAD',\n ],\n },\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [1, 1, 1],\n },\n 'EASE_IN_OUT_QUAD',\n ],\n },\n ]],\n },\n ],\n};\n\nconst landed = ({ state: { landTime }, stateExtra: { gameTime } }) => landTime <= gameTime;\nconst notLanded = (...params) => !landed(...params);\n\nexport default {\n calculations: [\n {\n id: 'landTimeSpeed',\n func: ({ state: { landTime }, stateExtra: { gameTime } }) => {\n if (landTime <= gameTime) {\n return Number.MAX_VALUE;\n }\n return Math.max(0.4, ((Math.round((landTime - gameTime) / 100) * 100) / 50000) * 8);\n },\n },\n {\n id: 'offsetToZeroX',\n func: ({ state: { x }, world: { options: { CELL_SIZE } } }) => -(x + 0.5) * CELL_SIZE,\n },\n {\n id: 'offsetToZeroY',\n func: ({ state: { y }, world: { options: { CELL_SIZE } } }) => -(y + 0.5) * CELL_SIZE,\n },\n ],\n processors: [\n {\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'nuke',\n alpha: 0.7,\n },\n when: notLanded,\n actions: [scaleAction],\n },\n {\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'nuke',\n blur: 2,\n blendMode: 3,\n },\n when: notLanded,\n actions: [scaleAction],\n },\n {\n type: 'circle',\n layer: 'effects',\n once: true,\n payload: {\n color: 0xFF2222,\n radius: 110,\n blendMode: 1,\n alpha: 0.5,\n },\n when: notLanded,\n actions: [scaleAction],\n },\n {\n type: 'circle',\n layer: 'effects',\n props: ['landTimeSpeed'],\n payload: {\n color: 0xFF0000,\n radius: 600,\n alpha: 0,\n blendMode: 1,\n blur: 30,\n },\n when: notLanded,\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, { $calc: 'landTimeSpeed' }],\n },\n {\n action: 'AlphaTo',\n params: [0.4, { $calc: 'landTimeSpeed' }],\n },\n {\n action: 'FilterTo',\n params: [0, 'blur', 0.5,\n { $calc: 'landTimeSpeed', koef: 0.5 }],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [1, 1, 0],\n },\n {\n action: 'AlphaTo',\n params: [0, 0],\n },\n {\n action: 'FilterTo',\n params: [0, 'blur', 30, 0],\n },\n ]],\n },\n ]],\n },\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n when: notLanded,\n payload: {\n texture: 'glow',\n tint: 0xFF4444,\n width: 700,\n height: 700,\n },\n },\n {\n type: 'sprite',\n layer: 'effects',\n once: true,\n payload: {\n texture: 'glow',\n alpha: 1.0,\n tint: 0xff2222,\n width: 1,\n height: 1,\n blendMode: 1,\n },\n when: landed,\n actions: [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [20, 20, { $processorParam: 'tickDuration' }],\n },\n ],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration' }],\n },\n ]],\n },\n ],\n },\n {\n type: 'draw',\n once: true,\n layer: 'effects',\n when: landed,\n payload: {\n x: { $calc: 'offsetToZeroX' },\n y: { $calc: 'offsetToZeroY' },\n blendMode: 1,\n alpha: 0.7,\n drawings: [\n { method: 'beginFill', params: [0xFF0000] },\n {\n method: 'drawRect',\n params: [\n 0,\n 0,\n { $calc: 'viewBox' },\n { $calc: 'viewBox' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n actions: [\n {\n action: 'Ease',\n params: [\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration' }],\n },\n ],\n },\n ],\n },\n ],\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nconst resourceTriangle = {\n color: 0xffe56d,\n x: 0,\n y: 10,\n width: 86,\n height: 118,\n};\n\nconst gRectangle = {\n color: 0xffffff,\n x: -40,\n y: 35,\n width: 80,\n height: 15,\n};\n\nexport default {\n calculations: [\n {\n id: 'energyTrianglePoints',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) => {\n const { x, y } = resourceTriangle;\n let { width, height } = resourceTriangle;\n const koef = (store.energy||0) / storeCapacityResource.energy;\n width *= koef;\n height *= koef;\n return [\n x - (width / 2), y,\n x, y - height,\n x + (width / 2), y,\n ];\n },\n },\n {\n id: 'gWidth',\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource['G'] ?\n (gRectangle.width * (store['G']||0)) / storeCapacityResource['G'] : 0,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'nuker-border',\n width: 300,\n height: 300,\n y: -40,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'nuker',\n width: 300,\n height: 300,\n y: -40,\n },\n },\n {\n type: 'draw',\n props: ['energyTrianglePoints'],\n payload: {\n id: 'energyTriangle',\n drawings: [\n { method: 'beginFill', params: [resourceTriangle.color] },\n {\n method: 'drawPolygon',\n params: [{ $calc: 'energyTrianglePoints' }],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'draw',\n props: ['gWidth'],\n payload: {\n id: 'gRectangle',\n drawings: [\n { method: 'beginFill', params: [gRectangle.color] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'gWidth', koef: -0.5 },\n gRectangle.y,\n { $calc: 'gWidth' },\n gRectangle.height,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 7\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nconst ellipseBorder = {\n color: 0x111111,\n strokeWidth: 5,\n width: 45,\n height: 40,\n};\n\nconst ellipseEye = {\n strokeWidth: 5,\n width: 20,\n height: 20,\n};\n\nexport default {\n processors: [\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'border',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n ellipseBorder.strokeWidth,\n { $calc: 'playerColor' },\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipseBorder.color] },\n {\n method: 'drawEllipse',\n params: [\n 0,\n 0,\n ellipseBorder.width,\n ellipseBorder.height,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'eye',\n drawings: [\n {\n method: 'lineStyle',\n params: [0, 0, 1],\n },\n { method: 'beginFill', params: [{ $calc: 'playerColor' }] },\n {\n method: 'drawEllipse',\n params: [\n 0,\n 0,\n ellipseEye.width,\n ellipseEye.height,\n ],\n },\n { method: 'endFill' },\n ],\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [[\n {\n action: 'MoveTo',\n params: [20, 0, 0.25],\n },\n {\n action: 'DelayTime',\n params: [0.25],\n },\n {\n action: 'MoveTo',\n params: [0, 15, 0.25],\n },\n {\n action: 'DelayTime',\n params: [0.25],\n },\n {\n action: 'MoveTo',\n params: [-20, 0, 0.25],\n },\n {\n action: 'DelayTime',\n params: [0.25],\n },\n {\n action: 'MoveTo',\n params: [0, -15, 0.25],\n },\n {\n action: 'DelayTime',\n params: [0.25],\n },\n ]],\n },\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 10,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport constants from '@screeps/common/lib/constants';\n\nconst ellipse = {\n color: 0xf41f33,\n strokeColor: 0x8d000d,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'radius',\n props: ['store'],\n func: ({ state: { store } }) => {\n const { POWER_BANK_CAPACITY_MAX } = constants;\n return Math.sqrt(((store.power / POWER_BANK_CAPACITY_MAX) * 3000) / Math.PI);\n },\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'powerBank',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n ellipse.strokeWidth,\n ellipse.strokeColor,\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipse.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n { $calc: 'radius' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'Sequence',\n params: [[\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x', koef: 0.6 },\n { $rel: 'scale.y', koef: 0.6 },\n { $processorParam: 'tickDuration', koef: 0.66 },\n ],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n { $processorParam: 'tickDuration', koef: 0.34 },\n ],\n },\n ]],\n },\n {\n action: 'Sequence',\n params: [[\n {\n action: 'TintTo',\n params: [\n 0xd31022,\n { $processorParam: 'tickDuration', koef: 0.33 },\n ],\n },\n {\n action: 'TintTo',\n params: [\n 0x8d000d,\n { $processorParam: 'tickDuration', koef: 0.33 },\n ],\n },\n {\n action: 'TintTo',\n params: [\n 0xf41f33,\n { $processorParam: 'tickDuration', koef: 0.34 },\n ],\n },\n ]],\n },\n ]],\n },\n ],\n },\n ],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n tint: 0xFF8080,\n },\n },\n ],\n zIndex: 11,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { calculateAngle } from '../../../helpers/mathHelper';\nimport {displayName} from \"../action-templates\";\n\nconst CELL_SIZE = 100;\n\nconst BADGE_GEOMETRY = {\n commander: {\n pivotY: 30,\n size: 65,\n },\n executor: {\n pivotY: 30,\n size: 45,\n },\n operator: {\n pivotY: 15,\n size: 63,\n },\n};\n\nexport default {\n calculations: [\n {\n id: 'displayName',\n func: ({ calcs: { isOwner }, state: { name, user }, stateExtra: { users } }) =>\n (isOwner ? name : users[user].username),\n },\n {\n id: 'rotation',\n props: ['x', 'y'],\n func: ({ prevState: { x: prevX, y: prevY } = {}, state: { x, y } }) => {\n return (prevX !== undefined && prevY !== undefined ?\n calculateAngle(prevX, prevY, x, y) : 0);\n },\n },\n {\n id: 'texture',\n props: ['level'],\n func: ({ state: { level, className } }) => `${className}-lvl${Math.min(4, Math.ceil(level / 6))}`,\n },\n {\n id: 'texture-light',\n func: ({ state: { className } }) => `${className}-lvl4`,\n },\n {\n id: 'badgePivotY',\n props: ['className'],\n func: ({ state: { className } }) => BADGE_GEOMETRY[className].pivotY,\n },\n {\n id: 'badgeSize',\n props: ['className'],\n func: ({ state: { className } }) => BADGE_GEOMETRY[className].size,\n },\n {\n id: 'safeMode',\n func: ({\n stateExtra,\n state: { user },\n stateExtra: { controller, gameTime, objects },\n }) => {\n if (controller === undefined) {\n controller = objects.find(i => i.type === 'controller') || null;\n stateExtra.controller = controller;\n }\n return controller && controller.safeMode > gameTime && controller.user !== user ?\n 0.5 : 1.0;\n },\n },\n ],\n processors: [\n {\n type: 'container',\n once: 'true',\n payload: {\n id: 'mainContainer',\n },\n },\n {\n type: 'sprite',\n props: ['texture'],\n payload: {\n id: 'sprite',\n parentId: 'mainContainer',\n texture: { $calc: 'texture' },\n width: 180,\n height: 180,\n zIndex: 0,\n tint: 0xcc3d3e,\n },\n },\n {\n type: 'userBadge',\n props: ['texture'],\n payload: {\n parentId: 'mainContainer',\n radius: 26,\n color: 0x222222,\n width: { $calc: 'badgeSize' },\n height: { $calc: 'badgeSize' },\n pivot: {\n y: { $calc: 'badgePivotY' },\n },\n },\n },\n {\n type: 'creepActions',\n payload: {\n parentId: 'mainContainer',\n },\n props: '*',\n },\n {\n type: 'powerInfluence',\n payload: {\n parentId: 'mainContainer',\n },\n props: '*',\n },\n displayName('creeps'),\n {\n type: 'say',\n layer: 'effects',\n when: ({\n state: { actionLog: { say } = {} },\n stateExtra: { gameData: { showCreepSpeech } },\n calcs: { isOwner },\n }) =>\n !!showCreepSpeech && !!say && (say.isPublic || isOwner),\n payload: {\n say: { $state: 'actionLog.say' },\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n parentId: 'mainContainer',\n texture: { $calc: 'texture' },\n width: 180,\n height: 180,\n alpha: 1.0,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n parentId: 'mainContainer',\n texture: 'glow',\n width: 400,\n height: 400,\n alpha: 1.0,\n tint: 0xFF5555,\n },\n },\n {\n type: 'sprite',\n layer: 'effects',\n\t\t\tonce: true,\n\t\t\twhen: ({ state: { actionLog: { spawned } = {} } }) => !!spawned,\n payload: {\n\t\t\t\ttexture: 'flare2',\t\t\t\t\n\t\t\t\twidth: 400,\n\t\t\t\theight: 400,\n\t\t\t\talpha: 1,\n blendMode: 1,\n tint: 0xff1111,\n },\n actions: [\n {\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'AlphaTo',\n\t\t\t\t\t\t\t\t\tparams: [0.0, { $processorParam: 'tickDuration', koef: 0.5 }], \n },\n\t\t\t\t\t\t\t\t{\n action: 'RotateBy',\n\t\t\t\t\t\t\t\t\tparams: [Math.PI / 8, { $processorParam: 'tickDuration', koef: 0.5 }], \n },\n ]],\n },\n ]],\n },\n ],\n },\n ],\n actions: [\n {\n id: 'moveTo',\n props: ['x', 'y'],\n actions: [{\n action: 'Ease',\n params: [\n {\n action: 'MoveTo',\n params: [\n { $state: 'x', koef: CELL_SIZE },\n { $state: 'y', koef: CELL_SIZE },\n { $processorParam: 'tickDuration' },\n ],\n },\n 'EASE_IN_OUT_QUAD',\n ],\n }],\n },\n {\n id: 'rotateTo',\n props: ['rotation'],\n targetId: 'mainContainer',\n actions: [{\n action: 'RotateTo',\n params: [\n { $calc: 'rotation' },\n { $processorParam: 'tickDuration', koef: 0.2 },\n ],\n }],\n },\n {\n id: 'safeModeAlpha',\n props: ['safeMode'],\n targetId: 'mainContainer',\n actions: [{\n action: 'AlphaTo',\n params: [{ $calc: 'safeMode' }, 0],\n }],\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: 13,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\nconst ellipse1 = {\n color: 0x222222,\n radius: 75,\n strokeColor: 0xcccccc,\n strokeWidth: 7,\n};\nconst ellipse2 = {\n color: 0x222222,\n radius: 68,\n strokeColor: 0xf41f33,\n strokeWidth: 10,\n};\n\nconst ellipse3 = {\n color: 0x181818,\n radius: 59,\n};\n\nconst ellipse4 = {\n color: 0x555555,\n radius: 38,\n};\n\nconst arc = {\n color: 0xf41f33,\n radius: 50,\n startAngle: -Math.PI / 2,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'powerAngle',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n arc.startAngle +\n (storeCapacityResource && storeCapacityResource.power ? (((2 * Math.PI) * (store.power||0)) / storeCapacityResource.power) : 0),\n },\n {\n id: 'resourceScale',\n props: ['store', 'storeCapacity'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource.energy ? Math.min(1, (store.energy||0) / storeCapacityResource.energy) : 0,\n },\n ],\n processors: [\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n ellipse1.strokeWidth,\n ellipse1.strokeColor,\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipse1.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n ellipse1.radius,\n ],\n },\n { method: 'endFill' },\n {\n method: 'lineStyle',\n params: [\n ellipse2.strokeWidth,\n ellipse2.strokeColor,\n 1,\n ],\n },\n { method: 'beginFill', params: [ellipse2.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n ellipse2.radius,\n ],\n },\n { method: 'endFill' },\n {\n method: 'lineStyle',\n params: [0, 0, 1],\n },\n { method: 'beginFill', params: [ellipse3.color] },\n {\n method: 'drawCircle',\n params: [\n 0,\n 0,\n ellipse3.radius,\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'userBadge',\n once: true,\n payload: {\n parentId: 'static',\n color: ellipse4.color,\n radius: ellipse4.radius,\n },\n },\n {\n type: 'draw',\n props: ['powerAngle'],\n payload: {\n id: 'arc',\n parentId: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n arc.strokeWidth,\n arc.color,\n 1,\n ],\n },\n {\n method: 'arc',\n params: [\n 0,\n 0,\n arc.radius,\n arc.startAngle,\n { $calc: 'powerAngle' },\n ],\n },\n ],\n },\n },\n {\n type: 'runAction',\n props: ['resourceScale'],\n payload: {\n id: 'resourceCircle',\n },\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n {\n id: 'resourceCircle',\n once: true,\n type: 'circle',\n payload: {\n parentId: 'static',\n radius: ellipse4.radius,\n color: 0xffe56d,\n scale: {\n x: { $calc: 'resourceScale' },\n y: { $calc: 'resourceScale' },\n },\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n alpha: 1,\n },\n },\n {\n id: 'glow',\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n alpha: 0.5,\n scale: {\n x: 1,\n y: 1,\n },\n },\n },\n {\n type: 'runAction',\n props: ['store'],\n payload: {\n id: 'glow',\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'Spawn',\n params: [[\n {\n action: 'TintTo',\n params: [0xFF3333, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [1, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'ScaleTo',\n params: [2, 2, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n ]],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'TintTo',\n params: [0xFFFFFF, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n {\n action: 'AlphaTo',\n params: [0.5, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n {\n action: 'ScaleTo',\n params: [1, 1, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n },\n ]],\n }],\n },\n ],\n actions: [\n {\n id: 'resourceScale',\n targetId: 'resourceCircle',\n props: ['resourceScale'],\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n ],\n zIndex: 12,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { flickering } from '../action-templates';\n\nconst rect1 = {\n animationDuration: 4.0,\n fillColor: 0x111111,\n radius: 15,\n size: 40,\n strokeBlinkingColor: 0x0e0c04,\n strokeColor: 0x595026,\n strokeWidth: 15,\n};\n\nconst rect2 = {\n animationDuration: 2,\n fillColor: 0xffe56d,\n radius: 15,\n size: 60,\n blinkingColors: [0xffffff, 0xffcd6d, 0xffde84],\n};\n\nexport default {\n calculations: [\n {\n id: 'energySize',\n props: ['energy', 'energyCapacity'],\n func: ({ state: { energy, energyCapacity } }) =>\n (rect2.size * energy) / energyCapacity,\n },\n ],\n processors: [\n {\n type: 'draw',\n once: true,\n payload: {\n id: 'static',\n tint: rect1.strokeColor,\n drawings: [\n {\n method: 'lineStyle',\n params: [\n rect1.strokeWidth,\n 0xffffff,\n 1,\n ],\n },\n { method: 'beginFill', params: [rect1.fillColor] },\n {\n method: 'drawRoundedRect',\n params: [\n -rect1.size / 2,\n -rect1.size / 2,\n rect1.size,\n rect1.size,\n rect1.radius,\n ],\n },\n { method: 'endFill' },\n ],\n },\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'TintTo',\n params: [\n rect1.strokeBlinkingColor,\n rect1.animationDuration / 2,\n ],\n },\n {\n action: 'TintTo',\n params: [\n rect1.strokeColor,\n rect1.animationDuration / 2,\n ],\n },\n ],\n ],\n }],\n }],\n },\n {\n type: 'draw',\n props: ['energySize'],\n payload: {\n id: 'energy',\n tint: rect2.fillColor,\n drawings: [\n { method: 'beginFill', params: [0xffffff] },\n {\n method: 'drawRoundedRect',\n params: [\n { $calc: 'energySize', koef: -0.5 },\n { $calc: 'energySize', koef: -0.5 },\n { $calc: 'energySize' },\n { $calc: 'energySize' },\n rect1.radius,\n ],\n },\n { method: 'endFill' },\n ],\n },\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'TintTo',\n params: [\n rect2.blinkingColors[0],\n rect2.animationDuration / 4,\n ],\n },\n {\n action: 'TintTo',\n params: [\n rect2.blinkingColors[1],\n rect2.animationDuration / 4,\n ],\n },\n {\n action: 'TintTo',\n params: [\n rect2.blinkingColors[2],\n rect2.animationDuration / 4,\n ],\n },\n {\n action: 'TintTo',\n params: [\n rect2.fillColor,\n rect2.animationDuration / 4,\n ],\n },\n ],\n ],\n }],\n }],\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n tint: 0xFFFF50,\n alpha: 0.5,\n },\n actions: [flickering(0.6, 0.4, 0.8, 0.4)],\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: (({ state: { energy } }) => energy > 0),\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n tint: 0xFFFFFF,\n },\n },\n ],\n zIndex: 2,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { displayName } from '../action-templates';\n\nconst ellipse1 = {\n color: 0xCCCCCC,\n radius: 70,\n};\n\nconst ellipse2 = {\n color: 0x181818,\n radius: 59,\n};\n\nconst ellipse3 = {\n color: 0x555555,\n radius: 38,\n};\n\nconst arc = {\n color: 0xCCCCCC,\n radius: 50,\n startAngle: -Math.PI / 2,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'spawningAngle',\n func: ({ state: { name, spawning }, stateExtra: { gameTime } }) => {\n const { spawnTime = gameTime+0.01, needTime = 0 } = spawning || {};\n const remainingTime = spawnTime - gameTime;\n return arc.startAngle +\n (needTime ? (((2 * Math.PI) * (needTime - remainingTime)) / needTime) : 0);\n },\n },\n {\n id: 'resourceScale',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) =>\n storeCapacityResource && storeCapacityResource.energy ?\n (store.energy||0) / storeCapacityResource.energy : 0,\n },\n {\n id: 'displayName',\n func: ({ calcs: { isOwner }, state: { name, user }, stateExtra: { users } }) =>\n (isOwner ? name : users[user].username),\n },\n ],\n processors: [\n {\n type: 'circle',\n once: true,\n payload: {\n id: 'static',\n radius: ellipse1.radius,\n color: ellipse1.color,\n },\n },\n {\n type: 'circle',\n once: true,\n payload: {\n id: 'black',\n parentId: 'static',\n radius: ellipse2.radius,\n color: ellipse2.color,\n },\n },\n {\n type: 'userBadge',\n once: true,\n payload: {\n parentId: 'black',\n color: ellipse3.color,\n radius: ellipse3.radius,\n },\n },\n {\n type: 'runAction',\n props: ['spawning'],\n once: true,\n shouldRun: (({ state: { spawning } }) => !!spawning),\n payload: {\n id: 'static',\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [\n 1.25,\n 1.25,\n 0.5,\n ],\n },\n ],\n },\n {\n action: 'Ease',\n params: [\n {\n action: 'ScaleTo',\n params: [\n 1,\n 1,\n 2,\n ],\n },\n 'EASE_IN_QUAD',\n ],\n },\n ],\n ],\n },\n ],\n },\n ],\n },\n {\n type: 'draw',\n props: ['spawningAngle'],\n payload: {\n id: 'arc',\n parentId: 'static',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n arc.strokeWidth,\n arc.color,\n 1,\n ],\n },\n {\n method: 'arc',\n params: [\n 0,\n 0,\n arc.radius,\n arc.startAngle,\n { $calc: 'spawningAngle' },\n ],\n },\n ],\n },\n },\n {\n id: 'resourceCircle',\n once: true,\n type: 'circle',\n payload: {\n parentId: 'static',\n radius: ellipse3.radius,\n color: 0xffe56d,\n scale: {\n x: { $calc: 'resourceScale' },\n y: { $calc: 'resourceScale' },\n },\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n props: ['store'],\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n id: 'light',\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 600,\n height: 600,\n alpha: 0.5,\n },\n },\n {\n type: 'runAction',\n props: ['spawning'],\n shouldRun: (({ state: { spawning } }) => !!spawning),\n once: true,\n payload: {\n id: 'light',\n },\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'Ease',\n params: [\n {\n action: 'AlphaTo',\n params: [\n 1,\n 0.5,\n ],\n },\n ],\n },\n {\n action: 'Ease',\n params: [\n {\n action: 'AlphaTo',\n params: [\n 0.5,\n 2,\n ],\n },\n 'EASE_IN_QUAD',\n ],\n },\n ],\n ],\n },\n ],\n },\n ],\n },\n displayName('spawns'),\n ],\n actions: [\n {\n id: 'resourceScale',\n targetId: 'resourceCircle',\n props: ['resourceScale'],\n actions: [\n {\n action: 'ScaleTo',\n params: [\n { $calc: 'resourceScale' },\n { $calc: 'resourceScale' },\n { $processorParam: 'tickDuration' },\n ],\n },\n ],\n },\n ],\n zIndex: 8,\n};\n","/**\n * Created by vedi on 19/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\nimport constants from '@screeps/common/lib/constants';\n\nconst WEIGHT = 110;\nconst TOTAL_HEIGHT = 140;\n\nexport default {\n texture: 'storage',\n calculations: [\n resourceTotal(),\n {\n id: 'energyBackgroundHeight',\n func: ({ calcs: { resourcesTotal }, state: { storeCapacity } }) => {\n return (resourcesTotal * TOTAL_HEIGHT) / Math.max(storeCapacity||constants.STORAGE_CAPACITY, resourcesTotal);\n },\n },\n {\n id: 'energyHeight',\n func: ({ calcs: { resourcesTotal }, state: { store, storeCapacity } }) => {\n return (store['energy'] * TOTAL_HEIGHT) / Math.max(storeCapacity||constants.STORAGE_CAPACITY, resourcesTotal);\n },\n },\n {\n id: 'powerHeight',\n func: ({ calcs: { resourcesTotal }, state: { store, storeCapacity } }) => {\n return (((store['power']||0) + (store['energy']||0)) * TOTAL_HEIGHT) / Math.max((storeCapacity||constants.STORAGE_CAPACITY), resourcesTotal);\n },\n },\n ],\n processors: [\n {\n id: 'border',\n type: 'sprite',\n once: true,\n payload: {\n texture: 'storage-border',\n width: 200,\n height: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'storage',\n width: 200,\n height: 200,\n },\n },\n {\n id: 'otherResourcesBar',\n type: 'sprite',\n props: ['store', 'energyBackgroundHeight', 'resourcesTotal'],\n shouldRun: ({ state: { store }, calcs: { resourcesTotal } }) =>\n store['energy'] + (store['power'] || 0) < resourcesTotal,\n payload: {\n texture: 'rectangle',\n pivot: {\n y: { $calc: 'energyBackgroundHeight' },\n },\n y: TOTAL_HEIGHT / 2,\n width: WEIGHT,\n height: { $calc: 'energyBackgroundHeight' },\n tint: 0xffffff,\n },\n },\n {\n id: 'powerBar',\n type: 'sprite',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store } }) => store['power'] > 0,\n payload: {\n texture: 'rectangle',\n pivot: {\n y: { $calc: 'powerHeight' },\n },\n y: TOTAL_HEIGHT / 2,\n width: WEIGHT,\n height: { $calc: 'powerHeight' },\n tint: 0xf41f33,\n },\n },\n {\n type: 'sprite',\n id: 'energyBar',\n props: ['store', 'resourcesTotal'],\n shouldRun: ({ state: { store } }) => store['energy'] > 0,\n payload: {\n texture: 'rectangle',\n pivot: {\n y: { $calc: 'energyHeight' },\n },\n y: TOTAL_HEIGHT / 2,\n width: WEIGHT,\n height: { $calc: 'energyHeight' },\n tint: 0xffe56d,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 7,\n};\n","/**\n * Created by vedi on 22/08/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\nimport constants from '@screeps/common/lib/constants';\n\nconst ENERGY_RECT_FULL_SIZE = 76.0;\n\nconst isCooldown = ({ state: { cooldownTime }, stateExtra: { gameTime } }) =>\n cooldownTime && cooldownTime >= gameTime;\nconst isNotCooldown = (...params) => !isCooldown(...params);\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'restResourceSize',\n props: ['store', 'storeCapacity', 'resourcesTotal'],\n func: ({\n state: { store = {}, storeCapacity },\n calcs: { resourcesTotal },\n }) => {\n if (resourcesTotal <= (store['energy']||0) + (store['power']||0)) {\n return 0;\n }\n const result = (ENERGY_RECT_FULL_SIZE * resourcesTotal) / (storeCapacity||constants.TERMINAL_CAPACITY);\n return Math.min(result, ENERGY_RECT_FULL_SIZE);\n },\n },\n {\n id: 'powerResourceSize',\n props: ['store', 'storeCapacity'],\n func: ({ state: { store = {}, storeCapacity } }) => {\n const result = (ENERGY_RECT_FULL_SIZE * ((store['energy']||0) + (store['power']||0))) / (storeCapacity||constants.TERMINAL_CAPACITY);\n return Math.min(result, ENERGY_RECT_FULL_SIZE);\n },\n },\n {\n id: 'energyResourceHeight',\n props: ['store', 'storeCapacity'],\n func: ({ state: { store = {}, storeCapacity } }) => {\n const result = (ENERGY_RECT_FULL_SIZE * (store['energy']||0)) / (storeCapacity||constants.TERMINAL_CAPACITY);\n return Math.min(result, ENERGY_RECT_FULL_SIZE);\n },\n },\n {\n id: 'arrowsAlpha',\n props: ['cooldownTime'],\n func: (...params) => (isCooldown(...params) ? 0.1 : 1),\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'terminal-border',\n width: 200,\n height: 200,\n tint: { $calc: 'playerColor' },\n },\n },\n {\n type: 'sprite',\n once: true,\n payload: {\n texture: 'terminal',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: isCooldown,\n payload: {\n texture: 'terminal-arrows',\n width: 200,\n height: 200,\n alpha: 0.1,\n },\n },\n {\n type: 'sprite',\n once: true,\n when: isNotCooldown,\n payload: {\n texture: 'terminal-arrows',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n when: isCooldown,\n payload: {\n texture: 'terminal-highlight',\n width: 200,\n height: 200,\n tint: 0xFFFFFF,\n alpha: 0,\n blendMode: 1,\n },\n actions: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [1, { $processorParam: 'tickDuration', koef: 0.2 }],\n },\n {\n action: 'AlphaTo',\n params: [0, { $processorParam: 'tickDuration', koef: 0.8 }],\n },\n ]],\n }],\n },\n {\n type: 'draw',\n payload: {\n drawings: [\n { method: 'beginFill', params: [0xffffff] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'restResourceSize', koef: -0.5 },\n { $calc: 'restResourceSize', koef: -0.5 },\n { $calc: 'restResourceSize' },\n { $calc: 'restResourceSize' },\n ],\n },\n { method: 'endFill' },\n { method: 'beginFill', params: [0xf41f33] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'powerResourceSize', koef: -0.5 },\n { $calc: 'powerResourceSize', koef: -0.5 },\n { $calc: 'powerResourceSize' },\n { $calc: 'powerResourceSize' },\n ],\n },\n { method: 'endFill' },\n { method: 'beginFill', params: [0xffe56d] },\n {\n method: 'drawRect',\n params: [\n { $calc: 'energyResourceHeight', koef: -0.5 },\n { $calc: 'energyResourceHeight', koef: -0.5 },\n { $calc: 'energyResourceHeight' },\n { $calc: 'energyResourceHeight' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n shouldRun: ({ calcs: { resourcesTotal } }) => resourcesTotal > 0,\n payload: {\n texture: 'glow',\n width: 200,\n height: 200,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n },\n },\n ],\n zIndex: 16,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'resourceColor',\n func: ({ calcs: { resourcesTotal, playerColor } }) =>\n (resourcesTotal > 0 ? playerColor : 0x000000),\n },\n {\n id: 'decayAlpha',\n func: ({ state: { decayTime, deathTime }, stateExtra: { gameTime } }) =>\n 1 - ((gameTime - deathTime) / (decayTime - deathTime)),\n },\n ],\n processors: [\n {\n type: 'sprite',\n id: 'tombstone-border',\n once: true,\n payload: {\n texture: 'tombstone-border',\n width: 100,\n height: 100,\n blendMode: 1,\n alpha: { $calc: 'decayAlpha' },\n },\n },\n {\n type: 'sprite',\n props: ['resourceColor'],\n payload: {\n texture: 'tombstone-resource',\n tint: { $calc: 'resourceColor' },\n alpha: 0.8,\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'tombstone-resource',\n width: 100,\n height: 100,\n },\n },\n ],\n actions: [\n {\n targetId: 'tombstone-border',\n actions: [\n {\n action: 'AlphaTo',\n params: [\n { $calc: 'decayAlpha' },\n 0,\n ],\n },\n ],\n },\n ],\n zIndex: 5,\n};\n","/**\n * Created by vedi on 18/08/2017.\n */\n\nimport mathHelper from '../../../helpers/mathHelper';\n\nconst ENERGY_BAR_FULL_HEIGHT = 66.7;\nconst isNpc = ({ state: { user } }) => user === '3' || user === '2';\nconst isNotNpc = (...params) => !isNpc(...params);\n\n/**\n * Sprite for base.\n * Sprite for rotatable area.\n * Drawable energy bar with formula `energy / energyCapacity`\n * Shot animation\n * Autorotation:\n * 1. To shot destination, or\n * 2. To random value in idling state.\n */\nexport default {\n calculations: [\n {\n id: 'shotAnim',\n func: ({ state: { actionLog } }) =>\n actionLog.attack || actionLog.heal || actionLog.repair,\n },\n {\n id: 'rotation',\n func: ({ state: { x, y }, calcs: { shotAnim } }) => {\n const { calculateAngle } = mathHelper;\n if (!shotAnim) {\n return 0;\n }\n return calculateAngle(shotAnim.x, shotAnim.y, x, y);\n },\n },\n {\n id: 'energyBarHeight',\n props: ['store', 'storeCapacityResource'],\n func: ({ state: { store, storeCapacityResource } }) => {\n const result = storeCapacityResource && storeCapacityResource.energy ?\n (ENERGY_BAR_FULL_HEIGHT * store.energy) / storeCapacityResource.energy : 0;\n return Math.min(result, ENERGY_BAR_FULL_HEIGHT);\n },\n },\n {\n id: 'energyBarBorderRadius',\n props: ['store', 'storeCapacity'],\n func: ({ calcs: { energyBarHeight } }) => Math.min(12, energyBarHeight / 2),\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'tower-base',\n tint: { $calc: 'playerColor' },\n width: 200,\n height: 200,\n },\n },\n {\n type: 'sprite',\n once: 'true',\n when: isNotNpc,\n payload: {\n id: 'towerRotatable',\n texture: 'tower-rotatable',\n pivot: {\n y: 32,\n },\n width: 115,\n height: 115,\n },\n actions: [{\n action: 'RotateTo',\n params: [{ $random: Math.PI * 2 }, 0],\n }],\n },\n {\n type: 'sprite',\n once: 'true',\n when: isNpc,\n payload: {\n id: 'towerRotatable',\n texture: 'tower-rotatable-npc',\n pivot: {\n y: 32,\n },\n width: 115,\n height: 115,\n },\n actions: [{\n action: 'RotateTo',\n params: [{ $random: Math.PI * 2 }, 0],\n }],\n },\n {\n type: 'creepActions',\n props: '*',\n layer: 'effects',\n },\n {\n type: 'runAction',\n payload: {\n id: 'towerRotatable',\n },\n when: ({ calcs: { shotAnim } }) => !!shotAnim,\n actions: [\n {\n action: 'RotateTo',\n params: [\n { $calc: 'rotation' },\n 0.3,\n ],\n },\n ],\n },\n {\n type: 'runAction',\n once: true,\n payload: {\n id: 'towerRotatable',\n },\n when: ({ calcs: { shotAnim } }) => !shotAnim,\n actions: [\n {\n action: 'Repeat',\n params: [\n {\n action: 'RotateBy',\n params: [\n Math.PI,\n 10,\n ],\n },\n ],\n },\n ],\n },\n {\n type: 'draw',\n when: isNotNpc,\n payload: {\n parentId: 'towerRotatable',\n drawings: [\n { method: 'beginFill', params: [0xffe56d] },\n {\n method: 'drawRoundedRect',\n params: [\n -45,\n 0,\n 90,\n { $calc: 'energyBarHeight' },\n { $calc: 'energyBarBorderRadius' },\n ],\n },\n { method: 'endFill' },\n ],\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n shouldRun: (({ state: { store } }) => store.energy > 0),\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n id: 'light',\n once: true,\n type: 'sprite',\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 600,\n height: 600,\n alpha: 0.5,\n },\n },\n {\n type: 'runAction',\n shouldRun: (({ state: { actionLog: { repair, heal, attack } = {} } }) =>\n repair || heal || attack),\n payload: {\n id: 'light',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [1.0, { $processorParam: 'tickDuration', koef: 0.1 }],\n },\n {\n action: 'AlphaTo',\n params: [0.5, { $processorParam: 'tickDuration', koef: 0.3 }],\n },\n ],\n ],\n },\n ],\n },\n {\n id: 'flare',\n once: true,\n type: 'sprite',\n layer: 'effects',\n payload: {\n texture: 'flare1',\n width: 400,\n height: 400,\n alpha: 0,\n blendMode: 1,\n },\n },\n {\n type: 'runAction',\n when: ({ calcs: { shotAnim } }) => !!shotAnim,\n payload: {\n id: 'flare',\n },\n actions: [\n {\n action: 'Sequence',\n params: [\n [\n {\n action: 'AlphaTo',\n params: [0.2, { $processorParam: 'tickDuration', koef: 0.1 }],\n },\n {\n action: 'AlphaTo',\n params: [0.0, { $processorParam: 'tickDuration', koef: 0.3 }],\n },\n ],\n ],\n },\n ],\n },\n ],\n zIndex: 13,\n};\n","import constants from '@screeps/common/lib/constants';\n\nconst arc = {\n color: 0xCCCCCC,\n radius: 40,\n startAngle: -Math.PI / 2,\n strokeWidth: 10,\n};\n\nexport default {\n calculations: [\n {\n id: 'spawningAngle',\n func: ({ state: { spawning }, stateExtra: { gameTime } }) => {\n const { spawnTime = gameTime+0.01, needTime = 0 } = spawning || {};\n const remainingTime = spawnTime - gameTime;\n return arc.startAngle +\n (needTime ? (((2 * Math.PI) * (needTime - remainingTime)) / needTime) : 0);\n },\n },\n {\n id: 'ttl',\n func: ({ state: { decayTime }, stateExtra: { gameTime } }) =>\n Math.floor((decayTime - gameTime) / 100) * 100,\n },\n ],\n processors: [\n {\n type: 'sprite',\n once: 'true',\n payload: {\n texture: 'invaderCore',\n width: 200,\n height: 200,\n },\n },\n {\n type: 'siteProgress',\n payload: {\n color: 0xff0d39,\n radius: 23,\n lineWidth: 0,\n progress: { $calc: 'ttl' },\n progressTotal: constants.STRONGHOLD_DECAY_TICKS,\n },\n },\n {\n type: 'draw',\n props: ['spawningAngle'],\n payload: {\n id: 'arc',\n drawings: [\n {\n method: 'lineStyle',\n params: [\n arc.strokeWidth,\n arc.color,\n 1,\n ],\n },\n {\n method: 'arc',\n params: [\n 0,\n 0,\n arc.radius,\n arc.startAngle,\n { $calc: 'spawningAngle' },\n ],\n },\n ],\n },\n },\n {\n type: 'creepActions',\n props: '*',\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 100,\n height: 100,\n alpha: 1,\n },\n },\n {\n type: 'sprite',\n once: true,\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n tint: 0xFF8080,\n },\n },\n\n ],\n zIndex: 17,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nimport { resourceTotal } from '../calculation-templates';\n\nexport default {\n calculations: [\n resourceTotal(),\n {\n id: 'resourceColor',\n func: ({ calcs: { resourcesTotal, playerColor } }) =>\n (resourcesTotal > 0 ? playerColor : 0x000000),\n },\n {\n id: 'decayAlpha',\n func: ({ state: { decayTime, destroyTime }, stateExtra: { gameTime } }) =>\n 1 - ((gameTime - destroyTime) / (decayTime - destroyTime)),\n },\n ],\n processors: [\n {\n type: 'sprite',\n id: 'ruin',\n once: true,\n payload: {\n texture: 'ruin',\n width: 100,\n height: 100,\n blendMode: 1,\n alpha: { $calc: 'decayAlpha' },\n },\n },\n {\n type: 'sprite',\n props: ['resourceColor'],\n payload: {\n texture: 'tombstone-resource',\n tint: { $calc: 'resourceColor' },\n alpha: 0.8,\n width: 100,\n height: 100,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'tombstone-resource',\n width: 100,\n height: 100,\n },\n },\n ],\n actions: [\n {\n targetId: 'ruin',\n actions: [\n {\n action: 'AlphaTo',\n params: [\n { $calc: 'decayAlpha' },\n 0,\n ],\n },\n ],\n },\n ],\n zIndex: 5,\n};\n","/**\n * Created by vedi on 18/03/2017.\n */\n\nimport _all from './objects/_all.metadata';\nimport constructedWall from './objects/constructedWall.metadata';\nimport constructionSite from './objects/constructionSite.metadata';\nimport container from './objects/container.metadata';\nimport controller from './objects/controller.metadata';\nimport creep from './objects/creep.metadata';\nimport deposit from './objects/deposit.metadata';\nimport energy from './objects/energy.metadata';\nimport extension from './objects/extension.metadata';\nimport extractor from './objects/extractor.metadata';\nimport factory from './objects/factory.metadata';\nimport flag from './objects/flag.metadata';\nimport keeperLair from './objects/keeperLair.metadata';\nimport lab from './objects/lab.metadata';\nimport link from './objects/link.metadata';\nimport mineral from './objects/mineral.metadata';\nimport nuke from './objects/nuke.metadata';\nimport nuker from './objects/nuker.metadata';\nimport observer from './objects/observer.metadata';\nimport portal from './objects/portal.metadata';\nimport powerBank from './objects/powerBank.metadata';\nimport powerCreep from './objects/powerCreep.metadata';\nimport powerSpawn from './objects/powerSpawn.metadata';\nimport rampart from './objects/rampart.metadata';\nimport road from './objects/road.metadata';\nimport source from './objects/source.metadata';\nimport spawn from './objects/spawn.metadata';\nimport storage from './objects/storage.metadata';\n// import tbd from './objects/tbd.metadata';\nimport terminal from './objects/terminal.metadata';\nimport tombstone from './objects/tombstone.metadata';\nimport tower from './objects/tower.metadata';\nimport invaderCore from './objects/invaderCore.metadata';\nimport ruin from './objects/ruin.metadata';\n\nconst { VoidFilter } = PIXI.filters;\nconst { TilingSprite } = PIXI.extras;\nconst { Graphics, BLEND_MODES } = PIXI;\n\nexport default {\n preprocessors: [\n 'setBadgeUrls',\n 'terrain',\n ],\n layers: [\n {\n id: 'terrain',\n afterCreate: async (layer, { app, resourceManager,\n world: { options: { VIEW_BOX, CELL_SIZE,\n lighting = 'normal' } } }) => {\n function setupExits(textureName, tileX, tileY, flipX, flipY) {\n const { texture } = resourceManager.getCachedResource(textureName);\n const sprite = new TilingSprite(texture,\n tileX ? VIEW_BOX : CELL_SIZE,\n tileY ? VIEW_BOX : CELL_SIZE);\n sprite.x = (-CELL_SIZE / 2) + (flipX ? VIEW_BOX - CELL_SIZE : 0);\n sprite.y = (-CELL_SIZE / 2) + (flipY ? VIEW_BOX - CELL_SIZE : 0);\n sprite.tileScale.x = CELL_SIZE / texture.width;\n sprite.tileScale.y = CELL_SIZE / texture.height;\n if (!(app.renderer instanceof PIXI.WebGLRenderer)) {\n sprite.tint = 0xa0a0a0;\n } else {\n if (lighting === 'disabled') {\n sprite.tint = 0xa0a0a0;\n }\n if (lighting === 'low') {\n sprite.tint = 0xc0c0c0;\n }\n }\n sprite.blendMode = BLEND_MODES.ADD;\n sprite.alpha = 0.5;\n sprite.zIndex = 1;\n layer.addChild(sprite);\n }\n\n setupExits('exit-left', false, true, false, false);\n setupExits('exit-bottom', true, false, false, true);\n setupExits('exit-top', true, false, false, false);\n setupExits('exit-right', false, true, true, false);\n },\n },\n { id: 'wallGraffiti' },\n { id: 'objects', isDefault: true },\n {\n id: 'lighting',\n afterCreate: async (layer, { app, world: { options: { CELL_SIZE,\n HALF_CELL_SIZE = CELL_SIZE / 2, VIEW_BOX, lighting = 'normal' } } }) => {\n if (lighting !== 'disabled' && app.renderer instanceof PIXI.WebGLRenderer) {\n layer.filters = [new VoidFilter()];\n layer.filters[0].blendMode = PIXI.BLEND_MODES.MULTIPLY;\n\n const ambient = new PIXI.Graphics();\n ambient.beginFill(0x808080, 1.0);\n ambient.drawRect(-HALF_CELL_SIZE, -HALF_CELL_SIZE, VIEW_BOX, VIEW_BOX);\n ambient.endFill();\n layer.addChild(ambient);\n\n if (lighting === 'low') {\n layer.alpha = 0.5;\n }\n\n layer.on('display', (element) => {\n if (!element._overrideBlendMode) {\n element.blendMode = PIXI.BLEND_MODES.SCREEN;\n }\n });\n } else {\n layer.on('display', (element) => {\n element.visible = false;\n });\n }\n },\n },\n { id: 'effects' },\n ],\n objects: {\n _all,\n constructedWall,\n constructionSite,\n container,\n controller,\n creep,\n deposit,\n energy,\n extension,\n extractor,\n factory,\n flag,\n keeperLair,\n lab,\n link,\n mineral,\n nuke,\n nuker,\n observer,\n portal,\n powerBank,\n powerCreep,\n powerSpawn,\n road,\n source,\n spawn,\n storage,\n terminal,\n tombstone,\n tower,\n rampart,\n invaderCore,\n ruin\n },\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nexport default {\n processors: [\n {\n type: 'resourceCircle',\n },\n {\n type: 'resourceCircle',\n layer: 'lighting',\n payload: {\n tint: 0xFFFFFF,\n },\n },\n ],\n zIndex: 1,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nexport default {\n processors: [\n {\n type: 'circle',\n once: true,\n payload: {\n radius: 60,\n color: 0x000000,\n },\n },\n {\n type: 'circle',\n once: true,\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'FadeIn',\n params: [0],\n },\n ]],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n 1,\n ],\n },\n {\n action: 'FadeOut',\n params: [1],\n },\n ],\n ],\n }],\n }],\n payload: {\n radius: 50,\n color: 0x780207,\n },\n },\n {\n type: 'circle',\n once: true,\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x', koef: 0.3 },\n { $rel: 'scale.y', koef: 0.3 },\n 1,\n ],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n 1,\n ],\n },\n ],\n ],\n }],\n }],\n payload: {\n radius: 50,\n color: 0x000000,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n payload: {\n texture: 'glow',\n width: 800,\n height: 800,\n alpha: 0.5,\n tint: 0xFF0000,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n },\n },\n ],\n zIndex: 3,\n};\n","/**\n * Created by vedi on 23/04/2017.\n */\n\nexport default {\n processors: [\n {\n type: 'circle',\n once: true,\n payload: {\n radius: 45,\n color: 0x111133,\n alpha: 0.5,\n },\n },\n {\n type: 'circle',\n once: true,\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.5, 0],\n },\n ]],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n 1,\n ],\n },\n {\n action: 'FadeOut',\n params: [1],\n },\n ],\n ],\n }],\n }],\n payload: {\n radius: 40,\n color: 0x61c0ed,\n alpha: 0.5,\n },\n },\n {\n type: 'circle',\n once: true,\n actions: [{\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [\n [\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [0, 0, 0],\n },\n {\n action: 'AlphaTo',\n params: [0.5, 0],\n },\n ]],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x', koef: 0.3 },\n { $rel: 'scale.y', koef: 0.3 },\n 1,\n ],\n },\n {\n action: 'Spawn',\n params: [[\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n 1,\n ],\n },\n {\n action: 'FadeOut',\n params: [1],\n },\n ]],\n },\n\n ],\n ],\n }],\n }],\n payload: {\n radius: 40,\n color: 0x111133,\n alpha: 0.5,\n },\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 700,\n height: 700,\n tint: 0x9999FF,\n alpha: 0.7,\n },\n actions: [{\n action: 'Spawn',\n params: [[\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [[\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x', koef: 1.2 },\n { $rel: 'scale.y', koef: 1.2 },\n 2,\n ],\n },\n {\n action: 'ScaleTo',\n params: [\n { $rel: 'scale.x' },\n { $rel: 'scale.y' },\n 2,\n ],\n },\n ]],\n }],\n },\n {\n action: 'Repeat',\n params: [{\n action: 'Sequence',\n params: [[\n {\n action: 'AlphaTo',\n params: [0.1, 3.5],\n },\n {\n action: 'AlphaTo',\n params: [0.7, 3.5],\n },\n ]],\n }],\n },\n ]],\n }],\n },\n {\n type: 'sprite',\n layer: 'lighting',\n once: true,\n payload: {\n texture: 'glow',\n width: 150,\n height: 150,\n tint: 0x7777FF,\n },\n },\n ],\n zIndex: 3,\n};\n","/**\n * Created by vedi on 17/08/2017.\n */\n\nexport default {\n processors: [\n {\n type: 'road',\n layer: 'objects',\n },\n ],\n disappearProcessor: { type: 'disappear' },\n zIndex: -1\n};\n","export default {\n calculations: [\n {\n id: 'rampartColor',\n once: true,\n func: ({ state: { user }, stateExtra: { gameData: { player } } }) =>\n (user === player ? 0x44FF44 : 0xFF4444),\n },\n ],\n processors: [\n {\n type: 'sprite',\n layer: 'effects',\n props: ['isPublic'],\n payload: {\n texture: 'rampart',\n width: 100,\n height: 100,\n alpha: 0.5,\n tint: { $calc: 'rampartColor' },\n },\n shouldRun: ({ state: { isPublic } }) => !!isPublic,\n },\n ],\n zIndex: 0,\n};\n"],"sourceRoot":""}
|