Plugin: Raidable Bases 3.1.6
Oxide/uMod, no other NPC plugins installed.
PROBLEM
No NPCs ever spawn inside my raidable bases. Every NPC spawns on the
outside of the base and roams the dome. The "Spawn Inside Bases" section
in my profile appears to have no effect.
WHAT I ALREADY CHECKED IN THE PROFILE
Under "Spawn Inside Bases" I have set:
"Spawn On Floors": true
"Spawn On Beds": true
"Spawn On Rugs": true
"Minimum Inside (-1 = ignore)": <my value>
"Maximum Inside (-1 = ignore)": <my value>
"Spawn Murderers Outside": true
"Spawn Scientists Outside": true
And under the NPC section:
"Enabled": true
"Amount Of Murderers To Spawn": <my value>
"Amount Of Scientists To Spawn": <my value>
QUESTIONS
1) Murderers vs scientists
In SpawnInsideBase(bool f, out Vector3 v) the method returns false
immediately when f is true, and f is passed as isMurderer from
SpawnNpc(). Does this mean murderers can never occupy an interior
spot, and only scientists are eligible for inside placement? If so,
a base configured with murderers only would never get interior NPCs.
Is that the intended behaviour?
2) Interior count is capped by the scientist count
npcMaxAmountInside is clamped to npcMaxAmountScientists, and when it
is -1 it falls back to npcMaxAmountScientists. So "Maximum Inside"
can never exceed "Amount Of Scientists To Spawn". Is that correct?
What values do you recommend for a base that should have, for
example, 4 NPCs inside and 4 outside?
3) Minimum Inside default of -1
The randomisation only runs when "Maximum Inside" > 0, and it uses
Random.Range(Min, Max + 1). With the default Min of -1 this can
return -1 or 0, and 0 would mean no interior NPCs for that spawn.
Should "Minimum Inside" always be set to 1 or higher when
"Maximum Inside" is used?
4) Enclosed rooms are skipped for floor spawns
In SortRandomNpcSpots() a foundation or floor tile is only added to
the interior spot list when the surrounding wall count is below 4
(below 3 for triangles). That means a fully walled-in room is never
a valid floor spawn point. Since a sealed room is exactly where most
of us want interior NPCs, is this intentional? Is there a way to
allow spawns in fully enclosed rooms?
5) "Spawn On Rugs With Skin Only"
The default value is 1. If I understand the filter correctly, any
value other than 1 (and >= 0) removes every rug that does not match
that skin ID. Is 1 the "accept any rug" sentinel, and should I leave
it at 1 unless I deliberately want skin filtering?
6) Roofcampers and IsOutside
With "Allow Npcs To Roofcamp" set to false, any floor or roof block
that the game considers outside is skipped. On an open-top or
partially open base, does this remove most of the candidate interior
spots? Should I enable roofcamping to get interior spawns on such
bases?
WHAT I AM TRYING TO ACHIEVE
I want a guaranteed number of NPCs standing or sleeping inside the base
rooms so raiders have to clear the interior, with the rest patrolling
outside. Could you tell me the exact profile settings required for that,
and confirm whether the base design itself (fully enclosed rooms, no
rugs or beds pasted) is the limiting factor?
Thank you for the plugin and for your time.