107 lines
3.9 KiB
Ucode
107 lines
3.9 KiB
Ucode
//=============================================================================
|
|
// KFGFxPerksContainer_Prestige
|
|
//=============================================================================
|
|
//
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2018 Tripwire Interactive LLC
|
|
// - Zane Gholson 3/7/2018
|
|
//=============================================================================
|
|
|
|
class KFGFxPerksContainer_Prestige extends KFGFxPerksContainer;
|
|
|
|
|
|
var localized string CurrentRankString;
|
|
var localized string NextRankString;
|
|
var localized string RewardString;
|
|
var localized string PrestigeDescriptionString;
|
|
var localized string PrestigeWarningString1;
|
|
var localized string PrestigeWarningString2;
|
|
var localized string PrestigeWarningString3;
|
|
var localized string AtMaxPrestigeLevelString;
|
|
var localized string NotHightenoughLevelString;
|
|
|
|
var GFxObject ConfirmPrestigeButton;
|
|
|
|
var KFPlayerController KFPC;
|
|
|
|
function Initialize(KFGFxObject_Menu NewParentMenu)
|
|
{
|
|
super.Initialize(NewParentMenu);
|
|
|
|
KFPC = KFPlayerController(GetPC());
|
|
|
|
LocalizeText();
|
|
ConfirmPrestigeButton = GetObject("confirmButton");
|
|
SendPerkData();
|
|
}
|
|
|
|
function LocalizeText()
|
|
{
|
|
local GFxObject LocalizedObject;
|
|
local String UpdatedDescriptionString;
|
|
local KFPerk CurrentPerk;
|
|
local int XpModifier;
|
|
CurrentPerk = KFPC.CurrentPerk;
|
|
|
|
XpModifier = KFPC.GetPerkPrestigeNextXPMultiplier(CurrentPerk.Class) * 100;
|
|
|
|
UpdatedDescriptionString = Repl(PrestigeDescriptionString, "%x%", string(XpModifier), true);
|
|
|
|
LocalizedObject = CreateObject("Object");
|
|
|
|
LocalizedObject.SetString("prestige", class'KFGFxMenu_Perks'.default.PrestigeString);
|
|
LocalizedObject.SetString("currentRank", CurrentRankString);
|
|
LocalizedObject.SetString("nextRank", NextRankString);
|
|
LocalizedObject.SetString("rewards", RewardString);
|
|
LocalizedObject.SetString("description", UpdatedDescriptionString);
|
|
LocalizedObject.SetString("cancel", class'KFCommon_LocalizedStrings'.default.CancelString);
|
|
LocalizedObject.SetString("confirm", class'KFCommon_LocalizedStrings'.default.ConfirmString);
|
|
LocalizedObject.SetString("warning1", PrestigeWarningString1);
|
|
LocalizedObject.SetString("warning2", PrestigeWarningString2);
|
|
LocalizedObject.SetString("warning3", PrestigeWarningString3);
|
|
LocalizedObject.SetString("atMaxRank", AtMaxPrestigeLevelString);
|
|
|
|
SetObject("localizedText", LocalizedObject);
|
|
}
|
|
|
|
|
|
function SendPerkData()
|
|
{
|
|
local KFPerk CurrentPerk;
|
|
|
|
local GFxObject DataObject, CurrentPerkDataObject, NextPerkDataObject;
|
|
local byte CurrentPrestigeLevel;
|
|
|
|
CurrentPerk = KFPC.CurrentPerk;
|
|
CurrentPrestigeLevel = KFPC.GetPerkPrestigeLevelFromPerkList(CurrentPerk.Class);
|
|
|
|
DataObject = CreateObject("Object");
|
|
CurrentPerkDataObject = CreateObject("Object");
|
|
NextPerkDataObject = CreateObject("Object");
|
|
|
|
//current perk
|
|
CurrentPerkDataObject.SetString("perkIcon", "img://"$CurrentPerk.GetPerkIconPath());
|
|
CurrentPerkDataObject.SetString("prestigeIcon", CurrentPerk.GetPrestigeIconPath(CurrentPrestigeLevel));
|
|
DataObject.SetObject("currentRank", CurrentPerkDataObject);
|
|
|
|
ConfirmPrestigeButton.SetBool("enabled", CurrentPrestigeLevel < `MAX_PRESTIGE_LEVEL);
|
|
|
|
//next rank
|
|
if (CurrentPrestigeLevel < `MAX_PRESTIGE_LEVEL)
|
|
{
|
|
NextPerkDataObject.SetString("perkIcon", "img://"$CurrentPerk.GetPerkIconPath());
|
|
NextPerkDataObject.SetString("prestigeIcon", CurrentPerk.GetPrestigeIconPath(CurrentPrestigeLevel + 1));
|
|
DataObject.SetObject("nextRank", NextPerkDataObject);
|
|
|
|
//reward for prestige
|
|
DataObject.SetString("rewardIcon", "img://"$CurrentPerk.default.PrestigeRewardItemIconPaths[CurrentPrestigeLevel]);
|
|
|
|
}
|
|
|
|
DataObject.SetInt("doshVaultValue", KFPC.GetPreStigeValueDoshRewardValue());
|
|
|
|
DataObject.SetBool("bAtPrestigeMaxLevel", CurrentPrestigeLevel >= `MAX_PRESTIGE_LEVEL);
|
|
|
|
SetObject("perkData", DataObject);
|
|
}
|