deus-ex-randomizer icon indicating copy to clipboard operation
deus-ex-randomizer copied to clipboard

M06 DTS location hints? and better visibility for Versalife employees

Open Die4Ever opened this issue 1 year ago • 3 comments

  • [ ] DTS hints about where it's NOT? https://discord.com/channels/823629359931195394/823629360929046530/1238928798750216332
    • [ ] maybe just put Maggie Chow as a randomized goal and give them mutual exclusions so they can't be in the same map... Should May Sung be with her?
    • [ ] remove possibility of DTS in vanilla? the streets map already has enough locations
    • [ ] ~~obvious one being a datacube in the police vault saying something like "we already searched the canals/streets/lucky money and it wasn't there"~~
    • [ ] ~~in Maggie's office "I can't find my DTS anywhere in my apartment" or "I couldn't find my DTS anywhere on my street, it must be far away"~~
  • [ ] versalife employees could be easier to spot?
    • [ ] put them closer to the front so they're visible from afar
    • [x] give the nervous worker a different look?
    • [ ] maybe keep hundley and nervous worker on the same floor?

Die4Ever avatar Jul 18 '24 01:07 Die4Ever

some discussion here: https://discord.com/channels/823629359931195394/823629360929046530/1270915196982005870

Die4Ever avatar Aug 08 '24 01:08 Die4Ever

From Nitram about the vanilla DTS location:

Ideas for the vanilla locations:

  1. Remove it.
  2. Tong infolink begins when you get near it, no having to open the case.
  3. Tong infolink begins when you initiate the opening of the case (don't need to wait for it to open). [this already works btw lol]
  4. Whole structure is breakable.

We can do this when we start randomizing Maggie's location

Die4Ever avatar Aug 27 '24 22:08 Die4Ever

Maggie's vanilla location could maybe be tweaked to be visible through the window from the ground? but it's a tough angle

image

image

Die4Ever avatar Sep 23 '24 01:09 Die4Ever

Not sure if I like this, it reduces the amount of time spent in some beloved maps and reduces some fun hunting. Also maybe it should be the Lumpath_Street_Guard instead of Maggie

anyways here's the code I wrote for this, maybe will revisit

diff --git a/DXRMissions/DeusEx/Classes/DXRMissionsM06.uc b/DXRMissions/DeusEx/Classes/DXRMissionsM06.uc
index 221ac10b..f8e4ee05 100644
--- a/DXRMissions/DeusEx/Classes/DXRMissionsM06.uc
+++ b/DXRMissions/DeusEx/Classes/DXRMissionsM06.uc
@@ -5,7 +5,7 @@ var bool M08Briefing;
 
 function int InitGoals(int mission, string map)
 {
-    local int goal, loc, loc2;
+    local int goal, loc, loc2, dts, maggie;
 
     switch(map) {
     case "06_HONGKONG_VERSALIFE":
@@ -47,22 +47,43 @@ function int InitGoals(int mission, string map)
         AddActorLocation(loc, 1, vect(3, 886, 789.101990), rot(0,0,0));// MAHOGANY desk
         return 62;
 
+    //#region DTS
     case "06_HONGKONG_WANCHAI_STREET":
     case "06_HONGKONG_WANCHAI_CANAL":
     case "06_HONGKONG_WANCHAI_MARKET":
     case "06_HONGKONG_WANCHAI_UNDERWORLD":
-        goal = AddGoal("06_HONGKONG_WANCHAI_STREET", "Dragon's Tooth Sword", NORMAL_GOAL, 'WeaponNanoSword0', PHYS_None);
-        AddGoalActor(goal, 1, 'DataLinkTrigger0', PHYS_None);// DL_Tong_00: Now bring the sword to Max Chen at the Lucky Money Club
-
-        AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "Sword Case", NORMAL_GOAL | VANILLA_GOAL, vect(-1857.841064, -158.911865, 2051.345459), rot(0, 0, 0)); 
-        AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "in Maggie's shower", NORMAL_GOAL, vect(-1294.841064, -1861.911865, 2190.345459), rot(0, 0, 0));       
-        AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "on Jock's bed", NORMAL_GOAL, vect(342.584808, -1802.576172, 1713.509521), rot(0, 0, 0));
-        AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "in the sniper nest", NORMAL_GOAL, vect(204.923828, -195.652588, 1795), rot(0, 40000, 0));
-        AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "in the hold of the boat", NORMAL_GOAL, vect(2293, 2728, -598), rot(0, 10808, 0));
-        AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "in the Canal Waterside Apartment", NORMAL_GOAL, vect(1775, 2065, -317), rot(0, 0, 0));
-        AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "in the Old China Hand kitchen", NORMAL_GOAL, vect(-1623, 3164, -393), rot(0, -49592, 0));
-        AddGoalLocation("06_HONGKONG_WANCHAI_UNDERWORLD", "in the Lucky Money 
freezer", NORMAL_GOAL, vect(-1780, -2750, -333), rot(0, 27104, 0));
-        AddGoalLocation("06_HONGKONG_WANCHAI_MARKET", "in the police vault", NORMAL_GOAL, vect(-480, -720, -107), rot(0, -5564, 0));
+        maggie = AddGoal("06_HONGKONG_WANCHAI_STREET", "Maggie Chow", GOAL_TYPE2, 'MaggieChow0', PHYS_FALLING);
+
+        dts = AddGoal("06_HONGKONG_WANCHAI_STREET", "Dragon's Tooth Sword", NORMAL_GOAL, 'WeaponNanoSword0', PHYS_None);
+        AddGoalActor(dts, 1, 'DataLinkTrigger0', PHYS_None);// DL_Tong_00: Now bring the sword to Max Chen at the Lucky Money Club
+
+        // street
+        loc = AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "Maggie's Apartment", GOAL_TYPE2 | VANILLA_GOAL, vect(-91.403961,-1675.242798,1966.149170), rot(0, -9508, 0));
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "Sword Case", NORMAL_GOAL | VANILLA_GOAL, vect(-1857.841064, -158.911865, 2051.345459), rot(0, 0, 0));
+        AddMutualExclusion(loc, loc2);
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "in Maggie's shower", NORMAL_GOAL, vect(-1294.841064, -1861.911865, 2190.345459), rot(0, 0, 0));+        AddMutualExclusion(loc, loc2);
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "on Jock's bed", 
NORMAL_GOAL, vect(342.584808, -1802.576172, 1713.509521), rot(0, 0, 0));       
+        AddMutualExclusion(loc, loc2);
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_STREET", "in the sniper nest", NORMAL_GOAL, vect(204.923828, -195.652588, 1795), rot(0, 40000, 0));      
+        AddMutualExclusion(loc, loc2);
+
+        // canal
+        loc = AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "Maggie at Canal", 
GOAL_TYPE2 | VANILLA_GOAL, vect(165.380600, 1047.135864, 43.101326), rot(0, 0, 
0));
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "in the hold of the boat", NORMAL_GOAL, vect(2293, 2728, -598), rot(0, 10808, 0));
+        AddMutualExclusion(loc, loc2);
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "in the Canal Waterside Apartment", NORMAL_GOAL, vect(1775, 2065, -317), rot(0, 0, 0));
+        AddMutualExclusion(loc, loc2);
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_CANAL", "in the Old China 
Hand kitchen", NORMAL_GOAL, vect(-1623, 3164, -393), rot(0, -49592, 0));       
+        AddMutualExclusion(loc, loc2);
+
+        // lucky money and market
+        loc = AddGoalLocation("06_HONGKONG_WANCHAI_UNDERWORLD", "Maggie at Lucky Money", GOAL_TYPE2 | VANILLA_GOAL, vect(-1019.098450, -1300.728149, -340.900085), rot(0, 16384, 0));
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_UNDERWORLD", "in the Lucky Money freezer", NORMAL_GOAL, vect(-1780, -2750, -333), rot(0, 27104, 0));     
+        AddMutualExclusion(loc, loc2);
+        loc = AddGoalLocation("06_HONGKONG_WANCHAI_MARKET", "Maggie at Market", GOAL_TYPE2 | VANILLA_GOAL, vect(-315.659729, -572.678223, 43.100243), rot(0, 
32768, 0));
+        loc2 = AddGoalLocation("06_HONGKONG_WANCHAI_MARKET", "in the police vault", NORMAL_GOAL, vect(-480, -720, -107), rot(0, -5564, 0));
+        AddMutualExclusion(loc, loc2);

         goal = AddGoal("06_HONGKONG_WANCHAI_UNDERWORLD","Max Chen",GOAL_TYPE1,'MaxChen0',PHYS_FALLING);
         AddGoalActor(goal, 1, 'TriadRedArrow5', PHYS_Falling); //Maybe I should actually find these guys by bindname?  They're "RightHandMan"
@@ -89,6 +110,7 @@ function int InitGoals(int mission, string map)
         AddActorLocation(loc, 2, vect(-1204,-2758,21), rot(0,23892,0));       

         return 63;
+        //#endregion
     }

     return mission+1000;
@@ -272,6 +294,7 @@ function CreateGoal(out Goal g, GoalLocation Loc)
     local WeaponNanoSword dts;
     local DataLinkTrigger dlt;
     local NervousWorker   nw;
+    local MaggieChow      maggie;

     switch(g.name) {
     case "Dragon's Tooth Sword":
@@ -291,6 +314,19 @@ function CreateGoal(out Goal g, GoalLocation Loc)
         g.actors[0].a=nw;
         nw.ConBindEvents();
         break;
+
+    case "Maggie Chow":
+        maggie = #var(prefix)MaggieChow(Spawnm(class'#var(prefix)MaggieChow',, 'DXRMissions', Loc.positions[0].pos));
+        g.actors[0].a = maggie;
+        //RemoveReactions(maggie);
+        //maggie.BindName = "NicoletteDuClare";
+        //maggie.FamiliarName = "Young Woman";
+        //maggie.UnfamiliarName = "Young Woman";
+        maggie.bInvincible = true;
+        maggie.SetOrders('Dancing');
+        //maggie.ConBindEvents();
+        //maggie.RaiseAlarm = RAISEALARM_Never;
+        break;
     }
 }

Die4Ever avatar Mar 25 '25 11:03 Die4Ever

if the goal is more permutations of the route, maybe we randomize Gordon Quick instead

he's required, so the mutual exclusions won't be freebies (if we even do it with mutual exclusions)

Die4Ever avatar Mar 25 '25 12:03 Die4Ever