Browse Source

Multiplayer: Enable Anvil of Fury Quest

pull/5541/head
obligaron 3 years ago committed by Anders Jenbo
parent
commit
a45ba2895e
  1. 1
      Source/inv.cpp
  2. 32
      Source/towners.cpp

1
Source/inv.cpp

@ -901,6 +901,7 @@ void CheckQuestItem(Player &player, Item &questItem)
if (questItem.IDidx == IDI_ANVIL && Quests[Q_ANVIL]._qactive != QUEST_NOTAVAIL) { if (questItem.IDidx == IDI_ANVIL && Quests[Q_ANVIL]._qactive != QUEST_NOTAVAIL) {
if (Quests[Q_ANVIL]._qactive == QUEST_INIT) { if (Quests[Q_ANVIL]._qactive == QUEST_INIT) {
Quests[Q_ANVIL]._qactive = QUEST_ACTIVE; Quests[Q_ANVIL]._qactive = QUEST_ACTIVE;
NetSendCmdQuest(true, Quests[Q_ANVIL]);
} }
if (Quests[Q_ANVIL]._qlog) { if (Quests[Q_ANVIL]._qlog) {
myPlayer.Say(HeroSpeech::INeedToGetThisToGriswold, 10); myPlayer.Say(HeroSpeech::INeedToGetThisToGriswold, 10);

32
Source/towners.cpp

@ -389,24 +389,24 @@ void TalkToBlackSmith(Player &player, Towner &blackSmith)
} }
} }
} }
if (Quests[Q_ANVIL]._qactive != QUEST_NOTAVAIL) { if (IsNoneOf(Quests[Q_ANVIL]._qactive, QUEST_NOTAVAIL, QUEST_DONE)) {
if (player._pLvlVisited[9] && Quests[Q_ANVIL]._qactive != QUEST_DONE) { if ((player._pLvlVisited[9] || player._pLvlVisited[10]) && Quests[Q_ANVIL]._qvar2 == 0) {
if (Quests[Q_ANVIL]._qvar2 == 0 && Quests[Q_ROCK]._qactive != QUEST_INIT) { Quests[Q_ANVIL]._qvar2 = 1;
Quests[Q_ANVIL]._qvar2 = 1; Quests[Q_ANVIL]._qlog = true;
Quests[Q_ANVIL]._qlog = true; if (Quests[Q_ANVIL]._qactive == QUEST_INIT) {
if (Quests[Q_ANVIL]._qactive == QUEST_INIT) { Quests[Q_ANVIL]._qactive = QUEST_ACTIVE;
Quests[Q_ANVIL]._qactive = QUEST_ACTIVE;
}
InitQTextMsg(TEXT_ANVIL5);
return;
} }
NetSendCmdQuest(true, Quests[Q_ANVIL]);
InitQTextMsg(TEXT_ANVIL5);
return;
}
if (Quests[Q_ANVIL]._qvar2 == 1 && RemoveInventoryItemById(player, IDI_ANVIL)) { if (Quests[Q_ANVIL]._qvar2 == 1 && RemoveInventoryItemById(player, IDI_ANVIL)) {
Quests[Q_ANVIL]._qactive = QUEST_DONE; Quests[Q_ANVIL]._qactive = QUEST_DONE;
SpawnUnique(UITEM_GRISWOLD, blackSmith.position + Direction::SouthWest); NetSendCmdQuest(true, Quests[Q_ANVIL]);
InitQTextMsg(TEXT_ANVIL7); SpawnUnique(UITEM_GRISWOLD, blackSmith.position + Direction::SouthWest);
return; InitQTextMsg(TEXT_ANVIL7);
} return;
} }
} }

Loading…
Cancel
Save