hedgewars/uGearsHedgehog.pas
changeset 14282 6015b74eea55
parent 14196 ab5e710d353d
child 14366 2ab312c47dc3
equal deleted inserted replaced
14281:e754b516cc35 14282:6015b74eea55
  1271             isCursorVisible:= false
  1271             isCursorVisible:= false
  1272     end;
  1272     end;
  1273 if (not isZero(Gear^.dY)) and (Gear^.FlightTime > 0) and ((GameFlags and gfLowGravity) = 0) then
  1273 if (not isZero(Gear^.dY)) and (Gear^.FlightTime > 0) and ((GameFlags and gfLowGravity) = 0) then
  1274     begin
  1274     begin
  1275     inc(Gear^.FlightTime);
  1275     inc(Gear^.FlightTime);
  1276     if (Gear^.FlightTime > 1500) and ((hwRound(Gear^.X) < LongInt(leftX)-250) or (hwRound(Gear^.X) > LongInt(rightX)+250))  then
  1276     if (Gear^.FlightTime > 1500) and ((hwRound(Gear^.X) < leftX-250) or (hwRound(Gear^.X) > rightX+250))  then
  1277         begin
  1277         begin
  1278         Gear^.FlightTime:= 0;
  1278         Gear^.FlightTime:= 0;
  1279         s:= ansistring(CurrentHedgehog^.Name);
  1279         s:= ansistring(CurrentHedgehog^.Name);
  1280         AddCaption(FormatA(GetEventString(eidHomerun), s), capcolDefault, capgrpMessage);
  1280         AddCaption(FormatA(GetEventString(eidHomerun), s), capcolDefault, capgrpMessage);
  1281         PlaySound(sndHomerun)
  1281         PlaySound(sndHomerun)
  1578        CurAmmoGear^.PortalCounter:= 1;
  1578        CurAmmoGear^.PortalCounter:= 1;
  1579     if (WorldEdge = weWrap) and ((TestCollisionXwithGear(Gear, 1) <> 0) or (TestCollisionXwithGear(Gear, -1) <> 0))  then
  1579     if (WorldEdge = weWrap) and ((TestCollisionXwithGear(Gear, 1) <> 0) or (TestCollisionXwithGear(Gear, -1) <> 0))  then
  1580         // Stop hedgehog if it collides with land *just* behind other side of world wrap edge
  1580         // Stop hedgehog if it collides with land *just* behind other side of world wrap edge
  1581         if ((Gear^.State and gstNotKickable) = 0) then
  1581         if ((Gear^.State and gstNotKickable) = 0) then
  1582             begin
  1582             begin
  1583             if (hwRound(tX) > LongInt(leftX) + Gear^.Radius * 2) then
  1583             if (hwRound(tX) > leftX + Gear^.Radius * 2) then
  1584                 Gear^.X:= int2HwFloat(RightX)
  1584                 Gear^.X:= int2HwFloat(RightX)
  1585             else
  1585             else
  1586                 Gear^.X:= int2HwFloat(LeftX);
  1586                 Gear^.X:= int2HwFloat(LeftX);
  1587             Gear^.dX.QWordValue:= 0;
  1587             Gear^.dX.QWordValue:= 0;
  1588             Gear^.State := Gear^.State or gstCollision;
  1588             Gear^.State := Gear^.State or gstCollision;