Variables
Const ALL_RESOURCE_TYPE_ERROR
ALL_RESOURCE_TYPE_ERROR: "Improper logistics request: 'all' can only be used for store structure or tombstone!" = `Improper logistics request: 'all' can only be used for store structure or tombstone!`
Const AttackStructurePriorities
AttackStructurePriorities: BuildableStructureConstant[] = [STRUCTURE_SPAWN,STRUCTURE_TOWER,STRUCTURE_EXTENSION,STRUCTURE_LINK,STRUCTURE_LAB,STRUCTURE_NUKER,STRUCTURE_OBSERVER,STRUCTURE_EXTRACTOR,STRUCTURE_POWER_SPAWN,STRUCTURE_CONTAINER,STRUCTURE_ROAD,STRUCTURE_STORAGE,STRUCTURE_TERMINAL,STRUCTURE_RAMPART,STRUCTURE_WALL,]
Const AttackStructureScores
AttackStructureScores: object = _.zipObject(_.map(AttackStructurePriorities, type =>[type, AttackStructurePriorities.length - _.indexOf(AttackStructurePriorities, type)])) as { [t: string]: number }
Const BUNKER_RADIUS
BUNKER_RADIUS: 6 = 6
Const BuildPriorities
BuildPriorities: BuildableStructureConstant[] = [STRUCTURE_SPAWN,STRUCTURE_TOWER,STRUCTURE_EXTENSION,STRUCTURE_STORAGE,STRUCTURE_TERMINAL,STRUCTURE_CONTAINER,STRUCTURE_LINK,STRUCTURE_EXTRACTOR,STRUCTURE_LAB,STRUCTURE_NUKER,STRUCTURE_OBSERVER,STRUCTURE_POWER_SPAWN,STRUCTURE_WALL,STRUCTURE_RAMPART,STRUCTURE_ROAD,]
Const DEFAULT_OPERATION_MODE
DEFAULT_OPERATION_MODE: operationMode = "automatic"
Const DEFAULT_OVERMIND_SIGNATURE
DEFAULT_OVERMIND_SIGNATURE: string = leftAngleQuote + OVERMIND_SMALL_CAPS + rightAngleQuote
Const DEFAULT_PARTNER_TICK_DIFFERENCE
DEFAULT_PARTNER_TICK_DIFFERENCE: 650 = 650
Const DEFAULT_PRESPAWN
DEFAULT_PRESPAWN: 50 = 50
Const DEFAULT_SWARM_TICK_DIFFERENCE
DEFAULT_SWARM_TICK_DIFFERENCE: 650 = 650
Const DemolishStructurePriorities
DemolishStructurePriorities: object[] = [{structureType: STRUCTURE_EXTENSION, maxRemoved: 15},{structureType: STRUCTURE_SPAWN, maxRemoved: 1},{structureType: STRUCTURE_CONTAINER},{structureType: STRUCTURE_TOWER, maxRemoved: 1},{structureType: STRUCTURE_LINK},{structureType: STRUCTURE_LAB},{structureType: STRUCTURE_NUKER},{structureType: STRUCTURE_OBSERVER},// {structureType: STRUCTURE_EXTRACTOR, maxRemoved: 1}, // skip extractor; doesn't need to be relocated{structureType: STRUCTURE_POWER_SPAWN},// {structureType: STRUCTURE_ROAD}, // just let roads decay{structureType: STRUCTURE_CONTAINER},{structureType: STRUCTURE_STORAGE, maxRemoved: 1},{structureType: STRUCTURE_TERMINAL, maxRemoved: 1},{structureType: STRUCTURE_WALL},{structureType: STRUCTURE_RAMPART},]
Const DoubleMinerSetupCost
DoubleMinerSetupCost: number = bodyCost(Setups.drones.miners.double.generateBody(Infinity))
Const ERR_CANNOT_PUSH_CREEP
ERR_CANNOT_PUSH_CREEP: -30 = -30
Const EXPANSION_EVALUATION_FREQ
EXPANSION_EVALUATION_FREQ: 500 = 500
Const LOG_LEVEL
LOG_LEVEL: number = LogLevels.INFO
Const LOG_LOAD_SOURCE_MAP
LOG_LOAD_SOURCE_MAP: boolean = false
Const LOG_MAX_PAD
LOG_MAX_PAD: number = 100
Const LOG_PRINT_LINES
LOG_PRINT_LINES: boolean = false
Const LOG_PRINT_TICK
LOG_PRINT_TICK: boolean = true
Const LOG_STATS_INTERVAL
LOG_STATS_INTERVAL: 8 = 8
Const MAX_ENERGY_SELL_ORDERS
MAX_ENERGY_SELL_ORDERS: 5 = 5
Const MAX_OBSERVE_DISTANCE
MAX_OBSERVE_DISTANCE: 7 = 7
Const MAX_OWNED_ROOMS
MAX_OWNED_ROOMS: number = Infinity
Const MAX_SPAWN_REQUESTS
MAX_SPAWN_REQUESTS: 100 = 100
Const MIN_EXPANSION_DISTANCE
MIN_EXPANSION_DISTANCE: 2 = 2
Const MIN_LIFETIME_FOR_BOOST
MIN_LIFETIME_FOR_BOOST: 0.85 = 0.85
Const MUON
MUON: "Muon" = "Muon"
Const MY_USERNAME
MY_USERNAME: string = getUsername()
Const NEW_OVERMIND_INTERVAL
NEW_OVERMIND_INTERVAL: 5 | 20 = onPublicServer() ? 20 : 5
Const NO_ACTION
NO_ACTION: -20 = -20
Const OVERMIND_SMALL_CAPS
OVERMIND_SMALL_CAPS: "ᴏᴠᴇʀᴍɪɴᴅ" = "ᴏᴠᴇʀᴍɪɴᴅ"
Const PROFILER_COLONY_LIMIT
PROFILER_COLONY_LIMIT: number = Math.ceil(Game.gcl.level / 2)
Const PROFILER_INCLUDE_COLONIES
PROFILER_INCLUDE_COLONIES: string[] = [/*'E15S49'*/]
Const RESOURCE_IMPORTANCE
RESOURCE_IMPORTANCE: ("power" | "U" | "L" | "K" | "G" | "Z" | "O" | "H" | "X" | "OH" | "ZK" | "UL" | "UH" | "UO" | "KH" | "KO" | "LH" | "LO" | "ZH" | "ZO" | "GH" | "GO" | "UH2O" | "UHO2" | "KH2O" | "KHO2" | "LH2O" | "LHO2" | "ZH2O" | "ZHO2" | "GH2O" | "GHO2" | "XUH2O" | "XUHO2" | "XKH2O" | "XKHO2" | "XLH2O" | "XLHO2" | "XZH2O" | "XZHO2" | "XGH2O" | "XGHO2" | "energy")[] = [RESOURCE_CATALYZED_GHODIUM_ALKALIDE,RESOURCE_CATALYZED_GHODIUM_ACID,RESOURCE_CATALYZED_ZYNTHIUM_ALKALIDE,RESOURCE_CATALYZED_ZYNTHIUM_ACID,RESOURCE_CATALYZED_LEMERGIUM_ALKALIDE,RESOURCE_CATALYZED_LEMERGIUM_ACID,RESOURCE_CATALYZED_KEANIUM_ALKALIDE,RESOURCE_CATALYZED_KEANIUM_ACID,RESOURCE_CATALYZED_UTRIUM_ALKALIDE,RESOURCE_CATALYZED_UTRIUM_ACID,RESOURCE_POWER,RESOURCE_GHODIUM_ALKALIDE,RESOURCE_GHODIUM_ACID,RESOURCE_ZYNTHIUM_ALKALIDE,RESOURCE_ZYNTHIUM_ACID,RESOURCE_LEMERGIUM_ALKALIDE,RESOURCE_LEMERGIUM_ACID,RESOURCE_KEANIUM_ALKALIDE,RESOURCE_KEANIUM_ACID,RESOURCE_UTRIUM_ALKALIDE,RESOURCE_UTRIUM_ACID,RESOURCE_GHODIUM_OXIDE,RESOURCE_GHODIUM_HYDRIDE,RESOURCE_ZYNTHIUM_OXIDE,RESOURCE_ZYNTHIUM_HYDRIDE,RESOURCE_LEMERGIUM_OXIDE,RESOURCE_LEMERGIUM_HYDRIDE,RESOURCE_KEANIUM_OXIDE,RESOURCE_KEANIUM_HYDRIDE,RESOURCE_UTRIUM_OXIDE,RESOURCE_UTRIUM_HYDRIDE,RESOURCE_UTRIUM_LEMERGITE,RESOURCE_ZYNTHIUM_KEANITE,RESOURCE_HYDROXIDE,RESOURCE_GHODIUM,RESOURCE_CATALYST,RESOURCE_ZYNTHIUM,RESOURCE_LEMERGIUM,RESOURCE_KEANIUM,RESOURCE_UTRIUM,RESOURCE_OXYGEN,RESOURCE_HYDROGEN,RESOURCE_ENERGY,]
Const ROOMTYPE_ALLEY
ROOMTYPE_ALLEY: "ALLEY" = "ALLEY"
Const ROOMTYPE_CONTROLLER
ROOMTYPE_CONTROLLER: "CTRL" = "CTRL"
Const ROOMTYPE_CORE
ROOMTYPE_CORE: "CORE" = "CORE"
Const ROOMTYPE_SOURCEKEEPER
ROOMTYPE_SOURCEKEEPER: "SK" = "SK"
Const SHARD3_MAX_OWNED_ROOMS
SHARD3_MAX_OWNED_ROOMS: 3 = 3
Const StandardMinerSetupCost
StandardMinerSetupCost: number = bodyCost(Setups.drones.miners.standard.generateBody(Infinity))
Const USE_PROFILER
USE_PROFILER: boolean = false
Const USE_TRY_CATCH
USE_TRY_CATCH: boolean = true
Const alignedNewline
alignedNewline: string = '\n' + ' '.repeat('INFO '.length + Game.time.toString().length + ' '.length)
Const allBunkerCoords
allBunkerCoords: object = _allBunkerCoords
Const asciiLogo
asciiLogo: string[] = ['___________________________________________________________','',' _____ _ _ _______ ______ _______ _____ __ _ ______ ','| | \\ / |______ |_____/ | | | | | \\ | | \\','|_____| \\/ |______ | \\_ | | | __|__ | \\_| |_____/','','_______________________ Screeps AI ________________________']
Const asciiLogoSmall
asciiLogoSmall: string[] = [' _____ _ _ _______ ______ _______ _____ __ _ ______ ','| | \\ / |______ |_____/ | | | | | \\ | | \\','|_____| \\/ |______ | \\_ | | | __|__ | \\_| |_____/']
Const attackTaskName
attackTaskName: "attack" = "attack"
Const buildTaskName
buildTaskName: "build" = "build"
Const bullet
bullet: "‣ " = "‣ "
Const bunkerChargingSpots
bunkerChargingSpots: Coord[] = [{'x': 29, 'y': 24}, {'x': 24, 'y': 21}]
Const bunkerCoordLookup
bunkerCoordLookup: object = _.mapValues(_allBunkerCoords,(coordArr: Coord[]) =>_.zipObject(_.map(coordArr,c => [coordName(c), true]))) as { [rcl: number]: { [coordName: string]: true | undefined } }
Type declaration
-
[rcl: number]: object
-
[coordName: string]: true | undefined
Const claimTaskName
claimTaskName: "claim" = "claim"
Const dismantleTaskName
dismantleTaskName: "dismantle" = "dismantle"
Const dropTaskName
dropTaskName: "drop" = "drop"
Const energyStructureOrder
energyStructureOrder: Coord[] = (<Coord[]>[]).concat(quadrantFillOrder.lowerRight,quadrantFillOrder.upperLeft,quadrantFillOrder.lowerLeft,quadrantFillOrder.upperRight)
Const fortifyTaskName
fortifyTaskName: "fortify" = "fortify"
Const getBoostedTaskName
getBoostedTaskName: "getBoosted" = "getBoosted"
Const getRenewedTaskName
getRenewedTaskName: "getRenewed" = "getRenewed"
Const goToRoomTaskName
goToRoomTaskName: "goToRoom" = "goToRoom"
Const goToTaskName
goToTaskName: "goTo" = "goTo"
Const harvestTaskName
harvestTaskName: "harvest" = "harvest"
Const healTaskName
healTaskName: "heal" = "heal"
Const leftAngleQuote
leftAngleQuote: "«" = "«"
Const leftArrow
leftArrow: "⟵" = "⟵"
Const logoComponents
logoComponents: object = _.mapValues(_logoComponents,c => ({style : c.style,points: _.map(c.points, xy => [logoX + logoScale * xy[0],logoY + logoScale * xy[1]])})) as { [part: string]: { style: PolyStyle, points: [number, number][] } }
Const logoText
logoText: object = _.mapValues(_logoText, function (c) {let ret = {style : c.style,points: _.map(c.points, xy => [textX + textScale * (offset + xy[0]),textY + textScale * xy[1]])};offset += charScale * (c.coords[1] - c.coords[0]);return ret;}) as { [part: string]: { style: PolyStyle, points: [number, number][] } }
Const meleeAttackTaskName
meleeAttackTaskName: "meleeAttack" = "meleeAttack"
Const pickupTaskName
pickupTaskName: "pickup" = "pickup"
Const priorityStock
priority
Stock: Reaction[] = _priorityStock
Const rangedAttackTaskName
rangedAttackTaskName: "rangedAttack" = "rangedAttack"
Const rechargeTaskName
rechargeTaskName: "recharge" = "recharge"
Const repairTaskName
repairTaskName: "repair" = "repair"
Const reserveTaskName
reserveTaskName: "colony" = "colony"
Const rightAngleQuote
rightAngleQuote: "»" = "»"
Const rightArrow
rightArrow: "⟶" = "⟶"
Const signControllerTaskName
signControllerTaskName: "signController" = "signController"
Const transferAllTaskName
transferAllTaskName: "transferAll" = "transferAll"
Const transferTaskName
transferTaskName: "transfer" = "transfer"
Const upgradeTaskName
upgradeTaskName: "upgrade" = "upgrade"
Const withdrawAllTaskName
withdrawAllTaskName: "withdrawAll" = "withdrawAll"
Const withdrawTaskName
withdrawTaskName: "withdraw" = "withdraw"
Prioritized list of what order enemy structures should be attacked in