1
0
This commit is contained in:
2022-06-14 18:52:40 +03:00
parent df19937a54
commit 513c60070e
17 changed files with 159 additions and 73 deletions

View File

@ -141,7 +141,7 @@ function SetPickupItemList()
local KFPickupFactory_Item ItemFactory;
local int Idx;
if (OutbreakEvent.ActiveEvent.bOnlyArmorItemPickup)
if (MyKFGRI.IsGunGameMode())
{
foreach AllActors(class'KFPickupFactory_Item', ItemFactory)
{
@ -600,8 +600,6 @@ function EndOfMatch(bool bVictory)
{
local KFPlayerController KFPC;
super.EndOfMatch(bVictory);
if (bVictory)
{
foreach WorldInfo.AllControllers(class'KFPlayerController', KFPC)
@ -609,6 +607,8 @@ function EndOfMatch(bool bVictory)
KFPC.CompletedWeeklySurvival();
}
}
super.EndOfMatch(bVictory);
}
function StartWave()

View File

@ -438,7 +438,7 @@ defaultproperties
GoompaStreakMax = 5,
GoompaBonusDuration=8.0f, //10.0f,
DoshOnKillGlobalModifier=1.0,
SpawnWeaponList=KFGFxObject_TraderItems'GP_Trader_ARCH.AracnophobiaWeeklySpawnList',
//SpawnWeaponList=KFGFxObject_TraderItems'GP_Trader_ARCH.AracnophobiaWeeklySpawnList',
bAddSpawnListToLoadout=true,
WaveAICountScale=(0.6, 0.6, 0.6, 0.6, 0.6, 0.6),
JumpZ=700.f, // 650.0 by default; -1 used for not overriding.
@ -1130,7 +1130,7 @@ defaultproperties
, GrantedWeapons= {
(
class'KFGame.KFWeapDef_MedicRifle'
, class'KFGame.KFWeapDef_HRG_EMP_ArcGenerator'
, class'KFGame.KFWeapDef_HRG_BarrierRifle'
, class'KFGame.KFWeapDef_HRG_Stunner'
, class'KFGame.KFWeapDef_SCAR'
)
@ -1182,7 +1182,7 @@ defaultproperties
class'KFGame.KFWeapDef_M32'
, class'KFGame.KFWeapDef_LazerCutter'
, class'KFGame.KFWeapDef_MicrowaveRifle'
, class'KFGame.KFWeapDef_HRG_BarrierRifle'
, class'KFGame.KFWeapDef_HRG_EMP_ArcGenerator'
)
}
)

View File

@ -539,7 +539,7 @@ End Object
IncapSettings(AF_Bleed)= (Vulnerability=(0.75)) //0.25
IncapSettings(AF_Shrink)= (Vulnerability=(1.0))
ShrinkEffectModifier = 0.2f
ShrinkEffectModifier = 0.1f
Begin Object Name=Afflictions_0
FireFullyCharredDuration=5

View File

@ -74,7 +74,7 @@ defaultproperties
IncapSettings(AF_Bleed)= (Vulnerability=(0.75))
IncapSettings(AF_Shrink)= (Vulnerability=(1.0))
ShrinkEffectModifier = 0.3f
ShrinkEffectModifier = 0.2f
ZEDCowboyHatAttachName=HEAD_Attach
}

View File

@ -286,7 +286,7 @@ defaultproperties
IncapSettings(AF_Bleed)= (Vulnerability=(0.75)) //0.5
IncapSettings(AF_Shrink)= (Vulnerability=(1.0)) // Normal Vulnerability
ShrinkEffectModifier = 0.2f
ShrinkEffectModifier = 0.1f
Begin Object Name=Afflictions_0
FireFullyCharredDuration=5

View File

@ -161,6 +161,7 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
local KFPawn KFP;
local KFPawn_Human KFPH;
local KFPlayerReplicationInfo KFPRI;
local TraceHitInfo HitInfo;
KFPH = KFPawn_Human(Other);
if ( KFPH != none && KFPH != Instigator)
@ -173,7 +174,7 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
return;
}
}
else if ( Other != Instigator && Other.bCanBeDamaged && (!Other.bWorldGeometry || !Other.bStatic) )
else if ( Other != Instigator && Other.bCanBeDamaged )
{
KFP = KFPawn( Other );
if ( KFP != None )
@ -191,7 +192,9 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
}
else
{
ProcessDestructibleTouchOnBounce( Other, HitLocation, HitNormal );
HitInfo.HitComponent = LastTouchComponent;
HitInfo.Item = INDEX_None; // force TraceComponent on fractured meshes
Other.TakeDamage(Damage, InstigatorController, HitLocation, MomentumTransfer * Normal(Velocity), MyDamageType, HitInfo, self);// special cases for types of destructibles, bShouldBreakSolidGlassOnBounce
return;
}
}

View File

@ -256,6 +256,7 @@ simulated event SetWeaponSkin(int ItemId, optional bool bFinishedLoading = false
}
SkinMICs = class'KFWeaponSkinList'.static.GetWeaponSkin(ItemId, WST_ThirdPerson);
if ( SkinMICs.Length > 0 )
{
WeapMesh.SetMaterial(0, SkinMICs[0]);

View File

@ -38,6 +38,8 @@ var repnotify float CurrentAmmoPercentage;
const TransitionParamName = 'transition_full_to_empty';
const EmptyParamName = 'Blinking_0_off___1_on';
var transient bool bDetonateLocked;
replication
{
if( bNetDirty )
@ -270,9 +272,14 @@ simulated function BeginFire( byte FireModeNum )
ClearPendingFire(DETONATE_FIREMODE);
}
if (FireModeNum == DETONATE_FIREMODE && NumDeployedTurrets > 0)
if (FireModeNum == DETONATE_FIREMODE )
{
if (bTurretReadyToUse)
if (bDetonateLocked)
{
return;
}
if (NumDeployedTurrets > 0 && bTurretReadyToUse)
{
PrepareAndDetonate();
}
@ -567,6 +574,55 @@ simulated function SetWeaponUpgradeLevel(int WeaponUpgradeLevel)
}
}
/**
* GRENADE FIRING
* There's a bug that alt fire interrupts the grenade anim at any moment,
* This avoids being able to altfire until the throw animation ends or the
* interrupt notify is reached.
*/
simulated state GrenadeFiring
{
simulated function EndState(Name NextStateName)
{
ClearDetonateLock();
Super.EndState(NextStateName);
}
}
/** Play animation at the start of the GrenadeFiring state */
simulated function PlayGrenadeThrow()
{
local name WeaponFireAnimName;
local float InterruptTime;
PlayFiringSound(CurrentFireMode);
if( Instigator != none && Instigator.IsFirstPerson() )
{
WeaponFireAnimName = GetGrenadeThrowAnim();
if ( WeaponFireAnimName != '' )
{
InterruptTime = MySkelMesh.GetAnimInterruptTime(WeaponFireAnimName);
PlayAnimation(WeaponFireAnimName, MySkelMesh.GetAnimLength(WeaponFireAnimName),,FireTweenTime);
bDetonateLocked = true;
SetTimer(InterruptTime, false, nameof(ClearDetonateLock));
}
}
}
simulated function ClearDetonateLock()
{
bDetonateLocked = false;
ClearTimer(nameof(ClearDetonateLock));
}
/***/
///////////////////////////////////////////////////////////////////////////////////////////
//
// Trader
@ -645,7 +701,7 @@ defaultproperties
InventorySize=3
DetonateAkEvent=AkEvent'ww_wep_autoturret.Play_WEP_AutoTurret_Detonate_Trigger'
DryFireAkEvent=AkEvent'ww_wep_autoturret.Play_WEP_AutoTurret_Dry_Fire'
// Weapon Upgrade stat boosts
//WeaponUpgrades[1]=(IncrementDamage=1.05f,IncrementWeight=1)
@ -662,4 +718,6 @@ defaultproperties
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.15f), (Stat=EWUS_Damage1, Scale=1.15f), (Stat=EWUS_Weight, Add=1)))
WeaponUpgrades[2]=(Stats=((Stat=EWUS_Damage0, Scale=1.3f), (Stat=EWUS_Damage1, Scale=1.3f), (Stat=EWUS_Weight, Add=2)))
NumBloodMapMaterials=3
bDetonateLocked=false
}

View File

@ -293,6 +293,18 @@ simulated function PlayFireEffects( byte FireModeNum, optional vector HitLocatio
}
}
/** True if we want to override the looping fire sounds with fire sounds from another firemode */
simulated function bool ShouldForceSingleFireSound()
{
// If this weapon has a single-shot firemode, disable looping fire sounds during zedtime
if ( `IsInZedTime(Instigator) && SingleFireSoundIndex != 255 )
{
return true;
}
return false;
}
defaultproperties
{
// Shooting Animations
@ -358,7 +370,7 @@ defaultproperties
WeaponProjectiles(DEFAULT_FIREMODE)=class'KFProj_Bullet_Pistol9mm'
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'KFDT_Ballistic_AutoTurret'
FireInterval(DEFAULT_FIREMODE)=+0.12 // 500 rpm
InstantHitDamage(DEFAULT_FIREMODE)=8
InstantHitDamage(DEFAULT_FIREMODE)=10
Spread(DEFAULT_FIREMODE)=0.01
FireOffset=(X=30,Y=4.5,Z=-4)
@ -372,6 +384,9 @@ defaultproperties
// Fire Effects
WeaponFireSnd(DEFAULT_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_Autoturret.Play_WEP_AutoTurret_Shot_LP_3P', FirstPersonCue=AkEvent'WW_WEP_Autoturret.Play_WEP_AutoTurret_Shot_LP_1P')
WeaponFireLoopEndSnd(DEFAULT_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_Autoturret.Play_WEP_AutoTurret_Shot_EndLP_3P', FirstPersonCue=AkEvent'WW_WEP_Autoturret.Play_WEP_AutoTurret_Shot_EndLP_1P')
WeaponFireSnd(ALTFIRE_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_Autoturret.Play_WEP_AutoTurret_Shoot_3P', FirstPersonCue=AkEvent'WW_WEP_Autoturret.Play_WEP_AutoTurret_Shoot_1P')
SingleFireSoundIndex=ALTFIRE_FIREMODE
bLoopingFireSnd(DEFAULT_FIREMODE)=true
bLoopingFireAnim(DEFAULT_FIREMODE)=true

View File

@ -247,7 +247,7 @@ simulated function DetachWeapon()
defaultproperties
{
AltAmmoFullRechargeSeconds=5
AltAmmoFullRechargeSeconds=3.5
// Inventory / Grouping
InventorySize=7

View File

@ -65,7 +65,7 @@ function AdjustDamage(out int InDamage, class<DamageType> DamageType, Actor Dama
defaultproperties
{
// Inventory
InventorySize=7
InventorySize=6
GroupPriority=70
WeaponSelectTexture=Texture2D'WEP_UI_HRG_Crossboom_TEX.UI_WeaponSelect_Crossboom'
AssociatedPerkClasses(0)=class'KFPerk_Demolitionist'