--- a/hedgewars/GSHandlers.inc Fri Jul 20 21:30:53 2012 -0400
+++ b/hedgewars/GSHandlers.inc Sun Jul 22 00:48:48 2012 +0400
@@ -3007,7 +3007,6 @@
////////////////////////////////////////////////////////////////////////////////
const cakeh = 27;
- cakeDmg = 75;
var
CakePoints: array[0..Pred(cakeh)] of record
x, y: hwFloat;
@@ -3091,6 +3090,19 @@
if Gear^.Tag < 7 then
exit;
+ dec(Gear^.Health);
+ Gear^.Timer := Gear^.Health*10;
+ if Gear^.Health mod 100 = 0 then
+ Gear^.PortalCounter:= 0;
+ // This is not seconds, but at least it is *some* feedback
+ if (Gear^.Health = 0) or ((Gear^.Message and gmAttack) <> 0) then
+ begin
+ FollowGear := Gear;
+ Gear^.RenderTimer := false;
+ Gear^.doStep := @doStepCakeDown;
+ exit
+ end;
+
cakeStep(Gear);
if Gear^.Tag = 0 then
@@ -3102,18 +3114,6 @@
CakePoints[CakeI].y := Gear^.Y;
Gear^.DirAngle := DxDy2Angle(tdx, tdy);
end;
-
- dec(Gear^.Health);
- Gear^.Timer := Gear^.Health*10;
- if Gear^.Health mod 100 = 0 then
- Gear^.PortalCounter:= 0;
- // This is not seconds, but at least it is *some* feedback
- if (Gear^.Health = 0) or ((Gear^.Message and gmAttack) <> 0) then
- begin
- FollowGear := Gear;
- Gear^.RenderTimer := false;
- Gear^.doStep := @doStepCakeDown
- end
end;
procedure doStepCakeUp(Gear: PGear);