Mercurial > mm7
diff Player.cpp @ 179:f102bbff6fd8
15.02.13 Water
author | Ritor1 |
---|---|
date | Fri, 15 Feb 2013 17:14:24 +0600 |
parents | 9abdd40a107b |
children | 49728858c35e 038a4d09406f |
line wrap: on
line diff
--- a/Player.cpp Fri Feb 15 10:41:54 2013 +0600 +++ b/Player.cpp Fri Feb 15 17:14:24 2013 +0600 @@ -1983,9 +1983,9 @@ char *v7; // esi@7 signed int uSkillMultiplier; // [sp-4h] [bp-14h]@2 - LOBYTE(v2) = pPlayers[uActiveCharacter]->GetActualSkillLevel(PLAYER_SKILL_ITEM_ID); + v2 = pPlayers[uActiveCharacter]->GetActualSkillLevel(PLAYER_SKILL_ITEM_ID); v3 = v2; - if ( HIBYTE(v2) & 1 ) + if ( v2 & 1 ) { uSkillMultiplier = 5; } @@ -1994,21 +1994,34 @@ if ( (v2 & 0x80u) == 0 ) { uSkillMult = ((v2 & 0x40) != 0) + 1; - goto LABEL_7; + v5 = uSkillMult * (v3 & 0x3F); + v6 = 0; + v7 = (char *)&pItemsTable->pItems[pItem->uItemID].pIconName; + if ( CheckHiredNPCSpeciality(4) ) + { + v6 = 1; + return v6; + } + if ( (signed int)SkillToMastery(v3) >= 4 ) + v6 = 1; + if ( v5 >= (unsigned __int8)v7[46] ) + v6 = 1; + return v6; } uSkillMultiplier = 3; } uSkillMult = uSkillMultiplier; -LABEL_7: v5 = uSkillMult * (v3 & 0x3F); v6 = 0; v7 = (char *)&pItemsTable->pItems[pItem->uItemID].pIconName; - if ( CheckHiredNPCSpeciality(4u) ) - goto LABEL_15; + if ( CheckHiredNPCSpeciality(4) ) + { + v6 = 1; + return v6; + } if ( (signed int)SkillToMastery(v3) >= 4 ) v6 = 1; if ( v5 >= (unsigned __int8)v7[46] ) -LABEL_15: v6 = 1; return v6; }