- Katılım
- 7 Nis 2025
- Konular
- 75
- Mesajlar
- 485
- Çözümler
- 1
- Tepkime puanı
- 114
- Puan
- 93
- Konum
- İstanbul
- Web sitesi
- forumagel.com
Kod:
Service.h
ekle
#define ENABLE_BUFF_DEAD_MONSTER_NOT_CLEAR
char.h
arat:
void ClearAffect(bool bSave=false);
altına ekle
#ifdef ENABLE_BUFF_DEAD_MONSTER_NOT_CLEAR
void ClearAffect_New2(bool bSave=false);
#endif
char_affect.cpp
arat
int CHARACTER::ProcessAffect()
üstüne ekle
#ifdef ENABLE_BUFF_DEAD_MONSTER_NOT_CLEAR
void CHARACTER::ClearAffect_New2(bool bSave)
{
TAffectFlag afOld = m_afAffectFlag;
WORD wMovSpd = GetPoint(POINT_MOV_SPEED);
WORD wAttSpd = GetPoint(POINT_ATT_SPEED);
itertype(m_list_pkAffect) it = m_list_pkAffect.begin();
while (it != m_list_pkAffect.end())
{
CAffect * pkAff = *it;
if (bSave)
{
if ((pkAff->dwType == 610) || (pkAff->dwType == 611) || (pkAff->dwType == 612) ||
(pkAff->dwType == 96) || (pkAff->dwType == 95) || (pkAff->dwType == 94) ||
(pkAff->dwType == 111) || (pkAff->dwType == 110) || (pkAff->dwType == 233) ||
(pkAff->dwType == 613) || (pkAff->dwType == 614)
)
{
++it;
continue;
}
//
// int pkAff_blend[] = {AFFECT_POTION_1, AFFECT_POTION_2, AFFECT_POTION_3, AFFECT_POTION_4, AFFECT_POTION_5, AFFECT_POTION_6, AFFECT_POTION_7, AFFECT_POTION_8, AFFECT_POTION_9, AFFECT_POTION_10, AFFECT_POTION_11, AFFECT_POTION_12, AFFECT_POTION_13};
// if ((pkAff->dwType == pkAff_blend[0]) || (pkAff->dwType == pkAff_blend[1]) || (pkAff->dwType == pkAff_blend[2]) ||
// (pkAff->dwType == pkAff_blend[3]) || (pkAff->dwType == pkAff_blend[4]) || (pkAff->dwType == pkAff_blend[5]))
// {
// ++it;
// continue;
// }
//
int new_aff[] = {AFFECT_18385, AFFECT_18386, AFFECT_18387, AFFECT_18388, AFFECT_18389, AFFECT_18390, AFFECT_ATT_SPEED, AFFECT_MOV_SPEED};
if ((pkAff->dwType == new_aff[0]) || (pkAff->dwType == new_aff[1]) || (pkAff->dwType == new_aff[2]) ||
(pkAff->dwType == new_aff[3]) || (pkAff->dwType == new_aff[4]) || (pkAff->dwType == new_aff[5]) ||
(pkAff->dwType == new_aff[6]) ||
(pkAff->dwType == new_aff[7]))
{
++it;
continue;
}
if (IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
{
++it;
continue;
}
if (IsPC())
{
SendAffectRemovePacket(GetDesc(), GetPlayerID(), pkAff->dwType, pkAff->bApplyOn);
}
}
ComputeAffect(pkAff, false);
it = m_list_pkAffect.erase(it);
CAffect::Release(pkAff);
}
if (afOld != m_afAffectFlag ||
wMovSpd != GetPoint(POINT_MOV_SPEED) ||
wAttSpd != GetPoint(POINT_ATT_SPEED))
UpdatePacket();
CheckMaximumPoints();
if (m_list_pkAffect.empty())
event_cancel(&m_pkAffectEvent);
}
#endif
char_battle.cpp
arat
ClearAffect(true);
değiştir
#ifdef ENABLE_BUFF_DEAD_MONSTER_NOT_CLEAR
if (!pkKiller && IsPC())
ClearAffect_New2(true);
else
ClearAffect(true);
#endif