Skip to content

fix: remove IsSpent field declaration from perk_quick_hands hook — conflicts with vanilla after recent BB update #494

Description

@igorl-commits

Bug

After a recent Battle Brothers update, the game throws a mod error on startup:

Mod mod_msu (Modding Standards & Utilities (MSU)) is adding a new field IsSpent to bb class scripts/skills/perks/perk_quick_hands, but that field already exists in scripts/skills/perks/perk_quick_hands which is either the class itself or an ancestor

Root Cause

The base game now declares IsSpent natively in scripts/skills/perks/perk_quick_hands. MSU's hook at msu/hooks/skills/perks/perk_quick_hands.nut still tries to add it:

```squirrel
::MSU.MH.hook("scripts/skills/perks/perk_quick_hands", function(q) {
q.m.IsSpent <- false; // ← conflicts with vanilla field
...
```

The <- (new slot) operator fails when the field already exists in the class or any ancestor.

Fix

Remove the q.m.IsSpent <- false; line from msu/hooks/skills/perks/perk_quick_hands.nut. The rest of the hook (isHidden, getItemActionCost, onPayForItemAction, onTurnStart) may still be valid depending on whether vanilla's implementation matches MSU's — worth verifying against the updated game script.

Environment

  • MSU version: 1.8.0
  • BB version: 1.5.2.2
  • Reported: June 2026

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions