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

Function OperateBookCase

Source/objects.cpp:3441–3464  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3439}
3440
3441void OperateBookCase(int pnum, int i, BOOL sendmsg)
3442{
3443 if (object[i]._oSelFlag != 0) {
3444 if (!deltaload)
3445 PlaySfxLoc(IS_ISCROL, object[i]._ox, object[i]._oy);
3446 object[i]._oAnimFrame -= 2;
3447 object[i]._oSelFlag = 0;
3448 if (!deltaload) {
3449 SetRndSeed(object[i]._oRndSeed);
3450 CreateTypeItem(object[i]._ox, object[i]._oy, FALSE, ITYPE_MISC, IMISC_BOOK, sendmsg, FALSE);
3451 if (QuestStatus(QTYPE_ZHAR)
3452 && monster[MAX_PLRS].mName == UniqMonst[UMT_ZHAR].mName
3453 && monster[MAX_PLRS]._msquelch == UCHAR_MAX
3454 && monster[MAX_PLRS]._mhitpoints) {
3455 monster[MAX_PLRS].mtalkmsg = QUEST_ZHAR2;
3456 M_StartStand(0, monster[MAX_PLRS]._mdir);
3457 monster[MAX_PLRS]._mgoal = MGOAL_SHOOT;
3458 monster[MAX_PLRS]._mmode = MM_TALK;
3459 }
3460 if (pnum == myplr)
3461 NetSendCmdParam1(FALSE, CMD_OPERATEOBJ, i);
3462 }
3463 }
3464}
3465
3466void OperateDecap(int pnum, int i, BOOL sendmsg)
3467{

Callers 2

OperateObjectFunction · 0.85
SyncOpObjectFunction · 0.85

Calls 6

PlaySfxLocFunction · 0.85
SetRndSeedFunction · 0.85
CreateTypeItemFunction · 0.85
QuestStatusFunction · 0.85
M_StartStandFunction · 0.85
NetSendCmdParam1Function · 0.85

Tested by

no test coverage detected