291 lines
8.4 KiB
Ucode
291 lines
8.4 KiB
Ucode
class M249SAW extends KFWeapon
|
|
config(user);
|
|
|
|
|
|
function bool RecommendRangedAttack()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
//TODO: LONG ranged?
|
|
function bool RecommendLongRangedAttack()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
function float SuggestAttackStyle()
|
|
{
|
|
return -1.0;
|
|
}
|
|
|
|
exec function SwitchModes()
|
|
{
|
|
DoToggle();
|
|
}
|
|
|
|
function float GetAIRating()
|
|
{
|
|
local Bot B;
|
|
|
|
B = Bot(Instigator.Controller);
|
|
if ( (B == None) || (B.Enemy == None) )
|
|
return AIRating;
|
|
|
|
return AIRating;
|
|
}
|
|
|
|
function byte BestMode()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
simulated function SetZoomBlendColor(Canvas c)
|
|
{
|
|
local Byte val;
|
|
local Color clr;
|
|
local Color fog;
|
|
|
|
clr.R = 255;
|
|
clr.G = 255;
|
|
clr.B = 255;
|
|
clr.A = 255;
|
|
|
|
if( Instigator.Region.Zone.bDistanceFog )
|
|
{
|
|
fog = Instigator.Region.Zone.DistanceFogColor;
|
|
val = 0;
|
|
val = Max( val, fog.R);
|
|
val = Max( val, fog.G);
|
|
val = Max( val, fog.B);
|
|
if( val > 128 )
|
|
{
|
|
val -= 128;
|
|
clr.R -= val;
|
|
clr.G -= val;
|
|
clr.B -= val;
|
|
}
|
|
}
|
|
c.DrawColor = clr;
|
|
}
|
|
|
|
|
|
simulated function Notify_ShowBullets ()
|
|
{
|
|
SetBoneScale (0, 1.0, 'Bullet01b');
|
|
SetBoneScale (1, 1.0, 'Bullet02b');
|
|
SetBoneScale (2, 1.0, 'Bullet03b');
|
|
SetBoneScale (3, 1.0, 'Bullet04b');
|
|
SetBoneScale (4, 1.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
|
|
simulated function Notify_HideBullets ()
|
|
{
|
|
if (MagAmmoRemaining == 0)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 0.0, 'Bullet05b');
|
|
SetBoneScale (5, 0.0, 'Bullet06b');
|
|
SetBoneScale (6, 0.0, 'Bullet07b');
|
|
SetBoneScale (7, 0.0, 'Bullet08b');
|
|
SetBoneScale (8, 0.0, 'Bullet09b');
|
|
SetBoneScale (9, 0.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 1)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 0.0, 'Bullet05b');
|
|
SetBoneScale (5, 0.0, 'Bullet06b');
|
|
SetBoneScale (6, 0.0, 'Bullet07b');
|
|
SetBoneScale (7, 0.0, 'Bullet08b');
|
|
SetBoneScale (8, 0.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 2)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 0.0, 'Bullet05b');
|
|
SetBoneScale (5, 0.0, 'Bullet06b');
|
|
SetBoneScale (6, 0.0, 'Bullet07b');
|
|
SetBoneScale (7, 0.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 3)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 0.0, 'Bullet05b');
|
|
SetBoneScale (5, 0.0, 'Bullet06b');
|
|
SetBoneScale (6, 0.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 4)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 0.0, 'Bullet05b');
|
|
SetBoneScale (5, 0.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 5)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 0.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 6)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 0.0, 'Bullet04b');
|
|
SetBoneScale (4, 1.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 7)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 0.0, 'Bullet03b');
|
|
SetBoneScale (3, 1.0, 'Bullet04b');
|
|
SetBoneScale (4, 1.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 8)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 0.0, 'Bullet02b');
|
|
SetBoneScale (2, 1.0, 'Bullet03b');
|
|
SetBoneScale (3, 1.0, 'Bullet04b');
|
|
SetBoneScale (4, 1.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
else if (MagAmmoRemaining == 9)
|
|
{
|
|
SetBoneScale (0, 0.0, 'Bullet01b');
|
|
SetBoneScale (1, 1.0, 'Bullet02b');
|
|
SetBoneScale (2, 1.0, 'Bullet03b');
|
|
SetBoneScale (3, 1.0, 'Bullet04b');
|
|
SetBoneScale (4, 1.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
|
|
else
|
|
{
|
|
SetBoneScale (0, 1.0, 'Bullet01b');
|
|
SetBoneScale (1, 1.0, 'Bullet02b');
|
|
SetBoneScale (2, 1.0, 'Bullet03b');
|
|
SetBoneScale (3, 1.0, 'Bullet04b');
|
|
SetBoneScale (4, 1.0, 'Bullet05b');
|
|
SetBoneScale (5, 1.0, 'Bullet06b');
|
|
SetBoneScale (6, 1.0, 'Bullet07b');
|
|
SetBoneScale (7, 1.0, 'Bullet08b');
|
|
SetBoneScale (8, 1.0, 'Bullet09b');
|
|
SetBoneScale (9, 1.0, 'Bullet10b');
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
MagCapacity=60
|
|
ReloadRate=5.000000
|
|
ReloadAnim="Reload"
|
|
ReloadAnimRate=1.000000
|
|
WeaponReloadAnim="Reload_AK47"
|
|
Weight=12.000000
|
|
bHasAimingMode=True
|
|
IdleAimAnim="Iron_Idle"
|
|
StandardDisplayFOV=65.000000
|
|
bModeZeroCanDryFire=True
|
|
SleeveNum=0
|
|
TraderInfoTexture=Texture'HMG_T.M249.m249_Trader'
|
|
bIsTier3Weapon=True
|
|
MeshRef="HMG_A.m249mesh"
|
|
SkinRefs(0)="KF_Weapons_Trip_T.hands.hands_1stP_military_cmb"
|
|
SkinRefs(1)="HMG_T.M249.v_m249"
|
|
SkinRefs(2)="HMG_T.M249.v_m249_addons"
|
|
SkinRefs(3)="HMG_T.M249.v_m249_box"
|
|
SkinRefs(4)="HMG_T.M249.v_m249_bullets"
|
|
SkinRefs(5)="HMG_T.M249.v_m249_front"
|
|
SkinRefs(6)="HMG_T.M249.v_m249_heatshield"
|
|
SkinRefs(7)="HMG_T.M249.v_m249_lid"
|
|
SkinRefs(8)="HMG_T.M249.v_m249_receiver"
|
|
SkinRefs(9)="HMG_T.M249.v_m249_sights"
|
|
SkinRefs(10)="HMG_T.M249.v_m249_stock"
|
|
SelectSoundRef="HMG_S.M249.m249_select"
|
|
HudImageRef="HMG_T.M249.m249_Unselected"
|
|
SelectedHudImageRef="HMG_T.M249.m249_selected"
|
|
PlayerIronSightFOV=65.000000
|
|
ZoomedDisplayFOV=32.000000
|
|
FireModeClass(0)=Class'ScrnHMG.M249Fire'
|
|
FireModeClass(1)=Class'KFMod.NoFire'
|
|
PutDownAnim="PutDown"
|
|
SelectAnimRate=1.000000
|
|
SelectForce="SwitchToAssaultRifle"
|
|
AIRating=0.550000
|
|
CurrentRating=0.550000
|
|
bShowChargingBar=True
|
|
Description="The M249 SAW/LMG is the US produced version of the the Belgian-made FN Minimi. The M249 uses the 5.56x45mm NATO round, which lowers the weight of the gun when loaded yet grants the user with highly accurate yet reasonably powerful fire."
|
|
EffectOffset=(X=100.000000,Y=25.000000,Z=-10.000000)
|
|
DisplayFOV=65.000000
|
|
Priority=150
|
|
CustomCrosshair=11
|
|
CustomCrossHairTextureName="Crosshairs.HUD.Crosshair_Cross5"
|
|
InventoryGroup=4
|
|
GroupOffset=7
|
|
PickupClass=Class'ScrnHMG.M249Pickup'
|
|
PlayerViewOffset=(X=5.000000,Y=5.500000,Z=-3.000000)
|
|
BobDamping=4.000000
|
|
AttachmentClass=Class'ScrnHMG.M249Attachment'
|
|
IconCoords=(X1=245,Y1=39,X2=329,Y2=79)
|
|
ItemName="M249 SAW SE"
|
|
DrawScale=0.600000
|
|
TransientSoundVolume=1.250000
|
|
}
|