Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
#ifdef NEW_ICEDAMAGE_SYSTEM
if (!battle_is_icedamage(ch, victim))
return false;
#endif
I've seen that you implemented a new system called new_ice_damage_system but check the conditions probably this function is returning false somewhere in the second if statement.
pAttacker && pAttacker-IsPC()) these conditions are true so we continue race=? warrior race probably 1 or 2 depending on the gender not sure what you did in the rest since there were no comments but If you want to apply this ice damage only to MOBS(npcs) change your statement in battle_is_attackable to if(victim->IsNPC()) //do stuff
C++:
#ifdef NEW_ICEDAMAGE_SYSTEM
bool battle_is_icedamage(LPCHARACTER pAttacker, LPCHARACTER pVictim)
{
if (pAttacker && pAttacker->IsPC())
{
DWORD race = pAttacker->GetRaceNum();
const DWORD tmp_dwNDRFlag = pVictim->GetNoDamageRaceFlag();
if (tmp_dwNDRFlag &&
(race < MAIN_RACE_MAX_NUM) &&
(IS_SET(tmp_dwNDRFlag, 1<<race))
)
{
return false;
}
const std::set<DWORD> & tmp_setNDAFlag = pVictim->GetNoDamageAffectFlag();
if (tmp_setNDAFlag.size())
{
for (std::set<DWORD>::iterator it = tmp_setNDAFlag.begin(); it != tmp_setNDAFlag.end(); ++it)
{
if (!pAttacker->IsAffectFlag(*it))
{
return false;
}
}
}
}
return true;
}
#endif
This system was here I don´t know what doing this system
So how your advice?
Change this: bool battle_is_icedamage(LPCHARACTER pAttacker, LPCHARACTER pVictim)
at this : bool battle_is_icedamage if(victim->IsNPC())