Работа с файлами: SpellList.mes, WeaponEyeCandy.mes
Советы, наблюдения, рекомендации, приеры внедрения в Arcanum.
Мануал подготовлен по выступлению Shakal на нашем Форуме. Благодарим его за этот материал, надеюсь — не последний. Далее текст автора.
Ниже я попробую описать собственные наблюдения и наработки в ресурсах Arcanum.
Рассмотрим поочерёдно файлы с которыми я чуть-чуть разобрался.
1) SpellList.mes — лежит в директории Arcanum\data\Rules
Файл позволяет менять эффекты заклинаний, гранат, динамита, взрывчатки, технических эликсиров и прочего подобного. Я в душе видимо технарь, потому забрёл в этот файл в поисках часовой бомбы и динамита:)
То что искал, нашёл, но и много другого обнаружил.
Итак, рассмотрим, например, динамит. Открываем SpellList.mes блокнотом и в окошке поиска текста набираем Dynamite. Видим:
- // 37 — mtTechDynamite [Item: Explosion (Dynamite)]
- ///-11750-AoE: Tgt_Tile | Tgt_Self | Tgt_Obj_Radius, Radius: 2-
- {11800}{AoE: Tgt_Tile | Tgt_Obj_Radius, Radius: 2, [Callback]AoE: Tgt_Summoned}
- ///-11750-AoE: Tgt_Tile_Self | Tgt_Obj_Radius, Radius: 2-
- {11801}{Cost: 0, Info: aggressive}
- {11803}{No_Stack: 0}
- {11805}{[Begin], AoE: Tgt_Obj_Radius | Tgt_Obj_No_Self, Type: Damage, DmgType: Dmg_Fire, Dmg: 5-20}
- {11806}{[Begin], AoE: Tgt_Obj_Radius | Tgt_Obj_No_Self, Type: Damage, DmgType: Dmg_Normal, Dmg: 200-250}
- {11807}{[Begin], AoE: Tgt_Obj_Radius | Tgt_Obj_No_Self, Type: EyeCandy, 2, Add}
- {11808}{[Begin], AoE: Tgt_Obj_Radius | Tgt_Obj_No_Self, Type: EyeCandy, 3, Add, Play: Stack}
- {11809}{[Begin], AoE: Tgt_Obj_Radius | Tgt_Obj_No_Self | Tgt_Obj_T_Critter, Type: AGoal, anim_goal_knockback}
- {11810}{[Begin], AoE: Tgt_Tile, Type: Summon, Proto: 4050}
- {11811}{[Begin], AoE: Tgt_Tile, Apply_AoE: Tgt_Summoned, Type: EyeCandy, 2, Add, Play: Callback}
- {11812}{[Begin], Apply_AoE: Tgt_Self, Type: Destroy}
- {11813}{[Callback], AoE: Tgt_Summoned, Type: Destroy, Summoned Object}
Многое понятно сходу. Например, сразу вторая строчка, параметр Radius: 2 — Это радиус взрыва. Можно увеличить или уменьшить. Параметр встречается несколько раз. Допускаю (!) что один отвечает за действие взрыва, а другой за визуальное отображение (размер).
Параметр {Cost: 0, Info: aggressive} — похоже отвечает за реакцию NPC после применения на нём данного предмета.
aggressive — NPC становится враждебен к вам после применения на нём.
friendly — NPC никак не реагирует. Этот параметр висит на всех лечебных мазях, эликсирах и т. д.
Я проэкспириментировал, нашёл в файле бутылку вина (Food: Wine) и поменял параметр friendly на aggressive. Итог — верный Вирджил после насильного влития в него спиртного тут же напал на меня.
Помните эликсир гипнотического внушения(аналог заклинания), позволяющий управлять волей NPC какое то время? Или усыпляющий эликсир? Или парализующее зелье (Sleep Aid, Potion of Paralysis... и т. д.)? Полагаю, что достаточно поменять параметр aggressive на friendly и неписяи не будут атаковать вас когда у них наступит отходняк. Тоже самое относится к усыпляющей(Knock-Out Gas) или парализующей (Paralysis (Grenade))гранате. Допускаю, потому что пока не тестил. Однако почти каждый предмет и заклинание имеет эту систему — «друг или враг» и в вашей власти менять результат.
Ниже есть строчки «Type: Damage, DmgType: Dmg_Fire, Dmg: 5-20» Тут можно указать
во-первых — вид действия.«Type: Damage» — атаковать, «Type: Heal» — лечить. А также типы повреждения или лечения.
Dmg_Fire — огненное.
Dmg_Magic — магическое
Dmg_Normal — нормальное
Dmg_Poison — Яд
Dmg_Electrical — электричество
Dmg_Flags — усталость
В общем, основные виды повреждения, висят на оружии, заклинаниях, гранатах. Интуитивно легко разобраться и менять всё как вам угодно.
Во-вторых сама мощность, в данном случае — 5-20 опять же легко меняется. НО! Это не относится к файлам, для которых существует отдельный Pro файл. Заклинания, гранаты, свитки, эликсиры — это в большинстве своём легко редактируется в этом файле. А для ружей, мечей, бумерангов и прочего оружия пролетариата придётся редактировать Pro файлы в hex редакторе. Пока не сделали нормальный редактор. Но об этом я расскажу попозже.
Опять же, важно! Например, усыпляющая граната или транквилизаторская винтовка выносят всю усталость за раз. Damage, DmgType: Dmg_Magic, Dmg_Flags: Full "
Dmg_Flags" как понятно урон усталости, а «Full» означает что выносится сразу за один выстрел или взрыв, смотря что используете. Кстати, когда я заменил у транквилизаторской винтовки Full на 500, игра вылетала при загрузке. Почему — не знаю. Без редактирования Pro в hex редакторе в данном случае не обойтись.
Теперь немного рассмотрим заклинания на основе уже рассмотренного.
Например — «Стена камня»
- // 17 — Wall of Stone
- {1850}{AoE: Tgt_None, Radius: 2
— кто вам мешает поменять радиус стены? Не экспериментировал, можете попробовать.
А вот — «Тело в камень»
- // 18 — Body of Stone
- {1900}{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead, [End]AoE: Tgt_Object}
- {1901}{Cost: 25, Maintain: (2 @ 10)}
- {1903}{Disallowed_TSF: OSF_BODY_OF_AIR | OSF_BODY_OF_EARTH | OSF_BODY_OF_FIRE | OSF_BODY_OF_WATER | OSF_POLYMORPHED}
- {1904}{AI_Defensive: (13 @ 0)}
- {1905}{[Begin], Type: Trait, art_num, 3, Palette: 1}
- {1906}{[Begin], Type: ObjFlag, obj_f_spell_flags, OSF_BODY_OF_EARTH, FLAG_ON}
- {1907}{[Begin], Type: Effect, 61, Add} // −5 speed, +5 dmg
- {1908}{[Begin], Type: Effect, 52, Add} // min DR 50
- {1909}{[Begin], Type: EyeCandy, 2, Add}
- {1910}{[End], Type: ObjFlag, obj_f_spell_flags, OSF_BODY_OF_EARTH, FLAG_OFF}
- {1911}{[End], Type: Trait, art_num, −1}
- {1912}{[End], Type: Effect, 61, Remove}
- {1913}{[End], Type: Effect, 52, Remove}
- {1914}{[End], Type: EyeCandy, 2, Remove}
- {1915}{[End], Type: EyeCandy, 2, Add, Play: Reverse}
Заклинание, если помните, трансформирует вас или других NPC в каменного элементаля.
Внимательно рассмотрите строчки. Многое понятно непосредственно из текста
{Cost: 25 — застрачиваемая манна (усталость) при колдовании.
[Begin], Type: Effect, 61, Add} // −5 speed, +5 dmg
Add (добавить) −5 speed +5dmg (-5 скорость, +5 повреждение? Или сопротивляемость ему, не суть..)
Видите ниже строчки
- {1912}{[End], Type: Effect, 61, Remove}
- {1913}{[End], Type: Effect, 52, Remove}
- {1914}{[End], Type: EyeCandy, 2, Remove}
Строчки снимают все эффекты, наложенные заклинанием (Remove — удалить). Полагаю, что если убрать эти параметры, неписяй так и останется элементалем. Не проверял, всё пока в теории. Однако вспомните, в магической школе Морф, есть заклинание превращающее врага в камень "Flesh to Stone«(не путайте с ранее описанным). Прочитал в интернете, господа из Тройки изначально планировали что бы действие заклинание было постоянным. То есть, враг превратится в камень навсегда. А обратно его — только другим заклинанием, которое в игру включено не было. Вот и сделали временный эффект.
Теперь рассмотрим некромантское заклинание Вред.
- // 55 — rm
- {3750}{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead | Tgt_Obj_No_Self}
- {3751}{Cost: 5, Info: aggressive}
- {3754}{AI_Offensive: 1}
- // Dmg_Magic
- {3755}{[Begin], Type: Damage, DmgType: Dmg_Normal, Dmg: 5-40, Dmg_Flags: Scaled}
- {3756}{[Begin], Type: EyeCandy, 2, Add}
Самое простенькое, просто наносит нормальное повреждение (5-40 как видно). Что значит параметр Scaled для меня пока загадка, максимум что я выжал из перевода это масштабированный или соотнесенный. Вероятно, урон «плавает», в зависимости от магической направленности персонажа?
Пример, что мы можем с ним сотворить? Поменяйте «aggressive» на «friendly», «Type: Damage» на «Type: Heal» и теперь оно будет лечить.
Поменяйте Dmg_Normal на Dmg_Poison и оно будет лечить от яда. Верните обратно «Type: Damage» и оно будет травить ядом.
Это самый простой пример. В вашей власти, модеры, поменять все заклинания как вам (нам) угодно. Рассмотрите схемы заклинаний, эффекты одних заклинаний можно копировать или менять в другие. Тут только ум и фантазия ограничивают вас.
Как заядлый технарь — я не копал магию слишком глубоко.
Ну что ещё рассказать об этом файле? В нём ловушки и некоторые кольца.
Вот электрическое кольцо («Заряженное»), дающее плюс к ловкости:
- // 06 — mtTechDexEnhancer [Electrical: Charged Ring]
- {10250}{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead, [End]AoE: Tgt_Object}
- {10251}{Range: 2, Info: friendly}
- {10253}{No_Stack: 1, ItemTriggers: Wear | Unwear}
- {10255}{[Begin], ItemTriggers: Wear, Type: Effect, 118, Add}
- {10256}{[Begin], ItemTriggers: Wear, Type: EyeCandy, 2, Add}
- {10257}{[Begin], ItemTriggers: Unwear, Type: Effect, 118, Remove}
В данном случае обратите внимание на последние строчки.
Wear — одеть, Effect Add
Unwear — снять, Effect Remove
Всё вроде понятно?
Вот медвежья ловушка:
- // 01 — mtTechSnare [Mechanical: Bear Trap]
- -10000-AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead | Tgt_Obj_No_Self, [End]AoE: Tgt_Object-
- -10001-Duration: (10 @ −1), Info: aggressive- // 60
- -10003-Cancels_SF: OSF_ENTANGLED, ItemTriggers: Target_Hit-
- -10005-[Begin], Type: ObjFlag, obj_f_spell_flags, OSF_ENTANGLED, FLAG_ON-
- -10006-[Begin], Type: EyeCandy, 2, Add-
- -10007-[Begin], Type: EyeCandy, 3, Add, Play: Stack-
- -10008-[Begin], Type: Effect, 62, Add- // Speed −5
- -10009-[End], Type: ObjFlag, obj_f_spell_flags, OSF_ENTANGLED, FLAG_OFF-
- -10010-[End], Type: EyeCandy, 2, Remove-
- -10011-[End], Type: EyeCandy, 3, Remove-
- -10012-[End], Type: EyeCandy, 2, Add, Play: Reverse- // Dissipating
- -10013-[End], Type: Effect, 62, Remove-
Внимательно осмотрите строчки. Вам уже должно быть понятно, какая строчка отвечает за тормоз NPC при срабатывании ловушки и какая строчка в конце концов снимает эффект. Хотите сотрите все Remove строчки и неписяй вероятно останется в капкане навечно. Главное — вам самому в него не наступить.
Если вы разобрались во всём что я объяснил, дальше просто перекапывая файл можно нарыть много новых эффектов и творить новое по своему желанию.
На этом с этим файлом закончим.
2) Перейдём к WeaponEyeCandy.mes — лежит в той же директории Arcanum\data\Rules
Тут можно поменять анимацию выстрелов огнестрельного оружия, изменить скорость полёта бумерангов, чакр, звезды Азрама. Повесить второй звук на оружие и (я уверен) — многое ещё другое, что я не нарыл.
Рассмотрим слоновье ружьё.
- {100}{bp_weapon_elephant_gun}
- {101}{} // Power Gather
- {102}{Art: 422, Palette: 1, Scale: 100%, Blend: Add, Flags: overlay_fb | animates, Light: 1, Light Color: (255 @ 255 @ 255)} // Fire
- {103}{} // Projectile — Speed ONLY
- {104}{} // Hit
- {105}{} // Secondary Hit
Art: 422 — это анимация выстрела. То самое пламя, которое мы видим при стрельбе. У разного оружия оно разное.
Art: 370 — револьверы и пистолеты.
Art: 375 — ружья.
Art: 423 — огнемёт.
Анимация свободно меняется от одного оружия к другому. Если строчка отсутствует, то оружие будет стрелять вообще без анимации (Например Варбингер Дроча:_D)
Сам выстрел, и всё действие оружия происходит по порядку! От первой строчки до последней. Не понимаете? Щаззз поймёте.
Рассмотрим броневицкое ружо с Острова Отчаянья.
- {200}{bp_weapon_bronwycks_gun}
- {201}{} // Power Gather
- {202}{} // Fire
- {203}{Proj Speed: 2} // Projectile — Speed ONLY
- {204}{Art: 398, Palette: 1, Scale: 100%, Blend: Add, Sound: 8827, Flags: overlay_fb | animates, Light: 1, Light Color: (255 @ 255 @ 255)} // Hit
- {205}{Art: 349, Palette: 1, Scale: 100%, Blend: Add, Flags: overlay_f | animates} // Secondary Hit
Тут мы видим параметр Speed (скорость). Это скорость полёта снаряда до цели. Если параметр отсутствует, то действие мгновенно, как у любого огнестрельного оружия в игре. Но тут... чем выше число, тем быстрее полёт этого огненного шарика до цели. Поставьте 10 и рубить будет почти мгновенно.
Параметр есть, кстати, и у Звезды Азрама и у прочих метательных бумерангах, и также прекрасно меняется на ваше усмотрение. Art:398 это как понятно анимация самого огненного шарика, вылетающего из броневицкого ружья.
А теперь ниже видите строчку где указан ещё один арт?
Art: 349 — это анимация того что произойдёт после попадания снаряда в цель. В данном случае — небольшой взрыв и вспышка. Можно понавешать на разное другое оружие, в том числе магические луки, мечи. Экспериментируйте.
Помните, именно последняя строчка в параметрах отвечает за это!!!
Главное понять! Первая строчка — действие оружия начинается.
Последняя строчка — последний визуальный или звуковой эффект оружия. Также, на некоторых видах оружия, в данном файлике, вешается дополнительный звук.
Вот, к примеру, посох Тесла.
- {110}{bp_weapon_tesla_rod}
- {111}{} // Power Gather
- {112}{Sound: 15040} // Fire
- {113}{} // Projectile — Speed ONLY
- {114}{Art: 150, Palette: 1, Scale: 100%, Blend: Add, Sound: 24105, Flags: overlay_fb | animates, Light: 8} // Hit
- {115}{Art: 349, Palette: 1, Scale: 100%, Blend: Add, Flags: overlay_f | animates} // Secondary Hit
Видите третью строчку? Посох стреляет со звуком удара молнии и именно сие написанное отвечает за это. Обычно звук оружия прописывается в Pro файле самого оружия, но это — исключение. На его основе можно многое сделать. Например, скопируйте эту строчку в схему Tesla_Gun и любимое ружьё Tesla будет стрелять со звуком удара молнии. Точнее — с двумя звуками, который прописан в pro и который прописан тут (как работать с pro я объясню позднее). Скопируйте последнюю строчку от броневицкого ружья в схему Tesla Gun и при попадании снаряда в цель вы увидите знакомый взрыв и вспышку. Но это всё визуальные эффекты, сам тип повреждений и мощность меняется в pro файлах (объясню позже как).
Ну, что ещё сказать? Опять же, если вы разобрались в том что я написал, вы легко сможете менять-добавлять эффекты одних оружий к другим. Ваша фантазия единственный ограничитель. Во многом, кстати, я не разобрался. Например — параметры animates, Light: 1, Light Color: (255 @ 255 @ 255). Они практически на всем оружии одинаковы. Похоже — отвечают за какую-то анимацию и цвета. Не пробовал пока редактировать.
С этом все. Удачи и успехов.

Для комментирования материалов регистрация на сайте не нужна. Правила публикации: наличие здравого смысла. Спам удаляется, Email комментаторов не публикуется.