class ExtHUD_PlayerStatus extends KFGFxHUD_PlayerStatus; var ExtPlayerController ExPC; var class ExLastPerkClass; var string CurPerkPath; function InitializeHUD() { Super.InitializeHUD(); ExPC = ExtPlayerController(MyPC); } function UpdatePerk() { local int CurrentPerkLevel,CurrentPerkEXP; local Ext_PerkBase CurrentPerk; local GFxObject PerkIconObject; if( ExPC == none || ExPC.ActivePerkManager==None || ExPC.ActivePerkManager.CurrentPerk==None ) return; CurrentPerk = ExPC.ActivePerkManager.CurrentPerk; CurrentPerkLevel = CurrentPerk.CurrentLevel; CurrentPerkEXP = CurrentPerk.CurrentEXP; // Update the perk class. if( ( ExLastPerkClass != CurrentPerk.Class ) || ( LastPerkLevel != CurrentPerkLevel ) ) { CurPerkPath = CurrentPerk.GetPerkIconPath(CurrentPerkLevel); PerkIconObject = CreateObject("Object"); PerkIconObject.SetString("perkIcon", CurPerkPath); SetObject("playerPerkIcon", PerkIconObject); SetInt("playerPerkXPPercent", CurrentPerk.GetProgressPercent() * 100.f ); if( LastPerkLevel != CurrentPerkLevel && ExLastPerkClass==CurrentPerk.Class ) { SetBool("bLevelUp", true); ShowXPBark(CurrentPerkEXP-LastEXPValue,CurPerkPath,true); } ExLastPerkClass = CurrentPerk.class; SetInt("playerPerkLevel" , CurrentPerkLevel); LastPerkLevel = CurrentPerkLevel; LastEXPValue = CurrentPerkEXP; } else if( LastEXPValue!=CurrentPerkEXP ) { SetBool("bLevelUp", false); SetInt("playerPerkXPPercent", CurrentPerk.GetProgressPercent() * 100.f ); ShowXPBark(CurrentPerkEXP-LastEXPValue,CurPerkPath,true); LastEXPValue = CurrentPerkEXP; } } function ShowXPBark( int DeltaXP, string IconPath, bool bIsCurrentPerk ) { ActionScriptVoid("showXPBark"); } function UpdateHealth() { if( MyPC.Pawn == none ) { LastHealth = 0; SetInt("playerHealth" , LastHealth); } else if( LastHealth != MyPC.Pawn.Health ) { LastHealth = MyPC.Pawn.Health; SetInt("playerHealth" , LastHealth); } } defaultproperties { }