Remove strict difference between mostly fire and non-fire damage sources

This commit is contained in:
Anton Tarasenko 2024-09-01 17:27:29 +07:00
parent db84dad047
commit 6eb879f0d1

View File

@ -840,7 +840,6 @@ function FireDamageEffects(out int damage,
float headshotLevel,
KFPlayerReplicationInfo KFPRI){
local float heatDelta, bonusFireDamage;
local bool shouldBeSetOnFire, isFireWeapon;
damage = FMax(0.0, damage);
iceCrustStrenght = FMax(0.0, iceCrustStrenght);
if(bFrozenZed){
@ -878,15 +877,13 @@ function FireDamageEffects(out int damage,
burnInstigator = instigatedBy;
}
// Double heat damage at the cost of the fuel, if zed is already on fire
isFireWeapon = (damageType.default.heatPart >= 0.75);
if (bOnFire && isFireWeapon) {
bonusFireDamage = FMax(FMin(damage, flameFuel), 0);
if (bOnFire) {
bonusFireDamage = FMax(FMin(damage, flameFuel) * 0.25, 0);
flameFuel -= bonusFireDamage;
damage += bonusFireDamage;
}
// Set on fire, if necessary
shouldBeSetOnFire = (heat > GetIgnitionPoint()) || isFireWeapon;
if(shouldBeSetOnFire && !bOnFire && bCanBurn){
if(heat > GetIgnitionPoint() && !bOnFire && bCanBurn){
bBurnified = true;
bOnFire = true;
burnInstigator = instigatedBy;
@ -1007,7 +1004,7 @@ function DealDecapDamage( int damage,
hasSkill(nicePlayer, class'NiceSkillSharpshooterDieAlready'))
ServerDropFaster(NiceHumanPawn(nicePlayer.pawn));
}
function DealHeadDamage( int damage,
function DealHeadDamage( int damage,
Pawn instigatedBy,
Vector hitLocation,
Vector momentum,
@ -1026,8 +1023,8 @@ function DealHeadDamage( int damage,
// Skull injury killed a zed
if(HeadHealth <= 0) return;
// Additional weakpoint damage to burning zeds from non-flame weapons
if (bOnFire && damageType.default.heatPart < 0.75) {
damage += 100;
if (bOnFire) {
damage += 100 * (1 - damageType.default.heatPart);
}
HeadHealth -= damage;
if(nicePlayer != none && IsFinisher(damage, damageType, nicePlayer, true))