Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Source/Client/AsyncTime/StorytellerPatches.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,15 @@ static IEnumerable<IncidentTargetTagDef> Postfix(IEnumerable<IncidentTargetTagDe
{
foreach (var tag in tags)
{
// Each map ticks its storyteller in that map's faction context. Do not let
// another player faction's settlement advertise itself as this map's player home.
if (tag == IncidentTargetTagDefOf.Map_PlayerHome &&
Multiplayer.Client != null &&
Multiplayer.GameComp.multifaction &&
__instance.Faction is { IsPlayer: true } faction &&
faction != Faction.OfPlayer)
continue;

// Only return Map_Misc if player's faction is (heuristically) visiting the map
// This affects multifaction where the storyteller ticks on every settlement for every faction separately
if (tag != IncidentTargetTagDefOf.Map_Misc ||
Expand Down
Loading