Noticias:

SMF - Just Installed!

Menú principal

Reflect Damage PvP/PvM by Class

Publicado por Dakosmu, Mar 03, 2025, 03:41 AM

Tema anterior - Siguiente tema

Dakosmu

Reflect Damage PvP/PvM by Class

Nueva configuración para controlar el Reflect Damage PvP/PvM por clase específica.

Agregar estas líneas en GameServer/GameServerInfo - Character.dat

;==================================================
; Character Class Reflect Damage Rate Settings
;==================================================
DWReflectDamageRatePvP = 100
DKReflectDamageRatePvP = 100
FEReflectDamageRatePvP = 100
MGReflectDamageRatePvP = 100
DLReflectDamageRatePvP = 100
SUReflectDamageRatePvP = 100
RFReflectDamageRatePvP = 100
DWReflectDamageRatePvM = 100
DKReflectDamageRatePvM = 100
FEReflectDamageRatePvM = 100
MGReflectDamageRatePvM = 100
DLReflectDamageRatePvM = 100
SUReflectDamageRatePvM = 100
RFReflectDamageRatePvM = 100

Agregar en ServerInfo.h

int m_nReflectDamageRatePvP[MAX_CLASS];
int m_nReflectDamageRatePvM[MAX_CLASS];

Agregar en ServerInfo.cpp

this->m_nReflectDamageRatePvP[0] = GetPrivateProfileInt(section,"DWReflectDamageRatePvP",0,path);
this->m_nReflectDamageRatePvP[1] = GetPrivateProfileInt(section,"DKReflectDamageRatePvP",0,path);
this->m_nReflectDamageRatePvP[2] = GetPrivateProfileInt(section,"FEReflectDamageRatePvP",0,path);
this->m_nReflectDamageRatePvP[3] = GetPrivateProfileInt(section,"MGReflectDamageRatePvP",0,path);
this->m_nReflectDamageRatePvP[4] = GetPrivateProfileInt(section,"DLReflectDamageRatePvP",0,path);
this->m_nReflectDamageRatePvP[5] = GetPrivateProfileInt(section,"SUReflectDamageRatePvP",0,path);

#if(GAMESERVER_UPDATE>=601)
this->m_nReflectDamageRatePvP[6] = GetPrivateProfileInt(section,"RFReflectDamageRatePvP",0,path);
#endif

//--

this->m_nReflectDamageRatePvM[0] = GetPrivateProfileInt(section,"DWReflectDamageRatePvM",0,path);
this->m_nReflectDamageRatePvM[1] = GetPrivateProfileInt(section,"DKReflectDamageRatePvM",0,path);
this->m_nReflectDamageRatePvM[2] = GetPrivateProfileInt(section,"FEReflectDamageRatePvM",0,path);
this->m_nReflectDamageRatePvM[3] = GetPrivateProfileInt(section,"MGReflectDamageRatePvM",0,path);
this->m_nReflectDamageRatePvM[4] = GetPrivateProfileInt(section,"DLReflectDamageRatePvM",0,path);
this->m_nReflectDamageRatePvM[5] = GetPrivateProfileInt(section,"SUReflectDamageRatePvM",0,path);

#if(GAMESERVER_UPDATE>=601)
this->m_nReflectDamageRatePvM[6] = GetPrivateProfileInt(section,"RFReflectDamageRatePvM",0,path);
#endif

Buscar el siguiente código en Attack.cpp:

damage = (damage*((lpObj->Type==OBJECT_USER&&lpTarget->Type==OBJECT_USER)?gServerInfo.m_ReflectDamageRatePvP:gServerInfo.m_ReflectDamageRatePvM))/100;

Luego, agregar debajo:

damage = (damage*((lpObj->Type==OBJECT_USER&&lpTarget->Type==OBJECT_USER)?gServerInfo.m_nReflectDamageRatePvP[lpObj->Class]:gServerInfo.m_nReflectDamageRatePvM[lpObj->Class]))/100;

Y listo

Créditos:

Emershow
Bon Dia

🡱 🡳