Skip to content

Commit

Permalink
M01 redo goals mutual exclusions (#876)
Browse files Browse the repository at this point in the history
  • Loading branch information
Die4Ever committed Aug 6, 2024
1 parent e8a1d87 commit fe8347e
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 40 deletions.
92 changes: 53 additions & 39 deletions DXRMissions/DeusEx/Classes/DXRMissionsM01.uc
Original file line number Diff line number Diff line change
Expand Up @@ -2,50 +2,64 @@ class DXRMissionsM01 extends DXRMissions;

function int InitGoals(int mission, string map)
{
local int goal, goal2, loc, loc2, loc3;
local int leo, unatco, pauldock, harleydock, electric, hut, jail, top, topofbase;
local int boat_pauldock, boat_harleydock, boat_top, boat_hut;

goal = AddGoal("01_NYC_UNATCOISLAND", "Terrorist Commander", NORMAL_GOAL, 'TerroristCommander0', PHYS_Falling);
AddGoalActor(goal, 1, 'DataLinkTrigger12', PHYS_None);
AddGoalActor(goal, 2, 'SkillAwardTrigger6', PHYS_None);
goal2 = AddGoal("01_NYC_UNATCOISLAND", "Police Boat", GOAL_TYPE1, 'NYPoliceBoat0', PHYS_None);

loc = AddGoalLocation("01_NYC_UNATCOISLAND", "UNATCO HQ", START_LOCATION, vect(-6348.445313, 1912.637207, -111.428482), rot(0, 0, 0));
loc2 = AddGoalLocation("01_NYC_UNATCOISLAND", "South Dock", NORMAL_GOAL | VANILLA_START, vect(-4760.569824, 10430.811523, -280.674988), rot(0, -7040, 0));
AddMutualExclusion(loc, loc2);// unatco vs south dock (paul dock)
AddMapMarker(class'Image01_LibertyIsland',156,364,"L","Terrorist Commander", loc2,"Leo Gold, the terrorist commander, can be located on the South dock. This is the location you would normally start the game.");
leo = AddGoal("01_NYC_UNATCOISLAND", "Terrorist Commander", NORMAL_GOAL, 'TerroristCommander0', PHYS_Falling);
AddGoalActor(leo, 1, 'DataLinkTrigger12', PHYS_None);
AddGoalActor(leo, 2, 'SkillAwardTrigger6', PHYS_None);

loc2 = AddGoalLocation("01_NYC_UNATCOISLAND", "Hut", NORMAL_GOAL, vect(-2407.206787, 205.915558, -128.899979), rot(0, 30472, 0));
AddMutualExclusion(loc, loc2);// unatco vs hut
AddMapMarker(class'Image01_LibertyIsland',156,199,"L","Terrorist Commander", loc2,"Leo Gold, the terrorist commander, can be located in the small hut in front of the statue.");

loc = AddGoalLocation("01_NYC_UNATCOISLAND", "North Dock", START_LOCATION, vect(1297.173096, -10257.972656, -287.428131), rot(0, 0, 0));
loc2 = AddGoalLocation("01_NYC_UNATCOISLAND", "Electric Bunker", NORMAL_GOAL | START_LOCATION, vect(6552.227539, -3246.095703, -447.438049), rot(0, 0, 0));
AddMutualExclusion(loc, loc2);// north dock start (filben dock) vs electric bunker
AddMapMarker(class'Image01_LibertyIsland',318,140,"L","Terrorist Commander",loc2,"Leo Gold, the terrorist commander, can be located in the back of the small bunker next to the statue. He would be behind the malfunctioning electrical box.");

loc3 = AddGoalLocation("01_NYC_UNATCOISLAND", "North Dock", NORMAL_GOAL, vect(4018,-10308,-256), rot(0, 22520, 0));
AddMutualExclusion(loc, loc3);// north dock start vs north dock leo
AddMutualExclusion(loc3, loc2);// north dock leo vs electric bunker
AddMapMarker(class'Image01_LibertyIsland',239,15,"L","Terrorist Commander",loc3,"Leo Gold, the terrorist commander, can be located on the North dock on the opposite side from the hut.");
AddGoal("01_NYC_UNATCOISLAND", "Police Boat", GOAL_TYPE1, 'NYPoliceBoat0', PHYS_None);

loc=AddGoalLocation("01_NYC_UNATCOISLAND", "Jail", NORMAL_GOAL | START_LOCATION, vect(2127.692139, -1774.869141, -149.140366), rot(0, 0, 0));
AddMapMarker(class'Image01_LibertyIsland',235,147,"L","Terrorist Commander", loc,"Leo Gold, the terrorist commander, can be located inside the jail cell where Gunther is locked up.");

loc = AddGoalLocation("01_NYC_UNATCOISLAND", "Top of the Base", NORMAL_GOAL, vect(2980.058105, -669.242554, 1056.577271), rot(0, 0, 0));
AddMapMarker(class'Image01_LibertyIsland',257,159,"L","Terrorist Commander",loc,"Leo Gold, the terrorist commander, can be located on the highest outside level of the base of the statue.");
loc2 = AddGoalLocation("01_nyc_unatcoisland", "Top of the Statue", NORMAL_GOAL | VANILLA_GOAL | START_LOCATION, vect(2931.230957, 27.495235, 2527.800049), rot(0, 14832, 0));
AddMapMarker(class'Image01_LibertyIsland',260,184,"L","Terrorist Commander",loc2,"Leo Gold, the terrorist commander, can be located in the command post at the top of the statue. This is his vanilla location.");
AddMutualExclusion(loc, loc2);// top of the base vs top of the statue
unatco = AddGoalLocation("01_NYC_UNATCOISLAND", "UNATCO HQ", START_LOCATION, vect(-6348.445313, 1912.637207, -111.428482), rot(0, 0, 0));
pauldock = AddGoalLocation("01_NYC_UNATCOISLAND", "South Dock", NORMAL_GOAL | VANILLA_START, vect(-4760.569824, 10430.811523, -280.674988), rot(0, -7040, 0));
hut = AddGoalLocation("01_NYC_UNATCOISLAND", "Hut", NORMAL_GOAL, vect(-2407.206787, 205.915558, -128.899979), rot(0, 30472, 0));
electric = AddGoalLocation("01_NYC_UNATCOISLAND", "Electric Bunker", NORMAL_GOAL | START_LOCATION, vect(6552.227539, -3246.095703, -447.438049), rot(0, 0, 0));
jail = AddGoalLocation("01_NYC_UNATCOISLAND", "Jail", NORMAL_GOAL | START_LOCATION, vect(2127.692139, -1774.869141, -149.140366), rot(0, 0, 0));
topofbase = AddGoalLocation("01_NYC_UNATCOISLAND", "Top of the Base", NORMAL_GOAL, vect(2980.058105, -669.242554, 1056.577271), rot(0, 0, 0));
top = AddGoalLocation("01_nyc_unatcoisland", "Top of the Statue", NORMAL_GOAL | VANILLA_GOAL | START_LOCATION, vect(2931.230957, 27.495235, 2527.800049), rot(0, 14832, 0));
harleydock = AddGoalLocation("01_NYC_UNATCOISLAND", "North Dock", NORMAL_GOAL | START_LOCATION, vect(4018,-10308,-256), rot(0, 22520, 0));
AddActorLocation(harleydock, PLAYER_LOCATION, vect(1297.173096, -10257.972656, -287.428131), rot(0, 0, 0));

//Boat locations
loc=AddGoalLocation("01_nyc_unatcoisland", "South Dock", GOAL_TYPE1 | VANILLA_GOAL , vect(-5122.414551, 10138.813477, -269.806213), rot(0, 0, 0));
AddMapMarker(class'Image01_LibertyIsland',130,371,"B","Police Boat",loc,"The police boat can be located at the South dock, where you normally start the game. This is the vanilla location.");
loc=AddGoalLocation("01_nyc_unatcoisland", "North Dock", GOAL_TYPE1 , vect(4535.585938, -10046.186523, -269.806213), rot(0, 0, 0));
AddMapMarker(class'Image01_LibertyIsland',250,16,"B","Police Boat",loc,"The police boat can be located at the North dock, near where Harley Filben is located.");
loc=AddGoalLocation("01_nyc_unatcoisland", "Top of the Statue", GOAL_TYPE1 , vect(3682.585449, 326, 2108.193848), rot(0, 0, 0));
AddMapMarker(class'Image01_LibertyIsland',281,179,"B","Police Boat",loc,"The police boat can be located floating off the side of an upper level of the statue.");
loc=AddGoalLocation("01_nyc_unatcoisland", "Behind UNATCO", GOAL_TYPE1 , vect(-4578.414551, 267.813477, 24.193787), rot(0, 0, 0));
AddMapMarker(class'Image01_LibertyIsland',121,200,"B","Police Boat",loc,"The police boat can be located floating behind UNATCO HQ, near the small hut in front of the statue.");
boat_pauldock = AddGoalLocation("01_nyc_unatcoisland", "South Dock", GOAL_TYPE1 | VANILLA_GOAL , vect(-5122.414551, 10138.813477, -269.806213), rot(0, 0, 0));
boat_hut = AddGoalLocation("01_nyc_unatcoisland", "Behind UNATCO", GOAL_TYPE1 , vect(-4578.414551, 267.813477, 24.193787), rot(0, 0, 0));
boat_harleydock = AddGoalLocation("01_nyc_unatcoisland", "North Dock", GOAL_TYPE1 , vect(4535.585938, -10046.186523, -269.806213), rot(0, 0, 0));
boat_top = AddGoalLocation("01_nyc_unatcoisland", "Top of the Statue", GOAL_TYPE1 , vect(3682.585449, 326, 2108.193848), rot(0, 0, 0));

// Leo vs start location mutual exclusions
AddMutualExclusion(unatco, pauldock);
AddMutualExclusion(unatco, hut);
AddMutualExclusion(harleydock, electric);
AddMutualExclusion(harleydock, electric);
AddMutualExclusion(jail, topofbase);
AddMutualExclusion(jail, hut);
AddMutualExclusion(topofbase, top);

// Leo vs boat mutual exclusions
AddMutualExclusion(boat_pauldock, pauldock);
AddMutualExclusion(boat_pauldock, hut);
AddMutualExclusion(boat_pauldock, unatco);
AddMutualExclusion(boat_hut, hut);
AddMutualExclusion(boat_hut, jail);
AddMutualExclusion(boat_harleydock, harleydock);
AddMutualExclusion(boat_harleydock, electric);
AddMutualExclusion(boat_top, top);
AddMutualExclusion(boat_top, topofbase);

AddMapMarker(class'Image01_LibertyIsland',156,364,"L","Terrorist Commander", pauldock,"Leo Gold, the terrorist commander, can be located on the South dock. This is the location you would normally start the game.");
AddMapMarker(class'Image01_LibertyIsland',156,199,"L","Terrorist Commander", hut,"Leo Gold, the terrorist commander, can be located in the small hut in front of the statue.");
AddMapMarker(class'Image01_LibertyIsland',318,140,"L","Terrorist Commander",electric,"Leo Gold, the terrorist commander, can be located in the back of the small bunker next to the statue. He would be behind the malfunctioning electrical box.");
AddMapMarker(class'Image01_LibertyIsland',239,15,"L","Terrorist Commander",harleydock,"Leo Gold, the terrorist commander, can be located on the North dock on the opposite side from the hut.");
AddMapMarker(class'Image01_LibertyIsland',235,147,"L","Terrorist Commander", jail,"Leo Gold, the terrorist commander, can be located inside the jail cell where Gunther is locked up.");
AddMapMarker(class'Image01_LibertyIsland',257,159,"L","Terrorist Commander",topofbase,"Leo Gold, the terrorist commander, can be located on the highest outside level of the base of the statue.");
AddMapMarker(class'Image01_LibertyIsland',260,184,"L","Terrorist Commander",top,"Leo Gold, the terrorist commander, can be located in the command post at the top of the statue. This is his vanilla location.");

AddMapMarker(class'Image01_LibertyIsland',130,371,"B","Police Boat",boat_pauldock,"The police boat can be located at the South dock, where you normally start the game. This is the vanilla location.");
AddMapMarker(class'Image01_LibertyIsland',250,16,"B","Police Boat",boat_harleydock,"The police boat can be located at the North dock, near where Harley Filben is located.");
AddMapMarker(class'Image01_LibertyIsland',281,179,"B","Police Boat",boat_top,"The police boat can be located floating off the side of an upper level of the statue.");
AddMapMarker(class'Image01_LibertyIsland',121,200,"B","Police Boat",boat_hut,"The police boat can be located floating behind UNATCO HQ, near the small hut in front of the statue.");

return mission;
}

Expand Down
6 changes: 5 additions & 1 deletion GUI/DeusEx/Classes/HUDSpeedrunSplits.uc
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ event InitWindow()
colorBehindLosingTime=RGB(255,60,40);
colorBehindGainingTime=RGB(250,140,131);
}
if( class'DXRVersion'.static.VersionOlderThan(version, 3,1,0,2)) {
splitNotes[1]="The starting location, Leo, and the boat|ncannot be close to each other.|nEdit these notes in DXRSplits.ini";
splitNotes[14]="The computer and Howard won't be close to each other.|nHoward and Escape Jock won't be close to each other.|nEdit these notes in DXRSplits.ini";
}
if( version < class'DXRVersion'.static.VersionNumber() ) {
version = class'DXRVersion'.static.VersionNumber();
SaveConfig();
Expand Down Expand Up @@ -671,6 +675,6 @@ defaultproperties
split_names(14)="Silo"
split_names(15)="Area 51"

splitNotes(1)="UNATCO start: no Leo at Paul or hut|nHarley start: no Leo at electric bunker|nElectric Bunker start: no Leo at Harley dock|nTop start: no Leo at base of statue|nEdit these notes in DXRSplits.ini"
splitNotes(1)="The starting location, Leo, and the boat|ncannot be close to each other.|nEdit these notes in DXRSplits.ini"
splitNotes(14)="The computer and Howard won't be close to each other.|nHoward and Escape Jock won't be close to each other.|nEdit these notes in DXRSplits.ini"
}

0 comments on commit fe8347e

Please sign in to comment.