Распишу по пунктам, как добавить например к "огненому шару" аномалию Жарка...
Открываете файл gamedata/config/misc/artefacts.ltx и там в самом начале файла такая секция:
;Артефакты, которые при активизации создают аномальные зоны
;формат: {секция_артефакта} = {секция_зоны},Radius,Power
[artefact_spawn_zones]
af_medusa = zone_mosquito_bald_weak, 2.0, 30.0
Обозначает, что артефакт af_medusa при активации создаст аномальную зону zone_mosquito_bald_weak с радиусом 2 метра и мощностью 30 (возможно, влияет и на время жизни аномалии).
Кончается этот список по идее строчкой
mp_af_electra_flash = zone_witches_galantine, 3, 50.0
и сразу после неё пишете:
af_fireball = zone_zharka_static, 3, 30.0
В принципе, можно прописать там не _static, а _weak. Не знаю, что из них правильнее использовать... _static работает тоже.В той же папке есть файл zone_zharka, где описаны свойства зон _weak, _average, _strong (слабая, средняя, сильная), а также зона zone_zharka_static.
После этого у вас игра станет вылетать с ошибкой про невозможность обнаружить последовательность, описывающую анимацию активации аномалии.
А это всё там же, в начале файла, чуть ниже того, где вы добавили новый артефакт в список, есть такие строчки:
[af_activation_gravi]
;------------------------------------------------------------------------------------------------------------------------------
;format: time(sec), sound_name, light_R,G,B, light_range, particle_name, af_animation_name
;------------------------------------------------------------------------------------------------------------------------------
starting = 5.0, anomaly\gravi_idle00, 0.5, 1.0, 1.5, 5.0, "anomaly2\artefact_gravi_blast_start", "idle"
flying = 2.0, anomaly\gravi_idle01, 0.8, 1.0, 1.2, 3.0, "anomaly2\artefactartefact_gravi", "idle"
idle_before_spawning = 5.0, anomaly\gravi_blowout5, 1.0, 1.0, 1, 0.0, "anomaly2\artefact_gravi_blast_finished", "idle"
spawning = 1, anomaly\gravity_entrance, 0.9, 1.1, 1.01, 0.0, "", "idle"
Что как раз и описывает анимацию..
По-хорошему надо написать свою анимацию к жарке, но это, честно говоря, не обязательно... потому что нам сейчас важна не красота, а работоспособность.... Так вот... из заголовка [af_activation_gravi] берем название последовательности af_activation_gravi и ищем сам артефакт af_fireball (кто уже забыл зачем, мы на него собирались вешать новую активацию).
Найдете что-то вроде:
[af_fireball]:af_base
GroupControlSection = spawn_group
$spawn = "artifacts\zharka fireball"
$npc = on ; option for Level Editor
;$prefetch = 3
cform = skeleton
class = ARTEFACT
visual = physics\anomaly\artefact_fire.ogf
description = enc_zone_artifact_af-fireball
inv_name = af-fireball
И где-нибудь тут добавляете строчку:
artefact_activation_seq = af_activation_gravi
И на этом всё. Прописываем в artefacts.ltx в блоке
[af_base]:identity_immunities
вместо ;slot=10 вот это: slot=1. Насколько я знаю, знак ; означает, что строка закомментирована (неактивна). У себя я прописывал slot=1 между строчками
inv_name = af-electra-moonlight
inv_name_short =
inv_weight = 0.05
slot = 1
inv_grid_x = 10
inv_grid_y = 10
для того артефакта, который хочу активировать.
В игре берем артефакт в первый слот и активируем.
By XiaNi.