Skip to content

Commit

Permalink
v3.1.0.8 Beta Merge pull request #923 from Die4Ever/develop
Browse files Browse the repository at this point in the history
v3.1.0.8 Beta
  • Loading branch information
Die4Ever authored Aug 23, 2024
2 parents b67ced6 + de09ae6 commit 3171288
Show file tree
Hide file tree
Showing 60 changed files with 1,141 additions and 260 deletions.
1 change: 1 addition & 0 deletions DXRBalance/DeusEx/Classes/BalancePS40.uc
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,5 @@ function int UpgradeToPS40()
defaultproperties
{
HitDamage=15// in between the 8 damage bugged vanilla, and the 25 or 40 damage the code implies vanilla intended
ProjectileClass=Class'PlasmaBoltFixTicks'
}
15 changes: 14 additions & 1 deletion DXRBalance/DeusEx/Classes/BalancePlayer.uc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ function TakeDamage(int Damage, Pawn instigatedBy, Vector hitlocation, Vector mo
AddDamageDisplay('NanoVirus', vect(0,0,0));
SetDamagePercent(1);
}
} else if (damageType=='Shot'){
if (WineBulletsActive()){
drugEffectTimer+=3.0;
}
}
Super.TakeDamage(Damage, instigatedBy, hitlocation, momentum, damageType);
}
Expand Down Expand Up @@ -294,6 +298,13 @@ function float GetDamageMultiplier()
return float(datastorage.GetConfigKey('cc_damageMult'));
}

function bool WineBulletsActive()
{
local DataStorage datastorage;
datastorage = class'DataStorage'.static.GetObjFromPlayer(self);
return bool(datastorage.GetConfigKey('cc_WineBullets'));
}

function CatchFire( Pawn burner )
{
local bool doSetTimer;
Expand Down Expand Up @@ -765,7 +776,9 @@ state PlayerWalking

GroundSpeed = FMax(newSpeed, 100);
if(Level.LevelAction != LEVACT_None) GroundSpeed = 0;// DXRando: don't move during loading/randomization/autosave
else if(DeltaTime > 0.1 && class'MenuChoice_FixGlitches'.default.enabled) GroundSpeed /= 4 * DeltaTime;// DXRando: anyone running the game at 10fps?
else if(DeltaTime > 0.1 && class'MenuChoice_FixGlitches'.default.enabled) {// for quicksaves
GroundSpeed *= FClamp(0.25 / DeltaTime, 0.5, 0.85);// DXRando: anyone running the game at 10fps?
}

// if we are moving or crouching, we can't lean
// uncomment below line to disallow leaning during crouch
Expand Down
4 changes: 2 additions & 2 deletions DXRBalance/DeusEx/Classes/BuffAugVision.uc
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ simulated function SetVisionAugStatus(int Level, int LevelValue, bool IsActive)
// level value is feet*16
defaultproperties
{
LevelValues(0)=120
LevelValues(1)=240
LevelValues(0)=160
LevelValues(1)=320
LevelValues(2)=640
LevelValues(3)=1600
}
5 changes: 0 additions & 5 deletions DXRBalance/DeusEx/Classes/WeaponModAccuracyBalance.uc
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@ simulated function bool CanUpgradeWeapon(DeusExWeapon weapon)
if (weapon == None) return false;
return (weapon.bCanHaveModBaseAccuracy && weapon.ModBaseAccuracy < 0.5);
}

defaultproperties
{
WeaponModifier=0.125
}
10 changes: 5 additions & 5 deletions DXRCore/DeusEx/Classes/DXRBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ simulated function bool RandoLevelValues(Actor a, float min, float max, float we
}
#endif
if(dxr.flags.IsZeroRando()) {
if(wet == 0) {
s = "(Strength) " $ word $ ":|n " $ s;
} else {
s = "(DXRando) " $ word $ ":|n " $ s;
Expand Down Expand Up @@ -378,13 +378,13 @@ simulated function RemoveSmallestJump(int len, out float a[16])
}
}
simulated function string DescriptionLevel(Actor act, int i, out string word, out float val, float defaultval)
static simulated function string DescriptionLevel(Actor act, int i, out string word, out float val, float defaultval)
{
local string shortDisplay;
return DescriptionLevelExtended(act, i, word, val, defaultval, shortDisplay);
}
simulated function string DescriptionLevelShort(Actor act, int i, out float val)
static simulated function string DescriptionLevelShort(Actor act, int i, out float val)
{
local string word;
local float defaultval;
Expand All @@ -393,11 +393,11 @@ simulated function string DescriptionLevelShort(Actor act, int i, out float val)
return shortDisplay;
}
simulated function string DescriptionLevelExtended(Actor act, int i, out string word, out float val, float defaultval, out string shortDisplay)
static simulated function string DescriptionLevelExtended(Actor act, int i, out string word, out float val, float defaultval, out string shortDisplay)
{
local float f;
warn("DXRBase DescriptionLevel failed for " $ act);
log("WARNING: DXRBase DescriptionLevel failed for " $ act);
word = "% of Normal";
f = val / defaultval;
shortDisplay = string(int(f * 100.0));
Expand Down
8 changes: 8 additions & 0 deletions DXRCore/DeusEx/Classes/DXRMenuSetupRando.uc
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,14 @@ function BindControls(optional string action)
EnumOption("Don't Show", 0, f.moresettings.splits_overlay);
EnumOption("Show", 1, f.moresettings.splits_overlay);

#ifdef vanilla
if (f.IsOctoberUnlocked()){
NewMenuItem("Clothes Looting", "Should clothes need to be looted first, or start with all of them?");
EnumOption("Full Closet", 0, f.clothes_looting);
EnumOption("Looting Required", 1, f.clothes_looting);
}
#endif

NewGroup("Bingo");

NewMenuItem("Bingo Win", "How many completed lines to instantly win.");
Expand Down
4 changes: 2 additions & 2 deletions DXRCore/DeusEx/Classes/DXRVersion.uc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ simulated static function CurrentVersion(optional out int major, optional out in
major=3;
minor=1;
patch=0;
build=7;//build can't be higher than 99
build=8;//build can't be higher than 99
}

simulated static function bool VersionIsStable()
Expand All @@ -18,7 +18,7 @@ simulated static function string VersionString(optional bool full)
local int major,minor,patch,build;
local string status;

status = "Alpha";
status = "Beta";

if(status!="") {
status = " " $ status;
Expand Down
8 changes: 8 additions & 0 deletions DXRFixes/DeusEx/Classes/Carcass.uc
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ function Frob(Actor Frobber, Inventory frobWith)
local bool bFoundSomething;
local DeusExPlayer player;
local POVCorpse corpse;
local DXRFashionManager fashion;

//log("DeusExCarcass::Frob()--------------------------------");

Expand All @@ -164,6 +165,13 @@ function Frob(Actor Frobber, Inventory frobWith)
if (bQueuedDestroy)
return;

#ifndef vmd
fashion = class'DXRFashionManager'.static.GiveItem(#var(PlayerPawn)(player));
if (fashion.IngestCarcass(class<#var(DeusExPrefix)Carcass>(Class))){
player.ClientMessage("Looted some clothes!");
}
#endif

// if we've already been searched, let the player pick us up
// don't pick up animal carcii
if (!bAnimalCarcass)
Expand Down
16 changes: 14 additions & 2 deletions DXRFixes/DeusEx/Classes/Skill.uc
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,29 @@ function bool IncLevel(optional DeusExPlayer usePlayer)
// decrement the cost and increment the current skill level
localPlayer.SkillPointsAvail -= GetCost();
CurrentLevel++;
localPlayer.ClientMessage(SkillName $ " upgraded to " $ skillLevelStrings[CurrentLevel]);
localPlayer.ClientMessage(UpgradeMessage());
return True;
}
}
else
{
CurrentLevel++;
log(SkillName $ " upgraded to " $ skillLevelStrings[CurrentLevel]);
log(UpgradeMessage());
return True;
}
}

return False;
}

function string UpgradeMessage()
{
local float before, after;

before = LevelValues[CurrentLevel-1];
after = LevelValues[CurrentLevel];

return SkillName $ " upgraded to " $ skillLevelStrings[CurrentLevel]
$ " (from " $ class'DXRSkills'.static.DescriptionLevelShort(self, CurrentLevel-1, before)
$ " to " $ class'DXRSkills'.static.DescriptionLevelShort(self, CurrentLevel, after) $ ")";
}
14 changes: 13 additions & 1 deletion DXRMapFixups/DeusEx/Classes/DXRFixupM03.uc
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ function AnyEntryMapFixes()
break;

case "03_NYC_BROOKLYNBRIDGESTATION":
// allow Lenny to trade LAM for Zyme even if you enter the maps out of order
// allow giving zyme to junkies even if you enter the maps out of order
DeleteConversationFlag(GetConversation('MeetLenny'), 'FoundMoles', False);
// Lenny's final barks seem to mistakenly be started by frobbing or bumping into him, causing them to take priority over `MeetLenny`
c=GetConversation('LennyFinalBarks');
Expand All @@ -466,6 +466,18 @@ function AnyEntryMapFixes()
c=GetConversation('LennyFinalBarks2');
c.bInvokeBump=False;
c.bInvokeFrob=False;

DeleteConversationFlag(GetConversation('MeetDon'), 'FoundMoles', False);
c=GetConversation('DonFinalBarks');
c.bInvokeBump=False;
c.bInvokeFrob=False;
c=GetConversation('DonFinalBarks2');
c.bInvokeBump=False;
c.bInvokeFrob=False;
c=GetConversation('DonReturnBarks');
c.bInvokeBump=False;
c.bInvokeFrob=False;

break;
}
}
Expand Down
7 changes: 7 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM04.uc
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,8 @@ function PreFirstEntryMapFixes()
}
}

dxr.flagbase.SetBool('DXRando_NSFHQVisited', true,, 5);

break;

case "04_NYC_UNATCOISLAND":
Expand Down Expand Up @@ -417,6 +419,11 @@ function AnyEntryMapFixes()
#endif
DeleteConversationFlag(GetConversation('FamilySquabbleWrapUpGilbertDead'), 'PlayerKilledRenton', false);
FixConversationFlag(GetConversation('SandraMadAtPlayer'), 'PlayerKilledRenton', true, 'AlwaysFalse', true);

if (dxr.flagbase.GetBool('DXRando_NSFHQVisited')) {
DeleteConversationFlag(GetConversation('M04PlayerLikesUNATCO'), 'M04MeetGateGuard_Played', true);
}

break;

case "04_NYC_SMUG":
Expand Down
7 changes: 7 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM06.uc
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ function PreFirstEntryMapFixes()
local WaterCooler wc;
local Rotator rot;
local Male1 male;
local GordonQuick gordon;
local int i;

local bool VanillaMaps;
Expand Down Expand Up @@ -169,6 +170,12 @@ function PreFirstEntryMapFixes()
}
}
}
if (dxr.flagbase.GetBool('DragonHeadsInLuckyMoney')) {
foreach AllActors(class'GordonQuick', gordon) {
gordon.LeaveWorld();
break;
}
}
// fallthrough
case "06_HONGKONG_WANCHAI_COMPOUND":
foreach AllActors(class'Actor', a)
Expand Down
6 changes: 1 addition & 5 deletions DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc
Original file line number Diff line number Diff line change
Expand Up @@ -249,11 +249,7 @@ function AnyEntryMapFixes()
// we need to do this in AnyEntry because we need to recreate the conversation objects since they're transient
npcs = DXRNPCs(dxr.FindModule(class'DXRNPCs'));
if(npcs != None) {
sp = npcs.CreateForcedMerchant("Le Merchant", 'lemerchant', vectm(-3209.483154, 5190.826172,1199.610352), rotm(0, -10000, 0, 16384), class'#var(prefix)HazMatSuit');
m = Merchant(sp);
if (m!=None){ // CreateForcedMerchant returns None if he already existed, but we still need to call it to recreate the conversation since those are transient
m.MakeFrench();
}
sp = npcs.CreateForcedMerchant("Le Merchant", 'lemerchant', class'LeMerchant', vectm(-3209.483154, 5190.826172,1199.610352), rotm(0, -10000, 0, 16384), class'#var(prefix)HazMatSuit');
}
// give him weapons to defend himself
dxre = DXREnemies(dxr.FindModule(class'DXREnemies'));
Expand Down
41 changes: 39 additions & 2 deletions DXRMissions/DeusEx/Classes/DXRMissionsM06.uc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function int InitGoals(int mission, string map)
case "06_HONGKONG_VERSALIFE":
AddGoal("06_HONGKONG_VERSALIFE", "Gary Burkett", NORMAL_GOAL | SITTING_GOAL, 'Male2', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "Data Entry Worker", NORMAL_GOAL | SITTING_GOAL, 'Male0', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "John Smith", NORMAL_GOAL | SITTING_GOAL, 'Male9', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "John Smith", NORMAL_GOAL | SITTING_GOAL, 'NervousWorker0', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "Mr. Hundley", NORMAL_GOAL, 'Businessman0', PHYS_Falling);
AddGoalLocation("06_HONGKONG_VERSALIFE", "2nd Floor Break room", NORMAL_GOAL | VANILLA_GOAL, vect(-952.069763, 246.924271, 207.600281), rot(0, -25708, 0));
AddGoalLocation("06_HONGKONG_VERSALIFE", "3rd Floor Break room", NORMAL_GOAL | VANILLA_GOAL, vect(-971.477234, 352.951782, 463.600586), rot(0,0,0));
Expand Down Expand Up @@ -102,7 +102,7 @@ function int InitGoalsRev(int mission, string map)
case "06_HONGKONG_VERSALIFE":
AddGoal("06_HONGKONG_VERSALIFE", "Gary Burkett", NORMAL_GOAL | SITTING_GOAL, 'Male2', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "Data Entry Worker", NORMAL_GOAL | SITTING_GOAL, 'Male0', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "John Smith", NORMAL_GOAL | SITTING_GOAL, 'Male9', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "John Smith", NORMAL_GOAL | SITTING_GOAL, 'NervousWorker0', PHYS_Falling);
AddGoal("06_HONGKONG_VERSALIFE", "Mr. Hundley", NORMAL_GOAL, 'Businessman0', PHYS_Falling);
AddGoalLocation("06_HONGKONG_VERSALIFE", "2nd Floor Break room", NORMAL_GOAL | VANILLA_GOAL, vect(-952.069763, 246.924271, 207.600281), rot(0, -25708, 0));
AddGoalLocation("06_HONGKONG_VERSALIFE", "3rd Floor Break room", NORMAL_GOAL | VANILLA_GOAL, vect(-971.477234, 352.951782, 463.600586), rot(0,0,0));
Expand Down Expand Up @@ -226,6 +226,26 @@ function AnyEntry()
UpdateGoalWithRandoInfo('ConvinceRedArrow', "Max Chen could be anywhere in the Lucky Money.");
}

function PreFirstEntryMapFixes()
{
local #var(prefix)Male1 male;

Super.AnyEntry();

switch(dxr.localURL) {
case "06_HONGKONG_VERSALIFE":
//Delete the original
foreach AllActors(class'#var(prefix)Male1',male){
if (male.BindName == "Disgruntled_Guy"){
male.Destroy();
break;
}
}
break;
}

}

function DeleteGoal(Goal g, GoalLocation Loc)
{
if (g.name=="Dragon's Tooth Sword"){
Expand All @@ -249,6 +269,7 @@ function CreateGoal(out Goal g, GoalLocation Loc)
{
local WeaponNanoSword dts;
local DataLinkTrigger dlt;
local NervousWorker nw;
switch(g.name) {
case "Dragon's Tooth Sword":
Expand All @@ -263,7 +284,23 @@ function CreateGoal(out Goal g, GoalLocation Loc)
dlt.datalinkTag='DL_Tong_00';
dlt.SetCollisionSize(100,20);
break;
case "John Smith":
nw = NervousWorker(Spawnm(class'NervousWorker',,,Loc.positions[0].pos,Loc.positions[0].rot));
g.actors[0].a=nw;
nw.ConBindEvents();
break;
}
}

function MoveGoalToLocation(Goal g, GoalLocation Loc)
{
if (g.Name=="John Smith"){
if (g.actors[0].a==None){
CreateGoal(g,Loc); //Spawn the actual Nervous Worker
}
}

Super.MoveGoalToLocation(g,Loc);
}

function AfterMoveGoalToLocation(Goal g, GoalLocation Loc)
Expand Down
13 changes: 9 additions & 4 deletions DXRModules/DeusEx/Classes/DXRAugmentations.uc
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,11 @@ static function RemoveAug(DeusExPlayer player, Augmentation aug)
}

aug.Deactivate();
// Deactivate() skips bAlwaysActive augs
aug.bIsActive = false;
if(aug.IsInState('Active')) {
aug.GotoState('Inactive');
}
aug.bHasIt = False;
aug.CurrentLevel=0;

Expand Down Expand Up @@ -357,14 +362,14 @@ simulated function RandoAug(Augmentation a)
RandoLevelValues(a, min_aug_weaken, max_aug_str, aug_value_wet_dry, a.Description, add_desc);
}

simulated function string DescriptionLevelExtended(Actor act, int i, out string word, out float val, float defaultval, out string shortDisplay)
static simulated function string DescriptionLevelExtended(Actor act, int i, out string word, out float val, float defaultval, out string shortDisplay)
{
local Augmentation a;
local float f;

a = Augmentation(act);
if( a == None ) {
err("DescriptionLevel failed for aug "$act);
log("ERROR: DescriptionLevel failed for aug "$act);
shortDisplay = "err";
return shortDisplay;
}
Expand Down Expand Up @@ -409,8 +414,8 @@ simulated function string DescriptionLevelExtended(Actor act, int i, out string
}
else if( a.Class == class'#var(prefix)AugHealing') {
if(#defined(injections)) word = "Max Health Cap";
if(#defined(injections) && val > 100 && val > dxr.flags.settings.health) {
val = FMax(100, dxr.flags.settings.health);
if(#defined(injections) && val > 100 && val > class'DXRando'.default.dxr.flags.settings.health) {
val = FMax(100, class'DXRando'.default.dxr.flags.settings.health);
}
else word = "Healing";
shortDisplay=int(val) $ " HP";
Expand Down
Loading

0 comments on commit 3171288

Please sign in to comment.