X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=b6a6bc16f507b818f7b7ffc6491cfff79b3adb1a;hb=6bf25c191cff05ba65bd1aaf28f63f105590a895;hp=050e0e650950b20e5e51a65d23f40564b87d3638;hpb=2b4061ae07fe1bf12d49fc1213d7eb3e9e34ccb6;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 050e0e6..b6a6bc1 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -3501,6 +3501,7 @@ begin IncMax(FHealth, 10, PLAYER_HP_SOFT); Result := True; remove := True; + FFireTime := 0; if gFlash = 2 then Inc(FPickup, 5); end; @@ -3510,6 +3511,7 @@ begin IncMax(FHealth, 25, PLAYER_HP_SOFT); Result := True; remove := True; + FFireTime := 0; if gFlash = 2 then Inc(FPickup, 5); end; @@ -3537,6 +3539,7 @@ begin IncMax(FHealth, 100, PLAYER_HP_LIMIT); Result := True; remove := True; + FFireTime := 0; if gFlash = 2 then Inc(FPickup, 5); end; @@ -3549,6 +3552,7 @@ begin FArmor := PLAYER_AP_LIMIT; Result := True; remove := True; + FFireTime := 0; if gFlash = 2 then Inc(FPickup, 5); end; @@ -3804,6 +3808,7 @@ begin FMegaRulez[MR_SUIT] := gTime+PLAYER_SUIT_TIME; Result := True; remove := True; + FFireTime := 0; if gFlash = 2 then Inc(FPickup, 5); end; @@ -3833,6 +3838,7 @@ begin FBerserk := gTime+30000; Result := True; remove := True; + FFireTime := 0; end; if FHealth < PLAYER_HP_SOFT then begin @@ -3840,6 +3846,7 @@ begin FBerserk := gTime+30000; Result := True; remove := True; + FFireTime := 0; end; end; @@ -3858,6 +3865,7 @@ begin IncMax(FHealth, 4, PLAYER_HP_LIMIT); Result := True; remove := True; + FFireTime := 0; if gFlash = 2 then Inc(FPickup, 5); end; @@ -4840,6 +4848,12 @@ begin FFireTime := 0; FFirePainTime := 0; end + else if FMegaRulez[MR_SUIT] >= gTime then + begin + if FMegaRulez[MR_SUIT] = gTime then + FFireTime := 1; + FFirePainTime := 0; + end else begin OnFireFlame(1); @@ -6210,7 +6224,7 @@ var firew, fireh: Integer; angle: SmallInt; mon: TMonster; - pla: TPlayer; + pla, tpla: TPlayer; vsPlayer, vsMonster, ok: Boolean; begin vsPlayer := LongBool(gGameSettings.Options and GAME_OPTION_BOTVSPLAYER); @@ -6244,14 +6258,16 @@ begin if (g_GetUIDType(Target.UID) = UID_PLAYER) and vsPlayer then begin // Èãðîê - with g_Player_Get(Target.UID) do - begin - if (@FObj) <> nil then + tpla := g_Player_Get(Target.UID); + if tpla <> nil then + with tpla do begin - Target.X := FObj.X; - Target.Y := FObj.Y; + if (@FObj) <> nil then + begin + Target.X := FObj.X; + Target.Y := FObj.Y; + end; end; - end; Target.cX := Target.X + PLAYER_RECT_CX; Target.cY := Target.Y + PLAYER_RECT_CY;