1.3.0: шкала 20 убийств за уровень, два индикатора, мир между подчинёнными

Уровень навыка игра хранит ОДНИМ БАЙТОМ (ProgressionValue.Write/Read), поэтому
старая шкала "одно убийство - один уровень" при max_level=5000 на каждом
сохранении откатывала уровень на 256 назад. Снаружи это выглядело как
самопроизвольно закрывающиеся рецепты (жалоба со стрима: Слёзы мертвеца открыты,
Пир падальщика под замком при 250+ убитых), а тиры 500/2000/3000/5000 были
недостижимы в принципе. Подтверждено на двух живых сейвах: sezon8 - 384 убийства
при уровне 129, test8 - 303 при уровне 48.

Шкала переведена на 20 убийств = 1 уровень, max_level=250 - влезает в байт с
запасом. Уровень больше не накапливается, а вычисляется из necroZombieKillsCVar
(float, сохраняется честно) и на каждом убийстве, и постфиксом на
PlayerDataFile.ToPlayer - последнее чинит старые сейвы само, без команд и новой
игры. Открытое при этом не теряется: в старой шкале уровень всегда был не больше
счётчика, так что пересчёт может только вернуть украденное переполнением.
Отдельно закрыт случай "счётчик пуст, а уровень есть" - счётчик восстанавливается
из уровня по старой шкале.

Все пороги пересчитаны в уровни, числа убийств не тронуты, кроме воды: 30 на
сетку шагом 20 не ложится, по указанию пользователя мод переехал на 20 - туда же,
где браслет и Кровавая сфера. Тег necroNecromancyLvl30 удалён. Сходимость всех 18
рецептов (тег -> RecipeTagUnlocked -> unlock_tier) проверена скриптом.

Два индикатора: череп в статус-баре показывает уровень (раньше - общее число
убийств), фиолетовая шкала над полосой опыта - продвижение внутри уровня, 0..20.
Шкала сделана вёрсткой, а не баффом (бафф умеет число, но не полосу), заполнение
привязано через XUi-выражение cvar(). Закрывающая скобка у выражения - одна "}",
а не "%}": лишний "%" NCalc читает как остаток от деления и ждёт правый операнд,
на чём первая проверка в игре и споткнулась.

Третья правка: подчинённые зомби больше не дерутся между собой. Девиация выдаёт
приказ "бей зомби", а подчинённый сам EntityZombie, и в targetClasses выражается
только тип. Постфикс на EAITarget.check вычёркивает подчинённого из кандидатов
(зомби выбирает следующего, настоящего врага), префикс на
EntityAlive.SetAttackTarget гасит цель на путях мимо выбора - прежде всего месть,
когда подчиняют уже дерущихся.

Тексты на 13 языках, README (RU+EN), описания для сайта и Nexus приведены к новой
шкале.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-09-17 23:24:25 +03:00
co-authored by Claude Opus 5
parent fbd58ad018
commit ed5fea5192
14 changed files with 613 additions and 145 deletions
+4 -4
View File
@@ -1,10 +1,10 @@
Key,File,Type,UsedInMainMenu,NoTranslate,KeepLoaded,english,Context / Alternate Text,german,spanish,french,italian,japanese,koreana,polish,brazilian,russian,turkish,schinese,tchinese
buffNecroZombieKillTrackerDisplay,buffs,Buff,,,,Zombie Kill Tracker,,Zähler getöteter Zombies,Contador de zombis eliminados,Compteur de zombies tués,Contatore di zombie uccisi,ゾンビ討伐カウンター,좀비 처치 기록기,Licznik zabitych zombie,Contador de zumbis mortos,Счётчик убитых зомби,Öldürülen Zombi Sayacı,僵尸击杀计数器,殭屍擊殺計數器
buffNecroZombieKillTrackerDisplayName,buffs,Buff,,,,Total Zombie Kills,,Getötete Zombies insgesamt,Total de zombis eliminados,Total de zombies tués,Zombie uccisi in totale,ゾンビ討伐総数,총 좀비 처치 수,Łącznie zabitych zombie,Total de zumbis mortos,Всего убито зомби,Toplam Öldürülen Zombi,僵尸击杀总数,殭屍擊殺總數
buffNecroZombieKillTrackerDisplayDesc,buffs,Buff,,,,Tracks the total number of zombies you have killed. Never resets.,,"Zählt, wie viele Zombies du insgesamt getötet hast. Wird nie zurückgesetzt.",Cuenta el número total de zombis que has eliminado. Nunca se reinicia.,Compte le nombre total de zombies que tu as tués. Ne se réinitialise jamais.,Conta il numero totale di zombie che hai ucciso. Non si azzera mai.,あなたが倒したゾンビの総数を数える。リセットされることはない。,당신이 처치한 좀비의 총수를 셉니다. 절대 초기화되지 않습니다.,Liczy łączną liczbę zabitych przez ciebie zombie. Nigdy się nie zeruje.,Conta o número total de zumbis que você matou. Nunca é reiniciado.,Считает общее количество убитых вами зомби. Никогда не сбрасывается.,Öldürdüğün toplam zombi sayısını takip eder. Asla sıfırlanmaz.,统计你击杀的僵尸总数。永不重置。,統計你擊殺的殭屍總數。永不重置
buffNecroZombieKillTrackerDisplay,buffs,Buff,,,,Necromancy Level,,Nekromantie-Stufe,Nivel de Nigromancia,Niveau de Nécromancie,Livello di Negromanzia,降霊術レベル,강령술 레벨,Poziom Nekromancji,Nível de Necromancia,Уровень некромантии,Nekromansi Seviyesi,亡灵法术等级,亡靈法術等級
buffNecroZombieKillTrackerDisplayName,buffs,Buff,,,,Necromancy Level,,Nekromantie-Stufe,Nivel de Nigromancia,Niveau de Nécromancie,Livello di Negromanzia,降霊術レベル,강령술 레벨,Poziom Nekromancji,Nível de Necromancia,Уровень некромантии,Nekromansi Seviyesi,亡灵法术等级,亡靈法術等級
buffNecroZombieKillTrackerDisplayDesc,buffs,Buff,,,,Your Necromancy level. Every 20 zombies you put to rest raise it by one; the purple bar beside the experience bar shows how far you are into the current level.,,Deine Nekromantie-Stufe. Je 20 zur Ruhe gebettete Zombies bringen eine Stufe; der violette Balken neben der Erfahrungsleiste zeigt den Fortschritt innerhalb der aktuellen Stufe.,Tu nivel de Nigromancia. Cada 20 zombis que devuelves al descanso suben un nivel; la barra morada junto a la de experiencia muestra tu progreso dentro del nivel actual.,Ton niveau de Nécromancie. Chaque tranche de 20 zombies mis au repos donne un niveau ; la barre violette près de la barre d'expérience indique ta progression dans le niveau en cours.,Il tuo livello di Negromanzia. Ogni 20 zombie messi a riposo valgono un livello; la barra viola accanto a quella dell'esperienza mostra i tuoi progressi nel livello attuale.,降霊術のレベル。ゾンビを20体葬るごとに1レベル上がる。経験値バーの隣にある紫のバーは、現在のレベル内での進み具合を示す。,"당신의 강령술 레벨입니다. 좀비 20마리를 잠재울 때마다 1레벨씩 오르며, 경험치 막대 옆의 보라색 막대가 현재 레벨의 진행도를 보여줍니다.","Twój poziom Nekromancji. Każde 20 uśpionych zombie daje jeden poziom, a fioletowy pasek obok paska doświadczenia pokazuje postęp w obecnym poziomie.",Seu nível de Necromancia. A cada 20 zumbis levados ao descanso você sobe um nível; a barra roxa ao lado da barra de experiência mostra o progresso dentro do nível atual.,"Твой уровень некромантии. Каждые 20 упокоенных зомби поднимают его на единицу, а фиолетовая шкала рядом с полосой опыта показывает продвижение внутри текущего уровня.",Nekromansi seviyen. Huzura kavuşturduğun her 20 zombi bir seviye kazandırır; deneyim çubuğunun yanındaki mor çubuk mevcut seviyedeki ilerlemeni gösterir.,你的亡灵法术等级。每安息 20 只僵尸提升一级,经验条旁边的紫色进度条显示当前等级内的进度。,你的亡靈法術等級。每安息 20 隻殭屍提升一級,經驗條旁邊的紫色進度條顯示目前等級內的進度
craftingNecroNecromancyName,progression,Attribute,,,,Necromancy,,Nekromantie,Nigromancia,Nécromancie,Negromanzia,降霊術,강령술,Nekromancja,Necromancia,Некромантия,Nekromansi,亡灵法术,亡靈法術
craftingNecroNecromancyDesc,progression,Attribute,,,,Levels up as you kill zombies.,,"Steigt, während du Zombies tötest.",Sube de nivel a medida que matas zombis.,Progresse à mesure que tu tues des zombies.,Sale di livello man mano che uccidi zombie.,ゾンビを倒すほどレベルが上がる。,좀비를 처치할수록 레벨이 오릅니다.,Rośnie w miarę zabijania zombie.,Sobe de nível conforme você mata zumbis.,Растёт по мере убийства зомби.,Zombi öldürdükçe seviye kazanır.,随着击杀僵尸而提升。,隨著擊殺殭屍而提升。
craftingNecroNecromancyLongDesc,progression,Attribute,,,,"Every zombie you kill adds a level to this skill, up to 5000. Its recipes unlock in 5 groups by total zombies killed: Adept from the start, Journeyman at 500, Apprentice at 2000, Necromancer at 3000, Master at 5000.",,"Jeder getötete Zombie bringt dieser Fertigkeit eine Stufe, bis zu 5000. Ihre Rezepte schalten sich in 5 Gruppen frei, nach der Gesamtzahl getöteter Zombies: Adept von Anfang an, Geselle bei 500, Lehrling bei 2000, Nekromant bei 3000, Meister bei 5000.","Cada zombi que matas añade un nivel a esta habilidad, hasta 5000. Sus recetas se desbloquean en 5 grupos según el total de zombis eliminados: Adepto desde el principio, Oficial a los 500, Aprendiz a los 2000, Nigromante a los 3000, Maestro a los 5000.","Chaque zombie tué ajoute un niveau à cette compétence, jusqu'à 5000. Ses recettes se débloquent en 5 groupes selon le total de zombies tués : Adepte dès le début, Compagnon à 500, Apprenti à 2000, Nécromancien à 3000, Maître à 5000.","Ogni zombie che uccidi aggiunge un livello a questa abilità, fino a 5000. Le sue ricette si sbloccano in 5 gruppi in base al totale di zombie uccisi: Adepto fin dall'inizio, Artigiano a 500, Apprendista a 2000, Negromante a 3000, Maestro a 5000.",ゾンビを1体倒すごとに、このスキルのレベルが1上がる(上限5000)。レシピは討伐総数に応じて5つのグループで解放される。アデプトは最初から、ジャーニーマンは500、見習いは2000、ネクロマンサーは3000、マスターは5000。,"좀비를 하나 처치할 때마다 이 기술의 레벨이 1씩 오릅니다(최대 5000). 제작법은 누적 처치 수에 따라 5개 그룹으로 해금됩니다. 숙련자는 처음부터, 직인은 500, 도제는 2000, 강령술사는 3000, 명인은 5000.","Każdy zabity zombie dodaje poziom tej umiejętności, aż do 5000. Jej receptury odblokowują się w 5 grupach według łącznej liczby zabitych zombie: Adept od początku, Czeladnik przy 500, Uczeń przy 2000, Nekromanta przy 3000, Mistrz przy 5000.","Cada zumbi que você mata adiciona um nível a esta habilidade, até 5000. Suas receitas são desbloqueadas em 5 grupos conforme o total de zumbis mortos: Adepto desde o início, Oficial aos 500, Aprendiz aos 2000, Necromante aos 3000, Mestre aos 5000.","Каждый убитый зомби добавляет уровень этому навыку, максимум 5000. Рецепты открываются 5 группами по общему числу убитых зомби: Адепт — с самого начала, Подмастерье — 500, Ученик — 2000, Некромант — 3000, Мастер — 5000.","Öldürdüğün her zombi bu yeteneğe bir seviye ekler, en fazla 5000'e kadar. Tarifleri, toplam öldürülen zombi sayısına göre 5 grup hâlinde açılır: Ehil en baştan, Kalfa 500'de, Çırak 2000'de, Nekromant 3000'de, Usta 5000'de.",每击杀只僵尸,此技能便提升一级,上限 5000。其配方按击杀总数分 5 组解锁:修习者一开始即可用,熟手 500,学徒 2000,亡灵法师 3000,宗师 5000,每擊殺隻殭屍,此技能便提升一級,上限 5000。其配方按擊殺總數分 5 組解鎖:修習者一開始即可用,熟手 500,學徒 2000,亡靈法師 3000,宗師 5000
craftingNecroNecromancyLongDesc,progression,Attribute,,,,"Every 20 zombies you kill add a level to this skill, up to level 250 (5000 zombies). Its recipes unlock in 5 groups by level: Adept from the start, Journeyman at 25, Apprentice at 100, Necromancer at 150, Master at 250.",,"Je 20 getötete Zombies bringen dieser Fertigkeit eine Stufe, bis zu Stufe 250 (5000 Zombies). Ihre Rezepte schalten sich in 5 Gruppen nach Stufe frei: Adept von Anfang an, Geselle bei 25, Lehrling bei 100, Nekromant bei 150, Meister bei 250.","Cada 20 zombis que matas añaden un nivel a esta habilidad, hasta el nivel 250 (5000 zombis). Sus recetas se desbloquean en 5 grupos según el nivel: Adepto desde el principio, Oficial a los 25, Aprendiz a los 100, Nigromante a los 150, Maestro a los 250.","Chaque tranche de 20 zombies tués ajoute un niveau à cette compétence, jusqu'au niveau 250 (5000 zombies). Ses recettes se débloquent en 5 groupes selon le niveau : Adepte dès le début, Compagnon à 25, Apprenti à 100, Nécromancien à 150, Maître à 250.","Ogni 20 zombie uccisi aggiungono un livello a questa abilità, fino al livello 250 (5000 zombie). Le sue ricette si sbloccano in 5 gruppi in base al livello: Adepto fin dall'inizio, Artigiano a 25, Apprendista a 100, Negromante a 150, Maestro a 250.",ゾンビを20体倒すごとに、このスキルのレベルが1上がる(上限250、ゾンビ5000)。レシピはレベルに応じて5つのグループで解放される。アデプトは最初から、ジャーニーマンは25、見習いは100、ネクロマンサーは150、マスターは250。,"좀비 20마리를 처치할 때마다 이 기술의 레벨이 1씩 오릅니다(최대 250, 좀비 5000마리). 제작법은 레벨에 따라 5개 그룹으로 해금됩니다. 숙련자는 처음부터, 직인은 25, 도제는 100, 강령술사는 150, 명인은 250.","Każde 20 zabitych zombie dodaje poziom tej umiejętności, aż do poziomu 250 (5000 zombie). Jej receptury odblokowują się w 5 grupach według poziomu: Adept od początku, Czeladnik przy 25, Uczeń przy 100, Nekromanta przy 150, Mistrz przy 250.","A cada 20 zumbis mortos você ganha um nível nesta habilidade, até o nível 250 (5000 zumbis). Suas receitas são desbloqueadas em 5 grupos conforme o nível: Adepto desde o início, Oficial aos 25, Aprendiz aos 100, Necromante aos 150, Mestre aos 250.","Каждые 20 убитых зомби добавляют уровень этому навыку, максимум 250 (5000 зомби). Рецепты открываются 5 группами по уровню: Адепт — с самого начала, Подмастерье — 25, Ученик — 100, Некромант — 150, Мастер — 250.","Öldürdüğün her 20 zombi bu yeteneğe bir seviye ekler, en fazla 250. seviyeye kadar (5000 zombi). Tarifleri, seviyeye göre 5 grup hâlinde açılır: Ehil en baştan, Kalfa 25'te, Çırak 100'de, Nekromant 150'de, Usta 250'de.",每击杀 20 只僵尸,此技能便提升一级,上限 250 级(5000 只僵尸)。其配方按等级分 5 组解锁:修习者一开始即可用,熟手 25 级,学徒 100,亡灵法师 150 级,宗师 250,每擊殺 20 隻殭屍,此技能便提升一級,上限 250 級(5000 隻殭屍)。其配方按等級分 5 組解鎖:修習者一開始即可用,熟手 25 級,學徒 100,亡靈法師 150 級,宗師 250
craftingNecroNecromancyTier1Name,progression,Attribute,,,,Adept,,Adept,Adepto,Adepte,Adepto,アデプト,숙련자,Adept,Adepto,Адепт,Ehil,修习者,修習者
craftingNecroNecromancyTier2Name,progression,Attribute,,,,Journeyman,,Geselle,Oficial,Compagnon,Artigiano,ジャーニーマン,직인,Czeladnik,Oficial,Подмастерье,Kalfa,熟手,熟手
craftingNecroNecromancyTier3Name,progression,Attribute,,,,Apprentice,,Lehrling,Aprendiz,Apprenti,Apprendista,見習い,도제,Uczeń,Aprendiz,Ученик,Çırak,学徒,學徒
1 Key File Type UsedInMainMenu NoTranslate KeepLoaded english Context / Alternate Text german spanish french italian japanese koreana polish brazilian russian turkish schinese tchinese
2 buffNecroZombieKillTrackerDisplay buffs Buff Zombie Kill Tracker Necromancy Level Zähler getöteter Zombies Nekromantie-Stufe Contador de zombis eliminados Nivel de Nigromancia Compteur de zombies tués Niveau de Nécromancie Contatore di zombie uccisi Livello di Negromanzia ゾンビ討伐カウンター 降霊術レベル 좀비 처치 기록기 강령술 레벨 Licznik zabitych zombie Poziom Nekromancji Contador de zumbis mortos Nível de Necromancia Счётчик убитых зомби Уровень некромантии Öldürülen Zombi Sayacı Nekromansi Seviyesi 僵尸击杀计数器 亡灵法术等级 殭屍擊殺計數器 亡靈法術等級
3 buffNecroZombieKillTrackerDisplayName buffs Buff Total Zombie Kills Necromancy Level Getötete Zombies insgesamt Nekromantie-Stufe Total de zombis eliminados Nivel de Nigromancia Total de zombies tués Niveau de Nécromancie Zombie uccisi in totale Livello di Negromanzia ゾンビ討伐総数 降霊術レベル 총 좀비 처치 수 강령술 레벨 Łącznie zabitych zombie Poziom Nekromancji Total de zumbis mortos Nível de Necromancia Всего убито зомби Уровень некромантии Toplam Öldürülen Zombi Nekromansi Seviyesi 僵尸击杀总数 亡灵法术等级 殭屍擊殺總數 亡靈法術等級
4 buffNecroZombieKillTrackerDisplayDesc buffs Buff Tracks the total number of zombies you have killed. Never resets. Your Necromancy level. Every 20 zombies you put to rest raise it by one; the purple bar beside the experience bar shows how far you are into the current level. Zählt, wie viele Zombies du insgesamt getötet hast. Wird nie zurückgesetzt. Deine Nekromantie-Stufe. Je 20 zur Ruhe gebettete Zombies bringen eine Stufe; der violette Balken neben der Erfahrungsleiste zeigt den Fortschritt innerhalb der aktuellen Stufe. Cuenta el número total de zombis que has eliminado. Nunca se reinicia. Tu nivel de Nigromancia. Cada 20 zombis que devuelves al descanso suben un nivel; la barra morada junto a la de experiencia muestra tu progreso dentro del nivel actual. Compte le nombre total de zombies que tu as tués. Ne se réinitialise jamais. Ton niveau de Nécromancie. Chaque tranche de 20 zombies mis au repos donne un niveau ; la barre violette près de la barre d'expérience indique ta progression dans le niveau en cours. Conta il numero totale di zombie che hai ucciso. Non si azzera mai. Il tuo livello di Negromanzia. Ogni 20 zombie messi a riposo valgono un livello; la barra viola accanto a quella dell'esperienza mostra i tuoi progressi nel livello attuale. あなたが倒したゾンビの総数を数える。リセットされることはない。 降霊術のレベル。ゾンビを20体葬るごとに1レベル上がる。経験値バーの隣にある紫のバーは、現在のレベル内での進み具合を示す。 당신이 처치한 좀비의 총수를 셉니다. 절대 초기화되지 않습니다. 당신의 강령술 레벨입니다. 좀비 20마리를 잠재울 때마다 1레벨씩 오르며, 경험치 막대 옆의 보라색 막대가 현재 레벨의 진행도를 보여줍니다. Liczy łączną liczbę zabitych przez ciebie zombie. Nigdy się nie zeruje. Twój poziom Nekromancji. Każde 20 uśpionych zombie daje jeden poziom, a fioletowy pasek obok paska doświadczenia pokazuje postęp w obecnym poziomie. Conta o número total de zumbis que você matou. Nunca é reiniciado. Seu nível de Necromancia. A cada 20 zumbis levados ao descanso você sobe um nível; a barra roxa ao lado da barra de experiência mostra o progresso dentro do nível atual. Считает общее количество убитых вами зомби. Никогда не сбрасывается. Твой уровень некромантии. Каждые 20 упокоенных зомби поднимают его на единицу, а фиолетовая шкала рядом с полосой опыта показывает продвижение внутри текущего уровня. Öldürdüğün toplam zombi sayısını takip eder. Asla sıfırlanmaz. Nekromansi seviyen. Huzura kavuşturduğun her 20 zombi bir seviye kazandırır; deneyim çubuğunun yanındaki mor çubuk mevcut seviyedeki ilerlemeni gösterir. 统计你击杀的僵尸总数。永不重置。 你的亡灵法术等级。每安息 20 只僵尸提升一级,经验条旁边的紫色进度条显示当前等级内的进度。 統計你擊殺的殭屍總數。永不重置。 你的亡靈法術等級。每安息 20 隻殭屍提升一級,經驗條旁邊的紫色進度條顯示目前等級內的進度。
5 craftingNecroNecromancyName progression Attribute Necromancy Nekromantie Nigromancia Nécromancie Negromanzia 降霊術 강령술 Nekromancja Necromancia Некромантия Nekromansi 亡灵法术 亡靈法術
6 craftingNecroNecromancyDesc progression Attribute Levels up as you kill zombies. Steigt, während du Zombies tötest. Sube de nivel a medida que matas zombis. Progresse à mesure que tu tues des zombies. Sale di livello man mano che uccidi zombie. ゾンビを倒すほどレベルが上がる。 좀비를 처치할수록 레벨이 오릅니다. Rośnie w miarę zabijania zombie. Sobe de nível conforme você mata zumbis. Растёт по мере убийства зомби. Zombi öldürdükçe seviye kazanır. 随着击杀僵尸而提升。 隨著擊殺殭屍而提升。
7 craftingNecroNecromancyLongDesc progression Attribute Every zombie you kill adds a level to this skill, up to 5000. Its recipes unlock in 5 groups by total zombies killed: Adept from the start, Journeyman at 500, Apprentice at 2000, Necromancer at 3000, Master at 5000. Every 20 zombies you kill add a level to this skill, up to level 250 (5000 zombies). Its recipes unlock in 5 groups by level: Adept from the start, Journeyman at 25, Apprentice at 100, Necromancer at 150, Master at 250. Jeder getötete Zombie bringt dieser Fertigkeit eine Stufe, bis zu 5000. Ihre Rezepte schalten sich in 5 Gruppen frei, nach der Gesamtzahl getöteter Zombies: Adept von Anfang an, Geselle bei 500, Lehrling bei 2000, Nekromant bei 3000, Meister bei 5000. Je 20 getötete Zombies bringen dieser Fertigkeit eine Stufe, bis zu Stufe 250 (5000 Zombies). Ihre Rezepte schalten sich in 5 Gruppen nach Stufe frei: Adept von Anfang an, Geselle bei 25, Lehrling bei 100, Nekromant bei 150, Meister bei 250. Cada zombi que matas añade un nivel a esta habilidad, hasta 5000. Sus recetas se desbloquean en 5 grupos según el total de zombis eliminados: Adepto desde el principio, Oficial a los 500, Aprendiz a los 2000, Nigromante a los 3000, Maestro a los 5000. Cada 20 zombis que matas añaden un nivel a esta habilidad, hasta el nivel 250 (5000 zombis). Sus recetas se desbloquean en 5 grupos según el nivel: Adepto desde el principio, Oficial a los 25, Aprendiz a los 100, Nigromante a los 150, Maestro a los 250. Chaque zombie tué ajoute un niveau à cette compétence, jusqu'à 5000. Ses recettes se débloquent en 5 groupes selon le total de zombies tués : Adepte dès le début, Compagnon à 500, Apprenti à 2000, Nécromancien à 3000, Maître à 5000. Chaque tranche de 20 zombies tués ajoute un niveau à cette compétence, jusqu'au niveau 250 (5000 zombies). Ses recettes se débloquent en 5 groupes selon le niveau : Adepte dès le début, Compagnon à 25, Apprenti à 100, Nécromancien à 150, Maître à 250. Ogni zombie che uccidi aggiunge un livello a questa abilità, fino a 5000. Le sue ricette si sbloccano in 5 gruppi in base al totale di zombie uccisi: Adepto fin dall'inizio, Artigiano a 500, Apprendista a 2000, Negromante a 3000, Maestro a 5000. Ogni 20 zombie uccisi aggiungono un livello a questa abilità, fino al livello 250 (5000 zombie). Le sue ricette si sbloccano in 5 gruppi in base al livello: Adepto fin dall'inizio, Artigiano a 25, Apprendista a 100, Negromante a 150, Maestro a 250. ゾンビを1体倒すごとに、このスキルのレベルが1上がる(上限5000)。レシピは討伐総数に応じて5つのグループで解放される。アデプトは最初から、ジャーニーマンは500、見習いは2000、ネクロマンサーは3000、マスターは5000。 ゾンビを20体倒すごとに、このスキルのレベルが1上がる(上限250、ゾンビ5000体)。レシピはレベルに応じて5つのグループで解放される。アデプトは最初から、ジャーニーマンは25、見習いは100、ネクロマンサーは150、マスターは250。 좀비를 하나 처치할 때마다 이 기술의 레벨이 1씩 오릅니다(최대 5000). 제작법은 누적 처치 수에 따라 5개 그룹으로 해금됩니다. 숙련자는 처음부터, 직인은 500, 도제는 2000, 강령술사는 3000, 명인은 5000. 좀비 20마리를 처치할 때마다 이 기술의 레벨이 1씩 오릅니다(최대 250, 좀비 5000마리). 제작법은 레벨에 따라 5개 그룹으로 해금됩니다. 숙련자는 처음부터, 직인은 25, 도제는 100, 강령술사는 150, 명인은 250. Każdy zabity zombie dodaje poziom tej umiejętności, aż do 5000. Jej receptury odblokowują się w 5 grupach według łącznej liczby zabitych zombie: Adept od początku, Czeladnik przy 500, Uczeń przy 2000, Nekromanta przy 3000, Mistrz przy 5000. Każde 20 zabitych zombie dodaje poziom tej umiejętności, aż do poziomu 250 (5000 zombie). Jej receptury odblokowują się w 5 grupach według poziomu: Adept od początku, Czeladnik przy 25, Uczeń przy 100, Nekromanta przy 150, Mistrz przy 250. Cada zumbi que você mata adiciona um nível a esta habilidade, até 5000. Suas receitas são desbloqueadas em 5 grupos conforme o total de zumbis mortos: Adepto desde o início, Oficial aos 500, Aprendiz aos 2000, Necromante aos 3000, Mestre aos 5000. A cada 20 zumbis mortos você ganha um nível nesta habilidade, até o nível 250 (5000 zumbis). Suas receitas são desbloqueadas em 5 grupos conforme o nível: Adepto desde o início, Oficial aos 25, Aprendiz aos 100, Necromante aos 150, Mestre aos 250. Каждый убитый зомби добавляет уровень этому навыку, максимум 5000. Рецепты открываются 5 группами по общему числу убитых зомби: Адепт — с самого начала, Подмастерье — 500, Ученик — 2000, Некромант — 3000, Мастер — 5000. Каждые 20 убитых зомби добавляют уровень этому навыку, максимум 250 (5000 зомби). Рецепты открываются 5 группами по уровню: Адепт — с самого начала, Подмастерье — 25, Ученик — 100, Некромант — 150, Мастер — 250. Öldürdüğün her zombi bu yeteneğe bir seviye ekler, en fazla 5000'e kadar. Tarifleri, toplam öldürülen zombi sayısına göre 5 grup hâlinde açılır: Ehil en baştan, Kalfa 500'de, Çırak 2000'de, Nekromant 3000'de, Usta 5000'de. Öldürdüğün her 20 zombi bu yeteneğe bir seviye ekler, en fazla 250. seviyeye kadar (5000 zombi). Tarifleri, seviyeye göre 5 grup hâlinde açılır: Ehil en baştan, Kalfa 25'te, Çırak 100'de, Nekromant 150'de, Usta 250'de. 每击杀一只僵尸,此技能便提升一级,上限 5000。其配方按击杀总数分 5 组解锁:修习者一开始即可用,熟手 500,学徒 2000,亡灵法师 3000,宗师 5000。 每击杀 20 只僵尸,此技能便提升一级,上限 250 级(5000 只僵尸)。其配方按等级分 5 组解锁:修习者一开始即可用,熟手 25 级,学徒 100 级,亡灵法师 150 级,宗师 250 级。 每擊殺一隻殭屍,此技能便提升一級,上限 5000。其配方按擊殺總數分 5 組解鎖:修習者一開始即可用,熟手 500,學徒 2000,亡靈法師 3000,宗師 5000。 每擊殺 20 隻殭屍,此技能便提升一級,上限 250 級(5000 隻殭屍)。其配方按等級分 5 組解鎖:修習者一開始即可用,熟手 25 級,學徒 100 級,亡靈法師 150 級,宗師 250 級。
8 craftingNecroNecromancyTier1Name progression Attribute Adept Adept Adepto Adepte Adepto アデプト 숙련자 Adept Adepto Адепт Ehil 修习者 修習者
9 craftingNecroNecromancyTier2Name progression Attribute Journeyman Geselle Oficial Compagnon Artigiano ジャーニーマン 직인 Czeladnik Oficial Подмастерье Kalfa 熟手 熟手
10 craftingNecroNecromancyTier3Name progression Attribute Apprentice Lehrling Aprendiz Apprenti Apprendista 見習い 도제 Uczeń Aprendiz Ученик Çırak 学徒 學徒
+46
View File
@@ -116,4 +116,50 @@
<sprite name="blackout" depth="0" sprite="menu_empty" type="sliced" color="[black]" anchor_left="#cam,0,-10" anchor_right="#cam,1,10" anchor_bottom="#cam,0,-10" anchor_top="#cam,1,10" globalopacitymod="0"/>
</window>
</append>
<!-- ФИОЛЕТОВАЯ ШКАЛА НЕКРОМАНТИИ, 2026-09-17. Продиктовано: "Есть индикатор опыта. Это шкала
до уровня. А мы сделаем ещё одну шкалу, которая заполняется каждые 20 зомби... Каждое
заполнение индикатора пусть добавляет уровень некромантии, а индикатор обнуляет."
Заполнение считает не вёрстка: necroNecromancyProgressCVar (0..19) пишет
HarmonySrc/NecromancyKillCreditPatch.cs на каждом убийстве и при загрузке игрока, деля
общее число упокоенных зомби на 20 с остатком. Шкала обнуляется сама собой - вместе с
переходом остатка через двадцатку растёт уровень Некромантии (череп в статус-баре).
ПОЧЕМУ ЭТО ВЁРСТКА, А НЕ ЕЩЁ ОДИН БАФФ. Бафф умеет показать ЧИСЛО (display_value), но не
полосу. Полоса - это sprite type="filled" с атрибутом fill 0..1, и живёт она в окне.
Взято ровно то окно и ровно тот приём, которым нарисована ванильная полоса опыта:
windowToolbelt, три спрайта друг на друге (серая подложка, чёрная рамка fillcenter="false",
заливка) - см. Data/Config/XUi_InGame/windows.xml, строки с fill="{xp}". Наша полоса
стоит на 12 пикселей выше опыта (pos 0,20 против 0,8) и той же ширины 750.
ПРИВЯЗКА. fill читает CVar через функцию выражений cvar() - она есть в самой игре
(BindingNcalcFunctions.cvar, регистрирует BindingInfoNcalc.VariableStateCVar, который
сам перечитывает значение, а не застывает на первом).
ЗАКРЫВАЮЩАЯ СКОБКА - ОДНА "}", А НЕ "%}". Это не стилистика, а единственная рабочая форма,
и первая же проверка в игре (17.09, лог 22-36-46) на этом и споткнулась:
ERR [XUi] Binding expression can not be evaluated. Binding fill="{% cvar(...) / 20 %}"
EXC no viable alternative at input '<EOF>' at line 1:44
Открывается выражение как "{%", а закрывается просто "}" - так во всех ванильных
примерах (Data/Config/XUi_InGame/windows.xml: visible="{% int(windowWidth) &gt;= 300 }",
text="{% dictvalue(sandboxvalues, '1') }"). Лишний "%" остаётся ВНУТРИ выражения, а в
NCalc это оператор остатка от деления, поэтому парсер честно ждёт после него правый
операнд и упирается в конец строки - позиция 44 в сообщении указывает ровно на него.
Ошибка разовая, не в каждый кадр: привязка, не сумев вычислиться, гаснет насовсем, то
есть полоса просто не работает молча.
Если полоса когда-нибудь опять не появится или застынет - запасной путь такой: писать из
C# готовую долю 0..1 в отдельный CVar и подставлять её без арифметики в вёрстке. Своего XUi-контроллера тут сознательно
нет: находит ли движок контроллер из сборки мода, в этом моде так и не проверено (см.
комментарий к финальным слайдам выше), а окно с контроллером было бы риском без нужды.
Цвет 150,60,220 - фиолетовый, как просили; альфа 200, чтобы полоса читалась поверх
тёмного HUD, но не спорила с опытом яркостью. -->
<append xpath="/windows/window[@name='windowToolbelt']/rect">
<sprite depth="1" pos="0,20" height="8" color="[mediumGrey]" sprite="menu_empty2px" globalopacitymod="0" type="sliced" />
<sprite depth="9" pos="0,20" height="8" color="[black]" sprite="menu_empty2px" globalopacitymod="0" type="sliced" fillcenter="false" />
<sprite depth="4" pos="0,20" height="8" width="750" color="150,60,220,200" globalopacitymod="0" type="filled" fill="{% cvar('necroNecromancyProgressCVar') / 20 }" />
</append>
</windows>
+18 -2
View File
@@ -10,12 +10,28 @@
</append>
<append xpath="/buffs">
<!-- Never expires (duration 0): a persistent lifetime total, not a per-day/session counter. -->
<!-- Never expires (duration 0): a persistent lifetime total, not a per-day/session counter.
ЧТО ПОКАЗЫВАЕТ, ИЗМЕНЕНО 2026-09-17. Раньше бафф показывал общее число убитых зомби
(necroZombieKillsCVar). Теперь - УРОВЕНЬ НЕКРОМАНТИИ (necroNecromancyLevelCVar), по
указанию пользователя: "череп - уровень некромантии... 20 зомби за уровень". Само
число убийств никуда не делось, оно по-прежнему копится в necroZombieKillsCVar (и
по-прежнему задаёт урон ножа ниже) - просто на экране его место занял уровень, а
продвижение внутри уровня показывает отдельная фиолетовая шкала в HUD рядом с полосой
опыта (Config/XUi_InGame/windows.xml, CVar necroNecromancyProgressCVar).
Оба CVar'а пишет HarmonySrc/NecromancyKillCreditPatch.cs - и на каждом убийстве, и при
загрузке игрока. В XML их считать нельзя: уровень обязан совпадать с
ProgressionValue.Level бит в бит, а деление в ModifyCVar дало бы дробь (19.2).
Ключ имени/описания (buffNecroZombieKillTrackerDisplayName/Desc) переписан в
Localization.csv на всех 13 языках той же правкой. Имя самого баффа НЕ трогалось
намеренно: по нему бафф лежит в сейвах у всех, кто уже играет. -->
<buff name="buffNecroZombieKillTrackerDisplay" icon="ui_game_symbol_skull" icon_color="150,0,0" name_key="buffNecroZombieKillTrackerDisplayName" description_key="buffNecroZombieKillTrackerDisplayDesc">
<stack_type value="ignore"/>
<duration value="0"/>
<update_rate value=".1"/>
<display_value value="necroZombieKillsCVar"/>
<display_value value="necroNecromancyLevelCVar"/>
<!-- Нож некроманта (BACKLOG.md item 5, user request 2026-08-28): "урон умножается на
скилл некроманта ... и делится на 10". Computed here (this buff already ticks
+112 -61
View File
@@ -18,16 +18,33 @@
zombieTemplateMale that already drives necroZombieKillsCVar (see
entityclasses.xml) - one kill, one level, capped at max_level.
max_level=5000, with 5 recipe groups gated at fixed total-zombie-kills
thresholds (proportional to the original 1000-max version: 0.1% / 10% / 40%
/ 60% / 100%):
Group 1 "Адепт" - available from the start (level 1), but not all
of it - individual recipes within the group still
unlock at their own level as usual.
Group 2 "Подмастерье" - level 500
Group 3 "Ученик" - level 2000
Group 4 "Некромант" - level 3000
Group 5 "Мастер" - level 5000
ШКАЛА ПЕРЕДЕЛАНА 2026-09-17: 20 УБИЙСТВ = 1 УРОВЕНЬ, max_level=250.
Было "одно убийство - один уровень" при max_level=5000, и это молча ломалось на КАЖДОМ
СОХРАНЕНИИ, потому что ванильный ProgressionValue хранит уровень ОДНИМ БАЙТОМ:
_writer.Write((byte)level); // ProgressionValue.Write
level = _reader.ReadByte(); // ProgressionValue.Read
Проверено не только декомпиляцией, но и на живом сейве (New Xisema Mountains/sezon8,
17.09.2026): necroZombieKillsCVar = 384, а уровень в файле игрока = 129, то есть 384-256.
Всё выше 255 откатывалось по модулю 256: панель скилла заново закрывала уже открытые
рецепты (именно это было видно на стриме - Слёзы мертвеца открыты, Пир падальщика под
замком), а группы 500/2000/3000/5000 были недостижимы в принципе. В ванили этот предел
не всплывает: атрибуты идут до 10, перки до 5, крафтовые скиллы до 100.
5000 убийств / 20 = 250 уровней - влезает в байт с запасом, поэтому баг чинится самой
шкалой, а не костылём поверх сериализации. Счёт убийств по-прежнему живёт в
necroZombieKillsCVar (float, сохраняется честно) и остаётся ЕДИНСТВЕННЫМ источником
правды: уровень пересчитывается из него в HarmonySrc/NecromancyKillCreditPatch.cs и на
каждом убийстве, и при загрузке игрока - последнее заодно чинит сейвы, испорченные старой
шкалой (тот же sezon8: 384 убийства -> уровень 19 вместо сломанных 129).
ВСЕ ПОРОГИ НИЖЕ - В УРОВНЯХ. Умножь на 20, чтобы получить убийства:
Group 1 "Адепт" - с нулевого уровня, но не вся: рецепты внутри группы
открываются каждый на своей ступени: 0 / 1 / 3 / 5 / 15,
то есть 0 / 20 / 60 / 100 / 300 убийств.
Group 2 "Подмастерье" - уровень 25 (500 убийств)
Group 3 "Ученик" - уровень 100 (2000)
Group 4 "Некромант" - уровень 150 (3000)
Group 5 "Мастер" - уровень 250 (5000)
Recipe unlocks: give a recipe Tags="necroNecromancyAdept" / "necroNecromancyJourneyman"
/ "necroNecromancyApprentice" / "necroNecromancyNecromancer" / "necroNecromancyMaster"
@@ -37,12 +54,14 @@
"Адепт" is unlocked from level 1 anyway - a recipe with no unlock tag is just always
available, same effect, no need to spend a tag on it.
One genuine one-off exception: necroNecromancyLvl20 (level 20) - the Пространственный
браслет, per direct instruction 2026-08-30 ("нож, камень духов и хранилище - это база...
хранилище, когда убито минимум 20 зомби") - it belongs in the Group 1 "Адепт" display
bucket (see below) but needs its own slightly-later unlock level within that same group,
which is what unlock_tier is for (see display_entry below), not a reason to invent a
whole separate group.
One genuine one-off exception: necroNecromancyLvl20 - the Пространственный браслет, per
direct instruction 2026-08-30 ("нож, камень духов и хранилище - это база... хранилище,
когда убито минимум 20 зомби") - it belongs in the Group 1 "Адепт" display bucket (see
below) but needs its own slightly-later unlock level within that same group, which is
what unlock_tier is for (see display_entry below), not a reason to invent a whole
separate group. Имя тега - в УБИЙСТВАХ (20), а RecipeTagUnlocked у него теперь стоит на
УРОВНЕ 1: это те же самые 20 убийств в новой шкале. С 2026-09-17 на этом же теге сидят
Кровавая сфера и мод ножа на воду (Слёзы мертвеца) - три рецепта одной ступени.
UPDATED 2026-08-29: display_entry blocks added below now that real necromancer items/
recipes exist to point them at - per the user's own direct report ("до сих пор нету ни
@@ -73,21 +92,25 @@
range. Fixed by actually spreading the non-base items across all 5 real tiers
instead of clustering them all near the bottom - see the effect_group tags below and
recipes.xml for the final per-item distribution:
Group 1 "Адепт" (level 1, +20 for the bracelet) - Spirit Stone, Knife,
Blue Portal Stone, Spatial Vault, Pyramid of Spirits,
and (since 2026-09-09) the four survival-flavoured knife
mods at +30 / +60 / +100 / +300
Group 2 "Подмастерье" (level 500) - Grimoire of Deviation, plus the two combat
knife mods at 1400 / 1700
Group 3 "Ученик" (level 2000) - Zombie Dog, Insect Swarm, Zombie Griffin
Group 4 "Некромант" (level 3000) - Zombie Bear, Zombie Wolf, Banshee's Scroll
Group 5 "Мастер" (level 5000) - Black Portal Stone
Group 1 "Адепт" (ур. 0 = 0 убийств) - Spirit Stone, Knife, Blue Portal
Stone, Pyramid of Spirits; на ур. 1 (20 убийств) -
Spatial Vault, Blood Sphere и мод на воду; дальше три
выживальческих мода ножа на ур. 3 / 5 / 15
(60 / 100 / 300 убийств)
Group 2 "Подмастерье" (ур. 25 = 500) - Grimoire of Deviation, plus the two
combat knife mods на ур. 70 / 85 (1400 / 1700 убийств)
Group 3 "Ученик" (ур. 100 = 2000) - Zombie Dog, Insect Swarm, Zombie Griffin
Group 4 "Некромант" (ур. 150 = 3000) - Zombie Bear, Zombie Wolf, Banshee Scroll
Group 5 "Мастер" (ур. 250 = 5000) - Black Portal Stone
necroNecromancyLvl50/Lvl200 tags removed (no longer used by anything - Grimoire and
the summon books now use the real necroNecromancyJourneyman/Apprentice/Necromancer
tags instead). necroNecromancyLvl20 stays - still the one legitimate one-off (see
tags instead). necroNecromancyLvl30 убран 2026-09-17 вместе с переходом на шкалу
20-за-уровень: 30 убийств на сетке с шагом 20 не выражается, и мод на воду переехал
на necroNecromancyLvl20 - тот самый тег браслета, по прямому указанию ("20
убийств"). necroNecromancyLvl20 stays - still the one legitimate one-off (see
above). -->
<append xpath="/progression/crafting_skills">
<crafting_skill name="craftingNecroNecromancy" max_level="5000" parent="attCrafting" name_key="craftingNecroNecromancyName" desc_key="craftingNecroNecromancyDesc" long_desc_key="craftingNecroNecromancyLongDesc" icon="ui_game_symbol_skull">
<crafting_skill name="craftingNecroNecromancy" max_level="250" parent="attCrafting" name_key="craftingNecroNecromancyName" desc_key="craftingNecroNecromancyDesc" long_desc_key="craftingNecroNecromancyLongDesc" icon="ui_game_symbol_skull">
<!-- display_entry block kept in the SAME append as the crafting_skill itself (unlike
an earlier draft of this edit, which tried appending display_entry via a second,
@@ -96,7 +119,7 @@
loot.xml once, see that file's own load-order comment. Nesting it here avoids the
ordering question entirely, and matches how vanilla itself writes display_entry -
directly inside the crafting_skill tag, not as a separate append). -->
<display_entry icon="SpiritStone" name_key="craftingNecroNecromancyTier1Name" has_quality="false" unlock_level="1,20,30,60,100,300">
<display_entry icon="SpiritStone" name_key="craftingNecroNecromancyTier1Name" has_quality="false" unlock_level="0,1,3,5,15">
<!-- necroHeresyPyramid added here 2026-08-31 (user request: "добавь рецепт блока в
скиллы") - unlock_tier="1" alongside the other always-available Tier-1 items,
matching its recipe's own necroNecromancyAdept tag in recipes.xml (see that
@@ -111,10 +134,14 @@
туда, где предмет впервые нужен, - здесь это момент появления браслета.
Парная правка в recipes.xml: рецепту добавлены теги learnable и
necroNecromancyLvl20. Оба уровня ОБЯЗАНЫ совпадать: RecipeTagUnlocked для
necroNecromancyLvl20 стоит на level="20,5000" ниже, а tier 2 в
unlock_level="1,20,30,60,100,300" - это те же 20. Разойдись они, замок на
панели скилла разошёлся бы с реальной доступностью рецепта. -->
<unlock_entry item="braceletSpatialVault,resourceBloodSphere" unlock_tier="2"/>
necroNecromancyLvl20 стоит на level="1,250" ниже, а tier 2 в
unlock_level="0,1,3,5,15" - это тот же уровень 1. Разойдись они, замок на
панели скилла разошёлся бы с реальной доступностью рецепта.
2026-09-17, СМЕНА ШКАЛЫ (20 убийств = 1 уровень, см. шапку файла): «уровень
20» превратился в «уровень 1», убийств за ним по-прежнему 20. Сюда же, на
эту ступень, переехал мод ножа на воду - см. следующий комментарий. -->
<unlock_entry item="braceletSpatialVault,resourceBloodSphere,necroModKnifeTearsOfTheDead" unlock_tier="2"/>
<!-- ЧЕТЫРЕ МОДА НОЖА ПЕРЕЕХАЛИ СЮДА ИЗ ГРУППЫ 2, 2026-09-09. Продиктовано:
"Питьё важно в тот же день. Оно должно быть доступно после 30 убитых зомби.
Еда - 60. Это самые важные для начала выживания модификации. Модификация на
@@ -138,11 +165,23 @@
так принципиально").
Порядок вода -> еда не случаен и задан пользователем прямо: пить хочется в
тот же день, есть - позже. -->
<unlock_entry item="necroModKnifeTearsOfTheDead" unlock_tier="3"/>
<unlock_entry item="necroModKnifeScavengersFeast" unlock_tier="4"/>
<unlock_entry item="necroModKnifeGravesRepose" unlock_tier="5"/>
<unlock_entry item="necroModKnifeDarkSense" unlock_tier="6"/>
тот же день, есть - позже.
ПЕРЕСЧИТАНО 2026-09-17 ПОД ШКАЛУ 20-ЗА-УРОВЕНЬ (см. шапку файла). Сами
пороги в убийствах не тронуты, кроме воды: 30 убийств на сетке с шагом 20 не
выражается, и по прямому указанию вода уехала ВНИЗ, на 20 - то есть на одну
ступень с браслетом и Кровавой сферой, а не вверх на 40. Ступеней в группе
теперь пять, а не шесть, и мод на воду стоит в строке tier 2 выше:
ур. 0 (0 убийств) - Камень духов, Нож, Синий портал, Пирамида
ур. 1 (20 убийств) - Браслет, Кровавая сфера, ВОДА
ур. 3 (60 убийств) - еда
ур. 5 (100 убийств) - покой
ур. 15 (300 убийств) - чутьё
Тег necroNecromancyLvl30 вместе с этим удалён - им больше никто не
пользуется, вода сидит на necroNecromancyLvl20. -->
<unlock_entry item="necroModKnifeScavengersFeast" unlock_tier="3"/>
<unlock_entry item="necroModKnifeGravesRepose" unlock_tier="4"/>
<unlock_entry item="necroModKnifeDarkSense" unlock_tier="5"/>
</display_entry>
<!-- Ступенчатая разблокировка внутри группы. ПЕРЕРАСПРЕДЕЛЕНО 2026-09-09: четыре из
шести модов ножа (вода/еда/покой/чутьё) уехали отсюда в группу 1 - см. большой
@@ -156,61 +195,73 @@
где GetQualityLevel возвращает индекс первого порога, который БОЛЬШЕ текущего
уровня. В сумме это даёт простое правило: запись с unlock_tier="N" выходит
из-под замка ровно на N-м значении unlock_level, считая с единицы. Поэтому здесь
tier 1 -> 500, tier 2 -> 1400, tier 3 -> 1700, а в группе 1 выше -
tier 1 -> 1, tier 2 -> 20, tier 3 -> 30, tier 4 -> 60, tier 5 -> 100,
tier 6 -> 300.
tier 1 -> ур. 25, tier 2 -> ур. 70, tier 3 -> ур. 85 (500 / 1400 / 1700
убийств), а в группе 1 выше - tier 1 -> ур. 0, tier 2 -> ур. 1, tier 3 -> ур. 3,
tier 4 -> ур. 5, tier 5 -> ур. 15 (0 / 20 / 60 / 100 / 300 убийств).
Нижняя граница ноль - законна и проверена по коду: у группы 1 unlock_level
начинается с 0, и GetQualityLevel(0) возвращает 1 (первый порог БОЛЬШЕ нуля -
это единица), поэтому tier 1 (после -1 это 0) из-под замка выходит сразу. Точно
так же законен level="0,250" у RecipeTagUnlocked ниже: PassiveEffect.InLevelRange
это ровно "_level >= _min && _level <= _max".
Заблокированная запись рисуется греем из АТЛАСА ItemIconAtlasGreyscale плюс
спрайт-замок ui_game_symbol_unlock поверх (XUi_InGame/windows.xml ~2523-2524,
привязки unlock_icon_atlasN / unlock_icon_lockedN). Именно поэтому у мода теперь
есть вторая папка UIAtlases/ItemIconAtlasGreyscale - без неё под замком у иконки
не было бы картинки вообще. -->
<display_entry icon="ScrollOfDeviation" name_key="craftingNecroNecromancyTier2Name" has_quality="false" unlock_level="500,1400,1700">
<display_entry icon="ScrollOfDeviation" name_key="craftingNecroNecromancyTier2Name" has_quality="false" unlock_level="25,70,85">
<unlock_entry item="thrownBookGrimoireDeviation" unlock_tier="1"/>
<unlock_entry item="necroModKnifeDeadMansGrip" unlock_tier="2"/>
<unlock_entry item="necroModKnifeDeadStorm" unlock_tier="3"/>
</display_entry>
<display_entry icon="SummonZombieDog" name_key="craftingNecroNecromancyTier3Name" has_quality="false" unlock_level="2000">
<display_entry icon="SummonZombieDog" name_key="craftingNecroNecromancyTier3Name" has_quality="false" unlock_level="100">
<!-- resourceBloodStone добавлен 2026-09-16 (указание «доступен на третьем грейде
некромантии, в самом его начале»). Тир 3 - это и есть третий грейд, группа
«Ученик», а его единственный unlock_level равен 2000, то есть unlock_tier="1"
здесь и означает «в самом начале грейда, без своего смещения».
«Ученик», а его единственный unlock_level равен 100 уровням (это те же 2000
убийств в шкале 20-за-уровень), то есть unlock_tier="1" здесь и означает «в
самом начале грейда, без своего смещения».
ЭТА СТРОКА - ТОЛЬКО ОТОБРАЖЕНИЕ. Открытие рецепта делает тег
necroNecromancyApprentice в recipes.xml вместе с RecipeTagUnlocked
level="2000,5000" ниже; display_entry о тегах не знает и рисует замок сам по
себе, по unlock_tier. Поэтому 2000 здесь и 2000 там ОБЯЗАНЫ совпадать -
level="100,250" ниже; display_entry о тегах не знает и рисует замок сам по
себе, по unlock_tier. Поэтому 100 здесь и 100 там ОБЯЗАНЫ совпадать -
иначе замок на панели разойдётся с реальной доступностью рецепта. Совпадают:
один порог, одно значение. -->
<unlock_entry item="bookSummonZombieDog,bookSummonInsectSwarm,bookSummonZombieGriffin,resourceBloodStone" unlock_tier="1"/>
</display_entry>
<display_entry icon="SummonZombieBear" name_key="craftingNecroNecromancyTier4Name" has_quality="false" unlock_level="3000">
<display_entry icon="SummonZombieBear" name_key="craftingNecroNecromancyTier4Name" has_quality="false" unlock_level="150">
<unlock_entry item="bookSummonZombieBear,bookSummonZombieWolf,bookBanshee" unlock_tier="1"/>
</display_entry>
<display_entry icon="BlackPortalStone" name_key="craftingNecroNecromancyTier5Name" has_quality="false" unlock_level="5000">
<display_entry icon="BlackPortalStone" name_key="craftingNecroNecromancyTier5Name" has_quality="false" unlock_level="250">
<unlock_entry item="thrownStonePortalBlack" unlock_tier="1"/>
</display_entry>
<effect_group>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1,5000" value="1" tags="necroNecromancyAdept"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="20,5000" value="1" tags="necroNecromancyLvl20"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="0,250" value="1" tags="necroNecromancyAdept"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1,250" value="1" tags="necroNecromancyLvl20"/>
<!-- Пороги модов ножа, 2026-09-09 (см. комментарий в recipes.xml и в группе 1
выше). Каждый уровень тут ОБЯЗАН совпадать с соответствующим значением в
unlock_level того display_entry, где лежит мод, иначе замок на панели скилла
разойдётся с реальной доступностью рецепта: display_entry рисует замок сам по
себе, по unlock_tier, и о тегах не знает.
Lvl800 и Lvl1100 удалены вместе с этой правкой - ими больше никто не
пользуется (Тёмное чутьё уехало на 300, Могильный покой на 100). -->
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="30,5000" value="1" tags="necroNecromancyLvl30"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="60,5000" value="1" tags="necroNecromancyLvl60"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="100,5000" value="1" tags="necroNecromancyLvl100"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="300,5000" value="1" tags="necroNecromancyLvl300"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="500,5000" value="1" tags="necroNecromancyJourneyman"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1400,5000" value="1" tags="necroNecromancyLvl1400"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1700,5000" value="1" tags="necroNecromancyLvl1700"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="2000,5000" value="1" tags="necroNecromancyApprentice"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="3000,5000" value="1" tags="necroNecromancyNecromancer"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="5000,5000" value="1" tags="necroNecromancyMaster"/>
пользуется (Тёмное чутьё уехало на 300, Могильный покой на 100).
ЗНАЧЕНИЯ level= ПЕРЕСЧИТАНЫ 2026-09-17 В УРОВНИ (шкала 20 убийств = 1
уровень, см. шапку файла). ИМЕНА ТЕГОВ ОСТАЛИСЬ В УБИЙСТВАХ и менять их не
надо: necroNecromancyLvl60 - это «60 убийств», а стоит он на level="3,250".
Верхняя граница у всех теперь 250, а не 5000 - это max_level скилла, выше
него уровень не поднимется, и диапазон обязан его накрывать. -->
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="3,250" value="1" tags="necroNecromancyLvl60"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="5,250" value="1" tags="necroNecromancyLvl100"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="15,250" value="1" tags="necroNecromancyLvl300"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="25,250" value="1" tags="necroNecromancyJourneyman"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="70,250" value="1" tags="necroNecromancyLvl1400"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="85,250" value="1" tags="necroNecromancyLvl1700"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="100,250" value="1" tags="necroNecromancyApprentice"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="150,250" value="1" tags="necroNecromancyNecromancer"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="250,250" value="1" tags="necroNecromancyMaster"/>
</effect_group>
</crafting_skill>
</append>
+17 -10
View File
@@ -296,16 +296,23 @@
трупа, к этому моменту бесполезен. Теперь порог у мода стоит там, где мод реально нужен,
а не там, где он "по силе" смотрится ровно.
Итоговая раскладка:
30 - Слёзы мертвеца (вода) группа 1 "Адепт"
60 - Пир падальщика (еда) группа 1
100 - Могильный покой (тепло/холод) группа 1
300 - Тёмное чутьё (радар) группа 1
1400 - Хватка мертвеца (замедление) группа 2 "Подмастерье"
1700 - Мёртвая буря (силовая) группа 2
Итоговая раскладка (убийства; в скобках уровень скилла в шкале 20-за-уровень,
введённой 2026-09-17 - см. шапку progression.xml):
20 - Слёзы мертвеца (вода) группа 1 "Адепт" ур. 1
60 - Пир падальщика (еда) группа 1 ур. 3
100 - Могильный покой (тепло/холод) группа 1 ур. 5
300 - Тёмное чутьё (радар) группа 1 ур. 15
1400 - Хватка мертвеца (замедление) группа 2 "Подмастерье" ур. 70
1700 - Мёртвая буря (силовая) группа 2 ур. 85
Первые четыре - выживание и информация, они переехали в группу 1 к самому ножу (он там и
доступен с уровня 1). Последние два - чистый бой, остались в группе 2 на прежних порогах:
пользователь про них сказал "дальше уже не так принципиально".
доступен с нулевого уровня). Последние два - чистый бой, остались в группе 2 на прежних
порогах: пользователь про них сказал "дальше уже не так принципиально".
ВОДА ПЕРЕЕХАЛА С 30 УБИЙСТВ НА 20, 2026-09-17. Причина не балансовая, а арифметическая:
новая шкала идёт шагом в 20 убийств, и 30 на неё не ложится. Из двух соседних узлов (20
или 40) пользователь выбрал 20 - "мод на воду нужен на самом начальном этапе". Тега
necroNecromancyLvl30 больше нет, рецепт сидит на necroNecromancyLvl20 - том же теге, что
браслет и Кровавая сфера.
Двигать - тройка "тег в рецепте + RecipeTagUnlocked в progression.xml + unlock_tier в
display_entry", все три должны совпадать, иначе замок на панели соврёт. -->
@@ -325,7 +332,7 @@
призывов и не должны требовать верстак. Тег learnable, как у остальных гейтованных
рецептов мода, чтобы рецепт не светился в меню до открытия группы. -->
<append xpath="/recipes">
<recipe name="necroModKnifeTearsOfTheDead" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl30">
<recipe name="necroModKnifeTearsOfTheDead" count="1" tags="learnable,packMuleCrafting,necroNecromancyLvl20">
<ingredient name="resourceZombieAsh" count="10"/>
<ingredient name="resourceVictimSkin" count="1"/>
<ingredient name="drinkJarEmpty" count="2"/>