DEADSOFTWARE

more survival bullshit: state recall, MC+NM warmup fix
[d2df-sdl.git] / src / game / g_triggers.pas
index 3cfca16904004997968584ee954eefc307e92c79..779a9a151238f73afceb3c1d8e91df2cb3494ed2 100644 (file)
@@ -1224,7 +1224,7 @@ begin
 
   if not Trigger.Enabled then exit;
   if (Trigger.TimeOut <> 0) and (actType <> ACTIVATE_CUSTOM) then exit;
-  if (gLMSRespawn = LMS_RESPAWN_WARMUP) then exit;
+  if (gLMSRespawn > LMS_RESPAWN_NONE) then exit;
 
   if (Trigger.exoCheck <> nil) then
   begin
@@ -1349,17 +1349,13 @@ begin
         begin
           Enabled := False;
           Result := True;
-          if gLMSRespawn = LMS_RESPAWN_NONE then
+          p := g_Player_Get(ActivateUID);
+          p.GetSecret();
+          Inc(gCoopSecretsFound);
+          if g_Game_IsNet then
           begin
-            p := g_Player_Get(ActivateUID);
-            p.GetSecret();
-            Inc(gCoopSecretsFound);
-            if g_Game_IsNet then
-            begin
-              MH_SEND_GameStats();
-              if p.FClientID >= 0 then
-                MH_SEND_GameEvent(NET_EV_SECRET, p.UID, '');
-            end;
+            MH_SEND_GameStats();
+            MH_SEND_GameEvent(NET_EV_SECRET, p.UID, '');
           end;
         end;
 
@@ -2599,8 +2595,9 @@ var
 begin
   if (tgMonsList = nil) then tgMonsList := TSimpleMonsterList.Create();
 
-  if gTriggers = nil then
-    Exit;
+  if gTriggers = nil then Exit;
+  if gLMSRespawn > LMS_RESPAWN_NONE then Exit; // don't update triggers at all
+
   SetLength(Affected, 0);
 
   for a := 0 to High(gTriggers) do