Browse Source

access: provide spoken feedback on null-player early returns in town NPC nav

When MyPlayer is null, the town NPC navigation functions now provide
spoken feedback instead of returning silently, matching the pattern used
in the tracker auto-walk code. RefreshTownNpcOrder also resets
SelectedTownNpc to avoid leaving stale state.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
pull/8474/head
hidwood 2 months ago
parent
commit
cd9b82879f
  1. 12
      Source/controls/town_npc_nav.cpp

12
Source/controls/town_npc_nav.cpp

@ -50,8 +50,10 @@ void RefreshTownNpcOrder(bool selectFirst = false)
TownNpcOrder.clear();
if (leveltype != DTYPE_TOWN)
return;
if (MyPlayer == nullptr)
if (MyPlayer == nullptr) {
SelectedTownNpc = -1;
return;
}
const Point playerPosition = MyPlayer->position.future;
@ -149,8 +151,10 @@ void SpeakSelectedTownNpc()
SpeakText(_("No NPC selected."), true);
return;
}
if (MyPlayer == nullptr)
if (MyPlayer == nullptr) {
SpeakText(_("No NPC selected."), true);
return;
}
const Towner &towner = Towners[SelectedTownNpc];
const Point playerPosition = MyPlayer->position.future;
@ -285,8 +289,10 @@ void ListTownNpcsKeyPressed()
townNpcs.reserve(Towners.size());
cows.reserve(Towners.size());
if (MyPlayer == nullptr)
if (MyPlayer == nullptr) {
SpeakText(_("No town NPCs found."), true);
return;
}
const Point playerPosition = MyPlayer->position.future;

Loading…
Cancel
Save