Smarter biter AI with adaptive resistance, breach reinforcement, scheduled raids, wall regen, and overhaul-mod compatibility.
Large total conversion mods.
Version: 10.9.15
Date: 2026-09-18
Bugfixes:
- Raids keep all their units and follow their route to the target. Since 10.9.7, the game removed raid groups during assembly, and most units stayed at the nest.
- The raid map marker keeps its size at every map zoom. Before, it was too small to see on the map.
- After removal of the mod, the units of an existing raid stay idle when their last command ends.
- Raid and Research Pressure spawns no longer place units on the far side of water. The water check used a layer name that Factorio 2.x rejects.
- Research Pressure no longer creates units inside a nest, where they cannot move. It skips the unit and can use another nest.
- Raid and Research Pressure warnings show the planet name, such as Nauvis. Before, they showed the internal surface name, such as nauvis.
Version: 10.8.23
Date: 2026-09-18
Bugfixes:
- Raids keep all their units and follow their route to the target. Since 10.8.15, the game removed raid groups during assembly, and most units stayed at the nest.
- The raid map marker keeps its size at every map zoom. Before, it was too small to see on the map.
- After removal of the mod, the units of an existing raid stay idle when their last command ends.
- Raid and Research Pressure spawns no longer place units on the far side of water. The water check used a layer name that Factorio 2.x rejects.
- Research Pressure no longer creates units inside a nest, where they cannot move. It skips the unit and can use another nest.
- Raid and Research Pressure warnings show the planet name, such as Nauvis. Before, they showed the internal surface name, such as nauvis.
Version: 10.9.14
Date: 2026-09-14
Bugfixes:
- Prevent crashes when hold or dispatch commands invalidate raid groups, including after the last spawn source becomes unavailable.
Version: 10.8.22
Date: 2026-09-14
Bugfixes:
- Prevent crashes when hold or dispatch commands invalidate raid groups, including after the last spawn source becomes unavailable.
Version: 10.9.13
Date: 2026-09-12
Changes:
- Separate player controls, remote functions, storage migrations, and unit replacement into smaller code modules.
- Preserve player features, settings, balance, and saved data.
Version: 10.8.21
Date: 2026-09-12
Changes:
- Separate player controls, remote functions, storage migrations, and unit replacement into smaller code modules.
- Preserve player features, settings, balance, and saved data.
Version: 10.9.12
Date: 2026-09-12
Bugfixes:
- Natural resistance replacement keeps unit quality. It excludes units on forces that do not register for enemy behavior.
- The update restores existing variants on unregistered forces in small automatic steps. Replacements keep current state and receive new unit numbers.
- The circuit adapter refuses controllers without a cursor. English setting names use valid punctuation.
- Explicit group exclusions stop pending commands. Target discovery restarts on other surfaces after AI reactivation.
- Complete night waves can dispatch while another surface prepares a future raid. The preparation keeps its progress.
Optimizations:
- Repeated changes inside a nest cell stop collection with incomplete coverage. The target keeps a finite retry.
Version: 10.8.20
Date: 2026-09-12
Bugfixes:
- Natural resistance replacement keeps unit quality. It excludes units on forces that do not register for enemy behavior.
- The update restores existing variants on unregistered forces in small automatic steps. Replacements keep current state and receive new unit numbers.
- The circuit adapter refuses controllers without a cursor. English setting names use valid punctuation.
- Explicit group exclusions stop pending commands. Target discovery restarts on other surfaces after AI reactivation.
- Complete night waves can dispatch while another surface prepares a future raid. The preparation keeps its progress.
Optimizations:
- Repeated changes inside a nest cell stop collection with incomplete coverage. The target keeps a finite retry.
Version: 10.9.11
Date: 2026-09-12
Bugfixes:
- Raids search distant nests after nearby paths fail. Existing saves receive one retry for earlier permanent target exclusions.
- Complete waves can dispatch while another surface waits for its next raid. The waiting selection keeps its progress.
- Raid creation excludes denied unit types from mixed nests and fallback choices.
- Saved paths and breach work obey the current group-control setting. Configuration changes remove obsolete work.
- Chunk deletion clears core counts and repairs nearby targets. Status rows stay aligned for players without administrator permission.
Compatibility:
- Delayed explosions keep their native damage time, movement, and force protection. Saved effects continue after a game reload.
Optimizations:
- Target construction corrects changed records before selection. Full nest searches check for array changes and limit repeat work.
- Neighbor repair uses bounded steps. Empty untracked chunks add no repair work when the core index is complete.
Version: 10.8.19
Date: 2026-09-12
Bugfixes:
- Raids search distant nests after nearby paths fail. Existing saves receive one retry for earlier permanent target exclusions.
- Complete waves can dispatch while another surface waits for its next raid. The waiting selection keeps its progress.
- Raid creation excludes denied unit types from mixed nests and fallback choices.
- Saved paths and breach work obey the current group-control setting. Configuration changes remove obsolete work.
- Chunk deletion clears core counts and repairs nearby targets. Status rows stay aligned for players without administrator permission.
Compatibility:
- Delayed explosions keep their native damage time, movement, and force protection. Saved effects continue after a game reload.
Optimizations:
- Target construction corrects changed records before selection. Full nest searches check for array changes and limit repeat work.
- Neighbor repair uses bounded steps. Empty untracked chunks add no repair work when the core index is complete.
Changes:
- This release requires Factorio 2.0.77 or later in the 2.0 series.
Version: 10.9.10
Date: 2026-09-11
Bugfixes:
- Raid cancellation keeps valid surface jobs and prevents a scheduler error. Surface cleanup removes obsolete selections and research work.
- Target selection keeps defense counts, advances cursors correctly, and tests visible nests after hidden routes fail.
- Temporary path failures use finite retries. Existing saves receive one retry for targets excluded by earlier versions.
- Breach commands cancel obsolete path requests. Wall repair stops when its startup switch turns off.
- Raid countdowns apply each surface's night restriction. Alert settings control banners and existing map markers correctly.
- Adapter instructions identify the multiplier input. Research Pressure opt-in requires an administrator.
Compatibility:
- Disabled nests cannot supply new units. Research Pressure uses the selected nest's force evolution for unit choice.
- Supported attack conversion keeps delivery effects. Unsupported streams keep their native behavior.
- Supported create-explosion effects protect same-force enemies. Frost Biters 2.2.1 variants keep the original scripted death cloud.
Optimizations:
- Path requests have separate admission and pending limits. Excess requests wait in a saved queue.
- Target discovery keeps progress for each surface. Target construction, candidate sorting, research scans, and core discovery use bounded steps.
- Nest collection keeps its position inside dense cells and respects the specified work limit.
Version: 10.8.18
Date: 2026-09-11
Bugfixes:
- Raid cancellation keeps valid surface jobs and prevents a scheduler error. Surface cleanup removes obsolete selections and research work.
- Target selection keeps defense counts, advances cursors correctly, and tests visible nests after hidden routes fail.
- Temporary path failures use finite retries. Existing saves receive one retry for targets excluded by earlier versions.
- Breach commands cancel obsolete path requests. Wall repair stops when its startup switch turns off.
- Raid countdowns apply each surface's night restriction. Alert settings control banners and existing map markers correctly.
- Adapter instructions identify the multiplier input. Research Pressure opt-in requires an administrator.
Compatibility:
- Disabled nests cannot supply new units. Research Pressure uses the selected nest's force evolution for unit choice.
- Supported attack conversion keeps delivery effects. Unsupported streams keep their native behavior.
- Supported create-explosion effects protect same-force enemies. Frost Biters 2.2.1 variants keep the original scripted death cloud.
Optimizations:
- Path requests have separate admission and pending limits. Excess requests wait in a saved queue.
- Target discovery keeps progress for each surface. Target construction, candidate sorting, research scans, and core discovery use bounded steps.
- Nest collection keeps its position inside dense cells and respects the specified work limit.
Version: 10.9.9
Date: 2026-09-09
Bugfixes:
- Night Raids checks darkness at dispatch. Complete waves wait through daylight without blocking other surfaces.
- The first recorded casualty starts the retreat window. Descriptions identify surviving members as the threshold measurement.
Features:
- Research Pressure has an optional Next raid effect. A bounded allowance increases the next scheduled wave. Existing settings keep separate reinforcements.
Optimizations:
- Breach reinforcement uses a saved queue with fixed limits for searches, recipient checks, and commands per step.
Version: 10.8.17
Date: 2026-09-09
Bugfixes:
- Night Raids checks darkness at dispatch. Complete waves wait through daylight without blocking other surfaces.
- The first recorded casualty starts the retreat window. Descriptions identify surviving members as the threshold measurement.
Features:
- Research Pressure has an optional Next raid effect. A bounded allowance increases the next scheduled wave. Existing settings keep separate reinforcements.
Optimizations:
- Breach reinforcement uses a saved queue with fixed limits for searches, recipient checks, and commands per step.
Version: 10.9.8
Date: 2026-09-09
Bugfixes:
- Native effects protect same-force enemies from unfiltered direct, area, and line damage. This includes referenced clouds, death explosions, and ground fire.
- Fire protection keeps native timing, fuel effects, armor damage, and lethal hits. It needs no Lua callback for each hit.
- Death and impact effects keep enemy ownership so their damage does not become neutral damage against nearby nests.
- A creation event redirects Frost Biters 2.0 enemy death clouds without recurring scans.
- Separate enemy effect and ammunition tables keep player weapons. Existing mod-owned projectile copies limit additional prototypes.
Compatibility:
- Explicit third-party force filters keep their original meaning. Protection does not cover arbitrary damage from another mod's direct script calls.
Changes:
- Comments, descriptions, and release notes use simplified technical English. Executable Lua code stays unchanged.
Version: 10.8.16
Date: 2026-09-09
Bugfixes:
- Native effects protect same-force enemies from unfiltered direct, area, and line damage. This includes referenced clouds, death explosions, and ground fire.
- Fire protection keeps native timing, fuel effects, armor damage, and lethal hits. It needs no Lua callback for each hit.
- Death and impact effects keep enemy ownership so their damage does not become neutral damage against nearby nests.
- A creation event redirects Frost Biters 2.0 enemy death clouds without recurring scans.
- Separate enemy effect and ammunition tables keep player weapons. Existing mod-owned projectile copies limit additional prototypes.
Compatibility:
- Explicit third-party force filters keep their original meaning. Protection does not cover arbitrary damage from another mod's direct script calls.
Changes:
- Comments, descriptions, and release notes use simplified technical English. Executable Lua code stays unchanged.
Version: 10.9.7
Date: 2026-09-08
Changes:
- Direct removal needs no preparation command. Factorio deletes resistant variants. Optional preparation keeps them as ordinary enemies.
- Mod-owned map drawings replace persistent raid and diagnostic chart tags. The update removes tracked old tags.
- The update retires the persistent friendly-fire override and restores recorded values. Unknown older values use the engine default with a notice.
- Circuit adapters use removable helpers on a parallel red branch. The original controller-to-turret connection stays necessary for operation after removal.
- Raid groups keep native ownership and execute finite hold commands. They do not require this mod for their later lifecycle.
Version: 10.8.15
Date: 2026-09-08
Changes:
- Direct removal needs no preparation command. Factorio deletes resistant variants. Optional preparation keeps them as ordinary enemies.
- Mod-owned map drawings replace persistent raid and diagnostic chart tags. The update removes tracked old tags.
- The update retires the persistent friendly-fire override and restores recorded values. Unknown older values use the engine default with a notice.
- Circuit adapters use removable helpers on a parallel red branch. The original controller-to-turret connection stays necessary for operation after removal.
- Raid groups keep native ownership and execute finite hold commands. They do not require this mod for their later lifecycle.
Version: 10.9.6
Date: 2026-09-07
Bugfixes:
- Bounded nest and target scans keep their progress across saves and multiplayer joins.
- Visible-nest fallback can launch raids. Modded-enemy size reduction uses the actual composition sources.
- Breach broadcasts respect groups under another mod's control. The control-yield setting also releases previously adopted groups.
- Research Pressure uses standard biter and spitter nests and units. Evolution weights interpolate correctly, and the most polluted candidates come first.
- Other planets can schedule raids while a selected raid waits for night.
- Healthy group detachment keeps the warning interval. Early dispatch requires a recorded death during the hold.
- The current entity prototype count limits resistant variants. Level reduction occurs only when the requested set exceeds the available budget.
- The core index narrows nearest-target searches. A complete fallback search handles stale entries. The upgrade rebuilds the index during loading.
Features:
- Manual turret priorities inherit resistant variants during related events and upgrades. Optional uninstall preparation restores base enemy lists without recurring scans.
- The command /smart-enemy-ai-target-adapter [enemy-prototype|all] creates a circuit blueprint. It keeps original signals and adds matching variant signals after one tick. Installation requires player action.
- Variant names show the damage type and total resistance.
- The command /smart-enemy-ai-prepare-uninstall [true|false] converts variants, releases groups, removes mod displays, restores recorded friendly-fire values, and stops mod work before removal.
- The mod records original friendly-fire values before changes. The restoration command requires an explicit fallback for unknown older values. Protection continues until successful restoration.
Version: 10.8.14
Date: 2026-09-07
Bugfixes:
- Bounded nest and target scans keep their progress across saves and multiplayer joins.
- Visible-nest fallback can launch raids. Modded-enemy size reduction uses the actual composition sources.
- Breach broadcasts respect groups under another mod's control. The control-yield setting also releases previously adopted groups.
- Research Pressure uses standard biter and spitter nests and units. Evolution weights interpolate correctly, and the most polluted candidates come first.
- Other planets can schedule raids while a selected raid waits for night.
- Healthy group detachment keeps the warning interval. Early dispatch requires a recorded death during the hold.
- The current entity prototype count limits resistant variants. Level reduction occurs only when the requested set exceeds the available budget.
- The core index narrows nearest-target searches. A complete fallback search handles stale entries. The upgrade rebuilds the index during loading.
Features:
- Manual turret priorities inherit resistant variants during related events and upgrades. Optional uninstall preparation restores base enemy lists without recurring scans.
- The command /smart-enemy-ai-target-adapter [enemy-prototype|all] creates a circuit blueprint. It keeps original signals and adds matching variant signals after one tick. Installation requires player action.
- Variant names show the damage type and total resistance.
- The command /smart-enemy-ai-prepare-uninstall [true|false] converts variants, releases groups, removes mod displays, restores recorded friendly-fire values, and stops mod work before removal.
- The mod records original friendly-fire values before changes. The restoration command requires an explicit fallback for unknown older values. Protection continues until successful restoration.
Version: 10.9.5
Date: 2026-08-29
Bugfixes:
- The status panel skips malformed rows. An empty row from the removed Expansion display no longer interrupts the configuration-change handler or prevents loading.
Version: 10.8.13
Date: 2026-08-29
Bugfixes:
- The status panel skips malformed rows. An empty row from the removed Expansion display no longer interrupts the configuration-change handler or prevents loading.
Version: 10.9.4
Date: 2026-08-29
Bugfixes:
- Raid hold commands now expire after five minutes without renewal. Removal during a raid no longer leaves the old extremely long stop command.
Changes:
- The update removes custom enemy expansion control because its map changes could persist after mod removal.
- The update restores recorded expansion settings once, including the original enabled state. The game then controls expansion through its map settings.
- Factorio 2.1 also changes native expansion behavior. Removal of custom expansion avoids combined scaling and duplicate expansion alerts.
- Expansion settings leave Mod Settings. Raids, Research Pressure, adaptation, wall repair, and squad behavior keep their existing operation.
- The expansion restoration and finite hold commands address persistent effects after removal. Later releases contain further uninstall fixes.
Version: 10.8.12
Date: 2026-08-29
Bugfixes:
- Raid hold commands now expire after five minutes without renewal. Removal during a raid no longer leaves the old extremely long stop command.
Changes:
- The update removes custom enemy expansion control because its map changes could persist after mod removal.
- The update restores recorded expansion settings once, including the original enabled state. The game then controls expansion through its map settings.
- Factorio 2.1 also changes native expansion behavior. Removal of custom expansion avoids combined scaling and duplicate expansion alerts.
- Expansion settings leave Mod Settings. Raids, Research Pressure, adaptation, wall repair, and squad behavior keep their existing operation.
- The expansion restoration and finite hold commands address persistent effects after removal. Later releases contain further uninstall fixes.
Version: 10.9.3
Date: 2026-08-29
Balancing:
- Resistance depth no longer depends on accumulated damage totals. Large late-game raids no longer force immediate maximum adaptation through their damage volume alone.
- Damage families share one resistance budget according to their use. Two equally used families receive approximately half each. More varied weapons divide adaptation further.
- Resistance Total Budget multiplies the preset cap on every difficulty. The default is 1.0, and zero disables adaptation. Each family stays limited to 100 percent.
- Adaptation also requires accumulated evidence. Sustained use increases confidence before a damage family reaches its full share.
- The upgrade clears the old damage ledger once because kill counts use different units. Later combat rebuilds the records.
Optimizations:
- Adaptation records deaths instead of every hit. This reduces event calls during combat, especially against units that require many hits.
- Every kill has equal weight. Unit health no longer determines how quickly its damage family gains evidence.
Version: 10.8.11
Date: 2026-08-29
Balancing:
- Resistance depth no longer depends on accumulated damage totals. Large late-game raids no longer force immediate maximum adaptation through their damage volume alone.
- Damage families share one resistance budget according to their use. Two equally used families receive approximately half each. More varied weapons divide adaptation further.
- Resistance Total Budget multiplies the preset cap on every difficulty. The default is 1.0, and zero disables adaptation. Each family stays limited to 100 percent.
- Adaptation also requires accumulated evidence. Sustained use increases confidence before a damage family reaches its full share.
- The upgrade clears the old damage ledger once because kill counts use different units. Later combat rebuilds the records.
Optimizations:
- Adaptation records deaths instead of every hit. This reduces event calls during combat, especially against units that require many hits.
- Every kill has equal weight. Unit health no longer determines how quickly its damage family gains evidence.
Version: 10.9.2
Date: 2026-08-04
Features:
- Night Raids is off by default. When enabled, scheduled raids wait for darkness. Shorter recurring intervals keep the expected daily raid count. The first grace period stays unchanged. Countdown displays include the nightfall delay. Surfaces without a usable night keep normal schedules.
Version: 10.9.1
Date: 2026-07-28
Bugfixes:
- Breach reinforcement responds to turret destruction instead of every tracked building. It still requires an enemy attacker and keeps its broadcast interval.
- An aborted raid now advances its surface clock. Destruction of the source nest no longer permits an immediate replacement raid.
- Unreachable targets, recent-area history, and candidate caches now include the surface index. The upgrade clears obsolete shared records so planets cannot block each other.
- Difficulty choices show localized labels instead of raw setting values.
- Custom difficulty uses the correct welcome message.
- Adaptation ignores enemy damage that identifies a cause without an attacking force. Enemy clouds no longer supply false weapon evidence through this path.
- The player core index stays current after all standard nests disappear. Later nests no longer inherit incorrect target classification.
- Remote functions reject malformed object and position arguments instead of errors inside the calling mod.
Balancing:
- Research Pressure uses technology cost and all three Custom settings. Cheap research produces smaller waves. The maximum stays twice the evolution reference count.
- Expansion intensity applies after the automatic evolution floor. Low and Custom values can reduce expansion below the original map values as intended.
- Low expansion intensity stays at or below the map baseline with the floor enabled, including during a Technological Frenzy.
Changes:
- The Custom Research Pressure control now says Wave Size. Its descriptions explain the current wave calculations instead of obsolete chunk counts.
Version: 10.9.0
Date: 2026-07-03
Changes:
- The 10.9.x branch targets Factorio 2.1. This release keeps the behavior of 10.8.8. Factorio 2.0 uses the 10.8.x branch.
Version: 10.8.10
Date: 2026-08-04
Info:
- This is the Factorio 2.0 build of 10.9.2 with the same code and feature.
Features:
- Night Raids is off by default. When enabled, scheduled raids wait for darkness. Shorter recurring intervals keep the expected daily raid count. The first grace period stays unchanged. Countdown displays include the nightfall delay. Surfaces without a usable night keep normal schedules.
Version: 10.8.9
Date: 2026-07-28
Info:
- This is the Factorio 2.0 build of 10.9.1 with the same fixes.
Bugfixes:
- Breach reinforcement responds to turret destruction instead of every tracked building. It still requires an enemy attacker and keeps its broadcast interval.
- An aborted raid now advances its surface clock. Destruction of the source nest no longer permits an immediate replacement raid.
- Unreachable targets, recent-area history, and candidate caches now include the surface index. The upgrade clears obsolete shared records so planets cannot block each other.
- Difficulty choices show localized labels instead of raw setting values.
- Custom difficulty uses the correct welcome message.
- Adaptation ignores enemy damage that identifies a cause without an attacking force. Enemy clouds no longer supply false weapon evidence through this path.
- The player core index stays current after all standard nests disappear. Later nests no longer inherit incorrect target classification.
- Remote functions reject malformed object and position arguments instead of errors inside the calling mod.
Balancing:
- Research Pressure uses technology cost and all three Custom settings. Cheap research produces smaller waves. The maximum stays twice the evolution reference count.
- Expansion intensity applies after the automatic evolution floor. Low and Custom values can reduce expansion below the original map values as intended.
- Low expansion intensity stays at or below the map baseline with the floor enabled, including during a Technological Frenzy.
Changes:
- The Custom Research Pressure control now says Wave Size. Its descriptions explain the current wave calculations instead of obsolete chunk counts.
Version: 10.8.8
Date: 2026-07-03
Bugfixes:
- Front raids skip weak wall sections behind a separate outer wall. They select the next reachable weak front instead.
- Surface deletion clears cached classification again after deletion completes. A reused index cannot inherit the old answer.
Changes:
- Descriptions explain remote construction as presence and the 90 percent effective retreat cap. These text changes do not alter behavior.
- Performance diagnostics include retreat searches, breach broadcasts, and adaptation events with actual work counters.
Version: 10.8.7
Date: 2026-07-02
Changes:
- This release disables friendly fire for registered enemy forces to prevent damage from their own area attacks. Player weapon behavior stays unchanged.
Bugfixes:
- Adaptation ignores damage attributed to enemy forces. Player attacks and unattributed environmental damage still contribute.
Version: 10.8.6
Date: 2026-06-21
Changes:
- Front raids select the wall cluster with the fewest turrets. They reconsider current defenses on each selection and keep small wall segments as targets.
- Section titles and group prefixes organize the map settings.
Bugfixes:
- Research Pressure rejects positions on or across water. It can use the nest position when scatter fails.
Version: 10.8.5
Date: 2026-06-21
Bugfixes:
- Research Pressure skips unit creation and alerts when neither pollution attacks nor enemy expansion can recruit the units.
Info:
- The description now explains new units at a nest instead of mobilization of an existing population.
Version: 10.8.4
Date: 2026-06-21
Features:
- The new Surprise Raids setting varies raid intervals and sizes. Its range decreases with evolution. The default stays off with fixed scheduling.
Balancing:
- High raid intensity reaches approximately 1,750 units at full evolution, instead of approximately 1,150.
Version: 10.8.3
Date: 2026-06-18
Features:
- The new control-yield startup setting leaves naturally formed enemy groups to other AI mods. This mod keeps its raids, repair, projectile collision, and adaptation.
- Raid Idle Surfaces permits multiplanet raids without recent combat. Eligible standard nests and nonpeaceful mode stay necessary.
Version: 10.8.2
Date: 2026-06-17
Bugfixes:
- The mod keeps native settler groups and excludes resistant worm variants from expansion choices. Expansion can create nests instead of only worms.
Version: 10.8.1
Date: 2026-06-14
Bugfixes:
- Module initialization now supplies the target cleanup function before gameplay. The first raid no longer calls require at runtime and fails.
Version: 10.8.0
Date: 2026-06-14
Features:
- Research Pressure uses a verified raid nest, the last raid origin, or a pollution sample. The engine controls the new units. Warnings include GPS links.
- Core and front clusters below their median size leave the rotation. Remaining clusters rotate evenly. Remote outposts stay eligible at every size.
- The first three raids use increasing evolution caps for unit counts. Actual evolution still controls modded unit composition.
- The status panel shows effective raid size, interval, and resistance values in their corresponding Custom modes.
Bugfixes:
- Player presence or recent player construction permits raids without recent combat. Quiet play on the current surface no longer suppresses the first raid.
- Multiplayer peers keep load evidence and recovery clocks. Local telemetry leaves synchronized storage. Shared timeout rules replace cleanup that ran only on new peers.
- Remote functions validate force names, ticks, surfaces, and groups. Invalid arguments no longer corrupt saved state or cause repeated scheduler errors.
- Standard-raider overrides immediately recalculate surface counts instead of a delay until configuration changes.
- Surface deletion removes forced raid registration. The removal remote also accepts a deleted surface's numeric index.
- Research events before mod initialization no longer cause a statistics error.
- Breach reinforcement requires an enemy attacker. Player destruction of a turret no longer redirects nearby enemies.
- Custom retreat values have an effective cap of 90 percent health.
- Adaptation recording and decay pause together under load limits. Heavy load no longer drains the ledger while evidence collection stops.
- Diagnostic remotes initialize missing storage. The scheduler also replaces invalid old raid clocks with valid values.
- Low expansion intensity cannot exceed vanilla pressure when the map floor is active.
Changes:
- Raid chat warnings include the target surface name.
- The mod keeps validated nest choices until current checks fail. Nest death, visibility, crowding, or a significant pollution increase requires a new search.
- An assembled wave under attack can dispatch before the warning interval ends.
- Adaptation covers the two most-used damage families and divides new units between them.
- Research no longer extends an active Technological Frenzy. A 15-minute recovery interval prevents an immediate next frenzy.
- Adaptation alerts stay active when raid alerts are off.
Version: 10.7.7
Date: 2026-06-11
Bugfixes:
- Core-index preparation uses elapsed ticks. The previous modulo condition never matched its scheduler phase.
- Visible raid origins no longer enter the winner cache because reuse would always reject them.
Version: 10.7.6
Date: 2026-06-10
Features:
- Raids can use visible nests if hidden candidates are absent. A bounded surface search supplies distant nests when the normal radius has no candidates.
Optimizations:
- Repeated target areas can reuse a validated source nest and two alternatives. Each use still requires current checks and an engine path request.
- Candidate builds read pollution and visibility once per chunk. Isolation probes run only for candidates under consideration.
- Research Pressure distributes mobilization across bounded steps and shares pollution reads within each chunk. Targets and group behavior stay unchanged.
- The scheduler includes core-index preparation after loading. Version 10.7.7 corrects its initial timing condition.
- Candidate selection pauses briefly under sustained pathfinder load instead of immediate rejection of all candidates.
Info:
- The diag_candidate_perf and diag_candidate_perf_reset remotes provide candidate work counters.
Version: 10.7.5
Date: 2026-06-10
Bugfixes:
- The release restores mandatory shortcut small_icon fields. Their removal in 10.7.4 caused a startup error.
Info:
- Release checks now include a real-engine data-stage load.
Version: 10.7.4
Date: 2026-06-10
Bugfixes:
- The variant conversion report includes failures caused by unavailable placement positions.
- Tracked-chunk diagnostics include every surface and individual surface counts.
Changes:
- The cleanup removes unused code and combines shared helpers. It also removes shortcut fields, which version 10.7.5 restores after a startup failure.
Info:
- The restored Lua test suite joins static validation as a release requirement.
Version: 10.7.3
Date: 2026-06-09
Bugfixes:
- Deleted-surface alerts leave the queue. Unresolved surfaces no longer redirect a raid marker to another planet.
- A surface clear restarts only that surface's registry scan. Other completed registries stay available.
- Core counts update after mod removal and entity cloning. Cloned bases also activate dormant raid surfaces.
- Candidate diagnostics show the collection phase before classification completes.
Optimizations:
- Large chunk bursts share the scan budget with threat updates. Bursts above 2,048 chunks use a bounded surface bootstrap instead of individual queue entries.
- One combined asset query replaces three separate target probes.
- Two queries now return only the single entity their callers need.
Version: 10.7.2
Date: 2026-06-09
Bugfixes:
- A maintained core-building index replaces repeated 17-by-17-chunk searches during outpost classification. One initial surface scan supplies the index.
- One combined entity query replaces six type queries during target classification and keeps their original count limits.
Version: 10.7.1
Date: 2026-06-09
Bugfixes:
- Raid candidate collection distributes nearby spawner reads across bounded steps. The diagnostic budget raid_scheduler.candidate_gather reports this work.
Version: 10.7.0
Date: 2026-06-07
Features:
- Multiplanet Raids controls surface scope and defaults to off. This version requires recent combat on eligible nonpeaceful surfaces. Each surface uses its own evolution factor.
Optimizations:
- Fully scanned surfaces without targets become dormant. New player construction activates them again without repeated target scans while empty.
Notes:
- The default restricts raids to surfaces with players. Migration prepares target counts during loading. Setting changes reset eligible clocks with warning time.
Version: 10.6.5
Date: 2026-06-07
Bugfixes:
- Targetless abandoned surfaces delay another attempt so they cannot block raids on other planets.
- New surfaces use the recurring raid interval. The long initial grace applies only once, so repeated Warptorio worlds can receive raids.
- The first-raid banner and status timer use player-present surfaces instead of abandoned clocks.
Notes:
- Surface deletion removes its raid clock. No schema change is necessary.
Developer / Codebase:
- Registry diagnostics compare stored and actual standard-raider counts and report current surface eligibility.
Version: 10.6.4
Date: 2026-06-06
Bugfixes:
- Limited probes detect nests that another mod creates without events on an apparently empty surface. A bounded bootstrap then restores its registry and raid eligibility.
Notes:
- Probes stop after successful indexing and use a separate surface interval. No schema change is necessary.
Version: 10.6.3
Date: 2026-06-06
Optimizations:
- Chunk generation has an immediate scan limit. Excess chunk scans enter a stored queue for bounded later work.
Notes:
- Existing saves need no schema change. Chunk-burst diagnostics stay available through diag_performance_budgets.
Version: 10.6.2
Date: 2026-06-06
Developer / Codebase:
- Diagnostics record generated chunks per tick as on_chunk_generated.per_tick. These counters do not control gameplay.
Notes:
- This release changes neither gameplay nor the save schema.
Version: 10.6.1
Date: 2026-06-06
Optimizations:
- Bootstrap enumerates generated chunks across bounded steps instead of one full pass per tick. Interrupted snapshots restart safely in this version.
- A single-result spawner query lets bootstrap skip surfaces without enemy nests.
Notes:
- Existing bootstrap jobs continue without a schema change.
Version: 10.6.0
Date: 2026-06-06
Major Features:
- Offensive AI now runs on eligible biter and spitter surfaces beyond Nauvis. Pentapods stay excluded. Each surface has a clock, while one raid assembles at a time.
- Remote functions can override standard-raider classification and explicit raid-surface registration.
Optimizations:
- Pollution and threat changes no longer invalidate target clusters unless target structure also changes. This avoids repeated complete cluster builds.
- Threat records stay limited to offensive-AI surfaces.
Notes:
- Schema 15 transfers the old raid clock to Nauvis. Other eligible surfaces initialize separate clocks.
- Raid-created resistant variants now apply on every eligible raid surface.
Version: 10.5.9
Date: 2026-06-06
Optimizations:
- Research Pressure searches for polluted destinations only after a chunk supplies recruitable units.
- The raid water check uses one protected tile call per sample instead of two. Placement behavior stays unchanged.
Version: 10.5.8
Date: 2026-06-06
Bugfixes:
- Every raid group receives units from each composition source. Separate biter-only and spitter-only groups no longer divide the wave by speed.
Minor Features:
- The optional dense resistance setting generates every 10 percent level. The default keeps five levels to limit prototype count.
Version: 10.5.7
Date: 2026-06-05
Bugfixes:
- The default resistance set uses 10, 30, 50, 70, and 100 percent levels. Fewer variants reduce prototype-limit failures with large enemy mod sets.
Balancing:
- Generated levels keep the preset caps. Intermediate resistance rounds down to an available level.
Notes:
- The engine deletes existing variants at removed levels during loading. Adaptation records stay available, and later spawns use the new set.
Developer / Codebase:
- The pure data/resist-levels.lua module separates resistance calculations from prototype creation and has dedicated tests.
Version: 10.5.6
Date: 2026-06-03
Features:
- The new expansion floor prevents automatic scaling below the map's configured pressure. It limits cooldown, group size, and distance relative to recorded map values.
Notes:
- The floor defaults to on. Players can disable it for the previous low-evolution behavior. No schema change is necessary.
Version: 10.5.5
Date: 2026-06-03
Bugfixes:
- Expansion uses the highest evolution factor across registered enemy forces and related surfaces.
- Resistance diagnostics apply the active difficulty cap and report values consistent with variant selection.
Developer / Codebase:
- The cleanup removes unused handlers, aliases, assignments, and unreachable write branches. Older numeric unreachable markers stay readable.
- Research Pressure uses the same surface-index helper behavior as lifecycle cleanup.
Notes:
- This release needs no schema change and keeps raid, adaptation, and navigation behavior.
Version: 10.5.4
Date: 2026-06-02
Bugfixes:
- Status panel positions near the top-left edge stay on screen instead of a reset to the center.
Changes:
- Enabled values use green text, and disabled values use red text.
Info:
- Temporary status panel diagnostic messages leave chat.
- This release needs no migration.
Version: 10.5.3
Date: 2026-06-02
Bugfixes:
- The status panel reliably returns to its saved position. Its title bar permits movement.
Changes:
- The panel adds wall repair, projectile collision, and expansion intensity rows.
Info:
- This release needs no migration.
Version: 10.5.2
Date: 2026-06-02
Changes:
- The status panel stores its position for each player and reopens there.
Info:
- This release needs no migration.
Version: 10.5.1
Date: 2026-06-02
Bugfixes:
- Configuration and setting changes rebuild the status panel correctly.
- Surface clears remove obsolete spawner, squad, and raid state.
- Surface logic excludes Space Age platforms.
Changes:
- Detailed candidate logs require raid diagnostics.
Info:
- This release needs no schema change.
Version: 10.5.0
Date: 2026-06-01
Features:
- Dynamic Biter Expansion scales cooldown, distance, and settler group size with evolution and intensity.
- Custom expansion multipliers range from 0.1 to 5.0 for cooldown, size, and distance.
- Technological Frenzy doubles expansion rate for five minutes after research and shows a chat alert.
- Radar alerts identify visible settler activity with map markers and GPS chat links.
Developer / Codebase:
- The release adds an expansion module and tests, with settings and event integration.
Version: 10.4.0
Date: 2026-06-01
Balancing:
- Resistance thresholds now double per level, from 10,000 damage to 5,120,000 damage. Preset caps stay unchanged.
Developer / Codebase:
- RESIST_NORMALIZE now supplies the 10,000-damage baseline.
- Variant selection and resistance diagnostics use the same exponential curve.
- Tests cover the exponential thresholds.
Version: 10.3.0
Date: 2026-05-30
Features:
- Natural-spawn resistance extends to all spawner surfaces, including Gleba wrigglers. Each source spawner keeps its combined population limit.
Bugfixes:
- The detour check includes the first path segment. Excessively long maze routes cause a direct-assault fallback.
- The status panel initially opens at the screen center.
Optimizations:
- Cleanup limits unreachable-target and recent-area history growth.
Developer / Codebase:
- Variant conversion visits all related surfaces when adaptation is off.
- Shared modules now supply position, distance, raid interval, and resistance normalization helpers.
- The cleanup removes an unused path feature, obsolete Research Pressure callbacks, and unused exports.
- Four focused helpers replace the large spawn orchestration body without behavior changes.
Notes:
- No schema change is necessary. On Gleba, spawner-created wrigglers can adapt, while strafers and stompers do not use this spawn path.
Version: 10.2.0
Date: 2026-05-25
Balancing:
- Research Pressure limits target chunks, units, and pollution conditions by surface phase. Technology cost stays an input to this separate attack system.
- Active modded compositions scale raid counts to 50 percent on Low and 75 percent on Normal. High and Custom keep full counts.
- Vanilla units and their resistant variants keep normal raid size.
Developer / Codebase:
- Research Pressure diagnostics and warnings include mobilized unit counts.
- Raid diagnostics show modded composition detection, the size multiplier, and the original count.
Notes:
- The changes affect research waves and applicable raid counts. Target selection, paths, adaptation mechanics, and the save schema stay unchanged.
Version: 10.1.2
Date: 2026-05-24
Bugfixes / Polish:
- Wall cleanup uses the destruction registration number instead of useful_id. It no longer misses destroyed walls or removes an unrelated repair record.
Notes:
- This release needs no schema change.
Version: 10.1.1
Date: 2026-05-18
Bugfixes / Polish:
- Natural resistant replacements no longer create an unlimited spawner refill cycle through lost native ownership.
- The mod tracks replacement counts per spawner. Native units plus tracked variants cannot exceed the spawner limit. Destruction events decrement variant counts.
- Scheduled raids keep their separate fixed population budget and direct variant creation.
Developer / Codebase:
- Diagnostics add path depth, request counts, breach recipients, and variant ownership totals. These counters do not control behavior.
Notes:
- No schema change is necessary. Older variants stay untracked to avoid a full gameplay scan. Other raid and Research Pressure behavior stays unchanged.
Version: 10.1.0
Date: 2026-05-18
Developer / Codebase:
- Separate raid modules now own target records, cluster selection, candidate validation, unit creation, and diagnostics. The scheduler keeps the public interface and operation order.
Notes:
- The module split changes neither gameplay, settings, nor the save schema.
Version: 10.0.0
Date: 2026-05-17
Major Features:
- The release reorganizes internal systems with automatic save migration. It introduces no planned gameplay tuning.
- A persistent spawner registry replaces repeated surface scans with indexes maintained through entity events.
- Existing saves initialize the registry through bounded surface work. Completed surfaces stay usable while other surfaces initialize.
- The diag_spawner_registry remote reports surface counts and bootstrap state.
Bugfixes / Polish:
- Custom Resistance Cap exposes the implemented 0.0 to 1.0 range. Its description and the Hard description match the prototype ceiling in this release.
- Projectile validation accepts melee-only enemy packs without a missing-patch error.
- Research Pressure samples use the stored deterministic random generator.
- Retreat queries use the bounded radius registry search after surface bootstrap.
- Research Pressure skips incomplete surfaces for that event instead of a complete fallback scan. Skipped surfaces no longer count as processed work.
- The No Alerts description explains first-raid banner suppression.
- The player panel removes internal raid-state, load-level, and scheduler rows. Diagnostic remotes keep their data.
- The classified-target diagnostic works after the path diagnostic split.
Developer / Codebase:
- Static validation checks API use, storage rules, settings, locale keys, and guarded spawner queries.
- Schema 13 requests registry bootstrap for older saves.
Notes:
- The separate raid-module split stays scheduled for 10.1.0.
Version: 9.5.6
Date: 2026-05-17
Bugfixes:
- Target selection honors the chosen kind before another kind, even if its area is recent. This restores the intended core, front, and outpost rotation.
Version: 9.5.5
Date: 2026-05-17
Bugfixes:
- The first-raid banner follows both Show Status Panel and Raid Alerts in this version. Either disabled display condition hides it.
Version: 9.5.4
Date: 2026-05-17
Bugfixes:
- Research Pressure removes its asynchronous path precheck. The engine controls reachability after mobilization, including normal dispersal for unreachable groups.
- Obsolete path-rejection counters leave Research Pressure diagnostics. Base attempt and mobilization counters stay.
Version: 9.5.3
Date: 2026-05-17
Bugfixes:
- Research Pressure counts successful mobilizations toward its target. Failed paths use reserve candidates within a limit of three times the target count.
Version: 9.5.2
Date: 2026-05-17
Bugfixes:
- Research Pressure path checks permit destruction of obstacles so walled bases stay valid targets. The detour limit still applies.
Version: 9.5.1
Date: 2026-05-17
Bugfixes:
- Pending path records contain serializable metadata instead of functions. A module-level listener handles responses, which prevents save failures.
- Post-load Research Pressure changes move from on_load to a later scheduler step in this version.
- Active Research Pressure group members cannot enter a second recruitment wave. Cleanup removes invalid group references.
Version: 9.5.0
Date: 2026-05-17
Features:
- Research Pressure mobilizes existing nest populations after research. Technology lab cost controls a bounded chunk count, with asynchronous path checks in this initial version.
- The feature adds Off, Low, Normal, High, and Custom modes. Custom exposes count, damping, and cap controls.
- Each research event can affect nonpeaceful surfaces with unit spawners, including modded surfaces and Gleba in this version.
- Older saves require explicit opt-in through the command or panel button. New saves use the default Normal mode. A one-time notice explains the choice.
- The status panel adds the current Research Pressure mode and an applicable opt-in button.
- Research Pressure uses the existing Raid Alerts setting.
Version: 9.4.3
Date: 2026-05-16
Bugfixes:
- Welcome and difficulty messages now identify Raid Intensity as the control for raid frequency and size. They remove obsolete difficulty-based pacing claims.
Version: 9.4.2
Date: 2026-05-16
Bugfixes:
- Variant conversion loads lib.state during module initialization. Disabling resistance no longer causes an invalid runtime require call during configuration changes.
Version: 9.4.1
Date: 2026-05-16
Changes:
- The Custom repair control changes from Speed to Cooldown, including its setting key. Its calculation stays unchanged. Existing nondefault values require manual re-entry.
Version: 9.4.0
Date: 2026-05-16
Features:
- Custom difficulty adds controls for resistance, retreat, detour, wall repair, and breach radius. Raid Intensity stays the separate control for raid pacing.
Version: 9.3.3
Date: 2026-05-15
Bugfixes:
- Raid placement rejects positions across water from the nest. A line check prevents units on a disconnected bank, and diagnostics count these rejections.
Version: 9.3.2
Date: 2026-05-15
Optimizations:
- Resistance records on the same tick add directly without repeated decay calculations or timestamp writes. The resulting value stays unchanged.
Version: 9.3.1
Date: 2026-05-15
Bugfixes:
- Decay writes surviving values back to storage. Existing read-time calculations already supplied correct effective resistance.
- Variant conversion releases affected squads so stale member baselines cannot trigger false retreat. The engine controls their surviving units.
Version: 9.3.0
Date: 2026-05-15
Changes:
- Custom Raid Intensity adds cooldown and size multipliers from 0.1 to 5.0. A value of 1.0 uses Normal values.
- The panel uses localized difficulty and intensity labels.
- Difficulty no longer changes raid size, frequency, or initial grace. Raid Intensity owns those values. Difficulty keeps enemy behavior and wall repair controls.
- Raid Alerts adds all, map-only, and none modes. The first-raid banner stays independent in this version.
Breaking change:
- Previous Easy pacing corresponds to Low intensity or Custom cooldown 2.0 and size 0.7. The default Normal intensity removes the former Easy reduction.
- Previous Hard pacing corresponds to High intensity or Custom cooldown 0.5 and size 1.3. The default Normal intensity removes the former Hard increase.
Version: 9.2.0
Date: 2026-05-15
Changes:
- A new status panel shows AI, difficulty, raid timing, and diagnostic state. A shortcut, key binding, and command toggle it.
- Raid Intensity adds Off, Low, Normal, and High. It scales scheduled waves independently of other behavior. Off stops new scheduled raids.
- A red first-raid countdown replaces the one-time chat message. It stays visible for the complete initial countdown, independent of panel visibility.
- Show Status Panel controls panel interaction and removes open panels when off. The shortcut stays visible.
- Open status panels refresh once per second. Full context construction occurs only when at least one panel is visible.
- The Raid Status row shows Calm, Building up, Attacking, or Off. Target selection during cooldown stays Calm.
Version: 9.1.3
Date: 2026-05-14
Changes:
- The cleanup removes an unused retreat lock and its diagnostic fields. Retreat stays a one-time group release.
- Data-stage scanning and validation use one shared enemy-classification helper.
Bugfixes:
- Validation checks both unit and turret prototypes, including worm-only enemy packs.
- Configuration cleanup removes the destruction record with each obsolete repair entry.
- Diagnostics read the actual mod version from script.active_mods.
- Initialization explicitly sets the next squad identifier to prevent collisions in incomplete older state.
- Configuration changes remove invalid ignored groups even when advanced AI is off.
- The target registry uses its canonical initializer in lib/state.lua instead of a partial duplicate.
- The cleanup removes an unused defense helper.
- Architecture documentation now identifies schema 11.
- Comments distinguish the 30-minute decay time constant from its approximately 20.8-minute half-life.
Version: 9.1.2
Date: 2026-05-14
Changes:
- Deterministic cluster queues replace target scores. Selection stores the target entity position and rotates through core, front, and outpost kinds.
- Existing saves discover target chunks through bounded scheduler steps instead of a complete startup asset scan.
- Two diagnostic remotes create and remove target classification markers.
Bugfixes:
- Unreachable markers stay until target changes permit another attempt.
- Power-only and radar-only core chunks no longer qualify as raid targets. Outposts near core assets use the nearby core target.
- Candidate selection uses bounded cursor steps instead of repeated array shifts.
- Damaged walls from build, revive, warp, or clone events can enter repair without a new damage event.
Version: 9.1.1
Date: 2026-05-13
Changes:
- The path-obstacle diagnostic reports a failed candidate's actual start and bounded obstacle analysis without changes to selection.
- The release removes scripted breach pressure. Dispatched raids use attack_area with distraction=by_damage for native combat response.
Bugfixes:
- Nearby distinct same-force spawner types contribute composition without increasing raid size or changing the primary origin.
- Enemy subgroup detection also recognizes names that contain enemy, biter, or spitter.
- Fallback creation skips missing vanilla unit prototypes safely.
- Variant conversion scans only Nauvis in this version.
- Path start checks guard against missing stone-wall and small-biter helper prototypes.
- Failed placement attempts rotate to the next planned group.
Version: 9.1.0
Date: 2026-05-13
Bugfixes:
- Raid attribution uses the squad member index instead of complete member scans after structure deaths.
- Nearby raid lookup uses the engine spatial index for a bounded candidate search.
Changes:
- During breach pressure, active raid groups refresh their local attack commands to reduce idle gaps. Load limits can suppress this optional work.
Version: 9.0.0
Date: 2026-05-13
Features:
- A bounded target registry classifies core, front, and outpost chunks. Raids rotate kinds and avoid recent 256-tile areas when alternatives exist.
- The diag_raid_context remote reports timing, sizes, jobs, targets, and active groups without gameplay changes.
Bugfixes:
- Group adoption respects explicit ignore_group registration and scripted-control signals. Breach redirects also keep compatible third-party group control.
- Raids use registered custom enemy forces and keep the selected force through validation and creation.
- Unit sampling accepts array-shaped result_units, which keeps spitter composition.
- Each planned group starts with its first member so empty groups cannot disappear before their turn.
- A persistent member index identifies squads after defense destruction without complete squad scans.
- Existing targets, classification, and selection use bounded work. An overdue raid waits for preparation instead of a complete one-tick pass.
- Area reuse requires both the time interval and a complete target-kind cycle. A fallback still permits raids when every valid area is recent.
- Nearby spatial queries and a ten-second candidate cache replace repeated full-surface scans during raid cooldowns.
- The retreat evaluation window increases from 30 seconds to five minutes so long marches do not consume it before combat.
- Retreat searches within 1,024 tiles for the nearest same-force nest. If none exists, it uses the stored home position.
- Retreat explicitly starts group movement after the new command.
Changes:
- Breach commands use distraction=by_damage and explicitly start tracked groups. Movement speed does not change.
- Alerts start with unit creation. Dispatch requires complete assembly and the warning interval, rather than a timer tied to the first live squad.
- Raid groups use deterministic assault lanes in this version. The first attributed structure kill redirects them into a bounded breach interval.
- Raid map markers stay for 150 seconds after their alerts.
- Breach radius increases to 192 tiles on Normal, 144 on Easy, and 288 on Hard.
- Group-level breach control continues after the first structure kill and records later contacts. Nearby raid units provide fallback damage attribution.
- Squad diagnostics show retreat baseline and current health ratio. Natural retreat writes a structured log record.
- Squad diagnostics include home and recent retreat positions.
- The release removes scripted flanking groups. Each attack group stays one squad.
Version: 8.5.5
Date: 2026-05-11
Bugfixes:
- Enemy attacks receive separate copies of shared player projectiles. Wall collision then applies only to enemy copies, which prevents validation failures and player weapon changes.
Minor Features:
- Breach broadcasts have a global 60-second interval. The existing squad interval stays 30 seconds. The diagnostic command can bypass the global wait.
Internal:
- The cleanup removes the temporary command-trace setting, remote, module, and calls.
Version: 8.5.2
Date: 2026-05-10
Major Features:
- Candidate selection prefers low-pollution nests, with distance as a secondary order. This reduces competition from native attack groups during assembly.
- A different nearby spawner type can supply half the raid composition within 96 tiles. A single source stays valid when no second type exists.
Minor Features:
- Spawners with more than four nests within 16 tiles become fallback candidates.
- Failed complete selection marks a target unreachable for 7,200 ticks in this version.
- Logs separate membership refusal, assembly losses, and hold losses. Accepted candidates include pollution and distance values.
- Required destruction rejects cliffs but permits trees, rocks, neutral entities, and nests. Water stays a path collision constraint.
Bugfixes:
- Raid scatter stays four tiles inside the group radius. Units no longer appear beyond the normal coordination range.
- Failed group additions remove the new unit. Repeated failures stop assembly early and keep the available wave.
- Two-source raids continue from a surviving source after one nest disappears during assembly.
Changes:
- The normal candidate radius increases from 512 to 1,024 tiles.
- Dispatch uses a minimum waypoint spacing of 24 tiles to reduce repeated movement pauses.
- Candidate records include pollution and distance for sorting and diagnostics.
Version: 8.5.0
Date: 2026-05-10
Bugfixes:
- Raids above 150 units split into several groups. Smaller groups keep the warning interval and shared route instead of fragmentation into native waves.
Version: 8.4.1
Date: 2026-05-10
Minor Features:
- The raid skull marker changes from yellow to bright red.
- Raid chart tags expire after 60 seconds in this version. Later releases increase the duration.
Version: 8.4.0
Date: 2026-05-10
Major Features:
- A single hidden spawner supplies each validated raid. Bounded creation uses its evolution-based unit curve. Only one raid proceeds at a time.
- The alert follows complete assembly, then a 30-second hold precedes movement.
- Raid alerts use a yellow skull and bold text.
Bugfixes:
- Retreat commands no longer repeat each step during the retreat lock.
- Alerts skip waves without live members.
- This release corrects the intended profiler unit conversion for load limits. Later releases replace timing-based decisions with deterministic work counts.
- Load limits never suppress wall repair or projectile collision.
- The first-raid grace becomes 90 minutes on Easy, 60 on Normal, and 30 on Hard.
- A busy pathfinder response uses an attack-area fallback instead of an idle squad.
- A path cache hit clears the old request identifier so late responses cannot overwrite the cached route.
- A raid with no surviving groups ends safely before dispatch.
- Spawn counts track successful placements. An attempt limit of three times the target prevents unlimited retries.
- Completed wall repair removes its destruction record so repeated damage cycles do not accumulate unused entries.
- Variant changes check placement before removal of the original entity.
- Stream conversion accepts both single-action and action-array ammunition definitions.
- Resistance cleanup postpones empty-prototype removal until after iteration.
- Offensive group behavior stays restricted to Nauvis in this version. Defensive features stay available on all surfaces.
- Surface cleanup directly uses the Squad method without an ineffective metatable check.
Minor Features:
- Selection and spawn diagnostic remotes expose active raid progress.
Changes:
- Schema 3 introduces raid selection and spawn job fields for existing saves.
- The new raid process replaces cluster dispatch and obsolete size, arrival-time, and callback helpers.
Version: 8.3.0
Date: 2026-05-08
Bugfixes:
- Breach reinforcement uses find_entities_filtered for multiple enemy forces instead of an invalid find_units argument.
- Breach membership checks use tracked squad members instead of the unavailable LuaEntity.unit_group property.
Major Features:
- Additional scenarios cover retreat, flanking, breach intervals, gate repair, alerts, difficulty, the master switch, and player weapon safety. Existing scenarios gain stricter checks.
- The release checklist combines scenario results with manual performance, multiplayer, welcome, and settings checks.
Minor Features:
- New remotes report squad kind and pending alerts.
- Squad diagnostics include the live member count.
Changes:
- Architecture notes document changed group APIs and duplicate squad registration risks.
Version: 8.2.0
Date: 2026-05-08
Major Features:
- Turret destruction can redirect nearby enemies toward the breach. Difficulty controls radius, recipient cooldown limits repeated redirects, and the advanced-AI switch controls the feature.
Minor Features:
- The squad-state remote reports command cooldown, retreat state, and the latest path result.
- General diagnostics include breach broadcasts and recipient counts.
- The force_breach_ping remote permits a diagnostic broadcast without turret destruction.
Changes:
- Schema 2 initializes coordination storage for existing saves.
Version: 8.1.1
Date: 2026-05-07
Changes:
- Welcome messages use distinct difficulty text and explain player behavior. Diagnostic commands move out of the welcome messages.
- The Hard difficulty-change warning uses the revised wording.
- Settings paths use arrow characters consistently.
Version: 8.1.0
Date: 2026-05-07
Major Features:
- Easy, Normal, and Hard presets change behavior values without a restart. The difficulty module calculates effective values for each feature.
- A one-time welcome message explains active features and settings. It uses the current difficulty and master-switch state.
- The advanced-AI startup switch disables offensive features together. Wall repair and projectile collision stay independent. Disabled offensive handlers receive no events.
- Raid composition first uses weighted result_units, then tier-based entries, then vanilla fallback units. This supports modded spawners without registration.
- Variant generation treats a negative parent resistance as zero before additional adaptation. Vulnerable parent units can thus produce resistant variants.
- Variant generation discovers damage types from the active mod set instead of a fixed list.
Bugfixes:
- Post-load path cleanup moves outside on_load. This prevents forbidden storage changes during loading.
- Raid placement uses wider scatter and a non-colliding position so units do not stay inside their source nest.
- New scripted groups explicitly start movement after path assignment.
- Raid alerts use a straight-line arrival estimate if path validation fails, so rejected routes do not suppress the warning.
- Evolution interpolation accepts runtime weight fields and known array forms without missing-property errors.
- Alert speed lookup checks unit type and guards missing movement_speed properties. A default estimate handles unavailable speeds.
- Composition lookup guards typed result_units access on modded spawners.
- Negative parent resistance no longer interrupts variant validation during loading.
- Damage type names with hyphens work with variant-name parsing.
- Enemy buildings no longer count as player threat assets during build events.
- Flank splitting copies the member list before reassignment so source-list changes cannot skip units.
- Chunk eviction and alerts resolve Nauvis by name instead of a fixed index.
- Welcome text appears in player chat through game.print.
- Squad health ratios exclude invalid members.
- An absent Nauvis returns nil. Guarded callers no longer substitute surface 1.
- Failed variant creation keeps a base unit instead of silent loss.
- Per-field raid initialization repairs incomplete old tables.
- Resistance-cap diagnostics show the effective difficulty value.
Changes:
- Difficulty caps limit available variant levels. This version uses level 1 on Easy and up to level 3 on Normal and Hard.
- Tier-based and vanilla composition fallbacks share evolution thresholds.
- A stored schema version prepares saves for later migrations.
- The compatibility helper centralizes the Nauvis-only rule in this version.
- Squads store their group kind so command handlers can identify scripted groups.
- Average positions consistently use x and y fields.
- PATH_CACHE_TTL_TICKS replaces the embedded path cache lifetime.
- Temporary raid-alert debug messages leave the log.
Compatibility:
- Enemy detection uses the standard subgroup and spawner result_units.
- Variant generation limits added resistance around the 30 percent ceiling in this version.
- Historical compatibility checks covered Armored Biters, Pyanodons, Space Age extras, and Rampant. These results do not establish compatibility with every later version.
- Custom damage types need no separate registration, including names with hyphens.
- Existing saves gain the welcome flag and receive the message once. Existing data stays available.
- The release uses seeded random state and synchronized runtime settings. Later releases contain additional multiplayer fixes.
Info:
- README and architecture notes describe updated APIs, placement checks, and known limitations.
- Composition tests check evolution response and valid unit names instead of fixed vanilla results.
- Locale entries add welcome messages and the Hard difficulty warning.
Version: 7.0.1
Date: 2026-05-06
Bugfixes:
- The on_load handler records pending path identifiers locally instead of changes to storage. A later tick removes only those old requests.
Version: 7.0.0
Date: 2026-05-03
Bugfixes:
- Raid composition reads the source spawner's result_units. Vanilla fallback stays available for unusable lists.
Changes:
- Saves gain schema version 1 for later migrations.
- A compatibility helper centralizes Nauvis lookup without a behavior change.
Info:
- The README removes previously reported limitations that the release review could not reproduce.
- The raid interval comment states the exact 0.34 multiplier.
- Data-stage validation checks the resistance variant naming contract.
- A comment documents the profiler parsing approach used in this version.
- A comment protects the persistent Squad metatable identifier from renaming.
- Diagnostics report version 7.0.0 instead of the obsolete fixed version.
- Scenario T11 checks raid composition at low and high evolution.
Compatibility:
- Offensive AI stays restricted to Nauvis in this version.
- Composition also discovers modded enemies through spawner results.
- The parent-resistance cap from 6.2.1 stays in effect.
Version: 6.2.1
Date: 2026-05-02
Balancing:
- Variants respect a 30 percent merged resistance cap. Parent damage types already at the cap receive no extra variants. Other damage types stay eligible.
Version: 6.2.0
Date: 2026-05-01
Info:
- The diag_dump remote returns a state snapshot for problem reports.
- Architecture documentation describes systems, scheduler phases, storage, and lifecycle rules.
- Scenario T10 runs all systems together for 60 seconds and checks errors and state growth.
- Header comments explain variant, storage, retreat, and path constraints.
- Path outcome counters report accepted, rejected, and fallback results.
Version: 6.0.1
Date: 2026-05-01
Bugfixes:
- Disabling adaptation invokes conversion of surviving variants during configuration changes.
- Bounded iterators validate their stored cursor keys before next calls.
- The resistance cleanup threshold decreases from 1.0 to 0.01 so small damage records survive longer.
Info:
- Direct removal uses normal engine handling for missing variant prototypes. The engine deletes those variants while ordinary spawns stay available.
Version: 6.0.0
Date: 2026-05-01
Changes:
- Navigation rejects paths above the configured detour ratio and uses a direct assault fallback. The default ratio is two.
- Retreat gains a configurable ten-second minimum state interval in this version.
- Arriving squads prioritize turrets, power equipment, and machinery before the final area attack.
Major Features:
- Prototype variants replace damage-time healing for adaptive resistance. New spawns receive current resistance, and population turnover removes older adaptation.
Compatibility:
- Space Age can load with this version. Offensive AI uses Nauvis, while defensive features use all surfaces.
Info:
- The README adds remote diagnostics.
- Seven focused scenarios replace older tests. Retreat lock arithmetic receives code review because synthetic group behavior limits that scenario.
Version: 5.0.7
Date: 2026-05-01
Balancing:
- The default adaptive resistance cap returns from 15 percent to 30 percent after the earlier lethal-hit fix.
Version: 5.0.6
Date: 2026-05-01
Bugfixes:
- A smaller path bounding box permits one-tile wall gaps instead of unnecessary wall attacks.
Graphics:
- The release adds a mod portal thumbnail.
Version: 5.0.5
Date: 2026-05-01
Info:
- The release updates author metadata.
Version: 5.0.4
Date: 2026-05-01
Bugfixes:
- Groups created through the remote interface explicitly start movement after path assignment.
Version: 5.0.3
Date: 2026-05-01
Info:
- Internal logs trace raid alerts without a player-facing behavior change.
Version: 5.0.2
Date: 2026-05-01
Major Features:
- The mod has a complete Factorio 2.0 rewrite.
- Groups can navigate around walls, retreat after losses, and split large attacks into wings in this version.
- Temporary adaptation follows recent damage types with decay and a configurable cap.
- Scheduled raids add evolution-based waves with map warnings before arrival.
- Walls and gates start repair after ten damage-free seconds and recover over the next ten seconds. New damage resets the delay.
- Enemy acid streams become projectiles that collide with walls and gates. Player projectiles stay unchanged.
- Load limits reduce optional features in priority order and restore them as load falls.
Compatibility:
- The mod detects standard enemy subgroups and offers additional prototype configuration.
- Other mods can register custom enemy forces through the remote interface.
- Seeded random state supports deterministic behavior. Later releases contain additional multiplayer fixes.
Settings:
- Fifteen settings cover work limits, repair, resistance, raids, retreat, and compatibility inputs.