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

Function WeaponAutoPlace

Source/inv.cpp:616–640  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

614}
615
616BOOL WeaponAutoPlace(int pnum)
617{
618 if (plr[pnum].HoldItem._iLoc != ILOC_TWOHAND) {
619 if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype != ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_LEFT]._iClass == ICLASS_WEAPON)
620 return FALSE;
621 if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype != ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_RIGHT]._iClass == ICLASS_WEAPON)
622 return FALSE;
623 if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE) {
624 NetSendCmdChItem(TRUE, INVLOC_HAND_LEFT);
625 plr[pnum].InvBody[INVLOC_HAND_LEFT] = plr[pnum].HoldItem;
626 return TRUE;
627 }
628 if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_LEFT]._iLoc != ILOC_TWOHAND) {
629 NetSendCmdChItem(TRUE, INVLOC_HAND_RIGHT);
630 plr[pnum].InvBody[INVLOC_HAND_RIGHT] = plr[pnum].HoldItem;
631 return TRUE;
632 }
633 } else if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_NONE && plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_NONE) {
634 NetSendCmdChItem(TRUE, INVLOC_HAND_LEFT);
635 plr[pnum].InvBody[INVLOC_HAND_LEFT] = plr[pnum].HoldItem;
636 return TRUE;
637 }
638
639 return FALSE;
640}
641
642int SwapItem(ItemStruct *a, ItemStruct *b)
643{

Callers 1

AutoGetItemFunction · 0.85

Calls 1

NetSendCmdChItemFunction · 0.85

Tested by

no test coverage detected