|
Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.
Повод для гордости. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
03.05.2010, 05:13 | #1 |
Гость
Сообщений: n/a
|
[9878][patch] Отображение BGWeekend в списке БГ
Патч реализует нововведение близов в патче 3.3.3
+ Поле боя, которому посвящены выходные, будет отображаться на соответствующей закладке и в календаре с пометкой «К оружию!». + Для изменения количества получаемый очков чести, зарабатываемое на этих полях боя, необходим патч [patch] Random BattleGrounds Код:
diff --git a/src/game/DBCStructure.h b/src/game/DBCStructure.h index c762e15..c1d1a21 100644 --- a/src/game/DBCStructure.h +++ b/src/game/DBCStructure.h @@ -574,7 +574,7 @@ struct BattlemasterListEntry char* name[16]; // 11-26 //uint32 nameFlags // 27 string flag, unused uint32 maxGroupSize; // 28 maxGroupSize, used for checking if queue as group - //uint32 HolidayWorldStateId; // 29 new 3.1 + uint32 HolidayWorldStateId; // 29 new 3.1 uint32 minLevel; // 30, min level (sync with PvPDifficulty.dbc content) uint32 maxLevel; // 31, max level (sync with PvPDifficulty.dbc content) }; diff --git a/src/game/DBCfmt.h b/src/game/DBCfmt.h index 8c2fc67..cb388d1 100644 --- a/src/game/DBCfmt.h +++ b/src/game/DBCfmt.h @@ -27,7 +27,7 @@ const char AreaTriggerEntryfmt[]="niffffffff"; const char AuctionHouseEntryfmt[]="niiixxxxxxxxxxxxxxxxx"; const char BankBagSlotPricesEntryfmt[]="ni"; const char BarberShopStyleEntryfmt[]="nixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiii"; -const char BattlemasterListEntryfmt[]="niiiiiiiiixssssssssssssssssxixii"; +const char BattlemasterListEntryfmt[]="niiiiiiiiixssssssssssssssssxiiii"; const char CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; const char CharTitlesEntryfmt[]="nxssssssssssssssssxxxxxxxxxxxxxxxxxxi"; const char ChatChannelsEntryfmt[]="iixssssssssssssssssxxxxxxxxxxxxxxxxxx"; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 9f99e88..5d0d05a 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -8369,6 +8369,22 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) break; } GetSession()->SendPacket(&data); + SendBGWeekendWorldStates(); +} + +void Player::SendBGWeekendWorldStates() +{ + for(uint32 i = 1; i < sBattlemasterListStore.GetNumRows(); ++i) + { + BattlemasterListEntry const * bl = sBattlemasterListStore.LookupEntry(i); + if(bl && bl->HolidayWorldStateId) + { + if(BattleGroundMgr::IsBGWeekend((BattleGroundTypeId)bl->id)) + SendUpdateWorldState(bl->HolidayWorldStateId,1); + else + SendUpdateWorldState(bl->HolidayWorldStateId,0); + } + } } uint32 Player::GetXPRestBonus(uint32 xp) diff --git a/src/game/Player.h b/src/game/Player.h index 79188db..eefcdc1 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1989,6 +1989,7 @@ class MANGOS_DLL_SPEC Player : public Unit void SendInitWorldStates(uint32 zone, uint32 area); void SendUpdateWorldState(uint32 Field, uint32 Value); void SendDirectMessage(WorldPacket *data); + void SendBGWeekendWorldStates(); void SendAurasForTarget(Unit *target); Последний раз редактировалось GriffonHeart; 05.05.2010 в 12:17. |
04.05.2010, 20:28 | #2 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Код:
10>..\..\src\game\Player.cpp(8423) : warning C4018: '<' : signed/unsigned mismatch Код:
for(int i = 1; i < sSpellStore.GetNumRows(); ++i) Код:
for(int i = 1; i < int32(sSpellStore.GetNumRows()); ++i) |
04.05.2010, 20:52 | #3 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Не нужно тут приведение типов.
Код:
for(uint32 i = 1; i < sSpellStore.GetNumRows(); ++i) |
05.05.2010, 02:26 | #4 |
Гость
Сообщений: n/a
|
Ну, пусть будет uint32.
|
05.05.2010, 06:45 | #5 |
Пользователь
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
|
а причем тут for(uint32 i = 1; i < sSpellStore.GetNumRows(); ++i)
sSpellStore если дальше используется sBattlemasterListStore. ?мм ? может быть for(uint32 i = 1; i < sBattlemasterListStore.GetNumRows(); ++i)? |
12.05.2010, 05:24 | #6 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Ну, патч до некоторой степени хак как я понимаю по причине посылки не как часть InitWorldState пакета. Но для этого надо изменить путь заполнения основного списка, сейчас он сам как большой хак :/
В предложенном виде добавлено в [9878]. Спасибо [added]В [9879] добавлено выставдение world state на start/stop соотвевующео gameevent для online играков В [9880] переписан код подготовки пакета world states init и использование update заменено на добавление состояния нормальным образом в init-пакет.
__________________
Так как устал объяснять знайте ICQ не пользуюсь Последний раз редактировалось Vladimir; 12.05.2010 в 08:33. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10641][hack fix] Отображение характеристик heroic предметов. | Warlord123 | Принятые патчи | 6 | 25.10.2010 15:30 |
realm в списке показывается offline | WildLynx | MaNGOSZero (1.12.X) | 39 | 24.10.2010 13:56 |
Отображение сгруппированных квестов | timmit | Баг-репорты | 7 | 30.05.2010 12:59 |
[9878] Set for client battleground weekend event world state. | newsbot | CMaNGOS Commits | 0 | 12.05.2010 05:30 |
неправильное отображение Game_event в календаре | timmit | Баг-репорты | 5 | 08.03.2010 16:46 |