Skip to content

Make DefaultWeaponAssetPath safer for NPC default weapons #83

@ifBars

Description

@ifBars

Problem

CombatBehaviour.DefaultWeaponAssetPath accepts raw string resource paths for NPC default weapons. Developers can accidentally guess paths such as Weapon/Name instead of using real base-game equippable resource names.

The safer APIs already exist in S1API/Entities/Behaviour/CombatBehaviour.cs:

  • SetDefaultWeapon(Equippable)
  • SetDefaultWeapon(EquippableBuilder)

Desired behavior

Make direct DefaultWeaponAssetPath usage safer by doing one of the following:

  1. Validate that non-empty string values resolve to a real loadable weapon/equippable resource in the base game.
  2. Warn developers when they set DefaultWeaponAssetPath directly, pointing them to the type-safe SetDefaultWeapon(Equippable) and SetDefaultWeapon(EquippableBuilder) overloads for reliability.

Acceptance criteria

  • Invalid guessed weapon paths are surfaced clearly instead of failing silently or leaving developers guessing.
  • The warning/error message points developers toward the type-safe default-weapon APIs.
  • Existing valid weapon-path behavior remains compatible unless intentionally deprecated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions