DungeonSettlers.wiki

Обнаружение монстров & Агро

Steam

How does a monster notice your settlers, and what can you do about it? This page is read straight from the game's tables (DS_B.0.4.23) and the code dump; each number names the constant it comes from, and anything the data cannot confirm is flagged as such. Try the interactive калькулятор дальности обнаружения чтобы подставить конкретного монстра.

Модель обнаружения что происходит на самом деле

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

Монстр проходит три боевых состояния (из CombatState enum, вызывается при каждом движении юнита через MoveApplier.RefreshUnitCombatState):

  1. Неосведомлён - бездействует или патрулирует; он вас не видел.
  2. Осведомляется - один из ваших юнитов попал в его обзор; осведомлённость растёт.
  3. В бою - осведомлённость достигла порога; он фиксируется и вступает в бой.

Пробуждение не мгновенное. Пока юнит игрока остаётся в обзоре монстра, монстр накапливает Осведомлённость при 1 за игровую минуту (GAMESYSTEM_Combat_Basic_AwarenessOnMin, только враги) и входит в бой, когда она достигает 5 (GAMESYSTEM_Combat_Basic_AwarenessToCombat) - около 5 игровых минут непрерывного обзора, всего ~4 секунды реального времени на скорости 1x. Если кратко пересечь обзор монстра, часто можно уйти до того, как он решится; атака, конечно, сразу бросает его в бой.

Свой ИИ построен на деревьях Behavior Designer, чьи проверки дистанции/обзора (CheckEnemyDistance, CheckCombatTargetInRange) читают те же данные сеточного обзора и агро - не 3D-рейкасты конуса обзора. Спадает ли Осведомлённость, когда вы разрываете линию обзора, в данных не сказано (предположительно сбрасывается или падает, не подтверждено).

Дальность обзора радиус обнаружения

Дальность обзора это основное число. Описание в игре: "Дальность, на которой юнит открывает область вокруг себя и может замечать врагов." Она делает две вещи - открывает туман войны для вашей стороны и это радиус, в котором монстр замечает вас. Измеряется в клетки и строится по линии обзора, поэтому стена между вами и монстром её блокирует (VisionDataHandler.IsPathVisible).

Значения это заданные для каждого юнита числа в UnitTable. Большинство юнитов видят 8 клеток; Глаз видит целых 16, а Детёныш Глота Бездны близорукий на 4. Юниты стороны игрока по умолчанию 7 (StatusValueTable); запасная база системы роста 5 (GAMESYSTEM_Unit_Growth_..._VisionRange).

Агро и угроза вступление в бой и кто получает удар

Две отдельные константы управляют боем, когда вас заметили:

  • Дальность агро = 8 клеток (GAMESYSTEM_Combat_Basic_AggroRange) - радиус угрозы, в котором монстр вступает в бой. Поскольку он равен стандартному обзору в 8 клеток, большинство монстров замечают вас и атакуют на одной дистанции.
  • Поправка агро = [1.3, 1] (GAMESYSTEM_Combat_Basic_AggroCorrection) - множитель по типу атаки на агро/угрозу, которую создаёт юнит: ближний бой x1.3, дальний бой x1. Атакующий ближнего боя набирает примерно на 30% больше агро, чем дальний, поэтому бойцы передней линии сами оттягивают внимание монстра от ваших заклинателей. Это направляет выбор цели, а не то, заметят ли вас первыми.

Дамп подтверждает константы и разделение ближний/дальний бой (комментарий разработчика: [0] melee, [1] ranged), но тела методов вырезаны, поэтому точная арифметика множителя выведена, а не прочитана построчно. Поводка или таймера возврата к точке появления в коде не найдено - монстр, который достигает Неосведомлён снова, просто сбрасывает цель.

День и ночь обзор сужается после наступления темноты

В подземелье идут сутки. День это 06:00 до 20:00 (GAMESYSTEM_Campaign_DayTimes); вне этого окна ночь.

Ночью обзор уменьшается на 3 клетки (GAMESYSTEM_Campaign_DayNightVisionDiffrence). Обычный монстр с 8 клетками фактически видит только 5 ночью - но тот же штраф режет обзор и ваших юнитов, так что ночной рейд бьёт в обе стороны. Affecter ночное видение добавляет +3 Дальность обзора, в точности снимая ночной штраф у того, кто его несёт.

Применяется ли ночной штраф к монстрам, к игроку или к обоим, в дампе метаданных до конца не закреплено - у каждого юнита Status_VisionRange класс несёт IsPlayer флаг, что намекает: две стороны можно обрабатывать по-разному, но это вывод, а не подтверждённое правило.

Скрытность чистый выход

Скрытность это единственный жёсткий контр против обнаружения. Текст в игре: "Остаётесь незамеченным и не можете быть целью. Эффект прекращается сразу, если вы наносите урон врагу."

It is a code flag (it adjusts no stat), so it is all-or-nothing: while active you cannot be seen or targeted, regardless of Vision Range or distance. The catch is spelled out in the description - it ends the instant you deal damage, so it is a repositioning and scouting tool, not a way to fight unseen. Задано в данных, но сейчас не даётся ни одним доступным предметом, чертой или навыком.

Миф о Восприятии название против эффекта

Естественно считать, что Восприятие увеличивает, как далеко видят ваши юниты - название и описание ("обостряет органы чувств") оба на это намекают. Данные это не подтверждают.

В этой сборке у Восприятия StatusValueTable коэффициент для Дальности обзора равен 0, а подсказка самой характеристики перечисляет только Силу физической атаки, Силу магической атаки, Шанс критического удара и Кулинарные способности. Спящая константа роста (...MajorStatToFinalStatFactor_VisionRange = 0.02) всё же связывает Восприятие с обзором как 0.02 за очко, но при живом коэффициенте 0 она выглядит неактивной. Поэтому Усиление восприятия / Ослабление восприятия условия среды (±30% Восприятия) и Эликсир Восприятия +3 лучше читать как бой усиления, а не модификаторы обнаружения. Любое утверждение "Восприятие расширяет обзор" считайте неподтверждённым.

Что повышает или снижает обнаружение сводка

Всё выше в одной таблице. "Эффект" это с точки зрения монстра - насколько легко он вас замечает.

ФакторЭффектЧто показывают данные
Дальность обзора монстраразнаяУ каждого юнита свой радиус обзора (UnitTable.VisionRange): от 4 (Детёныш Глота Бездны) up to 16 (Глаз), большинство сидит на 8. Больше радиус = замечает вас издалека.
Линия обзора (стены)снижаетОбзор прослеживается клетка за клеткой и блокируется стенами и препятствиями (VisionDataHandler.IsPathVisible). Разрыв линии обзора за углом скрывает вас даже в упор.
Ночьобе стороны -3С 20:00 до 06:00 обзор падает на 3 клетки (DayNightVisionDiffrence). Это укорачивает досягаемость монстра, но обрезает и обзор ваших разведчиков.
ночное видение (affecter)восстанавливает +3Добавляет +3 Дальность обзора (ночное видение), exactly cancelling the night penalty. Даётся: сторож.
Скрытность (affecter)скрытыйСкрытность: "Остаётесь незамеченным и не можете быть целью. Эффект прекращается сразу, если вы наносите урон врагу." A hard on/off flag. Задано в данных, но сейчас не даётся ни одним доступным предметом, чертой или навыком.
Дальность агро8 клетокРадиус угрозы, в котором монстр вступает в бой (GAMESYSTEM_Combat_Basic_AggroRange = 8). Он совпадает со стандартным обзором в 8 клеток, поэтому у большинства монстров обнаружение и вступление в бой происходят на одной дистанции.
Тип атаки (ближний бой против дальнего)выбор целиАгро/угроза масштабируется тем, как вы бьёте: ближний бой x1.3, дальний бой x1 (AggroCorrection). Ближний бой тянет на 30% больше агро, поэтому он решает, на каком из ваших юнитов монстр фиксируется - рычаг танкования, а не первичное обнаружение.
Восприятие (Fortify / Weaken / Elixir)неясноНесмотря на имя, характеристика Восприятие задаёт Силу физической атаки и Силу магической атаки, Шанс критического удара и Кулинарные способности - её живой StatusValueTable коэффициент Дальности обзора равен 0 а внутриигровая подсказка не указывает эффекта обзора. Поэтому Усиление восприятия / Ослабление восприятия (±30%) и Эликсир Восприятия +3 являются не подтверждёнными модификаторами обнаружения в этой версии.

Как с этим работать практический вывод

  • Углы сильнее дистанции. Линия обзора - единственный жёсткий ограничитель, который всегда включён. Стена скрывает вас на любой дальности; открытое пространство нет, даже далеко.
  • Разведывайте крайности. Глаз (обзор 16 клеток) заметит вас через всю комнату, а к Детёнышу Глота Бездны (обзор 4 клетки) можно проскользнуть на несколько клеток. У большинства стоит 8.
  • Ночной рейд бьёт в обе стороны. Штраф -3 к обзору ночью даёт подойти ближе, но ваши юниты так же слепы - берите ночное видение, если оно есть.
  • Пусть ближний бой держит агро. Ближний бой даёт ~30% больше угрозы, чем дальний, поэтому тело на передней линии держит монстров подальше от более хрупких дальников и заклинателей.
  • Скрытность для сброса, не для фарма. Зелье Скрытности чисто разрывает контакт, но первый нанесённый удар снимает её.