| 133 | } |
| 134 | |
| 135 | void CheckQuests() |
| 136 | { |
| 137 | #ifndef SPAWN |
| 138 | int i, rportx, rporty; |
| 139 | |
| 140 | if (QuestStatus(QTYPE_VB) && gbMaxPlayers != 1 && quests[QTYPE_VB]._qvar1 == 2) { |
| 141 | AddObject(OBJ_ALTBOY, 2 * setpc_x + 20, 2 * setpc_y + 22); |
| 142 | quests[QTYPE_VB]._qvar1 = 3; |
| 143 | NetSendCmdQuest(TRUE, QTYPE_VB); |
| 144 | } |
| 145 | |
| 146 | if (gbMaxPlayers != 1) { |
| 147 | return; |
| 148 | } |
| 149 | |
| 150 | if (currlevel == quests[QTYPE_VB]._qlevel |
| 151 | && !setlevel |
| 152 | && quests[QTYPE_VB]._qvar1 >= 2 |
| 153 | && (quests[QTYPE_VB]._qactive == 2 || quests[QTYPE_VB]._qactive == 3) |
| 154 | && (quests[QTYPE_VB]._qvar2 == 0 || quests[QTYPE_VB]._qvar2 == 2)) { |
| 155 | quests[QTYPE_VB]._qtx = 2 * quests[QTYPE_VB]._qtx + 16; |
| 156 | quests[QTYPE_VB]._qty = 2 * quests[QTYPE_VB]._qty + 16; |
| 157 | rportx = quests[QTYPE_VB]._qtx; |
| 158 | rporty = quests[QTYPE_VB]._qty; |
| 159 | AddMissile(rportx, rporty, rportx, rporty, 0, MIS_RPORTAL, 0, myplr, 0, 0); |
| 160 | quests[QTYPE_VB]._qvar2 = 1; |
| 161 | if (quests[QTYPE_VB]._qactive == 2) { |
| 162 | quests[QTYPE_VB]._qvar1 = 3; |
| 163 | } |
| 164 | } |
| 165 | |
| 166 | if (quests[QTYPE_VB]._qactive == 3 |
| 167 | && setlevel |
| 168 | && setlvlnum == SL_VILEBETRAYER |
| 169 | && quests[QTYPE_VB]._qvar2 == 4) { |
| 170 | rportx = 35; |
| 171 | rporty = 32; |
| 172 | AddMissile(rportx, rporty, rportx, rporty, 0, MIS_RPORTAL, 0, myplr, 0, 0); |
| 173 | quests[QTYPE_VB]._qvar2 = 3; |
| 174 | } |
| 175 | |
| 176 | if (setlevel) { |
| 177 | if (setlvlnum == quests[QTYPE_PW]._qslvl |
| 178 | && quests[QTYPE_PW]._qactive != 1 |
| 179 | && leveltype == quests[QTYPE_PW]._qlvltype |
| 180 | && nummonsters == 4 |
| 181 | && quests[QTYPE_PW]._qactive != 3) { |
| 182 | quests[QTYPE_PW]._qactive = 3; |
| 183 | PlaySfxLoc(IS_QUESTDN, plr[myplr].WorldX, plr[myplr].WorldY); |
| 184 | LoadPalette("Levels\\L3Data\\L3pwater.pal"); |
| 185 | WaterDone = 32; |
| 186 | } |
| 187 | if (WaterDone > 0) { |
| 188 | palette_update_quest_palette(WaterDone); |
| 189 | WaterDone--; |
| 190 | } |
| 191 | } else if (plr[myplr]._pmode == PM_STAND) { |
| 192 | for (i = 0; i < MAXQUESTS; i++) { |
no test coverage detected