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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions