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:
Anton Tarasenko 2020-04-17 23:06:41 +07:00
commit 12d95e387e
757 changed files with 10788 additions and 4046 deletions

View file

@ -0,0 +1,5 @@
class NiceDamTypeSPShotgun extends NiceDamageTypeVetEnforcer
abstract;
defaultproperties
{ MaxPenetrations=5 PenDmgReduction=0.900000 bIsPowerWeapon=True WeaponClass=Class'NicePack.NiceSPAutoShotgun' DeathString="%k killed %o (M.C.Z. Thrower)." FemaleSuicide="%o shot herself in the foot." MaleSuicide="%o shot himself in the foot." bRagdollBullet=True bBulletHit=True FlashFog=(X=600.000000) KDamageImpulse=10000.000000 KDeathVel=300.000000 KDeathUpKick=100.000000 VehicleDamageScaling=0.700000
}

View file

@ -0,0 +1,19 @@
class NiceSPAutoShotgun extends NiceWeapon;
// Toggle semi/auto fire
simulated function DoToggle (){}
// Set the new fire mode on the server
function ServerChangeFireMode(bool bNewWaitForRelease){}
exec function SwitchModes(){}
simulated function WeaponTick(float dt)
{
local float SteamCharge;
local rotator DialRot;
super.WeaponTick(dt);
if(Level.NetMode!=NM_DedicatedServer){ if(FireMode[1].NextFireTime >= Level.TimeSeconds) SteamCharge = 1.0 - ((FireMode[1].NextFireTime - Level.TimeSeconds)/FireMode[1].FireRate); else SteamCharge = 1.0;
if(SteamCharge > 0.1 && FireMode[0].NextFireTime >= Level.TimeSeconds) SteamCharge -= 0.1 * ((FireMode[0].NextFireTime - Level.TimeSeconds)/FireMode[0].FireRate);
DialRot.roll = 26500 - ( 53000 * SteamCharge ); SetBoneRotation('Dail2',DialRot,1.0);
}
}
defaultproperties
{ reloadPreEndFrame=0.143000 reloadEndFrame=0.633000 reloadChargeEndFrame=-1.000000 reloadMagStartFrame=0.276000 reloadChargeStartFrame=-1.000000 MagCapacity=10 ReloadRate=2.640000 ReloadAnim="Reload" ReloadAnimRate=1.250000 WeaponReloadAnim="Reload_IJC_spJackHammer" Weight=7.000000 bHasAimingMode=True IdleAimAnim="Idle_Iron" StandardDisplayFOV=65.000000 SleeveNum=0 TraderInfoTexture=Texture'KF_IJC_HUD.Trader_Weapon_Icons.Trader_Jackhammer' MeshRef="KF_IJC_Summer_Weps1.Jackhammer" SkinRefs(0)="KF_Weapons_Trip_T.hands.hands_1stP_military_cmb" SkinRefs(1)="KF_IJC_Summer_Weapons.Jackhammer.jackhammer_cmb" SkinRefs(2)="KF_Weapons_Trip_T.Rifles.crossbow_cmb" SelectSoundRef="KF_SP_ZEDThrowerSnd.KFO_Shotgun_Select" HudImageRef="KF_IJC_HUD.WeaponSelect.Jackhammer_unselected" SelectedHudImageRef="KF_IJC_HUD.WeaponSelect.Jackhammer" PlayerIronSightFOV=80.000000 ZoomedDisplayFOV=45.000000 FireModeClass(0)=Class'NicePack.NiceSPShotgunFire' FireModeClass(1)=Class'NicePack.NiceSPShotgunAltFire' PutDownAnim="PutDown" SelectForce="SwitchToAssaultRifle" AIRating=0.550000 CurrentRating=0.550000 bShowChargingBar=True Description="A device for throwing lead and getting sodding enemies out of your face." EffectOffset=(X=100.000000,Y=25.000000,Z=-10.000000) DisplayFOV=65.000000 Priority=167 InventoryGroup=4 GroupOffset=15 PickupClass=Class'NicePack.NiceSPShotgunPickup' PlayerViewOffset=(X=20.000000,Y=23.000000,Z=-2.000000) BobDamping=6.000000 AttachmentClass=Class'NicePack.NiceSPShotgunAttachment' IconCoords=(X1=245,Y1=39,X2=329,Y2=79) ItemName="Multichamber ZED Thrower" TransientSoundVolume=1.250000
}

View file

@ -0,0 +1,4 @@
class NiceSPGrenadeAmmo extends SPGrenadeAmmo;
defaultproperties
{ AmmoPickupAmount=2 MaxAmmo=16 InitialAmount=8 PickupClass=Class'NicePack.NiceSPGrenadeAmmoPickup'
}

View file

@ -0,0 +1,4 @@
class NiceSPGrenadeAmmoPickup extends SPGrenadeAmmoPickup;
defaultproperties
{ AmmoAmount=2 InventoryType=Class'NicePack.NiceSPGrenadeAmmo'
}

View file

@ -0,0 +1,4 @@
class NiceSPGrenadeFire extends SPGrenadeFire;
defaultproperties
{ AmmoClass=Class'NicePack.NiceSPGrenadeAmmo' ProjectileClass=Class'NicePack.NiceSPGrenadeProjectile'
}

View file

@ -0,0 +1,4 @@
class NiceSPGrenadeLauncher extends SPGrenadeLauncher;
defaultproperties
{ AppID=0 FireModeClass(0)=Class'NicePack.NiceSPGrenadeFire' PickupClass=Class'NicePack.NiceSPGrenadePickup' ItemName="The Orca Bomb Propeller NW"
}

View file

@ -0,0 +1,4 @@
class NiceSPGrenadePickup extends SPGrenadePickup;
defaultproperties
{ AmmoCost=12 ItemName="The Orca Bomb Propeller NW" ItemShortName="The Orca NW" InventoryType=Class'NicePack.NiceSPGrenadeLauncher'
}

View file

@ -0,0 +1,5 @@
class NiceSPGrenadeProjectile extends SPGrenadeProjectile;
#exec OBJ LOAD FILE=ProjectileSounds.uax
defaultproperties
{ Damage=450.000000
}

View file

@ -0,0 +1,54 @@
class NiceSPShotgunAltFire extends NiceShotgunFire;
var InterpCurve AppliedMomentumCurve; // How much momentum to apply to a zed based on how much mass it has
var float WideDamageMinHitAngle; // The angle to do sweeping strikes in front of the player. If zero do no strikes
var float PushRange; // The range to push zeds away when firing
simulated function bool AllowFire(){
if(currentContext.sourceWeapon == none || KFPawn(Instigator) == none) return false;
if(currentContext.sourceWeapon.bIsReloading) return false;
if(KFPawn(Instigator).SecondaryItem!=none) return false;
if(KFPawn(Instigator).bThrowingNade) return false;
// No ammo so just always fire
return true;
}
// No need to client-side this one
function bool IsClientSide(){
return false;
}
// And there's nothing to force
function bool shouldFireProjectile(){
return false;
}
function DoFireEffect(){
local Vector StartProj, StartTrace, X,Y,Z;
local Rotator Aim;
local Vector HitLocation, HitNormal;
local Actor Other;
local Pawn Victims;
local vector dir, lookdir;
local float DiffAngle, VictimDist;
local float AppliedMomentum;
local vector vMomentum;
Instigator.MakeNoise(1.0);
Weapon.GetViewAxes(X,Y,Z);
StartTrace = Instigator.Location + Instigator.EyePosition();
StartProj = StartTrace + X*ProjSpawnOffset.X;
if (!Weapon.WeaponCentered() && !KFWeap.bAimingRifle) StartProj = StartProj + Weapon.Hand * Y*ProjSpawnOffset.Y + Z*ProjSpawnOffset.Z;
// check if projectile would spawn through a wall and adjust start location accordingly
Other = Weapon.Trace(HitLocation, HitNormal, StartProj, StartTrace, false);
if(Other != none) StartProj = HitLocation;
Aim = AdjustAim(StartProj, AimError);
if(WideDamageMinHitAngle > 0){ foreach Weapon.VisibleCollidingActors(class'Pawn', Victims, (PushRange * 2), StartTrace){ if(Victims.Health <= 0) continue; if(Victims != Instigator){ // Don't push team mates if(Victims.GetTeamNum() == Instigator.GetTeamNum()) continue; VictimDist = VSizeSquared(Instigator.Location - Victims.Location); if(VictimDist > (((PushRange * 1.1) * (PushRange * 1.1)) + (Victims.CollisionRadius * Victims.CollisionRadius))) continue;
lookdir = Normal(Vector(Instigator.GetViewRotation())); dir = Normal(Victims.Location - Instigator.Location); DiffAngle = lookdir dot dir; dir = Normal((Victims.Location + Victims.EyePosition()) - Instigator.Location);
if(DiffAngle > WideDamageMinHitAngle){ AppliedMomentum = InterpCurveEval(AppliedMomentumCurve,Victims.Mass); HandleAchievement( Victims );
vMomentum = (dir * AppliedMomentum)/Victims.Mass; Victims.AddVelocity(vMomentum); if(KFMonster(Victims) != none) KFMonster(Victims).BreakGrapple(); } } }
}
if(Instigator != none && Instigator.Physics == PHYS_Falling && Instigator.PhysicsVolume.Gravity.Z > class'PhysicsVolume'.default.Gravity.Z) Instigator.AddVelocity((KickMomentum * 10.0) >> Instigator.GetViewRotation());
}
function HandleAchievement(Pawn Victim){
local KFSteamStatsAndAchievements KFSteamStats;
if(Victim.IsA('NiceZombieScrake')){ if(PlayerController(Instigator.Controller) != none){ KFSteamStats = KFSteamStatsAndAchievements(PlayerController(Instigator.Controller).SteamStatsAndAchievements); if(KFSteamStats != none) KFSteamStats.CheckAndSetAchievementComplete(KFSteamStats.KFACHIEVEMENT_PushScrakeSPJ); }
}
}
defaultproperties
{ AppliedMomentumCurve=(Points=((OutVal=10000.000000),(InVal=350.000000,OutVal=175000.000000),(InVal=600.000000,OutVal=250000.000000))) WideDamageMinHitAngle=0.600000 PushRange=150.000000 ProjPerFire=0 KickMomentum=(X=-35.000000,Z=5.000000) maxVerticalRecoilAngle=3200 FireSoundRef="KF_SP_ZEDThrowerSnd.KFO_Shotgun_Secondary_Fire_M" StereoFireSoundRef="KF_SP_ZEDThrowerSnd.KFO_Shotgun_Secondary_Fire_S" NoAmmoSoundRef="KF_AA12Snd.AA12_DryFire" bWaitForRelease=False bModeExclusive=False FireAnimRate=1.000000 FireRate=1.200000 AmmoClass=None AmmoPerFire=0 ShakeRotMag=(Z=250.000000) ShakeRotTime=3.000000 ShakeOffsetMag=(Z=6.000000) ShakeOffsetTime=1.250000 BotRefireRate=1.750000 FlashEmitterClass=Class'ROEffects.MuzzleFlash1stSPShotgunAlt' Spread=0.000000
}

View file

@ -0,0 +1,5 @@
class NiceSPShotgunAmmo extends NiceAmmo;
#EXEC OBJ LOAD FILE=KillingFloorHUD.utx
defaultproperties
{ WeaponPickupClass=Class'NicePack.NiceSPShotgunPickup' AmmoPickupAmount=10 MaxAmmo=80 InitialAmount=20 PickupClass=Class'NicePack.NiceSPShotgunAmmoPickup' IconMaterial=Texture'KillingFloorHUD.Generic.HUD' IconCoords=(X1=451,Y1=445,X2=510,Y2=500)
}

View file

@ -0,0 +1,4 @@
class NiceSPShotgunAmmoPickup extends NiceAmmoPickup;
defaultproperties
{ AmmoAmount=10 InventoryType=Class'NicePack.NiceSPShotgunAmmo' PickupMessage="12-Gauge Drum" StaticMesh=None
}

View file

@ -0,0 +1,4 @@
class NiceSPShotgunAttachment extends NiceAttachment;
defaultproperties
{ mMuzFlashClass=Class'ROEffects.MuzzleFlash3rdSPShotgun' MovementAnims(0)="JogF_AA12" MovementAnims(1)="JogB_AA12" MovementAnims(2)="JogL_AA12" MovementAnims(3)="JogR_AA12" TurnLeftAnim="TurnL_AA12" TurnRightAnim="TurnR_AA12" CrouchAnims(0)="CHWalkF_AA12" CrouchAnims(1)="CHWalkB_AA12" CrouchAnims(2)="CHWalkL_AA12" CrouchAnims(3)="CHWalkR_AA12" WalkAnims(0)="WalkF_AA12" WalkAnims(1)="WalkB_AA12" WalkAnims(2)="WalkL_AA12" WalkAnims(3)="WalkR_AA12" CrouchTurnRightAnim="CH_TurnR_AA12" CrouchTurnLeftAnim="CH_TurnL_AA12" IdleCrouchAnim="CHIdle_AA12" IdleWeaponAnim="Idle_AA12" IdleRestAnim="Idle_AA12" IdleChatAnim="Idle_AA12" IdleHeavyAnim="Idle_AA12" IdleRifleAnim="Idle_AA12" FireAnims(0)="Fire_AA12" FireAnims(1)="Fire_AA12" FireAnims(2)="Fire_AA12" FireAnims(3)="Fire_AA12" FireAltAnims(0)="Fire_AA12" FireAltAnims(1)="Fire_AA12" FireAltAnims(2)="Fire_AA12" FireAltAnims(3)="Fire_AA12" FireCrouchAnims(0)="CHFire_AA12" FireCrouchAnims(1)="CHFire_AA12" FireCrouchAnims(2)="CHFire_AA12" FireCrouchAnims(3)="CHFire_AA12" FireCrouchAltAnims(0)="CHFire_AA12" FireCrouchAltAnims(1)="CHFire_AA12" FireCrouchAltAnims(2)="CHFire_AA12" FireCrouchAltAnims(3)="CHFire_AA12" HitAnims(0)="HitF_AA12" HitAnims(1)="HitB_AA12" HitAnims(2)="HitL_AA12" HitAnims(3)="HitR_AA12" PostFireBlendStandAnim="Blend_AA12" PostFireBlendCrouchAnim="CHBlend_AA12" MeshRef="KF_Weapons3rd2_IJC.spJackHammer_3rd"
}

View file

@ -0,0 +1,4 @@
class NiceSPShotgunFire extends NiceShotgunFire;
defaultproperties
{ KickMomentum=(X=-35.000000,Z=5.000000) ProjectileSpeed=3500.000000 maxVerticalRecoilAngle=1000 maxHorizontalRecoilAngle=500 ShellEjectClass=Class'ROEffects.KFShellEjectShotty' ShellEjectBoneName="Shell_eject" FireSoundRef="KF_SP_ZEDThrowerSnd.KFO_Shotgun_Primary_Fire_M" StereoFireSoundRef="KF_SP_ZEDThrowerSnd.KFO_Shotgun_Primary_Fire_S" NoAmmoSoundRef="KF_AA12Snd.AA12_DryFire" DamageType=Class'NicePack.NiceDamTypeSPShotgun' DamageMax=30 Momentum=60000.000000 bWaitForRelease=False FireAnimRate=1.200000 FireRate=0.292000 AmmoClass=Class'NicePack.NiceSPShotgunAmmo' ShakeRotMag=(Z=250.000000) ShakeRotTime=3.000000 ShakeOffsetMag=(Z=6.000000) ShakeOffsetTime=1.250000 BotRefireRate=0.250000 Spread=1500.000000
}

View file

@ -0,0 +1,4 @@
class NiceSPShotgunPickup extends NiceWeaponPickup;
defaultproperties
{ Weight=7.000000 AmmoCost=30 BuyClipSize=8 PowerValue=60 SpeedValue=50 RangeValue=20 Description="A device for throwing lead and getting sodding enemies out of your face." ItemName="Multichamber ZED Thrower" ItemShortName="M.C.Z. Thrower" AmmoItemName="M.C.Z. Drum" CorrespondingPerkIndex=1 EquipmentCategoryID=3 InventoryType=Class'NicePack.NiceSPAutoShotgun' PickupMessage="You got the Multichamber Lead Thrower." PickupSound=Sound'KF_SP_ZEDThrowerSnd.KFO_Shotgun_Pickup' PickupForce="AssaultRiflePickup" StaticMesh=StaticMesh'KF_IJC_Summer_Weps.Jackhammer' CollisionRadius=35.000000 CollisionHeight=5.000000
}