Adauga un nou flag pe server pentru mobi "REFLECT" ca pe serverul oficial.

Ce face mai exact acest flag?
- Permite mobului care il are, să reflecte un anumit procent (y%) din daunele primite atunci când HP-ul lui este sub un anumit procent (x%).
- Practic, acest mecanism face ca atunci când un monstru ajunge sub o anumită limită de viață (x%), să reflecte o parte din daunele pe care le primește (y%).
*Poze / Video:
*Link download / Code:
Deschidem char_state.cpp si cautam:
Code:
bool CHARACTER::IsStoneSkinner() const
Acum, cautam in: CHARACTER::__StateIdle_Monster():
Code:
if (IsGodSpeeder())
if (IsGodSpeed())
SetGodSpeed(false);
Adaugam sub:
Cautam in -> CHARACTER::StateBattle():
Code:
if (IsGodSpeeder() == true)
if (GetHPPct() < m_pkMobData->m_table.bGodSpeedPoint)
if (IsGodSpeed() != true)
SetGodSpeed(true);
Adaugam deasupra:
Deschidem char_battle.cpp si cautam in functia ::Damage:
Code:
SendDamagePacket(pAttacker, dam, damageFlag);
Deschidem acum char.h si cautam:
Code:
bool IsBerserker() const;
bool IsBerserk() const;
void SetBerserk(bool mode);
Deschidem char.cpp si cautam:
Code:
bool CHARACTER::IsGodSpeed() const
Deschidem mob_manager.cpp si cautam:
Code:
CMobInstance::CMobInstance()
: m_IsBerserk(false), m_IsGodSpeed(false), m_IsRevive(false),
Acum in mob_manager.h cautam:
Code:
bool m_IsRevive;
In length.h --> enum EAIFlags, adaugam:
In fisierul ProtoReader, in functia get_Mob_AIFlag_Value, dupa ce ai inclus "REFLECT" in array-ul de AI Flags, atunci cand monstrii care au REFLECT ca AI Flag si au mai putin de 25% din viata, vor reflecta 5% din daunele pe care le primeste, inapoi la tine.