Browse Source

[hellfire] StripTopGold bin exact

pull/876/head
qndel 6 years ago
parent
commit
308bbc7acb
  1. 31
      Source/player.cpp
  2. 3
      Source/player.h

31
Source/player.cpp

@ -2105,6 +2105,37 @@ void DropHalfPlayersGold(int pnum)
plr[pnum]._pGold = CalculateGold(pnum);
}
#ifdef HELLFIRE
void StripTopGold(int pnum)
{
ItemStruct tmpItem;
int i, val;
if ((DWORD)pnum >= MAX_PLRS) {
app_fatal("StripTopGold: illegal player %d", pnum);
}
tmpItem = plr[pnum].HoldItem;
for (i = 0; i < plr[pnum]._pNumInv; i++) {
if (plr[pnum].InvList[i]._itype == ITYPE_GOLD) {
if (plr[pnum].InvList[i]._ivalue > MaxGold) {
val = plr[pnum].InvList[i]._ivalue - MaxGold;
plr[pnum].InvList[i]._ivalue = MaxGold;
SetGoldCurs(pnum, i);
SetPlrHandItem(&plr[pnum].HoldItem, 0);
GetGoldSeed(pnum, &plr[pnum].HoldItem);
SetPlrHandGoldCurs(&plr[pnum].HoldItem);
plr[pnum].HoldItem._ivalue = val;
if (!GoldAutoPlace(pnum))
PlrDeadItem(pnum, &plr[pnum].HoldItem, 0, 0);
}
}
}
plr[pnum]._pGold = CalculateGold(pnum);
plr[pnum].HoldItem = tmpItem;
}
#endif
void SyncPlrKill(int pnum, int earflag)
{
int ma, i;

3
Source/player.h

@ -64,6 +64,9 @@ void RespawnDeadItem(ItemStruct *itm, int x, int y);
void StartPlayerKill(int pnum, int earflag);
void PlrDeadItem(int pnum, ItemStruct *itm, int xx, int yy);
void DropHalfPlayersGold(int pnum);
#ifdef HELLFIRE
void StripTopGold(int pnum);
#endif
void SyncPlrKill(int pnum, int earflag);
void j_StartPlayerKill(int pnum, int earflag);
void RemovePlrMissiles(int pnum);

Loading…
Cancel
Save