| 2788 | } |
| 2789 | |
| 2790 | void ShieldDur(int pnum) |
| 2791 | { |
| 2792 | if (pnum != myplr) { |
| 2793 | return; |
| 2794 | } |
| 2795 | |
| 2796 | if ((DWORD)pnum >= MAX_PLRS) { |
| 2797 | app_fatal("ShieldDur: illegal player %d", pnum); |
| 2798 | } |
| 2799 | |
| 2800 | if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_SHIELD) { |
| 2801 | if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._iDurability == DUR_INDESTRUCTIBLE) { |
| 2802 | return; |
| 2803 | } |
| 2804 | |
| 2805 | plr[pnum].InvBody[INVLOC_HAND_LEFT]._iDurability--; |
| 2806 | if (plr[pnum].InvBody[INVLOC_HAND_LEFT]._iDurability == 0) { |
| 2807 | NetSendCmdDelItem(TRUE, INVLOC_HAND_LEFT); |
| 2808 | plr[pnum].InvBody[INVLOC_HAND_LEFT]._itype = ITYPE_NONE; |
| 2809 | CalcPlrInv(pnum, TRUE); |
| 2810 | } |
| 2811 | } |
| 2812 | |
| 2813 | if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_SHIELD) { |
| 2814 | if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._iDurability != DUR_INDESTRUCTIBLE) { |
| 2815 | plr[pnum].InvBody[INVLOC_HAND_RIGHT]._iDurability--; |
| 2816 | if (plr[pnum].InvBody[INVLOC_HAND_RIGHT]._iDurability == 0) { |
| 2817 | NetSendCmdDelItem(TRUE, INVLOC_HAND_RIGHT); |
| 2818 | plr[pnum].InvBody[INVLOC_HAND_RIGHT]._itype = ITYPE_NONE; |
| 2819 | CalcPlrInv(pnum, TRUE); |
| 2820 | } |
| 2821 | } |
| 2822 | } |
| 2823 | } |
| 2824 | |
| 2825 | BOOL PM_DoBlock(int pnum) |
| 2826 | { |
no test coverage detected