From 6a4142fb08490a1ea895ea228917d9d0e32fcfb7 Mon Sep 17 00:00:00 2001 From: Duarte Alvim Date: Mon, 10 Jun 2019 22:39:07 +0200 Subject: [PATCH] Add gold constants --- Source/control.cpp | 4 ++-- Source/debug.cpp | 4 ++-- Source/inv.cpp | 52 +++++++++++++++++++++++----------------------- Source/items.cpp | 18 ++++++++-------- Source/player.cpp | 8 +++---- Source/stores.cpp | 40 +++++++++++++++++------------------ defs.h | 4 ++++ 7 files changed, 67 insertions(+), 63 deletions(-) diff --git a/Source/control.cpp b/Source/control.cpp index ecfa8721c..a6ca23ceb 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -2397,9 +2397,9 @@ void control_remove_gold(int pnum, int gold_index) void control_set_gold_curs(int pnum) { - if (plr[pnum].HoldItem._ivalue >= 2500) + if (plr[pnum].HoldItem._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].HoldItem._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].HoldItem._ivalue <= 1000) + else if (plr[pnum].HoldItem._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].HoldItem._iCurs = ICURS_GOLD_SMALL; else plr[pnum].HoldItem._iCurs = ICURS_GOLD_MEDIUM; diff --git a/Source/debug.cpp b/Source/debug.cpp index 1c80e43a7..0b1e75e5d 100644 --- a/Source/debug.cpp +++ b/Source/debug.cpp @@ -102,9 +102,9 @@ void GiveGoldCheat() ni = plr[myplr]._pNumInv++; SetPlrHandItem(&plr[myplr].InvList[ni], IDI_GOLD); GetPlrHandSeed(&plr[myplr].InvList[ni]); - plr[myplr].InvList[ni]._ivalue = 5000; + plr[myplr].InvList[ni]._ivalue = GOLD_MAX_LIMIT; plr[myplr].InvList[ni]._iCurs = 6; - plr[myplr]._pGold += 5000; + plr[myplr]._pGold += GOLD_MAX_LIMIT; plr[myplr].InvGrid[i] = plr[myplr]._pNumInv; } } diff --git a/Source/inv.cpp b/Source/inv.cpp index 4a9fb73b6..8cd52e66f 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -589,11 +589,11 @@ BOOL GoldAutoPlace(int pnum) done = FALSE; for (i = 0; i < plr[pnum]._pNumInv && !done; i++) { if (plr[pnum].InvList[i]._itype == ITYPE_GOLD) { - if (plr[pnum].HoldItem._ivalue + plr[pnum].InvList[i]._ivalue <= 5000) { + if (plr[pnum].HoldItem._ivalue + plr[pnum].InvList[i]._ivalue <= GOLD_MAX_LIMIT) { plr[pnum].InvList[i]._ivalue = plr[pnum].HoldItem._ivalue + plr[pnum].InvList[i]._ivalue; - if (plr[pnum].InvList[i]._ivalue >= 2500) + if (plr[pnum].InvList[i]._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].InvList[i]._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].InvList[i]._ivalue <= 1000) + else if (plr[pnum].InvList[i]._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].InvList[i]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].InvList[i]._iCurs = ICURS_GOLD_MEDIUM; @@ -606,12 +606,12 @@ BOOL GoldAutoPlace(int pnum) return done; for (i = 0; i < plr[pnum]._pNumInv && !done; i++) { - if (plr[pnum].InvList[i]._itype == ITYPE_GOLD && plr[pnum].InvList[i]._ivalue < 5000) { - if (plr[pnum].HoldItem._ivalue + plr[pnum].InvList[i]._ivalue <= 5000) { + if (plr[pnum].InvList[i]._itype == ITYPE_GOLD && plr[pnum].InvList[i]._ivalue < GOLD_MAX_LIMIT) { + if (plr[pnum].HoldItem._ivalue + plr[pnum].InvList[i]._ivalue <= GOLD_MAX_LIMIT) { plr[pnum].InvList[i]._ivalue = plr[pnum].HoldItem._ivalue + plr[pnum].InvList[i]._ivalue; - if (plr[pnum].InvList[i]._ivalue >= 2500) + if (plr[pnum].InvList[i]._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].InvList[i]._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].InvList[i]._ivalue <= 1000) + else if (plr[pnum].InvList[i]._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].InvList[i]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].InvList[i]._iCurs = ICURS_GOLD_MEDIUM; @@ -631,9 +631,9 @@ BOOL GoldAutoPlace(int pnum) plr[pnum].InvList[ii] = plr[pnum].HoldItem; plr[pnum]._pNumInv = plr[pnum]._pNumInv + 1; plr[pnum].InvGrid[xx + yy] = plr[pnum]._pNumInv; - if (plr[pnum].HoldItem._ivalue >= 2500) + if (plr[pnum].HoldItem._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].InvList[ii]._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].HoldItem._ivalue <= 1000) + else if (plr[pnum].HoldItem._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].InvList[ii]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].InvList[ii]._iCurs = ICURS_GOLD_MEDIUM; @@ -955,25 +955,25 @@ void CheckInvPaste(int pnum, int mx, int my) il--; gt = plr[pnum].InvList[il]._ivalue; ig = plr[pnum].HoldItem._ivalue + gt; - if (ig <= 5000) { + if (ig <= GOLD_MAX_LIMIT) { plr[pnum].InvList[il]._ivalue = ig; plr[pnum]._pGold += plr[pnum].HoldItem._ivalue; - if (ig >= 2500) + if (ig >= GOLD_MEDIUM_LIMIT) plr[pnum].InvList[il]._iCurs = ICURS_GOLD_LARGE; - else if (ig <= 1000) + else if (ig <= GOLD_SMALL_LIMIT) plr[pnum].InvList[il]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].InvList[il]._iCurs = ICURS_GOLD_MEDIUM; } else { - ig = 5000 - gt; + ig = GOLD_MAX_LIMIT - gt; plr[pnum]._pGold += ig; plr[pnum].HoldItem._ivalue -= ig; - plr[pnum].InvList[il]._ivalue = 5000; + plr[pnum].InvList[il]._ivalue = GOLD_MAX_LIMIT; plr[pnum].InvList[il]._iCurs = ICURS_GOLD_LARGE; // BUGFIX: incorrect values here are leftover from beta - if (plr[pnum].HoldItem._ivalue >= 2500) + if (plr[pnum].HoldItem._ivalue >= GOLD_MEDIUM_LIMIT) cn = 18; - else if (plr[pnum].HoldItem._ivalue <= 1000) + else if (plr[pnum].HoldItem._ivalue <= GOLD_SMALL_LIMIT) cn = 16; else cn = 17; @@ -984,10 +984,10 @@ void CheckInvPaste(int pnum, int mx, int my) plr[pnum]._pNumInv++; plr[pnum].InvGrid[yy + xx] = plr[pnum]._pNumInv; plr[pnum]._pGold += plr[pnum].HoldItem._ivalue; - if (plr[pnum].HoldItem._ivalue <= 5000) { - if (plr[pnum].HoldItem._ivalue >= 2500) + if (plr[pnum].HoldItem._ivalue <= GOLD_MAX_LIMIT) { + if (plr[pnum].HoldItem._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].InvList[il]._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].HoldItem._ivalue <= 1000) + else if (plr[pnum].HoldItem._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].InvList[il]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].InvList[il]._iCurs = ICURS_GOLD_MEDIUM; @@ -1037,26 +1037,26 @@ void CheckInvPaste(int pnum, int mx, int my) if (plr[pnum].SpdList[ii]._itype != ITYPE_NONE) { if (plr[pnum].SpdList[ii]._itype == ITYPE_GOLD) { i = plr[pnum].HoldItem._ivalue + plr[pnum].SpdList[ii]._ivalue; - if (i <= 5000) { + if (i <= GOLD_MAX_LIMIT) { plr[pnum].SpdList[ii]._ivalue += plr[pnum].HoldItem._ivalue; plr[pnum]._pGold += plr[pnum].HoldItem._ivalue; - if (i >= 2500) + if (i >= GOLD_MEDIUM_LIMIT) plr[pnum].SpdList[ii]._iCurs = ICURS_GOLD_LARGE; - else if (i <= 1000) + else if (i <= GOLD_SMALL_LIMIT) plr[pnum].SpdList[ii]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].SpdList[ii]._iCurs = ICURS_GOLD_MEDIUM; } else { - i = 5000 - plr[pnum].SpdList[ii]._ivalue; + i = GOLD_MAX_LIMIT - plr[pnum].SpdList[ii]._ivalue; plr[pnum]._pGold += i; plr[pnum].HoldItem._ivalue -= i; - plr[pnum].SpdList[ii]._ivalue = 5000; + plr[pnum].SpdList[ii]._ivalue = GOLD_MAX_LIMIT; plr[pnum].SpdList[ii]._iCurs = ICURS_GOLD_LARGE; // BUGFIX: incorrect values here are leftover from beta - if (plr[pnum].HoldItem._ivalue >= 2500) + if (plr[pnum].HoldItem._ivalue >= GOLD_MEDIUM_LIMIT) cn = 18; - else if (plr[pnum].HoldItem._ivalue <= 1000) + else if (plr[pnum].HoldItem._ivalue <= GOLD_SMALL_LIMIT) cn = 16; else cn = 17; diff --git a/Source/items.cpp b/Source/items.cpp index 4d59d04a2..b2e82f42c 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -840,9 +840,9 @@ void SetPlrHandSeed(ItemStruct *h, int iseed) void SetPlrHandGoldCurs(ItemStruct *h) { - if (h->_ivalue >= 2500) + if (h->_ivalue >= GOLD_MEDIUM_LIMIT) h->_iCurs = ICURS_GOLD_LARGE; - else if (h->_ivalue <= 1000) + else if (h->_ivalue <= GOLD_SMALL_LIMIT) h->_iCurs = ICURS_GOLD_SMALL; else h->_iCurs = ICURS_GOLD_MEDIUM; @@ -932,7 +932,7 @@ void CreatePlrItems(int p) plr[p].InvGrid[30] = plr[p]._pNumInv; #ifdef _DEBUG } else { - plr[p].HoldItem._ivalue = 5000; + plr[p].HoldItem._ivalue = GOLD_MAX_LIMIT; plr[p].HoldItem._iCurs = ICURS_GOLD_LARGE; plr[p]._pGold = plr[p].HoldItem._ivalue * 40; for (i = 0; i < 40; i++) { @@ -1306,15 +1306,15 @@ void GetItemAttrs(int i, int idata, int lvl) if (leveltype == DTYPE_HELL) rndv += rndv >> 3; - if (rndv > 5000) - rndv = 5000; + if (rndv > GOLD_MAX_LIMIT) + rndv = GOLD_MAX_LIMIT; item[i]._ivalue = rndv; - if (rndv >= 2500) + if (rndv >= GOLD_MEDIUM_LIMIT) item[i]._iCurs = ICURS_GOLD_LARGE; else - item[i]._iCurs = (rndv > 1000) + 4; + item[i]._iCurs = (rndv > GOLD_SMALL_LIMIT) + 4; } } @@ -2227,9 +2227,9 @@ void RecreateItem(int ii, int idx, unsigned short ic, int iseed, int ivalue) item[ii]._iSeed = iseed; item[ii]._iCreateInfo = ic; item[ii]._ivalue = ivalue; - if (ivalue >= 2500) + if (ivalue >= GOLD_MEDIUM_LIMIT) item[ii]._iCurs = ICURS_GOLD_LARGE; - else if (ivalue <= 1000) + else if (ivalue <= GOLD_SMALL_LIMIT) item[ii]._iCurs = ICURS_GOLD_SMALL; else item[ii]._iCurs = ICURS_GOLD_MEDIUM; diff --git a/Source/player.cpp b/Source/player.cpp index 87710ebdf..ec40ebb2e 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -1791,7 +1791,7 @@ void DropHalfPlayersGold(int pnum) hGold = plr[pnum]._pGold >> 1; for (i = 0; i < MAXBELTITEMS && hGold > 0; i++) { - if (plr[pnum].SpdList[i]._itype == ITYPE_GOLD && plr[pnum].SpdList[i]._ivalue != 5000) { + if (plr[pnum].SpdList[i]._itype == ITYPE_GOLD && plr[pnum].SpdList[i]._ivalue != GOLD_MAX_LIMIT) { if (hGold < plr[pnum].SpdList[i]._ivalue) { plr[pnum].SpdList[i]._ivalue -= hGold; SetSpdbarGoldCurs(pnum, i); @@ -1841,7 +1841,7 @@ void DropHalfPlayersGold(int pnum) drawpanflag = 255; if (hGold > 0) { for (i = 0; i < plr[pnum]._pNumInv && hGold > 0; i++) { - if (plr[pnum].InvList[i]._itype == ITYPE_GOLD && plr[pnum].InvList[i]._ivalue != 5000) { + if (plr[pnum].InvList[i]._itype == ITYPE_GOLD && plr[pnum].InvList[i]._ivalue != GOLD_MAX_LIMIT) { if (hGold < plr[pnum].InvList[i]._ivalue) { plr[pnum].InvList[i]._ivalue -= hGold; SetGoldCurs(pnum, i); @@ -3306,8 +3306,8 @@ void ValidatePlayer() gt = 0; for (i = 0; i < plr[myplr]._pNumInv; i++) { if (plr[myplr].InvList[i]._itype == ITYPE_GOLD) { - if (plr[myplr].InvList[i]._ivalue > 5000) { - plr[myplr].InvList[i]._ivalue = 5000; + if (plr[myplr].InvList[i]._ivalue > GOLD_MAX_LIMIT) { + plr[myplr].InvList[i]._ivalue = GOLD_MAX_LIMIT; } gt += plr[myplr].InvList[i]._ivalue; } diff --git a/Source/stores.cpp b/Source/stores.cpp index ecb52af67..cfa984b21 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -1782,9 +1782,9 @@ void S_SmithEnter() void SetGoldCurs(int pnum, int i) { - if (plr[pnum].InvList[i]._ivalue >= 2500) + if (plr[pnum].InvList[i]._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].InvList[i]._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].InvList[i]._ivalue <= 1000) + else if (plr[pnum].InvList[i]._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].InvList[i]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].InvList[i]._iCurs = ICURS_GOLD_MEDIUM; @@ -1792,9 +1792,9 @@ void SetGoldCurs(int pnum, int i) void SetSpdbarGoldCurs(int pnum, int i) { - if (plr[pnum].SpdList[i]._ivalue >= 2500) + if (plr[pnum].SpdList[i]._ivalue >= GOLD_MEDIUM_LIMIT) plr[pnum].SpdList[i]._iCurs = ICURS_GOLD_LARGE; - else if (plr[pnum].SpdList[i]._ivalue <= 1000) + else if (plr[pnum].SpdList[i]._ivalue <= GOLD_SMALL_LIMIT) plr[pnum].SpdList[i]._iCurs = ICURS_GOLD_SMALL; else plr[pnum].SpdList[i]._iCurs = ICURS_GOLD_MEDIUM; @@ -1806,7 +1806,7 @@ void TakePlrsMoney(int cost) plr[myplr]._pGold = CalculateGold(myplr) - cost; for (i = 0; i < MAXBELTITEMS && cost > 0; i++) { - if (plr[myplr].SpdList[i]._itype == ITYPE_GOLD && plr[myplr].SpdList[i]._ivalue != 5000) { + if (plr[myplr].SpdList[i]._itype == ITYPE_GOLD && plr[myplr].SpdList[i]._ivalue != GOLD_MAX_LIMIT) { if (cost < plr[myplr].SpdList[i]._ivalue) { plr[myplr].SpdList[i]._ivalue -= cost; SetSpdbarGoldCurs(myplr, i); @@ -1836,7 +1836,7 @@ void TakePlrsMoney(int cost) drawpanflag = 255; if (cost > 0) { for (i = 0; i < plr[myplr]._pNumInv && cost > 0; i++) { - if (plr[myplr].InvList[i]._itype == ITYPE_GOLD && plr[myplr].InvList[i]._ivalue != 5000) { + if (plr[myplr].InvList[i]._itype == ITYPE_GOLD && plr[myplr].InvList[i]._ivalue != GOLD_MAX_LIMIT) { if (cost < plr[myplr].InvList[i]._ivalue) { plr[myplr].InvList[i]._ivalue -= cost; SetGoldCurs(myplr, i); @@ -1984,8 +1984,8 @@ BOOL StoreGoldFit(int idx) int i, sz, cost, numsqrs; cost = storehold[idx]._iIvalue; - sz = cost / 5000; - if (cost % 5000) + sz = cost / GOLD_MAX_LIMIT; + if (cost % GOLD_MAX_LIMIT) sz++; SetCursor_(storehold[idx]._iCurs + CURSOR_FIRSTITEM); @@ -2001,16 +2001,16 @@ BOOL StoreGoldFit(int idx) } for (i = 0; i < plr[myplr]._pNumInv; i++) { - if (plr[myplr].InvList[i]._itype == ITYPE_GOLD && plr[myplr].InvList[i]._ivalue != 5000) { - if (cost + plr[myplr].InvList[i]._ivalue <= 5000) + if (plr[myplr].InvList[i]._itype == ITYPE_GOLD && plr[myplr].InvList[i]._ivalue != GOLD_MAX_LIMIT) { + if (cost + plr[myplr].InvList[i]._ivalue <= GOLD_MAX_LIMIT) cost = 0; else - cost -= 5000 - plr[myplr].InvList[i]._ivalue; + cost -= GOLD_MAX_LIMIT - plr[myplr].InvList[i]._ivalue; } } - sz = cost / 5000; - if (cost % 5000) + sz = cost / GOLD_MAX_LIMIT; + if (cost % GOLD_MAX_LIMIT) sz++; return numsqrs >= sz; @@ -2059,22 +2059,22 @@ void StoreSellItem() } plr[myplr]._pGold += cost; for (i = 0; i < plr[myplr]._pNumInv && cost > 0; i++) { - if (plr[myplr].InvList[i]._itype == ITYPE_GOLD && plr[myplr].InvList[i]._ivalue != 5000) { - if (cost + plr[myplr].InvList[i]._ivalue <= 5000) { + if (plr[myplr].InvList[i]._itype == ITYPE_GOLD && plr[myplr].InvList[i]._ivalue != GOLD_MAX_LIMIT) { + if (cost + plr[myplr].InvList[i]._ivalue <= GOLD_MAX_LIMIT) { plr[myplr].InvList[i]._ivalue += cost; SetGoldCurs(myplr, i); cost = 0; } else { - cost -= 5000 - plr[myplr].InvList[i]._ivalue; - plr[myplr].InvList[i]._ivalue = 5000; + cost -= GOLD_MAX_LIMIT - plr[myplr].InvList[i]._ivalue; + plr[myplr].InvList[i]._ivalue = GOLD_MAX_LIMIT; SetGoldCurs(myplr, i); } } } if (cost > 0) { - while (cost > 5000) { - PlaceStoreGold(5000); - cost -= 5000; + while (cost > GOLD_MAX_LIMIT) { + PlaceStoreGold(GOLD_MAX_LIMIT); + cost -= GOLD_MAX_LIMIT; } PlaceStoreGold(cost); } diff --git a/defs.h b/defs.h index 5644e3932..38cf4be89 100644 --- a/defs.h +++ b/defs.h @@ -51,6 +51,10 @@ // from diablo 2 beta #define MAXEXP 2000000000 +#define GOLD_SMALL_LIMIT 1000 +#define GOLD_MEDIUM_LIMIT 2500 +#define GOLD_MAX_LIMIT 5000 + #define PLR_NAME_LEN 32 #define MAXPATHNODES 300