Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
SummonInheritanceFix
Summons, drones and allies inherit your items. v1.1 adds summon-loop protection.
By Ceyolf
| Date uploaded | 17 hours ago |
| Version | 1.4.0 |
| Download link | Ceyolf-SummonInheritanceFix-1.4.0.zip |
| Downloads | 68 |
| Dependency string | Ceyolf-SummonInheritanceFix-1.4.0 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2117Rune580-Risk_Of_Options
A convenient API for adding BepInEx ConfigEntry's to a option menu
Preferred version: 2.8.2README
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.
CHANGELOG
Changelog
1.4.0
- Fixed the name and the version number of the package, uploaded with some wrong info, corrected now.
1.3.0
- Startup scan of mod item-behaviour classes: items that spawn allies are never inherited.
- Runtime watcher attributes summons to ItemBehavior classes found on the call stack.
1.2.0
- Runtime watcher (MasterSummon) with automatic learning of summon items.
1.1.0
- Built-in summon item/equipment blocklist, per-owner cap on inheriting minions.