Party.cpp
Search for EVENTINFO(party_update_event_info)
after DWORD pid; add
CParty *pParty;
Bellow, after : pid( 0 ) add
, pParty(NULL)
Search void CParty::Link(LPCHARACTER pkChr)
after info->pid = m_dwLeaderPID; add
info->pParty = this;
Search void CParty::Update()
replace
if (!l)
return; with
if (!l)
{
RemoveBonuses();
return;
}
At the end of the file add
void CParty::RemoveBonuses()
{
bool bResendAll = false;
int iNewExpBonus = ComputePartyBonusExpPercent();
if (m_iExpBonus != iNewExpBonus)
{
bResendAll = true;
m_iExpBonus = iNewExpBonus;
}
if (bResendAll)
{
for (TMemberMap::iterator it = m_memberMap.begin(); it != m_memberMap.end(); ++it)
{
if (it->second.pCharacter)
{
ComputeRolePoint(it->second.pCharacter, 0, false);
SendPartyInfoOneToAll(it->second.pCharacter);
}
}
}
}
Party.h
Search for bool IsPartyInDungeon(int mapIndex);
add after this
void RemoveBonuses();
Kind regards,
Dalí