dsh 3 824 Опубликовано 28 Мая 2016 Не уверен в точности этой информации. Если я ничего не путаю, этот параметр применяется при попадании так называемой суперпулей. Кто бы мне еще привел пример практического применения такой настройки. Не могу придумать, для чего такое может понадобиться. dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 28 Мая 2016 @Яр8, сейчас уточнил в исходниках. Все правильно я помню. Для не супер пули используется первый коэффициент, а для супер пули - четвертый или первый, если отсутствует четвертый. 4 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 17 Октября 2020 В таких исследованиях нужно не забывать упоминать, что за движок используется и что в скриптах наверчено. 1 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение
dsh 3 824 Опубликовано 17 Октября 2020 Для любопытствующих. В OGSR расчет пулевого хита начинается тут (полагаю, в чистом ТЧ точно так же): float CEntityCondition::HitOutfitEffect(float hit_power, ALife::EHitType hit_type, s16 element, float AP) { ... if (hit_type == ALife::eHitTypeFireWound) new_hit_power = pOutfit->HitThruArmour(hit_power, element, AP); else new_hit_power *= pOutfit->GetHitTypeProtection(hit_type,element); ... Здесь четко видно, что пулевое повреждение расчитывается отдельно от других типов. Вот эти расчеты float CCustomOutfit::HitThruArmour(float hit_power, s16 element, float AP) { float BoneArmour = m_boneProtection->getBoneArmour(element)*GetCondition()*(1-AP); float NewHitPower = hit_power - BoneArmour; if (NewHitPower < hit_power*m_boneProtection->m_fHitFrac) return hit_power*m_boneProtection->m_fHitFrac; return NewHitPower; }; Никакой fire_wound_protection здесь не используется. А вот в float CCustomOutfit::GetHitTypeProtection(ALife::EHitType hit_type, s16 element) { float fBase = m_HitTypeProtection[hit_type]*GetCondition(); float bone = m_boneProtection->getBoneProtection(element); return 1.0f - fBase*bone; } как раз мог бы использоваться, т.к. здесь берутся коэффициенты из m_HitTypeProtection, но только, как я выше показал, для пулевого повреждения этот метод не вызвается. Ну а если кто-то сделал, что бы вызывался, то да, fire_wound_protection в таком случае будет использоваться. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Поделиться этим сообщением Ссылка на сообщение