• 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/

PC Demo's Bombardier and High Impact Rounds skills not working correctly (?)

Insert Name Here

Grizzled Veteran
Oct 3, 2015
205
57
Category: Code

Reproducibility: Always

Summary: The Demo's Bombardier skill may or may not be working too well and the High Impact Rounds skill isn't working at all.

Description: From KFGame.KFPerk_Demolitionist in function ModifyDamageGiven(), line 117 (v1037 SDK):

Code:
	if( (KFW != none && IsWeaponOnPerk( KFW )) || (DamageType != none && IsDamageTypeOnPerk( DamageType )) )
	{
		`QALog( "Base Damage Given" @ DamageType @ KFW @ InDamage, bLogPerk );
		//Passive
		TempDamage +=  InDamage * GetPassiveValue( ExplosiveDamage, CurrentLevel );
		`QALog( "ExplosiveDamage Given" @ DamageType @ KFW @ InDamage * GetPassiveValue( ExplosiveDamage, CurrentLevel ), bLogPerk );
		//Damage skill
		if( IsDamageActive() )
		{
			TempDamage +=  InDamage * GetSkillValue( PerkSkills[EDemoDamage] );
			`QALog( "DemoDamage Given" @ DamageType @ KFW @ InDamage * GetSkillValue( PerkSkills[EDemoDamage] ), bLogPerk );
		}

		if( IsDirectHitActive() && DamageType != none && IsDamageTypeOnPerk( DamageType ) )
		{
			if( DamageType.IsA('KFDT_Ballistic_Shell') )
			{
				TempDamage += InDamage * GetSkillValue( PerkSkills[EDemoDirectHit] );
				`QALog( "DirectHit Damage Given" @ DamageType @ KFW @ InDamage * GetSkillValue( PerkSkills[EDemoDirectHit] ), bLogPerk );
			}
		}

		if( IsCriticalHitActive() && MyKFPM != none &&
			IsCriticalHitZone( MyKFPM, HitZoneIdx ) )
		{
			TempDamage += InDamage * GetSkillValue( PerkSkills[EDemoCriticalHit] );
			`QALog( "CriticalHit Damage Given" @ DamageType @ KFW @ InDamage * GetSkillValue( PerkSkills[EDemoCriticalHit] ), bLogPerk );
		}
	}

Bombardier: Line 124 only checks if Bombardier is active and does not check the damage type, so blunt impact hits (e.g. point-blank RPG round) get their damage boosted as well. I don't know if this is a bug.

High Impact Rounds: On the opposite end, High Impact Rounds (checks start at line 130) does not seem to work at all. Blunt impact hits should get their damage boosted by 25% according to the code, but this doesn't happen. QA should check if the "DirectHit Damage Given" line shows up in their logs with the skill active. If it doesn't appear, the only guess I can give as to why is that the DamageType.IsA() check on line 132 might not work properly on a class object.

Secondly, the skill description mentions lowering maximum ammo by 3, but this does not work either.

Thirdly, even if the skill worked as intended, it would not affect the HX-25. This is because the class KFDT_Ballistic_HX25SubmunitionImpact (used as the InstantHitDamageTypes for KFWeap_GrenadeLauncher_HX25) extends KFDT_Ballistic_Shotgun instead of KFDT_Ballistic_Shell.

Online/Offline: Both