Skip to content

Commit

Permalink
Merge pull request #44 from secretagentjr/master
Browse files Browse the repository at this point in the history
Update Recoil / Spread to be flat reduction, capping out at 100%, allow knockback to go above 100%
  • Loading branch information
GenZmeY committed Sep 9, 2023
2 parents 06c3265 + 1e7bcd7 commit 53b8933
Show file tree
Hide file tree
Showing 7 changed files with 147 additions and 6 deletions.
Binary file modified Localization/INT/ServerExt.int
Binary file not shown.
12 changes: 6 additions & 6 deletions ServerExt/Classes/Ext_PerkBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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;
Expand Down Expand Up @@ -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)
Expand Down
47 changes: 47 additions & 0 deletions ServerExt/Classes/Ext_PerkFirebug.uc
Original file line number Diff line number Diff line change
@@ -1,12 +1,59 @@
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'
DefTraitList.Add(class'Ext_TraitWPFire')
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'
Expand Down
16 changes: 16 additions & 0 deletions ServerExt/Classes/Ext_TraitGroundFire.uc
Original file line number Diff line number Diff line change
@@ -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 changes: 16 additions & 0 deletions ServerExt/Classes/Ext_TraitHeatWave.uc
Original file line number Diff line number Diff line change
@@ -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 changes: 31 additions & 0 deletions ServerExt/Classes/Ext_TraitInferno.uc
Original file line number Diff line number Diff line change
@@ -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 changes: 31 additions & 0 deletions ServerExt/Classes/Ext_TraitPyromaniac.uc
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 53b8933

Please sign in to comment.