GZ-Threat: Biter Escalation (Early BYOB)


Standalone Gizmod-family enemy escalation research package. Kill your first biter or spitter to unlock Biter Mutagenesis, then research biter/spitter biomass, speed, damage, swarm quantity, and Apex Strain Evolution rank pressure. 5+1 new techs and an ultimate endgame foe that never quite stays dead.

Content
51 minutes ago
2.0
0
Combat Enemies

Changelog

# 0.1.27: GZ-Threat interface/path isolation fix

- Fixed the startup crash caused by `gz-threat` trying to register the legacy `gz_biter_escalation` remote interface when another enabled mod had already claimed it.
- Added the canonical `gz_threat` remote interface.
- Kept a legacy `gz_biter_escalation` compatibility interface only when that interface name is not already present.
- Marked the old `gz-biter-escalation` package as incompatible with `gz-threat`, since `gz-threat` is the replacement package and both should not be enabled together.
- Updated technology icon paths from `__gz-biter-escalation__` to `__gz-threat__` so the renamed package no longer depends on the old mod folder for graphics.
- Updated runtime/registry version constants to 0.1.27.

---

# 0.1.26: Linked GZ-Saurus-Wrecks-AS (Auxiliary Support) in the dependencies because at least tree people will want it.

---

- 0.1.25: restored filled soft ground glow, removed the heavy static inner cylinder band from leader/Pandora auras, thinned remaining cylinder bands, and increased leader/Pandora particle counts and visibility.
- 0.1.24: softened enemy aura ground layer for leader/Pandora profiles by removing the filled inner ring; non-ranked leader/Pandora ground aura now renders as a lighter outline while keeping cylinder bands, particles, and pulses intact.
# 0.1.23 Rank Aura Cylinder / Particle Pass

- Replaced the simple ring-only rank halo treatment with a softer LUT aura pass while leaving the player cursor/crosshair completely untouched.
- Rank color still resolves from the existing LUT: green near level 1, yellow around level 50, and red around level 100.
- Normal ranked biters/spitters now receive a soft ground glow/light only.
- Broodleaders and Pandora Omega receive stacked translucent cylinder bands that fade upward, same-color particle pips, and an outward fading pulse for leader readability.
- Pandora uses the same aura system with a larger profile so the boss reads as a biological reactor effect instead of a debug reticle.
- Added status counters for cylinder bands, particles, and leader pulse draws.
- No enemy sprite tinting, cursor edits, or extra pathfinding logic were added.

---

# 0.1.22 Death Crash Guard / Tech Naming Pass

- Fixed the on_entity_damaged crash that could occur when bonus damage killed or invalidated the target before debug/status logging read the LuaEntity again. The damage path now captures target/cause names before applying bonus damage and never reads an invalid target afterward.
- Updated visible technology names to the requested player-facing labels: Biter Mutagenesis, Biomass Scaling: Size (up to 2.5x) and health, Swarm Architecture: Attack group size increased, Endocrine Overdrive: Movement and attack speed increased, Xeno-gene Splicing: Attack damage increased, and Apex Strain Evolution: Each level increases the global rank by 1.
- Preserved internal prototype names for save compatibility.

---

# 0.1.21 Rank LUT Halo Pass

- Added the first rank visual LUT effect without tinting biter/spitter sprites.
- Ranked units now receive a short-lived halo pulse on a 30-tick cadence, using a color lookup that interpolates from green at level 1, to yellow at level 50, to red at level 100.
- Halo color resolves from the effective ranked unit context, so attack-group downranked followers and promoted Broodleaders can read as different intensity bands while still using the same native biter/spitter art.
- Added rendering fallback behavior: the pass attempts a light object and still draws ground halo rings if the light draw path is unavailable.
- Added status/debug counters for rank halo pulses, units seen, halos drawn, lights/rings drawn, failures, pruned invalid units, and last LUT color.
- No sprite tinting, enemy recoloring, or extra pathfinding logic was added in this pass.

---

# 0.1.20 Medium Pandora / Follower Mimicry Pass

- Retuned Pandora Omega from big-demolisher-ish toward medium-demolisher-ish for end-of-inner-planets / pre-Aquilo pacing: reduced health, visual scale, collision scale, and crush radius while preserving slow lab-hunter identity, water crossing, splashes, and cooldown gate.
- Kept Pandora at Apex Strain Evolution level 150; normal visible biter/spitter rank ladder remains level 1-100, with infinite Apex Strain research available for deliberate killzone farming.
- Reworked Broodleader influence wording and runtime behavior around target mimicry: followers do not target the Broodleader as a follow target; when a Broodleader switches to the player in travel range, eligible group followers mimic that same target.
- Added a +7% escort speed bonus to downranked attack-group followers so they cluster around the leader and escort the push instead of lagging behind or splitting formation.
- Restricted follower mimic commands to stored attack-group followers for the same Broodleader instead of broad nearby-unit retargeting.
- Added debug/status counters for follower target mimic commands and follower escort speed bonus application.

---

# 0.1.19 Apex Strain / Pandora Threshold / Broodleader Targeting Pass

- Moved Pandora Omega eligibility from level 100 to level 150 so the demolisher-class threat arrives later in the escalation curve.
- Kept normal visible biter/spitter ranks on the level 1-100 ladder: one rank per 10 Apex Strain Evolution levels, capped at Apocalypse before Pandora.
- Added automatic Apex Strain Evolution pressure: after Biter Mutagenesis is unlocked, every non-rank technology researched grants one bonus Apex Strain Evolution level. Manual Apex Strain Evolution research remains available so players can deliberately push higher ranks for Flux/item/chitin farming killzones.
- Reframed the public text: in this mod, “Biters” means both biters and spitters; Gleba units are not touched yet.
- Tightened player targeting so the mod no longer treats every ranked unit as an influence leader. Only Broodleaders switch targets to the player, and only when the player enters their travel range; otherwise the group keeps Factorio’s native attack-group movement/pathing.
- Preserved attack-group spread: strongest member becomes Broodleader, about half of the remaining members downrank, and the rest stay at the base rank.
- Updated Gizmod registry/status/debug wording for Apex Strain Evolution bonus grants, level-150 Pandora, and Broodleader-only player switching.

---

# 0.1.18 Spitter Parity / Strongest Leader Pass

- Confirmed ranked unit replacement remains biter/spitter neutral: attack-group spread now treats both biters and spitters as eligible ranked members.
- Broodleader selection now uses a strongest-member score instead of size-class only: existing rank, enemy size class, and ranged spitter role all participate before the center-distance tie-break.
- A spitter can now naturally become the Broodleader when it is the strongest member of the attack group, rather than leader selection implicitly reading like a biter-only path.
- The weakest remaining members are selected for downranking using the same strongest-member score, so lower-class biters/spitters become followers first while stronger core enemies keep the base rank.
- Biter Mutagenesis can now unlock from killing either a biter or a spitter.
- Added attack-group debug/status fields for biter/spitter member counts, leader kind, and biter/spitter leader promotions.

---

# 0.1.17 Pandora Cooldown Gate Pass

- Added a global Pandora Omega spawn cooldown so Pandora remains an event-scale threat instead of a normal repeated rank variant.
- Normal Pandora spawns now require: Pandora-level rank pressure, no active Pandora, and an expired cooldown.
- Cooldown starts at 12 gameplay hours when Pandora first unlocks and compresses toward 4 gameplay hours as Apex Rank Incubation continues beyond Pandora threshold.
- Added cooldown status fields/counters for spawn checks, active-Pandora blocks, cooldown blocks, remaining time, pressure, last spawn tick, and next eligible tick.
- Added `/gz-biter-escalation-pandora-status` for a focused admin/player-readable Pandora status report.
- The existing admin debug spawn command still bypasses the normal cooldown gate for testing.

---

# 0.1.16 Pandora Water-Crossing Pass

- Pandora Omega now has an explicit data-stage collision mask with the water tile layer removed, so the boss can path across water without making normal ranked biters amphibious.
- Added a light 9-tick Pandora-only water splash pulse. It checks only the active Pandora unit, only emits when she is on water and actually moving, and does not scan enemy packs or the map.
- Splash visuals use short-lived rendering circles on the ground around Pandora, producing repeated heavy water rings without sprite tinting, LUT lighting, or per-tick particle spam.
- Added Pandora water-crossing status counters for pulses, water tiles seen, splashes emitted, splash failures, crossing ticks, and last water tile.
- No LUT lighting, sprite tinting, or aura rendering was added in this pass.

---

# 0.1.15 Pandora Lab Registry Targeting Pass

- Removed the large-radius science producer/consumer scan from the Pandora strategic targeting pulse.
- Pandora Omega now targets registered player-owned labs only.
- Labs are registered when built or revived and unregistered when mined, destroyed, or killed.
- Existing labs are rebuilt into the registry on init/configuration refresh and by `/gz-biter-escalation-refresh`.
- Pandora still retargets every 210 ticks, but the pulse now iterates the small lab registry instead of scanning a 2048/4096-tile area.
- Added lab registry debug payloads and status counters for registered, checked, and pruned lab targets.
- No LUT lighting, sprite tinting, or aura rendering was added in this pass.

---

# 0.1.14 Pandora Science Targeting Pass

- Added a slow Pandora Omega strategic target pulse every 210 ticks, roughly every 3.5 seconds at 60 UPS.
- Pandora Omega now prefers player-owned science-producing machines, then player-owned science-consuming labs, instead of being driven by the normal rank influence player-target pulse.
- Science producers are detected from the machine's current recipe outputs, including vanilla and modded item names containing `science-pack`.
- Pandora target commands use a destination/attack-area command around the selected science target, not per-tick steering.
- Pandora Omega is excluded from the normal rank influence leader pass so it does not intentionally chase the player through that system.
- Added Pandora science targeting debug payloads and status counters.
- No LUT lighting, sprite tinting, or aura rendering was added in this pass.

---

# 0.1.13 Attack Group Rank Spread Pass

- Added attack-group rank spread when Factorio attack groups finish gathering.
- Each ranked attack group selects one visible Broodleader and promotes it by +1 rank, clamped to the normal rank cap.
- Roughly half of the remaining group members are demoted by -1 rank, with the rest staying at the current base rank.
- Added hidden Broodleader rank/biomass prototypes so the promoted leader has a visible localized name instead of only debug metadata.
- Re-adds replaced group members to the same unit group after prototype replacement so the attack group keeps moving together.
- Added attack-group spread debug payloads and status counters.
- No LUT lighting, sprite tinting, or aura rendering was added in this pass.

---

# 0.1.12 Visible Rank Name Pass

- Apex Rank Incubation now directly drives biter rank resolution instead of relying on average pressure from all escalation techs.
- Added visible localized ranked unit names for generated rank/biomass variants, e.g. Feral/Chitinous/Mutated/Ravaging/Apex/etc. base enemies.
- Generated rank 1 biomass 0 variants so even the first rank has a visible name, even though its scale remains 1.0x.
- Generated rank 0 biomass variants so biomass-only enemies can still carry health/regen variants without pretending to be ranked.
- Refreshed research levels on demand per tick so console/editor force-research testing does not keep stale cached zero levels.
- Added rank driver, rank key, rank display label, rank active state, and expected variant name fields to debug payloads.
- Added `/gz-biter-escalation-refresh` for manual cache refresh during admin testing.
- No biter sprite tint or LUT lighting was added in this pass; that remains the next visual layer.

---

# 0.1.11 Rank/Biomass Split

- Moved normal visual scale ownership from Biomass Scaling to evolutionary rank.
- Normal ranked enemies now use rank scale bands from 1.0x through 2.5x.
- Biomass Scaling now controls health scale and health regeneration only.
- Added hidden rank/biomass unit variants so rank controls sprite/collision scale while Biomass controls prototype max health.
- Retained the old hidden `-gzbe-size-` variants as legacy save-compatibility prototypes, but new spawns use rank/biomass variants.
- Added a biomass regeneration pulse for registered enemy units.
- Updated status/debug payloads with `visual_scale_source = rank`, `health_scale_source = biomass`, `biomass_level`, `biomass_effect_level`, and `health_regen_per_second`.

---

# 0.1.9 Pandora Omega Boss Pass

- Added a hidden Pandora Omega unit prototype cloned from the strongest available base biter.
- Normal biter/spitter visual size scaling remains capped at 2.5x.
- Historical note: this pass originally unlocked one active 5x Pandora Omega boss at level 100; current behavior is level 150 and medium-demolisher-ish scale.
- Historical note: this pass originally used Big-Demolisher-class health; current behavior is medium-demolisher-ish Pandora with lab targeting, water crossing, and cooldown gating.
- Added Pandora Omega status counters and Gizmod debug payloads for spawn, crush pulses, and escort spawns.
- Added admin test command: `/gz-biter-escalation-spawn-omega`.

---

# 0.1.8 Rank Track Restore

- Restored the fifth Biter Mutagenesis child research track.
- Replaced the former custom quality/strain research surface with Apex Rank Incubation.
- Rank now participates in the same average-level calculation as size, speed, damage, and swarm.
- Rank remains the future loot/chitin hook and drives evolutionary labels/aggression/influence through average biter level.

---

# GZ-Biter Escalation 0.1.7

- Replaced custom quality framing with 1-100 biter rank as the core progression layer.
- Rank now drives aggression radius, influence radius, attack-area radius, and leader/follower command influence pulses.
- Evolutionary tier remains available as loot_rank/chitin_rank hooks for future loot and chitin systems.
- Normal size scaling remains capped at 2.5x; Pandora Omega remains a future special spawn/boss pass.

---

# GZ-Biter Escalation ACTIVE

## v0.1.6

- Removed the custom recursive strain/quality pressure system.
- Added average RPG-style biter level derived from active escalation research tracks.
- Added evolutionary labels for average biter level:
  - 0: Baseline Biter
  - 1-10: Feral Biter
  - 11-20: Chitinous Biter
  - 21-30: Mutated Biter
  - 31-40: Ravaging Biter
  - 41-50: Apex Biter
  - 51-60: Dread Biter
  - 61-70: Cataclysmic Biter
  - 71-80: Abyssal Biter
  - 81-90: World-Eater Biter
  - 91-99: Apocalypse Biter
  - 100-149: Apocalypse Biter
  - 150+: Pandora Omega
- Biomass Scaling is now infinite research, but visual/health size effect caps at 15 levels for 2.5x normal maximum.
- Swarm Architecture is now infinite research, but extra-spawn effect caps at 10 levels for 2x normal maximum.
- Debug payloads now report `average_level`, `evolutionary_tier`, and `evolutionary_label` instead of `strain_tier`.

## v0.1.5

- Raised Gizmod dependency to `gizmod >= 0.2.27` so the module uses the fixed immediate hub debug toggles.
- No gameplay logic change.

## v0.1.4

- Raised Gizmod dependency to `gizmod >= 0.2.26` for core-owned per-module debug controls.
- Removed the native Factorio runtime-global debug setting `gz-biter-escalation-debug`.
- Biter Escalation now registers its debug defaults with Gizmod core.
- Gizmod Hub now owns this module's `Enable debug output` and `Enable automatic output` controls.
- Automatic event snapshots now obey Gizmod's module automatic-output gate.
- `/gz-biter-escalation` status now reports Gizmod module debug state instead of the removed local setting.

## v0.1.3

- Raised Gizmod dependency to `gizmod >= 0.2.23` for debug API support.
- Hooked the runtime into the Gizmod debug log API.
  - Checks `remote.call("gizmod", "is_debug_logging_enabled")` before writing hot-path spawn payloads.
  - Writes payloads under module name `gz_biter_mutagenesis`.
  - Target files are managed by Gizmod core as `script-output/GIZMOD_logs/current_gz_biter_mutagenesis.json` and `previous_gz_biter_mutagenesis.json`.
- Added Gizmod debug payloads for:
  - `spawn_scaling_applied`
  - `swarm_extra_spawned`
  - `damage_bonus_applied`
  - `damage_bonus_failed`
  - `directed_mutagenesis_unlocked`
  - `research_finished`
- Extended `/gz-biter-escalation` status with Gizmod debug API state and write/failure counters.

## v0.1.2

- Reframed Apex Strain Incubation as an internal GZ strain tier instead of native Factorio quality.
  - This allows native quality from other mods to stack cleanly with GZ strain effects.
  - Strain tiers are tracked per spawned enemy unit and shown in debug as `T#`.
- Added speed sticker prototype ladder for Endocrine Overdrive.
  - Creates 100 hidden movement sticker variants based on `slowdown-sticker`.
  - Runtime applies the matching long-duration speed sticker to newly spawned enemies.
  - Runtime still writes `entity.speed` as a debug/compat fallback.
- Reworked Xeno-gene Splicing damage amplification.
  - Uses enemy force from `event.cause` or `event.force`.
  - Applies bonus damage with the supported three-argument damage call.
  - Adds seen/enemy/applied/failed counters for status debugging.
- Extended `/gz-biter-escalation` status with speed sticker and strain counters.

## v0.1.1

- Added visible biter/spitter size prototype ladder for Biomass Scaling.
  - Creates 10 hidden size variants per supported biter/spitter unit.
  - Runtime replaces newly spawned units with the correct size tier.
  - Size is capped at level 10: +10% per level, 2x max.
- Changed Swarm Architecture to capped runtime sibling spawning.
  - +10% expected extra bodies per level.
  - Level 10 = 2x total enemy bodies.
  - Synthetic swarm spawns do not recursively reproduce.
- Added runtime-global debug setting.
  - Prints spawn/scaling lines when enabled.
  - Adds floating text over modified enemies.
  - `/gz-biter-escalation` now reports spawn/modifier counters.
- Updated technology descriptions for capped size and swarm behavior.

## v0.1.0

- Created standalone Gizmod-dependent enemy escalation research package.
- Added scripted first-biter-kill umbrella technology:
  - Biter Mutagenesis
- Added five optional infinite child techs, enabled by default:
  - Biomass Scaling: size/health pressure
  - Endocrine Overdrive: speed pressure
  - Xeno-gene Splicing: damage pressure
  - Swarm Architecture: reproduction/quantity pressure
  - Apex Strain Incubation: recursive quality pressure
- Runtime applies modifiers to newly spawned enemies.
- Runtime manually grants Biter Mutagenesis on first biter or spitter kill using `on_entity_died`.
- Added Gizmod registration and `/gz-biter-escalation` status command.