Fix new line symbol issues

This commit is contained in:
Anton Tarasenko 2020-04-19 00:44:48 +07:00
commit d66d86b2b1
846 changed files with 33896 additions and 12983 deletions

View file

@ -1,16 +1,66 @@
class NiceCLGL extends NiceWeapon;
simulated function fillSubReloadStages(){
// Loading 4 shells during 94 frames tops, with first shell loaded at frame 13, with 22 frames between load moments
generateReloadStages(3, 94, 13, 22);
}
simulated function SetupReloadVars(optional bool bIsActive, optional int animationIndex){
if(MagAmmoRemainingClient == 0){ generateReloadStages(4, 145, 42, 22); reloadStages[0] = 0.2; ReloadAnim='ReloadLong';
}
else{ generateReloadStages(3, 94, 13, 22); ReloadAnim='Reload';
}
UpdateSingleReloadVars();
super.SetupReloadVars(bIsActive, animationIndex);
}
defaultproperties
{ bChangeClipIcon=True bChangeBulletsIcon=True hudClipTexture=Texture'KillingFloor2HUD.HUD.Hud_M79' hudBulletsTexture=Texture'KillingFloor2HUD.HUD.Hud_M79' reloadType=RTYPE_SINGLE MagCapacity=4 ReloadRate=0.850000 ReloadAnim="Reload" ReloadAnimRate=1.000000 bHoldToReload=True WeaponReloadAnim="Reload_Shotgun" Weight=6.000000 bHasAimingMode=True IdleAimAnim="Idle_Iron" StandardDisplayFOV=65.000000 SleeveNum=0 TraderInfoTexture=Texture'NicePackT.CLGL.CLGL_HUD_Trader' bIsTier3Weapon=True MeshRef="NicePackA.CLGLMesh1st" SkinRefs(1)="NicePackT.CLGL.CLGL_CMB" SelectSoundRef="NicePackSnd.CLGL.CLGLSelect" HudImageRef="NicePackT.CLGL.CLGL_HUD_UnSelected" SelectedHudImageRef="NicePackT.CLGL.CLGL_HUD_Selected" PlayerIronSightFOV=70.000000 ZoomedDisplayFOV=40.000000 FireModeClass(0)=Class'NicePack.NiceCLGLFire' FireModeClass(1)=Class'KFMod.NoFire' PutDownAnim="PutDown" SelectForce="SwitchToAssaultRifle" AIRating=0.650000 CurrentRating=0.650000 Description="A pump-action grenade launcher. Launches high-explosive grenades." DisplayFOV=65.000000 Priority=210 InventoryGroup=4 GroupOffset=6 PickupClass=Class'NicePack.NiceCLGLPickup' PlayerViewOffset=(X=25.000000,Y=20.000000,Z=-6.000000) BobDamping=6.000000 AttachmentClass=Class'NicePack.NiceCLGLAttachment' IconCoords=(X1=253,Y1=146,X2=333,Y2=181) ItemName="China Lake Grenade Launcher" LightType=LT_None LightBrightness=0.000000 LightRadius=0.000000
}
class NiceCLGL extends NiceWeapon;
simulated function fillSubReloadStages(){
// Loading 4 shells during 94 frames tops, with first shell loaded at frame 13, with 22 frames between load moments
generateReloadStages(3, 94, 13, 22);
}
simulated function SetupReloadVars(optional bool bIsActive, optional int animationIndex){
if(MagAmmoRemainingClient == 0){
generateReloadStages(4, 145, 42, 22);
reloadStages[0] = 0.2;
ReloadAnim='ReloadLong';
}
else{
generateReloadStages(3, 94, 13, 22);
ReloadAnim='Reload';
}
UpdateSingleReloadVars();
super.SetupReloadVars(bIsActive, animationIndex);
}
defaultproperties
{
bChangeClipIcon=True
bChangeBulletsIcon=True
hudClipTexture=Texture'KillingFloor2HUD.HUD.Hud_M79'
hudBulletsTexture=Texture'KillingFloor2HUD.HUD.Hud_M79'
reloadType=RTYPE_SINGLE
MagCapacity=4
ReloadRate=0.850000
ReloadAnim="Reload"
ReloadAnimRate=1.000000
bHoldToReload=True
WeaponReloadAnim="Reload_Shotgun"
Weight=6.000000
bHasAimingMode=True
IdleAimAnim="Idle_Iron"
StandardDisplayFOV=65.000000
SleeveNum=0
TraderInfoTexture=Texture'NicePackT.CLGL.CLGL_HUD_Trader'
bIsTier3Weapon=True
MeshRef="NicePackA.CLGLMesh1st"
SkinRefs(1)="NicePackT.CLGL.CLGL_CMB"
SelectSoundRef="NicePackSnd.CLGL.CLGLSelect"
HudImageRef="NicePackT.CLGL.CLGL_HUD_UnSelected"
SelectedHudImageRef="NicePackT.CLGL.CLGL_HUD_Selected"
PlayerIronSightFOV=70.000000
ZoomedDisplayFOV=40.000000
FireModeClass(0)=Class'NicePack.NiceCLGLFire'
FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle"
AIRating=0.650000
CurrentRating=0.650000
Description="A pump-action grenade launcher. Launches high-explosive grenades."
DisplayFOV=65.000000
Priority=210
InventoryGroup=4
GroupOffset=6
PickupClass=Class'NicePack.NiceCLGLPickup'
PlayerViewOffset=(X=25.000000,Y=20.000000,Z=-6.000000)
BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceCLGLAttachment'
IconCoords=(X1=253,Y1=146,X2=333,Y2=181)
ItemName="China Lake Grenade Launcher"
LightType=LT_None
LightBrightness=0.000000
LightRadius=0.000000
}

View file

@ -1,4 +1,11 @@
class NiceCLGLAmmo extends NiceAmmo;
defaultproperties
{ AmmoPickupAmount=4 MaxAmmo=36 InitialAmount=9 PickupClass=Class'NicePack.NiceCLGLAmmoPickup' IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconCoords=(X1=4,Y1=350,X2=110,Y2=395) ItemName="CLGL Grenades"
}
class NiceCLGLAmmo extends NiceAmmo;
defaultproperties
{
AmmoPickupAmount=4
MaxAmmo=36
InitialAmount=9
PickupClass=Class'NicePack.NiceCLGLAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=4,Y1=350,X2=110,Y2=395)
ItemName="CLGL Grenades"
}

View file

@ -1,4 +1,9 @@
class NiceCLGLAmmoPickup extends NiceAmmoPickup;
defaultproperties
{ AmmoAmount=6 InventoryType=Class'NicePack.NiceCLGLAmmo' PickupMessage="CLGL Grenades" StaticMesh=StaticMesh'KillingFloorStatics.FragPickup' CollisionRadius=25.000000
}
class NiceCLGLAmmoPickup extends NiceAmmoPickup;
defaultproperties
{
AmmoAmount=6
InventoryType=Class'NicePack.NiceCLGLAmmo'
PickupMessage="CLGL Grenades"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
}

View file

@ -1,4 +1,51 @@
class NiceCLGLAttachment extends NiceAttachment;
defaultproperties
{ mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdNadeL' mShellCaseEmitterClass=Class'KFMod.KFShotgunShellSpewer' MovementAnims(0)="JogF_Shotgun" MovementAnims(1)="JogB_Shotgun" MovementAnims(2)="JogL_Shotgun" MovementAnims(3)="JogR_Shotgun" TurnLeftAnim="TurnL_Shotgun" TurnRightAnim="TurnR_Shotgun" CrouchAnims(0)="CHwalkF_Shotgun" CrouchAnims(1)="CHwalkB_Shotgun" CrouchAnims(2)="CHwalkL_Shotgun" CrouchAnims(3)="CHwalkR_Shotgun" WalkAnims(0)="WalkF_Shotgun" WalkAnims(1)="WalkB_Shotgun" WalkAnims(2)="WalkL_Shotgun" WalkAnims(3)="WalkR_Shotgun" CrouchTurnRightAnim="CH_TurnR_Shotgun" CrouchTurnLeftAnim="CH_TurnL_Shotgun" IdleCrouchAnim="CHIdle_Shotgun" IdleWeaponAnim="Idle_Shotgun" IdleRestAnim="Idle_Shotgun" IdleChatAnim="Idle_Shotgun" IdleHeavyAnim="Idle_Shotgun" IdleRifleAnim="Idle_Shotgun" FireAnims(0)="Fire_Shotgun" FireAnims(1)="Fire_Shotgun" FireAnims(2)="Fire_Shotgun" FireAnims(3)="Fire_Shotgun" FireAltAnims(0)="Fire_Shotgun" FireAltAnims(1)="Fire_Shotgun" FireAltAnims(2)="Fire_Shotgun" FireAltAnims(3)="Fire_Shotgun" FireCrouchAnims(0)="CHFire_Shotgun" FireCrouchAnims(1)="CHFire_Shotgun" FireCrouchAnims(2)="CHFire_Shotgun" FireCrouchAnims(3)="CHFire_Shotgun" FireCrouchAltAnims(0)="CHFire_Shotgun" FireCrouchAltAnims(1)="CHFire_Shotgun" FireCrouchAltAnims(2)="CHFire_Shotgun" FireCrouchAltAnims(3)="CHFire_Shotgun" HitAnims(0)="HitF_Shotgun" HitAnims(1)="HitB_Shotgun" HitAnims(2)="HitL_Shotgun" HitAnims(3)="HitR_Shotgun" PostFireBlendStandAnim="Blend_Shotgun" PostFireBlendCrouchAnim="CHBlend_Shotgun" MeshRef="NicePackA.CLGLMesh3rd"
}
class NiceCLGLAttachment extends NiceAttachment;
defaultproperties
{
mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdNadeL'
mShellCaseEmitterClass=Class'KFMod.KFShotgunShellSpewer'
MovementAnims(0)="JogF_Shotgun"
MovementAnims(1)="JogB_Shotgun"
MovementAnims(2)="JogL_Shotgun"
MovementAnims(3)="JogR_Shotgun"
TurnLeftAnim="TurnL_Shotgun"
TurnRightAnim="TurnR_Shotgun"
CrouchAnims(0)="CHwalkF_Shotgun"
CrouchAnims(1)="CHwalkB_Shotgun"
CrouchAnims(2)="CHwalkL_Shotgun"
CrouchAnims(3)="CHwalkR_Shotgun"
WalkAnims(0)="WalkF_Shotgun"
WalkAnims(1)="WalkB_Shotgun"
WalkAnims(2)="WalkL_Shotgun"
WalkAnims(3)="WalkR_Shotgun"
CrouchTurnRightAnim="CH_TurnR_Shotgun"
CrouchTurnLeftAnim="CH_TurnL_Shotgun"
IdleCrouchAnim="CHIdle_Shotgun"
IdleWeaponAnim="Idle_Shotgun"
IdleRestAnim="Idle_Shotgun"
IdleChatAnim="Idle_Shotgun"
IdleHeavyAnim="Idle_Shotgun"
IdleRifleAnim="Idle_Shotgun"
FireAnims(0)="Fire_Shotgun"
FireAnims(1)="Fire_Shotgun"
FireAnims(2)="Fire_Shotgun"
FireAnims(3)="Fire_Shotgun"
FireAltAnims(0)="Fire_Shotgun"
FireAltAnims(1)="Fire_Shotgun"
FireAltAnims(2)="Fire_Shotgun"
FireAltAnims(3)="Fire_Shotgun"
FireCrouchAnims(0)="CHFire_Shotgun"
FireCrouchAnims(1)="CHFire_Shotgun"
FireCrouchAnims(2)="CHFire_Shotgun"
FireCrouchAnims(3)="CHFire_Shotgun"
FireCrouchAltAnims(0)="CHFire_Shotgun"
FireCrouchAltAnims(1)="CHFire_Shotgun"
FireCrouchAltAnims(2)="CHFire_Shotgun"
FireCrouchAltAnims(3)="CHFire_Shotgun"
HitAnims(0)="HitF_Shotgun"
HitAnims(1)="HitB_Shotgun"
HitAnims(2)="HitL_Shotgun"
HitAnims(3)="HitR_Shotgun"
PostFireBlendStandAnim="Blend_Shotgun"
PostFireBlendCrouchAnim="CHBlend_Shotgun"
MeshRef="NicePackA.CLGLMesh3rd"
}

View file

@ -1,4 +1,27 @@
class NiceCLGLPickup extends NiceWeaponPickup;
defaultproperties
{ Weight=6.000000 cost=500 AmmoCost=28 BuyClipSize=4 PowerValue=85 SpeedValue=65 RangeValue=75 Description="A pump-action grenade launcher. Launches high-explosive grenades." ItemName="China Lake Grenade Launcher" ItemShortName="China Lake Launcher" AmmoItemName="CLGL Grenades" AmmoMesh=StaticMesh'KillingFloorStatics.XbowAmmo' CorrespondingPerkIndex=6 EquipmentCategoryID=2 MaxDesireability=0.790000 InventoryType=Class'NicePack.NiceCLGL' PickupMessage="You got the China Lake Grenade Launcher." PickupSound=Sound'NicePackSnd.CLGL.CLGLPickup' PickupForce="AssaultRiflePickup" StaticMesh=StaticMesh'NicePackSM.CLGLMeshPickup' DrawScale=1.400000 CollisionRadius=25.000000 CollisionHeight=10.000000
}
class NiceCLGLPickup extends NiceWeaponPickup;
defaultproperties
{
Weight=6.000000
cost=500
AmmoCost=28
BuyClipSize=4
PowerValue=85
SpeedValue=65
RangeValue=75
Description="A pump-action grenade launcher. Launches high-explosive grenades."
ItemName="China Lake Grenade Launcher"
ItemShortName="China Lake Launcher"
AmmoItemName="CLGL Grenades"
AmmoMesh=StaticMesh'KillingFloorStatics.XbowAmmo'
CorrespondingPerkIndex=6
EquipmentCategoryID=2
MaxDesireability=0.790000
InventoryType=Class'NicePack.NiceCLGL'
PickupMessage="You got the China Lake Grenade Launcher."
PickupSound=Sound'NicePackSnd.CLGL.CLGLPickup'
PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'NicePackSM.CLGLMeshPickup'
DrawScale=1.400000
CollisionRadius=25.000000
CollisionHeight=10.000000
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeCLGLBlunt extends NiceDamTypeDemoBlunt;
defaultproperties
{ WeaponClass=Class'NicePack.NiceCLGL'
}
class NiceDamTypeCLGLBlunt extends NiceDamTypeDemoBlunt;
defaultproperties
{
WeaponClass=Class'NicePack.NiceCLGL'
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeCLGLExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{ WeaponClass=Class'NicePack.NiceCLGL'
}
class NiceDamTypeCLGLExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{
WeaponClass=Class'NicePack.NiceCLGL'
}

View file

@ -1,4 +1,7 @@
class NiceHRL extends HRL;
defaultproperties
{ FireModeClass(0)=Class'NicePack.NiceHRLFire' PickupClass=Class'NicePack.NiceHRLPickup' ItemName="HRL-1 Rocket Launcher NW"
}
class NiceHRL extends HRL;
defaultproperties
{
FireModeClass(0)=Class'NicePack.NiceHRLFire'
PickupClass=Class'NicePack.NiceHRLPickup'
ItemName="HRL-1 Rocket Launcher NW"
}

View file

@ -1,4 +1,5 @@
class NiceHRLFire extends HRLFire;
defaultproperties
{ ProjectileClass=Class'NicePack.NiceHRLProj'
}
class NiceHRLFire extends HRLFire;
defaultproperties
{
ProjectileClass=Class'NicePack.NiceHRLProj'
}

View file

@ -1,4 +1,8 @@
class NiceHRLPickup extends HRLPickup;
defaultproperties
{ ItemName="HRL-1 Rocket Launcher NW" ItemShortName="HRL-1 NW" InventoryType=Class'NicePack.NiceHRL' PickupMessage="You got the HRL-1 Rocket Launcher NW"
}
class NiceHRLPickup extends HRLPickup;
defaultproperties
{
ItemName="HRL-1 Rocket Launcher NW"
ItemShortName="HRL-1 NW"
InventoryType=Class'NicePack.NiceHRL'
PickupMessage="You got the HRL-1 Rocket Launcher NW"
}

View file

@ -1,4 +1,5 @@
class NiceHRLProj extends HRLProj;
defaultproperties
{ ArmDistSquared=180000.000000
}
class NiceHRLProj extends HRLProj;
defaultproperties
{
ArmDistSquared=180000.000000
}

View file

@ -1,4 +1,5 @@
class NiceHopMineAmmo extends HopMineAmmo;
defaultproperties
{ PickupClass=Class'NicePack.NiceHopMineAmmoPickup'
}
class NiceHopMineAmmo extends HopMineAmmo;
defaultproperties
{
PickupClass=Class'NicePack.NiceHopMineAmmoPickup'
}

View file

@ -1,4 +1,5 @@
class NiceHopMineAmmoPickup extends HopMineAmmoPickup;
defaultproperties
{ InventoryType=Class'NicePack.NiceHopMineAmmo'
}
class NiceHopMineAmmoPickup extends HopMineAmmoPickup;
defaultproperties
{
InventoryType=Class'NicePack.NiceHopMineAmmo'
}

View file

@ -1,4 +1,6 @@
class NiceHopMineFire extends HopMineFire;
defaultproperties
{ AmmoClass=Class'NicePack.NiceHopMineAmmo' ProjectileClass=Class'NicePack.NiceHopMineProj'
}
class NiceHopMineFire extends HopMineFire;
defaultproperties
{
AmmoClass=Class'NicePack.NiceHopMineAmmo'
ProjectileClass=Class'NicePack.NiceHopMineProj'
}

View file

@ -1,4 +1,10 @@
class NiceHopMineLPickup extends HopMineLPickup;
defaultproperties
{ Weight=5.000000 Description="The prototype of Hopmine launcher. But still can be very useful." ItemName="HopMine Launcher NW" ItemShortName="HopMine NW" InventoryType=Class'NicePack.NiceHopMineLchr' PickupMessage="You got the HopMine Launcher NW."
}
class NiceHopMineLPickup extends HopMineLPickup;
defaultproperties
{
Weight=5.000000
Description="The prototype of Hopmine launcher. But still can be very useful."
ItemName="HopMine Launcher NW"
ItemShortName="HopMine NW"
InventoryType=Class'NicePack.NiceHopMineLchr'
PickupMessage="You got the HopMine Launcher NW."
}

View file

@ -1,7 +1,12 @@
//=============================================================================
// HopMineLchr
//=============================================================================
class NiceHopMineLchr extends HopMineLchr;
defaultproperties
{ Weight=5.000000 FireModeClass(0)=Class'NicePack.NiceHopMineFire' Description="The prototype of Hopmine launcher." PickupClass=Class'NicePack.NiceHopMineLPickup' ItemName="HopMine Launcher NW"
}
//=============================================================================
// HopMineLchr
//=============================================================================
class NiceHopMineLchr extends HopMineLchr;
defaultproperties
{
Weight=5.000000
FireModeClass(0)=Class'NicePack.NiceHopMineFire'
Description="The prototype of Hopmine launcher."
PickupClass=Class'NicePack.NiceHopMineLPickup'
ItemName="HopMine Launcher NW"
}

View file

@ -1,23 +1,106 @@
Class NiceHopMineProj extends HopMineProj;
#exec obj load file="KF_GrenadeSnd.uax"
#exec OBJ LOAD FILE=ScrnWeaponPack_T.utx
#exec OBJ LOAD FILE=ScrnWeaponPack_SND.uax
#exec OBJ LOAD FILE=ScrnWeaponPack_A.ukx
state OnWall
{
simulated function BeginState()
{ if ( SmokeTrail != none ) { SmokeTrail.HandleOwnerDestroyed(); SmokeTrail = none; } bCollideWorld = False; bFixedRotationDir = false; RotationRate = rot(0,0,0); if( Level.NetMode!=NM_DedicatedServer ) { TweenAnim('Down',0.05f); PlaySound(Sound'ScrnWeaponPack_SND.mine.blade_cut'); DotLight = Spawn(Class'HopMineLight',,,Location + (vect(0,0,5) << Rotation)); if( DotLight!=none ) { DotLight.SetBase(Self); DotLight.SetRelativeLocation(vect(0,0,5)); } } if( Level.NetMode!=NM_Client ) { NetUpdateFrequency = 1.f; SetTimer(0.25+FRand()*0.25,true); }
}
simulated function EndState()
{ if( Level.NetMode!=NM_Client ) { SetTimer(0,false); NetUpdateFrequency = Default.NetUpdateFrequency; NetUpdateTime = Level.TimeSeconds-1; }
}
function Timer()
{ local Controller C; local vector X,Y,Z; local float DotP; local int ThreatLevel; local bool bA,bB; GetAxes(Rotation,X,Y,Z); for( C=Level.ControllerList; C!=none; C=C.nextController ) if( C.Pawn!=none && C.Pawn.Health>0 && VSizeSquared(C.Pawn.Location-Location)<1000000.f ) { X = C.Pawn.Location-Location; DotP = (X Dot Z); if( DotP<0 ) continue; DotP = VSizeSquared(X - (Z * DotP)); if( DotP>90000.f || !FastTrace(C.Pawn.Location,Location) ) continue; if( Monster(C.Pawn)!=none ) { bB = true; if( DotP<35500.f ) { Y = C.Pawn.Location; ThreatLevel+=C.Pawn.HealthMax; } } else bA = true; } if( bA!=bWarningTarget || bB!=bCriticalTarget ) { bWarningTarget = bA; bCriticalTarget = bB; if( DotLight!=none ) DotLight.SetMode(bA,bB); NetUpdateTime = Level.TimeSeconds-1; } if( bB && ThreatLevel>400 ) { bWarningTarget = false; bCriticalTarget = false; RepLaunchPos = Y; GoToState('LaunchMine'); } else if( InstigatorController==none || bNeedsDetonate || (WeaponOwner!=none && WeaponOwner.NumMinesOut>WeaponOwner.MaximumMines) ) { bWarningTarget = false; bCriticalTarget = false; RepLaunchPos = Location + Z*(150.f+FRand()*250.f); GoToState('LaunchMine'); }
}
simulated function PostNetReceive()
{ if( RepLaunchPos!=vect(0,0,0) ) GoToState('LaunchMine'); else if( DotLight!=none ) DotLight.SetMode(bWarningTarget,bCriticalTarget);
}
}
defaultproperties
{
}
Class NiceHopMineProj extends HopMineProj;
#exec obj load file="KF_GrenadeSnd.uax"
#exec OBJ LOAD FILE=ScrnWeaponPack_T.utx
#exec OBJ LOAD FILE=ScrnWeaponPack_SND.uax
#exec OBJ LOAD FILE=ScrnWeaponPack_A.ukx
state OnWall
{
simulated function BeginState()
{
if ( SmokeTrail != none )
{
SmokeTrail.HandleOwnerDestroyed();
SmokeTrail = none;
}
bCollideWorld = False;
bFixedRotationDir = false;
RotationRate = rot(0,0,0);
if( Level.NetMode!=NM_DedicatedServer )
{
TweenAnim('Down',0.05f);
PlaySound(Sound'ScrnWeaponPack_SND.mine.blade_cut');
DotLight = Spawn(Class'HopMineLight',,,Location + (vect(0,0,5) << Rotation));
if( DotLight!=none )
{
DotLight.SetBase(Self);
DotLight.SetRelativeLocation(vect(0,0,5));
}
}
if( Level.NetMode!=NM_Client )
{
NetUpdateFrequency = 1.f;
SetTimer(0.25+FRand()*0.25,true);
}
}
simulated function EndState()
{
if( Level.NetMode!=NM_Client )
{
SetTimer(0,false);
NetUpdateFrequency = Default.NetUpdateFrequency;
NetUpdateTime = Level.TimeSeconds-1;
}
}
function Timer()
{
local Controller C;
local vector X,Y,Z;
local float DotP;
local int ThreatLevel;
local bool bA,bB;
GetAxes(Rotation,X,Y,Z);
for( C=Level.ControllerList; C!=none; C=C.nextController )
if( C.Pawn!=none && C.Pawn.Health>0 && VSizeSquared(C.Pawn.Location-Location)<1000000.f )
{
X = C.Pawn.Location-Location;
DotP = (X Dot Z);
if( DotP<0 )
continue;
DotP = VSizeSquared(X - (Z * DotP));
if( DotP>90000.f || !FastTrace(C.Pawn.Location,Location) )
continue;
if( Monster(C.Pawn)!=none )
{
bB = true;
if( DotP<35500.f )
{
Y = C.Pawn.Location;
ThreatLevel+=C.Pawn.HealthMax;
}
}
else bA = true;
}
if( bA!=bWarningTarget || bB!=bCriticalTarget )
{
bWarningTarget = bA;
bCriticalTarget = bB;
if( DotLight!=none )
DotLight.SetMode(bA,bB);
NetUpdateTime = Level.TimeSeconds-1;
}
if( bB && ThreatLevel>400 )
{
bWarningTarget = false;
bCriticalTarget = false;
RepLaunchPos = Y;
GoToState('LaunchMine');
}
else if( InstigatorController==none || bNeedsDetonate || (WeaponOwner!=none && WeaponOwner.NumMinesOut>WeaponOwner.MaximumMines) )
{
bWarningTarget = false;
bCriticalTarget = false;
RepLaunchPos = Location + Z*(150.f+FRand()*250.f);
GoToState('LaunchMine');
}
}
simulated function PostNetReceive()
{
if( RepLaunchPos!=vect(0,0,0) )
GoToState('LaunchMine');
else if( DotLight!=none )
DotLight.SetMode(bWarningTarget,bCriticalTarget);
}
}
defaultproperties
{
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeLAWBlunt extends NiceDamTypeDemoBlunt;
defaultproperties
{ WeaponClass=Class'NicePack.NiceLAW'
}
class NiceDamTypeLAWBlunt extends NiceDamTypeDemoBlunt;
defaultproperties
{
WeaponClass=Class'NicePack.NiceLAW'
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeLAWExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{ WeaponClass=Class'NicePack.NiceLAW'
}
class NiceDamTypeLAWExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{
WeaponClass=Class'NicePack.NiceLAW'
}

View file

@ -1,25 +1,78 @@
class NiceLAW extends NiceWeapon;
simulated function ZoomIn(bool bAnimateTransition){
if(Level.TimeSeconds < FireMode[0].NextFireTime) return;
super.ZoomIn(bAnimateTransition);
if(bAnimateTransition){ if(bZoomOutInterrupted) PlayAnim('Raise',1.0,0.1); else PlayAnim('Raise',1.0,0.1);
}
}
simulated function ZoomOut(bool bAnimateTransition){
super.ZoomOut(false);
if(bAnimateTransition) TweenAnim(IdleAnim,FastZoomOutTime);
}
simulated function PostBeginPlay(){
local AutoReloadAnimDesc reloadDesc;
autoReloadsDescriptions.Length = 0;
reloadDesc.canInterruptFrame = 0.07;
reloadDesc.trashStartFrame = 0.601;
reloadDesc.resumeFrame = 0.07;
reloadDesc.speedFrame = 0.07;
reloadDesc.animName = 'AimFire';
autoReloadsDescriptions[0] = reloadDesc;
super.PostBeginPlay();
}
defaultproperties
{ bChangeClipIcon=True bChangeBulletsIcon=True hudClipTexture=Texture'KillingFloorHUD.HUD.Hud_Law_Rocket' hudBulletsTexture=Texture'KillingFloorHUD.HUD.Hud_Law_Rocket' reloadType=RTYPE_AUTO ForceZoomOutOnFireTime=0.100000 MagCapacity=1 ReloadRate=3.000000 bHoldToReload=True WeaponReloadAnim="Reload_LAW" MinimumFireRange=300 Weight=9.000000 bHasAimingMode=True IdleAimAnim="AimIdle" StandardDisplayFOV=75.000000 SleeveNum=3 TraderInfoTexture=Texture'KillingFloorHUD.Trader_Weapon_Images.Trader_Law' bIsTier3Weapon=True MeshRef="KF_Weapons_Trip.LAW_Trip" SkinRefs(0)="KF_Weapons_Trip_T.Supers.law_cmb" SkinRefs(1)="KF_Weapons_Trip_T.Supers.law_reddot_shdr" SkinRefs(2)="KF_Weapons_Trip_T.Supers.rocket_cmb" SelectSoundRef="KF_LAWSnd.LAW_Select" HudImageRef="KillingFloorHUD.WeaponSelect.LAW_unselected" SelectedHudImageRef="KillingFloorHUD.WeaponSelect.LAW" PlayerIronSightFOV=90.000000 ZoomTime=0.260000 ZoomedDisplayFOV=65.000000 FireModeClass(0)=Class'NicePack.NiceLAWFire' FireModeClass(1)=Class'KFMod.NoFire' PutDownAnim="PutDown" SelectForce="SwitchToRocketLauncher" bSniping=False Description="The Light Anti Tank Weapon is, as its name suggests, a military grade heavy weapons platform designed to disable or outright destroy armored vehicles." EffectOffset=(X=50.000000,Y=1.000000,Z=10.000000) DisplayFOV=75.000000 Priority=195 HudColor=(G=0) InventoryGroup=4 GroupOffset=9 PickupClass=Class'NicePack.NiceLAWPickup' PlayerViewOffset=(X=30.000000,Y=30.000000) BobDamping=7.000000 AttachmentClass=Class'NicePack.NiceLAWAttachment' IconCoords=(X1=429,Y1=212,X2=508,Y2=251) ItemName="L.A.W" AmbientGlow=2
}
class NiceLAW extends NiceWeapon;
simulated function ZoomIn(bool bAnimateTransition){
if(Level.TimeSeconds < FireMode[0].NextFireTime)
return;
super.ZoomIn(bAnimateTransition);
if(bAnimateTransition){
if(bZoomOutInterrupted)
PlayAnim('Raise',1.0,0.1);
else
PlayAnim('Raise',1.0,0.1);
}
}
simulated function ZoomOut(bool bAnimateTransition){
super.ZoomOut(false);
if(bAnimateTransition)
TweenAnim(IdleAnim,FastZoomOutTime);
}
simulated function PostBeginPlay(){
local AutoReloadAnimDesc reloadDesc;
autoReloadsDescriptions.Length = 0;
reloadDesc.canInterruptFrame = 0.07;
reloadDesc.trashStartFrame = 0.601;
reloadDesc.resumeFrame = 0.07;
reloadDesc.speedFrame = 0.07;
reloadDesc.animName = 'AimFire';
autoReloadsDescriptions[0] = reloadDesc;
super.PostBeginPlay();
}
defaultproperties
{
bChangeClipIcon=True
bChangeBulletsIcon=True
hudClipTexture=Texture'KillingFloorHUD.HUD.Hud_Law_Rocket'
hudBulletsTexture=Texture'KillingFloorHUD.HUD.Hud_Law_Rocket'
reloadType=RTYPE_AUTO
ForceZoomOutOnFireTime=0.100000
MagCapacity=1
ReloadRate=3.000000
bHoldToReload=True
WeaponReloadAnim="Reload_LAW"
MinimumFireRange=300
Weight=9.000000
bHasAimingMode=True
IdleAimAnim="AimIdle"
StandardDisplayFOV=75.000000
SleeveNum=3
TraderInfoTexture=Texture'KillingFloorHUD.Trader_Weapon_Images.Trader_Law'
bIsTier3Weapon=True
MeshRef="KF_Weapons_Trip.LAW_Trip"
SkinRefs(0)="KF_Weapons_Trip_T.Supers.law_cmb"
SkinRefs(1)="KF_Weapons_Trip_T.Supers.law_reddot_shdr"
SkinRefs(2)="KF_Weapons_Trip_T.Supers.rocket_cmb"
SelectSoundRef="KF_LAWSnd.LAW_Select"
HudImageRef="KillingFloorHUD.WeaponSelect.LAW_unselected"
SelectedHudImageRef="KillingFloorHUD.WeaponSelect.LAW"
PlayerIronSightFOV=90.000000
ZoomTime=0.260000
ZoomedDisplayFOV=65.000000
FireModeClass(0)=Class'NicePack.NiceLAWFire'
FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown"
SelectForce="SwitchToRocketLauncher"
bSniping=False
Description="The Light Anti Tank Weapon is, as its name suggests, a military grade heavy weapons platform designed to disable or outright destroy armored vehicles."
EffectOffset=(X=50.000000,Y=1.000000,Z=10.000000)
DisplayFOV=75.000000
Priority=195
HudColor=(G=0)
InventoryGroup=4
GroupOffset=9
PickupClass=Class'NicePack.NiceLAWPickup'
PlayerViewOffset=(X=30.000000,Y=30.000000)
BobDamping=7.000000
AttachmentClass=Class'NicePack.NiceLAWAttachment'
IconCoords=(X1=429,Y1=212,X2=508,Y2=251)
ItemName="L.A.W"
AmbientGlow=2
}

View file

@ -1,5 +1,11 @@
class NiceLAWAmmo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties
{ AmmoPickupAmount=2 MaxAmmo=20 InitialAmount=5 IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconCoords=(X1=458,Y1=34,X2=511,Y2=78) ItemName="L.A.W Rockets"
}
class NiceLAWAmmo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties
{
AmmoPickupAmount=2
MaxAmmo=20
InitialAmount=5
IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=458,Y1=34,X2=511,Y2=78)
ItemName="L.A.W Rockets"
}

View file

@ -1,4 +1,10 @@
class NiceLAWAmmoPickup extends NiceAmmoPickup;
defaultproperties
{ AmmoAmount=2 InventoryType=Class'NicePack.NiceLAWAmmo' PickupMessage="HEAT Rockets" StaticMesh=StaticMesh'KillingFloorStatics.LAWAmmo' DrawScale=0.500000 CollisionRadius=40.000000
}
class NiceLAWAmmoPickup extends NiceAmmoPickup;
defaultproperties
{
AmmoAmount=2
InventoryType=Class'NicePack.NiceLAWAmmo'
PickupMessage="HEAT Rockets"
StaticMesh=StaticMesh'KillingFloorStatics.LAWAmmo'
DrawScale=0.500000
CollisionRadius=40.000000
}

View file

@ -1,4 +1,51 @@
class NiceLAWAttachment extends NiceAttachment;
defaultproperties
{ mMuzFlashClass=Class'KFMod.KFLawMuzzFlash' MovementAnims(0)="JogF_LAW" MovementAnims(1)="JogB_LAW" MovementAnims(2)="JogL_LAW" MovementAnims(3)="JogR_LAW" TurnLeftAnim="TurnL_LAW" TurnRightAnim="TurnR_LAW" CrouchAnims(0)="CHwalkF_LAW" CrouchAnims(1)="CHwalkB_LAW" CrouchAnims(2)="CHwalkL_LAW" CrouchAnims(3)="CHwalkR_LAW" WalkAnims(0)="WalkF_LAW" WalkAnims(1)="WalkB_LAW" WalkAnims(2)="WalkL_LAW" WalkAnims(3)="WalkR_LAW" CrouchTurnRightAnim="CH_TurnR_LAW" CrouchTurnLeftAnim="CH_TurnL_LAW" IdleCrouchAnim="CHIdle_LAW" IdleWeaponAnim="Idle_LAW" IdleRestAnim="Idle_LAW" IdleChatAnim="Idle_LAW" IdleHeavyAnim="Idle_LAW" IdleRifleAnim="Idle_LAW" FireAnims(0)="Fire_LAW" FireAnims(1)="Fire_LAW" FireAnims(2)="Fire_LAW" FireAnims(3)="Fire_LAW" FireAltAnims(0)="Fire_LAW" FireAltAnims(1)="Fire_LAW" FireAltAnims(2)="Fire_LAW" FireAltAnims(3)="Fire_LAW" FireCrouchAnims(0)="CHFire_LAW" FireCrouchAnims(1)="CHFire_LAW" FireCrouchAnims(2)="CHFire_LAW" FireCrouchAnims(3)="CHFire_LAW" FireCrouchAltAnims(0)="CHFire_LAW" FireCrouchAltAnims(1)="CHFire_LAW" FireCrouchAltAnims(2)="CHFire_LAW" FireCrouchAltAnims(3)="CHFire_LAW" HitAnims(0)="HitF_LAW" HitAnims(1)="HitB_LAW" HitAnims(2)="HitL_LAW" HitAnims(3)="HitR_LAW" PostFireBlendStandAnim="Blend_LAW" PostFireBlendCrouchAnim="CHBlend_LAW" MeshRef="KF_Weapons3rd_Trip.LAW_3rd" bHeavy=True
}
class NiceLAWAttachment extends NiceAttachment;
defaultproperties
{
mMuzFlashClass=Class'KFMod.KFLawMuzzFlash'
MovementAnims(0)="JogF_LAW"
MovementAnims(1)="JogB_LAW"
MovementAnims(2)="JogL_LAW"
MovementAnims(3)="JogR_LAW"
TurnLeftAnim="TurnL_LAW"
TurnRightAnim="TurnR_LAW"
CrouchAnims(0)="CHwalkF_LAW"
CrouchAnims(1)="CHwalkB_LAW"
CrouchAnims(2)="CHwalkL_LAW"
CrouchAnims(3)="CHwalkR_LAW"
WalkAnims(0)="WalkF_LAW"
WalkAnims(1)="WalkB_LAW"
WalkAnims(2)="WalkL_LAW"
WalkAnims(3)="WalkR_LAW"
CrouchTurnRightAnim="CH_TurnR_LAW"
CrouchTurnLeftAnim="CH_TurnL_LAW"
IdleCrouchAnim="CHIdle_LAW"
IdleWeaponAnim="Idle_LAW"
IdleRestAnim="Idle_LAW"
IdleChatAnim="Idle_LAW"
IdleHeavyAnim="Idle_LAW"
IdleRifleAnim="Idle_LAW"
FireAnims(0)="Fire_LAW"
FireAnims(1)="Fire_LAW"
FireAnims(2)="Fire_LAW"
FireAnims(3)="Fire_LAW"
FireAltAnims(0)="Fire_LAW"
FireAltAnims(1)="Fire_LAW"
FireAltAnims(2)="Fire_LAW"
FireAltAnims(3)="Fire_LAW"
FireCrouchAnims(0)="CHFire_LAW"
FireCrouchAnims(1)="CHFire_LAW"
FireCrouchAnims(2)="CHFire_LAW"
FireCrouchAnims(3)="CHFire_LAW"
FireCrouchAltAnims(0)="CHFire_LAW"
FireCrouchAltAnims(1)="CHFire_LAW"
FireCrouchAltAnims(2)="CHFire_LAW"
FireCrouchAltAnims(3)="CHFire_LAW"
HitAnims(0)="HitF_LAW"
HitAnims(1)="HitB_LAW"
HitAnims(2)="HitL_LAW"
HitAnims(3)="HitR_LAW"
PostFireBlendStandAnim="Blend_LAW"
PostFireBlendCrouchAnim="CHBlend_LAW"
MeshRef="KF_Weapons3rd_Trip.LAW_3rd"
bHeavy=True
}

View file

@ -1,5 +1,28 @@
class NiceLAWPickup extends NiceWeaponPickup;
#exec OBJ LOAD FILE=KillingFloorWeapons.utx
defaultproperties
{ Weight=9.000000 cost=1250 AmmoCost=30 BuyClipSize=1 PowerValue=100 SpeedValue=20 RangeValue=64 Description="Light Anti Tank weapon. Designed to punch through armored vehicles." ItemName="L.A.W" ItemShortName="L.A.W" AmmoItemName="L.A.W Rockets" AmmoMesh=StaticMesh'KillingFloorStatics.LAWAmmo' CorrespondingPerkIndex=6 EquipmentCategoryID=3 MaxDesireability=0.790000 InventoryType=Class'NicePack.NiceLAW' RespawnTime=60.000000 PickupMessage="You got the L.A.W." PickupSound=Sound'KF_LAWSnd.LAW_Pickup' PickupForce="AssaultRiflePickup" StaticMesh=StaticMesh'KF_pickups_Trip.Super.LAW_Pickup' CollisionRadius=35.000000 CollisionHeight=10.000000
}
class NiceLAWPickup extends NiceWeaponPickup;
#exec OBJ LOAD FILE=KillingFloorWeapons.utx
defaultproperties
{
Weight=9.000000
cost=1250
AmmoCost=30
BuyClipSize=1
PowerValue=100
SpeedValue=20
RangeValue=64
Description="Light Anti Tank weapon. Designed to punch through armored vehicles."
ItemName="L.A.W"
ItemShortName="L.A.W"
AmmoItemName="L.A.W Rockets"
AmmoMesh=StaticMesh'KillingFloorStatics.LAWAmmo'
CorrespondingPerkIndex=6
EquipmentCategoryID=3
MaxDesireability=0.790000
InventoryType=Class'NicePack.NiceLAW'
RespawnTime=60.000000
PickupMessage="You got the L.A.W."
PickupSound=Sound'KF_LAWSnd.LAW_Pickup'
PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'KF_pickups_Trip.Super.LAW_Pickup'
CollisionRadius=35.000000
CollisionHeight=10.000000
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeM32Blunt extends NiceDamTypeDemoBlunt;
defaultproperties
{ WeaponClass=Class'NicePack.NiceM32GrenadeLauncher'
}
class NiceDamTypeM32Blunt extends NiceDamTypeDemoBlunt;
defaultproperties
{
WeaponClass=Class'NicePack.NiceM32GrenadeLauncher'
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeM32Explosion extends NiceDamTypeDemoExplosion;
defaultproperties
{ WeaponClass=Class'NicePack.NiceM32GrenadeLauncher'
}
class NiceDamTypeM32Explosion extends NiceDamTypeDemoExplosion;
defaultproperties
{
WeaponClass=Class'NicePack.NiceM32GrenadeLauncher'
}

View file

@ -1,4 +1,12 @@
class NiceM32Ammo extends NiceAmmo;
defaultproperties
{ WeaponPickupClass=Class'NicePack.NiceM32Pickup' AmmoPickupAmount=6 MaxAmmo=36 InitialAmount=9 PickupClass=Class'NicePack.NiceM32AmmoPickup' IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconCoords=(X1=4,Y1=350,X2=110,Y2=395) ItemName="M32 Grenades"
}
class NiceM32Ammo extends NiceAmmo;
defaultproperties
{
WeaponPickupClass=Class'NicePack.NiceM32Pickup'
AmmoPickupAmount=6
MaxAmmo=36
InitialAmount=9
PickupClass=Class'NicePack.NiceM32AmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=4,Y1=350,X2=110,Y2=395)
ItemName="M32 Grenades"
}

View file

@ -1,4 +1,9 @@
class NiceM32AmmoPickup extends KFAmmoPickup;
defaultproperties
{ AmmoAmount=6 InventoryType=Class'NicePack.NiceM32Ammo' PickupMessage="M32 Grenades" StaticMesh=StaticMesh'KillingFloorStatics.FragPickup' CollisionRadius=25.000000
}
class NiceM32AmmoPickup extends KFAmmoPickup;
defaultproperties
{
AmmoAmount=6
InventoryType=Class'NicePack.NiceM32Ammo'
PickupMessage="M32 Grenades"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
}

View file

@ -1,4 +1,50 @@
class NiceM32Attachment extends NiceAttachment;
defaultproperties
{ mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdNadeL' MovementAnims(0)="JogF_M32_MGL" MovementAnims(1)="JogB_M32_MGL" MovementAnims(2)="JogL_M32_MGL" MovementAnims(3)="JogR_M32_MGL" TurnLeftAnim="TurnL_M32_MGL" TurnRightAnim="TurnR_M32_MGL" CrouchAnims(0)="CHWalkF_M32_MGL" CrouchAnims(1)="CHWalkB_M32_MGL" CrouchAnims(2)="CHWalkL_M32_MGL" CrouchAnims(3)="CHWalkR_M32_MGL" WalkAnims(0)="WalkF_M32_MGL" WalkAnims(1)="WalkB_M32_MGL" WalkAnims(2)="WalkL_M32_MGL" WalkAnims(3)="WalkR_M32_MGL" CrouchTurnRightAnim="CH_TurnR_M32_MGL" CrouchTurnLeftAnim="CH_TurnL_M32_MGL" IdleCrouchAnim="CHIdle_M32_MGL" IdleWeaponAnim="Idle_M32_MGL" IdleRestAnim="Idle_M32_MGL" IdleChatAnim="Idle_M32_MGL" IdleHeavyAnim="Idle_M32_MGL" IdleRifleAnim="Idle_M32_MGL" FireAnims(0)="Fire_M32_MGL" FireAnims(1)="Fire_M32_MGL" FireAnims(2)="Fire_M32_MGL" FireAnims(3)="Fire_M32_MGL" FireAltAnims(0)="Fire_M32_MGL" FireAltAnims(1)="Fire_M32_MGL" FireAltAnims(2)="Fire_M32_MGL" FireAltAnims(3)="Fire_M32_MGL" FireCrouchAnims(0)="CHFire_M32_MGL" FireCrouchAnims(1)="CHFire_M32_MGL" FireCrouchAnims(2)="CHFire_M32_MGL" FireCrouchAnims(3)="CHFire_M32_MGL" FireCrouchAltAnims(0)="CHFire_M32_MGL" FireCrouchAltAnims(1)="CHFire_M32_MGL" FireCrouchAltAnims(2)="CHFire_M32_MGL" FireCrouchAltAnims(3)="CHFire_M32_MGL" HitAnims(0)="HitF_M32_MGL" HitAnims(1)="HitB_M32_MGL" HitAnims(2)="HitL_M32_MGL" HitAnims(3)="HitR_M32_MGL" PostFireBlendStandAnim="Blend_M32_MGL" PostFireBlendCrouchAnim="CHBlend_M32_MGL" MeshRef="KF_Weapons3rd2_Trip.M32_MGL_3rd"
}
class NiceM32Attachment extends NiceAttachment;
defaultproperties
{
mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdNadeL'
MovementAnims(0)="JogF_M32_MGL"
MovementAnims(1)="JogB_M32_MGL"
MovementAnims(2)="JogL_M32_MGL"
MovementAnims(3)="JogR_M32_MGL"
TurnLeftAnim="TurnL_M32_MGL"
TurnRightAnim="TurnR_M32_MGL"
CrouchAnims(0)="CHWalkF_M32_MGL"
CrouchAnims(1)="CHWalkB_M32_MGL"
CrouchAnims(2)="CHWalkL_M32_MGL"
CrouchAnims(3)="CHWalkR_M32_MGL"
WalkAnims(0)="WalkF_M32_MGL"
WalkAnims(1)="WalkB_M32_MGL"
WalkAnims(2)="WalkL_M32_MGL"
WalkAnims(3)="WalkR_M32_MGL"
CrouchTurnRightAnim="CH_TurnR_M32_MGL"
CrouchTurnLeftAnim="CH_TurnL_M32_MGL"
IdleCrouchAnim="CHIdle_M32_MGL"
IdleWeaponAnim="Idle_M32_MGL"
IdleRestAnim="Idle_M32_MGL"
IdleChatAnim="Idle_M32_MGL"
IdleHeavyAnim="Idle_M32_MGL"
IdleRifleAnim="Idle_M32_MGL"
FireAnims(0)="Fire_M32_MGL"
FireAnims(1)="Fire_M32_MGL"
FireAnims(2)="Fire_M32_MGL"
FireAnims(3)="Fire_M32_MGL"
FireAltAnims(0)="Fire_M32_MGL"
FireAltAnims(1)="Fire_M32_MGL"
FireAltAnims(2)="Fire_M32_MGL"
FireAltAnims(3)="Fire_M32_MGL"
FireCrouchAnims(0)="CHFire_M32_MGL"
FireCrouchAnims(1)="CHFire_M32_MGL"
FireCrouchAnims(2)="CHFire_M32_MGL"
FireCrouchAnims(3)="CHFire_M32_MGL"
FireCrouchAltAnims(0)="CHFire_M32_MGL"
FireCrouchAltAnims(1)="CHFire_M32_MGL"
FireCrouchAltAnims(2)="CHFire_M32_MGL"
FireCrouchAltAnims(3)="CHFire_M32_MGL"
HitAnims(0)="HitF_M32_MGL"
HitAnims(1)="HitB_M32_MGL"
HitAnims(2)="HitL_M32_MGL"
HitAnims(3)="HitR_M32_MGL"
PostFireBlendStandAnim="Blend_M32_MGL"
PostFireBlendCrouchAnim="CHBlend_M32_MGL"
MeshRef="KF_Weapons3rd2_Trip.M32_MGL_3rd"
}

View file

@ -1,8 +1,54 @@
class NiceM32GrenadeLauncher extends NiceWeapon;
simulated function fillSubReloadStages(){
// Loading 6 shells during 300 frames tops, with first shell loaded at frame 40, with 49 frames between load moments
generateReloadStages(6, 300, 40, 49);
}
defaultproperties
{ bChangeClipIcon=True bChangeBulletsIcon=True hudClipTexture=Texture'KillingFloor2HUD.HUD.Hud_M79' hudBulletsTexture=Texture'KillingFloor2HUD.HUD.Hud_M79' reloadType=RTYPE_SINGLE MagCapacity=6 ReloadRate=1.634000 ReloadAnim="Reload" ReloadAnimRate=1.000000 bHoldToReload=True WeaponReloadAnim="Reload_M32_MGL" Weight=7.000000 bHasAimingMode=True IdleAimAnim="Idle_Iron" StandardDisplayFOV=65.000000 SleeveNum=2 TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_M32' bIsTier3Weapon=True MeshRef="KF_Weapons2_Trip.M32_MGL_Trip" SkinRefs(0)="KF_Weapons2_Trip_T.Special.M32_cmb" SkinRefs(1)="KF_Weapons2_Trip_T.Special.Aimpoint_sight_shdr" SelectSoundRef="KF_M79Snd.M79_Select" HudImageRef="KillingFloor2HUD.WeaponSelect.M32_unselected" SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M32" PlayerIronSightFOV=70.000000 ZoomedDisplayFOV=40.000000 FireModeClass(0)=Class'NicePack.NiceM32Fire' FireModeClass(1)=Class'KFMod.NoFire' PutDownAnim="PutDown" SelectForce="SwitchToAssaultRifle" AIRating=0.650000 CurrentRating=0.650000 Description="An advanced semi automatic grenade launcher. Launches high explosive grenades." DisplayFOV=65.000000 Priority=210 InventoryGroup=4 GroupOffset=6 PickupClass=Class'NicePack.NiceM32Pickup' PlayerViewOffset=(X=18.000000,Y=20.000000,Z=-6.000000) BobDamping=6.000000 AttachmentClass=Class'NicePack.NiceM32Attachment' IconCoords=(X1=253,Y1=146,X2=333,Y2=181) ItemName="M32 Grenade Launcher" LightType=LT_None LightBrightness=0.000000 LightRadius=0.000000
}
class NiceM32GrenadeLauncher extends NiceWeapon;
simulated function fillSubReloadStages(){
// Loading 6 shells during 300 frames tops, with first shell loaded at frame 40, with 49 frames between load moments
generateReloadStages(6, 300, 40, 49);
}
defaultproperties
{
bChangeClipIcon=True
bChangeBulletsIcon=True
hudClipTexture=Texture'KillingFloor2HUD.HUD.Hud_M79'
hudBulletsTexture=Texture'KillingFloor2HUD.HUD.Hud_M79'
reloadType=RTYPE_SINGLE
MagCapacity=6
ReloadRate=1.634000
ReloadAnim="Reload"
ReloadAnimRate=1.000000
bHoldToReload=True
WeaponReloadAnim="Reload_M32_MGL"
Weight=7.000000
bHasAimingMode=True
IdleAimAnim="Idle_Iron"
StandardDisplayFOV=65.000000
SleeveNum=2
TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_M32'
bIsTier3Weapon=True
MeshRef="KF_Weapons2_Trip.M32_MGL_Trip"
SkinRefs(0)="KF_Weapons2_Trip_T.Special.M32_cmb"
SkinRefs(1)="KF_Weapons2_Trip_T.Special.Aimpoint_sight_shdr"
SelectSoundRef="KF_M79Snd.M79_Select"
HudImageRef="KillingFloor2HUD.WeaponSelect.M32_unselected"
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M32"
PlayerIronSightFOV=70.000000
ZoomedDisplayFOV=40.000000
FireModeClass(0)=Class'NicePack.NiceM32Fire'
FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle"
AIRating=0.650000
CurrentRating=0.650000
Description="An advanced semi automatic grenade launcher. Launches high explosive grenades."
DisplayFOV=65.000000
Priority=210
InventoryGroup=4
GroupOffset=6
PickupClass=Class'NicePack.NiceM32Pickup'
PlayerViewOffset=(X=18.000000,Y=20.000000,Z=-6.000000)
BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceM32Attachment'
IconCoords=(X1=253,Y1=146,X2=333,Y2=181)
ItemName="M32 Grenade Launcher"
LightType=LT_None
LightBrightness=0.000000
LightRadius=0.000000
}

View file

@ -1,5 +1,27 @@
class NiceM32Pickup extends NiceWeaponPickup;
defaultproperties
{ Weight=7.000000 AmmoCost=60
cost=1000 BuyClipSize=6 PowerValue=85 SpeedValue=65 RangeValue=75 Description="An advanced semi automatic grenade launcher. Launches high explosive grenades." ItemName="M32 Grenade Launcher" ItemShortName="M32 Launcher" AmmoItemName="M32 Grenades" AmmoMesh=StaticMesh'KillingFloorStatics.XbowAmmo' CorrespondingPerkIndex=6 EquipmentCategoryID=2 VariantClasses(0)=Class'KFMod.CamoM32Pickup' MaxDesireability=0.790000 InventoryType=Class'NicePack.NiceM32GrenadeLauncher' PickupMessage="You got the M32 Multiple Grenade Launcher." PickupSound=Sound'KF_M79Snd.M79_Pickup' PickupForce="AssaultRiflePickup" StaticMesh=StaticMesh'KF_pickups2_Trip.Supers.M32_MGL_Pickup' CollisionRadius=25.000000 CollisionHeight=10.000000
}
class NiceM32Pickup extends NiceWeaponPickup;
defaultproperties
{
Weight=7.000000
AmmoCost=60
cost=1000
BuyClipSize=6
PowerValue=85
SpeedValue=65
RangeValue=75
Description="An advanced semi automatic grenade launcher. Launches high explosive grenades."
ItemName="M32 Grenade Launcher"
ItemShortName="M32 Launcher"
AmmoItemName="M32 Grenades"
AmmoMesh=StaticMesh'KillingFloorStatics.XbowAmmo'
CorrespondingPerkIndex=6
EquipmentCategoryID=2
VariantClasses(0)=Class'KFMod.CamoM32Pickup'
MaxDesireability=0.790000
InventoryType=Class'NicePack.NiceM32GrenadeLauncher'
PickupMessage="You got the M32 Multiple Grenade Launcher."
PickupSound=Sound'KF_M79Snd.M79_Pickup'
PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'KF_pickups2_Trip.Supers.M32_MGL_Pickup'
CollisionRadius=25.000000
CollisionHeight=10.000000
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeM79Blunt extends NiceDamTypeDemoBlunt;
defaultproperties
{ WeaponClass=Class'NicePack.NiceM79GrenadeLauncher'
}
class NiceDamTypeM79Blunt extends NiceDamTypeDemoBlunt;
defaultproperties
{
WeaponClass=Class'NicePack.NiceM79GrenadeLauncher'
}

View file

@ -1,4 +1,5 @@
class NiceDamTypeM79Explosion extends NiceDamTypeDemoExplosion;
defaultproperties
{ WeaponClass=Class'NicePack.NiceM79GrenadeLauncher'
}
class NiceDamTypeM79Explosion extends NiceDamTypeDemoExplosion;
defaultproperties
{
WeaponClass=Class'NicePack.NiceM79GrenadeLauncher'
}

View file

@ -1,4 +1,12 @@
class NiceM79Ammo extends NiceAmmo;
defaultproperties
{ WeaponPickupClass=Class'NicePack.NiceM79Pickup' AmmoPickupAmount=3 MaxAmmo=24 InitialAmount=6 PickupClass=Class'NicePack.NiceM79AmmoPickup' IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconCoords=(X1=4,Y1=350,X2=110,Y2=395) ItemName="M79 Incendiary Grenades"
}
class NiceM79Ammo extends NiceAmmo;
defaultproperties
{
WeaponPickupClass=Class'NicePack.NiceM79Pickup'
AmmoPickupAmount=3
MaxAmmo=24
InitialAmount=6
PickupClass=Class'NicePack.NiceM79AmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=4,Y1=350,X2=110,Y2=395)
ItemName="M79 Incendiary Grenades"
}

View file

@ -1,4 +1,9 @@
class NiceM79AmmoPickup extends NiceAmmoPickup;
defaultproperties
{ AmmoAmount=3 InventoryType=Class'NicePack.NiceM79Ammo' PickupMessage="M79 Incendiary Grenades" StaticMesh=StaticMesh'KillingFloorStatics.FragPickup' CollisionRadius=25.000000
}
class NiceM79AmmoPickup extends NiceAmmoPickup;
defaultproperties
{
AmmoAmount=3
InventoryType=Class'NicePack.NiceM79Ammo'
PickupMessage="M79 Incendiary Grenades"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
}

View file

@ -1,4 +1,50 @@
class NiceM79Attachment extends NiceAttachment;
defaultproperties
{ mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdNadeL' MovementAnims(0)="JogF_M79" MovementAnims(1)="JogB_M79" MovementAnims(2)="JogL_M79" MovementAnims(3)="JogR_M79" TurnLeftAnim="TurnL_M79" TurnRightAnim="TurnR_M79" CrouchAnims(0)="CHWalkF_M79" CrouchAnims(1)="CHWalkB_M79" CrouchAnims(2)="CHWalkL_M79" CrouchAnims(3)="CHWalkR_M79" WalkAnims(0)="WalkF_M79" WalkAnims(1)="WalkB_M79" WalkAnims(2)="WalkL_M79" WalkAnims(3)="WalkR_M79" CrouchTurnRightAnim="CH_TurnR_M79" CrouchTurnLeftAnim="CH_TurnL_M79" IdleCrouchAnim="CHIdle_M79" IdleWeaponAnim="Idle_M79" IdleRestAnim="Idle_M79" IdleChatAnim="Idle_M79" IdleHeavyAnim="Idle_M79" IdleRifleAnim="Idle_M79" FireAnims(0)="Fire_M79" FireAnims(1)="Fire_M79" FireAnims(2)="Fire_M79" FireAnims(3)="Fire_M79" FireAltAnims(0)="Fire_M79" FireAltAnims(1)="Fire_M79" FireAltAnims(2)="Fire_M79" FireAltAnims(3)="Fire_M79" FireCrouchAnims(0)="CHFire_M79" FireCrouchAnims(1)="CHFire_M79" FireCrouchAnims(2)="CHFire_M79" FireCrouchAnims(3)="CHFire_M79" FireCrouchAltAnims(0)="CHFire_M79" FireCrouchAltAnims(1)="CHFire_M79" FireCrouchAltAnims(2)="CHFire_M79" FireCrouchAltAnims(3)="CHFire_M79" HitAnims(0)="HitF_M79" HitAnims(1)="HitB_M79" HitAnims(2)="HitL_M79" HitAnims(3)="HitR_M79" PostFireBlendStandAnim="Blend_M79" PostFireBlendCrouchAnim="CHBlend_M79" MeshRef="KF_Weapons3rd2_Trip.M79_3rd"
}
class NiceM79Attachment extends NiceAttachment;
defaultproperties
{
mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdNadeL'
MovementAnims(0)="JogF_M79"
MovementAnims(1)="JogB_M79"
MovementAnims(2)="JogL_M79"
MovementAnims(3)="JogR_M79"
TurnLeftAnim="TurnL_M79"
TurnRightAnim="TurnR_M79"
CrouchAnims(0)="CHWalkF_M79"
CrouchAnims(1)="CHWalkB_M79"
CrouchAnims(2)="CHWalkL_M79"
CrouchAnims(3)="CHWalkR_M79"
WalkAnims(0)="WalkF_M79"
WalkAnims(1)="WalkB_M79"
WalkAnims(2)="WalkL_M79"
WalkAnims(3)="WalkR_M79"
CrouchTurnRightAnim="CH_TurnR_M79"
CrouchTurnLeftAnim="CH_TurnL_M79"
IdleCrouchAnim="CHIdle_M79"
IdleWeaponAnim="Idle_M79"
IdleRestAnim="Idle_M79"
IdleChatAnim="Idle_M79"
IdleHeavyAnim="Idle_M79"
IdleRifleAnim="Idle_M79"
FireAnims(0)="Fire_M79"
FireAnims(1)="Fire_M79"
FireAnims(2)="Fire_M79"
FireAnims(3)="Fire_M79"
FireAltAnims(0)="Fire_M79"
FireAltAnims(1)="Fire_M79"
FireAltAnims(2)="Fire_M79"
FireAltAnims(3)="Fire_M79"
FireCrouchAnims(0)="CHFire_M79"
FireCrouchAnims(1)="CHFire_M79"
FireCrouchAnims(2)="CHFire_M79"
FireCrouchAnims(3)="CHFire_M79"
FireCrouchAltAnims(0)="CHFire_M79"
FireCrouchAltAnims(1)="CHFire_M79"
FireCrouchAltAnims(2)="CHFire_M79"
FireCrouchAltAnims(3)="CHFire_M79"
HitAnims(0)="HitF_M79"
HitAnims(1)="HitB_M79"
HitAnims(2)="HitL_M79"
HitAnims(3)="HitR_M79"
PostFireBlendStandAnim="Blend_M79"
PostFireBlendCrouchAnim="CHBlend_M79"
MeshRef="KF_Weapons3rd2_Trip.M79_3rd"
}

View file

@ -1,17 +1,60 @@
class NiceM79GrenadeLauncher extends NiceWeapon;
simulated function PostBeginPlay(){
local AutoReloadAnimDesc reloadDesc;
autoReloadsDescriptions.Length = 0;
reloadDesc.canInterruptFrame = 0.101;
reloadDesc.trashStartFrame = 0.65;//0.869;
reloadDesc.resumeFrame = 0.101;
reloadDesc.speedFrame = 0.101;
reloadDesc.animName = 'Fire';
autoReloadsDescriptions[0] = reloadDesc;
reloadDesc.animName = 'Iron_Fire';
autoReloadsDescriptions[1] = reloadDesc;
super.PostBeginPlay();
}
defaultproperties
{ bChangeClipIcon=True bChangeBulletsIcon=True hudClipTexture=Texture'KillingFloor2HUD.HUD.Hud_M79' hudBulletsTexture=Texture'KillingFloor2HUD.HUD.Hud_M79' reloadType=RTYPE_AUTO ForceZoomOutOnFireTime=0.400000 MagCapacity=1 ReloadRate=0.010000 ReloadAnimRate=1.000000 bHoldToReload=True Weight=4.000000 bHasAimingMode=True IdleAimAnim="Idle_Iron" StandardDisplayFOV=65.000000 TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_M79' bIsTier2Weapon=True MeshRef="KF_Weapons2_Trip.M79_Trip" SkinRefs(0)="KF_Weapons2_Trip_T.Special.M79_cmb" SelectSoundRef="KF_M79Snd.M79_Select" HudImageRef="KillingFloor2HUD.WeaponSelect.M79_unselected" SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M79" PlayerIronSightFOV=70.000000 ZoomedDisplayFOV=45.000000 FireModeClass(0)=Class'NicePack.NiceM79Fire' FireModeClass(1)=Class'KFMod.NoFire' PutDownAnim="PutDown" SelectForce="SwitchToAssaultRifle" AIRating=0.650000 CurrentRating=0.650000 Description="A classic Vietnam era grenade launcher. Launches single high explosive grenades." DisplayFOV=65.000000 Priority=162 InventoryGroup=3 GroupOffset=11 PickupClass=Class'NicePack.NiceM79Pickup' PlayerViewOffset=(X=18.000000,Y=20.000000,Z=-6.000000) BobDamping=6.000000 AttachmentClass=Class'NicePack.NiceM79Attachment' IconCoords=(X1=253,Y1=146,X2=333,Y2=181) ItemName="M79 Grenade Launcher" LightType=LT_None LightBrightness=0.000000 LightRadius=0.000000
}
class NiceM79GrenadeLauncher extends NiceWeapon;
simulated function PostBeginPlay(){
local AutoReloadAnimDesc reloadDesc;
autoReloadsDescriptions.Length = 0;
reloadDesc.canInterruptFrame = 0.101;
reloadDesc.trashStartFrame = 0.65;//0.869;
reloadDesc.resumeFrame = 0.101;
reloadDesc.speedFrame = 0.101;
reloadDesc.animName = 'Fire';
autoReloadsDescriptions[0] = reloadDesc;
reloadDesc.animName = 'Iron_Fire';
autoReloadsDescriptions[1] = reloadDesc;
super.PostBeginPlay();
}
defaultproperties
{
bChangeClipIcon=True
bChangeBulletsIcon=True
hudClipTexture=Texture'KillingFloor2HUD.HUD.Hud_M79'
hudBulletsTexture=Texture'KillingFloor2HUD.HUD.Hud_M79'
reloadType=RTYPE_AUTO
ForceZoomOutOnFireTime=0.400000
MagCapacity=1
ReloadRate=0.010000
ReloadAnimRate=1.000000
bHoldToReload=True
Weight=4.000000
bHasAimingMode=True
IdleAimAnim="Idle_Iron"
StandardDisplayFOV=65.000000
TraderInfoTexture=Texture'KillingFloor2HUD.Trader_Weapon_Icons.Trader_M79'
bIsTier2Weapon=True
MeshRef="KF_Weapons2_Trip.M79_Trip"
SkinRefs(0)="KF_Weapons2_Trip_T.Special.M79_cmb"
SelectSoundRef="KF_M79Snd.M79_Select"
HudImageRef="KillingFloor2HUD.WeaponSelect.M79_unselected"
SelectedHudImageRef="KillingFloor2HUD.WeaponSelect.M79"
PlayerIronSightFOV=70.000000
ZoomedDisplayFOV=45.000000
FireModeClass(0)=Class'NicePack.NiceM79Fire'
FireModeClass(1)=Class'KFMod.NoFire'
PutDownAnim="PutDown"
SelectForce="SwitchToAssaultRifle"
AIRating=0.650000
CurrentRating=0.650000
Description="A classic Vietnam era grenade launcher. Launches single high explosive grenades."
DisplayFOV=65.000000
Priority=162
InventoryGroup=3
GroupOffset=11
PickupClass=Class'NicePack.NiceM79Pickup'
PlayerViewOffset=(X=18.000000,Y=20.000000,Z=-6.000000)
BobDamping=6.000000
AttachmentClass=Class'NicePack.NiceM79Attachment'
IconCoords=(X1=253,Y1=146,X2=333,Y2=181)
ItemName="M79 Grenade Launcher"
LightType=LT_None
LightBrightness=0.000000
LightRadius=0.000000
}

View file

@ -1,4 +1,28 @@
class NiceM79Pickup extends NiceWeaponPickup;
defaultproperties
{ crossPerkIndecies(0)=10 Weight=4.000000 cost=250 AmmoCost=10 BuyClipSize=3 PowerValue=85 SpeedValue=5 RangeValue=75 Description="A classic Vietnam era grenade launcher. Launches single high explosive grenades." ItemName="M79 Grenade Launcher" ItemShortName="M79 Launcher" AmmoItemName="M79 Grenades" AmmoMesh=StaticMesh'KillingFloorStatics.XbowAmmo' CorrespondingPerkIndex=6 EquipmentCategoryID=2 VariantClasses(0)=Class'KFMod.GoldenM79Pickup' MaxDesireability=0.790000 InventoryType=Class'NicePack.NiceM79GrenadeLauncher' PickupMessage="You got the M79 Grenade Launcher." PickupSound=Sound'KF_M79Snd.M79_Pickup' PickupForce="AssaultRiflePickup" StaticMesh=StaticMesh'KF_pickups2_Trip.Supers.M79_Pickup' CollisionRadius=25.000000 CollisionHeight=10.000000
}
class NiceM79Pickup extends NiceWeaponPickup;
defaultproperties
{
crossPerkIndecies(0)=10
Weight=4.000000
cost=250
AmmoCost=10
BuyClipSize=3
PowerValue=85
SpeedValue=5
RangeValue=75
Description="A classic Vietnam era grenade launcher. Launches single high explosive grenades."
ItemName="M79 Grenade Launcher"
ItemShortName="M79 Launcher"
AmmoItemName="M79 Grenades"
AmmoMesh=StaticMesh'KillingFloorStatics.XbowAmmo'
CorrespondingPerkIndex=6
EquipmentCategoryID=2
VariantClasses(0)=Class'KFMod.GoldenM79Pickup'
MaxDesireability=0.790000
InventoryType=Class'NicePack.NiceM79GrenadeLauncher'
PickupMessage="You got the M79 Grenade Launcher."
PickupSound=Sound'KF_M79Snd.M79_Pickup'
PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'KF_pickups2_Trip.Supers.M79_Pickup'
CollisionRadius=25.000000
CollisionHeight=10.000000
}

View file

@ -1,12 +1,28 @@
class NiceDamTypePipeBomb extends NiceWeaponDamageType;
static function GetHitEffects(out class<xEmitter> HitEffects[4], int VictimHealth)
{
HitEffects[0] = class'HitSmoke';
if(VictimHealth <= 0)
HitEffects[1] = class'KFHitFlame';
else if (FRand() < 0.8)
HitEffects[1] = class'KFHitFlame';
}
defaultproperties
{ bIsExplosive=True bCheckForHeadShots=False WeaponClass=Class'NicePack.NicePipeBombExplosive' DeathString="%o filled %k's body with shrapnel." FemaleSuicide="%o blew up." MaleSuicide="%o blew up." bLocationalHit=False bThrowRagdoll=True bExtraMomentumZ=True DamageThreshold=1 DeathOverlayMaterial=Combiner'Effects_Tex.GoreDecals.PlayerDeathOverlay' DeathOverlayTime=999.000000 KDamageImpulse=4000.000000 KDeathVel=300.000000 KDeathUpKick=800.000000 HumanObliterationThreshhold=600
}
class NiceDamTypePipeBomb extends NiceWeaponDamageType;
static function GetHitEffects(out class<xEmitter> HitEffects[4], int VictimHealth)
{
HitEffects[0] = class'HitSmoke';
if(VictimHealth <= 0)
HitEffects[1] = class'KFHitFlame';
else if (FRand() < 0.8)
HitEffects[1] = class'KFHitFlame';
}
defaultproperties
{
bIsExplosive=True
bCheckForHeadShots=False
WeaponClass=Class'NicePack.NicePipeBombExplosive'
DeathString="%o filled %k's body with shrapnel."
FemaleSuicide="%o blew up."
MaleSuicide="%o blew up."
bLocationalHit=False
bThrowRagdoll=True
bExtraMomentumZ=True
DamageThreshold=1
DeathOverlayMaterial=Combiner'Effects_Tex.GoreDecals.PlayerDeathOverlay'
DeathOverlayTime=999.000000
KDamageImpulse=4000.000000
KDeathVel=300.000000
KDeathUpKick=800.000000
HumanObliterationThreshhold=600
}

View file

@ -1,4 +1,7 @@
class NicePipeBombExplosive extends ScrnPipeBombExplosive;
defaultproperties
{ FireModeClass(0)=Class'NicePack.NicePipeBombFire' PickupClass=Class'NicePack.NicePipeBombPickup' ItemName="PipeBomb NW"
}
class NicePipeBombExplosive extends ScrnPipeBombExplosive;
defaultproperties
{
FireModeClass(0)=Class'NicePack.NicePipeBombFire'
PickupClass=Class'NicePack.NicePipeBombPickup'
ItemName="PipeBomb NW"
}

View file

@ -1,4 +1,5 @@
class NicePipeBombFire extends ScrnPipeBombFire;
defaultproperties
{ ProjectileClass=Class'NicePack.NicePipeBombProjectile'
}
class NicePipeBombFire extends ScrnPipeBombFire;
defaultproperties
{
ProjectileClass=Class'NicePack.NicePipeBombProjectile'
}

View file

@ -1,4 +1,10 @@
class NicePipeBombPickup extends ScrnPipeBombPickup;
defaultproperties
{ cost=100 AmmoCost=100 ItemName="Pipe Bomb NW" ItemShortName="Pipe Bomb NW" AmmoItemName="Pipe Bomb NW" InventoryType=Class'NicePack.NicePipeBombExplosive'
}
class NicePipeBombPickup extends ScrnPipeBombPickup;
defaultproperties
{
cost=100
AmmoCost=100
ItemName="Pipe Bomb NW"
ItemShortName="Pipe Bomb NW"
AmmoItemName="Pipe Bomb NW"
InventoryType=Class'NicePack.NicePipeBombExplosive'
}

View file

@ -1,15 +1,22 @@
class NicePipeBombProjectile extends ScrnPipeBombProjectile;
function TakeDamage(int Damage, Pawn instigatedBy, Vector Hitlocation, Vector Momentum, class<DamageType> damageType, optional int HitIndex){
local bool bIsFakePlayer;
if(KFMonster(instigatedBy) != none && KFMonster(instigatedBy).Health <= 0) return;
if(damageType == class'NiceDamTypePipeBomb' || Damage < 5 || (Damage < 25 && damageType.IsA('SirenScreamDamage'))) return;
bIsFakePlayer = (KFPawn(instigatedBy) != none || FakePlayerPawn(instigatedBy) != none) && (instigatedBy.PlayerReplicationInfo == none || instigatedBy.PlayerReplicationInfo.bOnlySpectator);
bIsFakePlayer = bIsFakePlayer || (instigatedBy == none && !DamageType.default.bCausedByWorld);
// Don't let our own explosives blow this up!!!
if(bIsFakePlayer || (KFPawn(instigatedBy) != none && Instigator != none && Instigator != instigatedBy)) return;
if(damageType == class'SirenScreamDamage') Disintegrate(HitLocation, vect(0,0,1));
else Explode(HitLocation, vect(0,0,1));
}
defaultproperties
{ Damage=2000.000000 MyDamageType=Class'NicePack.NiceDamTypePipeBomb'
}
class NicePipeBombProjectile extends ScrnPipeBombProjectile;
function TakeDamage(int Damage, Pawn instigatedBy, Vector Hitlocation, Vector Momentum, class<DamageType> damageType, optional int HitIndex){
local bool bIsFakePlayer;
if(KFMonster(instigatedBy) != none && KFMonster(instigatedBy).Health <= 0)
return;
if(damageType == class'NiceDamTypePipeBomb' || Damage < 5 || (Damage < 25 && damageType.IsA('SirenScreamDamage')))
return;
bIsFakePlayer = (KFPawn(instigatedBy) != none || FakePlayerPawn(instigatedBy) != none) && (instigatedBy.PlayerReplicationInfo == none || instigatedBy.PlayerReplicationInfo.bOnlySpectator);
bIsFakePlayer = bIsFakePlayer || (instigatedBy == none && !DamageType.default.bCausedByWorld);
// Don't let our own explosives blow this up!!!
if(bIsFakePlayer || (KFPawn(instigatedBy) != none && Instigator != none && Instigator != instigatedBy))
return;
if(damageType == class'SirenScreamDamage')
Disintegrate(HitLocation, vect(0,0,1));
else
Explode(HitLocation, vect(0,0,1));
}
defaultproperties
{
Damage=2000.000000
MyDamageType=Class'NicePack.NiceDamTypePipeBomb'
}

View file

@ -1,5 +1,6 @@
class NiceDamTypeSealSquealBlunt extends NiceDamTypeDemoBlunt
abstract;
defaultproperties
{ WeaponClass=Class'NicePack.NiceSealSquealHarpoonBomber'
}
class NiceDamTypeSealSquealBlunt extends NiceDamTypeDemoBlunt
abstract;
defaultproperties
{
WeaponClass=Class'NicePack.NiceSealSquealHarpoonBomber'
}

View file

@ -1,4 +1,6 @@
class NiceDamTypeSealSquealExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{ HeadShotDamageMult=1.500000 WeaponClass=Class'NicePack.NiceSealSquealHarpoonBomber'
}
class NiceDamTypeSealSquealExplosion extends NiceDamTypeDemoExplosion;
defaultproperties
{
HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceSealSquealHarpoonBomber'
}

View file

@ -1,4 +1,11 @@
class NiceSealSquealAmmo extends NiceAmmo;
defaultproperties
{ AmmoPickupAmount=3 MaxAmmo=24 InitialAmount=6 PickupClass=Class'NicePack.NiceSealSquealAmmoPickup' IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconCoords=(X1=4,Y1=350,X2=110,Y2=395) ItemName="SealSqueal Harpoon Bombs"
}
class NiceSealSquealAmmo extends NiceAmmo;
defaultproperties
{
AmmoPickupAmount=3
MaxAmmo=24
InitialAmount=6
PickupClass=Class'NicePack.NiceSealSquealAmmoPickup'
IconMaterial=Texture'KillingFloorHUD.Generic.HUD'
IconCoords=(X1=4,Y1=350,X2=110,Y2=395)
ItemName="SealSqueal Harpoon Bombs"
}

View file

@ -1,4 +1,9 @@
class NiceSealSquealAmmoPickup extends NiceAmmoPickup;
defaultproperties
{ AmmoAmount=3 InventoryType=Class'NicePack.NiceSealSquealAmmo' PickupMessage="SealSqueal Harpoon Bombs" StaticMesh=StaticMesh'KillingFloorStatics.FragPickup' CollisionRadius=25.000000
}
class NiceSealSquealAmmoPickup extends NiceAmmoPickup;
defaultproperties
{
AmmoAmount=3
InventoryType=Class'NicePack.NiceSealSquealAmmo'
PickupMessage="SealSqueal Harpoon Bombs"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
}

View file

@ -1,4 +1,50 @@
class NiceSealSquealAttachment extends NiceAttachment;
defaultproperties
{ mMuzFlashClass=Class'KFMod.SealSquealMuzzleFlash3P' MovementAnims(0)="JogF_IJC_SealSqueal" MovementAnims(1)="JogB_IJC_SealSqueal" MovementAnims(2)="JogL_IJC_SealSqueal" MovementAnims(3)="JogR_IJC_SealSqueal" TurnLeftAnim="TurnL_IJC_SealSqueal" TurnRightAnim="TurnR_IJC_SealSqueal" CrouchAnims(0)="CHWalkF_IJC_SealSqueal" CrouchAnims(1)="CHWalkB_IJC_SealSqueal" CrouchAnims(2)="CHWalkL_IJC_SealSqueal" CrouchAnims(3)="CHWalkR_IJC_SealSqueal" WalkAnims(0)="WalkF_IJC_SealSqueal" WalkAnims(1)="WalkB_IJC_SealSqueal" WalkAnims(2)="WalkL_IJC_SealSqueal" WalkAnims(3)="WalkR_IJC_SealSqueal" CrouchTurnRightAnim="CH_TurnR_IJC_SealSqueal" CrouchTurnLeftAnim="CH_TurnL_IJC_SealSqueal" IdleCrouchAnim="CHIdle_IJC_SealSqueal" IdleWeaponAnim="Idle_IJC_SealSqueal" IdleRestAnim="Idle_IJC_SealSqueal" IdleChatAnim="Idle_IJC_SealSqueal" IdleHeavyAnim="Idle_IJC_SealSqueal" IdleRifleAnim="Idle_IJC_SealSqueal" FireAnims(0)="Fire_IJC_SealSqueal" FireAnims(1)="Fire_IJC_SealSqueal" FireAnims(2)="Fire_IJC_SealSqueal" FireAnims(3)="Fire_IJC_SealSqueal" FireAltAnims(0)="Fire_IJC_SealSqueal" FireAltAnims(1)="Fire_IJC_SealSqueal" FireAltAnims(2)="Fire_IJC_SealSqueal" FireAltAnims(3)="Fire_IJC_SealSqueal" FireCrouchAnims(0)="CHFire_IJC_SealSqueal" FireCrouchAnims(1)="CHFire_IJC_SealSqueal" FireCrouchAnims(2)="CHFire_IJC_SealSqueal" FireCrouchAnims(3)="CHFire_IJC_SealSqueal" FireCrouchAltAnims(0)="CHFire_IJC_SealSqueal" FireCrouchAltAnims(1)="CHFire_IJC_SealSqueal" FireCrouchAltAnims(2)="CHFire_IJC_SealSqueal" FireCrouchAltAnims(3)="CHFire_IJC_SealSqueal" HitAnims(0)="HitF_IJC_SealSqueal" HitAnims(1)="HitB_IJC_SealSqueal" HitAnims(2)="HitL_IJC_SealSqueal" HitAnims(3)="HitR_IJC_SealSqueal" PostFireBlendStandAnim="Blend_IJC_SealSqueal" PostFireBlendCrouchAnim="CHBlend_IJC_SealSqueal" MeshRef="KF_Weapons3rd3_IJC.SealSqueal_3rd"
}
class NiceSealSquealAttachment extends NiceAttachment;
defaultproperties
{
mMuzFlashClass=Class'KFMod.SealSquealMuzzleFlash3P'
MovementAnims(0)="JogF_IJC_SealSqueal"
MovementAnims(1)="JogB_IJC_SealSqueal"
MovementAnims(2)="JogL_IJC_SealSqueal"
MovementAnims(3)="JogR_IJC_SealSqueal"
TurnLeftAnim="TurnL_IJC_SealSqueal"
TurnRightAnim="TurnR_IJC_SealSqueal"
CrouchAnims(0)="CHWalkF_IJC_SealSqueal"
CrouchAnims(1)="CHWalkB_IJC_SealSqueal"
CrouchAnims(2)="CHWalkL_IJC_SealSqueal"
CrouchAnims(3)="CHWalkR_IJC_SealSqueal"
WalkAnims(0)="WalkF_IJC_SealSqueal"
WalkAnims(1)="WalkB_IJC_SealSqueal"
WalkAnims(2)="WalkL_IJC_SealSqueal"
WalkAnims(3)="WalkR_IJC_SealSqueal"
CrouchTurnRightAnim="CH_TurnR_IJC_SealSqueal"
CrouchTurnLeftAnim="CH_TurnL_IJC_SealSqueal"
IdleCrouchAnim="CHIdle_IJC_SealSqueal"
IdleWeaponAnim="Idle_IJC_SealSqueal"
IdleRestAnim="Idle_IJC_SealSqueal"
IdleChatAnim="Idle_IJC_SealSqueal"
IdleHeavyAnim="Idle_IJC_SealSqueal"
IdleRifleAnim="Idle_IJC_SealSqueal"
FireAnims(0)="Fire_IJC_SealSqueal"
FireAnims(1)="Fire_IJC_SealSqueal"
FireAnims(2)="Fire_IJC_SealSqueal"
FireAnims(3)="Fire_IJC_SealSqueal"
FireAltAnims(0)="Fire_IJC_SealSqueal"
FireAltAnims(1)="Fire_IJC_SealSqueal"
FireAltAnims(2)="Fire_IJC_SealSqueal"
FireAltAnims(3)="Fire_IJC_SealSqueal"
FireCrouchAnims(0)="CHFire_IJC_SealSqueal"
FireCrouchAnims(1)="CHFire_IJC_SealSqueal"
FireCrouchAnims(2)="CHFire_IJC_SealSqueal"
FireCrouchAnims(3)="CHFire_IJC_SealSqueal"
FireCrouchAltAnims(0)="CHFire_IJC_SealSqueal"
FireCrouchAltAnims(1)="CHFire_IJC_SealSqueal"
FireCrouchAltAnims(2)="CHFire_IJC_SealSqueal"
FireCrouchAltAnims(3)="CHFire_IJC_SealSqueal"
HitAnims(0)="HitF_IJC_SealSqueal"
HitAnims(1)="HitB_IJC_SealSqueal"
HitAnims(2)="HitL_IJC_SealSqueal"
HitAnims(3)="HitR_IJC_SealSqueal"
PostFireBlendStandAnim="Blend_IJC_SealSqueal"
PostFireBlendCrouchAnim="CHBlend_IJC_SealSqueal"
MeshRef="KF_Weapons3rd3_IJC.SealSqueal_3rd"
}

View file

@ -1,4 +1,25 @@
class NiceSealSquealPickup extends NiceWeaponPickup;
defaultproperties
{ Weight=6.000000 cost=750 AmmoCost=30 BuyClipSize=3 PowerValue=90 SpeedValue=35 RangeValue=85 Description="Shoot the zeds with this harpoon gun and watch them squeal.. and then explode!" ItemName="SealSqueal Harpoon Bomber" ItemShortName="SealSqueal" AmmoItemName="SealSqueal Harpoon Bombs" CorrespondingPerkIndex=6 EquipmentCategoryID=2 MaxDesireability=0.790000 InventoryType=Class'NicePack.NiceSealSquealHarpoonBomber' PickupMessage="You got the SealSqueal Harpoon Bomb Launcher." PickupSound=Sound'KF_FY_SealSquealSND.foley.WEP_Harpoon_Foley_Pickup' PickupForce="AssaultRiflePickup" StaticMesh=StaticMesh'KF_IJC_Halloween_Weps2.SealSqueal_Pickup' CollisionRadius=25.000000 CollisionHeight=10.000000
}
class NiceSealSquealPickup extends NiceWeaponPickup;
defaultproperties
{
Weight=6.000000
cost=750
AmmoCost=30
BuyClipSize=3
PowerValue=90
SpeedValue=35
RangeValue=85
Description="Shoot the zeds with this harpoon gun and watch them squeal.. and then explode!"
ItemName="SealSqueal Harpoon Bomber"
ItemShortName="SealSqueal"
AmmoItemName="SealSqueal Harpoon Bombs"
CorrespondingPerkIndex=6
EquipmentCategoryID=2
MaxDesireability=0.790000
InventoryType=Class'NicePack.NiceSealSquealHarpoonBomber'
PickupMessage="You got the SealSqueal Harpoon Bomb Launcher."
PickupSound=Sound'KF_FY_SealSquealSND.foley.WEP_Harpoon_Foley_Pickup'
PickupForce="AssaultRiflePickup"
StaticMesh=StaticMesh'KF_IJC_Halloween_Weps2.SealSqueal_Pickup'
CollisionRadius=25.000000
CollisionHeight=10.000000
}

View file

@ -1,13 +1,16 @@
//=============================================================================
// SeekerSixAmmo
//=============================================================================
// Ammunition class for the SeekerSix mini rocket launcher
//=============================================================================
// Killing Floor Source
// Copyright (C) 2013 Tripwire Interactive LLC
// - John "Ramm-Jaeger" Gibson
//=============================================================================
class NiceSeekerSixAmmo extends SeekerSixAmmo;
defaultproperties
{ MaxAmmo=66 InitialAmount=30 PickupClass=Class'NicePack.NiceSeekerSixAmmoPickup'
}
//=============================================================================
// SeekerSixAmmo
//=============================================================================
// Ammunition class for the SeekerSix mini rocket launcher
//=============================================================================
// Killing Floor Source
// Copyright (C) 2013 Tripwire Interactive LLC
// - John "Ramm-Jaeger" Gibson
//=============================================================================
class NiceSeekerSixAmmo extends SeekerSixAmmo;
defaultproperties
{
MaxAmmo=66
InitialAmount=30
PickupClass=Class'NicePack.NiceSeekerSixAmmoPickup'
}

View file

@ -1,4 +1,5 @@
class NiceSeekerSixAmmoPickup extends SeekerSixAmmoPickup;
defaultproperties
{ InventoryType=Class'NicePack.NiceSeekerSixAmmo'
}
class NiceSeekerSixAmmoPickup extends SeekerSixAmmoPickup;
defaultproperties
{
InventoryType=Class'NicePack.NiceSeekerSixAmmo'
}

View file

@ -1,13 +1,15 @@
//=============================================================================
// SeekerSixFire
//=============================================================================
// Primary fire class for the SeekerSix mini rocket launcher
//=============================================================================
// Killing Floor Source
// Copyright (C) 2013 Tripwire Interactive LLC
// - John "Ramm-Jaeger" Gibson
//=============================================================================
class NiceSeekerSixFire extends SeekerSixFire;
defaultproperties
{ AmmoClass=Class'NicePack.NiceSeekerSixAmmo' ProjectileClass=Class'NicePack.NiceSeekerSixRocketProjectile'
}
//=============================================================================
// SeekerSixFire
//=============================================================================
// Primary fire class for the SeekerSix mini rocket launcher
//=============================================================================
// Killing Floor Source
// Copyright (C) 2013 Tripwire Interactive LLC
// - John "Ramm-Jaeger" Gibson
//=============================================================================
class NiceSeekerSixFire extends SeekerSixFire;
defaultproperties
{
AmmoClass=Class'NicePack.NiceSeekerSixAmmo'
ProjectileClass=Class'NicePack.NiceSeekerSixRocketProjectile'
}

View file

@ -1,4 +1,6 @@
class NiceSeekerSixMultiFire extends SeekerSixMultiFire;
defaultproperties
{ AmmoClass=Class'NicePack.NiceSeekerSixAmmo' ProjectileClass=Class'NicePack.NiceSeekerSixRocketProjectile'
}
class NiceSeekerSixMultiFire extends SeekerSixMultiFire;
defaultproperties
{
AmmoClass=Class'NicePack.NiceSeekerSixAmmo'
ProjectileClass=Class'NicePack.NiceSeekerSixRocketProjectile'
}

View file

@ -1,4 +1,9 @@
class NiceSeekerSixPickup extends SeekerSixPickup;
defaultproperties
{ AmmoCost=20 ItemName="SeekerSix Rocket Launcher NW" ItemShortName="SeekerSix NW" InventoryType=Class'NicePack.NiceSeekerSixRocketLauncher' PickupMessage="You got the SeekerSix Mini Rocket Launcher NW."
}
class NiceSeekerSixPickup extends SeekerSixPickup;
defaultproperties
{
AmmoCost=20
ItemName="SeekerSix Rocket Launcher NW"
ItemShortName="SeekerSix NW"
InventoryType=Class'NicePack.NiceSeekerSixRocketLauncher'
PickupMessage="You got the SeekerSix Mini Rocket Launcher NW."
}

View file

@ -1,19 +1,29 @@
class NiceSeekerSixRocketLauncher extends SeekerSixRocketLauncher;
//=============================================================================
// Functions
//=============================================================================
function Projectile SpawnProjectile(Vector Start, Rotator Dir)
{
local NiceSeekerSixRocketProjectile Rocket;
local NiceSeekerSixSeekingRocketProjectile SeekingRocket;
bBreakLock = true;
if (bLockedOn && SeekTarget != none)
{ SeekingRocket = Spawn(class'NiceSeekerSixSeekingRocketProjectile',,, Start, Dir); SeekingRocket.Seeking = SeekTarget; return SeekingRocket;
}
else
{ Rocket = Spawn(class'NiceSeekerSixRocketProjectile',,, Start, Dir); return Rocket;
}
}
defaultproperties
{ AppID=0 FireModeClass(0)=Class'NicePack.NiceSeekerSixFire' FireModeClass(1)=Class'NicePack.NiceSeekerSixMultiFire' PickupClass=Class'NicePack.NiceSeekerSixPickup' ItemName="SeekerSix Rocket Launcher NW"
}
class NiceSeekerSixRocketLauncher extends SeekerSixRocketLauncher;
//=============================================================================
// Functions
//=============================================================================
function Projectile SpawnProjectile(Vector Start, Rotator Dir)
{
local NiceSeekerSixRocketProjectile Rocket;
local NiceSeekerSixSeekingRocketProjectile SeekingRocket;
bBreakLock = true;
if (bLockedOn && SeekTarget != none)
{
SeekingRocket = Spawn(class'NiceSeekerSixSeekingRocketProjectile',,, Start, Dir);
SeekingRocket.Seeking = SeekTarget;
return SeekingRocket;
}
else
{
Rocket = Spawn(class'NiceSeekerSixRocketProjectile',,, Start, Dir);
return Rocket;
}
}
defaultproperties
{
AppID=0
FireModeClass(0)=Class'NicePack.NiceSeekerSixFire'
FireModeClass(1)=Class'NicePack.NiceSeekerSixMultiFire'
PickupClass=Class'NicePack.NiceSeekerSixPickup'
ItemName="SeekerSix Rocket Launcher NW"
}

View file

@ -1,4 +1,6 @@
class NiceSeekerSixRocketProjectile extends SeekerSixRocketProjectile;
defaultproperties
{ ImpactDamage=150 Damage=250.000000
}
class NiceSeekerSixRocketProjectile extends SeekerSixRocketProjectile;
defaultproperties
{
ImpactDamage=150
Damage=250.000000
}

View file

@ -1,27 +1,41 @@
class NiceSeekerSixSeekingRocketProjectile extends NiceSeekerSixRocketProjectile;
var Actor Seeking;
var vector InitialDir;
replication
{
reliable if( bNetInitial && (Role==ROLE_Authority) ) Seeking, InitialDir;
}
simulated function Timer()
{
local vector ForceDir;
local float VelMag;
if ( InitialDir == vect(0,0,0) ) InitialDir = Normal(Velocity);
Acceleration = vect(0,0,0);
Super.Timer();
if ( (Seeking != none) && (Seeking != Instigator) )
{ // Do normal guidance to target. ForceDir = Normal(Seeking.Location - Location);
if( (ForceDir Dot InitialDir) > 0 ) { VelMag = VSize(Velocity); // Increase the multiplier that is currently 0.8 to make the rocket track better if you need to ForceDir = Normal(ForceDir * 0.8 * VelMag + Velocity); Velocity = VelMag * ForceDir; Acceleration += 5 * ForceDir; } // Update rocket so it faces in the direction its going. SetRotation(rotator(Velocity));
}
}
simulated function PostBeginPlay()
{
Super.PostBeginPlay();
SetTimer(0.1, true);
}
defaultproperties
{
}
class NiceSeekerSixSeekingRocketProjectile extends NiceSeekerSixRocketProjectile;
var Actor Seeking;
var vector InitialDir;
replication
{
reliable if( bNetInitial && (Role==ROLE_Authority) )
Seeking, InitialDir;
}
simulated function Timer()
{
local vector ForceDir;
local float VelMag;
if ( InitialDir == vect(0,0,0) )
InitialDir = Normal(Velocity);
Acceleration = vect(0,0,0);
Super.Timer();
if ( (Seeking != none) && (Seeking != Instigator) )
{
// Do normal guidance to target.
ForceDir = Normal(Seeking.Location - Location);
if( (ForceDir Dot InitialDir) > 0 )
{
VelMag = VSize(Velocity);
// Increase the multiplier that is currently 0.8 to make the rocket track better if you need to
ForceDir = Normal(ForceDir * 0.8 * VelMag + Velocity);
Velocity = VelMag * ForceDir;
Acceleration += 5 * ForceDir;
}
// Update rocket so it faces in the direction its going.
SetRotation(rotator(Velocity));
}
}
simulated function PostBeginPlay()
{
Super.PostBeginPlay();
SetTimer(0.1, true);
}
defaultproperties
{
}