Cross-faction BG's

When you record in the queue for BG and lack of players from one faction, the other faction players are automatically recorded for the required necessary party group to start BG.

This will greatly reduce the waiting time BG, especially at different ratios wanting 10 players per one faction, and only 1-2 for another.

Met a system in AT Server.

Implemented if anyone on the Trinity?

Sorry my bad english.

Well I converted from mangos to trinity.

All compilation errors corrected, the only one.

[CODE]
error C2440: ‘=’ : cannot convert from ‘uint32’ to ‘Team’

srcservergameBattlegroundsBattlegroundMgr.cpp 888 game[/CODE]

                if (pGroupGuy->GetBattleground() && pGroupGuy->GetBattleground()->GetInstanceID() == instanceId && pGroupGuy->GetBattleground()->GetTypeID() == bgTypeId)
                {
                    if (pGroupGuy->GetBGTeam() == HORDE)
                        GrpTeam = HORDE;
                    else
                        GrpTeam = ALLIANCE;
                    break;
                }

Okay thank you.

Alliance is not given for the murders of his faction in battlegrounds honor.
The Alliance can not take Flag Alliance in Warsong and all bg’s.
party in 2 alliance 1 horde. Table in BG’s list 3 alliance group and 1 horde.

http://s020.radikal.ru/i701/1212/62/1a68de1ce378.jpg
Alliance don’t attack Alliance. Green nick name.
But sometimes that can be a battle. But do not get honor for each other.

Plus if you are looking for help, share code.

would be awesome if someone could port this cross faction thing to TC

i heard ( tada rumours ) that AT has it, wich is trinity, so a port is there, but again, they never share such things so… good luck with it.

This code should be shared. I’d be interested it in

Nvm… i got it fixed.

More than the flag capturing problems , players are able to open the gates of the battleground

Maybe battleground is in debug mode or something?

I found out that the players that are unable to see other players of the same faction as enemies, for example a horde that is playing on ally side.

Also it makes him like i said before, unable to capture anything (fixed but not fully by editing the .cpp of each battleground)

so a horde that is playing ally side is unable to attack other hordes

but, a horde that is playing horde side can attack hordes that are playing on ally side.

EDIT: ok guys i made some progress, how can i make a patch of this for others to test?

Tryied to make players hostile horde to horde and ally to ally in a battleground with no success,

maybe i’m looking in the wrong function, or wrong code /emoticons/default_smile.png i aprecciate all help

[CODE]
// function based on function Unit::UnitReaction from 13850 client
ReputationRank Unit::GetReactionTo(Unit const* target) const
{
// always friendly to self
if (this == target)
return REP_FRIENDLY;

// always friendly to charmer or owner
if (GetCharmerOrOwnerOrSelf() == target->GetCharmerOrOwnerOrSelf())
    return REP_FRIENDLY;



if (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE))
{
    if (target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE))
    {
        Player const* selfPlayerOwner = GetAffectingPlayer();
        Player const* targetPlayerOwner = target->GetAffectingPlayer();
	
        if (selfPlayerOwner && targetPlayerOwner)
        {
  •    //check player team (Cross faction bgs)+
    
  •               if(selfPlayerOwner->InBattleground() && targetPlayerOwner->InBattleground())
    
  •   	               if(selfPlayerOwner->GetBGTeam() != targetPlayerOwner->GetBGTeam())
    
  •                             if(selfPlayerOwner->GetTeam() == targetPlayerOwner->GetTeam())
    
  •   		                 return REP_HOSTILE;
    
  •    //check player team (Cross faction bgs)
    
  •               if(targetPlayerOwner->InBattleground() && selfPlayerOwner->InBattleground())
    
  •   	               if(targetPlayerOwner->GetBGTeam() != selfPlayerOwner->GetBGTeam())
    
  •                             if(targetPlayerOwner->GetTeam() == selfPlayerOwner->GetTeam())
    
  •   		                 return REP_HOSTILE;
    
              // always friendly to other unit controlled by player, or to the player himself
              if (selfPlayerOwner == targetPlayerOwner)
                  return REP_FRIENDLY;
    
              // duel - always hostile to opponent
              if (selfPlayerOwner->duel && selfPlayerOwner->duel->opponent == targetPlayerOwner && selfPlayerOwner->duel->startTime != 0)
                  return REP_HOSTILE;
    
              // same group - checks dependant only on our faction - skip FFA_PVP for example
              if (selfPlayerOwner->IsInRaidWith(targetPlayerOwner))
                  return REP_FRIENDLY; // return true to allow config option AllowTwoSide.Interaction.Group to work
                  // however client seems to allow mixed group parties, because in 13850 client it works like:
                  // return GetFactionReactionTo(getFactionTemplateEntry(), target);
          }
    

with this i am able to give damage with aoe to players with the same faction, but in one of the sides they appear friendly[/CODE]

Use git diff to get full patch.

yeah i recently made it work! finally! /emoticons/default_biggrin.png i would share my code soon! just going to add the config option /emoticons/default_smile.png

Thats awesome. I really hope you share so we can evaluate how good the progress is to this point. There are lots of issues I can imagine and sharing code would probably help resolve them.

Are you still working on this? If not could you share what you have?

well i use bitbucket on a private repo, and there is all my commits, i just solved some problems with arena, i’m trying to find a way to make a patch of it /emoticons/default_smile.png

some issues :

warsong gulch flag points don’t show if player is playing for opposite faction

flags in eye of the storm for example a player that is playing horde and is ally his flag appear as ally

just some visual bugs /emoticons/default_smile.png

Patch for mangos https://github.com/Lillecarl/mangos-tbc/commit/3fbd58ac63b451d4d05f346db04cf4c7155ca30e sps Lillecarl .

No news?

What news you interest? Patch in a subject, it it is possible to copy and without copying, in a subject there is a piece from a patch which supplements lines. That is, if to think logically all patch in a subject is. For those to whom it is necessary and his knowledge allows. Itself patches of such level are in private, and you aren’t happy that all material on a patch is present at a subject, and you simply don’t want to do something. Excuse for bad English.

When asking for help here to fix a patch is mandatory to share the code, this forum is not to get fixes and don’t share the result.

I still think if asking for help for something he should share the entire code.

That’s what i said that it’s mandatory.