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 (Quests[Q_ANVIL]._qactive == QUEST_INIT) {
Quests[Q_ANVIL]._qactive = QUEST_ACTIVE;
NetSendCmdQuest(true, Quests[Q_ANVIL]);
}
if (Quests[Q_ANVIL]._qlog) {
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 (player._pLvlVisited[9] && Quests[Q_ANVIL]._qactive != QUEST_DONE) {
if (Quests[Q_ANVIL]._qvar2 == 0 && Quests[Q_ROCK]._qactive != QUEST_INIT) {
Quests[Q_ANVIL]._qvar2 = 1;
Quests[Q_ANVIL]._qlog = true;
if (Quests[Q_ANVIL]._qactive == QUEST_INIT) {
Quests[Q_ANVIL]._qactive = QUEST_ACTIVE;
}
InitQTextMsg(TEXT_ANVIL5);
return;
if (IsNoneOf(Quests[Q_ANVIL]._qactive, QUEST_NOTAVAIL, QUEST_DONE)) {
if ((player._pLvlVisited[9] || player._pLvlVisited[10]) && Quests[Q_ANVIL]._qvar2 == 0) {
Quests[Q_ANVIL]._qvar2 = 1;
Quests[Q_ANVIL]._qlog = true;
if (Quests[Q_ANVIL]._qactive == QUEST_INIT) {
Quests[Q_ANVIL]._qactive = QUEST_ACTIVE;
}
NetSendCmdQuest(true, Quests[Q_ANVIL]);
InitQTextMsg(TEXT_ANVIL5);
return;
}
if (Quests[Q_ANVIL]._qvar2 == 1 && RemoveInventoryItemById(player, IDI_ANVIL)) {
Quests[Q_ANVIL]._qactive = QUEST_DONE;
SpawnUnique(UITEM_GRISWOLD, blackSmith.position + Direction::SouthWest);
InitQTextMsg(TEXT_ANVIL7);
return;
}
if (Quests[Q_ANVIL]._qvar2 == 1 && RemoveInventoryItemById(player, IDI_ANVIL)) {
Quests[Q_ANVIL]._qactive = QUEST_DONE;
NetSendCmdQuest(true, Quests[Q_ANVIL]);
SpawnUnique(UITEM_GRISWOLD, blackSmith.position + Direction::SouthWest);
InitQTextMsg(TEXT_ANVIL7);
return;
}
}

Loading…
Cancel
Save