X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_player.pas;h=0ee9365f2adbee0cf6183a774a83500781d6ea23;hb=cac277b4226c3de6401dae59c91dd35b77625304;hp=f4e3b0fff39acd98b14a65fa9bc9bcfe82bdb5d6;hpb=0fdf4d69047801a6a8d789df6def4a47015e9ae4;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index f4e3b0f..0ee9365 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -2973,31 +2973,33 @@ var DoFrags: Boolean; OldLR: Byte; KP: TPlayer; + it: PItem; procedure PushItem(t: Byte); var id: DWORD; begin id := g_Items_Create(FObj.X, FObj.Y, t, True, False); + it := g_ItemByIdx(id); if KillType = K_EXTRAHARDKILL then // -7..+7; -8..0 begin - g_Obj_Push(@gItems[id].Obj, (FObj.Vel.X div 2)-7+Random(15), - (FObj.Vel.Y div 2)-Random(9)); - gItems[id].positionChanged(); // this updates spatial accelerators + g_Obj_Push(@it.Obj, (FObj.Vel.X div 2)-7+Random(15), + (FObj.Vel.Y div 2)-Random(9)); + it.positionChanged(); // this updates spatial accelerators end else begin if KillType = K_HARDKILL then // -5..+5; -5..0 begin - g_Obj_Push(@gItems[id].Obj, (FObj.Vel.X div 2)-5+Random(11), - (FObj.Vel.Y div 2)-Random(6)); + g_Obj_Push(@it.Obj, (FObj.Vel.X div 2)-5+Random(11), + (FObj.Vel.Y div 2)-Random(6)); end else // -3..+3; -3..0 begin - g_Obj_Push(@gItems[id].Obj, (FObj.Vel.X div 2)-3+Random(7), - (FObj.Vel.Y div 2)-Random(4)); + g_Obj_Push(@it.Obj, (FObj.Vel.X div 2)-3+Random(7), + (FObj.Vel.Y div 2)-Random(4)); end; - gItems[id].positionChanged(); // this updates spatial accelerators + it.positionChanged(); // this updates spatial accelerators end; if g_Game_IsNet and g_Game_IsServer then