diff --git a/Source/drlg_l2.cpp b/Source/drlg_l2.cpp index c95820b42..b2848c716 100644 --- a/Source/drlg_l2.cpp +++ b/Source/drlg_l2.cpp @@ -513,13 +513,13 @@ void LoadPreL2Dungeon(char *sFileName, int vx, int vy) void CreateL2Dungeon(DWORD rseed, int entry) { if (gbMaxPlayers == 1) { - if (currlevel == 7 && !quests[8]._qactive) { + if (currlevel == 7 && !quests[QTYPE_BLIND]._qactive) { currlevel = 6; CreateL2Dungeon(glSeedTbl[6], 4); currlevel = 7; } if (currlevel == 8) { - if (!quests[8]._qactive) { + if (!quests[QTYPE_BLIND]._qactive) { currlevel = 6; CreateL2Dungeon(glSeedTbl[6], 4); currlevel = 8; diff --git a/Source/drlg_l4.cpp b/Source/drlg_l4.cpp index e5b557116..121cb4530 100644 --- a/Source/drlg_l4.cpp +++ b/Source/drlg_l4.cpp @@ -1756,8 +1756,8 @@ BOOL DRLG_L4PlaceMiniSet(const BYTE *miniset, int tmin, int tmax, int cx, int cy } if (currlevel == 15) { - quests[15]._qtx = sx + 1; - quests[15]._qty = sy + 1; + quests[QTYPE_VB]._qtx = sx + 1; + quests[QTYPE_VB]._qty = sy + 1; } if (setview == TRUE) { ViewX = 2 * sx + 21; diff --git a/Source/items.cpp b/Source/items.cpp index 260881b4d..5d39e2253 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -697,8 +697,9 @@ void CalcPlrItemMin(int pnum) p = &plr[pnum]; pi = p->InvList; + i = p->_pNumInv; - for (i = p->_pNumInv; i; i--) { + while (i--) { pi->_iStatFlag = ItemMinStats(p, pi); pi++; } @@ -1786,27 +1787,25 @@ void GetItemBonus(int i, int idata, int minlvl, int maxlvl, int onlygood) void SetupItem(int i) { - int it, il; + int it; it = ItemCAnimTbl[item[i]._iCurs]; + item[i]._iAnimData = itemanims[it]; + item[i]._iAnimLen = ItemAnimLs[it]; item[i]._iAnimWidth = 96; item[i]._iAnimWidth2 = 16; - item[i]._iAnimData = itemanims[it]; - il = ItemAnimLs[it]; - item[i]._iAnimLen = il; item[i]._iIdentified = FALSE; item[i]._iPostDraw = FALSE; if (!plr[myplr].pLvlLoad) { - item[i]._iSelFlag = 0; - il = 1; + item[i]._iAnimFrame = 1; item[i]._iAnimFlag = TRUE; + item[i]._iSelFlag = 0; } else { + item[i]._iAnimFrame = item[i]._iAnimLen; item[i]._iAnimFlag = FALSE; item[i]._iSelFlag = 1; } - - item[i]._iAnimFrame = il; } int RndItem(int m) @@ -1995,9 +1994,9 @@ void GetUniqueItem(int i, int uid) if (item[i]._iMiscId == IMISC_UNIQUE) item[i]._iSeed = uid; - item[i]._iCreateInfo |= 0x0200; item[i]._iUid = uid; item[i]._iMagical = ITEM_QUALITY_UNIQUE; + item[i]._iCreateInfo |= 0x0200; } void SpawnUnique(int uid, int x, int y) @@ -2300,8 +2299,8 @@ void RecreateEar(int ii, WORD ic, int iseed, int Id, int dur, int mdur, int ch, tempstr[16] = '\0'; sprintf(item[ii]._iName, "Ear of %s", tempstr); item[ii]._iCurs = ((ivalue >> 6) & 3) + 19; - item[ii]._iCreateInfo = ic; item[ii]._ivalue = ivalue & 0x3F; + item[ii]._iCreateInfo = ic; item[ii]._iSeed = iseed; } @@ -2453,8 +2452,8 @@ void ProcessItems() PlaySfxLoc(ItemDropSnds[ItemCAnimTbl[item[ii]._iCurs]], item[ii]._ix, item[ii]._iy); if (item[ii]._iAnimFrame >= item[ii]._iAnimLen) { - item[ii]._iAnimFlag = FALSE; item[ii]._iAnimFrame = item[ii]._iAnimLen; + item[ii]._iAnimFlag = FALSE; item[ii]._iSelFlag = 1; } } @@ -3357,12 +3356,10 @@ void SortSmith() sorted = FALSE; while (j > 0 && !sorted) { sorted = TRUE; - if (j > 0) { - for (k = 0; k < j; k++) { - if (smithitem[k].IDidx > smithitem[k + 1].IDidx) { - BubbleSwapItem(&smithitem[k], &smithitem[k + 1]); - sorted = FALSE; - } + for (k = 0; k < j; k++) { + if (smithitem[k].IDidx > smithitem[k + 1].IDidx) { + BubbleSwapItem(&smithitem[k], &smithitem[k + 1]); + sorted = FALSE; } } j--; @@ -3538,12 +3535,10 @@ void SortWitch() sorted = FALSE; while (j > 3 && !sorted) { sorted = TRUE; - if (j > 3) { - for (k = 3; k < j; k++) { - if (witchitem[k].IDidx > witchitem[k + 1].IDidx) { - BubbleSwapItem(&witchitem[k], &witchitem[k + 1]); - sorted = FALSE; - } + for (k = 3; k < j; k++) { + if (witchitem[k].IDidx > witchitem[k + 1].IDidx) { + BubbleSwapItem(&witchitem[k], &witchitem[k + 1]); + sorted = FALSE; } } j--; @@ -3724,12 +3719,10 @@ void SortHealer() sorted = FALSE; while (j > 2 && !sorted) { sorted = TRUE; - if (j > 2) { - for (k = 2; k < j; k++) { - if (healitem[k].IDidx > healitem[k + 1].IDidx) { - BubbleSwapItem(&healitem[k], &healitem[k + 1]); - sorted = FALSE; - } + for (k = 2; k < j; k++) { + if (healitem[k].IDidx > healitem[k + 1].IDidx) { + BubbleSwapItem(&healitem[k], &healitem[k + 1]); + sorted = FALSE; } } j--; diff --git a/Source/quests.cpp b/Source/quests.cpp index 6e1fe7dab..8fd1c1ea8 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -553,26 +553,26 @@ void SetReturnLvlPos() case SL_SKELKING: ReturnLvlX = quests[QTYPE_KING]._qtx + 1; ReturnLvlY = quests[QTYPE_KING]._qty; - ReturnLvlT = DTYPE_CATHEDRAL; ReturnLvl = quests[QTYPE_KING]._qlevel; + ReturnLvlT = DTYPE_CATHEDRAL; break; case SL_BONECHAMB: ReturnLvlX = quests[QTYPE_BONE]._qtx + 1; ReturnLvlY = quests[QTYPE_BONE]._qty; - ReturnLvlT = DTYPE_CATACOMBS; ReturnLvl = quests[QTYPE_BONE]._qlevel; + ReturnLvlT = DTYPE_CATACOMBS; break; case SL_POISONWATER: ReturnLvlX = quests[QTYPE_PW]._qtx; ReturnLvlY = quests[QTYPE_PW]._qty + 1; - ReturnLvlT = DTYPE_CATHEDRAL; ReturnLvl = quests[QTYPE_PW]._qlevel; + ReturnLvlT = DTYPE_CATHEDRAL; break; case SL_VILEBETRAYER: ReturnLvlX = quests[QTYPE_VB]._qtx + 1; ReturnLvlY = quests[QTYPE_VB]._qty - 1; - ReturnLvlT = DTYPE_HELL; ReturnLvl = quests[QTYPE_VB]._qlevel; + ReturnLvlT = DTYPE_HELL; break; } } @@ -661,17 +661,17 @@ void ResyncQuests() } } if (currlevel == quests[QTYPE_BLKM]._qlevel) { - if (quests[QTYPE_BLKM]._qactive == 1) { - if (!quests[QTYPE_BLKM]._qvar1) { - SpawnQuestItem(IDI_FUNGALTM, 0, 0, 5, 1); - quests[QTYPE_BLKM]._qvar1 = QS_TOMESPAWNED; - } - } else if (quests[QTYPE_BLKM]._qactive == 2) { - if (quests[QTYPE_BLKM]._qvar1 >= QS_MUSHGIVEN) { - Qtalklist[TOWN_WITCH]._qblkm = -1; - Qtalklist[TOWN_HEALER]._qblkm = QUEST_MUSH3; - } else if (quests[QTYPE_BLKM]._qvar1 >= QS_BRAINGIVEN) { - Qtalklist[TOWN_HEALER]._qblkm = -1; + if (quests[QTYPE_BLKM]._qactive == 1 && !quests[QTYPE_BLKM]._qvar1) { + SpawnQuestItem(IDI_FUNGALTM, 0, 0, 5, 1); + quests[QTYPE_BLKM]._qvar1 = QS_TOMESPAWNED; + } else { + if (quests[QTYPE_BLKM]._qactive == 2) { + if (quests[QTYPE_BLKM]._qvar1 >= QS_MUSHGIVEN) { + Qtalklist[TOWN_WITCH]._qblkm = -1; + Qtalklist[TOWN_HEALER]._qblkm = QUEST_MUSH3; + } else if (quests[QTYPE_BLKM]._qvar1 >= QS_BRAINGIVEN) { + Qtalklist[TOWN_HEALER]._qblkm = -1; + } } } } diff --git a/Source/stores.cpp b/Source/stores.cpp index 4f0c86356..d61882506 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -1355,7 +1355,7 @@ void S_StartTalk() #else sn = 0; for (i = 0; i < 16; i++) { - if (quests[i]._qlevel == 2 && ((DWORD *)&Qtalklist[talker])[i] != -1 && quests[i]._qlog) + if (quests[i]._qactive == 2 && ((DWORD *)&Qtalklist[talker])[i] != -1 && quests[i]._qlog) sn++; } @@ -1370,7 +1370,7 @@ void S_StartTalk() sn2 = sn - 2; for (i = 0; i < 16; i++) { - if (quests[i]._qlevel == 2 && ((DWORD *)&Qtalklist[talker])[i] != -1 && quests[i]._qlog) { + if (quests[i]._qactive == 2 && ((DWORD *)&Qtalklist[talker])[i] != -1 && quests[i]._qlog) { AddSText(0, sn, 1, questlist[i]._qlstr, COL_WHITE, 1); sn += la; } diff --git a/Source/themes.cpp b/Source/themes.cpp index 6c3e2999e..04f2c0642 100644 --- a/Source/themes.cpp +++ b/Source/themes.cpp @@ -395,7 +395,6 @@ void InitThemes() zharlib = -1; numthemes = 0; - bCrossFlag = FALSE; armorFlag = TRUE; bFountainFlag = TRUE; cauldronFlag = TRUE; @@ -403,6 +402,7 @@ void InitThemes() pFountainFlag = TRUE; tFountainFlag = TRUE; treasureFlag = TRUE; + bCrossFlag = FALSE; weaponFlag = TRUE; if (currlevel == 16) diff --git a/Source/town.cpp b/Source/town.cpp index 42fe33963..4f70ce41a 100644 --- a/Source/town.cpp +++ b/Source/town.cpp @@ -1131,7 +1131,7 @@ void T_Pass3() } #endif - if (quests[13]._qactive != 3 && quests[13]._qactive) { + if (quests[QTYPE_PW]._qactive != 3 && quests[QTYPE_PW]._qactive) { T_FillTile(P3Tiles, 60, 70, 342); } else { T_FillTile(P3Tiles, 60, 70, 71); diff --git a/Source/towners.cpp b/Source/towners.cpp index 8c78f98e3..7d07c06c5 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -136,10 +136,10 @@ void SetTownerGPtrs(BYTE *pData, BYTE **pAnim) void NewTownerAnim(int tnum, BYTE *pAnim, int numFrames, int Delay) { - towner[tnum]._tAnimCnt = 0; - towner[tnum]._tAnimLen = numFrames; towner[tnum]._tAnimData = pAnim; + towner[tnum]._tAnimLen = numFrames; towner[tnum]._tAnimFrame = 1; + towner[tnum]._tAnimCnt = 0; towner[tnum]._tAnimDelay = Delay; } @@ -428,7 +428,7 @@ void TownDead() tidx = GetActiveTowner(TOWN_DEADGUY); TownCtrlMsg(tidx); if (!qtextflag) { - if ((quests[6]._qactive != 2 || quests[6]._qlog) && quests[6]._qactive != 1) { + if ((quests[QTYPE_BUTCH]._qactive != 2 || quests[QTYPE_BUTCH]._qlog) && quests[QTYPE_BUTCH]._qactive != 1) { towner[tidx]._tAnimDelay = 1000; towner[tidx]._tAnimFrame = 1; strcpy(towner[tidx]._tName, "Slain Townsman");