upload
This commit is contained in:
parent
28f1e3c001
commit
7977e0103d
@ -1558,6 +1558,7 @@ struct native ExchangeRuleSets
|
||||
var array<ExchangeRuleSets> ExchangeRuleSetList;
|
||||
|
||||
native function OpenMarketPlaceSearch(ItemProperties Item);
|
||||
native function OpenMarketPlaceSearchBySignedOfferId(string SignedOfferId);
|
||||
native function OpenItemPurchaseOverlay(int SKU);
|
||||
native function OpenURL(string WebsiteLink);
|
||||
native function OpenGameStorePage();
|
||||
|
@ -2596,17 +2596,10 @@ event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector
|
||||
Killer = SetKillInstigator(InstigatedBy, DamageType);
|
||||
TearOffMomentum = momentum;
|
||||
Died(Killer, damageType, HitLocation);
|
||||
|
||||
// using the passed in damage type instead of the hitfxinfo since that doesn't get updated when zero damage is done
|
||||
HandleAfflictionsOnHit(InstigatedBy, Normal(Momentum), DamageType, DamageCauser);
|
||||
}
|
||||
else
|
||||
{
|
||||
HandleMomentum( momentum, HitLocation, DamageType, HitInfo );
|
||||
|
||||
// using the passed in damage type instead of the hitfxinfo since that doesn't get updated when zero damage is done
|
||||
HandleAfflictionsOnHit(InstigatedBy, Normal(Momentum), DamageType, DamageCauser);
|
||||
|
||||
NotifyTakeHit(InstigatedBy, HitLocation, ActualDamage, DamageType, Momentum, DamageCauser);
|
||||
if (DrivenVehicle != None)
|
||||
{
|
||||
@ -2626,8 +2619,6 @@ event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector
|
||||
`endif
|
||||
}
|
||||
|
||||
function HandleAfflictionsOnHit(Controller DamageInstigator, vector HitDir, class<DamageType> DamageType, Actor DamageCauser);
|
||||
|
||||
/*
|
||||
* Queries the PRI and returns our current team index.
|
||||
*/
|
||||
|
@ -19,6 +19,13 @@ struct SWhatsNew
|
||||
var string TextField;
|
||||
var string RedirectURL;
|
||||
var string PSNProductId;
|
||||
/** Used for those entitlements which does not have a "linked" Playfab item (like Armory Season Pass 2021)*/
|
||||
var bool bPlayfabItemPairedUp;
|
||||
|
||||
structdefaultproperties
|
||||
{
|
||||
bPlayfabItemPairedUp=true
|
||||
}
|
||||
};
|
||||
|
||||
var array<SWhatsNew> WhatsNewItems;
|
||||
|
@ -219,7 +219,7 @@ native static function InitEventContent();
|
||||
native static function RefreshEventContent();
|
||||
|
||||
// make sure our current tweak values are up-to-date with global
|
||||
native static function RefreshOnlineGameData();
|
||||
native static function RefreshOnlineGameData(bool RefreshTimeEvent = true);
|
||||
native static function ApplyTweaks(string MapName);
|
||||
native static function bool IsLastRefreshTweakParamsSuccessful();
|
||||
|
||||
|
@ -775,7 +775,7 @@ simulated function EndGame()
|
||||
bMatchHasBegun = false;
|
||||
bMatchIsOver = true;
|
||||
|
||||
class'KFGameEngine'.static.RefreshOnlineGameData();
|
||||
class'KFGameEngine'.static.RefreshOnlineGameData(false);
|
||||
}
|
||||
|
||||
/* Welcome screen shenanigans */
|
||||
|
@ -764,8 +764,21 @@ function Callback_OnWhatsNewClicked(int Index, string URL)
|
||||
Manager.OnBuyGamePressed();
|
||||
return;
|
||||
}
|
||||
//We skip looking in the catalog for the linked Playfab item to this entitlement. We open up directly the store
|
||||
if ( !FindGameContainer.PS4ActiveWhatsNewItems[Index].bPlayfabItemPairedUp )
|
||||
{
|
||||
`log(`location@" Product ID: "@FindGameContainer.PS4ActiveWhatsNewItems[Index].PSNProductId@" does not have a playfab item paired up. Opening up directly store.");
|
||||
if( class'WorldInfo'.static.IsConsoleBuild( CONSOLE_Orbis ) )
|
||||
{
|
||||
OnlineSub.OpenMarketPlaceSearchBySignedOfferId( FindGameContainer.PS4ActiveWhatsNewItems[Index].PSNProductId );
|
||||
}
|
||||
else
|
||||
{
|
||||
OnlineSub.PlayerInterfaceEx.ShowProductDetailsUI( GetLP().ControllerId, FindGameContainer.PS4ActiveWhatsNewItems[Index].PSNProductId );
|
||||
}
|
||||
}
|
||||
// If this is attached to a PSN product ID, we need to look up the signed offer Id
|
||||
if( FindGameContainer.PS4ActiveWhatsNewItems[Index].PSNProductId != "" )
|
||||
else if( FindGameContainer.PS4ActiveWhatsNewItems[Index].PSNProductId != "" )
|
||||
{
|
||||
for( i = 0; i < OnlineSub.ItemPropertiesList.Length; i++ )
|
||||
{
|
||||
@ -1918,9 +1931,9 @@ defaultproperties
|
||||
SubWidgetBindings.Add((WidgetName ="newsPage",WidgetClass=class'KFGFxStartContainer_NewsImageHolder'))
|
||||
|
||||
|
||||
WhatsNewPS="http://www.killingfloor2.com/psnews"
|
||||
WhatsNewMS="http://www.killingfloor2.com/xboxnews"
|
||||
WhatsNewSteam="http://www.killingfloor2.com/pcnews"
|
||||
WhatsNewPS="https://www.killingfloor2.com/psnews"
|
||||
WhatsNewMS="https://www.killingfloor2.com/xboxnews"
|
||||
WhatsNewSteam="https://www.killingfloor2.com/pcnews"
|
||||
}
|
||||
|
||||
|
||||
|
@ -2672,6 +2672,9 @@ event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector
|
||||
OldHealth = Health;
|
||||
Super.TakeDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType, HitInfo, DamageCauser);
|
||||
|
||||
// using the passed in damage type instead of the hitfxinfo since that doesn't get updated when zero damage is done
|
||||
HandleAfflictionsOnHit(InstigatedBy, Normal(Momentum), class<KFDamageType>(DamageType), DamageCauser);
|
||||
|
||||
ActualDamage = OldHealth - Health;
|
||||
if( ActualDamage > 0 )
|
||||
{
|
||||
@ -3996,12 +3999,12 @@ simulated function KFSkinTypeEffects GetHitZoneSkinTypeEffects( int HitZoneIdx )
|
||||
*/
|
||||
simulated function AdjustAffliction(out float AfflictionPower);
|
||||
|
||||
function HandleAfflictionsOnHit(Controller DamageInstigator, vector HitDir, class<DamageType> DamageType, Actor DamageCauser)
|
||||
function HandleAfflictionsOnHit(Controller DamageInstigator, vector HitDir, class<KFDamageType> DamageType, Actor DamageCauser)
|
||||
{
|
||||
//Handle afflictions
|
||||
if (AfflictionHandler != None)
|
||||
{
|
||||
AfflictionHandler.NotifyTakeHit(DamageInstigator, HitDir, class<KFDamageType>(DamageType), DamageCauser);
|
||||
AfflictionHandler.NotifyTakeHit(DamageInstigator, HitDir, DamageType, DamageCauser);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1287,14 +1287,14 @@ function AdjustDamage(out int InDamage, out vector Momentum, Controller Instigat
|
||||
|
||||
event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector Momentum, class<DamageType> DamageType, optional TraceHitInfo HitInfo, optional Actor DamageCauser)
|
||||
{
|
||||
local int ActualDamageTaken, OldHealth;
|
||||
local int ActualDamageTaken, OldHealth, OldArmor;
|
||||
//local KFGameInfo KFGI;
|
||||
local KFGameReplicationInfo KFGRI;
|
||||
local KFPlayerReplicationInfo KFPRI;
|
||||
local KFAIController_ZedBoss InstigatedByBoss;
|
||||
|
||||
OldHealth = Health;
|
||||
|
||||
OldArmor = Armor;
|
||||
`log(GetFuncName()@"Damage BEFORE ="$Damage$" DamageType: "$DamageType$" DamageCauser: "$DamageCauser, bLogTakeDamage);
|
||||
|
||||
Super.TakeDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType, HitInfo, DamageCauser);
|
||||
@ -1303,7 +1303,12 @@ event TakeDamage(int Damage, Controller InstigatedBy, vector HitLocation, vector
|
||||
`log(GetFuncName()@"Damage AFTER ="$ActualDamageTaken$" DamageType: "$DamageType$" DamageCauser: "$DamageCauser, bLogTakeDamage);
|
||||
|
||||
KFGRI = KFGameReplicationInfo(KFGameInfo(WorldInfo.Game).GameReplicationInfo);
|
||||
if( Damage > 0 && IsAliveAndWell() && !KFGRI.bTraderIsOpen )
|
||||
|
||||
`Log("ARMOR OLD: " $ OldArmor);
|
||||
`Log("ARMOR NEW: " $ Armor);
|
||||
`Log("ARMOR diff: " $ OldArmor - Armor);
|
||||
|
||||
if( (ActualDamageTaken > 0 || OldArmor - Armor > 0) && IsAliveAndWell() && !KFGRI.bTraderIsOpen )
|
||||
{
|
||||
KFPlayerController(Controller).NotifyHitTaken();
|
||||
}
|
||||
|
@ -189,17 +189,6 @@ var float HeadshotAccuracyHandicap;
|
||||
|
||||
var array<string> PrestigeRewardItemIconPaths;
|
||||
|
||||
/*********************************************************************************************
|
||||
* Transient vars
|
||||
********************************************************************************************* */
|
||||
/**
|
||||
Indicates if the last hit was a headshot.
|
||||
This is added for the crossbow to apply the stun on enemies only if hit in the head.
|
||||
Afflictions are calculated after adjusting the damage, so the bone is not necessary
|
||||
indicating a headshot anymore.
|
||||
*/
|
||||
var transient bool bWasLastHitAHeadshot;
|
||||
|
||||
/*********************************************************************************************
|
||||
* Caching
|
||||
********************************************************************************************* */
|
||||
@ -1100,7 +1089,8 @@ simulated function ModifySprintSpeed( out float Speed ){ ModifySpeed( Speed ); }
|
||||
function FinalizeSpeedVariables();
|
||||
/** Kickback - recaoil bonus */
|
||||
simulated function ModifyRecoil( out float CurrentRecoilModifier, KFWeapon KFW );
|
||||
/** Allows to modify the damage taken */
|
||||
/** Allow perk to adjust damage given */
|
||||
function ModifyDamageGiven( out int InDamage, optional Actor DamageCauser, optional KFPawn_Monster MyKFPM, optional KFPlayerController DamageInstigator, optional class<KFDamageType> DamageType, optional int HitZoneIdx );
|
||||
function ModifyDamageTaken( out int InDamage, optional class<DamageType> DamageType, optional Controller InstigatedBy );
|
||||
/** Ammunition capacity and mag count increased */
|
||||
simulated function ModifyMagSizeAndNumber( KFWeapon KFW, out int MagazineCapacity, optional array< Class<KFPerk> > WeaponPerkClass, optional bool bSecondary=false, optional name WeaponClassname );
|
||||
@ -1400,12 +1390,6 @@ simulated function class<KFWeaponDefinition> GetGrenadeWeaponDef()
|
||||
return default.GrenadeWeaponDef;
|
||||
}
|
||||
|
||||
/** Allow perk to adjust damage given */
|
||||
function ModifyDamageGiven( out int InDamage, optional Actor DamageCauser, optional KFPawn_Monster MyKFPM, optional KFPlayerController DamageInstigator, optional class<KFDamageType> DamageType, optional int HitZoneIdx )
|
||||
{
|
||||
bWasLastHitAHeadshot = MyKFPM != none && HitZoneIdx == HZI_HEAD;
|
||||
}
|
||||
|
||||
/*********************************************************************************************
|
||||
* @name Debug
|
||||
********************************************************************************************* */
|
||||
@ -1519,6 +1503,4 @@ DefaultProperties
|
||||
AssistDoshModifier=1.f
|
||||
|
||||
PrestigeRewardItemIconPaths[0]="Xmas_UI.UI_Objectives_Xmas_Krampus"
|
||||
|
||||
bWasLastHitAHeadshot=false
|
||||
}
|
||||
|
@ -145,8 +145,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon MyKFWeapon;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
|
||||
if( DamageCauser != none )
|
||||
|
@ -75,8 +75,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
|
||||
if( DamageCauser != none )
|
||||
|
@ -127,8 +127,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
if( DamageType != none && IsDamageIgnoredDT( DamageType ) )
|
||||
{
|
||||
return;
|
||||
|
@ -298,8 +298,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
|
||||
if( DamageCauser != none )
|
||||
@ -648,7 +646,7 @@ DefaultProperties
|
||||
PerkBuildStatID=STATID_Medic_Build
|
||||
|
||||
SelfHealingSurgePct=0.1f
|
||||
MaxSurvivalistResistance=0.70f //0.5f //0.8
|
||||
MaxSurvivalistResistance=0.60f //0.70f //0.5f //0.8
|
||||
CombatantSpeedModifier=0.1f
|
||||
|
||||
MaxHealingSpeedBoost=30 //15 //50
|
||||
|
@ -82,8 +82,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
|
||||
if( DamageCauser != none )
|
||||
|
@ -133,8 +133,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
if( DamageCauser != none )
|
||||
{
|
||||
|
@ -50,6 +50,8 @@ var private const array<Name> AdditionalOnPerkDTNames;
|
||||
/** The % chance that zed time will be activated when damage is done when the Zed Time perk skills are active */
|
||||
var float SkillZedTimeChance;
|
||||
|
||||
var private transient bool bWasHeadshot;
|
||||
|
||||
/*********************************************************************************************
|
||||
* @name Stats/XP
|
||||
********************************************************************************************* */
|
||||
@ -125,8 +127,7 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
bWasHeadshot = false;
|
||||
TempDamage = InDamage;
|
||||
|
||||
if( DamageCauser != none )
|
||||
@ -138,6 +139,8 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
{
|
||||
if( MyKFPM != none && HitZoneIdx == HZI_HEAD )
|
||||
{
|
||||
bWasHeadshot = true;
|
||||
|
||||
`QALog( "(Headshot), damage mod=" $GetPassiveValue( HeadshotDamage, CurrentLevel ), bLogPerk );
|
||||
TempDamage += InDamage * GetPassiveValue( HeadshotDamage, CurrentLevel );
|
||||
|
||||
@ -343,7 +346,9 @@ function bool IsStunGuaranteed( optional class<DamageType> DamageType, optional
|
||||
{
|
||||
if( IsDamageTypeOnPerk(class<KFDamageType>(DamageType)) && GetZTStunActive())
|
||||
{
|
||||
return bWasLastHitAHeadshot;
|
||||
// At this point, HitZoneIdx is already modified to point to the armor rather the pawn's body part.
|
||||
// Caching in ModifyDamageGiven if it was a headshot will be based on the original bone index.
|
||||
return bWasHeadshot;
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -725,4 +730,6 @@ DefaultProperties
|
||||
CameraViewShakeScale=0.5
|
||||
AutoBuyLoadOutPath=(class'KFWeapDef_Winchester1894', class'KFWeapDef_Crossbow', class'KFWeapDef_M14EBR', class'KFWeapDef_RailGun', class'KFWeapDef_M99')
|
||||
AssistDoshModifier=1.1f
|
||||
|
||||
bWasHeadshot = false;
|
||||
}
|
||||
|
@ -155,8 +155,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
`QALog( GetFuncName() @ "BaseDamage =" @ InDamage, bLogPerk );
|
||||
|
||||
|
@ -142,8 +142,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
TempDamage += InDamage * GetPassiveValue( WeaponDamage, CurrentLevel );
|
||||
|
||||
|
@ -268,8 +268,6 @@ simulated function ModifyDamageGiven( out int InDamage, optional Actor DamageCau
|
||||
local KFWeapon KFW;
|
||||
local float TempDamage;
|
||||
|
||||
super.ModifyDamageGiven(InDamage, DamageCauser, MyKFPM, DamageInstigator, DamageType, HitZoneIdx);
|
||||
|
||||
TempDamage = InDamage;
|
||||
|
||||
if( DamageCauser != none )
|
||||
|
@ -26,17 +26,17 @@ defaultproperties
|
||||
{
|
||||
OverrideImpactEffect=ParticleSystem'WEP_HRG_SonicGun_EMIT.FX_SonicGun_Impact_AltFire'
|
||||
OverrideImpactSound=AkEvent'WW_WEP_HRG_SonicGun.Play_WEP_HRG_SonicGun_Hit_Surface'
|
||||
ArmorDamageModifier=1.5f
|
||||
ArmorDamageModifier=1.0f
|
||||
|
||||
KDamageImpulse=0
|
||||
KDeathUpKick=0
|
||||
KDeathVel=0
|
||||
KDamageImpulse=1750 //0
|
||||
KDeathUpKick=400 //0
|
||||
KDeathVel=325 //0
|
||||
RadialDamageImpulse=5000
|
||||
bExtraMomentumZ=True
|
||||
|
||||
StumblePower=250
|
||||
GunHitPower=120
|
||||
MicrowavePower=25
|
||||
MicrowavePower=0 //25
|
||||
bHasToSpawnMicrowaveFire=false
|
||||
|
||||
EffectGroup=FXG_MicrowaveBlast
|
||||
|
@ -35,7 +35,7 @@ defaultproperties
|
||||
|
||||
StumblePower=0
|
||||
GunHitPower=30
|
||||
MicrowavePower=75
|
||||
MicrowavePower=50 //75
|
||||
bHasToSpawnMicrowaveFire=false
|
||||
|
||||
EffectGroup=FXG_MicrowaveBlast
|
||||
|
@ -11,17 +11,16 @@ class KFDT_Piercing_Crossbow extends KFDT_Piercing
|
||||
abstract
|
||||
hidedropdown;
|
||||
|
||||
var float HeadStunPower;
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
KDamageImpulse=1500
|
||||
KDeathUpKick=250
|
||||
KDeathVel=150
|
||||
|
||||
|
||||
|
||||
KnockdownPower=20
|
||||
HeadStunPower=1000 // Stun ensured when hit in the head
|
||||
StunPower=30 // Stun used otherwise
|
||||
StunPower=101 //90
|
||||
StumblePower=250
|
||||
GunHitPower=100
|
||||
MeleeHitPower=40
|
||||
|
@ -170,6 +170,11 @@ function bool TrySetNextWaveSpecial()
|
||||
|
||||
function WaveEnded(EWaveEndCondition WinCondition)
|
||||
{
|
||||
if(!bWaveStarted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
WaveMax = WaveNum + 2;
|
||||
MyKFGRI.WaveMax = WaveMax;
|
||||
|
||||
|
@ -1117,7 +1117,7 @@ function WaveEnded(EWaveEndCondition WinCondition)
|
||||
local int i;
|
||||
local KFPlayerController KFPC;
|
||||
|
||||
if(!bWaveStarted)
|
||||
if(!bWaveStarted && !MyKFGRI.bTraderIsOpen)
|
||||
return;
|
||||
|
||||
if (WorldInfo.NetMode == NM_DedicatedServer)
|
||||
|
@ -351,7 +351,8 @@ defaultproperties
|
||||
(ClassToAdjust=class'KFGameContent.KFPawn_ZedDAR_Rocket',HealByKill=10,HealByAssistance=7, InitialGroundSpeedModifierScale=1.20),
|
||||
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealByKill=50,HealByAssistance=35, InitialGroundSpeedModifierScale=1.20),
|
||||
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealByKill=60,HealByAssistance=42, InitialGroundSpeedModifierScale=1.20),
|
||||
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealByKill=36,HealByAssistance=25, InitialGroundSpeedModifierScale=1.20)
|
||||
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealByKill=36,HealByAssistance=25, InitialGroundSpeedModifierScale=1.20),
|
||||
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealByKill=7,HealByAssistance=5)
|
||||
)}
|
||||
|
||||
)}
|
||||
|
@ -440,7 +440,7 @@ function AdjustDamage(out int InDamage, out vector Momentum, Controller Instigat
|
||||
}
|
||||
}
|
||||
|
||||
function HandleAfflictionsOnHit(Controller DamageInstigator, vector HitDir, class<DamageType> DamageType, Actor DamageCauser)
|
||||
function HandleAfflictionsOnHit(Controller DamageInstigator, vector HitDir, class<KFDamageType> DamageType, Actor DamageCauser)
|
||||
{
|
||||
if (ShieldHealthPctByte == 0)
|
||||
{
|
||||
|
@ -143,8 +143,8 @@ defaultproperties
|
||||
|
||||
// Explosion
|
||||
Begin Object Class=KFGameExplosion Name=ImploTemplate0
|
||||
Damage=350 //150
|
||||
DamageRadius=375 //425
|
||||
Damage=320 //150
|
||||
DamageRadius=280 //375
|
||||
DamageFalloffExponent=0.2 //0.25
|
||||
DamageDelay=0.f
|
||||
MomentumTransferScale=-10000
|
||||
|
@ -24,8 +24,6 @@ var LightPoolPriority ProjStickedLightPriority;
|
||||
|
||||
/** Time before particle system parameter is set */
|
||||
var float FlameDisperalDelay;
|
||||
/** Last hit normal from Touch() or HitWall() */
|
||||
var vector LastHitNormal;
|
||||
|
||||
/** Impact effects to use when projectile hits a zed */
|
||||
var KFImpactEffectInfo ImpactEffectsOnZed;
|
||||
@ -119,7 +117,6 @@ simulated event HitWall( vector HitNormal, actor Wall, PrimitiveComponent WallCo
|
||||
// Overriding functions where StickHelper.TryStick is called to start timer to delete the proyectile
|
||||
simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
|
||||
{
|
||||
LastHitNormal = HitNormal;
|
||||
if (Other != Instigator && !Other.bStatic && DamageRadius == 0.0 )
|
||||
{
|
||||
ProcessBulletTouch(Other, HitLocation, HitNormal);
|
||||
@ -169,21 +166,9 @@ simulated event Tick( float DeltaTime )
|
||||
}
|
||||
}
|
||||
|
||||
// Last location needs to be correct, even on first tick.
|
||||
simulated function SyncOriginalLocation()
|
||||
{
|
||||
local Actor HitActor;
|
||||
local vector HitLocation, HitNormal;
|
||||
local TraceHitInfo HitInfo;
|
||||
|
||||
if (Role < ROLE_Authority && Instigator != none && Instigator.IsLocallyControlled())
|
||||
{
|
||||
HitActor = Trace(HitLocation, HitNormal, OriginalLocation, Location,,, HitInfo, TRACEFLAG_Bullet);
|
||||
if (HitActor != none)
|
||||
{
|
||||
StickHelper.TryStick(HitNormal, HitLocation, HitActor);
|
||||
}
|
||||
}
|
||||
super.SyncOriginalLocation();
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
@ -227,7 +212,7 @@ defaultproperties
|
||||
NetUpdateFrequency=200
|
||||
bNoReplicationToInstigator=false
|
||||
bUseClientSideHitDetection=true
|
||||
bUpdateSimulatedPosition=true
|
||||
bUpdateSimulatedPosition=false
|
||||
bSyncToOriginalLocation=true
|
||||
bSyncToThirdPersonMuzzleLocation=true
|
||||
|
||||
@ -235,12 +220,13 @@ defaultproperties
|
||||
|
||||
bCanBeDamaged=false
|
||||
bCanDisintegrate=true
|
||||
/*
|
||||
Begin Object Name=CollisionCylinder
|
||||
BlockNonZeroExtent=false
|
||||
// for siren scream
|
||||
CollideActors=true
|
||||
End Object
|
||||
|
||||
*/
|
||||
Begin Object Class=KFProjectileStickHelper_HRGScorcher Name=StickHelper0
|
||||
End Object
|
||||
StickHelper=StickHelper0
|
||||
|
@ -43,9 +43,9 @@ defaultproperties
|
||||
|
||||
Lifespan=10.0
|
||||
|
||||
MaxSpeed=10000.0 //7200.0
|
||||
Speed=10000.0 //7200.0
|
||||
TerminalVelocity=7200
|
||||
MaxSpeed=12000.0 //10000.0 //7200.0
|
||||
Speed=12000.0 //10000.0 //7200.0
|
||||
TerminalVelocity=12000.0 //7200
|
||||
|
||||
GravityScale=0.0//0.7
|
||||
|
||||
|
@ -58,7 +58,7 @@ defaultproperties
|
||||
|
||||
bWarnAIWhenFired=true
|
||||
|
||||
Lifespan=1.5 //1.25
|
||||
Lifespan=1.3 //1.5 //1.25
|
||||
TouchTimeThreshhold=0.4
|
||||
|
||||
MaxSpeed=2000.0 //1400.0
|
||||
|
@ -39,24 +39,6 @@ static simulated event EFilterTypeUI GetTraderFilter()
|
||||
return FT_Projectile;
|
||||
}
|
||||
|
||||
simulated function float GetUpgradedAfflictionPower(EAfflictionType AfflictionType, float InPower, optional int FireMode = INDEX_NONE, optional int UpgradeIndex = INDEX_NONE)
|
||||
{
|
||||
local class<KFDT_Piercing_Crossbow> DT;
|
||||
local KFPerk Perk;
|
||||
|
||||
Perk = GetPerk();
|
||||
if(AfflictionType == AF_Stun && Perk != none && Perk.bWasLastHitAHeadshot)
|
||||
{
|
||||
DT = class<KFDT_Piercing_Crossbow>(InstantHitDamageTypes[DEFAULT_FIREMODE]);
|
||||
if (DT != none)
|
||||
{
|
||||
return super.GetUpgradedAfflictionPower(AfflictionType, DT.default.HeadStunPower, FireMode, UpgradeIndex);
|
||||
}
|
||||
}
|
||||
|
||||
return super.GetUpgradedAfflictionPower(AfflictionType, InPower, FireMode, UpgradeIndex);
|
||||
}
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
// Inventory
|
||||
|
@ -87,7 +87,7 @@ defaultproperties
|
||||
MuzzleFlashTemplateName="WEP_Gravity_Imploder_ARCH.Wep_Gravity_Imploder_MuzzleFlash"
|
||||
|
||||
// Inventory / Grouping
|
||||
InventorySize=7 //8
|
||||
InventorySize=8 //7
|
||||
GroupPriority=125 //75
|
||||
WeaponSelectTexture=Texture2D'WEP_UI_Gravity_Imploder_TEX.UI_WeaponSelect_Gravity_Imploder'
|
||||
AssociatedPerkClasses(0)=class'KFPerk_Demolitionist'
|
||||
@ -175,7 +175,7 @@ defaultproperties
|
||||
|
||||
WeaponFireWaveForm=ForceFeedbackWaveform'FX_ForceFeedback_ARCH.Gunfire.Medium_Recoil'
|
||||
|
||||
SelfDamageReductionValue=0.f //0.25f
|
||||
SelfDamageReductionValue=0.075f //0.f
|
||||
|
||||
bLastFireWasAlt=false
|
||||
DefaultFireMaterialColor = (R = 0.965f,G = 0.2972f, B = 0.0f)
|
||||
|
@ -529,8 +529,8 @@ defaultproperties
|
||||
ChargeAnimIron=Alt_Fire_Iron
|
||||
ChargeAnimIronLast=Alt_Fire_Iron_Last
|
||||
|
||||
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.15f), (Stat=EWUS_Weight, Add=1)))
|
||||
WeaponUpgrades[2]=(Stats=((Stat=EWUS_Damage0, Scale=1.3f), (Stat=EWUS_Weight, Add=2)))
|
||||
WeaponUpgrades[1]=(Stats=((Stat=EWUS_Damage0, Scale=1.1f), (Stat=EWUS_Weight, Add=1)))
|
||||
WeaponUpgrades[2]=(Stats=((Stat=EWUS_Damage0, Scale=1.2f), (Stat=EWUS_Weight, Add=2)))
|
||||
|
||||
ForceReloadTime=0.3
|
||||
bAllowClientAmmoTracking=true
|
||||
@ -539,9 +539,9 @@ defaultproperties
|
||||
MuzzleEffectDefaultFire=ParticleSystem'WEP_HRG_SonicGun_EMIT.FX_SonicGun_Muzzle'
|
||||
MuzzleEffectChargedFire=ParticleSystem'WEP_HRG_SonicGun_EMIT.FX_SonicGun_Muzzle_AltFire'
|
||||
|
||||
SonicBlastDamageByChargeLevel(0)=110 //100
|
||||
SonicBlastDamageByChargeLevel(0)=100 //110 //100
|
||||
//SonicBlastDamageByChargeLevel(1)=170 //160
|
||||
SonicBlastDamageByChargeLevel(1)=280 //310 //280
|
||||
SonicBlastDamageByChargeLevel(1)=240 //280 //310 //280
|
||||
|
||||
SonicBlastPenetrationPowerByChargeLevel(0)=4.0
|
||||
//SonicBlastPenetrationPowerByChargeLevel(1)=3.0 //1.0
|
||||
@ -579,9 +579,9 @@ defaultproperties
|
||||
MomentumMultiplierByZedArray(3)=(ZedClassName="KFPawn_ZedCrawler", MomentumMultiplier=1.0)
|
||||
MomentumMultiplierByZedArray(4)=(ZedClassName="KFPawn_ZedGorefast", MomentumMultiplier=1.2)
|
||||
MomentumMultiplierByZedArray(5)=(ZedClassName="KFPawn_ZedStalker", MomentumMultiplier=1.0)
|
||||
MomentumMultiplierByZedArray(6)=(ZedClassName="KFPawn_ZedScrake", MomentumMultiplier=1.2)
|
||||
MomentumMultiplierByZedArray(7)=(ZedClassName="KFPawn_ZedFleshpound", MomentumMultiplier=1.3)
|
||||
MomentumMultiplierByZedArray(8)=(ZedClassName="KFPawn_ZedFleshpoundMini", MomentumMultiplier=1.3)
|
||||
MomentumMultiplierByZedArray(6)=(ZedClassName="KFPawn_ZedScrake", MomentumMultiplier=0.8) //1.2
|
||||
MomentumMultiplierByZedArray(7)=(ZedClassName="KFPawn_ZedFleshpound", MomentumMultiplier=0.7) //1.3
|
||||
MomentumMultiplierByZedArray(8)=(ZedClassName="KFPawn_ZedFleshpoundMini", MomentumMultiplier=0.7) //1.3
|
||||
MomentumMultiplierByZedArray(9)=(ZedClassName="KFPawn_ZedBloat", MomentumMultiplier=1.7)
|
||||
MomentumMultiplierByZedArray(10)=(ZedClassName="KFPawn_ZedSiren", MomentumMultiplier=0.8)
|
||||
MomentumMultiplierByZedArray(11)=(ZedClassName="KFPawn_ZedHusk", MomentumMultiplier=0.8)
|
||||
|
@ -348,7 +348,7 @@ cpptext
|
||||
|
||||
defaultproperties
|
||||
{
|
||||
// as of January 2021
|
||||
// as of February 2021
|
||||
ConsumablesCount=80
|
||||
DurablesCount=54
|
||||
DurablesCount=60
|
||||
}
|
Loading…
Reference in New Issue
Block a user