Revert weapon conversion
This patch reverts first step of global weapon conversion that would have halted the release of the next version for too long.
This commit is contained in:
parent
3c46801714
commit
12d95e387e
757 changed files with 10788 additions and 4046 deletions
|
|
@ -0,0 +1,16 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceCLGLAmmoPickup extends NiceAmmoPickup;
|
||||
defaultproperties
|
||||
{
AmmoAmount=6
InventoryType=Class'NicePack.NiceCLGLAmmo'
PickupMessage="CLGL Grenades"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
class NiceCLGLFire extends NiceFire;
|
||||
defaultproperties
|
||||
{
|
||||
ProjSpawnOffset=(X=5.000000)
|
||||
EffectiveRange=2500.000000
|
||||
ProjectileSpeed=3800.000000
|
||||
bulletClass=Class'NicePack.NiceBallisticNade'
|
||||
ExplosionDamageType=Class'NicePack.NiceDamTypeCLGLExplosion'
|
||||
ExplosionDamage=360
|
||||
ExplosionRadius=400.000000
|
||||
explosionExponent=1.000000
|
||||
ExplosionMomentum=75000.000000
|
||||
explodeOnPawnHit=True
|
||||
explodeOnWallHit=True
|
||||
projAffectedByScream=True
|
||||
FireAimedAnim="Iron_Fire"
|
||||
maxVerticalRecoilAngle=200
|
||||
maxHorizontalRecoilAngle=50
|
||||
FireSoundRef="KF_M32Snd.M32_Fire"
|
||||
StereoFireSoundRef="KF_M32Snd.M32_FireST"
|
||||
NoAmmoSoundRef="KF_M79Snd.M79_DryFire"
|
||||
DamageType=Class'NicePack.NiceDamTypeCLGLBlunt'
|
||||
DamageMax=175
|
||||
bWaitForRelease=True
|
||||
TransientSoundVolume=1.800000
|
||||
FireForce="AssaultRifleFire"
|
||||
FireRate=1.100000
|
||||
AmmoClass=Class'NicePack.NiceCLGLAmmo'
|
||||
ShakeRotMag=(X=3.000000,Y=4.000000,Z=2.000000)
|
||||
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
|
||||
ShakeOffsetMag=(X=3.000000,Y=3.000000,Z=3.000000)
|
||||
BotRefireRate=1.800000
|
||||
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stNadeL'
|
||||
aimerror=42.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeCLGLBlunt extends NiceDamTypeDemoBlunt;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceCLGL'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeCLGLExplosion extends NiceDamTypeDemoExplosion;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceCLGL'
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/HRL/NiceHRL.uc
Normal file
4
sources/Weapons/Playable/Explosives/HRL/NiceHRL.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
class NiceHRL extends HRL;
|
||||
defaultproperties
|
||||
{
FireModeClass(0)=Class'NicePack.NiceHRLFire'
PickupClass=Class'NicePack.NiceHRLPickup'
ItemName="HRL-1 Rocket Launcher NW"
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/HRL/NiceHRLFire.uc
Normal file
4
sources/Weapons/Playable/Explosives/HRL/NiceHRLFire.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
class NiceHRLFire extends HRLFire;
|
||||
defaultproperties
|
||||
{
ProjectileClass=Class'NicePack.NiceHRLProj'
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/HRL/NiceHRLPickup.uc
Normal file
4
sources/Weapons/Playable/Explosives/HRL/NiceHRLPickup.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/HRL/NiceHRLProj.uc
Normal file
4
sources/Weapons/Playable/Explosives/HRL/NiceHRLProj.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
class NiceHRLProj extends HRLProj;
|
||||
defaultproperties
|
||||
{
ArmDistSquared=180000.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceHopMineAmmo extends HopMineAmmo;
|
||||
defaultproperties
|
||||
{
PickupClass=Class'NicePack.NiceHopMineAmmoPickup'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceHopMineAmmoPickup extends HopMineAmmoPickup;
|
||||
defaultproperties
|
||||
{
InventoryType=Class'NicePack.NiceHopMineAmmo'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceHopMineFire extends HopMineFire;
|
||||
defaultproperties
|
||||
{
AmmoClass=Class'NicePack.NiceHopMineAmmo'
ProjectileClass=Class'NicePack.NiceHopMineProj'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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."
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
//=============================================================================
|
||||
// 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"
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
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
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeLAWBlunt extends NiceDamTypeDemoBlunt;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceLAW'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeLAWExplosion extends NiceDamTypeDemoExplosion;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceLAW'
|
||||
}
|
||||
25
sources/Weapons/Playable/Explosives/LAW/NiceLAW.uc
Normal file
25
sources/Weapons/Playable/Explosives/LAW/NiceLAW.uc
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
}
|
||||
5
sources/Weapons/Playable/Explosives/LAW/NiceLAWAmmo.uc
Normal file
5
sources/Weapons/Playable/Explosives/LAW/NiceLAWAmmo.uc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceLAWAmmoPickup extends NiceAmmoPickup;
|
||||
defaultproperties
|
||||
{
AmmoAmount=2
InventoryType=Class'NicePack.NiceLAWAmmo'
PickupMessage="HEAT Rockets"
StaticMesh=StaticMesh'KillingFloorStatics.LAWAmmo'
DrawScale=0.500000
CollisionRadius=40.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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
|
||||
}
|
||||
40
sources/Weapons/Playable/Explosives/LAW/NiceLAWFire.uc
Normal file
40
sources/Weapons/Playable/Explosives/LAW/NiceLAWFire.uc
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
class NiceLAWFire extends NiceFire;
|
||||
defaultproperties
|
||||
{
|
||||
ProjSpawnOffset=(X=5.000000)
|
||||
KickMomentum=(X=-45.000000,Z=25.000000)
|
||||
ProjectileSpeed=7250.000000
|
||||
bulletClass=Class'NicePack.NiceRocket'
|
||||
ExplosionDamageType=Class'NicePack.NiceDamTypeLAWExplosion'
|
||||
ExplosionDamage=1200
|
||||
ExplosionRadius=400.000000
|
||||
explosionExponent=1.000000
|
||||
ExplosionMomentum=75000.000000
|
||||
explodeOnPawnHit=True
|
||||
explodeOnWallHit=True
|
||||
maxVerticalRecoilAngle=1000
|
||||
maxHorizontalRecoilAngle=250
|
||||
bRandomPitchFireSound=False
|
||||
FireSoundRef="KF_LAWSnd.LAW_Fire"
|
||||
StereoFireSoundRef="KF_LAWSnd.LAW_FireST"
|
||||
NoAmmoSoundRef="KF_LAWSnd.LAW_DryFire"
|
||||
DamageType=Class'NicePack.NiceDamTypeLAWBlunt'
|
||||
DamageMax=750
|
||||
bSplashDamage=True
|
||||
bRecommendSplashDamage=True
|
||||
bWaitForRelease=True
|
||||
TransientSoundVolume=1.800000
|
||||
FireAnim="AimFire"
|
||||
FireForce="redeemer_shoot"
|
||||
FireRate=0.000000
|
||||
AmmoClass=Class'NicePack.NiceLAWAmmo'
|
||||
ShakeRotMag=(X=50.000000,Y=50.000000,Z=400.000000)
|
||||
ShakeRotRate=(X=12500.000000,Y=12500.000000,Z=12500.000000)
|
||||
ShakeRotTime=5.000000
|
||||
ShakeOffsetMag=(X=6.000000,Y=2.000000,Z=10.000000)
|
||||
ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000)
|
||||
ShakeOffsetTime=3.000000
|
||||
BotRefireRate=3.250000
|
||||
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stKar'
|
||||
Spread=0.100000
|
||||
}
|
||||
5
sources/Weapons/Playable/Explosives/LAW/NiceLAWPickup.uc
Normal file
5
sources/Weapons/Playable/Explosives/LAW/NiceLAWPickup.uc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeM32Blunt extends NiceDamTypeDemoBlunt;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceM32GrenadeLauncher'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeM32Explosion extends NiceDamTypeDemoExplosion;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceM32GrenadeLauncher'
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/M32/NiceM32Ammo.uc
Normal file
4
sources/Weapons/Playable/Explosives/M32/NiceM32Ammo.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceM32AmmoPickup extends KFAmmoPickup;
|
||||
defaultproperties
|
||||
{
AmmoAmount=6
InventoryType=Class'NicePack.NiceM32Ammo'
PickupMessage="M32 Grenades"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
35
sources/Weapons/Playable/Explosives/M32/NiceM32Fire.uc
Normal file
35
sources/Weapons/Playable/Explosives/M32/NiceM32Fire.uc
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
class NiceM32Fire extends NiceFire;
|
||||
defaultproperties
|
||||
{
|
||||
ProjSpawnOffset=(X=5.000000)
|
||||
EffectiveRange=2500.000000
|
||||
ProjectileSpeed=3800.000000
|
||||
bulletClass=Class'NicePack.NiceBallisticNade'
|
||||
ExplosionDamageType=Class'NicePack.NiceDamTypeM32Explosion'
|
||||
ExplosionDamage=360
|
||||
ExplosionRadius=400.000000
|
||||
explosionExponent=1.000000
|
||||
ExplosionMomentum=75000.000000
|
||||
explodeOnPawnHit=True
|
||||
explodeOnWallHit=True
|
||||
projAffectedByScream=True
|
||||
FireAimedAnim="Iron_Fire"
|
||||
maxVerticalRecoilAngle=200
|
||||
maxHorizontalRecoilAngle=50
|
||||
FireSoundRef="KF_M32Snd.M32_Fire"
|
||||
StereoFireSoundRef="KF_M32Snd.M32_FireST"
|
||||
NoAmmoSoundRef="KF_M79Snd.M79_DryFire"
|
||||
DamageType=Class'NicePack.NiceDamTypeM32Blunt'
|
||||
DamageMax=175
|
||||
bWaitForRelease=True
|
||||
TransientSoundVolume=1.800000
|
||||
FireForce="AssaultRifleFire"
|
||||
FireRate=0.330000
|
||||
AmmoClass=Class'NicePack.NiceM32Ammo'
|
||||
ShakeRotMag=(X=3.000000,Y=4.000000,Z=2.000000)
|
||||
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
|
||||
ShakeOffsetMag=(X=3.000000,Y=3.000000,Z=3.000000)
|
||||
BotRefireRate=1.800000
|
||||
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stNadeL'
|
||||
aimerror=42.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
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
|
||||
}
|
||||
5
sources/Weapons/Playable/Explosives/M32/NiceM32Pickup.uc
Normal file
5
sources/Weapons/Playable/Explosives/M32/NiceM32Pickup.uc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeM79Blunt extends NiceDamTypeDemoBlunt;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceM79GrenadeLauncher'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeM79Explosion extends NiceDamTypeDemoExplosion;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceM79GrenadeLauncher'
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/M79/NiceM79Ammo.uc
Normal file
4
sources/Weapons/Playable/Explosives/M79/NiceM79Ammo.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceM79AmmoPickup extends NiceAmmoPickup;
|
||||
defaultproperties
|
||||
{
AmmoAmount=3
InventoryType=Class'NicePack.NiceM79Ammo'
PickupMessage="M79 Incendiary Grenades"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
36
sources/Weapons/Playable/Explosives/M79/NiceM79Fire.uc
Normal file
36
sources/Weapons/Playable/Explosives/M79/NiceM79Fire.uc
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
class NiceM79Fire extends NiceFire;
|
||||
defaultproperties
|
||||
{
|
||||
ProjSpawnOffset=(X=5.000000)
|
||||
EffectiveRange=2500.000000
|
||||
ProjectileSpeed=3800.000000
|
||||
bulletClass=Class'NicePack.NiceBallisticNade'
|
||||
ExplosionDamageType=Class'NicePack.NiceDamTypeM79Explosion'
|
||||
ExplosionDamage=360
|
||||
ExplosionRadius=400.000000
|
||||
explosionExponent=1.000000
|
||||
ExplosionMomentum=75000.000000
|
||||
explodeOnPawnHit=True
|
||||
explodeOnWallHit=True
|
||||
projAffectedByScream=True
|
||||
FireAimedAnim="Iron_Fire"
|
||||
RecoilRate=0.100000
|
||||
maxVerticalRecoilAngle=200
|
||||
maxHorizontalRecoilAngle=50
|
||||
FireSoundRef="KF_M79Snd.M79_Fire"
|
||||
StereoFireSoundRef="KF_M79Snd.M79_FireST"
|
||||
NoAmmoSoundRef="KF_M79Snd.M79_DryFire"
|
||||
DamageType=Class'NicePack.NiceDamTypeM79Blunt'
|
||||
DamageMax=175
|
||||
bWaitForRelease=True
|
||||
TransientSoundVolume=1.800000
|
||||
FireForce="AssaultRifleFire"
|
||||
FireRate=0.000000
|
||||
AmmoClass=Class'NicePack.NiceM79Ammo'
|
||||
ShakeRotMag=(X=3.000000,Y=4.000000,Z=2.000000)
|
||||
ShakeRotRate=(X=10000.000000,Y=10000.000000,Z=10000.000000)
|
||||
ShakeOffsetMag=(X=3.000000,Y=3.000000,Z=3.000000)
|
||||
BotRefireRate=1.800000
|
||||
FlashEmitterClass=Class'ROEffects.MuzzleFlash1stNadeL'
|
||||
aimerror=42.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
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
|
||||
}
|
||||
4
sources/Weapons/Playable/Explosives/M79/NiceM79Pickup.uc
Normal file
4
sources/Weapons/Playable/Explosives/M79/NiceM79Pickup.uc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NicePipeBombExplosive extends ScrnPipeBombExplosive;
|
||||
defaultproperties
|
||||
{
FireModeClass(0)=Class'NicePack.NicePipeBombFire'
PickupClass=Class'NicePack.NicePipeBombPickup'
ItemName="PipeBomb NW"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NicePipeBombFire extends ScrnPipeBombFire;
|
||||
defaultproperties
|
||||
{
ProjectileClass=Class'NicePack.NicePipeBombProjectile'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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'
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
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'
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
class NiceBallisticHarpoon extends NiceBullet;
|
||||
// Have we added this harpoon to a stuck projectiles list?
|
||||
var bool bAddedMyself;
|
||||
/*simulated function Tick(float delta){
|
||||
local NiceSealSquealHarpoonBomber harpoonWeap;
|
||||
if(bInitFinished && !bAddedMyself && bStuck && nicePlayer == localPlayer){
|
||||
bAddedMyself = true;
|
||||
harpoonWeap = NiceSealSquealHarpoonBomber(sourceWeapon);
|
||||
harpoonWeap.stuckProjectiles[harpoonWeap.stuckProjectiles.Length] = stuckID;
|
||||
}
|
||||
super.Tick(delta);
|
||||
}
|
||||
function KillBullet(){
|
||||
local int index;
|
||||
local NiceSealSquealHarpoonBomber harpoonWeap;
|
||||
if(bStuck && sourceWeapon != none){
|
||||
harpoonWeap = NiceSealSquealHarpoonBomber(sourceWeapon);
|
||||
for(index = 0;index < harpoonWeap.stuckProjectiles.Length;index ++)
|
||||
if(harpoonWeap.stuckProjectiles[index] == stuckID){
|
||||
NiceSealSquealHarpoonBomber(sourceWeapon).stuckProjectiles[index] = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
super.KillBullet();
|
||||
}*/
|
||||
defaultproperties
|
||||
{
|
||||
charMinExplosionDist=300.000000
|
||||
bDisableComplexMovement=False
|
||||
movementFallTime=1.000000
|
||||
TrailClass=Class'KFMod.SealSquealFuseEmitter'
|
||||
trailXClass=None
|
||||
regularImpact=(noiseRef="KF_FY_SealSquealSND.WEP_Harpoon_Hit_Flesh")
|
||||
explosionImpact=(bImportanEffect=True,decalClass=Class'KFMod.KFScorchMark',EmitterClass=Class'KFMod.KFNadeLExplosion',emitterShiftWall=20.000000,emitterShiftPawn=20.000000,noiseRef="KF_FY_SealSquealSND.WEP_Harpoon_Explode",noiseVolume=2.000000)
|
||||
disintegrationImpact=(EmitterClass=Class'KFMod.SirenNadeDeflect',noiseRef="Inf_Weapons.faust_explode_distant02",noiseVolume=2.000000)
|
||||
StaticMeshRef="KF_IJC_Halloween_Weps2.Harpoon_Projectile"
|
||||
AmbientSoundRef="KF_IJC_HalloweenSnd.KF_FlarePistol_Projectile_Loop"
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class NiceDamTypeSealSquealBlunt extends NiceDamTypeDemoBlunt
|
||||
abstract;
|
||||
defaultproperties
|
||||
{
WeaponClass=Class'NicePack.NiceSealSquealHarpoonBomber'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceDamTypeSealSquealExplosion extends NiceDamTypeDemoExplosion;
|
||||
defaultproperties
|
||||
{
HeadShotDamageMult=1.500000
WeaponClass=Class'NicePack.NiceSealSquealHarpoonBomber'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceSealSquealAmmoPickup extends NiceAmmoPickup;
|
||||
defaultproperties
|
||||
{
AmmoAmount=3
InventoryType=Class'NicePack.NiceSealSquealAmmo'
PickupMessage="SealSqueal Harpoon Bombs"
StaticMesh=StaticMesh'KillingFloorStatics.FragPickup'
CollisionRadius=25.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
class NiceSealSquealFire extends NiceFire;
|
||||
defaultproperties
|
||||
{
|
||||
ProjSpawnOffset=(X=5.000000)
|
||||
EffectiveRange=2500.000000
|
||||
ProjectileSpeed=3000.000000
|
||||
bulletClass=Class'NicePack.NiceBallisticHarpoon'
|
||||
ExplosionDamageType=Class'NicePack.NiceDamTypeSealSquealExplosion'
|
||||
ExplosionDamage=480
|
||||
ExplosionRadius=200.000000
|
||||
explosionExponent=1.000000
|
||||
ExplosionMomentum=75000.000000
|
||||
fuseTime=15.000000
|
||||
explodeOnFuse=True
|
||||
bShouldStick=True
|
||||
FireAimedAnim="Iron_Fire"
|
||||
maxVerticalRecoilAngle=1500
|
||||
maxHorizontalRecoilAngle=250
|
||||
FireSoundRef="KF_FY_SealSquealSND.WEP_Harpoon_Fire_M"
|
||||
StereoFireSoundRef="KF_FY_SealSquealSND.WEP_Harpoon_Fire"
|
||||
NoAmmoSoundRef="KF_M79Snd.M79_DryFire"
|
||||
DamageType=Class'NicePack.NiceDamTypeSealSquealBlunt'
|
||||
DamageMax=150
|
||||
bWaitForRelease=True
|
||||
TransientSoundVolume=1.800000
|
||||
FireForce="AssaultRifleFire"
|
||||
FireRate=0.750000
|
||||
AmmoClass=Class'NicePack.NiceSealSquealAmmo'
|
||||
ShakeRotMag=(X=75.000000,Y=75.000000,Z=400.000000)
|
||||
ShakeRotRate=(X=12500.000000,Y=12500.000000,Z=10000.000000)
|
||||
ShakeRotTime=3.500000
|
||||
ShakeOffsetMag=(X=6.000000,Y=1.000000,Z=8.000000)
|
||||
ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000)
|
||||
ShakeOffsetTime=2.500000
|
||||
BotRefireRate=1.800000
|
||||
FlashEmitterClass=Class'KFMod.SealSquealMuzzleFlash1P'
|
||||
aimerror=42.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
class NiceSealSquealHarpoonBomber extends NiceWeapon;
|
||||
// Stuck projectiles, fired from this weapon
|
||||
var array<int> stuckProjectiles;
|
||||
/*simulated function ExplodeAllHarpoons(){
|
||||
local int i;
|
||||
for(i = 0;i < stuckProjectiles.Length;i ++){
|
||||
if(stuckProjectiles[i] < 0)
|
||||
continue;
|
||||
NicePlayerController(instigator.controller).ExplodeStuckBullet(stuckProjectiles[i]);
|
||||
}
|
||||
stuckProjectiles.Length = 0;
|
||||
}
|
||||
simulated function SetupReloadVars(optional bool bIsActive, optional int animationIndex){
|
||||
if(Role < ROLE_Authority)
|
||||
ExplodeAllHarpoons();
|
||||
super.SetupReloadVars(bIsActive, animationIndex);
|
||||
}
|
||||
simulated function AltFire(float f){
|
||||
ExplodeAllHarpoons();
|
||||
}
|
||||
simulated function Destroyed(){
|
||||
if(Role < ROLE_Authority)
|
||||
ExplodeAllHarpoons();
|
||||
super.Destroyed();
|
||||
}*/
|
||||
defaultproperties
|
||||
{
|
||||
reloadPreEndFrame=0.195000
|
||||
reloadEndFrame=0.537000
|
||||
reloadChargeEndFrame=0.861000
|
||||
reloadMagStartFrame=0.325000
|
||||
reloadChargeStartFrame=0.724000
|
||||
MagCapacity=3
|
||||
ReloadRate=4.000000
|
||||
ReloadAnim="Reload"
|
||||
ReloadAnimRate=1.000000
|
||||
WeaponReloadAnim="Reload_IJC_SealSqueal"
|
||||
Weight=6.000000
|
||||
bHasAimingMode=True
|
||||
IdleAimAnim="Idle_Iron"
|
||||
StandardDisplayFOV=70.000000
|
||||
TraderInfoTexture=Texture'KF_IJC_HUD.Trader_Weapon_Icons.Trader_SealSqueal'
|
||||
bIsTier2Weapon=True
|
||||
MeshRef="KF_IJC_Halloween_Weps_2.SealSqueal"
|
||||
SkinRefs(0)="KF_IJC_Halloween_Weapons2.SealSqueal.SealSqueal_cmb"
|
||||
SelectSoundRef="KF_FY_SealSquealSND.WEP_Harpoon_Foley_Select"
|
||||
HudImageRef="KF_IJC_HUD.WeaponSelect.SealSqueal_unselected"
|
||||
SelectedHudImageRef="KF_IJC_HUD.WeaponSelect.SealSqueal"
|
||||
PlayerIronSightFOV=70.000000
|
||||
ZoomedDisplayFOV=60.000000
|
||||
FireModeClass(0)=Class'NicePack.NiceSealSquealFire'
|
||||
FireModeClass(1)=Class'KFMod.NoFire'
|
||||
PutDownAnim="PutDown"
|
||||
SelectForce="SwitchToAssaultRifle"
|
||||
AIRating=0.650000
|
||||
CurrentRating=0.650000
|
||||
Description="Shoot the zeds with this harpoon gun and watch them squeal.. and then explode!"
|
||||
DisplayFOV=70.000000
|
||||
Priority=171
|
||||
InventoryGroup=4
|
||||
GroupOffset=22
|
||||
PickupClass=Class'NicePack.NiceSealSquealPickup'
|
||||
PlayerViewOffset=(X=15.000000,Y=20.000000,Z=-8.000000)
|
||||
BobDamping=6.000000
|
||||
AttachmentClass=Class'NicePack.NiceSealSquealAttachment'
|
||||
IconCoords=(X1=253,Y1=146,X2=333,Y2=181)
|
||||
ItemName="SealSqueal Harpoon Bomber"
|
||||
LightType=LT_None
|
||||
LightBrightness=0.000000
|
||||
LightRadius=0.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
//=============================================================================
|
||||
// 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'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceSeekerSixAmmoPickup extends SeekerSixAmmoPickup;
|
||||
defaultproperties
|
||||
{
InventoryType=Class'NicePack.NiceSeekerSixAmmo'
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
//=============================================================================
|
||||
// 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'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceSeekerSixMultiFire extends SeekerSixMultiFire;
|
||||
defaultproperties
|
||||
{
AmmoClass=Class'NicePack.NiceSeekerSixAmmo'
ProjectileClass=Class'NicePack.NiceSeekerSixRocketProjectile'
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
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."
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
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"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
class NiceSeekerSixRocketProjectile extends SeekerSixRocketProjectile;
|
||||
defaultproperties
|
||||
{
ImpactDamage=150
Damage=250.000000
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
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
|
||||
{
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue