Advertisement
Guest User

1v1_arena_patch.diff

a guest
Apr 24th, 2019
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 5.87 KB | None | 0 0
  1. diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp
  2. index 4b8ba05578..03431c32c0 100644
  3. --- a/src/server/game/Battlegrounds/ArenaTeam.cpp
  4. +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp
  5. @@ -603,6 +603,7 @@ uint8 ArenaTeam::GetSlotByType(uint32 type)
  6.          case ARENA_TEAM_2v2: return 0;
  7.          case ARENA_TEAM_3v3: return 1;
  8.          case ARENA_TEAM_5v5: return 2;
  9. +        case ARENA_TEAM_1v1: return 3; // Custom 1v1 Arena Rated
  10.          default:
  11.              break;
  12.      }
  13. @@ -641,6 +642,8 @@ uint32 ArenaTeam::GetPoints(uint32 memberRating)
  14.          points *= 0.76f;
  15.      else if (Type == ARENA_TEAM_3v3)
  16.          points *= 0.88f;
  17. +    else if (Type == ARENA_TEAM_1v1) //Custom 1v1 Arena Rated
  18. +        points *= 0.70f;
  19.  
  20.      points *= sWorld->getRate(RATE_ARENA_POINTS);
  21.  
  22. diff --git a/src/server/game/Battlegrounds/ArenaTeam.h b/src/server/game/Battlegrounds/ArenaTeam.h
  23. index 87fdd69b6c..a6b5b35bad 100644
  24. --- a/src/server/game/Battlegrounds/ArenaTeam.h
  25. +++ b/src/server/game/Battlegrounds/ArenaTeam.h
  26. @@ -80,6 +80,7 @@ ERR_ARENA_TEAM_LEVEL_TOO_LOW_I
  27.  
  28.  enum ArenaTeamTypes
  29.  {
  30. +    ARENA_TEAM_1v1      = 1, //Custom 1v1 Rated Arena
  31.      ARENA_TEAM_2v2      = 2,
  32.      ARENA_TEAM_3v3      = 3,
  33.      ARENA_TEAM_5v5      = 5
  34. @@ -111,7 +112,7 @@ struct ArenaTeamStats
  35.      uint32 Rank;
  36.  };
  37.  
  38. -#define MAX_ARENA_SLOT 3                                    // 0..2 slots
  39. +#define MAX_ARENA_SLOT 4                                    // 0..3 slots
  40.  
  41.  class TC_GAME_API ArenaTeam
  42.  {
  43. diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
  44. index caa8afe776..b176122aa5 100644
  45. --- a/src/server/game/Battlegrounds/Battleground.cpp
  46. +++ b/src/server/game/Battlegrounds/Battleground.cpp
  47. @@ -427,6 +427,10 @@ inline void Battleground::_ProcessJoin(uint32 diff)
  48.          if (StartMessageIds[BG_STARTING_EVENT_FIRST])
  49.              SendBroadcastText(StartMessageIds[BG_STARTING_EVENT_FIRST], CHAT_MSG_BG_SYSTEM_NEUTRAL);
  50.      }
  51. +
  52. +    //1v1 Arena - Start arena after 15s, when all players are in arena
  53. +    if (GetArenaType() == ARENA_TYPE_1v1 && GetStartDelayTime() > StartDelayTimes[BG_STARTING_EVENT_THIRD] && (m_PlayersCount[0] + m_PlayersCount[1]) == 2)        SetStartDelayTime(StartDelayTimes[BG_STARTING_EVENT_THIRD]);
  54. +
  55.      // After 1 minute or 30 seconds, warning is signaled
  56.      else if (GetStartDelayTime() <= StartDelayTimes[BG_STARTING_EVENT_SECOND] && !(m_Events & BG_STARTING_EVENT_2))
  57.      {
  58. diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h
  59. index 58d40f28f1..276e5b5604 100644
  60. --- a/src/server/game/Battlegrounds/Battleground.h
  61. +++ b/src/server/game/Battlegrounds/Battleground.h
  62. @@ -200,6 +200,7 @@ struct BattlegroundObjectInfo
  63.  
  64.  enum ArenaType
  65.  {
  66. +    ARENA_TYPE_1v1          = 1,
  67.      ARENA_TYPE_2v2          = 2,
  68.      ARENA_TYPE_3v3          = 3,
  69.      ARENA_TYPE_5v5          = 5
  70. diff --git a/src/server/game/Battlegrounds/BattlegroundMgr.cpp b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
  71. index 7e7b4b3e9f..bb006a8d0a 100644
  72. --- a/src/server/game/Battlegrounds/BattlegroundMgr.cpp
  73. +++ b/src/server/game/Battlegrounds/BattlegroundMgr.cpp
  74. @@ -152,7 +152,7 @@ void BattlegroundMgr::Update(uint32 diff)
  75.          {
  76.              // forced update for rated arenas (scan all, but skipped non rated)
  77.              TC_LOG_TRACE("bg.arena", "BattlegroundMgr: UPDATING ARENA QUEUES");
  78. -            for (int qtype = BATTLEGROUND_QUEUE_2v2; qtype <= BATTLEGROUND_QUEUE_5v5; ++qtype)
  79. +            for (int qtype = BATTLEGROUND_QUEUE_2v2; qtype <= BATTLEGROUND_QUEUE_1v1; ++qtype)
  80.                  for (int bracket = BG_BRACKET_ID_FIRST; bracket < MAX_BATTLEGROUND_BRACKETS; ++bracket)
  81.                      m_BattlegroundQueues[qtype].BattlegroundQueueUpdate(diff,
  82.                          BATTLEGROUND_AA, BattlegroundBracketId(bracket),
  83. @@ -438,6 +438,9 @@ Battleground* BattlegroundMgr::CreateNewBattleground(BattlegroundTypeId original
  84.              case ARENA_TYPE_5v5:
  85.                  maxPlayersPerTeam = 5;
  86.                  break;
  87. +            case ARENA_TYPE_1v1:
  88. +                maxPlayersPerTeam = 1;
  89. +                break;
  90.          }
  91.  
  92.          bg->SetMaxPlayersPerTeam(maxPlayersPerTeam);
  93. @@ -772,6 +775,8 @@ BattlegroundQueueTypeId BattlegroundMgr::BGQueueTypeId(BattlegroundTypeId bgType
  94.                      return BATTLEGROUND_QUEUE_3v3;
  95.                  case ARENA_TYPE_5v5:
  96.                      return BATTLEGROUND_QUEUE_5v5;
  97. +                case ARENA_TYPE_1v1:
  98. +                    return BATTLEGROUND_QUEUE_1v1;
  99.                  default:
  100.                      return BATTLEGROUND_QUEUE_NONE;
  101.              }
  102. @@ -801,6 +806,7 @@ BattlegroundTypeId BattlegroundMgr::BGTemplateId(BattlegroundQueueTypeId bgQueue
  103.          case BATTLEGROUND_QUEUE_2v2:
  104.          case BATTLEGROUND_QUEUE_3v3:
  105.          case BATTLEGROUND_QUEUE_5v5:
  106. +        case BATTLEGROUND_QUEUE_1v1:
  107.              return BATTLEGROUND_AA;
  108.          default:
  109.              return BattlegroundTypeId(0);                   // used for unknown template (it exists and does nothing)
  110. @@ -817,6 +823,8 @@ uint8 BattlegroundMgr::BGArenaType(BattlegroundQueueTypeId bgQueueTypeId)
  111.              return ARENA_TYPE_3v3;
  112.          case BATTLEGROUND_QUEUE_5v5:
  113.              return ARENA_TYPE_5v5;
  114. +        case BATTLEGROUND_QUEUE_1v1:
  115. +            return ARENA_TYPE_1v1;
  116.          default:
  117.              return 0;
  118.      }
  119. diff --git a/src/server/shared/SharedDefines.h b/src/server/shared/SharedDefines.h
  120. index 00b9b1f01e..fde27a32e0 100644
  121. --- a/src/server/shared/SharedDefines.h
  122. +++ b/src/server/shared/SharedDefines.h
  123. @@ -3605,6 +3605,7 @@ enum BattlegroundQueueTypeId
  124.      BATTLEGROUND_QUEUE_2v2      = 8,
  125.      BATTLEGROUND_QUEUE_3v3      = 9,
  126.      BATTLEGROUND_QUEUE_5v5      = 10,
  127. +    BATTLEGROUND_QUEUE_1v1      = 11,
  128.      MAX_BATTLEGROUND_QUEUE_TYPES
  129.  };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement