diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index a0496da85e63e8314c938bcea0aa18bd7a957495..050e0e650950b20e5e51a65d23f40564b87d3638 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
FXTo, FYTo: Integer;
FSpectatePlayer: Integer;
FFirePainTime: Integer;
+ FFireAttacker: Word;
FSavedState: TPlayerSavedState;
procedure RealizeCurrentWeapon();
procedure JetpackOn;
procedure JetpackOff;
- procedure CatchFire();
+ procedure CatchFire(Attacker: Word);
property Name: String read FName write FName;
property Model: TPlayerModel read FModel;
// WEAPON_CHAINGUN, WEAPON_SHOTGUN1, WEAPON_SAW,
// WEAPON_ROCKETLAUNCHER, WEAPON_PISTOL, WEAPON_KASTET);
WEAPON_RELOAD: Array [WP_FIRST..WP_LAST] of Byte =
- (5, 2, 6, 18, 36, 2, 12, 2, 14, 2, 0);
+ (5, 2, 6, 18, 36, 2, 12, 2, 14, 2, 2);
PLAYER_SIGNATURE = $52594C50; // 'PLYR'
CORPSE_SIGNATURE = $50524F43; // 'CORP'
FShellTimer := -1;
FFireTime := 0;
FFirePainTime := 0;
+ FFireAttacker := 0;
FActualModelName := 'doomer';
FJetSoundOff.PlayAt(FObj.X, FObj.Y);
end;
-procedure TPlayer.CatchFire();
+procedure TPlayer.CatchFire(Attacker: Word);
begin
- FFireTime := 360;
+ FFireTime := 100;
+ FFireAttacker := Attacker;
if g_Game_IsNet and g_Game_IsServer then
MH_SEND_PlayerStats(FUID);
end;
FDamageBuffer := 0;
FJetpack := False;
FCanJetpack := False;
+ FFireTime := 0;
+ FFirePainTime := 0;
+ FFireAttacker := 0;
// Àíèìàöèÿ âîçðîæäåíèÿ:
if (not gLoadGameMode) and (not Silent) then
if FFirePainTime <= 0 then
begin
if g_Game_IsServer then
- Damage(5, 0, 0, 0, HIT_FLAME);
+ Damage(5, FFireAttacker, 0, 0, HIT_FLAME);
FFirePainTime := 18;
end;
FFirePainTime := FFirePainTime - 1;