Jump to content

Party Bonuses Bug


Dalí

Recommended Posts

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í

  • Love 6
Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.