You must be registered to see links
KEYWORD to SEARCH ITEM_ANTI_REVERT, EMANTIREVERT
Desc : Prevent Item From reverting to 0 & termination.
Idea not mine..
code added by review000
Credit to the person who owned this idea thanks
No Hate
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
You must be registered to see links
KEYWORD to SEARCH ITEM_ANTI_REVERT, EMANTIREVERT
Desc : Prevent Item From reverting to 0 & termination.
Idea not mine..
code added by review000
Credit to the person who owned this idea thanks
No Hate
BOOL DOGRINDING(SITEMCUSTOM &sCusItem,
const SITEM *pHold,
bool &bRESET,
bool &bTERMINATE,
bool &bNOFAIL, //add nofailups
bool &bNOREVERT, //add norevert
EMANTIDISAPPEAR &emANTIDISAPPEAR );
BOOL GLCHARLOGIC:OGRINDING(SITEMCUSTOM &sCusItem,
const SITEM *pHold,
bool &_bRESET,
bool &_bTERMINATE,
bool &_bNOFAIL, //add nofailups
bool &_bNOREVERT, //add norevert
EMANTIDISAPPEAR &emANTIDISAPPEAR )
{
bool bSUCCEED(false);
_bRESET = false;
_bTERMINATE = false;
const EMGRINDING_TYPE emGRINDING = pHold->sGrindingOp.emTYPE;
BYTE cGRADE = sCusItem.GETGRADE(emGRINDING);
if (emGRINDING == EMGRINDING_DAMAGE || emGRINDING == EMGRINDING_DEFENSE)
{
if (cGRADE >= GLCONST_CHAR::wGRADE_MAX) return FALSE;
}
else
{
if (cGRADE >= GLCONST_CHAR::wGRADE_MAX_REGI) return FALSE;
}
if ( cGRADE >= GRADE_NORMAL && !_bNOFAIL ) //add nofailups
{
float fRATE = GLCONST_CHAR::fGRADE_RATE[cGRADE];
BOOL bOK = RANDOM_GEN(fRATE);
if (!bOK)
{
//add norevert
if (!_bNOREVERT)
{
float fRESET = GLCONST_CHAR::fGRADE_RESET_RATE[cGRADE];
bOK = RANDOM_GEN(fRESET);
if (bOK)
{
_bRESET = true;
sCusItem.ResetGrind(emGRINDING);
bool bTER = GLCONST_CHAR::bENCHANT_TERMINATE_ITEM && (emGRINDING == EMGRINDING_DAMAGE || emGRINDING == EMGRINDING_DEFENSE);
if (bTER)
{
float fTERMINATE = GLCONST_CHAR::fGRADE_TERMINATE_RATE[cGRADE];
bOK = RANDOM_GEN(fTERMINATE);
if (bOK)
{
if (emANTIDISAPPEAR == EMANTIDISAPPEAR_ON)
{
emANTIDISAPPEAR = EMANTIDISAPPEAR_USE;
}
else
{
_bTERMINATE = true;
}
}
}
}
}
return FALSE;
}
}
switch (pHold->sGrindingOp.emTYPE)
{
case EMGRINDING_DAMAGE: sCusItem.cDAMAGE++; break;
case EMGRINDING_DEFENSE: sCusItem.cDEFENSE++; break;
case EMGRINDING_RESIST_FIRE: sCusItem.cRESIST_FIRE++; break;
case EMGRINDING_RESIST_ICE: sCusItem.cRESIST_ICE++; break;
case EMGRINDING_RESIST_ELEC: sCusItem.cRESIST_ELEC++; break;
case EMGRINDING_RESIST_POISON: sCusItem.cRESIST_POISON++; break;
case EMGRINDING_RESIST_SPIRIT: sCusItem.cRESIST_SPIRIT++; break;
};
return TRUE;
}
HRESULT GLChar::MsgReqInvenGrinding ( NET_MSG_GENERIC* nmg )
bool bNoRevert = pHold->sBasicOp.IsNoRevert(); //add norevert
BOOL bSucceeded = DOGRINDING ( pInvenItem->sItemCustom, pHold, bRESET, bTERMINATE, bNoFail, bNoRevert, emANTIDISAPPEAR ); //add norevert
bool IsCoolTime() { return ( dwCoolTime != 0 ); }
bool IsNoRevert() { return(dwFlags&ITEM_NO_REVERT) != NULL; } //add norevert
ITEM_NO_REVERT = 0x8000, //add norevert
SetWin_Check(this, IDC_CHECK_NOREVERT, m_pDummyItem->sBasicOp.dwFlags&ITEM_NO_REVERT); //add norevert
SetCheck_Flags(GetWin_Check(this, IDC_CHECK_NOREVERT), m_pDummyItem->sBasicOp.dwFlags, ITEM_NO_REVERT);//add norevert