Browse Source

Remove items dropping before entering level (#1010)

pull/1116/head
Andi 5 years ago committed by GitHub
parent
commit
7368778cb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      Source/diablo.cpp
  2. 6
      Source/inv.cpp
  3. 4
      Source/msg.cpp
  4. 2
      Source/towners.cpp
  5. 4
      Source/trigs.cpp

4
Source/diablo.cpp

@ -1699,7 +1699,9 @@ void LoadGameLevel(BOOL firstflag, int lvldir)
glSeedTbl[currlevel] = setseed;
music_stop();
NewCursor(CURSOR_HAND);
if (pcurs > CURSOR_HAND && pcurs < CURSOR_FIRSTITEM) {
NewCursor(CURSOR_HAND);
}
SetRndSeed(glSeedTbl[currlevel]);
IncProgress();
MakeLightTable();

6
Source/inv.cpp

@ -1929,10 +1929,8 @@ void AutoGetItem(int pnum, int ii)
dropGoldValue = 0;
}
if (ii != MAXITEMS) {
if (dItem[item[ii]._ix][item[ii]._iy] == 0)
return;
}
if (dItem[item[ii]._ix][item[ii]._iy] == 0)
return;
item[ii]._iCreateInfo &= ~CF_PREGEN;
plr[pnum].HoldItem = item[ii]; /// BUGFIX: overwrites cursor item, allowing for belt dupe bug

4
Source/msg.cpp

@ -1934,10 +1934,6 @@ static DWORD On_WARP(TCmd *pCmd, int pnum)
msg_send_packet(pnum, p, sizeof(*p));
else {
StartWarpLvl(pnum, p->wParam1);
if (pnum == myplr && pcurs >= CURSOR_FIRSTITEM) {
item[MAXITEMS] = plr[myplr].HoldItem;
AutoGetItem(myplr, MAXITEMS);
}
}
return sizeof(*p);

2
Source/towners.cpp

@ -750,7 +750,7 @@ void TalkToTowner(int p, int t)
towner[t]._tMsgSaid = FALSE;
if (pcurs >= CURSOR_FIRSTITEM && !DropItemBeforeTrig()) {
if (pcurs >= CURSOR_FIRSTITEM) {
return;
}

4
Source/trigs.cpp

@ -849,14 +849,10 @@ void CheckTriggers()
PlaySFX(PS_WARR18);
InitDiabloMsg(EMSG_NOT_IN_SHAREWARE);
} else {
if (pcurs >= CURSOR_FIRSTITEM && DropItemBeforeTrig())
return;
StartNewLvl(myplr, trigs[i]._tmsg, currlevel + 1);
}
break;
case WM_DIABPREVLVL:
if (pcurs >= CURSOR_FIRSTITEM && DropItemBeforeTrig())
return;
StartNewLvl(myplr, trigs[i]._tmsg, currlevel - 1);
break;
case WM_DIABRTNLVL:

Loading…
Cancel
Save