Browse Source

hellfire: InvGetItem bin exact.

pull/876/head
Sergey Semushin 7 years ago committed by Anders Jenbo
parent
commit
e462b68ab8
  1. 30
      Source/inv.cpp

30
Source/inv.cpp

@ -1876,6 +1876,9 @@ void CheckQuestItem(int pnum)
void InvGetItem(int pnum, int ii)
{
int i;
#ifdef HELLFIRE
BOOL cursor_updated;
#endif
if (dropGoldFlag) {
dropGoldFlag = FALSE;
@ -1885,12 +1888,32 @@ void InvGetItem(int pnum, int ii)
if (dItem[item[ii]._ix][item[ii]._iy]) {
if (myplr == pnum && pcurs >= CURSOR_FIRSTITEM)
NetSendCmdPItem(TRUE, CMD_SYNCPUTITEM, plr[myplr].WorldX, plr[myplr].WorldY);
item[ii]._iCreateInfo &= ~0x8000;
#ifdef HELLFIRE
if (item[ii]._iUid != 0)
#endif
item[ii]._iCreateInfo &= ~0x8000;
plr[pnum].HoldItem = item[ii];
CheckQuestItem(pnum);
CheckBookLevel(pnum);
CheckItemStats(pnum);
#ifdef HELLFIRE
cursor_updated = FALSE;
if (plr[pnum].HoldItem._itype == ITYPE_GOLD && GoldAutoPlace(pnum))
cursor_updated = TRUE;
#endif
dItem[item[ii]._ix][item[ii]._iy] = 0;
#ifdef HELLFIRE
if (currlevel == 21 && item[ii]._ix == RowOfCornerStone && item[ii]._iy == ColOfCornerStone) {
CornerItemMaybe.IDidx = -1;
CornerItemMaybe._itype = ITYPE_MISC;
CornerItemMaybe._iSelFlag = FALSE;
CornerItemMaybe._ix = 0;
CornerItemMaybe._iy = 0;
CornerItemMaybe._iAnimFlag = FALSE;
CornerItemMaybe._iIdentified = FALSE;
CornerItemMaybe._iPostDraw = FALSE;
}
#endif
i = 0;
while (i < numitems) {
if (itemactive[i] == ii) {
@ -1901,7 +1924,10 @@ void InvGetItem(int pnum, int ii)
}
}
pcursitem = -1;
SetCursor_(plr[pnum].HoldItem._iCurs + CURSOR_FIRSTITEM);
#ifdef HELLFIRE
if (!cursor_updated)
#endif
SetCursor_(plr[pnum].HoldItem._iCurs + CURSOR_FIRSTITEM);
}
}

Loading…
Cancel
Save