Screeps Creep Body Parts: WORK, CARRY, and MOVE
Inspect one Creep's active WORK, CARRY, and MOVE parts, then use its action result, Store, fatigue, and damage to diagnose missing abilities.
TOPIC · 17 GUIDES
Focused English articles connected to debugging, organized with the same filters used by the main article library.
17 matching guides
Inspect one Creep's active WORK, CARRY, and MOVE parts, then use its action result, Store, fatigue, and damage to diagnose missing abilities.
Filter FIND_HOSTILE_CREEPS through an explicit allowed-user policy, score active combat parts, use range and name as deterministic tie-breakers, require active owned Towers with TOWER_ENERGY_COST, save attack() results, and re-evaluate targets every tick.
Compare ticksToDowngrade with configurable enter and recovery thresholds, use CONTROLLER_DOWNGRADE for context, select an owned ready Upgrader with Energy and active WORK, move to range 3, save upgradeController() results, and exit emergency mode only after recovery.
Read progress and progressTotal, clamp remaining work and completion percentage, report FIND_MY_CONSTRUCTION_SITES at a controlled interval, use site.pos.roomName when room is unavailable, distinguish completion from deletion, and avoid unsupported ETA claims.
Keep one module.exports.loop, export small role functions, validate module shapes, read current Game objects inside each tick, avoid module-scope world snapshots, and preserve diagnostics for missing roles and load failures.
Validate the Spawn, Creep name, body, Energy, Memory, and optional structures; run dryRun first; preserve the real spawnCreep() result; and map each error code to a concrete fix.
Identify which action returned ERR_NOT_IN_RANGE, use its real range, save the moveTo() result separately, and retry the original action on a later tick instead of assuming movement is immediate.
Distinguish an accepted movement order from later position change, validate the target and active MOVE parts, inspect fatigue and range, track roomName:x:y across ticks, and diagnose traffic, cached paths, and overwritten movement orders.
Distinguish ERR_NO_PATH, ERR_NOT_FOUND and PathFinder incomplete results; validate target range; correct CostMatrix walkability; inspect callbacks, maxOps, maxRooms and cross-room routes; and separate temporary traffic from a failed search.
Understand when a Room exists in Game.rooms, separate current-tick visibility from historical Memory, guard Controller and structure reads, and build a safe visibility-first inspection helper.
Schedule Observer vision, store the accepted request, read the target Room on the next tick, preserve bounded intel, handle return codes, and avoid claiming that current visibility proves the new request completed.
Measure CPU with Game.cpu.getUsed() deltas, understand limit, tickLimit, and bucket, avoid Simulation-only conclusions, collect bounded samples, and gate optional work without hiding essential room logic.