Describe the bug
We have underlying infrastructure to mark a basecamp in src/basecamp.cpp.
But the currently implement use the NPC pointer to store Faction Camp info.
When the camp manager is dead, there is no way to recover the Faction Camp.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
or
Screenshots
Versions and configuration(please complete the following information):
Additional context
the basecamp.cpp and basecamp.h is dead code, let it have some new use.
I think a new conversation option is probably easiest to code. Add a variant of become_overseer() that instead of quitting if the omt_ref.id() != "field", quits if !om_min_level( "faction_base_camp_1", omt_ref.id() ) and skips the field/water/swamp checks.
It should also be possible to recover the NPCs on missions - they're still in the companion_list() which is in the overmap buffer as far as I can tell.
Is a NPC base manager actually necessary component of the game? I keep thinking that the camp menu could be accessible from a bulletin board built in the camp and easily replaced.
Unfortunately, acidia didn't implement it that way. In the short term, I intend to work with the framework that exists before replacing more of it.
Medium term, I agree, faction camp data should be stored in the existing basecamp structure and accessed through a bulletin board that can be readily replaced should it get damaged.
Most helpful comment
Is a NPC base manager actually necessary component of the game? I keep thinking that the camp menu could be accessible from a bulletin board built in the camp and easily replaced.