Demo Grenage launcher Headshots

  • Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Jacks Weather

FNG / Fresh Meat
Dec 23, 2010
5
0
0
Can the grenade launcher guns get headshots? A32 A62? For scrakes, FP, and pat, when my team needs my help nuking one of those, should I shoot for the head, the middle of the body, or the feet?
 

comaryu

FNG / Fresh Meat
Jul 31, 2010
85
17
0
DxB
I don't think demos get headshot damage, just like firebugs.

Typically shooting the body would be ideal, but remember if you have sharpshooters in ya team, it would be more helpful if you shoot on the floor behind the bigger zeds, or on a wall, so that their view wont be obstructed.
 

FluffyNinja

FNG / Fresh Meat
Feb 5, 2010
130
9
0
You can do headshot damage with the grenade launchers/LAWs however, the damage isn't multiplied like your other firearms. In the case of nade launchers, the damage is split into two different factors. One factor is the kinetic damage of the nade and the other is explosive. When you hit a specimen in the head with the nade launcher, only the kinetic part of the damage gets multiplied, which is pretty small. You can tell the difference when you hit the head of a specimen with a nade launcher/LAW as oppose to hitting the body. Gorefasts, Bloats, Sirens and Husks will generally die to one HS grenade launcher/LAW rocket, providing you aren't firing at point blank.

So, overall, always aim for the head if possible. It can be a little difficult to do with the M79 and M32 though.
 
Last edited:

outofrealman

FNG / Fresh Meat
Oct 29, 2009
1,848
336
0
GL do full damage on direct hit. Direct hit a zed's cheast or above will do double damage. You dont need to hit the head. Only @ very close range when the granade will not explode will do damage to zed's head.
 

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
You can do headshot damage with the grenade launchers/LAWs however, the damage isn't multiplied like your other firearms. In the case of nade launchers, the damage is split into two different factors. One factor is the kinetic damage of the nade and the other is explosive. When you hit a specimen in the head with the nade launcher, only the kinetic part of the damage gets multiplied, which is pretty small. You can tell the difference when you hit the head of a specimen with a nade launcher/LAW as oppose to hitting the body. Gorefasts, Bloats, Sirens and Husks will generally die to one HS grenade launcher/LAW rocket, providing you aren't firing at point blank.

So, overall, always aim for the head if possible. It can be a little difficult to do with the M79 and M32 though.

Um, what? Kinetic damage and explosive damage are separate and do not interact at all. The kinetic damage is only used when the nade/rocket doesn't explode, and has a 2x head shot multiplier. If the nade explodes, then the explosive damage is used instead and all explosive damage types have the member variable, bCheckForHeadShots, set to false meaning the check and damage bonuses for head shots are ignored in KFMonster.TakeDamage(). The damage bonuses are factored in if the specimen is decapitated, however. Might want to take a look in the SDK next time before commenting on how the game works.

Now, even though I just said explosive damage types skip the head shot checks, they do in fact receive head shot bonuses, but from another source which is unrelated to the HeadShotMult variable. My best guess to why this is is that in the M79, M32, and Law code, their HurtRadius() function makes two calls to the victim's (specimen's) TakeDamage() function. Both calls are actually in an if statement but apparently hitting the head sets both statements to be true, factoring in damage twice. It should be noted that the frag and pipe bomb codes only make one call to TakeDamage(), thus do not receive the same bonuses.

This video illustrates the head shot bonus at work for the LAW. Note that this is before the balance patch, so the LAW is doing only 850 damage.

YouTube - Killing Floor - LAW Testing #3

Solo suicidal scrakes have 1750 hp and you can see that head shots do close to double damage, 1 shot to the head has a bit more health than 2 to the feet. I worked out the math from the pistol shots and approximated it to be 92% more damage. This also holds true for the grenade launchers.

YouTube - Killing Floor - LAW Testing #2

This is also with the old LAW. Solo suicidal fleshpounds have 2625 hp yet 1 law to the head with some pistol shots from a level 6 demo brings him down.
 
Last edited:

Entangler

FNG / Fresh Meat
Jul 12, 2009
474
216
0
33
Sydney, Australia
It might be worth cooking up a "Debug L.A.W." mutator that swaps rockets for modified versions that print messages whenever they damage something.
 

sierra88

FNG / Fresh Meat
Nov 15, 2010
22
0
0
Ottawa, Canada
I haven't played much demo, but I have a question. Do the M79 and M32 grenades have a ballistic profile for the fall of shot or do they run out straight?
 

Euclix

FNG / Fresh Meat
Dec 15, 2010
96
42
0
@scaryghost, you don't have to answer this because its not important, but if hurtradius makes two calls to takedamage, why isn't the damage in fact doubled? Just curious, I have never looked at the sdk nor would I probably really understand it without someone to explain it.
 

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
Damage is scaled differently in the two cases. In the first call, the damage is scaled based on how far away the victim is from the explosion and how exposed he is. These two values are represented as numbers between 0 and 1 and are multiplied. The code itself is pretty straight forward to interpret, if your victim is nailed with a direct hit and is fully exposed to the blast, you get 100% of the damage. You can see the exposure code in action by shooting a barricade the specimens are jumping over. The ones completely behind the barricade are mostly untouched.

LAWProj.HurtRadius()
Code:
if( (Victims != self) && (Hurtwall != Victims) && (Victims.Role == ROLE_Authority) && !Victims.IsA('FluidSurfaceInfo')
         && ExtendedZCollision(Victims)==None )
{
    damageScale = 1 - FMax(0,(dist - Victims.CollisionRadius)/DamageRadius);
    if ( Victims == LastTouched )
        LastTouched = None;
    if( KFMonsterVictim != none )
    {
         damageScale *= KFMonsterVictim.GetExposureTo(HitLocation/*Location + 15 * -Normal(PhysicsVolume.Gravity)*/);
    }
    else if( KFP != none )
    {
         damageScale *= KFP.GetExposureTo(HitLocation/*Location + 15 *  -Normal(PhysicsVolume.Gravity)*/);
    }
}
Note that irrelevant portions of the code were omitted to save space.

In the second case, the damage scaling is partially based on the variables CollisionHeight and CollisionRadius. These two variables are also used in the KFMonster.IsHeadShot() which, as the name implies, determines if your shot hit the head.

Further down the code in LAWProj.HurtRadius()
Code:
if ( (LastTouched != None) && (LastTouched != self) && (LastTouched.Role == ROLE_Authority) && !LastTouched.IsA('FluidSurfaceInfo') )
{
    damageScale = FMax(Victims.CollisionRadius/(Victims.CollisionRadius + Victims.CollisionHeight),1 - FMax(0,(dist - Victims.CollisionRadius)/DamageRadius));
}
From xPawn.uc
Code:
CollisionRadius=25.000000
CollisionHeight=44.000000
The damage scale is set based on a max of two values. The first value is a ratio based on the two collision variables which ends up being:
25/(25+44) = 0.3623
The second value is the same code as above it should be 1.0 if you landed a direct hit.

Both chunks of code call TakeDamage() with the parameters:
Code:
Victims.TakeDamage
(
damageScale * DamageAmount,
Instigator,
Victims.Location - 0.5 * (Victims.CollisionHeight + Victims.CollisionRadius) * dirs,
(damageScale * Momentum * dirs),
DamageType
);
Codewise, you should be getting double damage but in practice, you don't. I have no idea why that is. Perhaps hitting the head area sets damageScale to be 0.96 in both cases. The more puzzling thing is why does hitting the head trigger the second if statement but hitting the body doesn't.
 

Eureka

FNG / Fresh Meat
Nov 22, 2010
84
11
0
I haven't played much demo, but I have a question. Do the M79 and M32 grenades have a ballistic profile for the fall of shot or do they run out straight?

They are ballistic. On some maps you can even shoot yourself in the head by firing straight up.
 

Eureka

FNG / Fresh Meat
Nov 22, 2010
84
11
0
No problem :) At one point I was a little bored so I started experimenting with using grenade launchers as mortars. I don't think it's a tactic to use in any sort of serious game, but it's fun to lob shots over buildings in Farm or across the central hill in Mountain Pass. Unfortunately some maps have invisible ceilings so it doesn't always work.
 

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
I tested explosives last night on the KF Beta, since there is no whitelist there. Using the testmap, I shot the patriarch in the feet, torso, and head with the LAW multiple times and checked my explosive damage every time. The base damge is 950 and I was hitting ~900 at the feet, ~940 at the torso, and ~1800 at the head. I tried with m32 and m79 and unsurprisingly got similar damage ratios. The funny part is when I was chucking nades. Their base damage is 300 and I would get damage values ranging from 200-400.

Now I am completely dumbfounded as to how HurtRadius() function actually works for the explosives. I expected grenades to deal a max of 300 since their code was slightly different from the law and m79/m32 code but I find that they too could exceed that number.
 
Last edited:

Uk1t4k3

FNG / Fresh Meat
Oct 21, 2009
454
88
0
Singapore
I tested explosives last night on the KF Beta, since there is no whitelist there. Using the testmap, I shot the patriarch in the feet, torso, and head with the LAW multiple times and checked my explosive damage every time. The base damge is 950 and I was hitting ~900 at the feet, ~940 at the torso, and ~1800 at the head. I tried with m32 and m79 and unsurprisingly got similar damage ratios. The funny part is when I was chucking nades. Their base damage is 300 and I would get damage values ranging from 200-400.

Now I am completely dumbfounded as to how HurtRadius() function actually works for the explosives. I expected grenades to deal a max of 300 since their code was slightly different from the law and m79/m32 code but I find that they too could exceed that number.

I did a little test with a test map and here are some of my results.

Game mode: Hell on Earth 6 players

Results: Fleshpound killed by 6 nades when using support specialist.
Fleshpound killed by 4 nades when using demolitions.
 

C_Gibby

FNG / Fresh Meat
Jan 18, 2010
7,275
2,716
0
I splattered a scrake's head open with a point-blank nade in ZEDtime once. It was beautiful.

GL do full damage on direct hit.

Ah, that's good to know, thanks! :)