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

View File

@ -184,14 +184,32 @@ function FillWhatsNew()
// Latest Update // Latest Update
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_TidalTerror", "LatestUpdate", "http://www.tripwireinteractive.com/redirect/KF2LatestUpdate/"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_TidalTerror", "LatestUpdate", "http://www.tripwireinteractive.com/redirect/KF2LatestUpdate/");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);
// Featured Ultimate Edition
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_UltimateEdition_Upgrade", "FeaturedItemBundle", "https://store.steampowered.com/app/1914560/KF2__Ultimate_Edition_Upgrade_DLC/");
WhatsNewItems.AddItem(item);
// KF2 Armory Season Pass 2022 // KF2 Armory Season Pass 2022
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_ArmorySeasonPassII", "ArmorySeasonPass", "https://store.steampowered.com/app/1914490/KF2__Season_Pass_2022"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_ArmorySeasonPassII", "ArmorySeasonPass", "https://store.steampowered.com/app/1914490/KF2__Season_Pass_2022");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);
// KF2 Armory Season Pass 2021
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Spring_Armory_Season_Pass", "ArmorySeasonPass", "https://store.steampowered.com/app/1524820/Killing_Floor_2__Armory_Season_Pass");
WhatsNewItems.AddItem(item);
// Featured Weapon Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Weaponsbundle", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9369");
WhatsNewItems.AddItem(item);
// Featured Weapon
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_ReductoRay", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9367");
WhatsNewItems.AddItem(item);
// Featured Weapon
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Sentinel","FeaturedItemBundle","https://store.steampowered.com/buyitem/232090/9368");
WhatsNewItems.AddItem(item);
// Featured Outfit Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_DeepSea_Explorer_Uniforms", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9366");
WhatsNewItems.AddItem(item);
// Featured Time Limited Item // Featured Time Limited Item
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_SS_PremiumTicket", "FeaturedEventItem", "https://store.steampowered.com/buyitem/232090/4928"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_SS_PremiumTicket", "FeaturedEventItem", "https://store.steampowered.com/buyitem/232090/4928");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);
// Featured Full Gear // Featured Weapon Skin Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_UltimateEdition", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9283"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_DeepSea_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9364");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);
// Featured Weapon Skin Bundle // Featured Weapon Skin Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_NeonMKVIII_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9362"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_NeonMKVIII_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9362");
@ -199,24 +217,9 @@ function FillWhatsNew()
// Featured Weapon Skin Bundle // Featured Weapon Skin Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Classic_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9363"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Classic_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9363");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);
// Featured Weapon Skin Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_DeepSea_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9364");
WhatsNewItems.AddItem(item);
// Featured Weapon Skin Bundle // Featured Weapon Skin Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Chameleon_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9365"); item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Chameleon_Weapon_Skin", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9365");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);
// Featured Outfit Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_DeepSea_Explorer_Uniforms", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9366");
WhatsNewItems.AddItem(item);
// Featured Weapon
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_ReductoRay", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9367");
WhatsNewItems.AddItem(item);
// Featured Weapon
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Sentinel","FeaturedItemBundle","https://store.steampowered.com/buyitem/232090/9368");
WhatsNewItems.AddItem(item);
// Featured Weapon Bundle
item = SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_Summer2022_Weaponsbundle", "FeaturedItemBundle", "https://store.steampowered.com/buyitem/232090/9369");
WhatsNewItems.AddItem(item);
// Misc Community Links // Misc Community Links
item=SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_CommunityHub", "Jaegorhorn", "https://steamcommunity.com/app/232090"); item=SetWhatsNewItem("img://UI_WhatsNew.UI_WhatsNew_CommunityHub", "Jaegorhorn", "https://steamcommunity.com/app/232090");
WhatsNewItems.AddItem(item); WhatsNewItems.AddItem(item);

View File

@ -207,7 +207,7 @@ function SendItems(const out Array<ItemProperties> StoreItemArray)
} }
else if (CurrentStoreFilter == EStore_Featured) else if (CurrentStoreFilter == EStore_Featured)
{ {
if (class'WorldInfo'.static.IsConsoleBuild()) if (class'WorldInfo'.static.IsConsoleBuild() || class'WorldInfo'.static.IsEOSBuild())
{ {
for (j = 0; j < ConsoleFeaturedItemIDs.length; j++) for (j = 0; j < ConsoleFeaturedItemIDs.length; j++)
{ {

View File

@ -64,7 +64,6 @@ function bool PopulateData()
DataObject.SetString("label", WeeklyInfo.FriendlyName); DataObject.SetString("label", WeeklyInfo.FriendlyName);
if(WeeklyInfo.ModifierDescriptions.length > 0) if(WeeklyInfo.ModifierDescriptions.length > 0)
{ {
`Log("SETTING DESCRIPTION: " $WeeklyInfo.DescriptionStrings[0]);
DataObject.SetString("description", WeeklyInfo.DescriptionStrings[0]); DataObject.SetString("description", WeeklyInfo.DescriptionStrings[0]);
} }
DataObject.SetString("iconPath", "img://"$WeeklyInfo.IconPath); DataObject.SetString("iconPath", "img://"$WeeklyInfo.IconPath);

View File

@ -2268,6 +2268,12 @@ simulated function NotifyWeeklyEventIndex(int EventIndex)
bNetDirty = true; bNetDirty = true;
} }
simulated function bool IsGunGameMode()
{
return bIsWeeklyMode && CurrentWeeklyIndex == 16;
}
defaultproperties defaultproperties
{ {
TraderItemsPath="GP_Trader_ARCH.DefaultTraderItems" TraderItemsPath="GP_Trader_ARCH.DefaultTraderItems"

View File

@ -500,7 +500,7 @@ function bool ClassNameIsInInventory(name ItemClassName, out Inventory out_Inven
*/ */
simulated function Weapon GetBestWeapon( optional bool bForceADifferentWeapon, optional bool allow9mm ) simulated function Weapon GetBestWeapon( optional bool bForceADifferentWeapon, optional bool allow9mm )
{ {
local KFWeapon W, BestWeapon; local KFWeapon W, BestWeapon, BackupGun;
local float Rating, BestRating; local float Rating, BestRating;
ForEach InventoryActors( class'KFWeapon', W ) ForEach InventoryActors( class'KFWeapon', W )
@ -521,6 +521,7 @@ simulated function Weapon GetBestWeapon( optional bool bForceADifferentWeapon, o
{ {
if (W.bIsBackupWeapon && !W.IsMeleeWeapon()) if (W.bIsBackupWeapon && !W.IsMeleeWeapon())
{ {
BackupGun = W;
continue; continue;
} }
} }
@ -554,6 +555,11 @@ simulated function Weapon GetBestWeapon( optional bool bForceADifferentWeapon, o
} }
} }
if (BestWeapon != none && BestWeapon.bIsBackupWeapon && BestWeapon.IsMeleeWeapon() && BackupGun != none)
{
BestWeapon = BackupGun;
}
return BestWeapon; return BestWeapon;
} }

View File

@ -51,23 +51,22 @@ replication
function bool CanUsePickup() function bool CanUsePickup()
{ {
local KFGameInfo KFGI;
local int i; local int i;
local bool has_armour; local bool has_armour;
local KFGameReplicationInfo KFGRI;
KFGI = KFGameInfo( WorldInfo.Game ); KFGRI = KFGameReplicationInfo( WorldInfo.GRI );
if (KFGI != none && KFGI.OutbreakEvent != none) if (KFGRI != none && KFGRI.IsGunGameMode())
{ {
if (KFGI.OutbreakEvent.ActiveEvent.bOnlyArmorItemPickup) has_armour = false;
for (i = 0 ; i < ItemPickups.Length ; i++)
{ {
for (i = 0 ; i < ItemPickups.Length ; i++) if (ItemPickups[i].ItemClass.Name == ArmorClassName)
{ {
if (ItemPickups[i].ItemClass.Name == ArmorClassName) has_armour = true;
{ break;
has_armour = true;
break;
}
} }
} }
@ -182,23 +181,23 @@ function int ChooseWeaponPickup()
local int i, DesiredItemIdx; local int i, DesiredItemIdx;
local float Weight, TotalWeight, RandomWeight; local float Weight, TotalWeight, RandomWeight;
local array<int> IndexList; local array<int> IndexList;
local KFGameInfo KFGI; local KFGameReplicationInfo KFGRI;
KFGI = KFGameInfo(WorldInfo.Game); KFGRI = KFGameReplicationInfo( WorldInfo.GRI );
DesiredItemIdx = 255; if (KFGRI != none && KFGRI.IsGunGameMode())
{
DesiredItemIdx = 255;
}
// Add up the total weight for all valid attacks // Add up the total weight for all valid attacks
for(i = 0; i < ItemPickups.Length; i++) for(i = 0; i < ItemPickups.Length; i++)
{ {
if (KFGI != none && KFGI.OutbreakEvent != none) if (KFGRI != none && KFGRI.IsGunGameMode())
{ {
if (KFGI.OutbreakEvent.ActiveEvent.bOnlyArmorItemPickup) if (ItemPickups[i].ItemClass.Name != 'KFInventory_Armor')
{ {
if (ItemPickups[i].ItemClass.Name != 'KFInventory_Armor') continue;
{
continue;
}
} }
} }
@ -240,23 +239,20 @@ simulated native function GetPickupMesh(class<KFWeapon> ItemClass);
/** Use the pickups static mesh for this factory */ /** Use the pickups static mesh for this factory */
simulated function SetPickupMesh() simulated function SetPickupMesh()
{ {
local KFGameInfo KFGI; local KFGameReplicationInfo KFGRI;
if (PickupIndex >= ItemPickups.Length) if (PickupIndex >= ItemPickups.Length)
{ {
return; return;
} }
KFGI = KFGameInfo(WorldInfo.Game); KFGRI = KFGameReplicationInfo( WorldInfo.GRI );
if (KFGI != none && KFGI.OutbreakEvent != none) if (KFGRI != none && KFGRI.IsGunGameMode())
{ {
if (KFGI.OutbreakEvent.ActiveEvent.bOnlyArmorItemPickup) if (ItemPickups[PickupIndex].ItemClass.Name != ArmorClassName)
{ {
if (ItemPickups[PickupIndex].ItemClass.Name != ArmorClassName) return;
{
return;
}
} }
} }
@ -367,17 +363,16 @@ function GiveWeapon( Pawn P )
function ActivateNewPickup(Pawn P) function ActivateNewPickup(Pawn P)
{ {
local KFGameInfo KFGI; local KFGameInfo KFGI;
local KFGameReplicationInfo KFGRI;
KFGI = KFGameInfo( WorldInfo.Game ); KFGRI = KFGameReplicationInfo( WorldInfo.GRI );
KFGI = KFGameInfo(WorldInfo.Game);
if (KFGI != none && KFGI.OutbreakEvent != none)
if (KFGRI != none && KFGRI.IsGunGameMode())
{ {
if (KFGI.OutbreakEvent.ActiveEvent.bOnlyArmorItemPickup) if (ItemPickups[PickupIndex].ItemClass.Name != ArmorClassName)
{ {
if (ItemPickups[PickupIndex].ItemClass.Name != ArmorClassName) return;
{
return;
}
} }
} }

View File

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

View File

@ -438,7 +438,7 @@ defaultproperties
GoompaStreakMax = 5, GoompaStreakMax = 5,
GoompaBonusDuration=8.0f, //10.0f, GoompaBonusDuration=8.0f, //10.0f,
DoshOnKillGlobalModifier=1.0, DoshOnKillGlobalModifier=1.0,
SpawnWeaponList=KFGFxObject_TraderItems'GP_Trader_ARCH.AracnophobiaWeeklySpawnList', //SpawnWeaponList=KFGFxObject_TraderItems'GP_Trader_ARCH.AracnophobiaWeeklySpawnList',
bAddSpawnListToLoadout=true, bAddSpawnListToLoadout=true,
WaveAICountScale=(0.6, 0.6, 0.6, 0.6, 0.6, 0.6), 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. JumpZ=700.f, // 650.0 by default; -1 used for not overriding.
@ -1130,7 +1130,7 @@ defaultproperties
, GrantedWeapons= { , GrantedWeapons= {
( (
class'KFGame.KFWeapDef_MedicRifle' class'KFGame.KFWeapDef_MedicRifle'
, class'KFGame.KFWeapDef_HRG_EMP_ArcGenerator' , class'KFGame.KFWeapDef_HRG_BarrierRifle'
, class'KFGame.KFWeapDef_HRG_Stunner' , class'KFGame.KFWeapDef_HRG_Stunner'
, class'KFGame.KFWeapDef_SCAR' , class'KFGame.KFWeapDef_SCAR'
) )
@ -1182,7 +1182,7 @@ defaultproperties
class'KFGame.KFWeapDef_M32' class'KFGame.KFWeapDef_M32'
, class'KFGame.KFWeapDef_LazerCutter' , class'KFGame.KFWeapDef_LazerCutter'
, class'KFGame.KFWeapDef_MicrowaveRifle' , 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_Bleed)= (Vulnerability=(0.75)) //0.25
IncapSettings(AF_Shrink)= (Vulnerability=(1.0)) IncapSettings(AF_Shrink)= (Vulnerability=(1.0))
ShrinkEffectModifier = 0.2f ShrinkEffectModifier = 0.1f
Begin Object Name=Afflictions_0 Begin Object Name=Afflictions_0
FireFullyCharredDuration=5 FireFullyCharredDuration=5

View File

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

View File

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

View File

@ -161,6 +161,7 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
local KFPawn KFP; local KFPawn KFP;
local KFPawn_Human KFPH; local KFPawn_Human KFPH;
local KFPlayerReplicationInfo KFPRI; local KFPlayerReplicationInfo KFPRI;
local TraceHitInfo HitInfo;
KFPH = KFPawn_Human(Other); KFPH = KFPawn_Human(Other);
if ( KFPH != none && KFPH != Instigator) if ( KFPH != none && KFPH != Instigator)
@ -173,7 +174,7 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
return; return;
} }
} }
else if ( Other != Instigator && Other.bCanBeDamaged && (!Other.bWorldGeometry || !Other.bStatic) ) else if ( Other != Instigator && Other.bCanBeDamaged )
{ {
KFP = KFPawn( Other ); KFP = KFPawn( Other );
if ( KFP != None ) if ( KFP != None )
@ -191,7 +192,9 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
} }
else 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; return;
} }
} }

View File

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

View File

@ -38,6 +38,8 @@ var repnotify float CurrentAmmoPercentage;
const TransitionParamName = 'transition_full_to_empty'; const TransitionParamName = 'transition_full_to_empty';
const EmptyParamName = 'Blinking_0_off___1_on'; const EmptyParamName = 'Blinking_0_off___1_on';
var transient bool bDetonateLocked;
replication replication
{ {
if( bNetDirty ) if( bNetDirty )
@ -270,9 +272,14 @@ simulated function BeginFire( byte FireModeNum )
ClearPendingFire(DETONATE_FIREMODE); ClearPendingFire(DETONATE_FIREMODE);
} }
if (FireModeNum == DETONATE_FIREMODE && NumDeployedTurrets > 0) if (FireModeNum == DETONATE_FIREMODE )
{ {
if (bTurretReadyToUse) if (bDetonateLocked)
{
return;
}
if (NumDeployedTurrets > 0 && bTurretReadyToUse)
{ {
PrepareAndDetonate(); 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 // Trader
@ -645,7 +701,7 @@ defaultproperties
InventorySize=3 InventorySize=3
DetonateAkEvent=AkEvent'ww_wep_autoturret.Play_WEP_AutoTurret_Detonate_Trigger' DetonateAkEvent=AkEvent'ww_wep_autoturret.Play_WEP_AutoTurret_Detonate_Trigger'
DryFireAkEvent=AkEvent'ww_wep_autoturret.Play_WEP_AutoTurret_Dry_Fire'
// Weapon Upgrade stat boosts // Weapon Upgrade stat boosts
//WeaponUpgrades[1]=(IncrementDamage=1.05f,IncrementWeight=1) //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[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))) WeaponUpgrades[2]=(Stats=((Stat=EWUS_Damage0, Scale=1.3f), (Stat=EWUS_Damage1, Scale=1.3f), (Stat=EWUS_Weight, Add=2)))
NumBloodMapMaterials=3 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 defaultproperties
{ {
// Shooting Animations // Shooting Animations
@ -358,7 +370,7 @@ defaultproperties
WeaponProjectiles(DEFAULT_FIREMODE)=class'KFProj_Bullet_Pistol9mm' WeaponProjectiles(DEFAULT_FIREMODE)=class'KFProj_Bullet_Pistol9mm'
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'KFDT_Ballistic_AutoTurret' InstantHitDamageTypes(DEFAULT_FIREMODE)=class'KFDT_Ballistic_AutoTurret'
FireInterval(DEFAULT_FIREMODE)=+0.12 // 500 rpm FireInterval(DEFAULT_FIREMODE)=+0.12 // 500 rpm
InstantHitDamage(DEFAULT_FIREMODE)=8 InstantHitDamage(DEFAULT_FIREMODE)=10
Spread(DEFAULT_FIREMODE)=0.01 Spread(DEFAULT_FIREMODE)=0.01
FireOffset=(X=30,Y=4.5,Z=-4) FireOffset=(X=30,Y=4.5,Z=-4)
@ -372,6 +384,9 @@ defaultproperties
// Fire Effects // 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') 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') 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 bLoopingFireSnd(DEFAULT_FIREMODE)=true
bLoopingFireAnim(DEFAULT_FIREMODE)=true bLoopingFireAnim(DEFAULT_FIREMODE)=true

View File

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

View File

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