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

Function OperateSlainHero

Source/objects.cpp:2639–2664  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2637}
2638
2639void OperateSlainHero(int pnum, int i, BOOL sendmsg)
2640{
2641 if (object[i]._oSelFlag != 0) {
2642 object[i]._oSelFlag = 0;
2643 if (!deltaload) {
2644 if (plr[pnum]._pClass == PC_WARRIOR) {
2645 CreateMagicArmor(object[i]._ox, object[i]._oy, ITYPE_HARMOR, ICURS_BREAST_PLATE, FALSE, TRUE);
2646#ifndef SPAWN
2647 PlaySfxLoc(PS_WARR9, plr[myplr].WorldX, plr[myplr].WorldY);
2648#endif
2649 } else if (plr[pnum]._pClass == PC_ROGUE) {
2650 CreateMagicWeapon(object[i]._ox, object[i]._oy, ITYPE_BOW, ICURS_LONG_WAR_BOW, FALSE, TRUE);
2651#ifndef SPAWN
2652 PlaySfxLoc(PS_ROGUE9, plr[myplr].WorldX, plr[myplr].WorldY);
2653#endif
2654 } else if (plr[pnum]._pClass == PC_SORCERER) {
2655 CreateSpellBook(object[i]._ox, object[i]._oy, SPL_LIGHTNING, FALSE, TRUE);
2656#ifndef SPAWN
2657 PlaySfxLoc(PS_MAGE9, plr[myplr].WorldX, plr[myplr].WorldY);
2658#endif
2659 }
2660 if (pnum == myplr)
2661 NetSendCmdParam1(FALSE, CMD_OPERATEOBJ, i);
2662 }
2663 }
2664}
2665
2666void OperateTrapLvr(int i)
2667{

Callers 2

OperateObjectFunction · 0.85
SyncOpObjectFunction · 0.85

Calls 5

CreateMagicArmorFunction · 0.85
PlaySfxLocFunction · 0.85
CreateMagicWeaponFunction · 0.85
CreateSpellBookFunction · 0.85
NetSendCmdParam1Function · 0.85

Tested by

no test coverage detected