diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index 85b8e1537ad9024686d09be58f5ad61914968249..a66b064efcdc0abbaaf7bd0f8b8be727d16bc40b 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
public
constructor Create(X, Y: Integer; ModelName: String; aMess: Boolean);
destructor Destroy(); override;
- procedure Damage(Value: Word; vx, vy: Integer);
+ procedure Damage(Value: Word; SpawnerUID: Word; vx, vy: Integer);
procedure Update();
procedure Draw();
procedure SaveState (st: TStream);
Rb, Gb, Bb,
Rw, Gw, Bw: SmallInt;
Dot: Byte;
+ CObj: TObj;
begin
- FObj.lerp(gLerpFactor, fX, fY);
+ CObj := getCameraObj();
+ CObj.lerp(gLerpFactor, fX, fY);
+ // NB: _F_Obj.Rect is used to keep the bubble higher; this is not a mistake
bubX := fX+FObj.Rect.X + IfThen(FDirection = TDirection.D_LEFT, -4, 18);
bubY := fY+FObj.Rect.Y - 18;
Rb := 64;
end;
-procedure TCorpse.Damage(Value: Word; vx, vy: Integer);
+procedure TCorpse.Damage(Value: Word; SpawnerUID: Word; vx, vy: Integer);
var
pm: TPlayerModel;
Blood: TModelBlood;
if (gBodyKillEvent <> -1)
and gDelayedEvents[gBodyKillEvent].Pending then
gDelayedEvents[gBodyKillEvent].Pending := False;
- gBodyKillEvent := g_Game_DelayEvent(DE_BODYKILL, 1050, 0);
+ gBodyKillEvent := g_Game_DelayEvent(DE_BODYKILL, 1050, SpawnerUID);
end;
end
else