AdvancedAI

Библиотека AdvancedAI добавляет новые типы исскуственного интеллекта для системы мобов в Inner Core. Библиотека распространяется свободно и доступна по данной ссылке.

Типы ИИ

В AdvancedAI доступно 7 новых типов ИИ.

AdvancedAI.EnemyWatcher

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

  • attackAI: "attack" - имя ИИ атаки моба,
  • followAI: "follow" - имя ИИ преследования моба,
  • find_delay: 20 - перерыв между поисками игрока в тиках,
  • priority_on_attack: 5 - приоритет ИИ атаки и преследования, если игрок доступен как цель,
  • priority_on_idle: 0 - приоритет ИИ атаки и преследования, если игрок не доступен как цель,
  • feelingModifier: 10 - радиус сферы поиска игрока в блоках

AdvancedAI.Shooting

Тип ИИ, стрельба заданными сущностями в сторону взгляда моба. Параметры и значения по умолчанию:

  • ammo_type: Native.EntityType.FIREBALL - тип сущности, выстреливаемой мобом,
  • shoot_speed: 20 - перерыв между выстрелами в тиках,
  • projectile_speed: 0.2 - скорость выстреливаемого существа

AdvancedAI.PhaseWatcher

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

  • phases: [] - массив описаний поведения

Формат описания поведения и значения по умолчанию:

{
     ai: [], //список ИИ моба, активируемых во время действия поведения
     priority: 5, //приоритет ИИ из ai во время действия поведения
     other_priority: 0, //приоритет ИИ из ai во время действия другого поведения,
     time: 1, //время действия поведения в тиках
}

AdvancedAI.PlayerWatcher

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

  • ai: [] - список ИИ, которым игрок задается как цель

AdvancedAI.Summoning

Тип ИИ, призывает вокруг моба сущности заданного типа. Параметры и значения по умолчанию:

  • entity: Native.EntityType.ZOMBIE - тип призываемой сущности
  • spawn_area: 2 - радиус зоны призыва сущностей
  • summon_delay: 30 - перерыв между призывами сущностей

AdvancedAI.Lifetimer

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

  • damageTimer: 60 - перерыв между уменьшениями здоровья

Настройка ИИ

Задание этих типов ИИ контроллеру происходит как задание стандартных:

Пример:

"shoot": {
     type: AdvancedAI.Shooting,
     priority: 5,
     projectile_speed: 0.5,
     shoot_speed: 35
 }