Если мечу прописан стандартный движковый урон огнем, в виде
damagetype = DAM_EDGE | DAM_FIRE;
damage[DAM_INDEX_EDGE] = 200;
damage[DAM_INDEX_FIRE] = 150;,
то потеря ХП от горения у противника будет только в том случае, если прямой урон от огня преодолеет защиту от огня и если защита противника от огня ниже константы
const int NPC_BURN_DAMAGE_POINTS_PER_INTERVALL
По умолчанию эта константа в Г2 и Г2НВ равна 50.
Грубо говоря, если у NPC 50 или больше защиты от огня, то горение от удара подобным оружием не будет наносить урон.
Примеры:
1) у противника защита от огня 60 (больше 50), а у оружия урон огнем 100 - противник получит прямой урон от огня на 40 (100-60), а горение НЕ будет снимать противнику здоровье (50-60 обрежется движком до 0);
2) у противника 35 защита от огня (меньше 50), а у оружия 80 урона огнем - противник получит прямой урон от огня на 45 (80-35), а горение 5 раз снимет с противника по 15 ХП (50-35); итого - 45 прямого урона и 75 урона от горения за 5 тиков;
3) у противника 40 защиты от огня (меньше 50), а у оружия 30 урона огнем - прямой урон от огня не пройдет (30-40 обрежется движком до 0) и горение НЕ активируется, потому что прямой урон огнем не преодолел защиту цели от огня.
Горение для огненной магии в этом моде прописано отдельными скриптами, насколько я знаю, так что работает по другой схеме и вероятно, вообще не зависит от защиты от огня у противника.