X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=81825dfe7bce4b108fbf20570dcdf17a0f8200f4;hb=c1ffcbff92f1cda66945281f6f946acce3b6e4c7;hp=6492695c3ac29fa312b3bfb4927b0c12af8b7aa7;hpb=a0e0590aec8372f6d3899f68a7d7d758599b43db;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 6492695..81825df 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -3191,6 +3191,8 @@ end; procedure TPlayer.CatchFire(Attacker: Word); begin + if (FMegaRulez[MR_SUIT] > gTime) or (FMegaRulez[MR_INVUL] > gTime) then + exit; // Íå çàãîðàåìñÿ êîãäà åñòü çàùèòà if FFireTime <= 0 then g_Sound_PlayExAt('SOUND_IGNITE', FObj.X, FObj.Y); FFireTime := 100; @@ -5279,6 +5281,8 @@ begin end; FFirePainTime := FFirePainTime - 1; FFireTime := FFireTime - 1; + if ((FFireTime mod 33) = 0) and (FMegaRulez[MR_INVUL] < gTime) then + FModel.PlaySound(MODELSOUND_PAIN, 1, FObj.X, FObj.Y); if (FFireTime = 0) and g_Game_IsNet and g_Game_IsServer then MH_SEND_PlayerStats(FUID); end; @@ -5310,7 +5314,7 @@ begin else if FHealth > -50 then Kill(K_HARDKILL, FLastSpawnerUID, FLastHit) else Kill(K_EXTRAHARDKILL, FLastSpawnerUID, FLastHit); - if FAlive then + if FAlive and ((FLastHit <> HIT_FLAME) or (FFireTime <= 0)) then begin if FDamageBuffer <= 20 then FModel.PlaySound(MODELSOUND_PAIN, 1, FObj.X, FObj.Y) else if FDamageBuffer <= 55 then FModel.PlaySound(MODELSOUND_PAIN, 2, FObj.X, FObj.Y)