diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index 612a4fb0aee855f664ae797deb1113959ba59583..45f9e6b5d80369ca2c9ea62ec458404871947ad1 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
//WARNING! this does nothing for now, but still call it!
procedure positionChanged (); //WARNING! call this after monster position was changed, or coldet will not work right!
+ procedure getMapBox (out x, y, w, h: Integer); inline;
+
property Name: String read FName write FName;
property Model: TPlayerModel read FModel;
property Health: Integer read FHealth write FHealth;
DecMin(FPain, 5, 0);
DecMin(FPickup, 1, 0);
- if FLive and (FObj.Y > gMapInfo.Height+128) and AnyServer then
+ if FLive and (FObj.Y > Integer(gMapInfo.Height)+128) and AnyServer then
begin
// Îáíóëèòü äåéñòâèÿ ïðèìî÷åê, ÷òîáû ôîí ïðîïàë
FMegaRulez[MR_SUIT] := 0;
if FKeys[b].Time = 0 then FKeys[b].Pressed := False else Dec(FKeys[b].Time);
end;
+procedure TPlayer.getMapBox (out x, y, w, h: Integer); inline;
+begin
+ x := FObj.X+PLAYER_RECT.X;
+ y := FObj.Y+PLAYER_RECT.Y;
+ w := PLAYER_RECT.Width;
+ h := PLAYER_RECT.Height;
+end;
+
function TPlayer.Collide(X, Y: Integer; Width, Height: Word): Boolean;
begin
Result := g_Collide(FObj.X+PLAYER_RECT.X,
vsPlayer, vsMonster, ok: Boolean;
- function monsUpdate (monidx: Integer; mon: TMonster): Boolean;
+ function monsUpdate (mon: TMonster): Boolean;
begin
result := false; // don't stop
- if (mon <> nil) and (mon.Live) and (mon.MonsterType <> MONSTER_BARREL) then
+ if mon.Live and (mon.MonsterType <> MONSTER_BARREL) then
begin
if not TargetOnScreen(mon.Obj.X+mon.Obj.Rect.X, mon.Obj.Y+mon.Obj.Rect.Y) then exit;