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.3 #521

Merged
merged 26 commits into from
Sep 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c4fb259
Remove weird copy and paste error putting a cremation bingo goal into
theastropath Sep 11, 2023
a4b0e9c
Fix start_map logic checking PresentForManderley is impossible or not
theastropath Sep 11, 2023
34c2920
no knockback for invincible pawns
Die4Ever Sep 12, 2023
7e68a37
installer remove (Recommended) from D3D9 name
Die4Ever Sep 12, 2023
8d21d9e
rewrite speedrun timer for custimizeability
Die4Ever Sep 12, 2023
982a670
AlliesKilled don't count critters
Die4Ever Sep 12, 2023
cf204c8
v2.5.3.8 Beta builds
Die4Ever Sep 12, 2023
7d15aad
_CreateBingoBoard log number of bingo options
Die4Ever Sep 12, 2023
e29f83a
Automatically give the player the map of Liberty Island, since we cut
theastropath Sep 12, 2023
c237083
tests log error when incorrect starting map
Die4Ever Sep 12, 2023
ad93ef1
Fix flag mask on destroy capitalism. Add more descriptive bingo help
theastropath Sep 13, 2023
5da69de
Merge branch 'develop' of https://github.com/Die4Ever/deus-ex-randomizer
theastropath Sep 13, 2023
63f3aa5
banned skill levels don't ban Trained
Die4Ever Sep 13, 2023
37d08b1
tweak banned skills so Walton Ware can always hack
Die4Ever Sep 13, 2023
350808b
tweak NG+ scaling and limits
Die4Ever Sep 13, 2023
d993f9f
Walton Ware no skill cost rerolls
Die4Ever Sep 13, 2023
f100bbc
v2.5.3.9 Beta builds
Die4Ever Sep 13, 2023
e542bf1
bingo viewer comment out uploading
Die4Ever Sep 13, 2023
1af2f77
Make water fountains actually count for "stay dehydrated"
theastropath Sep 14, 2023
b624e57
speedrun timer window updates
Die4Ever Sep 14, 2023
9b16108
fix I spill %s drinks bingo goal name
Die4Ever Sep 14, 2023
a21d3f6
fix I spill %s drinks bingo goal name, caps
Die4Ever Sep 14, 2023
412e81e
fixed WW ManWhoWasThursday in Chateau start
Die4Ever Sep 14, 2023
c1b5308
speedrun splits window show speed and variables
Die4Ever Sep 14, 2023
09c2df0
fix CrateUnbreakableLarge breakable
Die4Ever Sep 14, 2023
f38c4ce
v2.5.3.11 release candidates
Die4Ever Sep 14, 2023
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: 8 additions & 8 deletions .github/run-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ runs:
curl -Lo installer/3rdParty/D3D9Drv.dll
"https://github.com/Defaultplayer001/Deus-Ex-Universe-Community-Update-/raw/master/%5B1.0%5D%20Deus%20Ex%20-%20Windows-Linux-macOS-Android/DXCU%20Installer%20Source/Mods/Community%20Update/System/D3D9Drv.dll"
shell: bash
- run: >-
curl -Lo installer/3rdParty/D3D9Drv.hut
"https://github.com/Defaultplayer001/Deus-Ex-Universe-Community-Update-/raw/master/%5B1.0%5D%20Deus%20Ex%20-%20Windows-Linux-macOS-Android/DXCU%20Installer%20Source/Mods/Community%20Update/System/D3D9Drv.hut"
shell: bash
- run: >-
curl -Lo installer/3rdParty/D3D9Drv.int
"https://github.com/Defaultplayer001/Deus-Ex-Universe-Community-Update-/raw/master/%5B1.0%5D%20Deus%20Ex%20-%20Windows-Linux-macOS-Android/DXCU%20Installer%20Source/Mods/Community%20Update/System/D3D9Drv.int"
shell: bash
#- run: >-
# curl -Lo installer/3rdParty/D3D9Drv.hut
# "https://github.com/Defaultplayer001/Deus-Ex-Universe-Community-Update-/raw/master/%5B1.0%5D%20Deus%20Ex%20-%20Windows-Linux-macOS-Android/DXCU%20Installer%20Source/Mods/Community%20Update/System/D3D9Drv.hut"
# shell: bash
#- run: >-
# curl -Lo installer/3rdParty/D3D9Drv.int
# "https://github.com/Defaultplayer001/Deus-Ex-Universe-Community-Update-/raw/master/%5B1.0%5D%20Deus%20Ex%20-%20Windows-Linux-macOS-Android/DXCU%20Installer%20Source/Mods/Community%20Update/System/D3D9Drv.int"
# shell: bash

# download and extract OpenGL 2.0 https://github.com/Defaultplayer001/Deus-Ex-Universe-Community-Update-/tree/master/%5B1.0%5D%20Deus%20Ex%20-%20Windows-Linux-macOS-Android/CommunityUpdateFileArchiveDXPC/OpenGL
- run: >-
Expand Down
47 changes: 22 additions & 25 deletions BingoDisplay.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import argparse
import time
import sys
import json
import os.path
import urllib.request
import urllib.parse
import re
from tkinter import filedialog as fd
from tkinter import font
Expand Down Expand Up @@ -144,7 +141,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,29 +213,29 @@ def generateBingoStateJson(self):
square["possible"]=self.board[x][y]["active"]!=-1
#print(square)
board.append(square)
#return json.dumps(board,indent=4)
return {"bingo":json.dumps({"bingo":board},indent=4)}
#return {"bingo":json.dumps({"bingo":board},indent=4)}

def sendBingoState(self):
if not os.path.isfile(JSON_DEST_FILENAME):
return

f = open(JSON_DEST_FILENAME,'r')
desturl=f.readline()
f.close()

if (desturl==""):
print("Make sure to specify where you want to push your json!")
return

bingoState = self.generateBingoStateJson()
#print(bingoState)
try:
r = urllib.request.urlopen(desturl,data=urllib.parse.urlencode(bingoState).encode('utf-8'))
#print(r.status)
#print(r.read().decode('utf-8'))
except Exception as e:
print("Couldn't push JSON to "+desturl+" - "+str(e))
pass
# if not os.path.isfile(JSON_DEST_FILENAME):
# return

# f = open(JSON_DEST_FILENAME,'r')
# desturl=f.readline()
# f.close()

# if (desturl==""):
# print("Make sure to specify where you want to push your json!")
# return

# bingoState = self.generateBingoStateJson()
# #print(bingoState)
# try:
# r = urllib.request.urlopen(desturl,data=urllib.parse.urlencode(bingoState).encode('utf-8'))
# #print(r.status)
# #print(r.read().decode('utf-8'))
# except Exception as e:
# print("Couldn't push JSON to "+desturl+" - "+str(e))


def saveLastUsedBingoFile(f):
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,15 +5,15 @@ simulated static function CurrentVersion(optional out int major, optional out in
major=2;
minor=5;
patch=3;
build=6;//build can't be higher than 99
build=11;//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 = "Beta";
status = "";

if(status!="") {
status = " " $ status;
Expand Down
2 changes: 1 addition & 1 deletion DXRFixes/DeusEx/Classes/ScriptedPawn.uc
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ function _TakeDamageBase(int Damage, Pawn instigatedBy, Vector hitlocation, Vect
DrawShield();
}

if(damageType != 'Stunned' && damageType != 'TearGas' && damageType != 'HalonGas' &&
if(!bInvincible && damageType != 'Stunned' && damageType != 'TearGas' && damageType != 'HalonGas' &&
damageType != 'PoisonGas' && damageType != 'Radiation' && damageType != 'EMP' &&
damageType != 'NanoVirus' && damageType != 'Drowned' &&
damageType != 'Poison' && damageType != 'PoisonEffect')
Expand Down
8 changes: 8 additions & 0 deletions DXRMissions/DeusEx/Classes/DXRMissionsM01.uc
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ function MissionTimer()
function AddMissionGoals()
{
local DeusExGoal newGoal;
local Inventory item;

if(dxr.localURL != "01_NYC_UNATCOISLAND") return;

//The MeetPaul conversation would normally give you several goals.
Expand All @@ -121,6 +123,12 @@ function AddMissionGoals()

newGoal=player().AddGoal('MeetFilben',False);
newGoal.SetText("Meet UNATCO informant Harley Filben at the North Docks. He has a key to the Statue doors.");

if (player().FindInventoryType(class'Image01_LibertyIsland')==None){
item = Spawn(class'Image01_LibertyIsland');
item.Frob(player(), None);
}

}

function AfterMoveGoalToLocation(Goal g, GoalLocation Loc)
Expand Down
51 changes: 38 additions & 13 deletions DXRModules/DeusEx/Classes/DXREvents.uc
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ function WatchActors()
foreach AllActors(class'#var(prefix)WaterCooler',cooler){
AddWatchedActor(cooler,"Dehydrated");
}
foreach AllActors(class'#var(prefix)WaterFountain',fountain){
AddWatchedActor(fountain,"Dehydrated");
}
foreach AllActors(class'#var(prefix)HangingChicken',chicken){
AddWatchedActor(chicken,"BeatTheMeat");
}
Expand Down Expand Up @@ -432,15 +435,6 @@ function SetWatchFlags() {
bt.MakeClassProximityTrigger(class'#var(prefix)JuanLebedevCarcass');
}


if(RevisionMaps){

} else {
bt = class'BingoTrigger'.static.Create(self,'Cremation',vectm(-2983.597168,774.217407,312.100128),70,40);
bt.MakeClassProximityTrigger(class'#var(prefix)ChefCarcass');
bt = class'BingoTrigger'.static.Create(self,'Cremation',vectm(-2984.404785,662.764954,312.100128),70,40);
bt.MakeClassProximityTrigger(class'#var(prefix)ChefCarcass');
}
foreach AllActors(class'#var(prefix)Female2',f) {
if(f.BindName == "Shannon"){
f.bImportant = true;
Expand Down Expand Up @@ -1655,7 +1649,7 @@ function _AddPawnDeath(ScriptedPawn victim, optional Actor Killer, optional coer
_MarkBingo(classname$"_ClassDeadM" $ dxr.dxInfo.missionNumber);

//Were they an ally? Skip on NSF HQ, because that's kind of a bait
if (!isInitialPlayerEnemy(victim) && //Must have not been an enemy initially
if (!isInitialPlayerEnemy(victim) && !IsCritter(victim) && //Must have not been an enemy initially
(dxr.localURL!="04_NYC_NSFHQ" || (dxr.localURL=="04_NYC_NSFHQ" && dxr.flagbase.GetBool('DL_SimonsPissed_Played')==False)) //Not on the NSF HQ map, or if it is, before you send the signal (kludgy)
){
_MarkBingo("AlliesKilled");
Expand Down Expand Up @@ -1997,6 +1991,8 @@ simulated function _CreateBingoBoard(PlayerDataItem data)
options[num_options++] = x;
}

l("_CreateBingoBoard found " $ num_options $ " options");

for(x=0; x<ArrayCount(mutually_exclusive); x++) {
if(mutually_exclusive[x].e1 == "") continue;

Expand All @@ -2007,6 +2003,8 @@ simulated function _CreateBingoBoard(PlayerDataItem data)
}
}

l("_CreateBingoBoard have " $ num_options $ " options remaining after mutual exclusions");

//Clear out the board so it is ready to be repopulated
for(x=0; x<5; x++) {
for(y=0; y<5; y++) {
Expand Down Expand Up @@ -2416,6 +2414,7 @@ function string RemapBingoEvent(string eventname)
case "Jocques_Dead":
case "Kristi_Dead":
case "HotelBartender_Dead":
case "MetroTechnician_Dead":
_MarkBingo("DestroyCapitalism"); //Split into another event, but still return this one as-is
return eventname;
case "MeetWalton_Played":
Expand Down Expand Up @@ -3093,7 +3092,33 @@ static simulated function string GetBingoGoalHelpText(string event,int mission)
case "Shannon_Dead":
return "Kill Shannon in UNATCO HQ as retribution for her thieving ways.";
case "DestroyCapitalism":
return "Kill enough people who are willing to sell you goods in exchange for money.";
msg = "Kill enough people willing to sell you goods in exchange for money. ";
if (mission<=1){
msg=msg$"Tech Sergeant Kaplan and the woman in the hut on the North Dock both absolutely deserve it.";
} else if (mission<=2){
msg=msg$"Jordan Shea in the bar and the doctor in the Free Clinic both deserve it.";
} else if (mission<=3){
msg=msg$"There is a veteran in Battery Park, El Rey and Rock in Brooklyn Bridge Station, and Harold in the hangar. They all deserve it.";
} else if (mission<=4){
msg=msg$"Jordan Shea deserves it.";
} else if (mission<=5){
msg=msg$"Sven the mechanic and Shannon both deserve it.";
} else if (mission<=6){
//msg=msg$"Hong Kong is overflowing with capitalist pigs. ";
msg=msg$"In the VersaLife offices, you can eliminate Mr. Hundley. ";
msg=msg$"In the canals, you must end the life of the Old China Hand bartender, the man selling maps there, and the smuggler on the boat. ";
msg=msg$"In the Lucky Money, you must eliminate the bartender, the mamasan selling escorts, and the doorgirl.";
} else if (mission<=8){
msg=msg$"Jordan Shea needs to go.";
} else if (mission<=10){
//msg=msg$"Paris is filled with filthy capitalists. ";
msg=msg$"In the catacombs, the man in Vault 2 needs to go. ";
msg=msg$"In the Champs D'Elysees streets, you must end the hostel bartender and Kristi in the cafe. ";
msg=msg$"In the club, you can annihilate Camille the dancer, Jean the male bartender, Michelle the female bartender, Antoine the biocell seller, and Jocques the worker in the back room. ";
} else if (mission<=11){
msg=msg$"The technician in the metro station needs to be stopped.";
}
return msg;
case "Canal_Cop_Dead":
return "Kill one of the Chinese Military in the Hong Kong canals standing near the entrance to Tonnochi Road.";
case "LightVandalism":
Expand Down Expand Up @@ -3532,9 +3557,9 @@ defaultproperties
bingo_options(234)=(event="VendingMachineEmpty_Drink",desc="I Wanted Orange! (%s)",max=12,missions=36734)
bingo_options(235)=(event="VendingMachineDispense_Candy",desc="Ooh, a piece of candy! (%s)",max=100,missions=36478)
bingo_options(236)=(event="M06JCHasDate",desc="Pay for some company",max=1,missions=64)
bingo_options(237)=(event="Sailor_ClassDeadM6",desc="I spilled %s drinks!",max=5,missions=64)
bingo_options(237)=(event="Sailor_ClassDeadM6",desc="I SPILL %s DRINKS!",max=5,missions=64)
bingo_options(238)=(event="Shannon_Dead",desc="Kill the thief in UNATCO",max=1,missions=58)
bingo_options(239)=(event="DestroyCapitalism",desc="MUST. CRUSH. %s CAPITALISTS.",max=10,missions=1406)
bingo_options(239)=(event="DestroyCapitalism",desc="MUST. CRUSH. %s CAPITALISTS.",max=10,missions=3454)
bingo_options(240)=(event="Canal_Cop_Dead",desc="Not advisable to visit the canals at night",max=1,missions=64)
bingo_options(241)=(event="LightVandalism",desc="Perform %s acts of light vandalism",max=40,missions=57214)
bingo_options(242)=(event="FightSkeletons",desc="Destroy %s skeleton parts",max=10,missions=19536)
Expand Down
2 changes: 1 addition & 1 deletion DXRModules/DeusEx/Classes/DXRFixup.uc
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ function CheckConfig()
DecorationsOverwrites[i].explosionRadius = c.default.explosionRadius;
DecorationsOverwrites[i].bPushable = c.default.bPushable;

i=0;
i++;
DecorationsOverwrites[i].type = "CrateUnbreakableMed";
DecorationsOverwrites[i].bInvincible = false;
DecorationsOverwrites[i].HitPoints = 500;
Expand Down
12 changes: 7 additions & 5 deletions DXRModules/DeusEx/Classes/DXRFlags.uc
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ function CheckConfig()
difficulty_settings[i].skills_disable_downgrades = 0;
difficulty_settings[i].skills_reroll_missions = 1;
difficulty_settings[i].skills_independent_levels = 0;
difficulty_settings[i].banned_skills = 5;
difficulty_settings[i].banned_skills = 10;
difficulty_settings[i].banned_skill_levels = 5;
difficulty_settings[i].minskill = 1;
difficulty_settings[i].maxskill = 5;
Expand Down Expand Up @@ -196,7 +196,7 @@ function CheckConfig()
difficulty_settings[i].skills_disable_downgrades = 0;
difficulty_settings[i].skills_reroll_missions = 5;
difficulty_settings[i].skills_independent_levels = 0;
difficulty_settings[i].banned_skills = 3;
difficulty_settings[i].banned_skills = 5;
difficulty_settings[i].banned_skill_levels = 3;
difficulty_settings[i].minskill = 50;
difficulty_settings[i].maxskill = 150;
Expand Down Expand Up @@ -264,7 +264,7 @@ function CheckConfig()
difficulty_settings[i].skills_disable_downgrades = 0;
difficulty_settings[i].skills_reroll_missions = 5;
difficulty_settings[i].skills_independent_levels = 0;
difficulty_settings[i].banned_skills = 5;
difficulty_settings[i].banned_skills = 9;
difficulty_settings[i].banned_skill_levels = 5;
difficulty_settings[i].minskill = 50;
difficulty_settings[i].maxskill = 225;
Expand Down Expand Up @@ -332,7 +332,7 @@ function CheckConfig()
difficulty_settings[i].skills_disable_downgrades = 5;
difficulty_settings[i].skills_reroll_missions = 5;
difficulty_settings[i].skills_independent_levels = 100;
difficulty_settings[i].banned_skills = 5;
difficulty_settings[i].banned_skills = 9;
difficulty_settings[i].banned_skill_levels = 7;
difficulty_settings[i].minskill = 50;
difficulty_settings[i].maxskill = 250;
Expand Down Expand Up @@ -400,7 +400,7 @@ function CheckConfig()
difficulty_settings[i].skills_disable_downgrades = 5;
difficulty_settings[i].skills_reroll_missions = 5;
difficulty_settings[i].skills_independent_levels = 100;
difficulty_settings[i].banned_skills = 7;
difficulty_settings[i].banned_skills = 13;
difficulty_settings[i].banned_skill_levels = 7;
difficulty_settings[i].minskill = 50;
difficulty_settings[i].maxskill = 350;
Expand Down Expand Up @@ -585,6 +585,8 @@ function FlagsSettings SetDifficulty(int new_difficulty)
else if(gamemode == WaltonWare) {
settings.bingo_win = 1;
settings.bingo_freespaces = 5;
settings.skills_reroll_missions = 0;// no rerolls since after the menu screen you would immediately get a reroll depending what mission you start in
settings.banned_skills = 0;// need computer skill for hacking
bingo_duration = 1;
bingo_scale = 0;

Expand Down
33 changes: 0 additions & 33 deletions DXRModules/DeusEx/Classes/DXRFlagsBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -967,39 +967,6 @@ function InitVersion()
flagsversion = VersionNumber();
}

simulated function MaxRandoVal(out int val)
{
val = rngrecip(val, 2);
}

simulated function MaxRandoValPair(out int min, out int max)
{
local int i;

MaxRandoVal(min);
MaxRandoVal(max);

if(min > max) {
i = min;
min = max;
max = i;
} else if(min == max) {
min--;
max++;
}
}

function NewGamePlusVal(out int val, float curve, float exp, optional int max)
{
if(val > 0) {
val = val * (curve ** exp);// int *= float doesn't give as good accuracy as int = int*float
if(val <= 0) val = 1;
}
if(max != 0 && val>max) {
val=max;
}
}

function RunTests()
{
local int i, t;
Expand Down
Loading