Browse Source

Clean up control_remove_gold

pull/100/head
Anders Jenbo 7 years ago
parent
commit
d5540a91d7
  1. 49
      Source/control.cpp

49
Source/control.cpp

@ -1,7 +1,7 @@
#include "diablo.h"
char sgbNextTalkSave; // weak
BYTE sgbTalkSavePos; // weak
BYTE sgbTalkSavePos;
void *pDurIcons;
void *pChrButtons;
BOOL drawhpflag; // idb
@ -2621,41 +2621,30 @@ void control_drop_gold(char vkey)
void control_remove_gold(int pnum, int gold_index)
{
int v2; // edi
int v3; // esi
int v4; // edx
_DWORD *v5; // eax
int v6; // edx
_DWORD *v7; // eax
int v8; // eax
int gi;
v2 = pnum;
v3 = pnum;
if (gold_index > 46) {
v6 = gold_index - 47;
v7 = (unsigned int *)((char *)&plr[v3].SpdList[v6]._ivalue);
*v7 -= dropGoldValue;
if (*v7 <= 0)
RemoveSpdBarItem(pnum, v6);
gi = gold_index - 47;
plr[pnum].SpdList[gi]._ivalue -= dropGoldValue;
if (plr[pnum].SpdList[gi]._ivalue > 0)
SetSpdbarGoldCurs(pnum, gi);
else
SetSpdbarGoldCurs(pnum, v6);
RemoveSpdBarItem(pnum, gi);
} else {
v4 = gold_index - 7;
v5 = (unsigned int *)((char *)&plr[v3].InvList[v4]._ivalue);
*v5 -= dropGoldValue;
if (*v5 <= 0)
RemoveInvItem(pnum, v4);
gi = gold_index - 7;
plr[pnum].InvList[gi]._ivalue -= dropGoldValue;
if (plr[pnum].InvList[gi]._ivalue > 0)
SetGoldCurs(pnum, gi);
else
SetGoldCurs(pnum, v4);
}
SetPlrHandItem(&plr[v3].HoldItem, IDI_GOLD);
GetGoldSeed(v2, &plr[v3].HoldItem);
plr[v3].HoldItem._ivalue = dropGoldValue;
plr[v3].HoldItem._iStatFlag = 1;
control_set_gold_curs(v2);
v8 = CalculateGold(v2);
RemoveInvItem(pnum, gi);
}
SetPlrHandItem(&plr[pnum].HoldItem, IDI_GOLD);
GetGoldSeed(pnum, &plr[pnum].HoldItem);
plr[pnum].HoldItem._ivalue = dropGoldValue;
plr[pnum].HoldItem._iStatFlag = 1;
control_set_gold_curs(pnum);
plr[pnum]._pGold = CalculateGold(pnum);
dropGoldValue = 0;
plr[v3]._pGold = v8;
}
void control_set_gold_curs(int pnum)

Loading…
Cancel
Save