hedgewars/GSHandlers.inc
changeset 3075 b4ef08187d22
parent 3072 b18038b3a0f4
child 3080 b7fa8ad60e3b
equal deleted inserted replaced
3074:271cfcb2bcda 3075:b4ef08187d22
  2731 begin
  2731 begin
  2732 Gear^.Pos:= 0;
  2732 Gear^.Pos:= 0;
  2733 if Gear^.Timer < 500 then
  2733 if Gear^.Timer < 500 then
  2734     inc(Gear^.Timer, 1)
  2734     inc(Gear^.Timer, 1)
  2735 else
  2735 else
       
  2736     begin
  2736     DeleteGear(Gear);
  2737     DeleteGear(Gear);
       
  2738     AfterAttack
       
  2739     end
  2737 end;
  2740 end;
  2738 
  2741 
  2739 ////////////////////////////////////////////////////////////////////////////////
  2742 ////////////////////////////////////////////////////////////////////////////////
  2740 procedure doStepBirdyFly(Gear: PGear);
  2743 procedure doStepBirdyFly(Gear: PGear);
  2741 var HHGear: PGear;
  2744 var HHGear: PGear;
  2742     fuel: LongInt;
  2745     fuel: LongInt;
  2743     move: hwFloat;
  2746     move: hwFloat;
  2744 begin
  2747 begin
  2745 HHGear:= CurrentHedgehog^.Gear;
  2748 HHGear:= CurrentHedgehog^.Gear;
  2746 
  2749 
  2747 move:= _0_1;
  2750 move:= _0_1 * _0_5;
  2748 fuel:= 50;
  2751 fuel:= 50;
  2749 
  2752 
  2750 if Gear^.Pos > 0 then
  2753 if Gear^.Pos > 0 then
  2751     dec(Gear^.Pos, 1)
  2754     dec(Gear^.Pos, 1)
  2752 else if (HHGear^.Message and (gm_Left or gm_Right or gm_Up)) <> 0 then
  2755 else if (HHGear^.Message and (gm_Left or gm_Right or gm_Up)) <> 0 then
  2766     Gear^.MsgParam:= Gear^.MsgParam or gm_Up;
  2769     Gear^.MsgParam:= Gear^.MsgParam or gm_Up;
  2767     end;
  2770     end;
  2768 if (HHGear^.Message and gm_Left) <> 0 then move.isNegative:= true;
  2771 if (HHGear^.Message and gm_Left) <> 0 then move.isNegative:= true;
  2769 if (HHGear^.Message and (gm_Left or gm_Right)) <> 0 then
  2772 if (HHGear^.Message and (gm_Left or gm_Right)) <> 0 then
  2770     begin
  2773     begin
  2771     HHGear^.dX:= HHGear^.dX + (move * _0_2);
  2774     HHGear^.dX:= HHGear^.dX + (move * _0_5);
  2772     dec(Gear^.Health, fuel div 5);
  2775     dec(Gear^.Health, fuel div 5);
  2773     Gear^.MsgParam:= Gear^.MsgParam or (HHGear^.Message and (gm_Left or gm_Right));
  2776     Gear^.MsgParam:= Gear^.MsgParam or (HHGear^.Message and (gm_Left or gm_Right));
  2774     end;
  2777     end;
  2775 
  2778 
  2776 if Gear^.Health < 0 then Gear^.Health:= 0;
  2779 if Gear^.Health < 0 then Gear^.Health:= 0;