Каждый блок может быть определен несколько раз.
🔥 [EvadeDodgeBlock]
[EvadeDodgeBlock]
nickname = STRING
evade_dodge_style_weight = STRING, INT ;Multiple
evade_dodge_cone_angle = INT
evade_dodge_interval_time = INT
evade_dodge_time = INT
evade_dodge_distance = INT
evade_activate_range = INT
evade_dodge_roll_angle = INT
evade_dodge_waggle_axis_cone_angle = INT
evade_dodge_slide_throttle = INT
evade_dodge_turn_throttle = INT
evade_dodge_corkscrew_turn_throttle = FLOAT
evade_dodge_corkscrew_roll_throttle = INT
evade_dodge_corkscrew_roll_flip_direction = BOOL
evade_dodge_interval_time_variance_percent = FLOAT
evade_dodge_cone_angle_variance_percent = FLOAT
evade_dodge_direction_weight = STRING, FLOAT ;multiple
| Параметр |
Описание |
| nickname |
Как эта запись называется или на неё ссылаются в других местах. |
| evade_dodge_style_weight |
Принимает стиль уклонения (waggle, waggle_random, slide и corkscrew) и вес, определяющий поведение NPC при переходе в состояние EVADE.
waggle: промежуточный вариант между waggle_random и corkscrew.
waggle_random: случайный, резкий. Очень сильное и непредсказуемое защитное поведение, особенно против слабых пилотов.
slide: отключение двигателя, дрейф и надежда на лучшее. Фактически намеренная ошибка, чтобы ИИ был смертным.
corkscrew: длинные плавные кривые. Сильное, если защитник легче атакующего, слабое при равном весе, так как движение предсказуемо. |
| evade_dodge_cone_angle |
Принимает значение в радианах (float). Наличие врага в этом конусе и в пределах evade_activate_range переводит пилота в поведение EVADE. |
| evade_dodge_interval_time |
Возможно, минимальная продолжительность фазы EVADE, не прерываемой переходом в TRAIL/FACE/BUZZ. Например, установка этого параметра и evade_dodge_time в 100 делает уклонения бесконечными, установка evade_dodge_interval_time в 100 и evade_dodge_time в 3 — нет. |
| evade_dodge_time |
Максимальное время, которое пилот проводит в одной фазе EVADE. |
| evade_dodge_distance |
Пилот будет уклоняться, пока не пройдёт указанное расстояние от цели. После завершения уклонения оно не повторяется, пока дистанция не будет снова пересечена. |
| evade_activate_range |
Наличие противника в конусе и в пределах этого радиуса переключает пилота в EVADE. Меньший радиус делает противника более агрессивным, больший — чаще заставляет защищаться. |
| evade_dodge_roll_angle |
|
| evade_dodge_waggle_axis_cone_angle |
|
| evade_dodge_slide_throttle |
По-видимому, ничего не делает, если установить 1. |
| evade_dodge_turn_throttle |
Установка в 0 делает все уклонения прямыми. Значение не превышает 1. |
| evade_dodge_corkscrew_turn_throttle |
Установка в 0 делает corkscrew прямым и неэффективным. Значение не превышает 1. |
| evade_dodge_corkscrew_roll_throttle |
Установка в 0 делает corkscrew прямым и неэффективным. Значение не превышает 1. |
| evade_dodge_corkscrew_roll_flip_direction |
Вероятно, делает манёвр более «жарким». Эффект неясен. |
| evade_dodge_interval_time_variance_percent |
|
| evade_dodge_cone_angle_variance_percent |
|
| evade_dodge_direction_weight |
Задает вес направления, в котором выполняются уклонения (возможно, не актуально для случайного waggle). Шансы могут быть слегка смещены. Из-за интерфейса уклонение вниз заставляет ИИ чаще стрелять по игрокам. Варианты: left, right, up, down. |
📎 [EvadeBreakBlock]
[EvadeBreakBlock]
nickname = STRING
evade_break_roll_throttle = FLOAT
evade_break_time = INT
evade_break_interval_time = FLOAT
evade_break_afterburner_delay = INT
evade_break_afterburner_delay_variance_percent = INT
evade_break_attempt_reverse_time = INT
evade_break_reverse_distance = INT
evade_break_turn_throttle = INT
evade_break_direction_weight = STRING, INT
evade_break_direction_weight = STRING, INT
evade_break_style_weight = STRING, INT
evade_break_style_weight = STRING, INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| evade_break_roll_throttle |
|
| evade_break_time |
|
| evade_break_interval_time |
|
| evade_break_afterburner_delay |
|
| evade_break_afterburner_delay_variance_percent |
|
| evade_break_attempt_reverse_time |
|
| evade_break_reverse_distance |
|
| evade_break_turn_throttle |
|
| evade_break_direction_weight |
|
| evade_break_style_weight |
|
⚡ [BuzzHeadTowardBlock]
[BuzzHeadTowardBlock]
nickname = STRING
buzz_min_distance_to_head_toward = INT
buzz_min_distance_to_head_toward_variance_percent = FLOAT
buzz_max_time_to_head_away = INT
buzz_head_toward_engine_throttle = FLOAT
buzz_head_toward_turn_throttle = INT
buzz_head_toward_roll_throttle = INT
buzz_slide_throttle = INT
buzz_slide_interval_time = INT
buzz_slide_interval_time_variance_percent = FLOAT
buzz_dodge_turn_throttle = INT
buzz_dodge_cone_angle = INT
buzz_dodge_cone_angle_variance_percent = FLOAT
buzz_dodge_waggle_axis_cone_angle = INT
buzz_dodge_roll_angle = INT
buzz_dodge_interval_time = INT
buzz_dodge_interval_time_variance_percent = FLOAT
buzz_dodge_direction_weight = STRING, FLOAT
buzz_dodge_direction_weight = STRING, FLOAT
buzz_head_toward_style_weight = STRING, INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| buzz_min_distance_to_head_toward |
|
| buzz_min_distance_to_head_toward_variance_percent |
|
| buzz_max_time_to_head_away |
|
| buzz_head_toward_engine_throttle |
|
| buzz_head_toward_turn_throttle |
|
| buzz_head_toward_roll_throttle |
|
| buzz_slide_throttle |
|
| buzz_slide_interval_time |
|
| buzz_slide_interval_time_variance_percent |
|
| buzz_dodge_turn_throttle |
|
| buzz_dodge_cone_angle |
|
| buzz_dodge_cone_angle_variance_percent |
|
| buzz_dodge_waggle_axis_cone_angle |
|
| buzz_dodge_roll_angle |
|
| buzz_dodge_interval_time |
|
| buzz_dodge_interval_time_variance_percent |
|
| buzz_dodge_direction_weight |
|
| buzz_head_toward_style_weight |
|
💥 [BuzzPassByBlock]
[BuzzPassByBlock]
nickname = STRING
buzz_distance_to_pass_by = INT
buzz_pass_by_time = INT
buzz_break_direction_cone_angle = INT
buzz_break_turn_throttle = FLOAT
buzz_pass_by_roll_throttle = INT
buzz_drop_bomb_on_pass_by = BOOL
buzz_break_direction_weight = STRING, INT
buzz_pass_by_style_weight = STRING, INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| buzz_distance_to_pass_by |
|
| buzz_pass_by_time |
|
| buzz_break_direction_cone_angle |
|
| buzz_break_turn_throttle |
|
| buzz_pass_by_roll_throttle |
|
| buzz_drop_bomb_on_pass_by |
|
| buzz_break_direction_weight |
|
| buzz_pass_by_style_weight |
|
💨 [TrailBlock]
[TrailBlock]
nickname = STRING
trail_lock_cone_angle = INT
trail_break_time = FLOAT
trail_min_no_lock_time = INT
trail_break_roll_throttle = INT
trail_break_afterburner = BOOL
trail_max_turn_throttle = FLOAT
trail_distance = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| trail_lock_cone_angle |
|
| trail_break_time |
|
| trail_min_no_lock_time |
|
| trail_break_roll_throttle |
|
| trail_break_afterburner |
|
| trail_max_turn_throttle |
|
| trail_distance |
|
⚡ [StrafeBlock]
[StrafeBlock]
nickname = STRING
strafe_run_away_distance = INT
strafe_attack_throttle = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| strafe_run_away_distance |
|
| strafe_attack_throttle |
|
📎 [EngineKillBlock]
[EngineKillBlock]
nickname = STRING
engine_kill_search_time = INT
engine_kill_face_time = INT
engine_kill_use_afterburner = BOOL
engine_kill_afterburner_time = INT
engine_kill_max_target_distance = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| engine_kill_search_time |
|
| engine_kill_face_time |
|
| engine_kill_use_afterburner |
|
| engine_kill_afterburner_time |
|
| engine_kill_max_target_distance |
|
💢 [RepairBlock]
[RepairBlock]
nickname = STRING
use_shield_repair_pre_delay = INT
use_shield_repair_post_delay = INT
use_shield_repair_at_damage_percent = INT
use_hull_repair_pre_delay = INT
use_hull_repair_post_delay = INT
use_hull_repair_at_damage_percent = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| use_shield_repair_pre_delay |
|
| use_shield_repair_post_delay |
|
| use_shield_repair_at_damage_percent |
|
| use_hull_repair_pre_delay |
|
| use_hull_repair_post_delay |
|
| use_hull_repair_at_damage_percent |
|
🔥 [GunBlock]
Это определяет поведение NPC при стрельбе из обычного оружия. Солнечные пушки используют только значения с префиксом auto_turret и требуют установки auto_turret = true для оружия.
[GunBlock]
nickname = STRING
gun_fire_interval_time = FLOAT
gun_fire_interval_variance_percent = FLOAT
gun_fire_burst_interval_time = INT
gun_fire_burst_interval_variance_percent = FLOAT
gun_fire_no_burst_interval_time = INT
gun_fire_accuracy_cone_angle = INT
gun_fire_accuracy_power = INT
gun_fire_accuracy_power_npc = INT
gun_range_threshold = FLOAT
gun_target_point_switch_time = INT
gun_range_threshold_variance_percent = FLOAT
fire_style = STRING
auto_turret_interval_time = FLOAT
auto_turret_burst_interval_time = INT
auto_turret_no_burst_interval_time = INT
auto_turret_burst_interval_variance_percent = FLOAT
| Parameter |
Information |
| nickname |
Как эта запись упоминается в другом месте. |
| gun_fire_interval_time |
|
| gun_fire_interval_variance_percent |
|
| gun_fire_burst_interval_time |
|
| gun_fire_burst_interval_variance_percent |
|
| gun_fire_no_burst_interval_time |
|
| gun_fire_accuracy_cone_angle |
|
| gun_fire_accuracy_power |
|
| gun_fire_accuracy_power_npc |
|
| gun_range_threshold |
|
| gun_target_point_switch_time |
|
| gun_range_threshold_variance_percent |
|
| fire_style |
Варианты: single или multiple. single запрещает NPC стрелять более чем одним оружием одновременно. multiple — стандартное поведение ванили, при котором NPC стреляют из своего оружия свободно. |
| auto_turret_interval_time |
|
| auto_turret_burst_interval_time |
|
| auto_turret_no_burst_interval_time |
|
| auto_turret_burst_interval_variance_percent |
|
📎 [MissileBlock]
[MissileBlock]
nickname = STRING
missile_launch_interval_time = INT
missile_launch_interval_variance_percent = FLOAT
missile_launch_range = INT
missile_launch_cone_angle = INT
missile_launch_allow_out_of_range = BOOL
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| missile_launch_interval_time |
|
| missile_launch_interval_variance_percent |
|
| missile_launch_range |
|
| missile_launch_cone_angle |
|
| missile_launch_allow_out_of_range |
|
🔥 [DamageReactionBlock]
[DamageReactionBlock]
nickname = STRING
evade_break_damage_trigger_percent = FLOAT
evade_dodge_more_damage_trigger_percent = FLOAT
engine_kill_face_damage_trigger_percent = INT
engine_kill_face_damage_trigger_time = INT
roll_damage_trigger_percent = FLOAT
roll_damage_trigger_time = INT
afterburner_damage_trigger_percent = FLOAT
afterburner_damage_trigger_time = FLOAT
brake_reverse_damage_trigger_percent = INT
drop_mines_damage_trigger_percent = FLOAT
drop_mines_damage_trigger_time = FLOAT
fire_guns_damage_trigger_percent = INT
fire_guns_damage_trigger_time = INT
fire_missiles_damage_trigger_percent = INT
fire_missiles_damage_trigger_time = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| evade_break_damage_trigger_percent |
|
| evade_dodge_more_damage_trigger_percent |
|
| engine_kill_face_damage_trigger_percent |
|
| engine_kill_face_damage_trigger_time |
|
| roll_damage_trigger_percent |
|
| roll_damage_trigger_time |
|
| afterburner_damage_trigger_percent |
|
| afterburner_damage_trigger_time |
|
| brake_reverse_damage_trigger_percent |
|
| drop_mines_damage_trigger_percent |
|
| drop_mines_damage_trigger_time |
|
| fire_guns_damage_trigger_percent |
|
| fire_guns_damage_trigger_time |
|
| fire_missiles_damage_trigger_percent |
|
| fire_missiles_damage_trigger_time |
|
🔭 [CountermeasureBlock]
[CountermeasureBlock]
nickname = STRING
countermeasure_active_time = INT
countermeasure_unactive_time = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| countermeasure_active_time |
|
| countermeasure_unactive_time |
|
[FormationBlock]
nickname = formation_fighter_test
countermeasure_unactive_time = INT
force_attack_formation_unactive_time = INT
break_formation_damage_trigger_percent = FLOAT
break_formation_damage_trigger_time = INT
break_formation_missile_reaction_time = INT
break_apart_formation_missile_reaction_time = INT
break_apart_formation_on_evade_break = BOOL
break_formation_on_evade_break_time = INT
formation_exit_top_turn_break_away_throttle = INT
formation_exit_roll_outrun_throttle = INT
formation_exit_max_time = INT
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| countermeasure_unactive_time |
|
| force_attack_formation_unactive_time |
|
| break_formation_damage_trigger_percent |
|
| break_formation_damage_trigger_time |
|
| break_formation_missile_reaction_time |
|
| break_apart_formation_missile_reaction_time |
|
| break_apart_formation_on_evade_break |
|
| break_formation_on_evade_break_time |
|
| formation_exit_top_turn_break_away_throttle |
|
| formation_exit_roll_outrun_throttle |
|
| formation_exit_max_time |
|
🔭 [JobBlock]
[JobBlock]
nickname = STRING
wait_for_leader_target = BOOL
maximum_leader_target_distance = INT
flee_when_leader_flees_style = BOOL
scene_toughness_threshold = STRING
flee_scene_threat_style = STRING
flee_when_hull_damaged_percent = INT
flee_no_weapons_style = BOOL
loot_flee_threshold = STRING
attack_subtarget_order = STRING
field_targeting = STRING
loot_preference = STRING
force_attack_formation = BOOL
combat_drift_distance = INT
attack_preference = STRING, INT, BITFIELD
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| wait_for_leader_target |
|
| maximum_leader_target_distance |
|
| flee_when_leader_flees_style |
|
| scene_toughness_threshold |
|
| flee_scene_threat_style |
|
| flee_when_hull_damaged_percent |
|
| flee_no_weapons_style |
|
| loot_flee_threshold |
|
| attack_subtarget_order |
|
| field_targeting |
|
| loot_preference |
|
| force_attack_formation |
|
| combat_drift_distance |
|
| attack_preference |
|
📎 [Pilot]
[Pilot]
nickname = STRING
inherit = STRING
gun_id = STRING
missile_id = STRING
evade_dodge_id = STRING
evade_break_id = STRING
buzz_head_toward_id = STRING
buzz_pass_by_id = STRING
trail_id = STRING
strafe_id = STRING
engine_kill_id = STRING
mine_id = STRING
countermeasure_id = STRING
damage_reaction_id = STRING
missile_reaction_id = STRING
formation_id = STRING
repair_id = STRING
job_id = STRING
| Параметр |
Описание |
| nickname |
Как эта запись упоминается в другом месте. |
| inherit |
|
| gun_id |
|
| missile_id |
|
| evade_dodge_id |
|
| evade_break_id |
|
| buzz_head_toward_id |
|
| buzz_pass_by_id |
|
| trail_id |
|
| strafe_id |
|
| engine_kill_id |
|
| mine_id |
|
| countermeasure_id |
|
| damage_reaction_id |
|
| missile_reaction_id |
|
| formation_id |
|
| repair_id |
|
| job_id |
|