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.
SkeletonCrew
Blood Magic summons that take orders, hold a formation, and can be raised as six classes.
By Team_Vash
| Date uploaded | a day ago |
| Version | 1.0.0 |
| Download link | Team_Vash-SkeletonCrew-1.0.0.zip |
| Downloads | 5 |
| Dependency string | Team_Vash-SkeletonCrew-1.0.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
SkeletonCrew
Your Blood Magic summons stop being disposable. They take orders, hold a formation, come through portals with you, keep out of lava, and can be raised as one of six classes with its own weapon, its own place in the line, and its own way of fighting.
Client-side. Nothing is required of the server or of anyone else in your world.
What it changes
They obey. One key issues the three orders you actually want mid-fight — attack what you are aimed at, come back, hold this spot — and a menu covers the rest. A summon sent somewhere stays there until recalled, fighting what comes to it and returning to its post afterwards.
They are a crew, not a cloud. Pick who the next order applies to, everyone or one at a time, and place them individually before a fight. The HUD names the current order target so a crew that ignores three of its four members is never a mystery.
They come back. Summons follow you through portals instead of being left behind, are rescued when stranded, and regenerate out of combat rather than dying by attrition.
They have classes. Melee, Archer, Defender, Healer, Fire Mage and Ice Mage — each with its own kit, position, statistics and behaviour. Mages and healers hold the back line and are skipped by hostile target selection while a defender is close enough to be found instead; defenders lead, see further, and keep a short leash. The healer is a protection unit: it puts the staff's ward on whoever is taking the damage rather than on itself, and heals by urgency — the ally under attack, not the one with the biggest scratch.
They fight as one. Whatever is hitting a summon or you becomes the whole crew's target, so nobody stands watching a friend being killed. A distant fight is opened by a single summon — the longest reach in the crew — while the rest hold formation and receive the enemy where they stand, and they commit anyway if it will not come. A summon walks to a target it cannot reach and stops the moment it can, rather than holding one twenty-five metres away and never closing.
The crew is as strong as the caster who raised it. Mage armour and staves in your pack give your summons the full skill and progression bonus; leaving the staves at base gives you less of it. The base strength never changes, and it is measured once when a summon is raised — dying or changing gear cannot weaken a crew you already paid for.
They can work. Optional and off by default: send the crew to fell a tree, mine a node or clear an area, with tool tiers respected and your base left alone.
Controls
The fast orders are on one button, by tap count. Harvesting is menu-only on purpose: a tap commits the instant you press it, so a slightly-off aim used to set the crew working on whatever was behind your target. The menu issues the same order but names the target and the radius first.
| Input | Default | Does |
|---|---|---|
| Command, ×1 | ` |
Attack what you are aimed at; otherwise move there. |
| Command, ×2 | ` |
Come back to me. |
| Command, ×3 | ` |
Hold this position and guard it. |
| Menu | F1 |
Everything else, including both harvest orders. |
| Order target | F3 |
Cycles who orders apply to: everyone → each summon → everyone. The HUD always shows the current target. |
| Stance | \ |
Cycles Balanced → Offensive → Defensive. |
| Next raise | F7 |
Cycles what a single cast raises. The menu's Next raise entry offers the same classes and the group presets in one list. |
An order that cannot be carried out is refused on screen rather than accepted and quietly failed — no path to the spot, tool tier too low, destination in lava.
Classes
F7, or the menu, sets what the next summon is raised as. Each class's kit is config, so
a weapon can be swapped without a rebuild.
| Class | Carries | Fights like |
|---|---|---|
| Melee | A sword | The line. Closes and stays closed. |
| Archer | A bow | Behind the line, keeping its distance. |
| Defender | Sword and shield | Ahead of the crew, between you and the threat. Sees further, so it meets things first; keeps half the crew's leash, because a screen that chases is a gap. |
| Healer | Staff of Protection | Back line, and a protection unit first: it wards whoever is taking the damage rather than itself. Heals by urgency — the ally under attack, not the one with the biggest scratch — and drops everything for an ally about to die. Walks to a patient out of reach. |
| Fire Mage | Staff of Embers | Back line. Casts from range and backs off when reached. |
| Ice Mage | Staff of Frost | As above, with frost. |
Groups
A crew is a shape, and assembling one a class at a time means cycling the class key between every cast. A preset names the shape once and raises the whole thing from a single cast — the menu's Summon group entry arms it.
Vanguard = 1d,2a,1r Warband = 1d,1a,1r,1f,1i,1h
Casters = 1d,1h,1f,1i Skirmish = 1d,1a,2r
d defender, a attacker, r ranged, f fire mage, i ice mage, h healer. Write your own
in the Classes.Presets setting.
A preset describes the crew you want, not a list of casts. Each time you cast it, it works out the difference: classes already standing are left alone, only what is missing is raised, and if there is no room it dismisses summons the composition has no place for to make some. Cast it with a full matching crew and it costs nothing and raises nothing.
A group costs more than a single raise but nothing like the sum of its parts — each extra summon adds a fraction of one summon's price, so a six-strong preset costs under twice a single cast rather than six times it. Nobody carries six summons' worth of Eitr, and a preset priced that way is a preset you can never use.
If there is not room under your staff's cap, or not enough Eitr for the whole group, it raises as many as it can and says so — the rest stay queued for your next cast. Picking a single class, by key or menu, turns the group off.
Caps: one Healer, one Fire Mage, one Ice Mage, two Defenders. Melee and Archer are uncapped — they fill whatever the Dead Raiser's own limit allows. At a class cap the raise becomes a warrior with a notice, rather than costing you the Eitr for nothing.
Progression: the specialist classes unlock as you craft the matching staff or shield, and each unlock makes the whole crew a little stronger.
Class statistics ride on top of the Blood Magic scaling rather than replacing it, so investment still decides how strong a crew is and the class only decides its shape — a defender is tougher and hits softer, a mage the reverse. Every number is config.
Stances
Stance governs what the crew does on its own initiative; an explicit order always wins.
| Stance | Behaviour |
|---|---|
| Balanced | Intercepts hostiles near you, whether or not they have noticed you. |
| Offensive | Same, over a sweep twice as wide — they go looking. |
| Defensive | Answers only what is actually hunting you or the crew, watches a tighter radius, and is called off any fight that travels more than DefensiveLeash from you. |
Config
BepInEx/config/com.vash.skeletoncrew.cfg, created on first run. A selection — the file
documents every key.
| Key | Default | Meaning |
|---|---|---|
General.Enabled |
true |
Master switch. |
Combat.SummonCapBonus |
2 |
Extra summons beyond vanilla's cap, which is the staff's upgrade level — so a level 4 Dead Raiser allows six. |
Combat.HealthBloodMagicBonus |
1.0 |
Extra max health at Blood Magic 100, on top of the star level vanilla already grants. |
Combat.SummonHealthCostMultiplier |
0.5 |
Health price of raising a summon — part of it comes from current health, so it bites hardest when replacing losses. 1 disables. |
Combat.SummonEitrCostMultiplier |
0.75 |
Eitr price of raising a summon. Both stack with vanilla's own skill discount. |
Combat.AvoidLava |
true |
The route they will actually walk is checked corner by corner: a way round where one exists, a stop at the last safe spot where none does, and never a formation slot or patrol point on molten ground. They climb out if caught, and are lifted clear if they cannot. Except when you walk in: then they follow. |
Combat.ShieldAbsorbBonusAtMaxSkill |
1.0 |
The protection staff's shield absorbs more as Blood Magic rises — doubled at 100. Vanilla ships the mechanism and feeds it a hardcoded zero, so stock it never scales. |
Classes.RoleFormation |
true |
Position and behaviour by class. Off returns the crew to a single undifferentiated ring. |
Classes.<Class>Items |
varies | What each class is raised carrying. |
Classes.<Class>Limit |
varies | How many of that class may exist at once. 0 is no limit of its own. |
Harvest.Enabled |
false |
Master switch for all harvesting — it destroys world objects, so it is opt-in. |
Harvest.ProtectPlayerBase |
true |
Never harvest inside a player base. Covers grown crops, which carry no piece and so escape the player-built check. Wood is exempt — a tree in a base is a crop, and felling it is the point of a tree farm. |
Hud.ShowSummonGlow |
true |
A light on each of your summons, brighter and differently coloured on the one F3 has selected. Client-side; nobody else sees it. |
Combat.SummonCapBonusAtLevel |
4 |
The raiser level at which the extra crew is earned. Below it, vanilla's cap stands — the staff's own upgrade level. |
Combat.FocusFire |
true |
The crew fights one thing at a time: whatever is hitting a summon or you becomes everyone's target. |
Combat.PullTactics |
true |
One summon — the longest reach — opens a distant fight while the rest hold and receive it. |
Combat.PullReceiveDistance |
15 |
How close the enemy must come before the whole crew engages. |
Combat.PullTimeoutSeconds |
6 |
How long they will hold before committing anyway. Something that has not closed by then is not going to. |
Combat.MarchingOrder |
true |
Hold the formation while you walk, not only when you stop. |
Combat.LavaRescueSeconds |
1.5 |
How long a summon may burn before it is lifted to safe ground. Lava kills faster than a skeleton climbs. |
Classes.DevotionScaling |
true |
The crew is as strong as the caster who raised it — mage armour and staves give the full bonus, iron and an empty pack give less. The base never changes. |
Classes.DevotionFloor |
0.5 |
How much of the bonus a full melee build still gets. |
Classes.DevotionFullGear |
1.3 |
The equipment Eitr-regeneration total counted as a complete caster's outfit. |
Classes.HealerWardSeconds |
120 |
How long the healer's ward lasts. Vanilla derives it from staff level, and a summon's staff is level 1. |
Classes.HealerWardInterval |
30 |
Seconds between wards. Only ever re-cast on someone whose ward has broken. |
Diagnostics.DeepTrace |
true |
One line per summon every few seconds: role, intent, target and range, health, hazards, ward, weapon. What to send if something looks wrong. |
General.VerboseLogging |
false |
Developer logging. On only when diagnosing something. |
Once the file exists, it is the source of truth — changing a default in a new build does not alter a value already written there.
Multiplayer
Everything is client-side and scoped to your summons, identified by the follow record the game already keeps. Another player's crew is never adopted into your formation, your orders or your cap — including when the server hands you ownership of their summons because they walked away, which it does as a matter of routine.
Players without the mod see ordinary summons behaving ordinarily. Nothing this mod does changes their game.
Install
r2modman / Thunderstore Mod Manager: install from the site, or Settings → Import local
mod → pick Vash-SkeletonCrew-<version>.zip.
Manual: drop SkeletonCrew.dll into BepInEx/plugins.
Dedicated server: nothing to install. The mod disables itself on a headless process — there is no local player to own summons — so it ships as a client package only. Play on any server you like; nobody else needs it, and the server does not want it.
Requires BepInEx. Built for Valheim 0.221 and BepInEx 5.4.23.
Known issues
Stated plainly, because a mod page that pretends otherwise wastes your time when you hit them.
Lava is the hard one. Valheim's navmesh has no concept of lava — Pathfinding.AgentSettings
knows about walking, water and swimming and nothing else — so the game will happily hand a
creature a route straight through a channel and report it as a perfectly good path. This mod
therefore checks the route itself, corner by corner, and stops or diverts where it can. It is a
real improvement rather than a complete fix, and there are cases it cannot win:
- The last few metres of a chase are steered by the game, not by the mod, so a summon can clip the edge of a vein closing on something.
- Nothing prevents a summon being knocked or falling in.
- Where there is genuinely no way round, they stop rather than cross — which can look like hesitation at a shoreline, and is the correct answer.
A summon that ends up in lava climbs out, and is lifted to safe ground if it cannot get clear in
time (Combat.LavaRescueSeconds). Expect scorched skeletons in the Ashlands, not a corpse pile.
Flying enemies. A skeleton with a sword cannot hit a Fallen Valkyrie hovering ten metres up, and no amount of AI work changes that. Melee summons will position under it and wait; archers and mages do the work. This is a Valheim reach limitation, not a bug in the crew.
Pathing in tight terrain. Summons use the game's own navmesh, so anywhere vanilla creatures snag — narrow ledges, steep rock, dense ruins — the crew snags too. The stuck detector notices and brings a summon back to you rather than leaving it stranded.
Vanilla still owns the swing. The mod decides what to fight, where to stand and when to close; the actual attack is Valheim's. A creature weapon that vanilla will not use in a given situation is not something this can override.
If something looks wrong, turn on Diagnostics.DeepTrace (on by default) and send a few lines
of the log — each summon reports its role, intent, target and range, health, hazards, ward and
weapon on one line, which is usually enough to name the cause without guessing.
Console commands
Diagnostics, for when something is not behaving and the log needs to say why.
| Command | Does |
|---|---|
skcrew_recon |
Lists every item in this install that summons a creature, and whether the crew would manage it. |
skcrew_weapons <filter> |
Lists matching weapons, and for each whether a creature can use it, afford it, animate it, and draw it. |
skcrew_prefabs <filter> |
Lists prefabs, marking which are safe to attach as a marker effect. |
skcrew_giveweapon <prefab> |
Hands a weapon to the selected summon. |
CHANGELOG
Changelog
1.0.2
- Packaging fix. The DLL is back at the root of the zip, beside
manifest.json,icon.pngand the markdown. 1.0.1 moved it intoBepInEx/pluginson the strength of the packaging guide; every Valheim package verified to install correctly uses the flat layout instead, so this matches them rather than the page describing them. - The shipped manifest now carries only the five documented fields, in the order the reference
packages use.
authoris gone from it — that field exists so the build can name the zip, and the real namespace comes from the team the package is uploaded under.
1.0.1
- Moved the DLL into
BepInEx/pluginsinside the zip, following the packaging guide's description of folder names deciding where files land. See 1.0.2. - A proper icon: a bone skull with lit sockets, instead of the placeholder.
- Documentation corrected against what actually shipped. The install section no longer describes a dedicated-server package, because there is not one — the mod disables itself on a headless process, so it is client-only. The config table gained the thirteen settings added since it was written, and a Known issues section now states plainly where lava, flying enemies and vanilla's own pathing still bite.
1.0.0 — first public release
Everything below is what the mod does today. It was built over roughly eighty development versions; that record lives in the repository rather than here, because a changelog on a mod page is for deciding whether to install something, not for reading a diary.
Orders
- Three orders on one key by tap count: attack what you are aimed at (or move there), come back, hold this position.
- A crew menu on
F1for everything else, including both harvest orders. F3picks who orders apply to — everyone, or one summon at a time — and the HUD names the current target so a partial order is never a surprise.- A summon sent somewhere holds that exact spot until recalled, fighting what comes within the guard radius and returning to its post afterwards.
- Orders that cannot be carried out are refused on screen: no path to the destination, tool tier too low, target in lava.
Classes
- Six classes, chosen per summon before you raise it: Melee, Archer, Defender, Healer, Fire Mage and Ice Mage.
- Group presets — name a composition like
1d,2a,1rand raise the whole crew from one cast. Four are shipped and the list is config. The cast costs one summon's health and Eitr per summon raised, and the group is trimmed to the slots the staff still has free. - Each carries its own kit, holds its own place in the formation, and has its own health, damage and resistance — all applied on top of the Blood Magic scaling, so investment still decides how strong a crew is and the class decides its shape.
- Defenders lead, see further and keep a short leash. Mages and the healer hold the back line, refuse to open fights, back off when badly hurt, and are skipped by hostile target selection while a defender is close enough to be found instead.
- The healer is a protection unit first. It puts the staff's ward on whoever is actually taking damage — the defender holding the line, or you — rather than on itself, because absorb applied before a blow cannot overheal and cannot arrive too late.
- It heals whoever is most urgent, weighing the damage landing on them rather than how much health they are missing, so a defender under attack outranks an archer standing safely behind with a scratch. One flat heal per cast, scaled up for large health pools, so its work is never confused with the out-of-combat regeneration.
- An ally about to die is healed immediately, outside the staff's ordinary cadence.
- Two menu rows heal without aiming at anything: "Heal me" and "Heal whoever needs it most".
- One healer, one fire mage, one ice mage and two defenders at a time; warriors and archers fill the rest. At a class limit the raise becomes a warrior with a notice rather than costing the Eitr for nothing.
- The specialist classes unlock as you craft the matching staff or shield, and each unlock strengthens the whole crew.
- The crew is as strong as the caster who raised it. Mage armour and staves in your pack give your summons the full skill and progression bonus; leaving the staves at base in iron armour gives you less of it. The BASE strength never changes, so a melee player's summons work as well as they always did — they simply do not get the specialist's multiplier. Measured once, when a summon is raised, and written onto it: dying or changing gear cannot weaken a crew you already paid for, and re-evaluation only ever raises it.
Fighting as a crew
- The crew fights one thing at a time. Whatever is hitting a summon or you becomes everyone's target, so a summon under attack is helped rather than watched.
- A distant fight is opened by ONE summon — the longest reach in the crew, so the archer where there is one — while the rest hold formation and receive the enemy where they stand. If it will not come, they commit anyway rather than waiting forever.
- A summon walks to a target it cannot reach and stops the moment it can, instead of holding a target twenty-five metres away and never closing.
- Self-defence outranks everything except your own orders: a summon being hit fights back even while walking to a post, holding a move order, or serving out a disengage.
- The formation holds while you WALK, not only when you stand still — defender ahead, the line flanking, casters and the healer behind you — and they jog to dress the line rather than sprinting laps around you.
- Anything attacking the crew is never "too far to bother with": a leash exists to stop them chasing a fleeing greydwarf across the map, not to make them stand there being shot at.
Staying alive
- Health, damage, physical and elemental resistance all scale with Blood Magic.
- Regeneration out of combat, so a crew is not lost to attrition between fights.
- Summons follow you through portals, and are rescued when stranded.
- They keep out of lava. Valheim's navmesh has no lava concept at all, so this is real work: the route they will actually walk is checked corner by corner, a way round is taken where one exists, they stop at the last safe spot where none does, and they are never told to STAND somewhere molten — formation slots and patrol points move off it. If something puts them in anyway, they climb out, and are lifted clear if they cannot. You walking in yourself is the one case they will follow.
- The Dead Raiser's cap is raised for a FULLY UPGRADED staff, which then supports six. A partly upgraded one keeps vanilla's cap - its own level - so the extra crew is something the staff earns rather than a flat handout.
- Summoning costs less health and Eitr than vanilla.
- The protection staff's shield absorbs more as Blood Magic rises. Vanilla ships that mechanism and feeds it a hardcoded zero, so stock it never scales.
Harvesting — optional, off by default
- Send the crew to fell a tree, mine a node, or clear an area of either.
- Tool tiers are respected, felled trees are worked into logs, and large nodes are shared while small ones are spread across.
- Your base is protected, including grown crops. Wood is exempt, because a tree in a base is a crop and felling it is the point of a tree farm.
Quality of life
- A crew HUD listing every summon, its health, what it is doing and its class, including summons that have walked out of range.
- An optional light on each of your summons, brighter on the one currently selected.
- Map pins for the crew.
- They walk through you and each other instead of shoving.
- Console diagnostics (
skcrew_recon,skcrew_weapons,skcrew_prefabs) for when something needs explaining rather than guessing.