X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=81825dfe7bce4b108fbf20570dcdf17a0f8200f4;hb=c1ffcbff92f1cda66945281f6f946acce3b6e4c7;hp=88070c61c04866a6c79bcea7dc8d39f88545fa12;hpb=0bae75d8258116d9079c1b7a4b50f334cc50973e;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 88070c6..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; @@ -5274,11 +5276,13 @@ begin if FFirePainTime <= 0 then begin if g_Game_IsServer then - Damage(5, FFireAttacker, 0, 0, HIT_FLAME); + Damage(6, FFireAttacker, 0, 0, HIT_FLAME); FFirePainTime := 18; 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)