Code:
if(pPlayer->ProtectTutorial() || CalcProb(pPlayer, pNpc, PROB_ITEMGUARD, 0))
{
BYTE bLevelGuard = 11;
BYTE bDownProb = 0;
BYTE bDownGrade = 0;
if(pItem->m_bLevel <= bLevelGuard)
bDownProb = 0;
else
bDownProb = rand() % 100;
Code:
if(pPlayer->ProtectTutorial() || CalcProb(pPlayer, pNpc, PROB_ITEMGUARD, 0))
{
BYTE bLevelGuard = 11;
BYTE bLevelGuard2 = 15;
BYTE bLevelGuard3 = 16;
BYTE bDownProb = 0;
BYTE bDownGrade = 0;
if (pItem->m_bLevel <= bLevelGuard || pItem->m_bLevel >= bLevelGuard2 && pItem->m_bLevel <= bLevelGuard3)
bDownProb = 0;
else
bDownProb = rand() % 100;
Now i comment all this lines
Code:
if(pPlayer->ProtectTutorial() || CalcProb(pPlayer, pNpc, PROB_ITEMGUARD, 0))
{
BYTE bLevelGuard = 11; // Limit for don't get downgrade
BYTE bLevelGuard2 = 15; // Limit for don't get downgrade
BYTE bLevelGuard3 = 16; // Limit for don't get downgrade
BYTE bDownProb = 0;
BYTE bDownGrade = 0;
//if level upgrade is <= 11 or 15 and 16 set downprob to 0 else get random value % 100
if (pItem->m_bLevel <= bLevelGuard || pItem->m_bLevel >= bLevelGuard2 && pItem->m_bLevel <= bLevelGuard3)
bDownProb = 0;
else
bDownProb = rand() % 100;
if(bDownProb < 20)//if 20 dont get downgrade
bDownGrade = 0;
else if(bDownProb < 55)//if < 55 get -1 downgrade
bDownGrade = 1;
else
bDownGrade = 2;//if < 55 get -1 downgrade
if you would like don't lose the item when you haven't the tinture, change this
Code:
else{
delete pItem;
pInven->m_mapTITEM.erase(bTargetItemID);
pPlayer->SendCS_DELITEM_ACK(bTargetInven, bTargetItemID);
pPlayer->SendCS_ITEMUPGRADE_ACK(ITEMUPGRADE_FAIL, 0, 0, 0);
}
Code:
else{ pPlayer->SendCS_ITEMUPGRADE_ACK(ITEMUPGRADE_FAIL, 0, 0, 0);
}






