Herhangi bir mob'a öldüğünüzde üzerinizdeki şaman bufflarının gitmemesine yarıyan düzenlemedir.
Game Source;
Common;
service.h:
Game;
char.h:
Kod
//Arat;
void ClearAffect(bool bSave=false);
//Değiştir;
#ifdef NOT_BUFF_CLEAR
void ClearAffect(bool bSave = false, bool bSomeAffect = false);
#else
void ClearAffect(bool bSave = false);
#endif
Daha Çok Göster
char_affect.cpp:
Kod
//Arat;
void CHARACTER::ClearAffect(bool bSave)
//Değiştir;
#ifdef NOT_BUFF_CLEAR
void CHARACTER::ClearAffect(bool bSave, bool bSomeAffect)
#else
void CHARACTER::ClearAffect(bool bSave)
#endif
//Arat;
if (bSave)
{
if ( IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
{
++it;
continue;
}
//Altına ekle;
#ifdef NOT_BUFF_CLEAR
if (bSomeAffect)
{
switch (pkAff->dwType)
{
case (SKILL_HOSIN): //Kutsama
case (SKILL_REFLECT): //Yansıtma
case (SKILL_GICHEON): //Ejderha Yardımı
case (SKILL_KWAESOK): //Hız
case (SKILL_JEUNGRYEOK): //Atak +
{
++it;
continue;
}
}
}
#endif
Daha Çok Göster
char_battle.cpp:
Kod
//Arat;
bool isAgreedPVP = false;
bool isUnderGuildWar = false;
//Altına ekle;
#ifdef NOT_BUFF_CLEAR
bool isSafeBuff = false;
#endif
//Arat;
if (pkKiller && pkKiller->IsPC())
{
if (pkKiller->m_pkChrTarget == this)
pkKiller->SetTarget(NULL);
//Değiştir;
if (pkKiller && pkKiller->IsPC())
{
#ifdef NOT_BUFF_CLEAR
isSafeBuff = true;
#endif
if (pkKiller->m_pkChrTarget == this)
pkKiller->SetTarget(NULL);
//Arat;
ClearAffect(true);
//Değiştir;
#ifdef NOT_BUFF_CLEAR
ClearAffect(true, (isSafeBuff) ? false : true);
#else
ClearAffect(true);
#endif
Daha Çok Göster