--- a/hedgewars/uGearsHedgehog.pas Thu Jan 02 23:52:34 2014 -0500
+++ b/hedgewars/uGearsHedgehog.pas Fri Jan 03 00:31:07 2014 -0500
@@ -1061,7 +1061,6 @@
Gear^.State:= Gear^.State and not gstCollision
end;
- CheckGearDrowning(Gear);
// could become nil if ai's hog fails to respawn in ai survival
if Gear = nil then exit;
// hide target cursor if current hog is drowning
@@ -1340,6 +1339,8 @@
procedure doStepHedgehog(Gear: PGear);
var tX: hwFloat;
begin
+CheckGearDrowning(Gear);
+if Gear = nil then exit;
tX:= Gear^.X;
if WorldWrap(Gear) then
begin
--- a/hedgewars/uScript.pas Thu Jan 02 23:52:34 2014 -0500
+++ b/hedgewars/uScript.pas Fri Jan 03 00:31:07 2014 -0500
@@ -1933,7 +1933,7 @@
iterator:= GearsList;
while iterator <> nil do
begin
- if not (iterator^.Kind in [gtPortal, gtAirAttack]) and (iterator^.Message and gmAllStoppable = 0) then
+ if not (iterator^.Kind in [gtPortal, gtAirAttack]) and (iterator^.Message and (gmAllStoppable or gmLJump or gmHJump) = 0) then
begin
iterator^.Active:= true;
if iterator^.dY.QWordValue = 0 then iterator^.dY.isNegative:= false;