2017-10-20 07:02:53 +00:00
|
|
|
Class Ext_TraitPenetrator extends Ext_TraitBase;
|
|
|
|
|
|
|
|
static function string GetPerkDescription()
|
|
|
|
{
|
|
|
|
local string S;
|
|
|
|
|
|
|
|
S = Super.GetPerkDescription();
|
2021-01-15 09:02:32 +00:00
|
|
|
S $= "|Trait requires prestige level: #{FF4000}2"; // TODO: Localization
|
2017-10-20 07:02:53 +00:00
|
|
|
return S;
|
|
|
|
}
|
|
|
|
|
2020-11-28 20:04:55 +00:00
|
|
|
static function bool MeetsRequirements(byte Lvl, Ext_PerkBase Perk)
|
2017-10-20 07:02:53 +00:00
|
|
|
{
|
|
|
|
local int i;
|
|
|
|
|
2020-11-28 20:12:58 +00:00
|
|
|
if (Perk.CurrentLevel<Default.MinLevel || Perk.CurrentPrestige<2)
|
2017-10-20 07:02:53 +00:00
|
|
|
return false;
|
|
|
|
|
2020-11-28 20:12:58 +00:00
|
|
|
for (i=0; i<Perk.PerkTraits.Length; ++i)
|
2017-10-20 07:02:53 +00:00
|
|
|
{
|
2020-11-28 20:12:58 +00:00
|
|
|
if (Perk.PerkTraits[i].TraitType==Class'Ext_TraitAPShots')
|
2017-10-20 07:02:53 +00:00
|
|
|
{
|
2020-11-28 20:12:58 +00:00
|
|
|
if (Perk.PerkTraits[i].CurrentLevel <= 0)
|
2017-10-20 07:02:53 +00:00
|
|
|
return false;
|
|
|
|
else break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2020-11-28 20:04:55 +00:00
|
|
|
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
2017-10-20 07:02:53 +00:00
|
|
|
{
|
|
|
|
Ext_PerkSupport(Perk).bUsePerforate = true;
|
|
|
|
}
|
|
|
|
|
2020-11-28 20:04:55 +00:00
|
|
|
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
|
2017-10-20 07:02:53 +00:00
|
|
|
{
|
|
|
|
Ext_PerkSupport(Perk).bUsePerforate = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
defaultproperties
|
|
|
|
{
|
|
|
|
SupportedPerk=class'Ext_PerkSupport'
|
|
|
|
TraitGroup=class'Ext_TGroupZEDTime'
|
|
|
|
NumLevels=1
|
|
|
|
DefLevelCosts(0)=50
|
|
|
|
DefMinLevel=65
|
|
|
|
}
|