Tower not attacking, healing, or repairing
When a Tower does not produce the expected action, confirm target, Energy, ownership, and the real action result before judging range falloff or combined Tower output.
SEARCH + DIAGNOSTICS
Search discovers the most relevant guides, references, return codes, and tools. When the answer is still uncertain, continue through symptom diagnostics, API surfaces, and accepted Runtime Evidence.
Problem → likely cause → return code / API → guide / tool → accepted Runtime Evidence.
Symptom diagnostics → · API reference → · Return codes → · Runtime Evidence Hub →
80 matching results
When a Tower does not produce the expected action, confirm target, Energy, ownership, and the real action result before judging range falloff or combined Tower output.
When build() or repair() has no visible effect, inspect the real return code, target type, range, WORK parts, Creep Energy, and target state first.
Screeps API surface: creep.repair(target).
Screeps API surface: tower.attack() / heal() / repair().
Prefer controlled repair or heal cases with action result, Tower Energy, target hits, and a later tick; add attack evidence only when it occurs naturally and can be recorded clearly.
A focused hub for Tower attack, heal, repair, range falloff, Energy budgeting, and defense planning.
Find injured owned Creeps, rank lower hit ratios before missing hits and nearest-Tower range, require active owned Towers with TOWER_ENERGY_COST, save heal() results, avoid caching stale targets, and leave over-heal optimization to a later dispatcher.
Calculate Tower range falloff, combined attack, heal or repair power, Energy use, and OPERATE_TOWER output.
Bind one target and each Tower ID, estimate range- and Power-adjusted output for allocation, submit one attack intent per Tower, then verify exact prior-tick ranged-attack events instead of inferring a volley from net hits.
Preserve a defense Energy reserve, select an ordinary damaged structure, estimate range-adjusted repair to limit over-repair, submit one intent per Tower, then verify exact prior-tick repair events and Energy spent.
Check Spawn, workforce, Energy, Controller, construction, CPU, and bucket risks from a static snapshot.
Search common Game, Creep, Room, Structure, Market, and PathFinder APIs and continue to matching guides or official documentation.
High-frequency Screeps error codes with diagnostic paths into APIs, object hubs, guides, tools, and runtime verification.
Start from visible symptoms such as a Creep not moving, Spawn failures, Controller downgrade pressure, Link transfer problems, Market failures, high CPU, or stalled logistics, then continue into return codes, APIs, object hubs, guides, tools, and runtime verification.
See which high-frequency diagnostic paths have accepted Console or live multi-tick verification, what evidence is missing, and which runtime checks should come next.
Browser-based body, room, Market, Controller, Lab, Spawn, hauling, and Tower tools that do not request a Screeps token or connect to an account.
Find the action that returned ERR_NOT_IN_RANGE, use its documented range, submit movement separately, and retry the action on a later tick.
Catch JavaScript exceptions at room or subsystem boundaries, retain bounded rate-limited evidence, pause repeatedly failing optional work, and retry after cooldown without confusing API return codes or CPU termination with exceptions.
Bind confirmation to the exact Nuker and target, record only an accepted launch, verify the launcher's zeroed resources and cooldown, and match the exact Nuke object when target vision exists.
Set room-specific Wall and Rampart stages, reserve targets across repairers, record only accepted repair calls, and verify the exact Repairer-to-structure EVENT_REPAIR on the next tick.
Call Game.notify(), use groupInterval and simple Memory incident state to avoid repeated alerts, preserve the checked engine result, and keep scheduling separate from external email delivery.
Freeze one reviewed order revision, reserve the creation fee and account mutation slot, call createOrder once, and verify the exact new order ID in the next account snapshot.
Separate permanent Factory level from the active Power effect, snapshot every recipe component, submit one batch, and verify exact output and component deltas under an exclusive Store window.
Change, extend, or cancel one owned Screeps market order with nullable room fingerprints, conservative fee budgeting, one-writer request IDs, raw return codes, and next-tick state verification.
Open a Screeps Room, switch to the code editor and player Console, then use read-only checks to match exact Room, Spawn, Creep, Source, and Controller data.
Inspect one Creep's active WORK, CARRY, and MOVE parts, then use its action result, Store, fatigue, and damage to diagnose missing abilities.
Distinguish local variables, disposable heap cache, and persistent Memory; initialize Creep state safely; store JSON-compatible values; and recover current game objects from IDs.
Enter acquire at zero Energy, enter work when full, preserve the previous phase at partial values, initialize explicitly, and keep state selection separate from actions and outcomes.
Clean stale Memory.creeps entries by comparing them with Game.creeps. Delete only confirmed dead names and keep custom task indexes in sync.
Collect requests, choose one target per Observer, make one final observeRoom() call, store only that accepted target, read it next tick, and keep visibility attribution honest.
Coordinate one shared Storage withdrawal budget and target capacity map, record only accepted withdraw or transfer calls, and verify the exact source-target event on the next tick.
Validate one fixed anchor against Controller range 3 and Link range 1, recover the exact owned Controller Link, diagnose Energy and active body parts, preserve move, withdraw, and upgrade return codes, and verify later position, Store, or event evidence.
Treat ticksToDecay as the next decay pulse, reject unsafe path deadlines, preserve repair() results, explain the current-engine repair-before-decay boundary, and verify EVENT_REPAIR amount and Energy spent on the next tick.
Centralize Creep demand, deduplicate stable request keys, rank emergency and replacement work, reserve shared room Energy locally, assign each idle Spawn once, and verify accepted names on later ticks.
Distinguish general, limited, and read-only Stores; interpret resource arguments, zero and null correctly; handle Lab and specialized capacities; and calculate safe withdraw and transfer amounts.
Publish versioned shard-owned channels, validate remote strings, enforce a conservative UTF-8 project budget, detect writer restarts and revision regressions, and measure freshness with local observation windows.
Publish versioned public RawMemory segments, request one foreign segment for the next tick, validate untrusted JSON, rotate subscriptions, and detect stream changes without confusing local, cross-shard, and foreign storage.
Browse 7 published English guides related to Memory.
Calculate Terminal transaction Energy, effective Market deal prices, maximum Energy payload, and order creation fees.
A practical hub for Store used, free, and total capacity semantics across Creep hauling, Storage, Containers, and room economy.
The English home for practical Screeps learning, debugging, references, and tools.
Capture the actual Spawn request, interpret each documented return code, separate dryRun from the final submission, and verify scheduled spawning across later ticks.
Request active Segment IDs once, read them on a later tick, distinguish unavailable from empty, validate versioned JSON, and write only after a successful read.
Plan multiple same-room Link sends with shared target-capacity reservations, submit each source once, and verify exact source and target IDs in the next tick's transfer events.
Recover Tombstone and Ruin resources without chasing doomed targets: reject incomplete structure-aware paths, block closed hostile Ramparts, preserve target identity, and verify the processed withdraw amount on the next tick.
Calculate Energy cost, spawn time, hits, carry capacity, and loaded movement speed.
Give Builder1 a clear priority: build owned sites, repair selected damaged structures, and upgrade the Controller when no higher task exists.
Use a one-time Memory request, validate a visible room and 0–49 coordinates, allow Road placement on natural wall terrain, reject an existing Road or Construction Site, respect MAX_CONSTRUCTION_SITES, disable before createConstructionSite(), and verify later.
Use Creep.attack() with the correct range-1 boundary, active ATTACK parts, documented return codes, Rampart behavior, and later-tick verification.
Calculate a replacement deadline from ticksToLive, current Spawn work, body spawn time, travel and safety margin, prevent duplicate role replacements, preserve spawnCreep results, and observe the accepted name later.
Coordinate Creep.pull(), the puller's movement, and target.move(puller) in the same tick, handle adjacency and fatigue correctly, and verify the pair moved later.
Use Creep.harvest() to find an active Source, move into range, keep harvesting until your Creep is ready to deliver, and read Source-specific return codes without treating ERR_FULL as a harvest result.
Inspect a misplaced Construction Site, validate its identity, submit remove() once, handle return codes, and verify the result on the next tick.
Find a Container that currently holds Energy, check the Creep's free capacity, call withdraw(), handle range and return codes, and keep the delivery task outside this focused guide.
Learn why Game.rooms[roomName] is undefined without current room vision, how to guard live Room reads, and why Memory.rooms does not prove visibility.
Browse 24 published English guides related to Debugging.
Freeze one reviewed deal revision, reserve both an account deal slot and the exact Terminal, submit once, and verify the new transaction ID and actual partial or full amount next tick.
Freeze one transfer revision, reserve the exact Terminal against send and market-deal conflicts, submit once, normalize ledger descriptions, and verify the actual full or partial outgoing transaction next tick.
Bind one request to three exact Lab IDs, snapshot both reagent types and Stores, submit once, and verify the product and two reagent deltas under an exclusive action window.
Validate the same-tile Extractor and Miner, record only accepted harvest calls, match the exact EVENT_HARVEST on the next tick, and separate event identity from Store overflow and depletion.
Recover an owned active Power Spawn, calculate base and PWR_OPERATE_POWER processing amounts, require Power and POWER_SPAWN_ENERGY_RATIO Energy, preserve a configurable room reserve, store GPL and resource snapshots, handle return codes, and verify later deltas.
Learn what Screeps is, how JavaScript controls its persistent world, and how Rooms, Creeps, Sources, Spawns, and Controllers work together for new players.
Understand a Screeps tick, Game.time, and module.exports.loop, then run safe observations that show why actions and state changes appear across later ticks.
Use dryRun to validate a WORK-CARRY-MOVE body, submit one safe spawnCreep() request, read its return code, and verify the new Creep across later ticks.
Filter FIND_DROPPED_RESOURCES for Energy, rank valid piles by collectible amount and path length, handle decay and changing targets, and inspect pickup() and movement results.
Save an ID with room and kind metadata, return explicit invalid, no-vision, missing, wrong-type, and ready states, and keep restoration separate from reselection and actions.
Learn StructureSpawn.renewCreep() requirements, TTL and Energy formulas, Boost and CLAIM limits, return codes, and how to verify renewal on the next tick.
Bind one retirement request to exact Spawn and Creep IDs, reserve both objects, record pending evidence only after OK, then match the exact destruction event and Creep-tile Tombstone.
Measure one code section with Game.cpu.getUsed() deltas, compare equivalent server ticks, separate bucket context from profiling, and protect essential work before optional tasks.
Cache derived IDs and plain data in global, rebuild after resets, invalidate with explicit versions, and keep callers correct when the cache is missing or stale.
Read the previous tick's Room events, distinguish parsed and raw mode, filter event-specific data safely, match actor and target IDs when attribution matters, and keep optional history bounded.
Use fill: 'transparent' for unfilled RoomVisual circles and rectangles, then add debug labels and target paths without confusing visuals with game results.
Route every Safe Mode request through one final per-tick dispatcher, bind the exact Controller ID, disable the request before activateSafeMode(), and verify activation consumption on the next tick.
Report progress and remaining work, submit one tracked build intent, match the exact Builder and Site in the next tick's EVENT_BUILD record, and separate completion from removal.
Bind confirmation to the exact Extension and owned room, block hostile Creeps and Power Creeps, submit one queued destroy call, then distinguish original-ID removal from a later replacement at the tile.
Resolve an exact Flag, validate its schema, bind saved object IDs to the Flag room and expected type, make fallback an explicit policy, and report configuration drift without mutating the Flag.
Keep one main loop, export small functions, pass current game objects into modules, validate role contracts once per runtime, isolate per-Creep failures, and keep durable state out of module scope.
Bind one reviewed boolean change to the exact Rampart, reserve that ID for the tick, record pending evidence only after OK, and verify the same object's isPublic state on the next tick.
Diagnose room.energyAvailable below energyCapacityAvailable by reconciling active Spawn and Extension Stores, holding one stable fill target, preserving transfer() results, and matching the processed Energy transfer on the next tick.
A focused hub for Game.market deals, order creation, Terminal transport budgeting, and Market tools.