Skip to content

[Bug]: POST /api/v1/jobs/make/equip fails for weapons ("Failed to determine equip job for item: Gun_Revolver") #84

Description

@inqus637

Description

Bug Report

Endpoint: POST /api/v1/jobs/make/equip?map_id=0&pawn_id=587&item_id=5149
Response:

{
  "success": false,
  "errors": [
    "Failed to determine equip job for item: Gun_Revolver"
  ],
  "warnings": [],
  "timestamp": "2026-07-22T09:25:00.7258498Z"
}

Description

The /api/v1/jobs/make/equip endpoint fails when trying to equip a weapon (e.g. Gun_Revolver) to a pawn. The error "Failed to determine equip job for item: Gun_Revolver" is returned.

The same pawn can successfully equip the item via the /api/v1/pawn/job endpoint, which works for both weapons and apparel.

Root Cause (suspected)
In ColonistService.cs:218-226, the equip logic only checks two utilities:

if (EquipmentUtility.CanEquip(foundThing, pawn) == true) { ... }
if (ApparelUtility.HasPartsToWear(pawn, foundThing.def) == true) { ... }
Neither EquipmentUtility.CanEquip nor ApparelUtility.HasPartsToWear handles weapons — weapons are not apparel. For weapons, RimWorld uses a different equip mechanism, so both utilities return false and job stays null.

The /api/v1/pawn/job endpoint doesn't have this issue because it uses the generic JobDef name (e.g. Equip) directly without pre-checking via utility classes.

Environment
RIMAPI mod for RimWorld
Endpoint: POST /api/v1/jobs/make/equip
Issue ready. The problem is in ColonistService.cs:218-226 — the equip logic only checks EquipmentUtility.CanEquip and ApparelUtility.HasPartsToWear, neither of which handle weapons since they aren't apparel.

Steps to Reproduce

Have a pawn (pawn_id=587) and a weapon (item_id=5149, defName Gun_Revolver) in the map.
Send: POST /api/v1/jobs/make/equip?map_id=0&pawn_id=587&item_id=5149
Observe the 400 error with the message above.
Expected Behavior
The pawn should be ordered to equip the weapon, same as when using /api/v1/pawn/job endpoint.

Expected Behavior

No response

Actual Behavior

No response

Relevant Log Output


RimWorld Version

1.6

RIMAPI Version

1.0.0

Mod List

No response

Code of Conduct

  • I have searched the existing issues and this is not a duplicate
  • I have included all relevant information

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions