A combat component can work perfectly in isolation and still fail inside a real RPG. Victory may depend on encounter ownership, rewards may depend on quest state, and character stats may depend on equipment, status effects, and progression.

Define ownership early

Every important state needs one authoritative owner. Encounter membership, shared currency, inventory stacks, active quests, and learned skills should not be copied across unrelated actors.

Use explicit events and contracts

Systems should communicate through clear interfaces, delegates, or subsystems rather than world-wide actor scans and assumptions about which object exists first.

Test transitions, not only features

The dangerous moments are battle start, party switching, death, victory, level travel, save restoration, and UI opening. Those transitions deserve direct tests.