X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_monsters.pas;h=d8adad853402974c802ba9bfbd3f58761809835e;hb=0d4f7d91ba9c64ac6b5dd65fd758478bd338fe21;hp=3d9e43d2a279aebff18278c46f3db96cf3a3a373;hpb=023210cd9ff129fe55d9722a1e6b7b9c040c9183;p=d2df-sdl.git diff --git a/src/game/g_monsters.pas b/src/game/g_monsters.pas index 3d9e43d..d8adad8 100644 --- a/src/game/g_monsters.pas +++ b/src/game/g_monsters.pas @@ -2468,7 +2468,7 @@ var a, b, sx, sy, wx, wy, oldvelx: Integer; st: Word; o, co: TObj; - fall: Boolean; + fall, bubbles: Boolean; mon: TMonster; mit: PMonster; it: TMonsterGrid.Iter; @@ -2476,6 +2476,7 @@ label _end; begin fall := True; + bubbles := True; // Ìîíñòð ñòàòè÷åí ïîêà èäåò warmup if (gLMSRespawn > LMS_RESPAWN_NONE) then exit; @@ -2574,23 +2575,23 @@ begin // Âîçìîæíî, ñîçäàåì ïóçûðüêè â âîäå: if WordBool(st and MOVE_INWATER) and (Random(32) = 0) then + begin case FMonsterType of MONSTER_FISH: - if Random(4) = 0 then + if Random(4) <> 0 then bubbles := False else g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); MONSTER_ROBO, MONSTER_BARREL: g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); - else begin + else g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width-4), FObj.Y+FObj.Rect.Y + Random(4), 5, 4, 4); - if Random(2) = 0 then - g_Sound_PlayExAt('SOUND_GAME_BUBBLE1', FObj.X, FObj.Y) - else - g_Sound_PlayExAt('SOUND_GAME_BUBBLE2', FObj.X, FObj.Y); - end; end; + if bubbles then if Random(2) = 0 + then g_Sound_PlayExAt('SOUND_GAME_BUBBLE1', FObj.X, FObj.Y) + else g_Sound_PlayExAt('SOUND_GAME_BUBBLE2', FObj.X, FObj.Y); + end; // Åñëè ïðîøåë ïåðâûé êàäð àíèìàöèè âçðûâà áî÷êè, òî âçðûâ: if FMonsterType = MONSTER_BARREL then @@ -3462,13 +3463,14 @@ var a, b, sx, sy, oldvelx: Integer; st: Word; o, co: TObj; - fall: Boolean; + fall, bubbles: Boolean; label _end; begin sx := 0; // SHUT UP COMPILER sy := 0; fall := True; + bubbles := True; // Ìîíñòð ñòàòè÷åí ïîêà èäåò warmup if (gLMSRespawn > LMS_RESPAWN_NONE) then exit; @@ -3535,23 +3537,23 @@ begin // Âîçìîæíî, ñîçäàåì ïóçûðüêè â âîäå: if WordBool(st and MOVE_INWATER) and (Random(32) = 0) then + begin case FMonsterType of MONSTER_FISH: - if Random(4) = 0 then + if Random(4) <> 0 then bubbles := False else g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); MONSTER_ROBO, MONSTER_BARREL: g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); - else begin + else g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width-4), FObj.Y+FObj.Rect.Y + Random(4), 5, 4, 4); - if Random(2) = 0 then - g_Sound_PlayExAt('SOUND_GAME_BUBBLE1', FObj.X, FObj.Y) - else - g_Sound_PlayExAt('SOUND_GAME_BUBBLE2', FObj.X, FObj.Y); - end; end; + if bubbles then if Random(2) = 0 + then g_Sound_PlayExAt('SOUND_GAME_BUBBLE1', FObj.X, FObj.Y) + else g_Sound_PlayExAt('SOUND_GAME_BUBBLE2', FObj.X, FObj.Y); + end; // Åñëè ïðîøåë ïåðâûé êàäð àíèìàöèè âçðûâà áî÷êè, òî âçðûâ: if FMonsterType = MONSTER_BARREL then