Розпишу по пунктах, як додати наприклад до "вогняної кулі" аномалію Жарка...
Відкриваєте файл 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 . У тій же папці є файл 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,1,0,0,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
для того артефакту, який хочу активувати.
У грі беремо артефакт у перший слот та активуємо.