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

141 lines
3.1 KiB
Ucode

//=============================================================================
// FlameChucker
//=============================================================================
class FlameThrower extends KFWeapon;
simulated function bool StartFire(int Mode)
{
if( Mode == 1 )
return super.StartFire(Mode);
if( !super.StartFire(Mode) ) // returns false when mag is empty
return false;
if( AmmoAmount(0) <= 0 )
{
return false;
}
AnimStopLooping();
if( !FireMode[Mode].IsInState('FireLoop') && (AmmoAmount(0) > 0) )
{
FireMode[Mode].StartFiring();
return true;
}
else
{
return false;
}
return true;
}
simulated function AnimEnd(int channel)
{
if(!FireMode[0].IsInState('FireLoop'))
{
Super.AnimEnd(channel);
}
}
// Cool Nozzle Illumination (WARNING - Artist at play) :P
simulated function WeaponTick(float dt)
{
Super.WeaponTick(dt);
// if(FireMode[0].bIsFiring)
// Skins[4] = Shader 'KillingFloorWeapons.FlameThrower.FTFireShader';
// else
// Skins[4] = default.Skins[4];
}
function bool RecommendRangedAttack()
{
return true;
}
function float SuggestAttackStyle()
{
return -1.0;
}
//TODO: LONG ranged?
function bool RecommendLongRangedAttack()
{
return true;
}
defaultproperties
{
SkinRefs(0)="KF_Weapons_Trip_T.Supers.flamethrower_cmb"
SkinRefs(2)="KillingFloorWeapons.Welder.FBFlameOrange"
WeaponReloadAnim=Reload_Flamethrower
MagCapacity=100
ReloadRate=4.14
ReloadAnim="Reload"
ReloadAnimRate=1.0
Weight=10.000000
bModeZeroCanDryFire=True
FireModeClass(0)=Class'KFMod.FlameBurstFire'
FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown"
SelectSound=none//Sound'KFPlayerSound.getweaponout'
Description="A deadly experimental weapon designed by Horzine industries. It can fire streams of burning liquid which ignite on contact."
Priority=145
InventoryGroup=3
GroupOffset=8
PickupClass=Class'KFMod.FlameThrowerPickup'
BobDamping=6.000000
AttachmentClass=Class'KFMod.FlameThrowerAttachment'
IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
ItemName="FlameThrower"
MeshRef="KF_Weapons_Trip.Flamethrower_Trip"
DrawScale=0.900000
TransientSoundVolume=1.250000
AmbientGlow=0
PutDownTime = 1.0
PutDownAnimRate=1.0
QuickPutDownTime=0.5
PlayerViewOffset=(X=5.000000,Y=7.000000,Z=-8.000000) // -6
EffectOffset=(X=100.000000,Y=25.000000,Z=-10.000000)
bSteadyAim = true // For consistent streams
AIRating=0.7
CurrentRating=0.7
MinimumFireRange = 300
ZoomTime=0.25//1.0
FastZoomOutTime=0.2
ZoomInRotation=(Pitch=-1000,Yaw=0,Roll=1500)
bHasAimingMode=true
IdleAimAnim=Idle
DisplayFOV=70.000000
StandardDisplayFOV=70.0
PlayerIronSightFOV=75
ZoomedDisplayFOV=70
HudImageRef="KillingFloorHUD.WeaponSelect.FlameThrower_unselected"
SelectedHudImageRef="KillingFloorHUD.WeaponSelect.FlameThrower"
TraderInfoTexture=texture'KillingFloorHUD.Trader_Weapon_Images.Trader_Flame_Thrower'
bIsTier2Weapon=true
}