diff --git a/Source/items.cpp b/Source/items.cpp index fd19f153b..1f4d2b750 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -1164,41 +1164,39 @@ void __fastcall CalcSelfItems(int pnum) void __fastcall CalcPlrItemMin(int pnum) { - PlayerStruct *v1; // ecx - PlayerStruct *v2; // esi - ItemStruct *v3; // edi - int v4; // ebp - ItemStruct *v6; // edi - signed int v7; // ebp + PlayerStruct *p; + ItemStruct *pi; + int i; - v1 = &plr[pnum]; - v2 = v1; - v3 = v1->InvList; - if (v1->_pNumInv) { - v4 = v1->_pNumInv; - do { - v3->_iStatFlag = ItemMinStats(v2, v3); - ++v3; - --v4; - } while (v4); + p = &plr[pnum]; + pi = p->InvList; + + for (i = p->_pNumInv; i; i--) { + pi->_iStatFlag = ItemMinStats(p, pi); + pi++; } - v6 = v2->SpdList; - v7 = MAXBELTITEMS; - do { - if (v6->_itype != -1) { - v6->_iStatFlag = ItemMinStats(v2, v6); + + pi = p->SpdList; + for (i = MAXBELTITEMS; i != 0; i--) { + if (pi->_itype != -1) { + pi->_iStatFlag = ItemMinStats(p, pi); } - ++v6; - --v7; - } while (v7); + pi++; + } } -BOOLEAN __fastcall ItemMinStats(PlayerStruct *p, ItemStruct *x) +BOOL __fastcall ItemMinStats(PlayerStruct *p, ItemStruct *x) { - if (p->_pStrength < x->_iMinStr || p->_pMagic < x->_iMinMag || p->_pDexterity < x->_iMinDex) - return 0; - else - return 1; + if (p->_pMagic < x->_iMinMag) + return FALSE; + + if (p->_pStrength < x->_iMinStr) + return FALSE; + + if (p->_pDexterity < x->_iMinDex) + return FALSE; + + return TRUE; } void __fastcall CalcPlrBookVals(int p) diff --git a/Source/items.h b/Source/items.h index e8c86fbab..e19e92f94 100644 --- a/Source/items.h +++ b/Source/items.h @@ -23,7 +23,7 @@ void __fastcall CalcPlrScrolls(int p); void __fastcall CalcPlrStaff(int pnum); void __fastcall CalcSelfItems(int pnum); void __fastcall CalcPlrItemMin(int pnum); -BOOLEAN __fastcall ItemMinStats(PlayerStruct *p, ItemStruct *x); +BOOL __fastcall ItemMinStats(PlayerStruct *p, ItemStruct *x); void __fastcall CalcPlrBookVals(int p); void __fastcall CalcPlrInv(int p, BOOL Loadgfx); void __fastcall SetPlrHandItem(ItemStruct *h, int idata);