Jump to content

[PATCH] Ally&Horde in the same group (Updated)


Recommended Posts

Just realized something: if an Alliance player goes into a group with a Horde leader, then they are turned into a Horde player and can be attacked by Alliance players and guards.

I second this. Happens for both sides. I used a group patch that it was not this one and it worked correctly, you did not change faction and you could still heal, trade with other factions.

Link to comment
Share on other sites

  • Replies 127
  • Created
  • Last Reply

Top Posters In This Topic

if an Alliance player goes into a group with a Horde leader, then they are turned into a Horde player and can be attacked by Alliance players and guards.

yes for players, but no for the guards. Becouse, yes, they will turned into a Horde player but their reputation will not changed.

Link to comment
Share on other sites

yes for players, but no for the guards. Becouse, yes, they will turned into a Horde player but their reputation will not changed.

Yeah, but now they can't talk and trade with players of the same faction outside of their group. What's worse, they can be attacked by their own faction but they can't attack back.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Today again compilled.

The patch file is 8422 linked of the person above for 3.1.3.

Works not for 3.2.2a. Where do you have the 3.2.2a file ?

Is there a git for ?

Here my errors:

../../../src/game/Group.cpp: At global scope:
../../../src/game/Group.cpp:1473: fout: no \\u2018void Group::SetDifficulty(uint8)\\u2019 member function declared in class \\u2018Group\\u2019
../../../src/game/Group.cpp: In member function \\u2018void Group::SetDifficulty(uint8)\\u2019:
../../../src/game/Group.cpp:1475: fout: \\u2018m_difficulty\\u2019 was not declared in this scope
../../../src/game/Group.cpp:1483: fout: \\u2018class Player\\u2019 has no member named \\u2018SetDifficulty\\u2019
../../../src/game/Group.cpp: At global scope:
../../../src/game/Group.cpp:1499: fout: prototype for \\u2018void Group::ResetInstances(uint8, Player*)\\u2019 does not match any in class \\u2018Group\\u2019
../../../src/game/Group.h:291: fout: kandidaat is: void Group::ResetInstances(uint8, bool, Player*)
../../../src/game/Group.cpp: In member function \\u2018void Group::ResetInstances(uint8, Player*)\\u2019:
../../../src/game/Group.cpp:1507: fout: no matching function for call to \\u2018Group::GetDifficulty()\\u2019
../../../src/game/Group.h:284: note: kandidaten zijn: Difficulty Group::GetDifficulty(bool) const
../../../src/game/Group.cpp:1522: fout: \\u2018DIFFICULTY_HEROIC\\u2019 was not declared in this scope
../../../src/game/Group.cpp: At global scope:
../../../src/game/Group.cpp:1558: fout: prototype for \\u2018InstanceGroupBind* Group::GetBoundInstance(uint32, uint8)\\u2019 does not match any in class \\u2018Group\\u2019
../../../src/game/Group.h:336: fout: kandidaten zijn: InstanceGroupBind* Group::GetBoundInstance(Map*)
../../../src/game/Group.h:335: fout:                 InstanceGroupBind* Group::GetBoundInstance(Player*)
../../../src/game/Group.cpp: In member function \\u2018InstanceGroupBind* Group::GetBoundInstance(uint32, uint8)\\u2019:
../../../src/game/Group.cpp:1562: fout: \\u2018const struct MapEntry\\u2019 has no member named \\u2018SupportsHeroicMode\\u2019
../../../src/game/Group.cpp:1562: fout: \\u2018DIFFICULTY_NORMAL\\u2019 was not declared in this scope

Link to comment
Share on other sites

Hi,

I have crashed with this patch with revision 8648, if a group of both ally and horde enter a heroic instance the server crash.

mangos-worldd: ../../../src/game/Map.cpp:2382: virtual bool InstanceMap::Add(Player*): Assertion `false' failed.

Necroalbert is online now Report Post Reply With Quote

For Necroalbert:

are you sure that this is related with this patch?

Link to comment
Share on other sites

Hi,

I have crashed with this patch with revision 8648, if a group of both ally and horde enter a heroic instance the server crash.

mangos-worldd: ../../../src/game/Map.cpp:2382: virtual bool InstanceMap::Add(Player*): Assertion `false' failed.

EDIT : Sorry about that just saw it wasn't related to this patch

Link to comment
Share on other sites

Hi,

I have crashed with this patch with revision 8648, if a group of both ally and horde enter a heroic instance the server crash.

mangos-worldd: ../../../src/game/Map.cpp:2382: virtual bool InstanceMap::Add(Player*): Assertion `false' failed.

EDIT : Sorry about that just saw it wasn't related to this patch

The crashing is not related to this, it is a problem that has already been posted about 4 times inthe Bug section.

Link to comment
Share on other sites

Updated for rev 8723+

Diff file updated and cleaned.

Regards...

This new one is not working on Linux. For example it says corrupt line 60 and line 20 something has a trailing white space. The trailing i can handle, but the corrupt part no. Older version had some 10 more lines like this:

@@ -1130,10 +1151,11 @@ bool Group::_removeMember(const uint64 &guid)
            //we can remove player who is in battleground from his original group
            if( player->GetOriginalGroup() == this )
                player->SetOriginalGroup(NULL);
            else
                player->SetGroup(NULL);
+
        }
    }

    _removeRolls(guid);

Link to comment
Share on other sites

EDIT: In the original patch written by Thorazi for rev 7693, there wasn't the empty white space that was in my old update:

------------------------------ src/game/Group.cpp ------------------------------
index e6e01aa..1e70bc5 100644
@@ -296,6 +296,16 @@ bool Group::AddMember(const uint64 &guid, const char* name)
                player->SetDifficulty(m_difficulty);
                player->SendDungeonDifficulty(true);
            }
+            // Group Interfactions interactions (test)
+            if(sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP))
+            {
+                Group *group = player->GetGroup();
+                if(Player *leader = objmgr.GetPlayer(group->GetLeaderGUID()))
+                {
+                    player->setFactionForRace(leader->getRace());
+                    sLog.outDebug( "WORLD: Group Interfaction Interactions - Faction changed (AddMember)" );
+                }
+            }            
        }
        player->SetGroupUpdateFlag(GROUP_UPDATE_FULL);
        UpdatePlayerOutOfRange(player);
@@ -340,7 +350,12 @@ uint32 Group::RemoveMember(const uint64 &guid, const uint8 &method)
                data << uint64(0) << uint64(0) << uint64(0);
                player->GetSession()->SendPacket(&data);
            }
-
+            // Restore original faction if needed
+            if(sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP))
+            {
+                player->setFactionForRace(player->getRace());
+                sLog.outDebug( "WORLD: Group Interfaction Interactions - Restore original faction (RemoveMember)" );
+            }
            _homebindIfInstance(player);
        }

@@ -411,6 +411,12 @@ void Group::Disband(bool hideDestroy)
                player->SetOriginalGroup(NULL);
            else
                player->SetGroup(NULL);
+            // Restore original faction if needed
+            if(sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GROUP))
+            {
+                player->setFactionForRace(player->getRace());
+                sLog.outDebug( "WORLD: Group Interfaction Interactions - Restore original faction (Disband)" );
+            }
        }

        // quest related GO state dependent from raid membership

This new one is not working on Linux. For example it says corrupt line 60 and line 20 something has a trailing white space. The trailing i can handle, but the corrupt part no. Older version had some 10 more lines like this:

Code:

@@ -1130,10 +1151,11 @@ bool Group::_removeMember(const uint64 &guid)

//we can remove player who is in battleground from his original group

if( player->GetOriginalGroup() == this )

player->SetOriginalGroup(NULL);

else

player->SetGroup(NULL);

+

}

}

_removeRolls(guid);

So this empy line was only my mistake that I have cleaned during the last patch-update.

PS: At the moment I haven't my portable with Linux, but I tested the latest patch-update and it works perfect on Windows XP.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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