Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.5.6 #591

Merged
merged 173 commits into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from 163 commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
36ea398
Make phone call bingo goal work in Revision maps. Minor adjustment for
theastropath Dec 3, 2023
a82efc2
Add payphones to Revision. Minor change to make Payphones invisible in
theastropath Dec 3, 2023
b07bc8b
Make all HKMarketLight destroyable (some in canal were invincible). Add
theastropath Dec 3, 2023
de4ed25
add NG+ scalar flag
MQDuck Dec 5, 2023
889466d
add menu item for NG+ scalar, various bug fixes
MQDuck Dec 6, 2023
ccab926
change NG+ scalar math
MQDuck Dec 6, 2023
6cedb27
change minimum NG+ curve scalar to 0 (which keeps average overall dif…
MQDuck Dec 6, 2023
74a5c53
increment version to v2.5.6.0 Alpha
Die4Ever Dec 6, 2023
e04cdc1
Generically fix BindNames that contain spaces (like Jock's Helicopter in
theastropath Dec 6, 2023
8d6a00a
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Dec 6, 2023
51e115f
Remove unnecessary calling of ReplaceText function via static stuff
theastropath Dec 6, 2023
d8b2e28
fix HX compile
Die4Ever Dec 9, 2023
7c19c76
add important new bingo event
Die4Ever Dec 9, 2023
f4e2e44
new bingo event clarified hint
Die4Ever Dec 9, 2023
42dc98e
new bingo event clarified hint
Die4Ever Dec 9, 2023
0561e5d
fix bingo BathroomFlags
Die4Ever Dec 9, 2023
34dab6c
Add logging to determine if things are being based on Revision maps or
theastropath Dec 9, 2023
6441b45
slightly randomize NG+ curves
MQDuck Dec 7, 2023
9d84d9b
change "NewGame+" strings to "New Game+"
MQDuck Dec 9, 2023
1dd5077
combine NewGamePlusValInt and NewGamePlusValFloat, add NewGamePlusVal…
MQDuck Dec 10, 2023
7ebdec1
fix seed bug
MQDuck Dec 10, 2023
6ffe848
fix disappeared quotation marks
MQDuck Dec 10, 2023
88cd3b7
reset p.CombatDifficulty to default before calling NewGamePlusVal
MQDuck Dec 10, 2023
f878baf
Visit all of the stores in the Wan Chai market
Die4Ever Dec 10, 2023
422cd00
make NewGamePlusVal seed unique
MQDuck Dec 11, 2023
086868a
fix trailer links in README
Die4Ever Sep 20, 2023
d92e72d
reduce NG+ curve tweak range
MQDuck Dec 11, 2023
0272537
Add New Game+ curve scalar and randomization Merge pull request #573 …
Die4Ever Dec 11, 2023
fd822c4
NG+ fix rng in tests
Die4Ever Dec 11, 2023
e6c3f78
fix HX compile
Die4Ever Dec 13, 2023
70aad59
datacubes and keys rules check IsRevisionMaps
Die4Ever Dec 13, 2023
4ce08fd
Make all map fixups and mission stuff that applied in vanilla apply to
theastropath Dec 14, 2023
24449f5
Cache the value of RevisionMaps, so it only has to spawn one menu thing
theastropath Dec 14, 2023
abf4c94
Don't add a bingo trigger for the Lebedev phone in Revision maps
theastropath Dec 14, 2023
dc3b684
Undo changes to prevent a bingo trigger from being added to the lebedev
theastropath Dec 14, 2023
91aa016
add chance of trashcans droping trashbags
MQDuck Dec 13, 2023
c9d741c
create common destroy function for trashcans
MQDuck Dec 14, 2023
fcd0e75
Highlighting charged pickups or activatable items gives extra text to
theastropath Dec 16, 2023
68c9012
Instant-use prompts for items only show up when your hands are free
theastropath Dec 16, 2023
3e743e7
Highlighting weapon mods will tell you when it can auto apply the mod
theastropath Dec 16, 2023
bfdc65c
Add durations of charged pickups to item descriptions. Fix typos and
theastropath Dec 17, 2023
3a9f5d0
Fix newgame plus in Revision
theastropath Dec 17, 2023
f1e72c9
Revision carries inventory and augs across NG+
theastropath Dec 19, 2023
d6b25b4
Fix HX build
theastropath Dec 19, 2023
f63c9ee
trashcans don't spawn rats when underwater
MQDuck Dec 20, 2023
1893875
Make NG+ inventory carry over actually work right for Revision maps (at
theastropath Dec 31, 2023
1b5ba7f
draw fireballs when flaming barrels destroyed
MQDuck Dec 15, 2023
2658374
spawn fireball rings when flaming barrel destroyed
MQDuck Dec 15, 2023
1731e52
flaming barrels drop flaming debris
MQDuck Dec 17, 2023
d199a86
flaming barrels sometimes drop flaming trash instead of fireballs
MQDuck Dec 18, 2023
77653a5
tweak flaming barrel numbers
MQDuck Dec 19, 2023
75befc2
remove unused DXRFireballShrinking class
MQDuck Dec 19, 2023
b396ec4
default to newest DXRBingo.ini dir
MQDuck Dec 20, 2023
04b8c3d
make max NG+ item carryover a user setting
MQDuck Dec 11, 2023
f92c731
make NG+ num weapons removed customizable
MQDuck Jan 3, 2024
1c0b658
make NG+ num augs removed customizable
MQDuck Jan 3, 2024
dd74761
make NG+ num skill levels removed customizable
MQDuck Jan 4, 2024
d55bd4e
change how trashbags are scaled by trashcan size
MQDuck Dec 21, 2023
aea644d
rearrange NG+ settings
MQDuck Jan 7, 2024
3bef351
apply carryover restriction before randomly removing weapons
MQDuck Jan 7, 2024
8fa61dc
fix bingo viewer regex for negative active value
Die4Ever Jan 11, 2024
552b4da
critters must die
MQDuck Jan 13, 2024
4fbff9f
Merge pull request #578 from MQDuck/bingo-file-time
Die4Ever Jan 13, 2024
506a691
add glass rats, move to DXRBalance
MQDuck Jan 14, 2024
304f3a6
change TrashPaper FragType to PaperFragment
MQDuck Jan 15, 2024
f1fd4da
allow trashcans to drop rats and trashbags when not on the ground
MQDuck Jan 15, 2024
6bcaac2
choose trashbag spawn based on trashcan type
MQDuck Jan 15, 2024
f4e3b1c
change trashbag size logic and bag/rat likelyhood
MQDuck Jan 16, 2024
6ffbb92
reduce likelyhood of trashpaper if trashbag spawns
MQDuck Jan 17, 2024
c5991bc
Merge pull request #581 from MQDuck/glass-critters
Die4Ever Jan 18, 2024
bda1d4d
Merge pull request #582 from MQDuck/paper-trashpaper
Die4Ever Jan 18, 2024
2d7f6b7
trashcans never drop both a trashbag and a rat
MQDuck Jan 18, 2024
033ea0e
Third Person crowd control effect now gets restored after conversations
theastropath Jan 20, 2024
8977b03
Mouse Inversion crowd control effect now uses data storage to store the
theastropath Jan 20, 2024
d329ea8
Give the player the Vinny hookup for dockyard starts #559
theastropath Jan 20, 2024
d302300
Move possible spawn locations off the top shelf of the mission 5 MJ12
theastropath Jan 20, 2024
ad1767d
Items given through Crowd Control (or, theoretically, any item given by
theastropath Jan 20, 2024
3ba7ee8
Maybe this will prevent the game from staying zoomed in after being
theastropath Jan 20, 2024
2706fa1
Toby Atanwe will now actually let you stick around until you want to
theastropath Jan 20, 2024
2f7fd42
Scale zone damage in general across the game, instead of fixing them
theastropath Jan 21, 2024
d762fb3
Containers will only drop contents when they have actually been damaged
theastropath Jan 21, 2024
45b54ba
move most NG+ settings outside MoreFlagsSettings
MQDuck Jan 21, 2024
9248893
Add option to automatically enable laser sights on weapons (on by
theastropath Jan 23, 2024
753482b
change NG+ tweak, dissable for combat difficulty
MQDuck Jan 23, 2024
3c56de6
Merge branch 'develop' into newgameplus-settings
MQDuck Jan 23, 2024
f324002
restore previous MaxMultipleItems
MQDuck Jan 23, 2024
468797c
Merge pull request #587 from MQDuck/newgameplus-tweak
Die4Ever Jan 24, 2024
eaca371
Merge pull request #577 from MQDuck/barrel_trash_fire
Die4Ever Jan 24, 2024
d990c6c
Merge pull request #579 from MQDuck/trashcan_trashbags
Die4Ever Jan 24, 2024
290102e
Merge branch 'develop' into newgameplus-settings
Die4Ever Jan 24, 2024
5a0709e
Merge pull request #580 from MQDuck/newgameplus-settings
Die4Ever Jan 24, 2024
d42bfdd
add MQDuck to credits, mention DXRSplits.ini in notes
Die4Ever Jan 24, 2024
639db23
Fix HX build
theastropath Jan 24, 2024
c72afe0
v2.5.6.1 Alpha builds
Die4Ever Jan 24, 2024
9dd5e0b
Add flag trigger to window on NSF HQ rooftop so you can't escape unhated
theastropath Jan 25, 2024
de98647
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Jan 25, 2024
df43670
Exclude Denfert-Rochereau elevator from Chateau or later start points
theastropath Jan 25, 2024
6b918e7
Make sure Jock's infolink plays again if you load your autosave from the
theastropath Jan 26, 2024
e515880
Move the start of mission 3 infolink to be invoked on AnyEntry, rather
theastropath Jan 26, 2024
a95322f
Crowd Control effect fixes: Float Away can no longer trigger in
theastropath Jan 26, 2024
95cb0fa
How are the drinks here?
theastropath Jan 27, 2024
a746a75
Show damage thresholds and health of decorations in highlight window
theastropath Jan 28, 2024
f60f937
Medbots and Repairbots now pulse while recharging, and stay a solid red
theastropath Jan 28, 2024
a5b72a8
actor names centered on screen
Die4Ever Jan 29, 2024
971adb9
AugBotTex1.pcx
Die4Ever Jan 29, 2024
fa9e1f8
Update Augbot texture to remove the little tray thing and to mark the
theastropath Jan 29, 2024
0ca21d9
Automatically enable the laser when the mod is auto applied if the au…
theastropath Jan 29, 2024
8d43bf5
Add client message when quick save succeeds or fails
theastropath Jan 30, 2024
cfd7ad8
Add a couple new endgame quotes
theastropath Jan 30, 2024
c20b74c
One more endgame quote that somehow wasn't there already
theastropath Jan 30, 2024
995d0b0
Augmentation Bots (#589)
MQDuck Jan 31, 2024
969b959
fix HX compile and tests
Die4Ever Jan 31, 2024
a522157
the subbay doors are closed, you can now lockpick them
Die4Ever Feb 1, 2024
7018d7e
v2.5.6.2 Alpha builds
Die4Ever Feb 1, 2024
154e159
Sanitize map name in the plaintext tag used when reading information
theastropath Feb 1, 2024
308e5bf
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Feb 1, 2024
8c5a29c
Add a few more endgame quotes
theastropath Feb 2, 2024
3954b32
First draft of randomized globe in the intro/MJ12 lab for #447. Not
theastropath Feb 2, 2024
178246b
maybe fix left click to use items failed to be given by crowd control
Die4Ever Feb 2, 2024
f0f5521
Rounded combat difficulty display (#593)
MQDuck Feb 2, 2024
96f8db4
fix paul give weapon in reduced rando
Die4Ever Feb 2, 2024
e9e6ca7
Fix the apostrophes in one of the endgame quotes
theastropath Feb 2, 2024
3393855
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Feb 2, 2024
fec3d94
Make the fan grill leading into the Vandenberg computer room
theastropath Feb 3, 2024
80524c4
More options for intro globe randomization
theastropath Feb 3, 2024
c60c966
Standardize intro Globe randomization format
theastropath Feb 3, 2024
198e30a
Whoops, only make globe randomization 1 in 3
theastropath Feb 3, 2024
1df1d0e
Track kills and knockouts for stats in the credits #556
theastropath Feb 3, 2024
527f089
Fix issue where throwing a grenade, then facing a wall consumes your
theastropath Feb 3, 2024
a3f7a50
Clean up fix for #519 a bit
theastropath Feb 3, 2024
754fe36
slightly cleaner grenade loss fix
Die4Ever Feb 3, 2024
79cd24f
no augbots in reduced rando modes
Die4Ever Feb 3, 2024
558cf61
Fix build
theastropath Feb 3, 2024
aeb1379
Revert "slightly cleaner grenade loss fix"
theastropath Feb 3, 2024
7353afb
Slightly clean up older fix by checking state instead of a bunch of
theastropath Feb 3, 2024
d4a62a4
fix grenade limit for jail armory
Die4Ever Feb 3, 2024
ee7d6c0
v2.5.6.3 Beta builds
Die4Ever Feb 3, 2024
7c28706
Bots show remaining uses in their name (#597)
MQDuck Feb 3, 2024
3342c13
Tong now gives you a map of the Paris streets as you enter from the
theastropath Feb 3, 2024
83531d8
Update map of Paris streets to mark Nicolette locations
theastropath Feb 3, 2024
967a9ff
Make sure images don't have goal rando hints in reduced rando modes
theastropath Feb 3, 2024
40eac59
Images with goal locations marked revert back to default if goal
theastropath Feb 3, 2024
e1a2283
Add goal location marks to mission 5 MJ12 Lab map image
theastropath Feb 4, 2024
b8f6652
Fix "Snitches get Stitches" bingo goal if Joe Green is in the free
theastropath Feb 4, 2024
e8ff05c
Fix actor scaling to consider the original drawscale (fixes KarkianBaby)
theastropath Feb 4, 2024
9b3b059
track kill/knockouts not by the player
MQDuck Feb 4, 2024
06eac10
Add framework for adding goal location information (and spoilers) over
theastropath Feb 5, 2024
04d421e
Add goal location notes to the mission 5 MJ12 Lab image. Remove the
theastropath Feb 5, 2024
f0477ff
Remove references to removed textures
theastropath Feb 5, 2024
f59c95d
Add weld point goal markers to the map image for mission 9. Make the
theastropath Feb 5, 2024
f9eff76
Map Marker hints are now tied to goal locations to better handle when
theastropath Feb 5, 2024
29b928c
Convert Paris Metro map from hand drawn goal markers to new map marker
theastropath Feb 5, 2024
12b9d8c
5 shops in wan chai bingo goal not 4
Die4Ever Feb 5, 2024
0ec675d
Add map markers for Ambrosia and the Gate Key in mission 3 (the ambrosia
theastropath Feb 5, 2024
82142f0
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Feb 5, 2024
2a30683
tweak paris chill %
Die4Ever Feb 5, 2024
d7207c7
fix goal hint text grammar
Die4Ever Feb 5, 2024
66a9212
He's just a little guy
theastropath Feb 6, 2024
ddea6e6
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Feb 6, 2024
33feac4
Add babies into the random enemy mix
theastropath Feb 6, 2024
2a08fd8
Fix alliance for new enemy type
theastropath Feb 6, 2024
c6564da
Add goal map markers for the catacombs tunnels map, showing Agent Hela's
theastropath Feb 6, 2024
a6932d1
LEo Dock sitting troubleshooting
Die4Ever Feb 6, 2024
5ab0770
MJ12 GrayBaby chances slightly reduced
Die4Ever Feb 6, 2024
d8b43cc
fix GrayBaby inheritence for HX
Die4Ever Feb 6, 2024
7722b91
v2.5.6.4 Beta builds
Die4Ever Feb 6, 2024
11b0b6f
Further fix for HX
theastropath Feb 7, 2024
3c0a1a0
fix sub base doors not being breakable so Jesus doesn't get mad at us
Die4Ever Feb 7, 2024
97cefa8
workflow download files from specific commit
Die4Ever Feb 7, 2024
ee87481
augbot datacubes red
Die4Ever Feb 7, 2024
e2cb42a
v2.5.6.5 Beta builds
Die4Ever Feb 7, 2024
bfdc739
Keep enemies/NPCs wording consistent (#602)
MQDuck Feb 8, 2024
f7828c7
v2.5.6.6 release candidate
Die4Ever Feb 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions BingoDisplay.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def __init__(self,targetFile):
self.selectedMod=""
self.prevLines=None
self.bingoLineMatch = re.compile(
r'bingoexport\[(?P<key>\d+)\]=\(Event="(?P<event>.*)",Desc="(?P<desc>.*)",Progress=(?P<progress>\d+),Max=(?P<max>\d+),Active=(?P<active>\d+)\)',
r'bingoexport\[(?P<key>\d+)\]=\(Event="(?P<event>.*)",Desc="(?P<desc>.*)",Progress=(?P<progress>\d+),Max=(?P<max>\d+),Active=(?P<active>-?\d+)\)',
re.IGNORECASE
)
self.initDrawnBoard()
Expand Down Expand Up @@ -147,7 +147,7 @@ def parseBingoLine(self,bingoLine):
bingoMatches=self.bingoLineMatch.match(bingoLine)
if (bingoMatches==None):
return

bingoNumber=int(bingoMatches.group('key'))
bingoCoord = self.bingoNumberToCoord(bingoNumber)

Expand Down Expand Up @@ -216,6 +216,8 @@ def generateBingoStateJson(self):
square = dict()
square["x"]=x
square["y"]=y
if self.board[x][y]==None:
return {}
square["name"]=self.board[x][y]["desc"]
if self.board[x][y]["max"]>1:
square["name"]+="\n"+str(self.board[x][y]["progress"])+"/"+str(self.board[x][y]["max"])
Expand Down Expand Up @@ -265,11 +267,17 @@ def getDefaultPath():
Path.home() /'.local'/'share'/'Steam'/'steamapps'/'compatdata'/'6910'/'pfx'/'drive_c'/'users'/'steamuser'/'Documents'/'Deus Ex'/'System',
Path.home() /'.local'/'share'/'Steam'/'steamapps'/'common'/'Deus Ex'/'System',
]
p:Path

modified_times = {}
for p in checks:
f:Path = p / "DXRBingo.ini"
if f.exists():
return p
modified_times[p] = os.path.getmtime(f)
sorted_paths = sorted(modified_times.keys(), key=lambda f: modified_times[f])

if len(sorted_paths) > 0:
return sorted_paths[-1]
p:Path
for p in checks:
if p.is_dir():
return p
Expand Down
20 changes: 19 additions & 1 deletion DXRBalance/DeusEx/Classes/BalancePlayer.uc
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,8 @@ function CatchFire( Pawn burner )
simulated function DrugEffects(float deltaTime)
{
local float olddrugEffectTimer;
local DeusExRootWindow root;
local bool wasActive;

// set a cap on the effect strength separately from the duration
olddrugEffectTimer = drugEffectTimer;
Expand All @@ -288,9 +290,25 @@ simulated function DrugEffects(float deltaTime)

// calculate duration myself
drugEffectTimer = FMin(olddrugEffectTimer, 120.0 );
wasActive = (drugEffectTimer>0);
drugEffectTimer -= deltaTime * 1.5;
if (drugEffectTimer < 0)
if (drugEffectTimer < 0) {
drugEffectTimer = 0;
if (wasActive){
//This theoretically fixes the issue where the game stays zoomed in
//after being drunk until you switch what's in your hands
root = DeusExRootWindow(rootWindow);
if ((root != None) && (root.hud != None))
{
if (root.hud.background != None)
{
root.hud.SetBackground(None);
root.hud.SetBackgroundStyle(DSTY_Normal);
DesiredFOV = Default.DesiredFOV;
}
}
}
}
}

// ----------------------------------------------------------------------
Expand Down
6 changes: 6 additions & 0 deletions DXRBalance/DeusEx/Classes/Fish.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class DXRFish injects #var(prefix)Fish;

defaultproperties
{
Health=1
}
6 changes: 6 additions & 0 deletions DXRBalance/DeusEx/Classes/Fish2.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class DXRFish2 injects #var(prefix)Fish2;

defaultproperties
{
Health=1
}
6 changes: 6 additions & 0 deletions DXRBalance/DeusEx/Classes/Pigeon.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class DXRPigeon injects #var(prefix)Pigeon;

defaultproperties
{
Health=1
}
6 changes: 6 additions & 0 deletions DXRBalance/DeusEx/Classes/Rat.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class DXRRat injects #var(prefix)Rat;

defaultproperties
{
Health=1
}
6 changes: 6 additions & 0 deletions DXRBalance/DeusEx/Classes/Seagull.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class DXRSeagull injects #var(prefix)Seagull;

defaultproperties
{
Health=1
}
11 changes: 10 additions & 1 deletion DXRCore/DeusEx/Classes/DXRActorsBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,14 @@ static function Inventory GiveExistingItem(Pawn p, Inventory item, optional int
if( pickup.bCanHaveMultipleCopies && pickup.NumCopies < pickup.MaxCopies ) {
pickup.NumCopies++;
item.Destroy();
if( player != None )
player.UpdateBeltText(pickup);
return pickup;
} else if (pickup.bCanHaveMultipleCopies && pickup.NumCopies >= pickup.MaxCopies) {
//Player has some, but can't get more. Don't try to pick it up or set them as the base.
//Disown the player entirely, otherwise if they try to pick it up again, it will follow them
item.SetOwner(None);
return item;
}
}
}
Expand All @@ -262,6 +269,7 @@ static function Inventory GiveExistingItem(Pawn p, Inventory item, optional int

if( player != None ) {
player.FrobTarget = item;
item.SetOwner(None);// just in case the right click fails
player.ParseRightClick();
} else {
item.GiveTo(p);
Expand Down Expand Up @@ -926,9 +934,10 @@ static function SetActorScale(Actor a, float scale)
{
local Vector newloc;

scale *= a.DrawScale;
newloc = a.Location + ( (a.CollisionHeight*scale - a.CollisionHeight*a.DrawScale) * vect(0,0,1) );
a.SetCollisionSize(a.CollisionRadius / a.DrawScale * scale, a.CollisionHeight / a.DrawScale * scale);
a.SetLocation(newloc);
a.SetCollisionSize(a.CollisionRadius, a.CollisionHeight / a.DrawScale * scale);
a.DrawScale = scale;
}

Expand Down
52 changes: 34 additions & 18 deletions DXRCore/DeusEx/Classes/DXRMenuSetupRando.uc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ function BindControls(optional string action)
}

//Make sure the starting map values match those in DXRStartMap
NewMenuItem("Starting Map", "What level you will start in");
NewMenuItem("Starting Map", "What level you will start in.");
EnumOption("Liberty Island", 0, f.settings.starting_map);
EnumOption("NSF Generator", 20, f.settings.starting_map);
EnumOption("Hunting Lebedev", 30, f.settings.starting_map);
Expand Down Expand Up @@ -54,12 +54,12 @@ function BindControls(optional string action)
BreakLine();

#ifndef hx
NewMenuItem("", "Randomize starting locations on certain maps");
NewMenuItem("", "Randomize starting locations on certain maps.");
EnumOption("Randomize Starting Locations", 100, f.settings.startinglocations);
EnumOption("Unchanged Starting Locations", 0, f.settings.startinglocations);
#endif

NewMenuItem("", "Randomize goal locations on certain maps");
NewMenuItem("", "Randomize goal locations on certain maps.");
EnumOption("Randomize Goal Locations", 100, f.settings.goals);
EnumOption("Unchanged Goal Locations", 0, f.settings.goals);

Expand All @@ -72,7 +72,7 @@ function BindControls(optional string action)
NewMenuItem("Dancing %", "How many characters should be dancing.");
Slider(f.settings.dancingpercent, 0, 100);

NewMenuItem("Spoiler Buttons", "Allow the use of spoiler buttons (Spoilers remain hidden until you choose to view them)");
NewMenuItem("Spoiler Buttons", "Allow the use of spoiler buttons (Spoilers remain hidden until you choose to view them).");
EnumOption("Available", 1, f.settings.spoilers);
EnumOption("Disallowed", 0, f.settings.spoilers);

Expand All @@ -82,13 +82,13 @@ function BindControls(optional string action)

NewGroup("Bingo");

NewMenuItem("Bingo Win", "How many completed lines to instantly win");
NewMenuItem("Bingo Win", "How many completed lines to instantly win.");
Slider(f.settings.bingo_win, 0, 12);

NewMenuItem("Bingo Scale %", "How difficult should bingo goals be?");
Slider(f.bingo_scale, 0, 100);

NewMenuItem("Bingo Freespace", "Should the center be a Free Space, or even more Free Spaces");
NewMenuItem("Bingo Freespace", "Should the center be a Free Space, or even more Free Spaces?");
EnumOption("Enabled", 1, f.settings.bingo_freespaces);
EnumOption("Disabled", 0, f.settings.bingo_freespaces);
EnumOption("2 Free Spaces", 2, f.settings.bingo_freespaces);
Expand All @@ -106,36 +106,39 @@ function BindControls(optional string action)

NewGroup("Medical Bots and Repair Bots");

NewMenuItem("Medbots", "Percentage chance for a medbot to spawn in a map (vanilla is about 14%)");
NewMenuItem("Medbots", "Percentage chance for a medbot to spawn in a map (vanilla is about 14%).");
Slider(f.settings.medbots, -1, 100);

NewMenuItem("Repair Bots", "Percentage chance for a repair bot to spawn in a map (vanilla is about 14%)");
NewMenuItem("Augbots", "Percentage chance for a zero-heals medbot to spawn in a map if a regular one doesn't.");
Slider(f.moresettings.empty_medbots, 0, 100);

NewMenuItem("Repair Bots", "Percentage chance for a repair bot to spawn in a map (vanilla is about 14%).");
Slider(f.settings.repairbots, -1, 100);

if(!#defined(vmd)) {
NewMenuItem("Medbot Uses", "Number of times you can use an individual medbot to heal");
NewMenuItem("Medbot Uses", "Number of times you can use an individual medbot to heal.");
Slider(f.settings.medbotuses, 0, 10);

NewMenuItem("Repair Bot Uses", "Number of times you can use an individual repair bot to restore energy");
NewMenuItem("Repair Bot Uses", "Number of times you can use an individual repair bot to restore energy.");
Slider(f.settings.repairbotuses, 0, 10);
}

NewMenuItem("Medbot Cooldowns", "Individual: Each Medbot has its own healing cooldown."$BR$"Global: All Medbots have the same cooldown");
NewMenuItem("Medbot Cooldowns", "Individual: Each Medbot has its own healing cooldown."$BR$"Global: All Medbots have the same cooldown.");
EnumOption("Unchanged", 0, f.settings.medbotcooldowns);
EnumOption("Individual", 1, f.settings.medbotcooldowns);
EnumOption("Global", 2, f.settings.medbotcooldowns);

NewMenuItem("Repair Bot Cooldowns", "Individual: Each Repair Bot has its own charge cooldown."$BR$"Global: All Repair Bots have the same cooldown");
NewMenuItem("Repair Bot Cooldowns", "Individual: Each Repair Bot has its own charge cooldown."$BR$"Global: All Repair Bots have the same cooldown.");
EnumOption("Unchanged", 0, f.settings.repairbotcooldowns);
EnumOption("Individual", 1, f.settings.repairbotcooldowns);
EnumOption("Global", 2, f.settings.repairbotcooldowns);

NewMenuItem("Medbot Heal Amount", "Individual: Each Medbot has its own healing amount."$BR$"Global: All Medbots have the same amount");
NewMenuItem("Medbot Heal Amount", "Individual: Each Medbot has its own healing amount."$BR$"Global: All Medbots have the same amount.");
EnumOption("Unchanged", 0, f.settings.medbotamount);
EnumOption("Individual", 1, f.settings.medbotamount);
EnumOption("Global", 2, f.settings.medbotamount);

NewMenuItem("Repair Bot Charge Amount", "Individual: Each Repair Bot has its own charge amount."$BR$"Global: All Repair Bots have the same amount");
NewMenuItem("Repair Bot Charge Amount", "Individual: Each Repair Bot has its own charge amount."$BR$"Global: All Repair Bots have the same amount.");
EnumOption("Unchanged", 0, f.settings.repairbotamount);
EnumOption("Individual", 1, f.settings.repairbotamount);
EnumOption("Global", 2, f.settings.repairbotamount);
Expand Down Expand Up @@ -228,7 +231,7 @@ function BindControls(optional string action)
NewMenuItem("Non-Human Chance %", "Reduce the chance of new enemies being non-humans.");
Slider(f.settings.enemies_nonhumans, 0, 100);

NewMenuItem("Enemy Respawn Seconds", "(Beta) How many seconds for enemies to respawn. Leave blank or 0 to disable");
NewMenuItem("Enemy Respawn Seconds", "(Beta) How many seconds for enemies to respawn. Leave blank or 0 to disable.");
Slider(f.settings.enemyrespawn, 0, 10000);

NewMenuItem("Move Turrets", "Randomizes locations of turrets, cameras, and security computers for them.");
Expand All @@ -237,11 +240,11 @@ function BindControls(optional string action)
NewMenuItem("Add Turrets", "Randomly adds turrets, cameras, and security computers for them.");
Slider(f.settings.turrets_add, 0, 10000);

NewMenuItem("", "Allow robots to get randomized weapons");
NewMenuItem("", "Allow robots to get randomized weapons.");
EnumOption("Unchanged Robot Weapons", 0, f.settings.bot_weapons);
EnumOption("Random Robot Weapons", 4, f.settings.bot_weapons);

NewMenuItem("", "Allow non-humans to get randomized stats");
NewMenuItem("", "Allow non-humans to get randomized stats.");
EnumOption("Unchanged Non-human Stats", 0, f.settings.bot_stats);
EnumOption("Random Non-human Stats", 100, f.settings.bot_stats);

Expand Down Expand Up @@ -300,7 +303,7 @@ function BindControls(optional string action)
NewMenuItem("Medkit Drops %", "Make medkits more scarce.");
Slider(f.settings.medkits, 0, 100);

NewMenuItem("Starting Equipment", "How many random items you start with");
NewMenuItem("Starting Equipment", "How many random items you start with.");
Slider(f.settings.equipment, 0, 10);

NewMenuItem("Swap Items %", "The chance for item positions to be swapped.");
Expand Down Expand Up @@ -342,6 +345,19 @@ function BindControls(optional string action)
NewMenuItem("Aug Strength Rando %", "How much to randomize the strength of augmentations.");
Slider(f.settings.aug_value_rando, 0, 100);// this is a wet/dry scale, 0 to 100%

NewGroup("New Game+");

NewMenuItem("Scaling %", "Scales the curve of New Game+ changes over successive loops.");
Slider(f.moresettings.newgameplus_curve_scalar, 0, 200);
NewMenuItem("Max Item Carryover", "Maximum number of the same item that can carry over between loops, not including stackable items.");
Slider(f.newgameplus_max_item_carryover, 0, 30);
NewMenuItem("Skill Downgrades", "Number of skill level downgrades per loop.");
Slider(f.newgameplus_num_skill_downgrades, 0, 33);
NewMenuItem("Augmentations Removed", "Number of augmentations removed per loop.");
Slider(f.newgameplus_num_removed_augs, 0, 8);
NewMenuItem("Weapons Removed", "Number of weapons removed per loop.");
Slider(f.newgameplus_num_removed_weapons, 0, 18);

if( action == "NEXT" ) _InvokeNewGameScreen(combatDifficulty, InitDxr());
if( action == "RANDOMIZE" ) RandomizeOptions(f);
}
Expand Down
6 changes: 3 additions & 3 deletions DXRCore/DeusEx/Classes/DXRVersion.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ simulated static function CurrentVersion(optional out int major, optional out in
{
major=2;
minor=5;
patch=5;
build=6;//build can't be higher than 99
patch=6;
build=3;//build can't be higher than 99
}

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

status = "";
status = "Beta";

if(status!="") {
status = " " $ status;
Expand Down
8 changes: 8 additions & 0 deletions DXRCore/DeusEx/Classes/DXRando.uc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ var transient bool runPostFirstEntry;
var transient bool bTickEnabled;// bTickEnabled is just for DXRandoTests to inspect
var transient bool bLoginReady;

#ifdef revision
var transient bool RevisionMaps;
#endif

replication
{
reliable if( Role==ROLE_Authority )
Expand Down Expand Up @@ -90,6 +94,10 @@ function DXRInit()
if(Player == None)
return;

#ifdef revision
RevisionMaps = class'DXRMapVariants'.static.IsRevisionMaps(Player,true);
#endif

flagbase = Player.FlagBase;
#ifdef hx
flagbase = HXGameInfo(Level.Game).Steve.FlagBase;
Expand Down
14 changes: 14 additions & 0 deletions DXRFixes/DeusEx/Classes/Containers.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class DXRContainers injects #var(prefix)Containers;

//Only drop the contents when the health is 0 to prevent crate content duping
//by carrying through level transitions.
function Destroyed()
{
if (HitPoints<=0){
//Normal "Containers" Destroyed behaviour, including dropping items
Super.Destroyed();
} else {
//DeusExDecoration won't drop items for Containers
Super(#var(DeusExPrefix)Decoration).Destroyed();
}
}
6 changes: 6 additions & 0 deletions DXRFixes/DeusEx/Classes/TrashPaper.uc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class DXRTrashPaper injects #var(prefix)TrashPaper;

defaultproperties
{
FragType=Class'DeusEx.PaperFragment'
}
3 changes: 3 additions & 0 deletions DXRMapFixups/DeusEx/Classes/DXRFixupM01.uc
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,12 @@ function AnyEntryMapFixes()
local name conName;
local string afterTextLine;

// if you can talk to gunther then obviously he's been rescued
DeleteConversationFlag(GetConversation('GuntherRescued'), 'GuntherFreed', true);

//Cut out the dialog for Paul giving you equipment
if(dxr.flags.IsReducedRando()) return; // but not in reduced rando

c = GetConversation('MeetPaul');
ce = c.eventList;

Expand Down
Loading