hedgewars/uGearsHandlersMess.pas
changeset 13612 212036414957
parent 13610 422d6062620a
child 13613 92b87845beeb
equal deleted inserted replaced
13611:ba6648614cd7 13612:212036414957
  3557     else if Gear^.Timer < 6000 then
  3557     else if Gear^.Timer < 6000 then
  3558         Gear^.RenderTimer:= true;
  3558         Gear^.RenderTimer:= true;
  3559 
  3559 
  3560     if not cakeStep(Gear) then Gear^.doStep:= @doStepCakeFall;
  3560     if not cakeStep(Gear) then Gear^.doStep:= @doStepCakeFall;
  3561 
  3561 
       
  3562     if (Gear^.Karma = 1) then
       
  3563         begin
       
  3564         // Cake hit bouncy edge, turn around
       
  3565         Gear^.dX.isNegative := (not Gear^.dX.isNegative);
       
  3566         Gear^.WDTimer := 0;
       
  3567         Gear^.Angle := (LongInt(Gear^.Angle) + 2) and 3;
       
  3568         Gear^.Karma := 0;
       
  3569         end
       
  3570     else if (Gear^.Karma = 2) then
       
  3571         begin
       
  3572         // Cake doesn't know how walk through world wrap
       
  3573         // so it gives up and stops.
       
  3574         // TODO: Teach cake how to deal with world wrap.
       
  3575         Gear^.Health := 0;
       
  3576         Gear^.Karma := 0;
       
  3577         end;
       
  3578 
  3562     if Gear^.Tag = 0 then
  3579     if Gear^.Tag = 0 then
  3563         begin
  3580         begin
  3564         cakeData:= PCakeData(Gear^.Data);
  3581         cakeData:= PCakeData(Gear^.Data);
  3565         with cakeData^ do
  3582         with cakeData^ do
  3566             begin
  3583             begin