DEADSOFTWARE

Game: Don't catch fire underwater in any circumstances
authorfgsfds <pvt.fgsfds@gmail.com>
Mon, 12 Aug 2019 00:21:16 +0000 (03:21 +0300)
committerfgsfds <pvt.fgsfds@gmail.com>
Mon, 12 Aug 2019 00:21:16 +0000 (03:21 +0300)
src/game/g_monsters.pas
src/game/g_player.pas

index a19fa4b568e5dbab3163ff1eb8d256b8c5234d82..a70364bca6a7e4c4c512dc7fb6081c3d48c1cbf3 100644 (file)
@@ -4663,6 +4663,8 @@ begin
   if FMonsterType in [MONSTER_SOUL, MONSTER_VILE] then
     exit; // àð÷è íå ãîðÿò, ÷åðåïà óæå ãîðÿò
   if Timeout <= 0 then exit;
+  if g_Obj_CollidePanel(@FObj, 0, 0, PANEL_WATER or PANEL_ACID1 or PANEL_ACID2) then
+    exit; // íå ïîäãîðàåì â âîäå íà âñÿêèé ñëó÷àé
   if FFireTime <= 0 then
     g_Sound_PlayExAt('SOUND_IGNITE', FObj.X, FObj.Y);
   FFireTime := Timeout;
index b99c03dd7533081b58204981872a584b8f55a46a..d4b6bdd3691f03593806e6ec41f59dde424813bb 100644 (file)
@@ -3197,6 +3197,8 @@ begin
     exit;
   if (FMegaRulez[MR_SUIT] > gTime) or (FMegaRulez[MR_INVUL] > gTime) then
     exit; // Íå çàãîðàåìñÿ êîãäà åñòü çàùèòà
+  if g_Obj_CollidePanel(@FObj, 0, 0, PANEL_WATER or PANEL_ACID1 or PANEL_ACID2) then
+    exit; // Íå ïîäãîðàåì â âîäå íà âñÿêèé ñëó÷àé
   if FFireTime <= 0 then
     g_Sound_PlayExAt('SOUND_IGNITE', FObj.X, FObj.Y);
   FFireTime := Timeout;