Jump to content

Lightguard

Members
  • Posts

    208
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Lightguard

  1. Please try this:

    diff --git a/src/game/BattleGroundMgr.cpp b/src/game/BattleGroundMgr.cpp
    index 69bb705..4936a95 100644
    --- a/src/game/BattleGroundMgr.cpp
    +++ b/src/game/BattleGroundMgr.cpp
    @@ -1274,9 +1274,12 @@ void BattleGroundMgr::BuildPvpLogDataPacket(WorldPacket *data, BattleGround *bg)
            // it seems this must be according to BG_WINNER_A/H and _NOT_ BG_TEAM_A/H
            for(int i = 1; i >= 0; --i)
            {
    -            *data << uint32(bg->m_ArenaTeamRatingChanges[i]);
    -            *data << uint32(3999);                          // huge thanks for TOM_RUS for this!
    -            *data << uint32(0);                             // added again in 3.1
    +            uint32 pointsLost = bg->m_ArenaTeamRatingChanges[i] < 0 ? abs(bg->m_ArenaTeamRatingChanges[i]) : 0;
    +            uint32 pointsGained = bg->m_ArenaTeamRatingChanges[i] > 0 ? bg->m_ArenaTeamRatingChanges[i] : 0;
    +
    +            *data << uint32(pointsLost);                        // Rating Lost
    +            *data << uint32(pointsGained);                      // Rating gained
    +            *data << uint32(0);                                 // Matchmaking Value
                DEBUG_LOG("rating change: %d", bg->m_ArenaTeamRatingChanges[i]);
            }
            for(int i = 1; i >= 0; --i)
    

    (original patch by thenecromancer)

  2. Not really, the real point in using wpe is in it's name, packet editing. They usually find missing checks that can be abused by sending incorrect data by packet editing (otherwise impossible, usually prohibited by client-side checks). If you can get the opcodes they aim and the offsets, you might be able to fix it pretty fast. Even checking a few guides on how they do it can help, but this app (shown in the video) has to be tested.

  3. Well if you take a careful look into Group::ResetInstance you'll surely notice this part:

           bool isEmpty = true;
           // if the map is loaded, reset it
           Map *map = sMapMgr.FindMap(p->GetMapId(), p->GetInstanceId());
           if(map && map->IsDungeon() && !(method == INSTANCE_RESET_GROUP_DISBAND && !p->CanReset()))
               isEmpty = ((InstanceMap*)map)->Reset(method);

    Which is supposed to check wether we can reset or not. The bool there wasn't accidently named 'isEmpty' and equals to the return of InstanceMap::Reset.

       if(HavePlayers())
       {
           if(method == INSTANCE_RESET_ALL)
           {
               // notify the players to leave the instance so it can be reset
               for(MapRefManager::iterator itr = m_mapRefManager.begin(); itr != m_mapRefManager.end(); ++itr)
                   itr->getSource()->SendResetFailedNotify(GetId());
           }

    elseInstanceMap::Reset you'll see a part that checks that if we have players there or not, but then comes a tiny problem, it checks what reset method did we send and if it isn't INSTANCE_RESET_ALL it will invalidate the instance. So as a possible solution i would recommend this:

    diff --git a/src/game/Map.cpp b/src/game/Map.cpp
    index 7c00f9d..77a459d 100644
    --- a/src/game/Map.cpp
    +++ b/src/game/Map.cpp
    @@ -2582,7 +2582,7 @@ bool InstanceMap::Reset(uint8 method)
    
        if(HavePlayers())
        {
    -        if(method == INSTANCE_RESET_ALL)
    +        if(method == INSTANCE_RESET_ALL || method == INSTANCE_RESET_CHANGE_DIFFICULTY)
            {
                // notify the players to leave the instance so it can be reset
                for(MapRefManager::iterator itr = m_mapRefManager.begin(); itr != m_mapRefManager.end(); ++itr)

  4. The script effect would now work as intended, but another problem appears, that makes the female spell work the same way as the male one. This is related to transform aura handling, and needs some generic code to be added. Currently i'm working on it, but slowly as i don't have too much time :(

×
×
  • Create New...

Important Information

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. Privacy Policy Terms of Use