Browse Source

Clean up hellfire differences

pull/2693/head
Anders Jenbo 5 years ago
parent
commit
21963add95
  1. 9
      Source/DiabloUI/mainmenu.cpp
  2. 26
      Source/towners.cpp

9
Source/DiabloUI/mainmenu.cpp

@ -37,13 +37,8 @@ void MainmenuLoad(const char *name, void (*fnSound)(const char *file))
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Multi Player"), MAINMENU_MULTIPLAYER));
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Replay Intro"), MAINMENU_REPLAY_INTRO));
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Support"), MAINMENU_SHOW_SUPPORT));
if (gbIsHellfire) {
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Credits"), MAINMENU_SHOW_CREDITS));
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Exit Hellfire"), MAINMENU_EXIT_DIABLO));
} else {
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Show Credits"), MAINMENU_SHOW_CREDITS));
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Exit Diablo"), MAINMENU_EXIT_DIABLO));
}
vecMenuItems.push_back(std::make_unique<UiListItem>(_("Show Credits"), MAINMENU_SHOW_CREDITS));
vecMenuItems.push_back(std::make_unique<UiListItem>(gbIsHellfire ? _("Exit Hellfire") : _("Exit Diablo"), MAINMENU_EXIT_DIABLO));
if (!gbSpawned || gbIsHellfire) {
if (gbIsHellfire)

26
Source/towners.cpp

@ -810,18 +810,24 @@ _speech_id QuestDialogTable[NUM_TOWNER_TYPES][MAXQUESTS] = {
bool IsTownerPresent(_talker_id npc)
{
switch (npc) {
case TOWN_DEADGUY:
if (npc == TOWN_DEADGUY) {
return Quests[Q_BUTCHER]._qactive != QUEST_NOTAVAIL && Quests[Q_BUTCHER]._qactive != QUEST_DONE;
case TOWN_FARMER:
return gbIsHellfire && sgGameInitInfo.bCowQuest == 0 && Quests[Q_FARMER]._qactive != QUEST_HIVE_DONE;
case TOWN_COWFARM:
return gbIsHellfire && sgGameInitInfo.bCowQuest != 0;
case TOWN_GIRL:
return gbIsHellfire && sgGameInitInfo.bTheoQuest != 0 && Players->_pLvlVisited[17] && Quests[Q_GIRL]._qactive != QUEST_DONE;
default:
return true;
}
if (gbIsHellfire) {
switch (npc) {
case TOWN_FARMER:
return sgGameInitInfo.bCowQuest == 0 && Quests[Q_FARMER]._qactive != QUEST_HIVE_DONE;
case TOWN_COWFARM:
return sgGameInitInfo.bCowQuest != 0;
case TOWN_GIRL:
return sgGameInitInfo.bTheoQuest != 0 && Players->_pLvlVisited[17] && Quests[Q_GIRL]._qactive != QUEST_DONE;
default:
break;
}
}
return true;
}
void InitTowners()

Loading…
Cancel
Save