1
0
This commit is contained in:
GenZmeY 2023-02-24 20:06:51 +03:00
parent 2131b14e05
commit 2942d046da
68 changed files with 299 additions and 46 deletions

View File

@ -1619,6 +1619,12 @@ function StartBots()
} }
} }
} }
function bool CanAssignDefaultWeaponsToPlayer(Controller NewPlayer)
{
return true;
}
// //
// Restart a player. // Restart a player.
// //
@ -1687,7 +1693,10 @@ function RestartPlayer(Controller NewPlayer)
if (!WorldInfo.bNoDefaultInventoryForPlayer) if (!WorldInfo.bNoDefaultInventoryForPlayer)
{ {
AddDefaultInventory(NewPlayer.Pawn); if (CanAssignDefaultWeaponsToPlayer(NewPlayer))
{
AddDefaultInventory(NewPlayer.Pawn);
}
} }
SetPlayerDefaults(NewPlayer.Pawn); SetPlayerDefaults(NewPlayer.Pawn);

View File

@ -1456,6 +1456,11 @@ simulated event vector GetMuzzleLoc()
*/ */
simulated native event vector GetPhysicalFireStartLoc(optional vector AimDir); simulated native event vector GetPhysicalFireStartLoc(optional vector AimDir);
/**
* This function returns the world location for spawning the projectile.
*/
simulated native event vector GetFixedPhysicalFireStartLoc();
/** /**
* Put Down current weapon * Put Down current weapon
* Once the weapon is put down, the InventoryManager will switch to InvManager.PendingWeapon. * Once the weapon is put down, the InventoryManager will switch to InvManager.PendingWeapon.

View File

@ -457,31 +457,32 @@ function int GetChunkArmorCost()
function int FillArmor( ) function int FillArmor( )
{ {
local float ArmorPricePerPercent, FillCost; local float FillCost, PercentBoughtUnit, PercentArmorBought;
local float PercentBoughtUnit, PercentArmorBought;
local int ActualArmorPointsAvailable; local int ActualArmorPointsAvailable;
FillCost = GetFillArmorCost(); FillCost = GetFillArmorCost();
ActualArmorPointsAvailable = ArmorItem.MaxSpareAmmo - ArmorItem.SpareAmmoCount;
PercentBoughtUnit = float(ActualArmorPointsAvailable) / float(ArmorItem.MaxSpareAmmo);
PercentArmorBought = PercentBoughtUnit * 100.f;
// Buy as much armor as we possibly can // Buy as much armor as we possibly can
if (FillCost > TotalDosh) if (FillCost > TotalDosh)
{ {
ArmorPricePerPercent = ArmorItem.AmmoPricePerMagazine;
// Because we are using ints this will round down and we can get how much we actually spent // Because we are using ints this will round down and we can get how much we actually spent
PercentArmorBought = TotalDosh / ArmorPricePerPercent;
PercentBoughtUnit = PercentArmorBought / 100.f;
FillCost = ArmorPricePerPercent * PercentArmorBought;
}
PercentArmorBought = (PercentArmorBought > 0.f && PercentArmorBought < 1.f) ? 1.f : PercentArmorBought; ActualArmorPointsAvailable = FFloor(float(TotalDosh) / float(ArmorItem.AmmoPricePerMagazine));
FillCost = ArmorItem.AmmoPricePerMagazine * ActualArmorPointsAvailable;
}
else
{
ActualArmorPointsAvailable = ArmorItem.MaxSpareAmmo - ArmorItem.SpareAmmoCount;
}
PercentBoughtUnit = float(ActualArmorPointsAvailable) / float(ArmorItem.MaxSpareAmmo);
PercentArmorBought = PercentBoughtUnit * 100.f;
ArmorItem.SpareAmmoCount = FMin( float(ArmorItem.SpareAmmoCount) + (PercentBoughtUnit * float(ArmorItem.MaxSpareAmmo)), float(ArmorItem.MaxSpareAmmo) ); ArmorItem.SpareAmmoCount = FMin( float(ArmorItem.SpareAmmoCount) + (PercentBoughtUnit * float(ArmorItem.MaxSpareAmmo)), float(ArmorItem.MaxSpareAmmo) );
BoughtAmmo(PercentArmorBought, FillCost, EIT_Armor); BoughtAmmo(PercentArmorBought, FillCost, EIT_Armor);
return FillCost; return FillCost;
} }

View File

@ -290,6 +290,15 @@ function SetItemInfo(out GFxObject ItemDataArray, STraderItem TraderItem, int Sl
/** returns true if this item should not be displayed */ /** returns true if this item should not be displayed */
function bool IsItemFiltered(STraderItem Item, optional bool bDebug) function bool IsItemFiltered(STraderItem Item, optional bool bDebug)
{ {
if(!class'GameEngine'.Static.IsGameFullyInstalled() && Item.WeaponDef.default.IsPlayGoHidden)
{
if (bDebug)
{
`log("is not fully installed this weapon is not available");
}
return true;
}
if (KFPC.GetPurchaseHelper().IsInOwnedItemList(Item.ClassName)) if (KFPC.GetPurchaseHelper().IsInOwnedItemList(Item.ClassName))
{ {
if (bDebug) if (bDebug)

View File

@ -755,7 +755,7 @@ var byte StormCannonIDCounter;
var transient bool bShotgunJumping; var transient bool bShotgunJumping;
var int iAllowSeasonalSkins; var bool bAllowSeasonalSkins;
cpptext cpptext
@ -1008,7 +1008,7 @@ reliable server event PushV()
} }
simulated function int GetAllowSeasonalSkins() simulated function bool GetAllowSeasonalSkins()
{ {
local KFGameReplicationInfo KFGRI; local KFGameReplicationInfo KFGRI;
local bool bIsWWLWeekly, bIsAllowSeasonalSkins; // Situations that shouldn't allow seasonal overrides local bool bIsWWLWeekly, bIsAllowSeasonalSkins; // Situations that shouldn't allow seasonal overrides
@ -1017,22 +1017,20 @@ simulated function int GetAllowSeasonalSkins()
bIsWWLWeekly = KFGRI != none && KFGRI.bIsWeeklyMode && KFGRI.CurrentWeeklyIndex == 12; bIsWWLWeekly = KFGRI != none && KFGRI.bIsWeeklyMode && KFGRI.CurrentWeeklyIndex == 12;
bIsAllowSeasonalSkins = KFGRI != none && KFGRI.bAllowSeasonalSkins; bIsAllowSeasonalSkins = KFGRI != none && KFGRI.bAllowSeasonalSkins;
//`Log("GetAllowSeasonalSkins: AllowSeasonalSkins: "$bIsAllowSeasonalSkins$" WWLWeekly "$bIsWWLWeekly);
if(bIsWWLWeekly || bIsAllowSeasonalSkins == false) if(bIsWWLWeekly || bIsAllowSeasonalSkins == false)
{ {
return 0; return false;
} }
return 1; return true;
} }
simulated event name GetSeasonalStateName() simulated event name GetSeasonalStateName()
{ {
local int EventId, MapModifiedEventId; local int EventId, MapModifiedEventId;
local KFMapInfo KFMI; local KFMapInfo KFMI;
local bool bIsWWLWeekly, bIsAllowSeasonalSkins ; // Situations that shouldn't allow seasonal overrides
local KFGameReplicationInfo KFGRI;
EventId = class'KFGameEngine'.static.GetSeasonalEventID(); EventId = class'KFGameEngine'.static.GetSeasonalEventID();
`Log("GetSeasonalStateName: "$EventId);
MapModifiedEventId = SEI_None; MapModifiedEventId = SEI_None;
@ -1042,16 +1040,13 @@ simulated event name GetSeasonalStateName()
KFMI.ModifySeasonalEventId(MapModifiedEventId); KFMI.ModifySeasonalEventId(MapModifiedEventId);
} }
bAllowSeasonalSkins = GetAllowSeasonalSkins();
`Log("GetSeasonalStateName: "$EventId$" AllowSeasonalSkins: "$bAllowSeasonalSkins);
if (MapModifiedEventId == SEI_None) if (MapModifiedEventId == SEI_None)
{ {
KFGRI = KFGameReplicationInfo(WorldInfo.GRI); if (bAllowSeasonalSkins == false)
bIsWWLWeekly = KFGRI != none && KFGRI.bIsWeeklyMode && KFGRI.CurrentWeeklyIndex == 12;
bIsAllowSeasonalSkins = KFGRI != none && KFGRI.bAllowSeasonalSkins;
`Log("GetSeasonalStateName: AllowSeasonalSkins: "$bIsAllowSeasonalSkins$" WWLWeekly "$bIsWWLWeekly);
if (bIsWWLWeekly || bIsAllowSeasonalSkins == false)
{ {
EventId = SEI_None; EventId = SEI_None;
} }
@ -5289,9 +5284,8 @@ event PlayerTick( float DeltaTime )
{ {
super.PlayerTick(DeltaTime); super.PlayerTick(DeltaTime);
if(iAllowSeasonalSkins != GetAllowSeasonalSkins()) if(bAllowSeasonalSkins != GetAllowSeasonalSkins())
{ {
iAllowSeasonalSkins = GetAllowSeasonalSkins();
UpdateSeasonalState(); UpdateSeasonalState();
} }
@ -12382,5 +12376,5 @@ defaultproperties
StormCannonIDCounter = 0 StormCannonIDCounter = 0
bShotgunJumping = false bShotgunJumping = false
iAllowSeasonalSkins = -1 bAllowSeasonalSkins = false
} }

View File

@ -42,6 +42,8 @@ simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNorma
local InterpCurveFloat PenetrationCurve; local InterpCurveFloat PenetrationCurve;
local KFWeapon KFW; local KFWeapon KFW;
bPassThrough = false;
if (Other != Instigator) if (Other != Instigator)
{ {
if(IgnoreTouchActor == Other) if(IgnoreTouchActor == Other)

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=60 // 27 AmmoPricePerMag=60 // 27
ImagePath="WEP_UI_AutoTurret_TEX.UI_WeaponSelect_AutoTurret" ImagePath="WEP_UI_AutoTurret_TEX.UI_WeaponSelect_AutoTurret"
IsPlayGoHidden=true;
EffectiveRange=18 EffectiveRange=18
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=38 //32 AmmoPricePerMag=38 //32
ImagePath="WEP_UI_BladedPistol_TEX.UI_WeaponSelect_BladedPistol" ImagePath="WEP_UI_BladedPistol_TEX.UI_WeaponSelect_BladedPistol"
IsPlayGoHidden=true;
EffectiveRange=25 EffectiveRange=25
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -22,6 +22,8 @@ defaultproperties
ImagePath="WEP_UI_Blunderbuss_TEX.UI_WeaponSelect_BlunderBluss" ImagePath="WEP_UI_Blunderbuss_TEX.UI_WeaponSelect_BlunderBluss"
IsPlayGoHidden=true;
EffectiveRange=95 // Based on comment Slightly less than M79 Grenade Launcher EffectiveRange=95 // Based on comment Slightly less than M79 Grenade Launcher
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -16,6 +16,8 @@ DefaultProperties
BuyPrice=850 BuyPrice=850
ImagePath="Wep_UI_ChainBat_TEX.UI_WeaponSelect_RRChainbat" ImagePath="Wep_UI_ChainBat_TEX.UI_WeaponSelect_RRChainbat"
IsPlayGoHidden=true;
EffectiveRange=2 EffectiveRange=2
UpgradePrice[0]=600 UpgradePrice[0]=600

View File

@ -18,6 +18,9 @@ DefaultProperties
AmmoPricePerMag=17 AmmoPricePerMag=17
ImagePath="wep_ui_chiapparhino_tex.UI_WeaponSelect_ChiappaRhinos" ImagePath="wep_ui_chiapparhino_tex.UI_WeaponSelect_ChiappaRhinos"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=34 AmmoPricePerMag=34
ImagePath="wep_ui_chiapparhino_tex.UI_WeaponSelect_DualChiappaRhinos" ImagePath="wep_ui_chiapparhino_tex.UI_WeaponSelect_DualChiappaRhinos"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -22,6 +22,8 @@ defaultproperties
ImagePath="WEP_UI_CompoundBow_TEX.UI_WeaponSelect_Compound_Bow" ImagePath="WEP_UI_CompoundBow_TEX.UI_WeaponSelect_Compound_Bow"
IsPlayGoHidden=true;
EffectiveRange=80 EffectiveRange=80
SharedUnlockId=SCU_CompoundBow SharedUnlockId=SCU_CompoundBow

View File

@ -17,6 +17,8 @@ DefaultProperties
BuyPrice=400 //600 //750 BuyPrice=400 //600 //750
ImagePath="WEP_UI_Doshinegun_TEX.UI_Weapon_Select_Doshinegun" ImagePath="WEP_UI_Doshinegun_TEX.UI_Weapon_Select_Doshinegun"
IsPlayGoHidden=true;
EffectiveRange=68 EffectiveRange=68
UpgradePrice[0]=600 UpgradePrice[0]=600

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=76 //64 AmmoPricePerMag=76 //64
ImagePath="WEP_UI_Dual_BladedPistol_TEX.UI_WeaponSelect_Dual_BladedPistol" ImagePath="WEP_UI_Dual_BladedPistol_TEX.UI_WeaponSelect_Dual_BladedPistol"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -23,6 +23,8 @@ defaultproperties
ImagePath="WEP_UI_Famas_TEX.UI_WeaponSelect_Famas" ImagePath="WEP_UI_Famas_TEX.UI_WeaponSelect_Famas"
IsPlayGoHidden=true;
EffectiveRange=67 // @TODO: ¿?¿?¿? EffectiveRange=67 // @TODO: ¿?¿?¿?
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag=24 AmmoPricePerMag=24
ImagePath="WEP_UI_RiotShield_TEX.UI_WeaponSelect_RiotShield" ImagePath="WEP_UI_RiotShield_TEX.UI_WeaponSelect_RiotShield"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=36 AmmoPricePerMag=36
ImagePath="wep_ui_g36c_tex.UI_WeaponSelect_G36C" ImagePath="wep_ui_g36c_tex.UI_WeaponSelect_G36C"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -21,6 +21,8 @@ defaultproperties
ImagePath="WEP_UI_Gravity_Imploder_TEX.UI_WeaponSelect_Gravity_Imploder" ImagePath="WEP_UI_Gravity_Imploder_TEX.UI_WeaponSelect_Gravity_Imploder"
IsPlayGoHidden=true;
EffectiveRange=95 // Based on comment Slightly less than M79 Grenade Launcher EffectiveRange=95 // Based on comment Slightly less than M79 Grenade Launcher
SharedUnlockId=SCU_GravityImploder SharedUnlockId=SCU_GravityImploder

View File

@ -20,6 +20,8 @@ DefaultProperties
ImagePath="WEP_UI_HRG_IncendiaryRifle_TEX.UI_WeaponSelect_HRG_IncendiaryRifle" ImagePath="WEP_UI_HRG_IncendiaryRifle_TEX.UI_WeaponSelect_HRG_IncendiaryRifle"
IsPlayGoHidden=true;
EffectiveRange=68 EffectiveRange=68
SecondaryAmmoMagSize=1 SecondaryAmmoMagSize=1

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=14 AmmoPricePerMag=14
ImagePath="WEP_UI_HRG_Incision_Item_TEX.UI_WeaponSelect_HRG_Incision" ImagePath="WEP_UI_HRG_Incision_Item_TEX.UI_WeaponSelect_HRG_Incision"
IsPlayGoHidden=true;
EffectiveRange=100 EffectiveRange=100
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -19,6 +19,8 @@ DefaultProperties
AmmoPricePerMag= 12 //14 AmmoPricePerMag= 12 //14
ImagePath="WEP_UI_HRGScorcher_Pistol_TEX.UI_WeaponSelect_HRGScorcher" ImagePath="WEP_UI_HRGScorcher_Pistol_TEX.UI_WeaponSelect_HRGScorcher"
IsPlayGoHidden=true;
EffectiveRange=100 // Based on comment Slightly less than M79 Grenade Launcher EffectiveRange=100 // Based on comment Slightly less than M79 Grenade Launcher
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -19,6 +19,8 @@ DefaultProperties
AmmoPricePerMag=62 //30 AmmoPricePerMag=62 //30
ImagePath="WEP_UI_HRG_Teslauncher_TEX.UI_WeaponSelect_HRG_Teslauncher" ImagePath="WEP_UI_HRG_Teslauncher_TEX.UI_WeaponSelect_HRG_Teslauncher"
IsPlayGoHidden=true;
EffectiveRange=68 EffectiveRange=68
SecondaryAmmoMagSize=1 SecondaryAmmoMagSize=1

View File

@ -15,6 +15,8 @@ DefaultProperties
AmmoPricePerMag=13 //12 AmmoPricePerMag=13 //12
ImagePath="WEP_UI_HRG_Winterbite_Item_TEX.UI_WeaponSelect_HRG_Winterbite" ImagePath="WEP_UI_HRG_Winterbite_Item_TEX.UI_WeaponSelect_HRG_Winterbite"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=600 UpgradePrice[0]=600

View File

@ -15,6 +15,8 @@ DefaultProperties
AmmoPricePerMag=26 //24 AmmoPricePerMag=26 //24
ImagePath="WEP_UI_Dual_Winterbite_Item_TEX.UI_WeaponSelect_HRG_DualWinterbite" ImagePath="WEP_UI_Dual_Winterbite_Item_TEX.UI_WeaponSelect_HRG_DualWinterbite"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=600 UpgradePrice[0]=600

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=40 AmmoPricePerMag=40
ImagePath="WEP_UI_HRG_BallisticBouncer_TEX.UI_WeaponSelect_HRG_BallisticBouncer" ImagePath="WEP_UI_HRG_BallisticBouncer_TEX.UI_WeaponSelect_HRG_BallisticBouncer"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag=55 AmmoPricePerMag=55
ImagePath="wep_ui_hrg_barrierrifle_tex.UI_WeaponSelect_HRG_BarrierRifle" ImagePath="wep_ui_hrg_barrierrifle_tex.UI_WeaponSelect_HRG_BarrierRifle"
IsPlayGoHidden=true;
EffectiveRange=68 EffectiveRange=68
//UpgradePrice[0]=1500 //UpgradePrice[0]=1500

View File

@ -18,6 +18,8 @@ DefaultProperties
ImagePath="WEP_UI_HRG_BlastBrawlers_TEX.UI_WeaponSelect_HRG_BlastBrawlers" ImagePath="WEP_UI_HRG_BlastBrawlers_TEX.UI_WeaponSelect_HRG_BlastBrawlers"
IsPlayGoHidden=true;
EffectiveRange=15 EffectiveRange=15
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag=30 //50 AmmoPricePerMag=30 //50
ImagePath="WEP_UI_HRG_Boomy_TEX.UI_WeaponSelect_HRG_Boomy" ImagePath="WEP_UI_HRG_Boomy_TEX.UI_WeaponSelect_HRG_Boomy"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=600 UpgradePrice[0]=600

View File

@ -17,6 +17,8 @@ DefaultProperties
ImagePath="wep_ui_hrg_cranialpopper_tex.UI_WeaponSelect_HRG_CranialPopper" ImagePath="wep_ui_hrg_cranialpopper_tex.UI_WeaponSelect_HRG_CranialPopper"
EffectiveRange=90 EffectiveRange=90
IsPlayGoHidden=true;
UpgradePrice[0]=700 UpgradePrice[0]=700
UpgradePrice[1]=1500 UpgradePrice[1]=1500

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag=14 AmmoPricePerMag=14
ImagePath="WEP_UI_HRG_Crossboom_TEX.UI_WeaponSelect_Crossboom" ImagePath="WEP_UI_HRG_Crossboom_TEX.UI_WeaponSelect_Crossboom"
IsPlayGoHidden=true;
EffectiveRange=80 EffectiveRange=80
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=25 AmmoPricePerMag=25
ImagePath="WEP_UI_HRG_MegaDragonsbreath_TEX.UI_WeaponSelect_HRG_MegaDragonsbreath" ImagePath="WEP_UI_HRG_MegaDragonsbreath_TEX.UI_WeaponSelect_HRG_MegaDragonsbreath"
IsPlayGoHidden=true;
EffectiveRange=25 EffectiveRange=25
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -15,6 +15,8 @@ DefaultProperties
AmmoPricePerMag=110 //66 AmmoPricePerMag=110 //66
ImagePath="WEP_UI_HRG_ArcGenerator_TEX.UI_WeaponSelect_HRG_ArcGenerator" ImagePath="WEP_UI_HRG_ArcGenerator_TEX.UI_WeaponSelect_HRG_ArcGenerator"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=70 //65 AmmoPricePerMag=70 //65
ImagePath="WEP_UI_HRG_Energy_TEX.UI_WeaponSelect_HRG_Energy" ImagePath="WEP_UI_HRG_Energy_TEX.UI_WeaponSelect_HRG_Energy"
IsPlayGoHidden=true;
EffectiveRange=50 EffectiveRange=50
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -20,6 +20,8 @@ DefaultProperties
AmmoPricePerMag=15 AmmoPricePerMag=15
ImagePath="WEP_UI_HRG_Kaboomstick_TEX.UI_WeaponSelect_HRG_Kaboomstick" ImagePath="WEP_UI_HRG_Kaboomstick_TEX.UI_WeaponSelect_HRG_Kaboomstick"
IsPlayGoHidden=true;
EffectiveRange=40 //15 EffectiveRange=40 //15
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=40 AmmoPricePerMag=40
ImagePath="wep_ui_hrg_locust_tex.UI_WeaponSelect_HRG_Locust" ImagePath="wep_ui_hrg_locust_tex.UI_WeaponSelect_HRG_Locust"
IsPlayGoHidden=true;
EffectiveRange=100 EffectiveRange=100
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=25 AmmoPricePerMag=25
ImagePath="WEP_UI_HRG_MedicMissile_TEX.UI_WeaponSelect_HRG_MedicMissile" ImagePath="WEP_UI_HRG_MedicMissile_TEX.UI_WeaponSelect_HRG_MedicMissile"
IsPlayGoHidden=true;
EffectiveRange=100 EffectiveRange=100
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -15,6 +15,8 @@ DefaultProperties
AmmoPricePerMag=65 //75 AmmoPricePerMag=65 //75
ImagePath="WEP_UI_HRG_SonicGun_TEX.UI_WeaponSelect_HRG_SonicGun" ImagePath="WEP_UI_HRG_SonicGun_TEX.UI_WeaponSelect_HRG_SonicGun"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag=36 AmmoPricePerMag=36
ImagePath="ui_weaponselect_tex.UI_WeaponSelect_AA12" ImagePath="ui_weaponselect_tex.UI_WeaponSelect_AA12"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -15,6 +15,8 @@ DefaultProperties
AmmoPricePerMag=60 //70 AmmoPricePerMag=60 //70
ImagePath="WEP_UI_HRG_Vampire_TEX.UI_WeaponSelect_HRG_Vampire" ImagePath="WEP_UI_HRG_Vampire_TEX.UI_WeaponSelect_HRG_Vampire"
IsPlayGoHidden=true;
EffectiveRange=70 EffectiveRange=70
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -15,6 +15,9 @@ DefaultProperties
BuyPrice=1400 BuyPrice=1400
AmmoPricePerMag=40 AmmoPricePerMag=40
ImagePath="wep_ui_hvstormcannon_tex.UI_WeaponSelect_HVStormCannon" ImagePath="wep_ui_hvstormcannon_tex.UI_WeaponSelect_HVStormCannon"
IsPlayGoHidden=true;
EffectiveRange=100 EffectiveRange=100
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=70 AmmoPricePerMag=70
ImagePath="Wep_UI_HRG_Healthrower_TEX.UI_WeaponSelect_HRG_Healthrower" ImagePath="Wep_UI_HRG_Healthrower_TEX.UI_WeaponSelect_HRG_Healthrower"
IsPlayGoHidden=true;
EffectiveRange=17 EffectiveRange=17
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -14,6 +14,9 @@ DefaultProperties
BuyPrice=2000 BuyPrice=2000
ImagePath="WEP_UI_Ion_Sword_TEX.UI_WeaponSelect_IonSword" ImagePath="WEP_UI_Ion_Sword_TEX.UI_WeaponSelect_IonSword"
IsPlayGoHidden=true;
EffectiveRange=5 EffectiveRange=5
SharedUnlockId=SCU_IonThruster SharedUnlockId=SCU_IonThruster

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag =36 //42 AmmoPricePerMag =36 //42
ImagePath = "WEP_UI_Mine_Reconstructor_TEX.UI_WeaponSelect_HMTechMineReconstructor" ImagePath = "WEP_UI_Mine_Reconstructor_TEX.UI_WeaponSelect_HMTechMineReconstructor"
IsPlayGoHidden=true;
EffectiveRange = 50 EffectiveRange = 50
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag= 90//125 //175 //250 AmmoPricePerMag= 90//125 //175 //250
ImagePath="WEP_UI_Minigun_TEX.UI_WeaponSelect_Minigun" ImagePath="WEP_UI_Minigun_TEX.UI_WeaponSelect_Minigun"
IsPlayGoHidden=true;
EffectiveRange=68 // Stoner63A Range EffectiveRange=68 // Stoner63A Range
SharedUnlockId=SCU_Minigun SharedUnlockId=SCU_Minigun

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=42 AmmoPricePerMag=42
ImagePath="wep_ui_mosin_tex.UI_WeaponSelect_MosinNagant" ImagePath="wep_ui_mosin_tex.UI_WeaponSelect_MosinNagant"
IsPlayGoHidden=true;
EffectiveRange=90 EffectiveRange=90
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -19,6 +19,8 @@ DefaultProperties
AmmoPricePerMag=45 AmmoPricePerMag=45
ImagePath="WEP_UI_HRG_Nailgun_PDW_TEX.UI_WeaponSelect_HRG_Nailgun_PDW" ImagePath="WEP_UI_HRG_Nailgun_PDW_TEX.UI_WeaponSelect_HRG_Nailgun_PDW"
IsPlayGoHidden=true;
EffectiveRange=55 EffectiveRange=55
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -14,6 +14,8 @@ defaultproperties
WeaponClassPath="KFGameContent.KFWeap_Rifle_ParasiteImplanter" WeaponClassPath="KFGameContent.KFWeap_Rifle_ParasiteImplanter"
ImagePath="wep_ui_parasiteimplanter_tex.UI_WeaponSelect_ParasiteImplanter" ImagePath="wep_ui_parasiteimplanter_tex.UI_WeaponSelect_ParasiteImplanter"
IsPlayGoHidden=true;
BuyPrice=1500 BuyPrice=1500
AmmoPricePerMag=42 AmmoPricePerMag=42
EffectiveRange=90 EffectiveRange=90

View File

@ -21,6 +21,8 @@ DefaultProperties
ImagePath="WEP_UI_Dual_G18C_TEX.UI_WeaponSelect_Dual_G18C" ImagePath="WEP_UI_Dual_G18C_TEX.UI_WeaponSelect_Dual_G18C"
IsPlayGoHidden=true;
UpgradePrice[0]=1500 UpgradePrice[0]=1500
UpgradeSellPrice[0]=1125 UpgradeSellPrice[0]=1125

View File

@ -21,6 +21,8 @@ DefaultProperties
ImagePath="WEP_UI_G18C_TEX.UI_WeaponSelect_G18C" ImagePath="WEP_UI_G18C_TEX.UI_WeaponSelect_G18C"
IsPlayGoHidden=true;
UpgradePrice[0]=1500 UpgradePrice[0]=1500
UpgradeSellPrice[0]=1125 UpgradeSellPrice[0]=1125

View File

@ -17,6 +17,8 @@ DefaultProperties
AmmoPricePerMag=39 //36 AmmoPricePerMag=39 //36
ImagePath="WEP_UI_Frost_Shotgun_Axe_TEX.UI_WeaponSelect_FrostGun" ImagePath="WEP_UI_Frost_Shotgun_Axe_TEX.UI_WeaponSelect_FrostGun"
IsPlayGoHidden=true;
EffectiveRange=35 EffectiveRange=35
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=42 AmmoPricePerMag=42
ImagePath="WEP_UI_Dual_HRG_SW_500_TEX.UI_WeaponSelect_HRG_DualSW500" ImagePath="WEP_UI_Dual_HRG_SW_500_TEX.UI_WeaponSelect_HRG_DualSW500"
IsPlayGoHidden=true;
EffectiveRange=15 EffectiveRange=15
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -18,6 +18,8 @@ DefaultProperties
AmmoPricePerMag=21 AmmoPricePerMag=21
ImagePath="WEP_UI_HRG_SW_500_TEX.UI_WeaponSelect_HRG_SW500" ImagePath="WEP_UI_HRG_SW_500_TEX.UI_WeaponSelect_HRG_SW500"
IsPlayGoHidden=true;
EffectiveRange=15 EffectiveRange=15
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -15,6 +15,8 @@ DefaultProperties
BuyPrice=1500 BuyPrice=1500
ImagePath="WEP_UI_Scythe_TEX.UI_WeaponSelect_Scythe" ImagePath="WEP_UI_Scythe_TEX.UI_WeaponSelect_Scythe"
IsPlayGoHidden=true;
EffectiveRange=5 EffectiveRange=5
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=50 AmmoPricePerMag=50
ImagePath="WEP_UI_ShrinkRay_Gun_TEX.UI_Weapon_Select_Shrink_Ray_Gun" ImagePath="WEP_UI_ShrinkRay_Gun_TEX.UI_Weapon_Select_Shrink_Ray_Gun"
IsPlayGoHidden=true;
EffectiveRange=12 EffectiveRange=12
UpgradePrice[0]=700 UpgradePrice[0]=700

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=78 AmmoPricePerMag=78
ImagePath="WEP_UI_Thermite_TEX.UI_WeaponSelect_Thermite" ImagePath="WEP_UI_Thermite_TEX.UI_WeaponSelect_Thermite"
IsPlayGoHidden=true;
EffectiveRange=78 EffectiveRange=78
UpgradePrice[0]=1500 UpgradePrice[0]=1500

View File

@ -16,6 +16,8 @@ DefaultProperties
AmmoPricePerMag=75 AmmoPricePerMag=75
ImagePath="wep_ui_zedmkiii_tex.UI_WeaponSelect_ZEDMKIII" ImagePath="wep_ui_zedmkiii_tex.UI_WeaponSelect_ZEDMKIII"
IsPlayGoHidden=true;
EffectiveRange=100 EffectiveRange=100
SharedUnlockId=SCU_ZedMKIII SharedUnlockId=SCU_ZedMKIII

View File

@ -17,6 +17,8 @@ DefaultProperties
BuyPrice=1300 BuyPrice=1300
ImagePath="WEP_UI_Zweihander_TEX.UI_WeaponSelect_Zweihander" ImagePath="WEP_UI_Zweihander_TEX.UI_WeaponSelect_Zweihander"
IsPlayGoHidden=true;
EffectiveRange=3 EffectiveRange=3
SharedUnlockId=SCU_Zweihander SharedUnlockId=SCU_Zweihander

View File

@ -858,6 +858,8 @@ var config bool bLogAmmo;
/** Log weapon upgrade system. */ /** Log weapon upgrade system. */
var const bool bLogWeaponUpgrade; var const bool bLogWeaponUpgrade;
var const bool UseFixedPhysicalFireLocation;
/********************************************************************************************* /*********************************************************************************************
* @name Weapon Upgrade System * @name Weapon Upgrade System
*********************************************************************************************/ *********************************************************************************************/
@ -3938,7 +3940,14 @@ static simulated function class<KFProjectile> GetKFProjectileClassByFiringMode(i
AimDir = Vector(GetAdjustedAim( StartTrace )); AimDir = Vector(GetAdjustedAim( StartTrace ));
// this is the location where the projectile is spawned. // this is the location where the projectile is spawned.
RealStartLoc = GetPhysicalFireStartLoc(AimDir); if (UseFixedPhysicalFireLocation)
{
RealStartLoc = GetFixedPhysicalFireStartLoc();
}
else
{
RealStartLoc = GetPhysicalFireStartLoc(AimDir);
}
if( StartTrace != RealStartLoc ) if( StartTrace != RealStartLoc )
{ {
@ -8047,5 +8056,7 @@ defaultproperties
bUsesSecondaryAmmoAltHUD=false bUsesSecondaryAmmoAltHUD=false
bForceHandleImpacts=false bForceHandleImpacts=false
UseFixedPhysicalFireLocation=false
} }

View File

@ -20,6 +20,9 @@ var string AttachmentArchtypePath;
/** Path to the UI thumbnail texture */ /** Path to the UI thumbnail texture */
var protected string ImagePath; var protected string ImagePath;
/** Is Weapong Hidden in PS4 Initial Chunk PlayGO PS4 */
var bool IsPlayGoHidden;
/** The cost of this weapon ( Sold for .75 this amount ) */ /** The cost of this weapon ( Sold for .75 this amount ) */
var(Trader) int BuyPrice; var(Trader) int BuyPrice;
/** Price per magazine */ /** Price per magazine */

View File

@ -47,7 +47,7 @@ defaultproperties
GoreDamageGroup=DGT_EMP GoreDamageGroup=DGT_EMP
EffectGroup=FXG_Electricity EffectGroup=FXG_Electricity
ForceImpactEffect=ParticleSystem'WEP_HVStormCannon_EMIT.FX_HVStormCannon_Impact' ForceImpactEffect=ParticleSystem'WEP_HVStormCannon_EMIT.FX_HVStormCannon_Impact_Zed'
ForceImpactSound=AkEvent'WW_WEP_HVStormCannon.Play_WEP_HVStormCannon_Impact' ForceImpactSound=AkEvent'WW_WEP_HVStormCannon.Play_WEP_HVStormCannon_Impact'
WeaponDef=class'KFWeapDef_HVStormCannon' WeaponDef=class'KFWeapDef_HVStormCannon'

View File

@ -31,6 +31,8 @@ struct PerkRoulette_PlayerMessageDelegate
var array<PerkRoulette_PlayerMessageDelegate> PerkRoulette_PlayersDelegateData; var array<PerkRoulette_PlayerMessageDelegate> PerkRoulette_PlayersDelegateData;
var array<KFPlayerController_WeeklySurvival> PerkRoulette_PlayersDelegateInventory;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Statics // Statics
static event class<GameInfo> SetGameType(string MapName, string Options, string Portal) static event class<GameInfo> SetGameType(string MapName, string Options, string Portal)
@ -1177,6 +1179,14 @@ function NotifyKilled(Controller Killer, Controller Killed, Pawn KilledPawn, cla
SetTimer(1.5f, false, 'OnVIPDiesEndMatch'); SetTimer(1.5f, false, 'OnVIPDiesEndMatch');
} }
} }
if (MyKFGRI.IsRandomPerkMode())
{
if (KFPC_WS_Killed != none)
{
PerkRoulette_PlayersDelegateInventory.AddItem(KFPC_WS_Killed);
}
}
} }
function GunGameLevelGrantWeapon(KFPlayerController_WeeklySurvival KFPC_WS, class<KFWeaponDefinition> ToGrantWeaponDefinition) function GunGameLevelGrantWeapon(KFPlayerController_WeeklySurvival KFPC_WS, class<KFWeaponDefinition> ToGrantWeaponDefinition)
@ -1603,8 +1613,79 @@ function ChooseInitialRandomPerk(KFPlayerController_WeeklySurvival KFPC_WS)
KFPC_WS.InitialRandomPerk = PerkRouletteRandomInitialIndex; KFPC_WS.InitialRandomPerk = PerkRouletteRandomInitialIndex;
PerkRouletteRandomInitialIndex = (PerkRouletteRandomInitialIndex + 1) % PerkRouletteRandomList.Length; PerkRouletteRandomInitialIndex = (PerkRouletteRandomInitialIndex + 1) % PerkRouletteRandomList.Length;
`Log("PLAYER : " $KFPC_WS); //`Log("PLAYER : " $KFPC_WS);
`Log("InitialRandomPerk : " $KFPC_WS.InitialRandomPerk); //`Log("InitialRandomPerk : " $KFPC_WS.InitialRandomPerk);
}
}
function bool CanAssignDefaultWeaponsToPlayer(Controller NewPlayer)
{
local KFPlayerController_WeeklySurvival KFPC_WS;
local int i;
// We can't assign default weapons if we have to wait to assign the New Perk
KFPC_WS = KFPlayerController_WeeklySurvival(NewPlayer);
if (KFPC_WS != none)
{
for (i = 0; i < PerkRoulette_PlayersDelegateInventory.Length ; ++i)
{
if (KFPC_WS == PerkRoulette_PlayersDelegateInventory[i])
{
return false;
}
}
}
return true;
}
function PerkRoulette_InventoryCustomDelegate()
{
local KFPlayerController_WeeklySurvival KFPC_WS;
local KFPerk Perk;
local int i;
local byte NewPerk;
for (i = PerkRoulette_PlayersDelegateInventory.Length - 1 ; i >= 0 ; --i)
{
KFPC_WS = PerkRoulette_PlayersDelegateInventory[i];
if (KFPC_WS == none)
{
PerkRoulette_PlayersDelegateInventory.Remove(i, 1);
continue;
}
Perk = KFPC_WS.GetPerk();
// While the new Perk is not valid, or is not the one we expect continue
if (Perk == none)
{
continue;
}
else
{
NewPerk = (KFPC_WS.InitialRandomPerk + PerkRouletteRandomWaveNum) % PerkRouletteRandomList.Length;
if (KFPC_WS.Perklist[PerkRouletteRandomList[NewPerk]].PerkClass != Perk.Class)
{
continue;
}
}
if (KFPC_WS.Pawn != none)
{
AddDefaultInventory(KFPC_WS.Pawn);
PerkRoulette_PlayersDelegateInventory.Remove(i, 1);
}
}
if (PerkRoulette_PlayersDelegateInventory.Length == 0)
{
ClearTimer(nameof(PerkRoulette_InventoryCustomDelegate));
} }
} }
@ -1612,7 +1693,17 @@ function ChooseRandomPerks(bool isEndWave)
{ {
local KFPlayerController_WeeklySurvival KFPC_WS; local KFPlayerController_WeeklySurvival KFPC_WS;
local byte NewPerk; local byte NewPerk;
if (isEndWave)
{
ClearTimer(nameof(PerkRoulette_InventoryCustomDelegate));
if (PerkRoulette_PlayersDelegateInventory.Length > 0)
{
SetTimer(0.5f, true, nameof(PerkRoulette_InventoryCustomDelegate));
}
}
foreach WorldInfo.AllControllers(class'KFPlayerController_WeeklySurvival', KFPC_WS) foreach WorldInfo.AllControllers(class'KFPlayerController_WeeklySurvival', KFPC_WS)
{ {
if (KFPC_WS.InitialRandomPerk == 255 || KFPC_WS.PlayerReplicationInfo.bOnlySpectator || KFPC_WS.IsInState('Spectating')) if (KFPC_WS.InitialRandomPerk == 255 || KFPC_WS.PlayerReplicationInfo.bOnlySpectator || KFPC_WS.IsInState('Spectating'))

View File

@ -14,6 +14,8 @@ defaultproperties
MaxSpeed=22500.0 MaxSpeed=22500.0
Speed=22500.0 Speed=22500.0
ProjEffectsFadeOutDuration=0
DamageRadius=0 DamageRadius=0
ProjFlightTemplate = ParticleSystem'WEP_HVStormCannon_EMIT.FX_HVStormCannon_Projectile' ProjFlightTemplate = ParticleSystem'WEP_HVStormCannon_EMIT.FX_HVStormCannon_Projectile'

View File

@ -340,6 +340,8 @@ simulated function ProcessBulletTouch(Actor Other, Vector HitLocation, Vector Hi
if ( HitZoneImpactList.length > 0 ) if ( HitZoneImpactList.length > 0 )
{ {
IncrementNumImpacts(Victim);
HitZoneImpactList[0].RayDir = Direction; HitZoneImpactList[0].RayDir = Direction;
if( Owner != none ) if( Owner != none )
@ -351,8 +353,6 @@ simulated function ProcessBulletTouch(Actor Other, Vector HitLocation, Vector Hi
} }
} }
IncrementNumImpacts(Victim);
BounceNoCheckRepeatingTouch(HitNormal, Other); BounceNoCheckRepeatingTouch(HitNormal, Other);
} }
} }
@ -363,7 +363,15 @@ simulated function IncrementNumImpacts(Pawn Victim)
local int i; local int i;
local KFPlayerController KFPC; local KFPlayerController KFPC;
if (WorldInfo.NetMode == NM_Client) if (WorldInfo.NetMode != NM_Standalone)
{
if (WorldInfo.NetMode == NM_Client)
{
return;
}
}
if (Victim == none)
{ {
return; return;
} }

View File

@ -26,7 +26,7 @@ private event Initialize(string MapName)
bObjectiveIsValidForMap[0] = 1; // Freeze 500 Zeds using ice arsenal bObjectiveIsValidForMap[0] = 1; // Freeze 500 Zeds using ice arsenal
bObjectiveIsValidForMap[1] = 0; // Complete the Weekly on Crash bObjectiveIsValidForMap[1] = 0; // Complete the Weekly on Crash
bObjectiveIsValidForMap[2] = 0; // Use 4 Boomstick Jumps in a same match on Crash bObjectiveIsValidForMap[2] = 0; // Use 4 Boomstick Jumps in a same match on Crash
bObjectiveIsValidForMap[3] = 1; // Hit 3 Zeds with a shot of HRG Ballistic Bouncer (15 times) bObjectiveIsValidForMap[3] = 1; // Hit 2 Zeds with a shot of HRG Ballistic Bouncer (30 times)
bObjectiveIsValidForMap[4] = 0; // Complete wave 15 on Endless Hard or higher difficulty on Crash bObjectiveIsValidForMap[4] = 0; // Complete wave 15 on Endless Hard or higher difficulty on Crash
if (CapsMapName == "KF-CRASH") if (CapsMapName == "KF-CRASH")

View File

@ -37,6 +37,8 @@ simulated function StartFire()
if (WeapMesh != none) if (WeapMesh != none)
{ {
ChargeMIC = ChargeAttachment.CreateAndSetMaterialInstanceConstant(0);
WeapMesh.AttachComponentToSocket(ChargeAttachment, 'MuzzleFlash'); WeapMesh.AttachComponentToSocket(ChargeAttachment, 'MuzzleFlash');
} }
else else
@ -57,7 +59,7 @@ simulated event Tick(float DeltaTime)
{ {
local float ChargeValue; local float ChargeValue;
if(bIsCharging && !bIsFullyCharged) if (bIsCharging && !bIsFullyCharged)
{ {
ChargeValue = FMin(class'KFWeap_HRG_BallisticBouncer'.default.MaxChargeTime, WorldInfo.TimeSeconds - StartFireTime) / class'KFWeap_HRG_BallisticBouncer'.default.MaxChargeTime; ChargeValue = FMin(class'KFWeap_HRG_BallisticBouncer'.default.MaxChargeTime, WorldInfo.TimeSeconds - StartFireTime) / class'KFWeap_HRG_BallisticBouncer'.default.MaxChargeTime;
@ -67,6 +69,12 @@ simulated event Tick(float DeltaTime)
ChargeValue = 1.0f; ChargeValue = 1.0f;
} }
if (ChargeMIC != none)
{
// Change Color
ChargeMIC.SetScalarParameterValue('Charge', ChargeValue);
}
if( ChargeAttachment != none) if( ChargeAttachment != none)
{ {
ChargeAttachment.SetScale(MinProjPlaceholderScale + (MaxProjPlaceHolderScale - MinProjPlaceholderScale) * ChargeValue); ChargeAttachment.SetScale(MinProjPlaceholderScale + (MaxProjPlaceHolderScale - MinProjPlaceholderScale) * ChargeValue);

View File

@ -483,7 +483,6 @@ simulated state MineReconstructorCharge extends WeaponFiring
NotifyWeaponFinishedFiring(CurrentFireMode); NotifyWeaponFinishedFiring(CurrentFireMode);
super.HandleFinishedFiring(); super.HandleFinishedFiring();
//`Log("ChargePercentage"@ChargePercentage);
} }
simulated function PutDownWeapon() simulated function PutDownWeapon()
@ -577,6 +576,7 @@ simulated function KFProjectile SpawnProjectile(class<KFProjectile> KFProjClass,
BouncingProj.SetInheritedScale(FXScalingFactorByCharge, ChargePercentage); BouncingProj.SetInheritedScale(FXScalingFactorByCharge, ChargePercentage);
return BouncingProj; return BouncingProj;
} }
return none; return none;
} }
@ -645,8 +645,8 @@ defaultproperties
ValueIncreaseTime=0.1 ValueIncreaseTime=0.1
//FOR LERPING DAMANGE //FOR LERPING DAMANGE
MaxDamageByCharge=200 MaxDamageByCharge=300
MinDamageByCharge=10 MinDamageByCharge=15
// FOV // FOV
Meshfov=80 Meshfov=80
MeshIronSightFOV=65 //52 MeshIronSightFOV=65 //52
@ -768,4 +768,6 @@ defaultproperties
ChargeStaticMesh = StaticMesh'WEP_HRG_BallisticBouncer_EMIT.HRG_BallisticBouncer_ball_MESH' ChargeStaticMesh = StaticMesh'WEP_HRG_BallisticBouncer_EMIT.HRG_BallisticBouncer_ball_MESH'
MinProjPlaceholderScale = 2.0f; MinProjPlaceholderScale = 2.0f;
MaxProjPlaceholderScale = 3.0f; MaxProjPlaceholderScale = 3.0f;
UseFixedPhysicalFireLocation=true
} }

View File

@ -70,10 +70,11 @@ simulated function KFProjectile SpawnAllProjectiles(class<KFProjectile> KFProjCl
// 0.32 is a value the artists found that was needed to balance the aim in order to match the iron sight with the bullet impact position // 0.32 is a value the artists found that was needed to balance the aim in order to match the iron sight with the bullet impact position
R = QuatFromAxisAndAngle(Y, -0.32f * DegToRad); R = QuatFromAxisAndAngle(Y, -0.32f * DegToRad);
AimDir = QuatRotateVector(R, AimDir); AimDir = QuatRotateVector(R, AimDir);
return SpawnProjectile(KFProjClass, RealStartLoc, AimDir);
} }
} }
return SpawnProjectile(KFProjClass, RealStartLoc, AimDir); return super.SpawnAllProjectiles(KFProjClass, RealStartLoc, AimDir);
} }
simulated function ProcessInstantHitEx(byte FiringMode, ImpactInfo Impact, optional int NumHits, optional out float out_PenetrationVal, optional int ImpactNum ) simulated function ProcessInstantHitEx(byte FiringMode, ImpactInfo Impact, optional int NumHits, optional out float out_PenetrationVal, optional int ImpactNum )
@ -382,7 +383,7 @@ defaultproperties
FireInterval(DEFAULT_FIREMODE)=0.4 // 150 RPM // 0.8 // 75 RPM FireInterval(DEFAULT_FIREMODE)=0.4 // 150 RPM // 0.8 // 75 RPM
Spread(DEFAULT_FIREMODE)=0.005 Spread(DEFAULT_FIREMODE)=0.005
PenetrationPower(DEFAULT_FIREMODE)=0 PenetrationPower(DEFAULT_FIREMODE)=0
FireOffset=(X=30,Y=16,Z=-8) //FireOffset=(X=30,Y=16,Z=-8)
// BASH_FIREMODE // BASH_FIREMODE
InstantHitDamageTypes(BASH_FIREMODE)=class'KFDT_Bludgeon_HVStormCannon' InstantHitDamageTypes(BASH_FIREMODE)=class'KFDT_Bludgeon_HVStormCannon'