Browse Source

Spawn Fungal Tome during level generation to avoid desyncs

pull/5766/head^2
obligaron 3 years ago committed by Anders Jenbo
parent
commit
475f1d67fb
  1. 3
      Source/items.cpp
  2. 8
      Source/quests.cpp

3
Source/items.cpp

@ -2286,6 +2286,9 @@ void InitItems()
SpawnQuestItem(IDI_BROWNSUIT, { 25, 25 }, 3, 1, false);
if (sgGameInitInfo.bCowQuest != 0 && currlevel == 19)
SpawnQuestItem(IDI_GREYSUIT, { 25, 25 }, 3, 1, false);
// In multiplayer items spawn during level generation to avoid desyncs
if (gbIsMultiplayer && Quests[Q_MUSHROOM].IsAvailable())
SpawnQuestItem(IDI_FUNGALTM, { 0, 0 }, 5, 1, false);
if (currlevel > 0 && currlevel < 16)
AddInitItems();
if (currlevel >= 21 && currlevel <= 23)

8
Source/quests.cpp

@ -285,6 +285,9 @@ void InitQuests()
Quests[Q_LTBANNER]._qvar1 = 1;
if (UseMultiplayerQuests())
Quests[Q_BETRAYER]._qvar1 = 2;
// In multiplayer items spawn during level generation to avoid desyncs
if (gbIsMultiplayer && Quests[Q_MUSHROOM]._qactive == QUEST_INIT)
Quests[Q_MUSHROOM]._qvar1 = QS_TOMESPAWNED;
}
void InitialiseQuestPools(uint32_t seed, Quest quests[])
@ -658,10 +661,11 @@ void ResyncQuests()
}
}
}
if (currlevel == Quests[Q_MUSHROOM]._qlevel) {
if (currlevel == Quests[Q_MUSHROOM]._qlevel && !setlevel) {
if (Quests[Q_MUSHROOM]._qactive == QUEST_INIT && Quests[Q_MUSHROOM]._qvar1 == QS_INIT) {
SpawnQuestItem(IDI_FUNGALTM, { 0, 0 }, 5, 1, false);
SpawnQuestItem(IDI_FUNGALTM, { 0, 0 }, 5, 1, true);
Quests[Q_MUSHROOM]._qvar1 = QS_TOMESPAWNED;
NetSendCmdQuest(true, Quests[Q_MUSHROOM]);
} else {
if (Quests[Q_MUSHROOM]._qactive == QUEST_ACTIVE) {
if (Quests[Q_MUSHROOM]._qvar1 >= QS_MUSHGIVEN) {

Loading…
Cancel
Save