MCPcopy Create free account
hub / github.com/diasurgical/devilution / CheckQuestKill

Function CheckQuestKill

Source/quests.cpp:252–356  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252void CheckQuestKill(int m, BOOL sendmsg)
253{
254#ifndef SPAWN
255 int i, j;
256
257 if (monster[m].MType->mtype == MT_SKING) {
258 quests[QTYPE_KING]._qactive = 3;
259 sfxdelay = 30;
260 if (plr[myplr]._pClass == PC_WARRIOR) {
261 sfxdnum = PS_WARR82;
262 } else if (plr[myplr]._pClass == PC_ROGUE) {
263 sfxdnum = PS_ROGUE82;
264 } else if (plr[myplr]._pClass == PC_SORCERER) {
265 sfxdnum = PS_MAGE82;
266 }
267 if (sendmsg)
268 NetSendCmdQuest(TRUE, QTYPE_KING);
269
270 } else if (monster[m].MType->mtype == MT_CLEAVER) {
271 quests[QTYPE_BUTCH]._qactive = 3;
272 sfxdelay = 30;
273 if (plr[myplr]._pClass == PC_WARRIOR) {
274 sfxdnum = PS_WARR80;
275 } else if (plr[myplr]._pClass == PC_ROGUE) {
276 sfxdnum = PS_ROGUE80;
277 } else if (plr[myplr]._pClass == PC_SORCERER) {
278 sfxdnum = PS_MAGE80;
279 }
280 if (sendmsg)
281 NetSendCmdQuest(TRUE, QTYPE_BUTCH);
282 } else if (monster[m].mName == UniqMonst[UMT_GARBUD].mName) { //"Gharbad the Weak"
283 quests[QTYPE_GARB]._qactive = 3;
284 sfxdelay = 30;
285 if (plr[myplr]._pClass == PC_WARRIOR) {
286 sfxdnum = PS_WARR61;
287 } else if (plr[myplr]._pClass == PC_ROGUE) {
288 sfxdnum = PS_ROGUE61;
289 } else if (plr[myplr]._pClass == PC_SORCERER) {
290 sfxdnum = PS_MAGE61;
291 }
292 } else if (monster[m].mName == UniqMonst[UMT_ZHAR].mName) { //"Zhar the Mad"
293 quests[QTYPE_ZHAR]._qactive = 3;
294 sfxdelay = 30;
295 if (plr[myplr]._pClass == PC_WARRIOR) {
296 sfxdnum = PS_WARR62;
297 } else if (plr[myplr]._pClass == PC_ROGUE) {
298 sfxdnum = PS_ROGUE62;
299 } else if (plr[myplr]._pClass == PC_SORCERER) {
300 sfxdnum = PS_MAGE62;
301 }
302 } else if (monster[m].mName == UniqMonst[UMT_LAZURUS].mName && gbMaxPlayers != 1) { //"Arch-Bishop Lazarus"
303 quests[QTYPE_VB]._qactive = 3;
304 quests[QTYPE_VB]._qvar1 = 7;
305 sfxdelay = 30;
306 quests[QTYPE_MOD]._qactive = 2;
307
308 for (j = 0; j < MAXDUNY; j++) {
309 for (i = 0; i < MAXDUNX; i++) {

Callers 2

MonstStartKillFunction · 0.85
M2MStartKillFunction · 0.85

Calls 3

NetSendCmdQuestFunction · 0.85
InitVPTriggersFunction · 0.85
AddMissileFunction · 0.85

Tested by

no test coverage detected