Merge pull request #44 from secretagentjr/master
Update Recoil / Spread to be flat reduction, capping out at 100%, allow knockback to go above 100%
This commit is contained in:
commit
53b8933952
Binary file not shown.
@ -1171,10 +1171,10 @@ simulated function float ApplyEffect(name Type, float Value, float Progress)
|
||||
Modifiers[1] = 1.f + (Value*Progress);
|
||||
break;
|
||||
case 'Recoil':
|
||||
Modifiers[2] = 1.f / (1.f+Value*Progress);
|
||||
Modifiers[2] = 1.f - (Value*Progress);
|
||||
break;
|
||||
case 'Spread':
|
||||
Modifiers[3] = 1.f / (1.f+Value*Progress);
|
||||
Modifiers[3] = 1.f - (Value*Progress);
|
||||
break;
|
||||
case 'Rate':
|
||||
Modifiers[4] = 1.f / (1.f+Value*Progress);
|
||||
@ -1191,8 +1191,8 @@ simulated function float ApplyEffect(name Type, float Value, float Progress)
|
||||
}
|
||||
break;
|
||||
case 'KnockDown':
|
||||
Modifiers[7] = FMin(1.f + (Value*Progress),2.f);
|
||||
return (Modifiers[7]-1.f);
|
||||
Modifiers[7] = 1.f + (Value*Progress);
|
||||
break;
|
||||
case 'Welder':
|
||||
Modifiers[8] = 1.f + (Value*Progress);
|
||||
break;
|
||||
@ -1556,8 +1556,8 @@ defaultproperties
|
||||
|
||||
DefPerkStats(0)=(MaxValue=50,CostPerValue=1,StatType="Speed",Progress=0.4)
|
||||
DefPerkStats(1)=(MaxValue=1000,CostPerValue=1,StatType="Damage",Progress=0.5)
|
||||
DefPerkStats(2)=(MaxValue=90,CostPerValue=1,StatType="Recoil",Progress=1)
|
||||
DefPerkStats(3)=(MaxValue=80,CostPerValue=1,StatType="Spread",Progress=0.75)
|
||||
DefPerkStats(2)=(MaxValue=100,CostPerValue=1,StatType="Recoil",Progress=1)
|
||||
DefPerkStats(3)=(MaxValue=100,CostPerValue=1,StatType="Spread",Progress=1)
|
||||
DefPerkStats(4)=(MaxValue=1000,CostPerValue=1,StatType="Rate",Progress=0.5)
|
||||
DefPerkStats(5)=(MaxValue=1000,CostPerValue=1,StatType="Reload",Progress=0.5)
|
||||
DefPerkStats(6)=(MaxValue=150,CostPerValue=1,StatType="Health",Progress=1)
|
||||
|
@ -1,5 +1,48 @@
|
||||
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
|
||||
{
|
||||
PerkIcon=Texture2D'UI_PerkIcons_TEX.UI_PerkIcon_Firebug'
|
||||
@ -7,6 +50,10 @@ defaultproperties
|
||||
DefTraitList.Add(class'Ext_TraitNapalm')
|
||||
DefTraitList.Add(class'Ext_TraitFireExplode')
|
||||
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'
|
||||
|
||||
PrimaryMelee=class'KFWeap_Knife_Firebug'
|
||||
|
16
ServerExt/Classes/Ext_TraitGroundFire.uc
Normal file
16
ServerExt/Classes/Ext_TraitGroundFire.uc
Normal 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
|
||||
}
|
16
ServerExt/Classes/Ext_TraitHeatWave.uc
Normal file
16
ServerExt/Classes/Ext_TraitHeatWave.uc
Normal 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
|
||||
}
|
31
ServerExt/Classes/Ext_TraitInferno.uc
Normal file
31
ServerExt/Classes/Ext_TraitInferno.uc
Normal 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
|
||||
}
|
31
ServerExt/Classes/Ext_TraitPyromaniac.uc
Normal file
31
ServerExt/Classes/Ext_TraitPyromaniac.uc
Normal 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
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user