X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_monsters.pas;h=ad887adfdd29d7e102c3a36069630eb0734437af;hb=bdb4859536a3962963e823a0f30b6ad98c7ad9c5;hp=02e7ed589ae6fa4b69b7b686ebd50f69ee5752af;hpb=dffafd305d0df029f317cc92c1968ba0065c0cd8;p=d2df-sdl.git diff --git a/src/game/g_monsters.pas b/src/game/g_monsters.pas index 02e7ed5..ad887ad 100644 --- a/src/game/g_monsters.pas +++ b/src/game/g_monsters.pas @@ -2577,19 +2577,14 @@ begin case FMonsterType of MONSTER_FISH: if Random(4) = 0 then - g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), - FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); + g_Game_Effect_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 - 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; + g_Game_Effect_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), + FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); + else + g_Game_Effect_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width-4), + FObj.Y+FObj.Rect.Y + Random(4), 5, 4, 4); end; // Åñëè ïðîøåë ïåðâûé êàäð àíèìàöèè âçðûâà áî÷êè, òî âçðûâ: @@ -2938,9 +2933,9 @@ begin FObj.Rect.Width, 8, @co) and (Random(3) = 0) then // Ïèíàåì òðóïû if FObj.Vel.X < 0 then - gCorpses[a].Damage(b*2, -b, Random(7)) // íàëåâî + gCorpses[a].Damage(b*2, FUID, -b, Random(7)) // íàëåâî else - gCorpses[a].Damage(b*2, b, Random(7)); // íàïðàâî + gCorpses[a].Damage(b*2, FUID, b, Random(7)); // íàïðàâî end; end; // Åñëè öåëü âûñîêî, òî, âîçìîæíî, ïðûãàåì: @@ -3538,19 +3533,14 @@ begin case FMonsterType of MONSTER_FISH: if Random(4) = 0 then - g_GFX_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), - FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); + g_Game_Effect_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 - 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; + g_Game_Effect_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width), + FObj.Y+FObj.Rect.Y + Random(4), 1, 0, 0); + else + g_Game_Effect_Bubbles(FObj.X+FObj.Rect.X + Random(FObj.Rect.Width-4), + FObj.Y+FObj.Rect.Y + Random(4), 5, 4, 4); end; // Åñëè ïðîøåë ïåðâûé êàäð àíèìàöèè âçðûâà áî÷êè, òî âçðûâ: @@ -3788,9 +3778,9 @@ begin FObj.Rect.Width, 8, @co) and (Random(3) = 0) then // Ïèíàåì òðóïû if FObj.Vel.X < 0 then - gCorpses[a].Damage(b*2, -b, Random(7)) // íàëåâî + gCorpses[a].Damage(b*2, FUID, -b, Random(7)) // íàëåâî else - gCorpses[a].Damage(b*2, b, Random(7)); // íàïðàâî + gCorpses[a].Damage(b*2, FUID, b, Random(7)); // íàïðàâî end; end; end; @@ -4663,6 +4653,8 @@ begin FAnim[i, TDirection.D_RIGHT].LoadState(st); end; end; + // update cache + self.positionChanged end;