rott/kf_sources/KFMod/Classes/KnifeFire.uc
2026-07-14 20:27:09 +07:00

60 lines
1.3 KiB
Ucode

// Knife Fire //
class KnifeFire extends KFMeleeFire;
var() array<name> FireAnims;
var name LastFireAnim;
function PlayFiring()
{
Super.PlayFiring();
}
simulated event ModeDoFire()
{
local int AnimToPlay;
if(FireAnims.length > 0)
{
AnimToPlay = rand(FireAnims.length);
LastFireAnim = FireAnim;
FireAnim = FireAnims[AnimToPlay];
DamagedelayMin = default.DamagedelayMin;
// 3 and 2 should never play consecutively. it looks screwey.
// 3 should never repeat directly after itself. buffer with 1
if(LastFireAnim == FireAnims[1] && FireAnim == FireAnims[2] ||
LastFireAnim == FireAnims[2] && FireAnim == FireAnims[1] ||
LastFireAnim == FireAnims[2] && FireAnim == FireAnims[2])
FireAnim = FireAnims[0];
}
Super(KFMeleeFire).ModeDoFire();
}
defaultproperties
{
FireAnims(0)="fire"
FireAnims(1)="fire2"
FireAnims(2)="fire3"
FireAnims(3)="fire4"
MeleeDamage=19
WideDamageMinHitAngle=0.75
DamagedelayMin=0.45//0.100000
DamagedelayMax=0.450000
hitDamageClass=Class'KFMod.DamTypeKnife'
FireRate=0.600000
BotRefireRate=0.300000
MeleeHitSounds(0)=Sound'KF_KnifeSnd.Knife_HitFlesh'
HitEffectClass=class'KnifeHitEffect'
}