upload
This commit is contained in:
parent
df19937a54
commit
513c60070e
@ -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);
|
||||||
|
@ -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++)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
@ -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"
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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()
|
||||||
|
@ -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'
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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]);
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -247,7 +247,7 @@ simulated function DetachWeapon()
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
AltAmmoFullRechargeSeconds=5
|
AltAmmoFullRechargeSeconds=3.5
|
||||||
|
|
||||||
// Inventory / Grouping
|
// Inventory / Grouping
|
||||||
InventorySize=7
|
InventorySize=7
|
||||||
|
@ -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'
|
||||||
|
Loading…
Reference in New Issue
Block a user