Mods introducing new content into the game.
Version: 0.11.3
Date: 2026-06-18
Changes:
- Rebalanced asteroid XP on space platforms. Asteroids now use separate runtime-global multipliers for travelling platforms and stopped or paused platforms, defaulting to 20% while travelling and 5% while stopped.
- Asteroid XP no longer stacks with the separate platform non-asteroid XP multiplier, fixing the accidental double reduction introduced in 0.11.0.
- Added an XP rate line under the XP bar when a combat XP modifier is active, with an info hover showing the compound formula for asteroid/platform modifiers and Veteran Training.
Bugfixes:
- Changed Veteran Training to boost newly earned combat XP instead of multiplying the core's total XP at display time, so removing Veteran Training ranks no longer lowers existing levels.
- Migrated existing Veteran Core profiles once so their already-earned Veteran Training XP is preserved under the new award-time accounting.
Version: 0.11.2
Date: 2026-06-18
Bugfixes:
- Hardened release validation so local and CI Factorio runtime caches are kept outside Lua source discovery, preventing downloaded Factorio data files from breaking package and Mod Portal publishing checks.
- Includes the 0.11.1 performance fix for saves with many named Veteran Cores.
Version: 0.11.1
Date: 2026-06-18
Bugfixes:
- Fixed a 0.11.0 performance regression for saves with many named Veteran Cores by avoiding repeated no-op render-object updates for unchanged in-world core name labels and Shield bars.
Version: 0.11.0
Date: 2026-06-17
Changes:
- Rebuilt the Turret XP GUI around an anchored Factorio-native `flib.gui` shell with focused services for shell ownership, runtime refresh, actions, core identity, label controls, platform controls, Stats, Evolution, widgets, and the Veteran Core picker table.
- Reworked empty turrets into a full-width Veteran Core picker with sortable headers, Base/Sniper/Machine gun/Bulwark/Brawler filters, persisted sort/filter preferences, neutral preview stats, and exact-slot install actions.
- Reworked installed-core controls with a compact identity/action row, explicit extract and Bind/Unbind actions, platform hub core rows, a label-color swatch, and a draggable Turret XP color popup with presets and RGB sliders.
- Gave Stats and Evolution matching fixed-header shallow panes with bounded scroll bodies, native section headers, named layout constants, stable row budgets, and regression guards for layout contracts.
- Added dev-only GUI snapshot tooling for graphical review of fixture scenes, plus headless and script-level GUI contract tests for the picker, Stats layout, action dispatch, and layout constants.
- Added Dockerized Lua formatting/linting workflows and a pre-commit hook so local Lua formatting and strict checks match CI without installing Lua tools on the host.
Bugfixes:
- Fixed interface-scale-sensitive Evolution icons by rendering decorative sprites in fixed cells so they no longer overflow into labels or action controls at smaller or automatic UI scales.
- Fixed Ammo-section stat alignment so Magazine, Ammo, and Ammo Productivity values are pinned to the same right-side value column as the rest of the Stats panel.
- Reduced GUI refresh churn by preserving stable interactive controls and using narrower refresh keys for picker and open-turret updates where practical.
Version: 0.10.4
Date: 2026-06-12
Changes:
- Replaced the prototype-backed Max HP augment with a scripted Shield core upgrade. Shield adds 10 shield per rank, absorbs incoming damage before turret HP, displays a nine-pip blue in-world Shield bar under the native HP bar while relevant, recharges in small increments after a short delay without incoming damage, and no longer refills current shield when capacity changes.
- Removed the Range augment for now. Specialization and sub-specialization range modifiers remain prototype-backed.
- Moved Regeneration into the augment section and rebalanced it to 1% max HP per second per augment rank.
- Replaced the old general Lifesteal upgrade with a Shield on Hit augment that grants shield from gun-turret damage dealt, while Brawler now lists 10% Lifesteal as an innate specialization stat with a stats-panel info tooltip.
- Replaced passive Ammo Recovery with Ammo Productivity: raw productivity now has diminishing returns for refill progress, spent ammo fills a purple stat-row bar after Ammo, and a full bar restores +1 ammo inside the current loaded magazine without overfilling it, creating full ammo items, or reaching free ammo.
- Cleaned up the stats panel so formulas live in stat-name info hovers, HP/Range quality breakdowns live on the quality diamond, Magazine and Ammo are separate rows, Bullet Bounce is split into chance and damage rows, the scrollbar lane is reserved before scrolling starts, and visible values use calmer neutral/bonus/penalty coloring.
- Reduced the generated hidden turret prototype budget by removing Range/Max HP variant axes from body and bound-preview generation.
- Added a prototype migration that collapses old Range/Max HP hidden bodies and old range-preview bound items/placeholders onto the new specialization-only prototypes.
Bugfixes:
- Retired saved Range and Max HP augment ranks during profile normalization so old Veteran Core and bound turret item tags no longer keep dead upgrade state.
- Migrated old XP-gain skill ranks into Veteran Training instead of preserving them as a dead base XP rank, and stopped writing legacy skill/project fields into newly serialized Veteran Core profiles.
Version: 0.10.3
Date: 2026-06-10
Changes:
- Added a short in-world `Level up!` flying-text popup above Veteran Core turrets when XP progression raises their level.
Bugfixes:
- Fixed bound veteran turret mining/placement ammo conservation so picking up and replacing a bound turret no longer duplicates its stored ammo snapshot.
- Added a turret-source projectile range compatibility patch for K2/K2SO-style realistic rifle ammo, so Turret XP range upgrades do not make turrets target enemies that turret-fired ammo cannot physically reach.
Version: 0.10.2
Date: 2026-06-09
Changes:
- Made selected elements passively show and consume progress toward their next rank at all times; there is no separate `Upgrade` click anymore.
- Added Toxic as a fourth element using poison capsules, stacking poison damage over time, and vanilla slowdown-sticker feedback where Factorio accepts it.
- Added delayed burn damage to Fire procs so Fire has a visible damage-over-time identity instead of only instant bonus damage.
- Added critical-hit visual feedback with a brighter shot trail and vanilla star signal marker at impact.
- Changed Double Shot feedback to draw two readable bullet trails, using Bullet Trails entities when the optional dependency is present.
- Let managed element inserters expose every currently needed selected-element material in their filter slots instead of only one current-priority item.
- Added headless regression coverage for passive element feeding, Toxic material routing, mixed-element filters, and delayed status damage counting for XP and lifesteal.
Bugfixes:
- Migrated legacy active element projects into passive element progress so old saves do not lose delivered materials.
Version: 0.10.1
Date: 2026-06-09
Changes:
- Rebalanced Regeneration from a flat 0.2 HP/s per rank to 0.1% of current max HP per second per rank, still affected by specialization regeneration multipliers.
Bugfixes:
- Increased the unlocked element `Upgrade` button width so Factorio no longer truncates it as `Upgra...`.
Version: 0.10.0
Date: 2026-06-09
Changes:
- Added Resistance as a capped core upgrade: each rank mitigates 0.25% final incoming damage on non-lethal hits, up to 60%.
- Implemented Resistance as scripted post-hit health refund logic instead of adding another hidden turret prototype variant axis.
- Rebalanced Brawler to x3 damage and x0.5 fire rate so the close-range role is less explosive while keeping its lifesteal identity.
- Moved the first specialization choice to level 10 and the first element choice to level 20.
- Added level-40 sub-specializations: each primary specialization now branches into two stronger identities with real stat multipliers where Factorio prototypes allow them.
- Moved the second element and combo unlock to level 50.
- Reworked elements away from fuel buffers: picking an element is free at unlock, and future element ranks are earned by feeding larger material projects into the turret.
- Improved Double Shot and Bullet Bounce readability by layering optional Bullet Trails entities with stronger short-lived trails and hit sparks.
- Added headless regression coverage for Resistance derived stats, cap behavior, and live incoming-damage mitigation.
- Added headless regression coverage for sub-specialization prototype bodies, combined stat multipliers, and the new material-fed element rank flow.
Bugfixes:
- Fixed bound turret placement with Fill4Me-style preloaded ammo by refunding all placement-time ammo before restoring the bound turret's own saved ammo snapshot.
- Hardened bound turret mining so full inventories spill a tagged bound turret item with its Veteran Core level, build, and saved ammo instead of degrading into a separate core or reset profile.
Version: 0.9.8
Date: 2026-06-09
Changes:
- Increased the element burner fuel capacity from 10 to 100 items, giving powered elements a much longer internal buffer while keeping fuel input capped at the visible limit.
- Reformatted the static Evolution header summary as rich text: white `Core:`, `Aug:`, and `Spec:` labels with colored values.
- Standardized stat and upgrade value coloring so numeric bonuses are colored while units and descriptive text remain neutral; elemental damage numbers use their element color.
- Moved unlocked element mastery controls into the element header row so the `- value +` controls stay inside the Evolution column.
- Moved baseline Crit Chance and Crit Damage into the regular stats block under Damage Dealt.
- Added hidden bound turret preview item/placeholder variants so newly mined bound turrets show a placement range preview matching their specialization and Range augment ranks.
- Added role-specific secondary specialization multipliers: Sniper boosts Crit Damage, Machine Gun boosts Ammo Recovery, Bulwark boosts Regeneration, and Brawler boosts Lifesteal.
Bugfixes:
- Added explicit expiry tracking for electric beam visuals so electric arcs do not remain on the map.
- Reserved space for the stats scrollbar so scrollable stat text does not render underneath it.
- Cleared unexpected non-ammo items from the hidden element input so a wrong material cannot permanently block an active element project.
- Prevented bound turret placement from combining saved ammo with ammo inserted by other placement helpers; preloaded ammo is returned before the bound ammo snapshot is restored.
- Delayed bound-core detachment until mining-buffer conversion so full inventories cannot degrade a bound turret into a separate core path or lose the bound profile.
Version: 0.9.7
Date: 2026-06-09
Changes:
- Veteran Cores now start at level 0, so level 10 grants 10 core points before spending.
- Added a capped prototype-backed Max HP augment: +50 maximum HP per rank, up to rank 20, multiplied by specialization HP modifiers.
- Added Ammo Recovery as a core upgrade: each rank recovers one currently loaded or remembered ammo item per minute.
- Persisted the last loaded ammo type on Veteran Cores so ammo recovery can restart from an empty turret after the turret has previously held ammo.
- Expanded hidden turret variants so Max HP ranks combine with Range ranks and specialization bodies.
- Added headless regression coverage for Max HP variants and remembered-ammo recovery.
Bugfixes:
- Changed the hidden element input from a one-item latch into a bounded one-item-slot buffer so active material projects no longer make inserters flash `Target full` after every inserted item.
Version: 0.9.6
Date: 2026-06-09
Changes:
- Replaced section-specific Evolution reset buttons with one always-visible Evolution header Reset that clears core upgrades, augments, specialization, elements, mastery, active element projects, and element fuel while keeping XP, level, combat history, name, and binding.
- Moved the floating-label `Level` checkbox below the RGB color picker.
- Right-aligned element `Start` and specialization `Pick` actions while allowing card descriptions to use the full card text width.
- Reserved section width for both left and right Evolution margins so section cards keep visible spacing on every side.
- Added baseline Crit Chance and Crit Damage rows to the turret stats summary.
Version: 0.9.5
Date: 2026-06-09
Changes:
- Colored specialization multipliers green when beneficial and red when they are tradeoffs, both in specialization choices and stat formulas.
- Added extra spacing between Evolution section headers and their option rows for readability.
- Added symmetrical margins around Evolution section frames and between adjacent sections.
- Compacted the Veteran Core name controls so `Show` sits beside the name field, with color controls appearing below only when enabled.
- Reworked specialization choices into the same card rhythm as element choices.
- Moved element choice `Start` buttons into the cost row.
Version: 0.9.4
Date: 2026-06-09
Changes:
- Moved element choice `Start` buttons back onto the icon/name row while bounding that row to the card's real inner width.
- Added a light separator between element effect and cost rows so element cards are easier to scan.
- Removed redundant `Material unlock` text from element section headers.
- Moved the core-upgrade Reset action to the static Evolution header and simplified the Augment summary to the available point count.
Bugfixes:
- Prevented element choice `Start` buttons from overflowing past the right edge of their card.
- Removed the redundant `Active` label from the selected specialization row.
Version: 0.9.3
Date: 2026-06-09
Changes:
- Reworked the right-side Evolution panel into one fixed header plus one scrollable section body, following Factorio-style content-pane and toolbar separation.
- Replaced scattered Evolution width constants with a derived column model so section, row, and text widths are calculated from one viewport width.
- Moved Core, Augment, and Specialization summary text into the static Evolution header instead of repeating point lines inside sections.
Bugfixes:
- Fixed duplicate Augment point lines after spending an augment point.
- Prevented element choice Start buttons and fueled element mastery controls from being pushed under the Evolution scrollbar.
Version: 0.9.2
Date: 2026-06-09
Changes:
- Moved Bind/Unbind onto the Veteran Core slot row for a cleaner installed-core panel.
- Reformatted element choices as compact cards with separate description, effect, material cost, and combo preview lines.
- Narrowed Evolution content further and split unlocked element fuel cards into separate effect and fuel/mastery rows so they do not extend under the scrollbar.
Bugfixes:
- Fixed normal destroyed gun turrets creating replacement ghosts that could request/display the bound veteran turret item. Bound veteran turret items now place a bound-only placeholder entity that is immediately converted into a real gun turret with its stored core profile.
- Kept selected element `Change` actions visible after an element enters the fuel-burning state.
Version: 0.9.1
Date: 2026-06-09
Changes:
- Split the runtime implementation into focused modules for configuration, storage, progression, profiles, turret bodies, feeder logistics, stats, GUI panels, core-slot actions, combat effects, events, commands, and headless-test remotes.
- Split data-stage prototype creation into focused `prototypes/` modules while keeping `data.lua` and `data-final-fixes.lua` as entrypoints.
- Narrowed the attached Turret XP panel and constrained both columns with explicit layout constants so the Evolution column no longer renders under its scrollbar.
- Renamed element section reset actions to `Change` so selected elements are clearly respecable like specialization.
- Documented the Veteran Core slot boundary for a future tag-preserving inventory-list improvement without claiming native vanilla inventory-slot support.
Bugfixes:
- Reduced the risk of GUI width churn moving the vanilla turret window by replacing scattered hard-coded panel widths with shared layout constants.
Version: 0.9.0
Date: 2026-06-09
Changes:
- Generated hidden specialization and Range turret variants in `data-final-fixes.lua` so they inherit final gun-turret stats from mods that edit vanilla prototypes during `data-updates.lua`.
- Expanded the attached turret panel into fixed-width left and right columns, with scrollable stats and Evolution areas so content growth does not resize the vanilla turret GUI.
- Reworked Evolution sections with category headers, right-side status/action controls, technical colored element previews before selection, and section-level reset/deallocation controls instead of one global Respec button.
- Added headless regression coverage for modded base turret range, section-level resets, and deterministic combat kill tracking.
Bugfixes:
- Fixed compatibility with Krastorio 2 Spaced Out-style gun turret range edits where buying a Range rank could reduce range from a modded base value.
- Reduced GUI rebuilds caused by Evolution refreshes changing the attached panel size, which could move the whole vanilla turret GUI back to its default location.
Version: 0.8.1
Date: 2026-06-09
Changes:
- Kept custom floating-label colors on hidden display-panel label entities by mapping RGB slider colors to a generated Factorio-style label palette.
- Moved installed-core Respec and Bind/Unbind controls to their own row so they fit inside the core panel more reliably.
- Hid the `Show level` checkbox unless the floating name label is enabled.
Bugfixes:
- Forced managed element-feed inserters to one current-priority material filter so mixed Fire + Explosive turrets can feed sulfur and grenades from the same chest instead of staying stuck on one resource.
- Avoided redundant hidden-feeder inventory bar writes while keeping input open whenever any project or element fuel buffer still needs material.
- Extended the headless regression suite for custom label display-panel behavior and Fire-first/Explosive-second fuel priority.
Version: 0.8.0
Date: 2026-06-09
Changes:
- Moved Evolution into a second main column to the right of the core, XP, dev, and stats column, giving upgrades and element choices more room without relying on an internal Evolution scrollbar.
- Prioritized active element material requests by project state, missing fuel, and inserter source contents so mixed-element turrets can feed the second element's resource correctly.
- Added root thumbnail packaging support for Mod Portal display when `thumbnail.png` exists in the repository root.
Bugfixes:
- Refreshed stale allowed inserter filters instead of leaving mixed-element feeders stuck on the first element's fuel item.
- Collapsed duplicate active element rows in the stats summary, so a pure double-element build shows one element stat line plus its combo identity.
- Expanded the headless regression suite to cover mixed-element fuel requests, stale inserter filter refresh, duplicate element summary state, bound turret movement, feeder caps, and combat progression.
Version: 0.7.2
Date: 2026-06-09
Changes:
- Reworked hidden element feeding to manage nearby inserter drop targets and temporary inserter filters while the turret needs element materials or fuel.
- Right-aligned the `- value +` core upgrade controls within each upgrade row.
- Added an opt-in Bind/Unbind control for installed Veteran Cores. Bound veteran turrets mine into one tagged placeable item that restores the turret, core profile, turret quality, health ratio, and loaded ammo when placed again.
- Hid floating-label color controls until `Show name` is enabled.
- Added a Factorio headless regression suite and made Mod Portal publishing run it before upload by default.
Bugfixes:
- Stopped normal feeder routing from spilling unexpected inserter contents around the turret.
- Restored regular turret drop targeting when the element feeder is full or not needed, so ammo inserters are not left fighting the hidden feeder target.
- Kept preset label color names stable when cycling colors; the color control now shows `Custom` only after RGB slider edits.
Version: 0.7.1
Date: 2026-06-09
Changes:
- Prevented specialization, Range, install, extract, respec, and reset actions from moving the whole vanilla turret GUI back to its default position by queuing turret-body swaps until the turret GUI closes.
- Changed core upgrade controls to a compact `- value +` layout, with Shift-click adding or removing up to 10 ranks.
- Added RGB sliders for floating label colors while keeping the preset color button.
- Reduced the stats panel to a single visible container instead of a box inside another box.
- Made Sniper fire much more slowly, increasing its cooldown multiplier from x2.5 to x4.
- Changed Double Shot to fire the extra shot at a nearby second enemy when possible, otherwise into the original target, with simultaneous Bullet Trails feedback when available.
Bugfixes:
- Kept the hidden element feeder present but closed at fuel cap so inserters can resume feeding element fuel when the buffer drops below the cap.
Version: 0.7.0
Date: 2026-06-08
Changes:
- Rebalanced combat XP by target type. Asteroids and asteroid chunks now grant much less XP, especially on space platforms, while raw damage and kill-credit stats remain unchanged.
- Weighted kill-credit XP by enemy class and health so small targets are not overvalued and larger enemies, worms, and spawners feel more meaningful.
- Added optional Bullet Trails support for scripted bounce, double-shot, and element tracers when `bullet-trails` is installed.
- Reused vanilla electric, fire, explosion, and weapon sound prototypes for clearer element feedback without adding custom art.
- Removed hidden turret variants from technology effect lists. Variant damage research is now synced at runtime from the vanilla gun turret modifier instead of being copied into every research effect.
Bugfixes:
- Rechecked Veteran Core recipe unlocks when research finishes so existing saves enable the recipe after `military` research without requiring a reload.
Version: 0.6.2
Date: 2026-06-08
Changes:
- Reduced XP gained by turrets fighting on space-platform surfaces to 10% of normal combat XP while keeping displayed damage and kill credit unchanged.
- Added horizontal delimiters between choices in the Evolution sections so core upgrades, element picks, specializations, and augments are easier to scan.
Version: 0.6.1
Date: 2026-06-05
Changes:
- Added a Luck augment that increases crit, bounce, double-shot, and element proc odds.
- Updated the stats panel to show real formulas when research, core additives, Range ranks, or specialization multipliers apply.
- Updated estimated DPS to include specialization math, core damage, and expected crit, double-shot, and bounce output.
- Made bounced bullets run element proc logic, so powered Electric can arc from a bounced hit.
- Changed electric hit feedback so the effect starts at the bullet impact point instead of drawing a turret-origin beam.
- Made Double Shot show a delayed second tracer so the proc reads as a second shot.
- Added space-platform core management: the turret panel can list exact Veteran Cores from the platform hub inventory, install the chosen one, and send an installed core back to the hub.
Bugfixes:
- Fixed hidden element fuel input so it closes at the visible fuel cap instead of accepting extra ghost fuel.
- Fixed active second-element projects so the existing element's fuel can still be accepted while the project is in progress.
- Added a space-platform mining fallback so mined platform turrets return the installed Veteran Core to the mining buffer when the event is available.
Version: 0.6.0
Date: 2026-06-05
Changes:
- Rebuilt the turret stats panel as a scrollable dynamic summary that shows active custom stats only when the turret has them.
- Added colored specialization multipliers next to affected HP, shooting speed, range, and damage values in the stat summary.
- Changed specialization Range math so Range augment ranks are multiplied by the chosen specialization instead of being added after the multiplier.
- Moved the floating-label color button next to the name field and kept label visibility toggles on the row below.
- Replaced rendered floating text with hidden display-panel label entities when available, reusing Factorio's display-panel text background behavior.
- Reworked element fuel input to fill the burner to capacity without spilling valid excess fuel around the turret.
- Switched element burn bars to Factorio's vanilla `burning_progressbar` style.
- Added visible, throttled elemental impact/tracer feedback using vanilla fire, lightning, and explosion visual language.
- Added element mastery ranks: unlocked elements start at rank 1, and each further rank costs 5 regular core points.
- Added technical element effect summaries in the stats panel and element burner card.
- Made electric mastery add more possible arc targets as rank increases.
- Separated specialization option rows into clearer icon/name/multiplier/description/action blocks.
- Increased default kill-credit XP from 20 to 25 while keeping damage XP as a slow trickle.
- Removed the hidden baseline crit chance; crit chance now starts at 0% until upgraded.
Bugfixes:
- Respec now resets base upgrades, element mastery, elements, element projects, specialization, augments, and hidden feeder contents.
- Improved kill tracking for deaths caused by scripted element damage by crediting the most relevant contributing turret.
Version: 0.5.0
Date: 2026-06-05
Changes:
- Promoted the mod to a first playable 0.5 line focused on Veteran Core turret playthroughs.
- Added `/turret-xp-dev` to toggle dev controls instead of showing test buttons in normal play.
- Reworked unlocked element fuel into a burner-style buffer. Inserters refill below five stored fuel items, and one fuel item burns over time to power the element.
- Preserved the Evolution panel position after point allocation by scrolling the rebuilt list back to the clicked row.
- Split turret naming and floating-label controls into two compact rows to avoid panel overflow.
- Added explicit technical effect text for augments and specialization choices.
- Enlarged allocation buttons so the `+` glyph no longer clips.
Bugfixes:
- Fixed a crash when runtime upgrade damage killed a target before visual feedback read that target's surface or position.
Version: 0.4.7
Date: 2026-06-05
Changes:
- Added a real Range augment with up to 20 ranks. Each rank swaps to a hidden prototype-backed turret body with +1 real attack range.
- Reworked specialization turret bodies to be generated from multipliers on vanilla gun turret stats instead of fixed flat stat assignments.
- Increased first element unlock material costs by 10x.
- Replaced post-unlock infinite element mastery ranks with an element fuel buffer. Unlocked elements now consume their matching resource as shot fuel.
- Put the core name field, floating label toggle, level toggle, and label color control on the same row.
- Moved floating labels lower than 0.4.6 while keeping them above the turret.
Bugfixes:
- Fixed a crash when the hidden input tried to detect ammo through `game.item_prototypes`; Factorio 2.0 exposes runtime item prototypes through `prototypes.item`.
Version: 0.4.6
Date: 2026-06-05
Changes:
- Replaced the visible adjacent Veteran Core feeder chest with an invisible hidden input colocated with the turret.
- Inserter-fed ammo that lands in the hidden input is now routed back into the turret ammo inventory.
- Removed the feeder status block from the Evolution panel.
- Fixed the floating label color button so its text and color update immediately when clicked.
- Removed floating label size controls and standardized labels on the larger readable size, placed higher above the turret.
- Split core upgrade row rank and effect text into distinct visual areas.
- Replaced green allocation buttons with compact vanilla-gray "+" buttons.
- Element material previews now use rich-text item icons instead of raw item-name text.
- Replaced the Piercing Follow-through and Longshot Optics augments with Double Shot and Veteran Training.
Bugfixes:
- Damage now shows "No ammo" instead of "Unknown" when the turret has no loaded ammo.
Notes:
- Runtime GUI slots still cannot be targets for inserters, so material feeding uses a real hidden input entity. Unsupported non-ammo items are spilled back out instead of being trapped invisibly.
Version: 0.4.5
Date: 2026-06-05
Features:
- Reworked the Veteran Core control into a tag-preserving slot-style interaction: click to take the installed core to the cursor, click with a carried core to install or swap, and Shift/Ctrl-click to move the installed core to inventory.
- Added core-carried floating label options for color, size, and whether the level suffix is shown.
Changes:
- Made the dev controls compact so they no longer overflow the panel width.
- Removed the redundant visible "Core core-N" profile summary line from the installed core panel.
Notes:
- `entity-gui-lib` was inspected for this slot work, but its current inventory transfer helper moves name/count/quality only and would drop Veteran Core item tags, so the core slot uses local tag-preserving transfer logic for now.
Version: 0.4.4
Date: 2026-06-05
Bugfixes:
- Fixed a crash when installing a fresh Veteran Core caused by legacy skill migration touching a retired XP upgrade field.
- Replaced cropped text "+" allocation buttons with vanilla-style slot icon buttons and added useful allocation hover text.
Performance:
- Cached derived level progress so high-level turrets no longer recalculate every previous level on normal combat damage.
Changes:
- Added a Respec button that refunds core upgrade and augment point allocations without resetting elements, mastery, projects, or specialization.
- Added a dev Reset button that returns the installed core to a fresh zero-XP state for playtesting.
Notes:
- Existing headless smoke tests only validate mod load. Combat performance still needs an explicit scenario benchmark or manual playtest save.
Version: 0.4.3
Date: 2026-06-04
Features:
- Added a real Veteran Core feeder inventory entity that is created next to a turret when a Veteran Core is installed.
- Element unlock projects and element mastery milestones now consume matching materials from the feeder inventory.
- Added feeder status to the Evolution panel, showing whether the feeder exists, slot use, and relevant element materials waiting inside it.
Changes:
- Removed player-inventory material feeding. Element materials must now be inserted into the feeder port like a machine input.
- Extracting or mining a turret with an installed Veteran Core now destroys the feeder port and spills leftover feeder contents.
- Existing installed cores create a feeder port automatically the next time they refresh.
Notes:
- If no adjacent tile is available, the core remains installed but material projects will wait until space is cleared and a feeder can be created.
Version: 0.4.2
Date: 2026-06-04
Features:
- Added hidden gun-turret body variants for specializations so Sniper, Machine Gun, Bulwark, and Brawler change real turret range, cooldown, damage modifier, and health values.
- Added short visual feedback for bounce, pierce, fire, electric, explosive, and combo upgrade effects.
- Added element mastery milestones after element unlocks, using the same element resource for ongoing progression.
Changes:
- Extracting a Veteran Core now returns the turret body to the normal gun turret.
- Replaced exponential level scaling with linear per-level scaling so high levels remain playtestable through level 100.
- Changed powerful augments to cost one augment point per rank, with one augment point earned every ten levels starting at level 30.
- Removed material deposit buttons. Element projects and mastery milestones now consume the matching carried item automatically while the turret is open.
- Simplified the top of the Turret XP panel by removing the redundant turret/name/ammo row.
- Updated specialization and augment copy to reflect their actual behavior.
Notes:
- Specializations are now prototype-backed turret stat changes. Core upgrades, augments, elements, and combos remain runtime upgrade effects.
Version: 0.4.1
Date: 2026-06-04
Features:
- Added the Veteran Core, a non-stackable item-with-tags profile item for choosing which gun turrets become unique progression turrets.
- Added Veteran Core install and extract controls to the Turret XP panel.
- Moved XP, kills, damage, evolution choices, active material projects, and dev XP onto the installed core profile.
- Added safe turret movement: mining a turret with an installed core returns the normal turret item and separately returns or spills the Veteran Core.
- Added optional core-carried turret names with floating labels rendered as "name (lvl N)" above the current turret body.
- Added a dev button to create a test Veteran Core for local playtesting.
- Added compact always-visible dev controls above the Evolution list so playtest level/material buttons are not hidden below scroll content.
Changes:
- Ordinary gun turrets stay stackable and do not gain XP until a Veteran Core is installed.
- Existing 0.4.0 entity-keyed turret progression migrates to an installed legacy Veteran Core when that turret is next opened or touched by runtime logic.
- Changed the Evolution list to use a vertically scrollable area so it does not expand beyond the vanilla turret GUI height.
- Simplified locked Evolution sections to centered "Unlocks at level ..." gate messages.
- Simplified core upgrade rows to name, rank, and a compact "+" allocation button.
- Replaced the first core upgrade set with Damage, Regeneration, Lifesteal, Crit Chance, and Crit Damage.
- Removed the always-visible Elements/Specialization summary line from the Evolution panel.
Notes:
- V0.4.0 was uploaded to the Mod Portal for playtesting before this follow-up release.
- Destroyed turrets currently lose the installed core/profile; mined turrets return it.
Version: 0.4.0
Date: 2026-06-04
Features:
- Replaced the experimental skill tree with a simpler five-section Evolution list.
- Added infinite core upgrades that spend one point per rank: Damage Drills, Field Repair, Siphon Plating, Veteran Logbook, and Lucky Loader.
- Added level-gated element unlock projects at levels 10 and 40 for Explosive, Fire, and Electric elements.
- Added material project progress bars, carried-item deposit buttons, and permanent element assignment when requirements are complete.
- Added a free level-20 specialization choice: Sniper, Machine Gun, or Bulwark.
- Added level-30 powerful augments with doubling point costs: Bullet Bounce, Piercing Follow-through, and Longshot Optics.
- Added first-draft runtime combat effects for bonus damage, crits, bounce, pierce follow-through, fire, electric arcs, explosive splash, mixed-element combos, passive repair, and vampiric healing.
- Added dev buttons in the Turret XP panel to grant quick levels and complete active material projects for playtesting.
Changes:
- Removed the embedded click-drag skill-tree spike and its custom input because it did not function reliably in the relative turret GUI.
- Migrated old 0.3.x skill ranks into equivalent 0.4.0 core upgrade ranks when possible.
Version: 0.3.2
Date: 2026-06-04
Features:
- Added an embedded click-drag panning spike for the skill tree inside the existing Turret XP panel.
Changes:
- Added logical skill-tree cells so drag gestures can shift the scroll focus without opening a separate window or replacing the turret GUI.
- Added a hidden custom input linked to Factorio's normal left-click GUI/open action to capture drag start positions without blocking normal GUI clicks.
- Added hover-aware logical tree cells so the scroll focus can move while the cursor crosses the embedded graph.
Notes:
- The panning uses GUI hover transitions and click release because Factorio runtime GUI events expose click positions, but not continuous child-widget drag deltas for an embedded relative panel.
Version: 0.3.1
Date: 2026-06-04
Changes:
- Rebuilt the skill tree as a larger two-axis scrollable surface with a central gun-turret root and branching technology-style nodes.
- Changed skill hover tooltips to show only the next allocated effect, using rich-text color for readability.
- Changed the root turret node tooltip to summarize currently allocated skill bonuses.
- Removed skill tooltip flavor text, explanatory click text, and the skill panel title.
- Changed the XP progress bar to a custom solid style so it no longer reads as a split productivity-style bar.
Documentation:
- Documented the current `entity-gui-lib` decision: useful for future full GUI replacement, but not needed for this focused relative-panel/tree update.
Version: 0.3.0
Date: 2026-06-04
Features:
- Added a first skill tree panel below the main Turret XP panel.
- Added per-turret skill points derived from level minus spent ranks.
- Added four allocatable baseline skills: Ballistics Drill, Kill Chain, Field Repairs, and Targeting Data.
- Added active skill effects for XP modifiers and passive Field Repairs healing.
Changes:
- Simplified the top panel into one sober stats table with HP, shooting speed, range, damage, estimated DPS, kills, and damage dealt.
- Moved loaded ammo and the gun turret icon into the title row.
- Removed the quality text row, prototype info marker, bottom no-bonuses note, progression section, kill-credit row, XP-source rows, and total-XP row.
- Kept the XP area to one progress bar plus compact progress text.
Bugfixes:
- Filtered Factorio's hidden `quality-unknown` prototype out of custom quality summary tooltips.
Version: 0.2.0
Date: 2026-06-04
Features:
- Added Factorio Library (`flib`) as a required dependency and started using its GUI styles for slot buttons, pushers, and status indicators.
- Added quality summaries on hover for quality-affected HP and range rows using the real `[img=quality_info]` marker and runtime quality prototypes.
- Added estimated DPS, damage XP, and kill-credit XP rows to make current combat output and XP sources easier to understand.
Changes:
- Rebuilt the Turret XP relative panel with vanilla-like shallow/deep frames, subheaders, richer spacing, status indicators, and a more scannable progression block.
- Replaced the incorrect `utility/tip_icon` sprite with the same `[img=info]` rich-text marker pattern used by Factory Planner.
- Updated the panel in place during refresh ticks instead of destroying and rebuilding it, making hover tooltips and reading flow more stable.
- Changed range display to use turret attack range plus quality multiplier instead of the broader turret prototype range.
Notes:
- The quality marker tooltip is a custom summary because Factorio does not expose the native Factoriopedia quality popover as an arbitrary runtime GUI widget.
Version: 0.1.4
Date: 2026-06-04
Bugfixes:
- Fixed shooting speed research bonuses not showing by deriving the ammo category from loaded ammo or attack parameters.
- Fixed damage research display to include both ammo damage and gun turret attack research modifiers.
Changes:
- Removed the experimental custom quality stat marker because it did not reuse Factorio's built-in quality stat marker/popover behavior.
- Replaced gray framed custom info buttons with the exposed vanilla `utility/tip_icon` sprite; if that sprite is unavailable, the panel leaves the cell empty instead of showing a fake marker.
Notes:
- Exact vanilla quality stat pills inside arbitrary custom GUI rows are deferred until a supported API path or dependency is confirmed.
Version: 0.1.3
Date: 2026-06-04
Changes:
- Reworked the Turret XP panel to better match vanilla GUI structure with an inner shallow frame, slot-style ammo display, simpler section headers, and compact row info buttons.
- Moved the prototype note behind a top info button instead of showing it as a full paragraph at the bottom of the panel.
- Updated shooting speed and damage display to show base values plus force research bonuses in a vanilla-like format.
- Colored positive research bonus values green for easier scanning.
Version: 0.1.2
Date: 2026-06-04
Features:
- Added runtime-global mod settings for XP per damage, XP per kill credit, base level XP, and level XP growth.
- Added contribution-based kill credit so gun turrets earn proportional kill XP even when another source lands the final hit.
- Added a quality-aware gun turret icon to the Turret XP panel with the vanilla entity-with-quality tooltip.
Changes:
- Rebalanced default XP pacing to make damage worth much less XP and level requirements grow exponentially.
- Reworked displayed progression to derive from lifetime damage and kill credit using the current settings.
- Updated range display to match the vanilla turret hover range instead of applying ammo range modifiers.
- Updated shooting speed display to include force gun speed bonuses in a vanilla-like base plus bonus format.
- Reorganized the Turret XP panel to make progression and current turret stats easier to scan.
Version: 0.1.1
Date: 2026-06-04
Bugfixes:
- Fixed a crash when opening a gun turret caused by reading max health from the turret prototype instead of the turret entity.
- Hardened optional prototype stat reads used by the Turret XP panel.
Documentation:
- Added library/framework candidates to consider for future GUI, migration, and debugging work.
Version: 0.1.0
Date: 2026-06-04
Features:
- Adds a Turret XP panel to the vanilla gun turret GUI.
- Tracks per-turret XP, level, kill count, and lifetime damage dealt.
- Awards XP from damage dealt by gun turrets and a small bonus on kills.
- Shows first-pass turret stats: HP, attack speed, range, loaded ammo, estimated ammo damage, kills, total damage, and total XP.
Notes:
- Level bonuses are not applied to turret combat stats yet; this release focuses on reliable tracking and GUI feedback.