Cast Indicators and Movement - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

Индикаторы каста и движение

Home · BASIC · UO API · A–Z · Examples · Languages

Группы индикаторов

Настройки разделены на три источника:

  • My character — собственный персонаж;
  • Other Player — другие игроки, включая стандартные тела human/elf/gargoyle и участников party;
  • NPC / Monster — существа и монстры.

Это разделение предотвращает применение настроек NPC к обычному игроку.

Размер и положение

  • длина: 0–200;
  • одна единица длины равна одному пикселю;
  • 0 полностью скрывает индикатор;
  • толщина: 3–18 пикселей;
  • положение: слева, справа, сверху или снизу относительно объекта.

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

Определение каста

Клиент объединяет доступные сигналы мобильной речи, групп заклинаний и action-кодов. Для своего персонажа данных обычно больше; для других игроков и NPC результат зависит от пакетов и анимаций, фактически присланных сервером.

Тайминги

Доступны отдельные значения для кругов Magery 1–8, а также групп Necromancy, Chivalry, Bushido, Ninjitsu, Spellweaving, Mysticism и Mastery. Серверные особенности могут потребовать индивидуальной коррекции длительности.

Дальность наблюдения

Индикаторы других объектов ориентируются на фактически видимые клиенту объекты и настройку дальности видимости в тайлах. Ползунок обхода препятствий не является радиусом сканирования каста.

Обход препятствий

Ползунок Obstacle scan distance задаёт максимальное число дополнительных клеток 1–5, которые планировщик может использовать для обхода.

Алгоритм:

  1. сначала проверяет прямой и минимальный путь;
  2. при блокировке рассматривает боковые, перпендикулярные и диагональные варианты;
  3. при необходимости допускает шаг назад и полный обратный манёвр;
  4. выбирает кратчайший проходимый путь в пределах запаса;
  5. перед каждым шагом повторно проверяет мир;
  6. пересчитывает путь, если препятствие или положение изменилось.

Значение 5 — это не обязательный крюк на пять клеток, а верхний предел дополнительного поиска. Если достаточно одного шага, выбирается короткий вариант.