Skip to content

Commit

Permalink
v3.3.1.0 Alpha Merge pull request #1080 from Die4Ever/develop
Browse files Browse the repository at this point in the history
v3.3.1.0 Alpha
  • Loading branch information
Die4Ever authored Jan 2, 2025
2 parents 50bca03 + 2c75764 commit ef30b75
Show file tree
Hide file tree
Showing 75 changed files with 2,600 additions and 516 deletions.
14 changes: 14 additions & 0 deletions DXRBalance/DeusEx/Classes/BalancePlayer.uc
Original file line number Diff line number Diff line change
Expand Up @@ -968,3 +968,17 @@ state PlayerWalking
function PlayerPawnProcessMove(float DeltaTime, vector NewAccel, eDodgeDir DodgeMove, rotator DeltaRot)
{
}

function PickupNanoKey(NanoKey newKey)
{
local string msg;
if (newKey.keyID==''){
msg = "You just picked up a key ("$newKey$") without a key ID ("$newKey.Description$")! Report this to the devs, we're looking for this! Where did you find me?";
if (!class'DXRVersion'.static.VersionIsStable()){
ClientMessage(msg);
} else {
log(msg);
}
}
Super.PickupNanoKey(newKey);
}
8 changes: 8 additions & 0 deletions DXRCore/DeusEx/Classes/DXRInfo.uc
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,14 @@ function bool OnTitleScreen()
return dxr.LocalURL=="DX" || dxr.LocalURL=="DXONLY";
}

function bool OnEndgameMap()
{
local DXRando dxr;
dxr = class'DXRando'.default.dxr;
if(dxr == None) return true;
return dxr.dxInfo.missionNumber == 99;
}

final function int SystemTime()
{
return _SystemTime(Level);
Expand Down
6 changes: 3 additions & 3 deletions DXRCore/DeusEx/Classes/DXRMenuSetupRando.uc
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ function BindControls(optional string action)
NewMenuItem("Camera Mode", "What camera mode should be used");
EnumOption("First Person", 0, f.moresettings.camera_mode);
EnumOption("Third Person", 1, f.moresettings.camera_mode);
#ifdef vanilla
EnumOption("Fixed Camera", 2, f.moresettings.camera_mode);
#endif
if(#defined(vanilla || revision)) {
EnumOption("Fixed Camera", 2, f.moresettings.camera_mode);
}

NewMenuItem("Splits Overlay", "Splits and total game time overlay");
EnumOption("Don't Show", 0, f.moresettings.splits_overlay);
Expand Down
8 changes: 4 additions & 4 deletions DXRCore/DeusEx/Classes/DXRVersion.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ simulated static function CurrentVersion(optional out int major, optional out in
{
major=3;
minor=3;
patch=0;
build=6;//build can't be higher than 99
patch=1;
build=0;//build can't be higher than 99
}

simulated static function bool VersionIsStable()
{
return true;
return false;
}

simulated static function string VersionString(optional bool full)
{
local int major,minor,patch,build;
local string status;

status = "";
status = "Alpha";

if(status!="") {
status = " " $ status;
Expand Down
4 changes: 4 additions & 0 deletions DXRFixes/DeusEx/Classes/Animal.uc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ function EndPetting(optional bool bInterrupted)
if (!bHasBeenPet && !bInterrupted){
bHasBeenPet=True;
class'DXREvents'.static.MarkBingo("PetAnimal_"$Class.Name);

if (BindName!=Default.BindName){
class'DXREvents'.static.MarkBingo("PetAnimal_BindName_"$BindName);
}
}
camera.player().bBlockAnimations=False;
camera.player().AnimEnd(); //Kicks the appropriate normal animations off again
Expand Down
84 changes: 56 additions & 28 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM02.uc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ function PreFirstEntryMapFixes()
local DynamicTeleporter dtel;
local DynamicLight light;
local DeusExDecoration s;
local Smuggler smug;
#ifdef revision
local JockHelicopter jockheli;
#endif

#ifdef injections
local #var(prefix)Newspaper np;
Expand All @@ -49,34 +53,31 @@ function PreFirstEntryMapFixes()
switch (dxr.localURL)
{
case "02_NYC_BATTERYPARK":

foreach AllActors(class'DeusExMover', d) {
if( d.Name == 'DeusExMover19' ) {
d.KeyIDNeeded = 'ControlRoomDoor';
}
}

if(!dxr.flags.IsZeroRando()) {
k = Spawn(class'#var(prefix)NanoKey',,, vectm(1574.209839, -238.380142, 342));
k.KeyID = 'ControlRoomDoor';
k.Description = "Control Room Door Key";
if(dxr.flags.settings.keysrando > 0)
GlowUp(k);
}

if (VanillaMaps){
foreach AllActors(class'BarrelAmbrosia', ambrosia) {
foreach RadiusActors(class'Trigger', t, 16, ambrosia.Location) {
if(t.CollisionRadius < 100)
t.SetCollisionSize(t.CollisionRadius*2, t.CollisionHeight*2);
}
}
foreach AllActors(class'#var(prefix)MapExit',exit,'Boat_Exit'){break;}
foreach AllActors(class'NYPoliceBoat',b) {
b.BindName = "NYPoliceBoat";
b.ConBindEvents();
class'DXRTeleporterHoverHint'.static.Create(self, "", b.Location, b.CollisionRadius+5, b.CollisionHeight+5, exit,, true);
}
foreach AllActors(class'DeusExMover', d) {
if( d.Name == 'DeusExMover19' ) {
d.KeyIDNeeded = 'ControlRoomDoor';
}
}
foreach AllActors(class'Terrorist',nsf,'ShantyTerrorist'){
nsf.Tag = 'ShantyTerrorists'; //Restores voice lines when NSF still alive (still hard to have happen though)
}
if(!dxr.flags.IsZeroRando()) {
k = Spawn(class'#var(prefix)NanoKey',,, vectm(1574.209839, -238.380142, 339.215179));
k.KeyID = 'ControlRoomDoor';
k.Description = "Control Room Door Key";
if(dxr.flags.settings.keysrando > 0)
GlowUp(k);
}

fg=Spawn(class'#var(prefix)FishGenerator',,, vectm(-1274,-3892,177));//Near Boat dock
fg.ActiveArea=2000;
Expand All @@ -93,6 +94,13 @@ function PreFirstEntryMapFixes()
exit.DestMap="03_NYC_UNATCOIsland";
}

foreach AllActors(class'#var(prefix)MapExit',exit,'Boat_Exit'){break;}
foreach AllActors(class'NYPoliceBoat',b) {
b.BindName = "NYPoliceBoat";
b.ConBindEvents();
class'DXRTeleporterHoverHint'.static.Create(self, "", b.Location, b.CollisionRadius+5, b.CollisionHeight+5, exit,, true);
}

break;
case "02_NYC_WAREHOUSE":
//Warehouse is basically the same between Vanilla and Revision (Just some extra hallways and paths)
Expand Down Expand Up @@ -127,16 +135,6 @@ function PreFirstEntryMapFixes()
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", jock.Location, jock.CollisionRadius+5, jock.CollisionHeight+5, exit,, true);
hoverHint.SetBaseActor(jock);

foreach AllActors(class'#var(prefix)MapExit',exit,'ToStreet'){break;}
foreach AllActors(class'#var(prefix)Button1',button){
if (button.Event=='ToStreet'){
break;
}
}

buttonHint = DXRButtonHoverHint(class'DXRButtonHoverHint'.static.Create(self, "", button.Location, button.CollisionRadius+5, button.CollisionHeight+5, exit));
buttonHint.SetBaseActor(button);

//add a small light to the lower floor of the apartment.
//This helps to just put a little bit of light on the generator location
//in the case of 0 brightness boost
Expand All @@ -159,6 +157,17 @@ function PreFirstEntryMapFixes()
if(d.Event == 'BlewFence') break;
}
class'FillCollisionHole'.static.CreateLine(self, vectm(-2184, 1266.793335, 79.291428), vectm(-2050, 1266.793335, 79.291428), 10, 80, d);
} else {
//Revision

//Add teleporter hint text to Jock
#ifdef revision
foreach AllActors(class'#var(prefix)MapExit',exit){break;}
foreach AllActors(class'JockHelicopter',jockheli){break;}
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", jockheli.Location, jockheli.CollisionRadius+5, jockheli.CollisionHeight+5, exit,, true);
hoverHint.SetBaseActor(jockheli);
#endif

}

//Both vanilla and Revision:
Expand All @@ -179,6 +188,15 @@ function PreFirstEntryMapFixes()
npClass.static.SpawnInfoDevice(self,class'#var(prefix)NewspaperOpen',vectm(1700.929810,-519.988037,57.729870),rotm(0,0,0,0),'02_Newspaper06'); //Joe Greene article, table in room next to break room (near bathrooms)
npClass.static.SpawnInfoDevice(self,class'#var(prefix)NewspaperOpen',vectm(-1727.644775,2479.614990,1745.724976),rotm(0,0,0,0),'02_Newspaper06'); //Next to apartment(?) door on rooftops, near elevator

foreach AllActors(class'#var(prefix)MapExit',exit,'ToStreet'){break;}
foreach AllActors(class'#var(prefix)Button1',button){
if (button.Event=='ToStreet'){
break;
}
}
buttonHint = DXRButtonHoverHint(class'DXRButtonHoverHint'.static.Create(self, "", button.Location, button.CollisionRadius+5, button.CollisionHeight+5, exit));
buttonHint.SetBaseActor(button);

class'PlaceholderEnemy'.static.Create(self,vectm(782,-1452,48));
class'PlaceholderEnemy'.static.Create(self,vectm(1508,-1373,256));
class'PlaceholderEnemy'.static.Create(self,vectm(1814,-1842,48));
Expand Down Expand Up @@ -255,6 +273,11 @@ function PreFirstEntryMapFixes()
l("hiding " $ c @ c.Tag @ c.Event);
c.bHidden = true;// hide it so DXRSwapItems doesn't move it, this is supposed to be inside the plane that flies overhead
}

//Another store room with the same key as AugStore in the RevisionMaps
foreach AllActors(class'DeusExMover', d, 'SwankyStore') {
d.bFrobbable = true;
}
}
foreach AllActors(class'DeusExMover', d, 'AugStore') {
d.bFrobbable = true;
Expand Down Expand Up @@ -327,6 +350,11 @@ function PreFirstEntryMapFixes()
oot.Event='botordertriggerDoor';
oot.Tag='botordertrigger';

foreach AllActors(class'Smuggler', smug) {
smug.bImportant = true;
break;
}

SetAllLampsState(false, true, true); // smuggler has one table lamp, upstairs where no one is
if (#defined(vanilla)) {
class'MoverToggleTrigger'.static.CreateMTT(self, 'DXRSmugglerElevatorUsed', 'elevatorbutton', 1, 0, 0.0, 3);
Expand Down
116 changes: 58 additions & 58 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM03.uc
Original file line number Diff line number Diff line change
Expand Up @@ -135,61 +135,61 @@ function PreFirstEntryMapFixes()
break;

case "03_NYC_AirfieldHeliBase":
if (VanillaMaps){
foreach AllActors(class'Mover',m) {
// call the elevator at the end of the level when you open the appropriate door
if (m.Tag == 'BasementDoorOpen')
{
m.Event = 'BasementFloor';
}
else if (m.Tag == 'GroundDoorOpen')
{
m.Event = 'GroundLevel';
}
// sewer door backtracking so we can make a switch for this
else if ( DeusExMover(m) != None && DeusExMover(m).KeyIDNeeded == 'Sewerdoor')
{
m.Tag = 'Sewerdoor';
}
foreach AllActors(class'Mover',m) {
// call the elevator at the end of the level when you open the appropriate door
// Revision uses an ElevatorTrigger with more logic, maybe we can look at it later if needed
if (VanillaMaps && m.Tag == 'BasementDoorOpen')
{
m.Event = 'BasementFloor';
}
if(!dxr.flags.IsZeroRando()) {
foreach AllActors(class'Trigger', t) {
//disable the platforms that fall when you step on them
if( t.Name == 'Trigger0' || t.Name == 'Trigger1' ) {
t.Event = '';
}
}
else if (VanillaMaps && m.Tag == 'GroundDoorOpen')
{
m.Event = 'GroundLevel';
}
foreach AllActors(class'#var(prefix)UNATCOTroop', unatco) {
unatco.bHateCarcass = false;
unatco.bHateDistress = false;
// sewer door backtracking so we can make a switch for this
else if ( DeusExMover(m) != None && DeusExMover(m).KeyIDNeeded == 'Sewerdoor')
{
m.Tag = 'Sewerdoor';
}
}
if(!dxr.flags.IsZeroRando()) {
foreach AllActors(class'Trigger', t) {
//disable the platforms that fall when you step on them
if( t.Event == 'firstplatform' || t.Event == 'platform2' ) {
t.Event = '';
}
}
}
foreach AllActors(class'#var(prefix)UNATCOTroop', unatco) {
unatco.bHateCarcass = false;
unatco.bHateDistress = false;
}

// Sewerdoor backtracking
AddSwitch( vect(-6878.640137, 3623.358398, 150.903931), rot(0,0,0), 'Sewerdoor');

//stepping stone valves out of the water, I could make the collision radius a little wider even if it isn't realistic?
AddActor(class'Valve', vect(-3105,-385,-210), rot(0,0,16384));
a = AddActor(class'DynamicBlockPlayer', vect(-3105,-385,-210));
SetActorScale(a, 1.3);
// Sewerdoor backtracking
AddSwitch( vect(-6878.640137, 3623.358398, 150.903931), rot(0,0,0), 'Sewerdoor');

AddActor(class'Valve', vect(-3080,-395,-170), rot(0,0,16384));
a = AddActor(class'DynamicBlockPlayer', vect(-3080,-395,-170));
SetActorScale(a, 1.3);
//stepping stone valves out of the water, I could make the collision radius a little wider even if it isn't realistic?
AddActor(class'Valve', vect(-3105,-385,-210), rot(0,0,16384));
a = AddActor(class'DynamicBlockPlayer', vect(-3105,-385,-210));
SetActorScale(a, 1.3);

AddActor(class'Valve', vect(-3065,-405,-130), rot(0,0,16384));
a = AddActor(class'DynamicBlockPlayer', vect(-3065,-405,-130));
SetActorScale(a, 1.3);
AddActor(class'Valve', vect(-3080,-395,-170), rot(0,0,16384));
a = AddActor(class'DynamicBlockPlayer', vect(-3080,-395,-170));
SetActorScale(a, 1.3);

if(!dxr.flags.IsZeroRando()) {
//rebreather because of #TOOCEAN connection
Spawn(class'Rebreather',,, vectm(1411.798950, 546.628845, 247.708572));
}
AddActor(class'Valve', vect(-3065,-405,-130), rot(0,0,16384));
a = AddActor(class'DynamicBlockPlayer', vect(-3065,-405,-130));
SetActorScale(a, 1.3);

//Button to extend sewer platform from the other side
AddSwitch( vect(-5233.946289,3601.383545,161.851822), rot(0, 16384, 0), 'MoveableBridge');
if(!dxr.flags.IsZeroRando()) {
//rebreather because of #TOOCEAN connection
//Bookshelf near pool tables
Spawn(class'Rebreather',,, vectm(1411.798950, 546.628845, 247.708572));
}

//Button to extend sewer platform from the other side
AddSwitch( vect(-5233.946289,3601.383545,161.851822), rot(0, 16384, 0), 'MoveableBridge');

class'PlaceholderEnemy'.static.Create(self,vectm(1273,809,48),,'Shitting');
class'PlaceholderEnemy'.static.Create(self,vectm(1384,805,48),,'Shitting');

Expand All @@ -209,6 +209,12 @@ function PreFirstEntryMapFixes()
Spawn(class'Rebreather',,, vectm(-2031.959473, 995.781067, 75.709816));
}

//Add teleporter hint text to Jock
foreach AllActors(class'#var(prefix)MapExit',exit){break;}
foreach AllActors(class'#var(prefix)BlackHelicopter',jock){break;}
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", jock.Location, jock.CollisionRadius+5, jock.CollisionHeight+5, exit,, true);
hoverHint.SetBaseActor(jock);

// fix collision with the static crates https://github.com/Die4Ever/deus-ex-randomizer/issues/665
class'FillCollisionHole'.static.CreateLine(self, vectm(792.113403, -1343.670166, 69), vectm(675, -1343.670166, 69), 32, 90);
class'FillCollisionHole'.static.CreateLine(self, vectm(675, -1300, 69), vectm(675, -1093.477783, 69), 32, 90);
Expand Down Expand Up @@ -267,12 +273,6 @@ function PreFirstEntryMapFixes()
dt.SetCollisionSize(50.0, 40.0);
dt.SetDestination("03_NYC_AirfieldHeliBase",, "BHElevatorEnt");

//Add teleporter hint text to Jock
foreach AllActors(class'#var(prefix)MapExit',exit){break;}
foreach AllActors(class'#var(prefix)BlackHelicopter',jock){break;}
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", jock.Location, jock.CollisionRadius+5, jock.CollisionHeight+5, exit,, true);
hoverHint.SetBaseActor(jock);

class'PlaceholderEnemy'.static.Create(self,vectm(2994,3406,256),,'Shitting');
class'PlaceholderEnemy'.static.Create(self,vectm(2887,3410,256),,'Shitting');

Expand Down Expand Up @@ -396,13 +396,6 @@ function PreFirstEntryMapFixes()
FixAlexsEmail();
MakeTurretsNonHostile(); //Revision has hostile turrets near jail

//Move weapon mod out of Manderley's secret (inaccessible) safe
foreach AllActors(class'#var(prefix)WeaponModRecoil',wmr){
if (wmr.Name=='WeaponModRecoil0'){
wmr.SetLocation(vectm(420.843567,175.866135,261.520447));
}
}

if(!dxr.flags.IsZeroRando()) {
k = Spawn(class'#var(prefix)NanoKey',,, vectm(965,900,-28));
k.KeyID = 'JaimeClosetKey';
Expand All @@ -419,6 +412,13 @@ function PreFirstEntryMapFixes()
}

if (VanillaMaps) {
//Move weapon mod out of Manderley's secret (inaccessible) safe
foreach AllActors(class'#var(prefix)WeaponModRecoil',wmr){
if (wmr.Name=='WeaponModRecoil0'){
wmr.SetLocation(vectm(420.843567,175.866135,261.520447));
}
}

foreach AllActors(class'#var(prefix)ComputerPublic', compublic) {
compublic.bCollideWorld = false;
compublic.SetLocation(vectm(741.36, 1609.34, 298.0));
Expand Down
Loading

0 comments on commit ef30b75

Please sign in to comment.