Skip to content

Commit

Permalink
v3.3.2.3 Alpha Merge pull request #1101 from Die4Ever/develop
Browse files Browse the repository at this point in the history
v3.3.2.3 Alpha
  • Loading branch information
Die4Ever authored Feb 4, 2025
2 parents 81a8c6e + 437b878 commit 86bae45
Show file tree
Hide file tree
Showing 92 changed files with 1,341 additions and 531 deletions.
8 changes: 0 additions & 8 deletions DXRBalance/DeusEx/Classes/AssaultGunBalance.uc

This file was deleted.

26 changes: 18 additions & 8 deletions DXRBalance/DeusEx/Classes/AugAqualung.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,29 @@ function PostPostBeginPlay()
{
Super.PostPostBeginPlay();
// description gets overwritten by language file, also DXRAugmentations reads from the default.Description
default.Description = "Soda lime exostructures imbedded in the alveoli of the lungs convert CO2 to O2, allowing an agent to remain underwater indefinitely.";
Description = default.Description;
}

simulated function bool IsTicked()
{// aqualung is, conceptually, always on
return bIsActive && Player != None && Player.HeadRegion.Zone.bWaterZone;
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
Description = "Soda lime exostructures imbedded in the alveoli of the lungs convert CO2 to O2, allowing an agent to remain underwater indefinitely.";
MaxLevel = 0;
EnergyRate = 0;
bAlwaysActive = true;
} else {
Description = "Soda lime exostructures imbedded in the alveoli of the lungs convert CO2 to O2, extending the time an agent can remain underwater."
$ "|n|nTECH ONE: Lung capacity is extended slightly.|n|nTECH TWO: Lung capacity is extended moderately."
$ "|n|nTECH THREE: Lung capacity is extended significantly.|n|nTECH FOUR: An agent can stay underwater indefinitely.";
MaxLevel = 3;
EnergyRate = 10;
bAlwaysActive = false;
}
default.Description = Description;
default.MaxLevel = MaxLevel;
default.EnergyRate = EnergyRate;
default.bAlwaysActive = bAlwaysActive;
}

function Tick(float deltaTime)
{
Super.Tick(deltaTime);
if (IsTicked()) {
if (IsTicked() && EnergyRate==0) {
player.swimTimer = player.swimDuration;
}
}
Expand Down
11 changes: 11 additions & 0 deletions DXRBalance/DeusEx/Classes/AugBallistic.uc
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
class DXRAugBallistic injects AugBallistic;

function BeginPlay()
{
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
Level5Value = 0.15;
} else {
Level5Value = -1;
}
default.Level5Value = Level5Value;
Super.BeginPlay();
}

// vanilla level 1 is 0.80 (20%) but rounding causes it to show as 19%
defaultproperties
{
Expand Down
11 changes: 11 additions & 0 deletions DXRBalance/DeusEx/Classes/AugCombat.uc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@ simulated function TickUse()
Super.TickUse();
}

function BeginPlay()
{
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
Level5Value = 2.25;
} else {
Level5Value = -1;
}
default.Level5Value = Level5Value;
Super.BeginPlay();
}

defaultproperties
{
bAutomatic=true
Expand Down
13 changes: 11 additions & 2 deletions DXRBalance/DeusEx/Classes/AugDefense.uc
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,20 @@ Begin:
SetTimer(0.1, True);
}

function BeginPlay()
{
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
EnergyRate=30;
} else {
EnergyRate=10;
}
default.EnergyRate = EnergyRate;
Super.BeginPlay();
}

// vanilla is mpEnergyDrain=35, EnergyRate=10, vanilla AugBallistic is mpEnergyDrain=90, EnergyRate=60
// vanilla is EnergyRate=10, vanilla AugBallistic is EnergyRate=60
defaultproperties
{
bAutomatic=true
mpEnergyDrain=60.000000
EnergyRate=30.000000
}
30 changes: 26 additions & 4 deletions DXRBalance/DeusEx/Classes/AugEMP.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,35 @@ function PostPostBeginPlay()
{
Super.PostPostBeginPlay();
// DXRando: AugEMP makes you immune to Scramble Grenades
default.Description = "Nanoscale EMP generators partially protect individual nanites and reduce bioelectrical drain by canceling incoming pulses. "
$ "All levels make you immune to Scramble Grenades."
$ "|n|nTECH ONE: Damage from EMP attacks is reduced slightly."
Description = "Nanoscale EMP generators partially protect individual nanites and reduce bioelectrical drain by canceling incoming pulses. ";
if(class'MenuChoice_BalanceEtc'.static.IsEnabled()) {
Description = Description $ "All levels make you immune to Scramble Grenades.";
}
Description = Description $ "|n|nTECH ONE: Damage from EMP attacks is reduced slightly."
$ "|n|nTECH TWO: Damage from EMP attacks is reduced moderately."
$ "|n|nTECH THREE: Damage from EMP attacks is reduced significantly."
$ "|n|nTECH FOUR: An agent is nearly invulnerable to damage from EMP attacks.";
Description = default.Description;
default.Description = Description;
}

function BeginPlay()
{
local int i;
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
LevelValues[0] = 0.7;
LevelValues[1] = 0.4;
LevelValues[2] = 0.2;
LevelValues[3] = 0;
} else {
LevelValues[0] = 0.75;
LevelValues[1] = 0.5;
LevelValues[2] = 0.25;
LevelValues[3] = 0;
}
for(i=0; i<ArrayCount(LevelValues); i++) {
default.LevelValues[i] = LevelValues[i];
}
Super.BeginPlay();
}

defaultproperties
Expand Down
39 changes: 34 additions & 5 deletions DXRBalance/DeusEx/Classes/AugHeartLung.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,39 @@ function PostPostBeginPlay()
{
Super.PostPostBeginPlay();
// description gets overwritten by language file, also DXRAugmentations reads from the default.Description
default.Description = "This synthetic heart circulates not only blood but a steady concentration of mechanochemical power cells, smart phagocytes, and liposomes containing prefab diamondoid machine parts,"
$ " resulting in upgraded performance for all installed augmentations, but also increasing their energy use."
$ "|n|n<UNATCO OPS FILE NOTE JR133-VIOLET> However, not all augmentations can be enhanced past their maximum upgrade level. -- Jaime Reyes <END NOTE>";
Description = default.Description;
UpdateBalance();
}

function UpdateBalance()
{
if(bAutomatic) {
Description = "This synthetic heart circulates not only blood but a steady concentration of mechanochemical power cells, smart phagocytes, and liposomes containing prefab diamondoid machine parts,"
$ " resulting in upgraded performance for all installed augmentations, but also increasing their energy use."
$ "|n|n<UNATCO OPS FILE NOTE JR133-VIOLET> ";

} else {
Description = "This synthetic heart circulates not only blood but a steady concentration of mechanochemical power cells, smart phagocytes, and liposomes containing prefab diamondoid machine parts,"
$ " resulting in upgraded performance for all installed augmentations."
$ "|n|n<UNATCO OPS FILE NOTE JR133-VIOLET> ";
}
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
Description = Description $ "However, not all augmentations can be enhanced past their maximum upgrade level. -- Jaime Reyes <END NOTE>";
MaxLevel=3;
LevelValues[0]=2;
} else {
Description = Description $ "However, this will not enhance any augmentation past its maximum upgrade level. -- Jaime Reyes <END NOTE>|n|nNO UPGRADES";
MaxLevel=0;
LevelValues[0]=1;
}
default.Description = Description;
default.MaxLevel = MaxLevel;
default.LevelValues[0] = LevelValues[0];
}

simulated function SetAutomatic()
{
Super.SetAutomatic();
UpdateBalance();
}

function Deactivate()
Expand All @@ -20,7 +49,7 @@ function Deactivate()

defaultproperties
{
EnergyRate=0
AutoEnergyMult=0
MaxLevel=3
LevelValues(0)=2
LevelValues(1)=1.75
Expand Down
36 changes: 30 additions & 6 deletions DXRBalance/DeusEx/Classes/AugMuscle.uc
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,47 @@ class DXRAugMuscle injects AugMuscle;
function PostPostBeginPlay()
{
Super.PostPostBeginPlay();
// description gets overwritten by language file, also DXRAugmentations reads from the default.Description
default.Description = "Muscle strength is amplified with ionic polymeric gel myofibrils that allow the agent to push and lift extraordinarily heavy objects."
$ "|n|nTECH ONE: Strength is increased slightly.|n|nTECH TWO: An agent is inhumanly strong.";
Description = default.Description;
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
// description gets overwritten by language file, also DXRAugmentations reads from the default.Description
Description = "Muscle strength is amplified with ionic polymeric gel myofibrils that allow the agent to push and lift extraordinarily heavy objects."
$ "|n|nTECH ONE: Strength is increased slightly.|n|nTECH TWO: An agent is inhumanly strong.";
} else {
Description = "Muscle strength is amplified with ionic polymeric gel myofibrils that allow the agent to push and lift extraordinarily heavy objects."
$ "|n|nTECH ONE: Strength is increased slightly.|n|nTECH TWO: Strength is increased moderately."
$ "|n|nTECH THREE: Strength is increased significantly.|n|nTECH FOUR: An agent is inhumanly strong.";
}
default.Description = Description;
}

simulated function int GetClassLevel()
{
if (bHasIt && bIsActive)
{
if(MaxLevel == 3 && bHasIt && bIsActive) {
return CurrentLevel;
} else if (bHasIt && bIsActive) {
// we squished the AugMuscle levels to make it more useful, and some things use the level instead of the strength
return CurrentLevel * 3;// aug levels start with 0
}
else
return -1;
}

function BeginPlay()
{
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
MaxLevel = 1;
LevelValues[0] = 1.25;
LevelValues[1] = 2;
} else {
MaxLevel = 3;
LevelValues[0] = 1.25;
LevelValues[1] = 1.5;
}
default.MaxLevel = MaxLevel;
default.LevelValues[0] = LevelValues[0];
default.LevelValues[1] = LevelValues[1];
Super.BeginPlay();
}

// LevelValues only affect throwing velocity in vanilla, and in DXRando also DoJump
// otherwise vanilla uses GetClassLevel() + 2
defaultproperties
Expand Down
14 changes: 14 additions & 0 deletions DXRBalance/DeusEx/Classes/AugShield.uc
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
class DXRAugShield injects AugShield;

function BeginPlay()
{
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
EnergyRate = 25;
Level5Value = 0.05;
} else {
EnergyRate = 40;
Level5Value = -1;
}
default.EnergyRate = EnergyRate;
default.Level5Value = Level5Value;
Super.BeginPlay();
}

// vanilla level 1 is 0.80 (20%) but rounding causes it to show as 19%, same issue with level 2
// vanilla EnergyRate is 40, mpEnergyDrain is 25
defaultproperties
Expand Down
11 changes: 11 additions & 0 deletions DXRBalance/DeusEx/Classes/AugTarget.uc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,17 @@ simulated function SetTargetingAugStatus(int Level, bool IsActive)
DeusExRootWindow(Player.rootWindow).hud.augDisplay.targetLevel = Level;
}

function BeginPlay()
{
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
Level5Value=-0.25;
} else {
Level5Value=-1;
}
default.Level5Value = Level5Value;
Super.BeginPlay();
}

defaultproperties
{
bAutomatic=true
Expand Down
14 changes: 14 additions & 0 deletions DXRBalance/DeusEx/Classes/BalanceAmmoShuriken.uc
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
class BalanceAmmoShuriken injects AmmoShuriken;

function BeginPlay()
{
if(class'MenuChoice_BalanceItems'.static.IsEnabled()) {
AmmoAmount=10;
MaxAmmo=100;
} else {
AmmoAmount=5;
MaxAmmo=25;
}
default.AmmoAmount = AmmoAmount;
default.MaxAmmo = MaxAmmo;
Super.BeginPlay();
}

defaultproperties
{
AmmoAmount=10
Expand Down
49 changes: 42 additions & 7 deletions DXRBalance/DeusEx/Classes/BalanceAugDrone.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,22 @@ function PostPostBeginPlay()
{
Super.PostPostBeginPlay();
// description gets overwritten by language file, also DXRAugmentations reads from the default.Description
default.Description = "Advanced nanofactories can assemble a spy drone upon demand which can then be remotely controlled by the agent until released or destroyed, at which a point a new drone will be assembled."
$ " Detonating the drone costs 10 energy. Further upgrades equip the spy drones with better armor and a one-shot EMP attack."
$ "|n|nTECH ONE: The drone is slow and has a very light EMP attack."
$ "|n|nTECH TWO: The drone is fast and has a light EMP attack."
$ "|n|nTECH THREE: The drone is very fast and has a medium EMP attack."
$ "|n|nTECH FOUR: The drone is extremely fast and has a strong EMP attack.";
Description = default.Description;
if(reconstructTime==1) {
Description = "Advanced nanofactories can assemble a spy drone upon demand which can then be remotely controlled by the agent until released or destroyed, at which a point a new drone will be assembled."
$ " Detonating the drone costs 10 energy. Further upgrades equip the spy drones with better armor and a one-shot EMP attack."
$ "|n|nTECH ONE: The drone is slow and has a very light EMP attack."
$ "|n|nTECH TWO: The drone is fast and has a light EMP attack."
$ "|n|nTECH THREE: The drone is very fast and has a medium EMP attack."
$ "|n|nTECH FOUR: The drone is extremely fast and has a strong EMP attack.";
} else {
Description = "Advanced nanofactories can assemble a spy drone upon demand which can then be remotely controlled by the agent until released or destroyed, at which a point a new drone will be assembled."
$ " Further upgrades equip the spy drones with better armor and a one-shot EMP attack."
$ "|n|nTECH ONE: The drone can take little damage and has a very light EMP attack."
$ "|n|nTECH TWO: The drone can take minor damage and has a light EMP attack."
$ "|n|nTECH THREE: The drone can take moderate damage and has a medium EMP attack."
$ "|n|nTECH FOUR: The drone can take heavy damage and has a strong EMP attack.";
}
default.Description = Description;
}

function Reset()
Expand All @@ -24,6 +33,32 @@ function Reset()
Human(Player).SetDroneStats();
}

function BeginPlay()
{
local int i;
if(class'MenuChoice_BalanceAugs'.static.IsEnabled()) {
reconstructTime=1;
EnergyRate=20;
LevelValues[0]=30;
LevelValues[1]=50;
LevelValues[2]=70;
LevelValues[3]=100;
} else {
reconstructTime=30;
EnergyRate=150;
LevelValues[0]=10;
LevelValues[1]=20;
LevelValues[2]=35;
LevelValues[3]=50;
}
default.reconstructTime=reconstructTime;
default.EnergyRate=EnergyRate;
for(i=0; i<ArrayCount(LevelValues); i++) {
default.LevelValues[i] = LevelValues[i];
}
Super.BeginPlay();
}

// original values went from 10 to 50, but we also adjust the multipliers in BalancePlayer.uc
defaultproperties
{
Expand Down
Loading

0 comments on commit 86bae45

Please sign in to comment.