SummonInheritanceFix
Summons, drones and allies inherit your items. v1.1 adds summon-loop protection.SummonInheritanceFix
Your drones, turrets and other allies inherit your items and equipment, with protection against summon loops.
The problem this fixes
If an item spawns allies (for example the Smouldering Comet from Spikestrip2_0), and your drones inherit it, every drone spawns its own ally. With chains of summons the ally count explodes.
What it does
- Startup scan: reads the item-behaviour classes of your installed mods. Items whose code spawns allies are detected and never inherited. The detected items are listed in
BepInEx/LogOutput.log(search forItemBehaviorScanner). - Built-in blocklist for vanilla summon items (Queen's Gland, Empathy Cores, Halcyon Seed, Squid Polyp, Happiest Mask, Defiant Gouge, Newly Hatched Zoea, The Back-up...).
- Runtime watcher: if an inheriting minion ever summons an ally, the new ally cannot inherit, and the responsible item is learned automatically (saved to
LearnedSummonItems). - Safety cap: at most 40 inheriting minions per player (configurable).
Configuration
All options are in BepInEx/config/ and in Risk of Options. Section 5. Loop Protection has the new settings:
BlockSummonItems, BlockSummonEquipment, ExtraSummonItems, ExtraSummonEquipment, MaxInheritingMinionsPerOwner, AutoDetectSummoners, ProactiveBehaviorScan, VerboseLogging, DumpItemCodenames.
If an item that should inherit gets blocked by mistake, set ProactiveBehaviorScan = false and please report the item name.
Compatibility
- Host-side logic (runs where the run is hosted).
- Do not install together with the original SummonInheritance mod.
- Tested with the Smouldering Comet from Spikestrip.
Credits and takedown
This is a fork of the original SummonInheritance mod. The original source does not name its author or license, so I cannot credit them by name; all credit for the original inheritance system goes to its author. The loop protection (summon blocklist, startup scan, runtime watcher, safety cap) was added in this version.
If you are the original author and want this fork removed, renamed or credited differently, contact me at: [email protected] and I will do it.
