Skip to content

Commit

Permalink
v3.3.1.1 Beta Merge pull request #1081 from Die4Ever/develop
Browse files Browse the repository at this point in the history
v3.3.1.1 Beta
  • Loading branch information
Die4Ever authored Jan 5, 2025
2 parents ef30b75 + a1ba3b1 commit e7b6363
Show file tree
Hide file tree
Showing 15 changed files with 139 additions and 15 deletions.
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=3;
patch=1;
build=0;//build can't be higher than 99
build=1;//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 DXRMapFixups/DeusEx/Classes/DXRFixupM09.uc
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,14 @@ function PreFirstEntryMapFixes()
foreach RadiusActors(class'BlockPlayer', bp, 725, vectm(3259, 1601, 252)) {
bp.bBlockPlayers=false;
}

// Revision has more along the wall with the grate, get rid of those too
if (!VanillaMaps){
foreach RadiusActors(class'BlockPlayer', bp, 200, vectm(2506,1380,252)) {
bp.bBlockPlayers=false;
}
}

// 4030.847900 to 4078.623779
foreach RadiusActors(class'BlockPlayer', bp, 25, vectm(4055, 1602, 252)) {
dbp = Spawn(class'DynamicBlockPlayer',,, bp.Location + vectm(0,0,200));
Expand Down
17 changes: 17 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,14 @@ function PreFirstEntryMapFixes()
Spawn(class'PlaceholderItem',,, vectm(-733,-251,-1061)); //Bench at subway
Spawn(class'PlaceholderItem',,, vectm(300.7,491,-1061)); //Opposite side of tracks
} else {
//Revision, metro station exit to Cathedral
foreach AllActors(class'#var(prefix)MapExit',exit,'change_map'){break;}
foreach AllActors(class'DeusExMover', m) {
if (m.Event=='change_map'){
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", m.Location-m.PrePivot, 40, 75,exit);
}
}

Spawn(class'PlaceholderItem',,, vectm(-1135,3000,-125)); //Near ATM
Spawn(class'PlaceholderItem',,, vectm(-855,2260,-150)); //Benches near ATM
Spawn(class'PlaceholderItem',,, vectm(1155,1150,-320)); //Bench at subway
Expand Down Expand Up @@ -288,6 +296,15 @@ function PreFirstEntryMapFixes()
a.bIsSecretGoal=true;
}
}

//Revision, entrance to Metro station
foreach AllActors(class'#var(prefix)MapExit',exit,'change_map'){break;}
foreach AllActors(class'DeusExMover', m) {
if (m.Event=='change_map'){
hoverHint = class'DXRTeleporterHoverHint'.static.Create(self, "", m.Location-(m.PrePivot * vect(-1,1,1)), 40, 75,exit);
}
}

}
break;
case "11_PARIS_EVERETT":
Expand Down
5 changes: 3 additions & 2 deletions DXRMapFixups/DeusEx/Classes/DXRFixupVandenberg.uc
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ function PreFirstEntryMapFixes()
RemoveReactions(tt);// he looks pretty sick
}

class'FillCollisionHole'.static.CreateLine(self, vectm(3081.067383, 1640, -2031.417969), vectm(3081.067383, 6584, -2031.417969), 40, 300);

class'PlaceholderEnemy'.static.Create(self,vectm(-2467,866,-2000));
class'PlaceholderEnemy'.static.Create(self,vectm(-2689,4765,-2143));
class'PlaceholderEnemy'.static.Create(self,vectm(-163,7797,-2143));
Expand Down Expand Up @@ -120,6 +118,9 @@ function PreFirstEntryMapFixes()
AddSwitch( vect(-278.854828,657.390503,-1977.144531), rot(0, 16384, 0), 'CmdBackDoor');

if (VanillaMaps){
//Patch holes in the wall in the vanilla map
class'FillCollisionHole'.static.CreateLine(self, vectm(3081.067383, 1640, -2031.417969), vectm(3081.067383, 6584, -2031.417969), 40, 300);

VandenbergCmdFixTimsDoor();
FixCmdElevator();
UnleashingBotsOpenCommsDoor();
Expand Down
2 changes: 1 addition & 1 deletion DXRModules/DeusEx/Classes/DXREvents.uc
Original file line number Diff line number Diff line change
Expand Up @@ -3680,5 +3680,5 @@ defaultproperties
mutually_exclusive(58)=(e1="Karkian_ClassDead",e2="PetKarkians")
mutually_exclusive(59)=(e1="PerformBurder",e2="PetBirds")
mutually_exclusive(60)=(e1="PetRats",e2="PetBirds")
mutually_exclusive(61)=(e1="TiffanySavage_Dead"e2="TiffanyHeli")
mutually_exclusive(61)=(e1="TiffanySavage_Dead",e2="TiffanyHeli")
}
6 changes: 3 additions & 3 deletions DXRModules/DeusEx/Classes/DXREventsBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ class DXREventsBase extends DXRActorsBase;
const FAILED_MISSION_MASK = 1;

var bool died;
var name watchflags[32];
var() name watchflags[32];
var int num_watchflags;
var int bingo_win_countdown;
var name rewatchflags[8];
Expand All @@ -17,12 +17,12 @@ struct BingoOption {
var int max;
var int missions;// bit masks
};
var BingoOption bingo_options[350];
var() BingoOption bingo_options[350];

struct MutualExclusion {
var string e1, e2;
};
var MutualExclusion mutually_exclusive[64];
var() MutualExclusion mutually_exclusive[64];

struct ActorWatchItem {
var Actor a;
Expand Down
3 changes: 3 additions & 0 deletions DXRModules/DeusEx/Classes/DXRMapInfo.uc
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ switch(mapname)
return "Road to NSF HQ";
case "PathNode194":
case "ToStreet":
case "NYCSubway": //Rev: Backtracking from M04 Battery Park back to Hell's Kitchen
return "Hells Kitchen Subway";
case "":
return "Hells Kitchen Streets";
Expand Down Expand Up @@ -638,6 +639,7 @@ switch(mapname)
case "cathedralstart":
return "Cathedral Sewer Entrance";
case "Paris_Underground":
case "FromMetro": //Revision
return "Cathedral Metro Entrance";
}
break;
Expand All @@ -652,6 +654,7 @@ switch(mapname)
switch(teleportername)
{
case "Paris_Underground":
case "metro": //Revision
return "Paris Metro Interior Entrance";
case "PathNode68":
return "Paris Metro Train Tracks";
Expand Down
101 changes: 97 additions & 4 deletions DXRNonVanilla/DeusEx/Classes/RevRandoPlayer.uc
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,87 @@ function InstantlyUseItem(DeusExPickup item)
}
}

//Similar duplicated logic from DXRVanilla/Weapon.uc::HandlePickupQuery
function bool CheckForRemainingWeaponAmmo(#var(DeusExPrefix)Weapon W)
{
local class<Ammo> defAmmoClass;
local Ammo defAmmo,newAmmo;
local int ammoToAdd,ammoRemaining;

if (W==None) return True; //Don't know what you're looting, but it's apparently not a weapon

if (!( (w.bWeaponStay && (Level.NetMode == NM_Standalone)) && (!w.bHeldItem || w.bTossedOut)))
{
if ( w.AmmoNames[0] == None ){
defAmmoClass = w.AmmoName;
}else{
defAmmoClass = w.AmmoNames[0];
}
defAmmo = Ammo(FindInventoryType(defAmmoClass));
if(defAmmo!=None){
ammoToAdd = w.PickUpAmmoCount;
ammoRemaining=0;
if ((ammoToAdd + defAmmo.AmmoAmount) > defAmmo.MaxAmmo){
ammoRemaining = (ammoToAdd + defAmmo.AmmoAmount) - defAmmo.MaxAmmo;
ammoToAdd = ammoToAdd - ammoRemaining;
}


w.PickUpAmmoCount = ammoToAdd;
if (ammoRemaining>0){
if(defAmmo.Default.Mesh!=LodMesh'DeusExItems.TestBox' && defAmmo.Default.PickupViewMesh!=LodMesh'DeusExItems.TestBox'){
//Weapons with normal ammo that exists
newAmmo = Spawn(defAmmoClass,,,w.Location,w.Rotation);
newAmmo.ammoAmount = ammoRemaining;
newAmmo.Velocity = Velocity + VRand() * 160;
return true;
} else {
w.PickUpAmmoCount = ammoRemaining;
defAmmo.AddAmmo(ammoToAdd);
if (ammoToAdd>0){
ClientMessage("Took "$ammoToAdd$" "$defAmmo.ItemName,, true);
} else {
ClientMessage(TooMuchAmmo);
}
return false;
}
}
}
}
return true;
}
function bool CheckForAmmoToLeaveBehind(Ammo thisAmmo)
{
local Ammo ownedAmmo;
local int ammoToAdd,ammoRemaining;
if (thisAmmo==None) return True; //I don't know how this would happen
if (thisAmmo.AmmoAmount<=0) return True; //Ammo is empty, so you can definitely handle it
ownedAmmo = Ammo(FindInventoryType(thisAmmo.Class));
if (ownedAmmo!=None){
ammoToAdd = thisAmmo.AmmoAmount;
ammoRemaining=0;
if ((ammoToAdd + ownedAmmo.AmmoAmount) > ownedAmmo.MaxAmmo){
ammoRemaining = (ammoToAdd + ownedAmmo.AmmoAmount) - ownedAmmo.MaxAmmo;
ammoToAdd = ammoToAdd - ammoRemaining;
}
if (ammoRemaining>0){
thisAmmo.ammoAmount = ammoRemaining;
ownedAmmo.AddAmmo(ammoToAdd);
if (ammoToAdd>0){
ClientMessage("Took "$ammoToAdd$" "$thisAmmo.ItemName,, true);
} else {
ClientMessage(TooMuchAmmo);
}
return False; //What ammo can be taken has been taken, but you "can't" pick up the actual item
}
}

return True;
}


function bool HandleItemPickup(Actor FrobTarget, optional bool bSearchOnly)
Expand All @@ -897,7 +978,7 @@ function bool HandleItemPickup(Actor FrobTarget, optional bool bSearchOnly)
local #var(DeusExPrefix)Weapon weap,ownedWeapon;
local int ammoAvail,ammoToAdd,ammoRemaining;
local class<Ammo> defAmmoClass;
local #var(DeusExPrefix)Ammo ownAmmo;
local #var(DeusExPrefix)Ammo ownAmmo,ammoItem;
local bool isThrown, isMelee;
local #var(DeusExPrefix)Pickup pickup,ownedPickup;
local #var(prefix)WeaponMod mod;
Expand All @@ -923,10 +1004,24 @@ function bool HandleItemPickup(Actor FrobTarget, optional bool bSearchOnly)
}
}

ammoItem = #var(DeusExPrefix)Ammo(FrobTarget);
if (ammoItem!=None){
//Ammo not full, but not necessarily able to take *all* the ammo, so check
if (False == CheckForAmmoToLeaveBehind(ammoItem)){
return false;
}
}

weap = #var(DeusExPrefix)Weapon(FrobTarget);
if (weap!=None && weap.PickUpAmmoCount!=0){
if (False==CheckForRemainingWeaponAmmo(weap)){
return false;
}
}

bCanPickup = Super.HandleItemPickup(FrobTarget, bSearchOnly);

//Ammo Looting
weap = #var(DeusExPrefix)Weapon(FrobTarget);
if (bCanPickup==False && weap!=None && weap.PickUpAmmoCount!=0){
ownedWeapon=#var(DeusExPrefix)Weapon(FindInventoryType(FrobTarget.Class));
//You can't pick up the weapon, but let's yoink the ammo
Expand Down Expand Up @@ -967,8 +1062,6 @@ function bool HandleItemPickup(Actor FrobTarget, optional bool bSearchOnly)
}
}
//Looting partial stacks of items (eg 1 out of 3 in a stack of multitools)
pickup = #var(DeusExPrefix)Pickup(FrobTarget);
if (pickup!=None && pickup.Owner!=Self && pickup.maxCopies>1){
Expand Down
4 changes: 3 additions & 1 deletion DXRVanilla/DeusEx/Classes/Player.uc
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,9 @@ function bool HandleItemPickup(Actor FrobTarget, optional bool bSearchOnly)
ownAmmo.AddAmmo(ammoToAdd);
weap.PickUpAmmoCount=ammoRemaining;
ClientMessage("Took "$ammoToAdd$" "$ownAmmo.ItemName$" from "$weap.ItemName,, true);
if (ammoToAdd>0){
ClientMessage("Took "$ammoToAdd$" "$ownAmmo.ItemName$" from "$weap.ItemName,, true);
}
UpdateBeltText(weap);
}
}
Expand Down
4 changes: 2 additions & 2 deletions DXRando/DeusEx/Classes/DXRandoCrowdControlEffects.uc
Original file line number Diff line number Diff line change
Expand Up @@ -2857,7 +2857,7 @@ function int doCrowdControlEvent(string code, string param[5], string viewer, in

// dmg_double and dmg_half require changes inside the player class
case "dmg_double":
if (!#defined(vanilla)){
if (!#defined(vanilla) && !#defined(revision)){
PlayerMessage("Double Damage effect unavailable in this mod");
return NotAvail;
}
Expand All @@ -2872,7 +2872,7 @@ function int doCrowdControlEvent(string code, string param[5], string viewer, in
break;

case "dmg_half":
if (!#defined(vanilla)){
if (!#defined(vanilla) && !#defined(revision)){
PlayerMessage("Half Damage effect unavailable in this mod");
return NotAvail;
}
Expand Down
Binary file modified DeusEx.u
Binary file not shown.
Binary file modified GMDXRandomizer.u
Binary file not shown.
Binary file modified HXRandomizer.u
Binary file not shown.
Binary file modified RevRandomizer.u
Binary file not shown.
Binary file modified VMDRandomizer.u
Binary file not shown.

0 comments on commit e7b6363

Please sign in to comment.