Browse Source

Fix Archbishop Lazarus entering a broken state when taking the teleport again

Fixes #889
pull/989/head
Anders Jenbo 5 years ago
parent
commit
7313b10cfa
  1. 5
      Source/monster.cpp
  2. 2
      Source/objects.cpp

5
Source/monster.cpp

@ -4581,6 +4581,11 @@ void MAI_Lazurus(int i)
}
if (Monst->_mgoal == MGOAL_NORMAL || Monst->_mgoal == MGOAL_RETREAT || Monst->_mgoal == MGOAL_MOVE) {
if (gbMaxPlayers == 1 && quests[Q_BETRAYER]._qvar1 == 4 && Monst->mtalkmsg == 0) { // Fix save games affected by teleport bug
ObjChangeMapResync(1, 18, 20, 24);
RedoPlayerVision();
quests[Q_BETRAYER]._qvar1 = 6;
}
Monst->mtalkmsg = 0;
MAI_Counselor(i);
}

2
Source/objects.cpp

@ -1866,7 +1866,7 @@ void Obj_Circle(int i)
if (ox == 35 && oy == 36 && object[i]._oVar5 == 3) {
object[i]._oVar6 = 4;
ObjChangeMapResync(object[i]._oVar1, object[i]._oVar2, object[i]._oVar3, object[i]._oVar4);
if (quests[Q_BETRAYER]._qactive == QUEST_ACTIVE)
if (quests[Q_BETRAYER]._qactive == QUEST_ACTIVE && quests[Q_BETRAYER]._qvar1 <= 4) // BUGFIX stepping on the circle again will break the quest state (fixed)
quests[Q_BETRAYER]._qvar1 = 4;
AddMissile(plr[myplr]._px, plr[myplr]._py, 35, 46, plr[myplr]._pdir, MIS_RNDTELEPORT, TARGET_MONSTERS, myplr, 0, 0);
track_repeat_walk(FALSE);

Loading…
Cancel
Save