Формула повреждений YAAM
|
|
asign1 |
Дата: Понедельник, 24 Июля 2023, 21:35 | Сообщение # 1 |
Михаил Смагин
Автор темы
Житель пустошей
Сообщений: 6
OffLine
|
Добрый день. Возник вопрос по формуле расчета в моде YAAM.
В свое время на NMA пользователь Perkus задал резонный вопрос о расчете modified_DR. https://www.nma-fallout.com/threads....3
Цитата You currently have this: modified_DR = armor_DR + [10 * min(modified_DT, 0) / 100]
1) I believe the brackets are incorrect, the division by 100 should affect the armor_DR portion as well if you look at how the result is being used, so it should actually be: modified_DR = [armor_DR + 10 * min(modified_DT, 0)] / 100
2) In section 2.2, you mention that "Under no circumstances should DR fall below zero or above 100." This is not represented anywhere in the formulas you have listed. As such, it would appear that when impact of the 10 * min(modified_DT, 0) is negative and exceeds the armor_DR, you keep the negative value around and thus it increases the resulting damage. This goes against what you have in Section 2.2, so I'm assuming you're actually not allowing modified_DR to go below 0. The "above 100" case is not actually possible, so that's not a concern. But the formula should reflect the minimum of 0 as follows: modified_DR = max{[armor_DR + 10 * min(modified_DT, 0)] / 100, 0} Здесь правильно описано недопущение отрицательных значений modified_DR, например в случае Metak Armor и AP rocket.
Ошибка оригинальной формулы Haemlomal'а заключается в том, что в результате из десятков процентов armor_DR вычитаются десятые доли процентов из-за деления modified_DT на 100.
Metal Armor: armor_DT: 4; armor_DR: 30% .44 Magnum FMJ: ammo_DT: 5
modified_DT = armor_DT - ammo_DT = 4-5 = -1 modified_DR = armor_DR + [10 * min(modified_DT, 0) / 100] = 30+[10*(-1)/100] = 29,9% - вместо 20% как задумывал автор.
Но если armor_DR берется для расчета как 0,3 (вряд ли), то тогда все получится правильно и в последующей формуле damage = max[int(total_damage) - int(modified_DR * int(total_damage)), 0]
В общем, разумных ответов кроме "seems it works fine" не было, видимо ошибка так и осталась. Можно это проверить и уточнить? Все же автор изначально имел правильную идею, и хорошо бы это работало как задумано.
|
|
| |
Mr-Stalin |
Дата: Вторник, 25 Июля 2023, 18:50 | Сообщение # 2 |
Мистер Сталин
Солдат братства
Сообщений: 580
OffLine
|
Цитата asign1 ( ) Но если armor_DR берется для расчета как 0,3 (вряд ли), то тогда все получится правильно и в последующей формуле Может быть и не вряд ли) Гляну что там по формуле, потом напишу как построен расчет.
Так выглядит формула (YAAM v1.1a by Haenlomal 2010.05.13) в движке (некоторые расчеты опущены, в т.ч. модификатор ур. сложности и множителя).
Код modified_DT = armor_DT - ammo_DT modified_DR = max(0, armor_DR + (10 * min(modified_DT, 0))) <<< не может быть меньше нуля DT = max(0, modified_DT) <<< не может быть меньше нуля DMG = (weapon_DMG - DT) / ammoDiv DMG -= (modified_DR * DMG) / 100
Сам смотри, когда происходит деление на 100, вроде как по правильной версии, или в modified_DR его вообще нет.
Сообщение отредактировал Mr-Stalin - Вторник, 25 Июля 2023, 22:37
Fallout - Mods and Tools
|
|
| |
asign1 |
Дата: Вторник, 25 Июля 2023, 23:33 | Сообщение # 3 |
Михаил Смагин
Автор темы
Житель пустошей
Сообщений: 6
OffLine
|
Товарищ мистер Сталин, сомнения сняты, спасибо.
В документации и в интернетах все не как в SFALL, но в данном случае это хорошо) Я попробую слегка ослабить JHP патроны в .ini файле, а именно вместо модификатора 3/2 (1,5) сделать 6/5 (1,2). Тем самым бронебойные патроны и ракеты должны получить некоторое преимущество по забронированным целям. Под ними я понимаю Combat Armor и выше. На этом сегменте индивидуальной защиты Hollow Point патроны должны ослабнуть по сравнению с Armor Piercing.
Так как в известной большой работе по тестированию боеприпасов для YAAM и ванильных было установлено, что урон от AP всегда <= урону от HP, изменив эти дроби рассчитываю увидеть преимущество AP по защищенным целям. Тестировать буду в ходе прохождения 1,5 Resurrection
|
|
| |
QweSteR |
Дата: Пятница, 06 Сентября 2024, 11:18 | Сообщение # 4 |
Генератор идей
Рейнджер
Сообщений: 168
OffLine
|
Цитата asign1 ( ) Тестировать буду в ходе прохождения 1,5 Resurrection ну и как тестирование?
Discord: QweSteR2221 | Telegram: @QweSteR | DTF: QweSteR (CRPG-блог)
|
|
| |
Foxx |
Дата: Пятница, 06 Сентября 2024, 13:42 | Сообщение # 5 |
Повелитель сборок
Рейнджер
Сообщений: 148
OffLine
|
В 1.5 Resurrection итак нормально патроны работают, там нет необходимости менять формулу.
Группа в VK: ReBuild By Foxx
|
|
| |
asign1 |
Дата: Четверг, 10 Октября 2024, 00:51 | Сообщение # 6 |
Михаил Смагин
Автор темы
Житель пустошей
Сообщений: 6
OffLine
|
Как говорится, спасибо за вопрос. Ещё раз, что я сделал. В ini файле мода несколько изменил параметры боеприпасов. ослабил повышенный урон, который создают разрывные пули, позволил цельнометаллическим пробивать некоторые типы брони (игнорировать снижение урона бронёй). Видно на примере 10мм.
; PID_10MM_JHP [2] pid=29 ac_adjust=0 dr_adjust=0 dam_mult=6 dam_div=5
; PID_10MM_AP [3] pid=30 ac_adjust=0 dr_adjust=4 dam_mult=1 dam_div=1
Противотанковая ракета пробивает Силовую броню, так как та рассчитана только на кинетические боеприпасы. И одновременно создает повышенный урон.
; PID_ROCKET_AP [10] pid=37 ac_adjust=0 dr_adjust=23 dam_mult=3 dam_div=2
Бронебойная 40мм граната это по замыслу создателей кинетический боеприпас, подкалиберный с сердечником. Получил свойство пробивать Силовую броню, но без взрывчатки не создает повышенный урон.
; PID_40mm_armor-piercing_grenade [27] pid=590 ac_adjust=0 dr_adjust=23 dam_mult=1 dam_div=1
Некоторые типы пуль имеют возможность пробить броню адекватного типа. 14мм боеприпасы от противотанкового ружъя позволяют за считанные выстрелы уничтожать двуногих в Силовой броне, что адекватно мощности Антиматериальной винтовки. Также существенно увеличил их стоимость, чтобы нельзя было иметь сотни в кармане.
; PID_14MM_AP [6] pid=33 ac_adjust=0 dr_adjust=8 dam_mult=1 dam_div=1
; PID_223_FMJ [7] pid=34 ac_adjust=-20 dr_adjust=5 dam_mult=1 dam_div=1
; PID_5MM_JHP [8] pid=35 ac_adjust=0 dr_adjust=0 dam_mult=6 dam_div=5
; PID_5MM_AP [9] pid=36 ac_adjust=0 dr_adjust=5 dam_mult=1 dam_div=1
; PID_2MM_EC_AMMO [19] pid=358 ac_adjust=-30 dr_adjust=9 dam_mult=3 dam_div=2
; PID_4_7MM_CASELESS [20] pid=359 ac_adjust=-5 dr_adjust=7 dam_mult=3 dam_div=2
; PID_7_62MM_AMMO [24] pid=363 ac_adjust=-5 dr_adjust=6 dam_mult=1 dam_div=1
Вцелом эффект действия AP боеприпасов по защищенным целям стал более выраженный, появились обоснованные тактические предпочтения с этими патронами.
|
|
| |
QweSteR |
Дата: Пятница, 11 Октября 2024, 19:45 | Сообщение # 7 |
Генератор идей
Рейнджер
Сообщений: 168
OffLine
|
Какая вообще практическая разница между обычными и бронебойными патронами в фоллауте? Обычные же тоже броню пробивали. Или теперь обычные броню не пробивают? Я просто уже не помню. А раньше бронебойные не работали. Кажется так было.
Discord: QweSteR2221 | Telegram: @QweSteR | DTF: QweSteR (CRPG-блог)
|
|
| |
asign1 |
Дата: Понедельник, 14 Октября 2024, 16:57 | Сообщение # 8 |
Михаил Смагин
Автор темы
Житель пустошей
Сообщений: 6
OffLine
|
В фоллауте в отличие от реальной жизни патроны при попадании наносят урон, который может быть ослаблен средствами бронезащиты в той или иной степени.
Формально встречались ситуации, когда некоторые боеприпасы наносили урон 0, то есть броня полностью гасила кинетическую энергию 5мм пули.
Мои изменения делают более адекватной демонстрацию самого процесса пробития брони. Появляются боеприпасы, которые определенные виды брони полностью пропускают никак не снижая урон, потому что броня такого класса не может противостоять.
Боеприпасы с дыркой или мягким кончиком просто на 20 проц увеличивают базовый урон оружия, но их будет тормозить даже кожаная куртка, снижая этот самый урон.
Короче говоря, с бронебойными патронами или кумулятивными ракетами определенная бронезащита может не снижать урон вовсе, как будто её нет. Это и есть факт пробития брони пулей или кумулятивной струёй.
С учётом того, что двуногие в Силовой броне в Fallout 1.5 стали одинаково крепки на рану против практически любых средств, за счёт изменений в патронах удалось восстановить реалистичность поражений некоторыми видами оружия.
|
|
| |