hedgewars/uGearsHandlersMess.pas
changeset 15710 7383256f8535
parent 15694 2a69c6693fbb
child 15711 4a8a1dd9528a
equal deleted inserted replaced
15709:6b04399c84a7 15710:7383256f8535
  1215     i := Collisions^.Count;
  1215     i := Collisions^.Count;
  1216     while i > 0 do
  1216     while i > 0 do
  1217         begin
  1217         begin
  1218         dec(i);
  1218         dec(i);
  1219         if Collisions^.ar[i]^.Kind in
  1219         if Collisions^.ar[i]^.Kind in
  1220             [gtMine, gtSMine, gtAirMine, gtKnife, gtCase, gtTarget, gtExplosives] then
  1220             [gtMine, gtSMine, gtAirMine, gtKnife, gtCase, gtTarget, gtExplosives, gtSentry] then
  1221             begin
  1221             begin
  1222             Gear^.X := Collisions^.ar[i]^.X;
  1222             Gear^.X := Collisions^.ar[i]^.X;
  1223             Gear^.Y := Collisions^.ar[i]^.Y;
  1223             Gear^.Y := Collisions^.ar[i]^.Y;
  1224             ShotgunShot(Gear);
  1224             ShotgunShot(Gear);
  1225             Gear^.doStep := @doStepShotIdle;
  1225             Gear^.doStep := @doStepShotIdle;
  7284     HHGear:= nil;
  7284     HHGear:= nil;
  7285 
  7285 
  7286     if CheckGearDrowning(Gear) then
  7286     if CheckGearDrowning(Gear) then
  7287         exit;
  7287         exit;
  7288 
  7288 
       
  7289     dec(Gear^.Health, Gear^.Damage);
       
  7290     Gear^.Damage := 0;
       
  7291     if Gear^.Health <= 0 then
       
  7292     begin
       
  7293         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound);
       
  7294         DeleteGear(Gear);
       
  7295         exit;
       
  7296     end;
       
  7297 
  7289     if Gear^.dY.isNegative or (TestCollisionYwithGear(Gear, 1) = 0) then
  7298     if Gear^.dY.isNegative or (TestCollisionYwithGear(Gear, 1) = 0) then
  7290     begin
  7299     begin
  7291         doStepFallingGear(Gear);
  7300         doStepFallingGear(Gear);
  7292         if Gear^.Tag <> sentry_Idle then
  7301         if Gear^.Tag <> sentry_Idle then
  7293         begin
  7302         begin