diff --git a/DXRCore/DeusEx/Classes/DXRBase.uc b/DXRCore/DeusEx/Classes/DXRBase.uc index 51dfdd2fe..9c844cbc9 100644 --- a/DXRCore/DeusEx/Classes/DXRBase.uc +++ b/DXRCore/DeusEx/Classes/DXRBase.uc @@ -82,8 +82,14 @@ simulated function PlayerAnyEntry(#var(PlayerPawn) player) simulated event PreTravel() { SetTimer(0, False); + if(dxr != None) { + _PreTravel(); + } + dxr = None; } +simulated function _PreTravel(); + simulated event Timer() { } diff --git a/DXRCore/DeusEx/Classes/DXRVersion.uc b/DXRCore/DeusEx/Classes/DXRVersion.uc index 104a3362e..885478e19 100644 --- a/DXRCore/DeusEx/Classes/DXRVersion.uc +++ b/DXRCore/DeusEx/Classes/DXRVersion.uc @@ -5,7 +5,7 @@ simulated static function CurrentVersion(optional out int major, optional out in major=2; minor=6; patch=2; - build=5;//build can't be higher than 99 + build=6;//build can't be higher than 99 } simulated static function bool VersionIsStable() diff --git a/DXRCore/DeusEx/Classes/DXRando.uc b/DXRCore/DeusEx/Classes/DXRando.uc index 64cc1dd00..7155680c6 100644 --- a/DXRCore/DeusEx/Classes/DXRando.uc +++ b/DXRCore/DeusEx/Classes/DXRando.uc @@ -119,6 +119,21 @@ function DXRInit() } simulated event PreTravel() +{ + local int i; + for(i=0; i 0.25) + { + LightType = LT_Steady; + } + else + { + LightType = LT_None; + } + } +} + defaultproperties { bProjTarget=true + LightBrightness=255 + LightRadius=1 + LightType=LT_None } diff --git a/DXRMapFixups/DeusEx/Classes/DXRFixupM02.uc b/DXRMapFixups/DeusEx/Classes/DXRFixupM02.uc index 0c96c0827..eec4fba53 100644 --- a/DXRMapFixups/DeusEx/Classes/DXRFixupM02.uc +++ b/DXRMapFixups/DeusEx/Classes/DXRFixupM02.uc @@ -20,6 +20,7 @@ function PreFirstEntryMapFixes() local DXRHoverHint hoverHint; local DXRButtonHoverHint buttonHint; local #var(prefix)Button1 button; + local OnceOnlyTrigger oot; local bool RevisionMaps; local bool VanillaMaps; @@ -214,6 +215,13 @@ function PreFirstEntryMapFixes() class'PlaceholderEnemy'.static.Create(self,vectm(-4059,976,-976),,'Sitting'); break; + case "02_NYC_SMUG": + foreach AllActors(class'DeusExMover', d,'botordertrigger') { + d.tag = 'botordertriggerDoor'; + } + oot = Spawn(class'OnceOnlyTrigger'); + oot.Event='botordertriggerDoor'; + oot.Tag='botordertrigger'; } } diff --git a/DXRMapFixups/DeusEx/Classes/DXRFixupM04.uc b/DXRMapFixups/DeusEx/Classes/DXRFixupM04.uc index 1fd0b3a94..b6c8663a6 100644 --- a/DXRMapFixups/DeusEx/Classes/DXRFixupM04.uc +++ b/DXRMapFixups/DeusEx/Classes/DXRFixupM04.uc @@ -45,6 +45,7 @@ function PreFirstEntryMapFixes() local #var(prefix)GuntherHermann gunther; local #var(prefix)MapExit exit; local #var(prefix)BlackHelicopter jock; + local OnceOnlyTrigger oot; local DXRHoverHint hoverHint; local DXRMapVariants mapvariants; local bool VanillaMaps; @@ -178,13 +179,13 @@ function PreFirstEntryMapFixes() if(VanillaMaps && dxr.flags.settings.goals > 0) { foreach AllActors(class'#var(prefix)DatalinkTrigger', dt, 'DataLinkTrigger') { if(dt.datalinkTag != 'DL_SimonsPissed') continue; - dt.Tag = 'SendingSignal3'; + dt.Tag = 'UNATCOHatesPlayer'; break; } foreach AllActors(class'#var(prefix)FlagTrigger', ft, 'SendingSignal') { ft.Tag = 'SendingSignal2'; - ft.Event = 'SendingSignal3'; + ft.Event = 'UNATCOHatesPlayer'; ft.bTrigger = true; // spawn intermediate trigger to check flag ft = Spawn(class'#var(prefix)FlagTrigger',, 'SendingSignal', ft.Location+vect(10,10,10)); @@ -288,6 +289,15 @@ function PreFirstEntryMapFixes() } break; + + case "04_NYC_SMUG": + foreach AllActors(class'#var(DeusExPrefix)Mover', door,'botordertrigger') { + door.tag = 'botordertriggerDoor'; + } + oot = Spawn(class'OnceOnlyTrigger'); + oot.Event='botordertriggerDoor'; + oot.Tag='botordertrigger'; + break; } } diff --git a/DXRMapFixups/DeusEx/Classes/DXRFixupM05.uc b/DXRMapFixups/DeusEx/Classes/DXRFixupM05.uc index d8f38a900..5cecfcf7d 100644 --- a/DXRMapFixups/DeusEx/Classes/DXRFixupM05.uc +++ b/DXRMapFixups/DeusEx/Classes/DXRFixupM05.uc @@ -329,7 +329,7 @@ function BalanceJailbreak() nextItem = MoveNextItemTo(nextItem, itemLocations[i], 'player_inv'); } - if(!dxr.flags.IsReducedRando()) { + if(dxr.flags.settings.swapitems > 0 || dxr.flags.loadout != 0) { e = DXREnemies(dxr.FindModule(class'DXREnemies')); if( e != None ) { r = initchance(); diff --git a/DXRMapFixups/DeusEx/Classes/DXRFixupM08.uc b/DXRMapFixups/DeusEx/Classes/DXRFixupM08.uc index 71d23a087..e11034245 100644 --- a/DXRMapFixups/DeusEx/Classes/DXRFixupM08.uc +++ b/DXRMapFixups/DeusEx/Classes/DXRFixupM08.uc @@ -135,6 +135,8 @@ function PreFirstEntryMapFixes() local #var(prefix)PigeonGenerator pg; local #var(prefix)MapExit exit; local #var(prefix)BlackHelicopter jock; + local OnceOnlyTrigger oot; + local #var(DeusExPrefix)Mover d; local DXRHoverHint hoverHint; local bool VanillaMaps; local ScriptedPawn pawn; @@ -220,6 +222,14 @@ function PreFirstEntryMapFixes() npClass.static.SpawnInfoDevice(self,class'#var(prefix)NewspaperOpen',vectm(-1171.976440,250.575806,53.729687),rotm(0,0,0),'08_Newspaper01'); //Joe Greene article, table near where Harley is in Vanilla Spawn(class'BarDancer',,,vectm(-2150,-500,48),rotm(0,0,0)); + break; + case "08_NYC_SMUG": + foreach AllActors(class'#var(DeusExPrefix)Mover', d,'botordertrigger') { + d.tag = 'botordertriggerDoor'; + } + oot = Spawn(class'OnceOnlyTrigger'); + oot.Event='botordertriggerDoor'; + oot.Tag='botordertrigger'; break; } } diff --git a/DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc b/DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc index 7685de7b5..b2a603480 100644 --- a/DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc +++ b/DXRMapFixups/DeusEx/Classes/DXRFixupParis.uc @@ -198,7 +198,7 @@ function AnyEntryMapFixes() switch(dxr.localURL) { case "10_PARIS_CATACOMBS": - if(!dxr.flags.IsReducedRando()) { + if(dxr.flags.settings.swapitems > 0) { // spawn Le Merchant with a hazmat suit because there's no guarantee of one before the highly radioactive area // we need to do this in AnyEntry because we need to recreate the conversation objects since they're transient npcs = DXRNPCs(dxr.FindModule(class'DXRNPCs')); diff --git a/DXRModules/DeusEx/Classes/DXRBacktracking.uc b/DXRModules/DeusEx/Classes/DXRBacktracking.uc index c9142217c..65dd73fbd 100644 --- a/DXRModules/DeusEx/Classes/DXRBacktracking.uc +++ b/DXRModules/DeusEx/Classes/DXRBacktracking.uc @@ -176,9 +176,8 @@ function PostFirstEntry() } } -function PreTravel() +function _PreTravel() { - Super.PreTravel(); CheckNextMap(player().nextMap); } diff --git a/DXRModules/DeusEx/Classes/DXRCameraModes.uc b/DXRModules/DeusEx/Classes/DXRCameraModes.uc index c619f96d2..8a5a0a6db 100644 --- a/DXRModules/DeusEx/Classes/DXRCameraModes.uc +++ b/DXRModules/DeusEx/Classes/DXRCameraModes.uc @@ -100,14 +100,17 @@ function SetThirdPersonCamera() } } -#ifdef vanilla function SetFixedCamera() { +#ifdef vanilla player().bBehindView=False; player().bCrosshairVisible=False; - if (reCam==None){ + if (reCam==None || reCam.bDeleteMe){ SpawnRECam(); } +#else + err("Fixed camera only supported in vanilla!"); +#endif } function SpawnRECam() @@ -115,7 +118,6 @@ function SpawnRECam() reCam=Spawn(class'CCResidentEvilCam',,,player().Location); reCam.BindPlayer(player()); } -#endif function SetCameraMode(int mode) { @@ -145,11 +147,7 @@ function SetCameraMode(int mode) break; case CM_FixedCamera: //Fixed Camera -#ifdef vanilla SetFixedCamera(); -#else - err("Fixed camera only supported in vanilla!"); -#endif break; default: diff --git a/DXRModules/DeusEx/Classes/DXRCrowdControl.uc b/DXRModules/DeusEx/Classes/DXRCrowdControl.uc index c9db8e5c9..bd4d50594 100644 --- a/DXRModules/DeusEx/Classes/DXRCrowdControl.uc +++ b/DXRModules/DeusEx/Classes/DXRCrowdControl.uc @@ -67,11 +67,10 @@ function AnyEntry() { } } -function PreTravel() { +function _PreTravel() { if( link != None && link.ccEffects != None ) { link.ccEffects.CleanupOnExit(); } - Super.PreTravel(); } function CheckConfig() diff --git a/DXRModules/DeusEx/Classes/DXREventsBase.uc b/DXRModules/DeusEx/Classes/DXREventsBase.uc index 1777a1666..167dafac4 100644 --- a/DXRModules/DeusEx/Classes/DXREventsBase.uc +++ b/DXRModules/DeusEx/Classes/DXREventsBase.uc @@ -350,12 +350,6 @@ simulated function Timer() } } -function PreTravel() -{ - Super.PreTravel(); - SetTimer(0, false); -} - function BingoWinScreen() { local #var(PlayerPawn) p; diff --git a/DXRModules/DeusEx/Classes/DXRFixup.uc b/DXRModules/DeusEx/Classes/DXRFixup.uc index e3da8de45..30060ee0c 100644 --- a/DXRModules/DeusEx/Classes/DXRFixup.uc +++ b/DXRModules/DeusEx/Classes/DXRFixup.uc @@ -347,14 +347,9 @@ function CleanupPlaceholders(optional bool alert) } -function PreTravel() +function _PreTravel() { - Super.PreTravel(); if(#defined(mapfixes)) { - if(dxr == None) { - warning("PreTravelMapFixes with dxr None"); - return; - } PreTravelMapFixes(); } } diff --git a/DXRModules/DeusEx/Classes/DXRFlagsBase.uc b/DXRModules/DeusEx/Classes/DXRFlagsBase.uc index 3784e2e3c..e04a71c14 100644 --- a/DXRModules/DeusEx/Classes/DXRFlagsBase.uc +++ b/DXRModules/DeusEx/Classes/DXRFlagsBase.uc @@ -111,10 +111,9 @@ simulated function ExecMaxRando(); function string DifficultyName(int diff); static function string GameModeName(int gamemode); -simulated function PreTravel() +simulated function _PreTravel() { - Super.PreTravel(); - l("PreTravel "$dxr.localURL); + l("_PreTravel "$dxr.localURL); #ifndef noflags if( dxr != None && f != None && f.GetInt('Rando_version') == 0 ) { info("PreTravel "$dxr.localURL$" SaveFlags"); @@ -122,12 +121,7 @@ simulated function PreTravel() } #endif // the game silently crashes if you don't wipe out all references to FlagBase during PreTravel? - // and we want to do it here instead of in DXRando.uc to ensure it happens after SaveFlags() f = None; - dxr.flagbase = None; - dxr.Disable('Tick'); - dxr.bTickEnabled = false; - dxr.SetTimer(0, false); } function Init(DXRando tdxr) diff --git a/DXRModules/DeusEx/Classes/DXRLoadouts.uc b/DXRModules/DeusEx/Classes/DXRLoadouts.uc index 635131cbc..c08da1720 100644 --- a/DXRModules/DeusEx/Classes/DXRLoadouts.uc +++ b/DXRModules/DeusEx/Classes/DXRLoadouts.uc @@ -22,8 +22,8 @@ struct _loadouts var class allow_types[10]; var class starting_equipment[5]; var class starting_augs[5]; - var class item_spawns[5]; - var int item_spawns_chances[5];// the % spawned in each map, max of 300% + var class item_spawns[10]; + var int item_spawns_chances[10];// the % spawned in each map, max of 300% }; var _loadouts _item_sets[20]; diff --git a/DXRModules/DeusEx/Classes/DXRMusicPlayer.uc b/DXRModules/DeusEx/Classes/DXRMusicPlayer.uc index 10f72c0eb..3b0296762 100644 --- a/DXRModules/DeusEx/Classes/DXRMusicPlayer.uc +++ b/DXRModules/DeusEx/Classes/DXRMusicPlayer.uc @@ -55,11 +55,10 @@ simulated event Destroyed() Super.Destroyed(); } -simulated event PreTravel() +simulated event _PreTravel() { Disable('Tick'); RememberMusic(); - Super.PreTravel(); } function Timer() diff --git a/DXRModules/DeusEx/Classes/DXRSkills.uc b/DXRModules/DeusEx/Classes/DXRSkills.uc index 200068888..3df4eebe6 100644 --- a/DXRModules/DeusEx/Classes/DXRSkills.uc +++ b/DXRModules/DeusEx/Classes/DXRSkills.uc @@ -73,11 +73,11 @@ simulated function PlayerLogin(#var(PlayerPawn) player) #endif } -event PreTravel() +event _PreTravel() { local PlayerDataItem data; local #var(PlayerPawn) p; - Super.PreTravel(); + #ifdef multiplayer foreach AllActors(class'#var(PlayerPawn)', p) { l("PreTravel "$p); diff --git a/DXRando/DeusEx/Classes/CCResidentEvilCam.uc b/DXRando/DeusEx/Classes/CCResidentEvilCam.uc index f2e73b3f8..1f2ddfb89 100644 --- a/DXRando/DeusEx/Classes/CCResidentEvilCam.uc +++ b/DXRando/DeusEx/Classes/CCResidentEvilCam.uc @@ -192,13 +192,10 @@ function UnTrigger(Actor Other, Pawn Instigator) defaultproperties { bHidden=true - bCollideActors=false bCollideWorld=false bBlockActors=false bBlockPlayers=false bProjTarget=false - CollisionHeight=1 - CollisionRadius=1 bActive=True bNoAlarm=True bSwing=False @@ -206,7 +203,8 @@ defaultproperties bGameRelevant=True bAlwaysRelevant=True bAlwaysTick=True - bInvincible=True + HitPoints=50 + minDamageThreshold=5 bStasis=False cameraRange=750 RotationRate=(Pitch=40000,Yaw=40000) diff --git a/DXRando/DeusEx/Classes/DXRAimLaserEmitter.uc b/DXRando/DeusEx/Classes/DXRAimLaserEmitter.uc index 9468ccf3e..65b9e51bf 100644 --- a/DXRando/DeusEx/Classes/DXRAimLaserEmitter.uc +++ b/DXRando/DeusEx/Classes/DXRAimLaserEmitter.uc @@ -56,21 +56,18 @@ function SetLaserColour() player = DeusExPlayer(Owner); if (player==None) return; - //White laser: Texture'Effects.UserInterface.WhiteStatic' - //Blue laser: Texture'LaserBeam2'; - //Red Laser: FireTexture'Effects.Laser.LaserBeam1' - //Green Laser: Texture'Effects.Fire.Wepn_Prifle_SFX' - DeusExRootWindow(Player.rootWindow).hud.augDisplay.GetTargetReticleColor(HitActor,retColour); //player.ClientMessage("R"$retColour.R$" G"$retColour.G$" B"$retColour.B); - if (retColour.R==0 && retColour.G==0 && retColour.B==0){ //White - proxy.Skin = Texture'Effects.UserInterface.WhiteStatic'; - } else if (retColour.R==255 && retColour.G==0 && retColour.B==0){ //Red - proxy.Skin = FireTexture'Effects.Laser.LaserBeam1'; - } else if (retColour.R==0 && retColour.G==255 && retColour.B==0){ //Green - proxy.Skin = Texture'Effects.Fire.Wepn_Prifle_SFX'; + if (HitActor!=None){ + if (retColour.R==0 && retColour.G==0 && retColour.B==0){ + proxy.Skin = Texture'Extension.SolidYellow'; + } else if (retColour.R==255 && retColour.G==0 && retColour.B==0){ + proxy.Skin = Texture'Extension.SolidRed'; + } else if (retColour.R==0 && retColour.G==255 && retColour.B==0){ + proxy.Skin = Texture'Extension.SolidGreen'; + } } else { - proxy.Skin = Texture'LaserBeam2'; + proxy.Skin = Texture'Extension.Solid'; //Solid White } } diff --git a/DeusEx.u b/DeusEx.u index e18f792de..37402dc5c 100644 Binary files a/DeusEx.u and b/DeusEx.u differ diff --git a/GMDXRandomizer.u b/GMDXRandomizer.u index 655138e1e..90d035b89 100644 Binary files a/GMDXRandomizer.u and b/GMDXRandomizer.u differ diff --git a/HXRandomizer.u b/HXRandomizer.u index 476f218c0..742c39ee6 100644 Binary files a/HXRandomizer.u and b/HXRandomizer.u differ diff --git a/HXRandomizer/Classes/HXRandoGameInfo.uc b/HXRandomizer/Classes/HXRandoGameInfo.uc index 0f2afad2f..a204f98db 100644 --- a/HXRandomizer/Classes/HXRandoGameInfo.uc +++ b/HXRandomizer/Classes/HXRandoGameInfo.uc @@ -130,9 +130,6 @@ function ProcessServerTravel( string URL, bool bItems ) local DeusExNote note; local DataStorage ds; log(Self$".ProcessServerTravel PreTravel dxr: "$dxr); - for(i=0; i