|
Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.
Повод для гордости. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
17.03.2011, 19:12 | #1 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
[11650] Visibility of ghosts in group
В разделе новичков, как-то глухо... http://ru-mangos.ru/showthread.php?t=3624
Хочется услышать комментарий от разработчиков. PHP код:
|
18.03.2011, 02:25 | #2 |
MaNGOS Dev
Регистрация: 22.06.2010
Сообщений: 78
Сказал(а) спасибо: 24
Поблагодарили 71 раз(а) в 25 сообщениях
|
Код:
if (pGroup) Код:
Unit* target = ((Player*)pl); Последний раз редактировалось Ambal; 18.03.2011 в 02:27. |
Пользователь сказал cпасибо: | Den (18.03.2011) |
18.03.2011, 20:05 | #3 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
|
18.03.2011, 20:56 | #4 |
Администратор
|
Возможно, так:
Код:
+ if (const Group* pGroup = GetGroup()) + if (pl->GetTypeId() == TYPEID_PLAYER && pGroup->IsMember(pl->GetObjectGuid())) + if (!(isAlive() || m_deathTimer > 0) && IsFriendlyTo(pl)) + return true; |
Пользователь сказал cпасибо: | Den (18.06.2011) |
18.06.2011, 14:51 | #6 |
Ученый
Регистрация: 10.03.2010
Адрес: Бобруйск
Сообщений: 284
Сказал(а) спасибо: 213
Поблагодарили 98 раз(а) в 84 сообщениях
|
Скриншот делался три месяца назад: http://www.imagepost.ru/?v=wowscrnsh...311_133918.jpg
Патч обновлен 11642. Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 71495a4..de3541f 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -19848,6 +19848,14 @@ bool Player::IsVisibleInGridForPlayer( Player* pl ) const return true; } + // live player see dead player only in this group + if (const Group* pGroup = GetGroup()) + { + if (pGroup->IsMember(pl->GetObjectGuid())) + if (!(isAlive() || m_deathTimer > 0) && IsFriendlyTo(pl)) + return true; + } + // Live player see live player or dead player with not realized corpse if(pl->isAlive() || pl->m_deathTimer > 0) { |
19.06.2011, 02:47 | #7 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
есть специальная функция IsInSameRaidWith (IsInSameGroupWith учитывает тоько подгруппу в случае рейда)
не думаю что IsFriendlyTo нужно - так как члены группы по определению friendly в смысле людей - а наличие всяких charm-ов не влияет на отношение человека управляющего чаров. зачем if (!(isAlive() || m_deathTimer > 0)) я не понял. Делаю небольшое предположение что духи тоже друг друга видят из той-же группы. тогда просто: Код:
if (IsInSameRaidWith(pl)) return true;
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
19.06.2011, 02:59 | #8 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
В такой упрощенной форме добавлено в [11650]. Спасибо.
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[11206] Move visibility self/around to new function and use it. | newsbot | CMaNGOS Commits | 0 | 27.02.2011 18:30 |
[11183] Use map type dependent visibility distance for gameobject, dynamicobject and corpse visibili | newsbot | CMaNGOS Commits | 0 | 18.02.2011 02:10 |
[10805] Remove code duplication in visibility distance check. | newsbot | CMaNGOS Commits | 0 | 02.12.2010 00:12 |
[9921] In case player who tap creature in group leave group it must anyway rewarded with group. | newsbot | CMaNGOS Commits | 0 | 18.05.2010 04:11 |
[9578] Use ObjectGuid in visibility sets | newsbot | CMaNGOS Commits | 0 | 12.03.2010 22:00 |