diff --git a/KFGame/Classes/KFGFxMenu_Inventory.uc b/KFGame/Classes/KFGFxMenu_Inventory.uc index 286da3d..33055a0 100644 --- a/KFGame/Classes/KFGFxMenu_Inventory.uc +++ b/KFGame/Classes/KFGFxMenu_Inventory.uc @@ -257,6 +257,8 @@ function UpdateCraftButtons() function OnOpen() { + class'GameEngine'.static.GetPlayfabInterface().ReadInventory(); + //@SABER_EGS IsEosBuild() case added if( class'WorldInfo'.static.IsConsoleBuild() || class'WorldInfo'.static.IsEosBuild() ) { @@ -412,6 +414,24 @@ function InitInventory() return; } + if (class'WorldInfo'.static.IsConsoleBuild() || class'WorldInfo'.static.IsEosBuild() ) + { + if (OnlineSub.CurrentInventory.Length == 0) + { + SetObject("inventoryList", ItemArray); + return; + } + } + else + { + if (!OnlineSub.bInventoryReady) + { + // If the inventory is not ready just send an empty array. + SetObject("inventoryList", ItemArray); + return; + } + } + // While reading from the profile we also order by type, then we might want to order again some stuff that's inside the same item type later //`Log("NEW MENU OPEN: " $CurrentInventoryFilter); diff --git a/KFGameContent/Classes/KFPawn_HRG_Warthog.uc b/KFGameContent/Classes/KFPawn_HRG_Warthog.uc index 86b541d..a5757c9 100644 --- a/KFGameContent/Classes/KFPawn_HRG_Warthog.uc +++ b/KFGameContent/Classes/KFPawn_HRG_Warthog.uc @@ -680,6 +680,10 @@ simulated state Detonate local float Angle, FuseTime; local KFProj_HighExplosive_HRG_Warthog Projectile; local array FuseTimes; + local GameExplosion ExplosionToUse; + local KFPawn PawnInstigator; + local KFPerk Perk; + local float OriginalDamageRadiusDroneExplosion; // Shoot grenades around @@ -748,7 +752,24 @@ simulated state Detonate ExploActor.Instigator = Instigator; ExploActor.bIgnoreInstigator = true; - ExploActor.Explode(PrepareExplosionTemplate()); + ExplosionToUse = PrepareExplosionTemplate(); + + OriginalDamageRadiusDroneExplosion = ExplosionToUse.DamageRadius; + + PawnInstigator = KFPawn(Instigator); + if (PawnInstigator != None) + { + Perk = PawnInstigator.GetPerk(); + if (Perk != None) + { + ExplosionToUse.DamageRadius = OriginalDamageRadiusDroneExplosion * Perk.GetAoERadiusModifier(); + } + } + + ExploActor.Explode(ExplosionToUse); + + // Revert to original + ExplosionToUse.DamageRadius = OriginalDamageRadiusDroneExplosion; } Destroy(); @@ -1191,10 +1212,8 @@ simulated function ClearFlashCount(Weapon InWeapon) simulated function GameExplosion PrepareExplosionTemplate() { local KFPawn PawnInstigator; - local KFPerk Perk; local GameExplosion NewTemplate; - PawnInstigator = KFPawn(Instigator); if (PawnInstigator != None) { @@ -1204,12 +1223,6 @@ simulated function GameExplosion PrepareExplosionTemplate() { NewTemplate = default.ExplosionTemplate; } - - Perk = PawnInstigator.GetPerk(); - if (Perk != None) - { - NewTemplate.DamageRadius *= Perk.GetAoERadiusModifier(); - } } return NewTemplate;