Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Подтверждено Список угроз

Упомянутые в теме пользователи:

Показано с 1 по 12 из 52

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Заблокирован
    Регистрация
    07.12.2017
    Сообщений
    77
    Поблагодарил(а)
    20
    Получено благодарностей: 24 (сообщений: 14).
    Репутация: 24

    Post Список угроз

    1. Threat list
    2. Отсутствует Список угроз у всех питомцев / прислужников прирученных или засуммоненных, а также у тотемов.
    3. Список угроз должен быть у всех питомцев/(и тд), также должен стрелять эвент UNIT_THREAT_SITUATION_UPDATE и работать API UnitThreatSituation
    4. 2.04.2021
    5. Полагаю, что ни на одной пиратке это никогда не работало.
    6. -
    7. Включить индикатор: "Предупреждать об угрозе", затем натравите вторым окном любого питомца на себя и проверьте API /dump UnitThreatSituation("player")
    8. Доказательство:

    • Скрытый текст


      Дк травит вурдалка на лока
      Скриншот из видео (тайм код: 5:58)
      Снимок экрана 2021-04-04 095252.jpg
      [свернуть]

    • Скрытый текст


      Лока бьет питомец ханта и когда тот берет его в таргет, можно увидеть статус угрозы 100%
      Скриншот из видео (тайм код: 10:48)
      Снимок экрана 2021-04-04 100307.jpg
      [свернуть]

    • Скрытый текст


      Прист вызывает финду на дк
      Скриншот из видео (тайм код: 3:49)
      Снимок экрана 2021-04-03 133056.jpg
      [свернуть]

    • Скрытый текст


      Друида бьет пет лока
      Скриншот из видео (тайм код: 5:30)
      Снимок экрана 2021-04-05 095602.jpg
      [свернуть]

    • Скрытый текст


      Друид кастует Лунный огонь в прислужника дк и тот на него агрится, но затем дк направляет пета на другого
      Скриншот из видео (тайм код: 5:51) - этот момент довольно интересный, его бы разобрать детальнее
      Снимок экрана 2021-04-03 133056.jpg
      [свернуть]

    • Скрытый текст


      Хант травит пета на паладина
      Скриншот из видео (тайм код: 1:16)
      Снимок экрана 2021-04-03 133056.jpg
      [свернуть]

      Можно и дальше находить такие моменты, но в следующем патче (Cataclysm) появился аддон* CompactUnitFrame с рейд фреймами, где одна из текстур этого аддона отвечала за индикатор угрозы
      Снимок экрана 2021-04-03 133056.jpg, завязанная на этом API UnitThreatSituation

      Скрытый текст


      на 1016 строчке видим, как задается эта текстура
      PHP код:
      frame.aggroHighlight:SetTexture("Interface\\RaidFrame\\Raid-FrameHighlights"); 
      На 95 строке видим, что вызывается функция, когда стреляет этот евент
      PHP код:
      elseif ( event == "UNIT_THREAT_SITUATION_UPDATE" then
            CompactUnitFrame_UpdateAggroHighlight
      (self); 
      на 382 строке видим, что она делает:
      PHP код:
      function CompactUnitFrame_UpdateAggroHighlight(frame)
        if ( 
      not frame.optionTable.displayAggroHighlight then
          frame
      .aggroHighlight:Hide();
          return;
        
      end
        
        local status 
      UnitThreatSituation(frame.displayedUnit);
        if ( 
      status and status then
          frame
      .aggroHighlight:SetVertexColor(GetThreatStatu  sColor(status));
          
      frame.aggroHighlight:Show();
        else
          
      frame.aggroHighlight:Hide();
        
      end
      end 
      [свернуть]


      На рейтейле эта механика работает и по сей день, можно убедиться из видео:
      Тайм-код (3:46)


    p.s. Добавлю, что в других записях, где не видно индикатор угрозы при таких же обстоятельствах, в этих случаях скорее всего отключен индикатор:
    Снимок экрана 2021-04-05 113250.jpg

    * CompactUnitFrame этот аддон из mpq патча - папки FrameXML, т.е. это близзардовский интерфейс, не какой-то сторонний.



    • Добавлю еще один пример из FrameXML (Build 12213 (3.3.5)):

      Скрытый текст


      Начинаю по порядку:
      1. Заходим в PlayerFrame.xml и видим на 23 строчке:
      PHP код:
       <Texture name="PlayerFrameFlash" file="Interface\TargetingFrame\UI-TargetingFrame-Flash" hidden="true"
      - это и есть текстура угрозы

      2. Далее заходим в луа файл PlayerFrame.lua и видим, что на 4 строчке вызывается функция UnitFrame_Initialize, где PlayerFrameFlash - последний аргумент
      PHP код:
      function PlayerFrame_OnLoad(self)
        
      UnitFrame_Initialize(self"player"PlayerNamePlayerPortrait,
                   
      PlayerFrameHealthBarPlayerFrameHealthBarText
                   
      PlayerFrameManaBarPlayerFrameManaBarText,
                   
      PlayerFrameFlash); 
      Переходим по этой функции и видим:
      3. threatIndicator - это и есть PlayerFrameFlash
      41 строчка -
      PHP код:
      self.threatIndicator threatIndicator
      - запоминаем;
      Далее видим, как на 50 строчке вызывается функция:
      PHP код:
      UnitFrameThreatIndicator_Initialize(unitselfthreatFeedbackUnit); 
      Переходим в нее и видим, как на 408 строчке регистрируется наш эвент
      PHP код:
      unitFrame:RegisterEvent("UNIT_THREAT_SITUATION_UPDATE"); 
      на 420 строчке видим, что вызывается функция, когда стреляет этот эвент:
      PHP код:
        if ( event == "UNIT_THREAT_SITUATION_UPDATE" then
          UnitFrame_UpdateThreatIndicator
      (self.threatIndicat  or, self.threatNumericIndicator,...);
        
      end 
      4. переходим в эту функцию и видим, что на 432 строчке снова фигурирует наша API
      PHP код:
      status UnitThreatSituation(indicator.feedbackUnitindicator.unit); 
      и далее
      PHP код:
      if ( IsThreatWarningEnabled() ) then -- **
            if (
      status and status 0then
              indicator
      :SetVertexColor(GetThreatStatusColor(stat  us));
              
      indicator:Show();
            else
              
      indicator:Hide();
            
      end 
      Отсюда делаем вывод, что если показывается индикатор, когда на нас направлен чей-то питомец или суммон (копии мага например), у этих питомцев должен быть Список угроз - без него не будет работать API, а также стрелять евент.

      ** API IsThreatWarningEnabled
      [свернуть]



    • Нашел еще один интересный момент, оказывается и некоторые тотемы должны иметь Список угроз, в данном видео конкретно Опаляющий тотем

      Скрытый текст


      Здесь видно, что когда шаман ставит тотемы, Индикатор угрозы у ханта постепенно меняется с оранжевого на красный, видимо тотем хотел сначала пета атаковать (не факт)
      Скриншот из видео (тайм код: 0:21 3:57)
      Снимок экрана 2021-04-06 124832.jpg
      [свернуть]


    • Здесь видно, что когда хант притворяется мертвым, пет лока идет атаковать пета ханта

      Скрытый текст

      Индикатор угрозы ханта и его пета сразу поменялись.
      Скриншот из видео (тайм код: 1:14 9:09)
      Снимок экрана 2021-04-06 124832.jpg
      [свернуть]


    Ну и последний железобетонный пруф

    Записал видео с ретейла где видно, что стреляет эвент когда меня атакует пет лока, и работает API





    Дополнение к теме

    Питомцы и вход в бой: дополнение
    Отправка пета в атаку должна давать иммунитет к сапу.

    Если провести параллель между этими темами и моей, то становится совершенно очевидно, что механика комбата у питомцев и их хозяев работает не правильно.
    Как должно работать:
    1. Пет бежит атаковать врага (также со всеми суммонами), получает Список угроз и вместе с хозяином получают скрытый комбат.
    2. Хозяин должен получить настоящий комбат только в том случае, если баффнет или похилит своего питомца / суммона, когда тот будет в настоящем комбате!

    p.s. Сейчас похоже на то, что у нас какой-то костыль написан, это срочно нужно менять.

    p.s.s. Также хочу добавить, что был не прав в этой теме. Когда питомец или любой суммон, получает контроль, Список угроз никуда не девается, и соответственно скрытый комбат никуда не исчезает. Но тем не менее, настоящий комбат не должен передаваться хозяину, как только питомец/суммон входит в бой!
    Последний раз редактировалось panacealolx; 08.04.2021 в 20:41.

Похожие темы

  1. [Исправлено после ближайшего обновления] Прямая и черная угроз
    от Verrisely в разделе Исправлено Wotlk
    Ответов: 1
    Последнее сообщение: 02.12.2020, 21:35
  2. [Отклонено] Болото печали - Продолжающаяся угроза
    от Химестетика в разделе Отклонено Cataclysm
    Ответов: 0
    Последнее сообщение: 25.09.2019, 13:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •