Add Some Firebug Traits

This commit is contained in:
secretagentjr 2023-07-23 17:43:50 -07:00
parent 53f63934b1
commit daa0bd72e9
6 changed files with 141 additions and 0 deletions

Binary file not shown.

View File

@ -1,5 +1,48 @@
Class Ext_PerkFirebug extends Ext_PerkBase; Class Ext_PerkFirebug extends Ext_PerkBase;
var bool bUseInferno,bUsePyromaniac,bUseGroundFire,bUseHeatWave;
replication
{
// Things the server should send to the client.
if (true)
bUseInferno,bUsePyromaniac,bUseGroundFire,bUseHeatWave;
}
simulated final private function bool IsInfernoActive()
{
return bUseInferno && WorldInfo.TimeDilation < 1.f;
}
simulated function bool GetIsUberAmmoActive(KFWeapon KFW)
{
return bUsePyromaniac && IsWeaponOnPerk(KFW) && WorldInfo.TimeDilation < 1.f;
}
simulated function float GetZedTimeModifier(KFWeapon W)
{
local name StateName;
if (bUsePyromaniac && IsWeaponOnPerk(W))
{
StateName = W.GetStateName();
if (BasePerk.Default.ZedTimeModifyingStates.Find(StateName) != INDEX_NONE || StateName == 'Reloading')
return 1.f;
}
return 0.f;
}
simulated final private function bool IsGroundFireActive()
{
return bUseGroundFire;
}
simulated final private function bool IsHeatWaveActive()
{
return bUseHeatWave;
}
defaultproperties defaultproperties
{ {
PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Firebug' PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Firebug'
@ -7,6 +50,10 @@ defaultproperties
DefTraitList.Add(class'Ext_TraitNapalm') DefTraitList.Add(class'Ext_TraitNapalm')
DefTraitList.Add(class'Ext_TraitFireExplode') DefTraitList.Add(class'Ext_TraitFireExplode')
DefTraitList.Add(class'Ext_TraitFireRange') DefTraitList.Add(class'Ext_TraitFireRange')
DefTraitList.Add(class'Ext_TraitInferno')
DefTraitList.Add(class'Ext_TraitPyromaniac')
DefTraitList.Add(class'Ext_TraitGroundFire')
DefTraitList.Add(class'Ext_TraitHeatWave')
BasePerk=class'KFPerk_Firebug' BasePerk=class'KFPerk_Firebug'
PrimaryMelee=class'KFWeap_Knife_Firebug' PrimaryMelee=class'KFWeap_Knife_Firebug'

View File

@ -0,0 +1,16 @@
Class Ext_TraitGroundFire extends Ext_TraitBase;
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUseGroundFire = true;
}
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUseGroundFire = false;
}
defaultproperties
{
DefLevelCosts(0)=50
}

View File

@ -0,0 +1,16 @@
Class Ext_TraitHeatWave extends Ext_TraitBase;
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUseHeatWave = true;
}
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUseHeatWave = false;
}
defaultproperties
{
DefLevelCosts(0)=50
}

View File

@ -0,0 +1,31 @@
Class Ext_TraitInferno extends Ext_TraitBase;
var localized string GroupDescription;
function string GetPerkDescription()
{
local string S;
S = Super.GetPerkDescription();
S $= "|"$GroupDescription;
return S;
}
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUseInferno = true;
}
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUseInferno = false;
}
defaultproperties
{
SupportedPerk=class'Ext_PerkFirebug'
TraitGroup=class'Ext_TGroupZEDTime'
NumLevels=1
DefLevelCosts(0)=50
//DefMinLevel=65
}

View File

@ -0,0 +1,31 @@
Class Ext_TraitPyromaniac extends Ext_TraitBase;
var localized string GroupDescription;
function string GetPerkDescription()
{
local string S;
S = Super.GetPerkDescription();
S $= "|"$GroupDescription;
return S;
}
static function TraitActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUsePyromaniac = true;
}
static function TraitDeActivate(Ext_PerkBase Perk, byte Level, optional Ext_TraitDataStore Data)
{
Ext_PerkFirebug(Perk).bUsePyromaniac = false;
}
defaultproperties
{
SupportedPerk=class'Ext_PerkFirebug'
TraitGroup=class'Ext_TGroupZEDTime'
NumLevels=1
DefLevelCosts(0)=50
//DefMinLevel=65
}