hedgewars/uGearsHandlersMess.pas
changeset 9698 fc849dd48ae6
parent 9685 7d925e82e572
child 9706 5178d2263521
equal deleted inserted replaced
9696:cb9f9b79d427 9698:fc849dd48ae6
  3553     move: hwFloat;
  3553     move: hwFloat;
  3554 begin
  3554 begin
  3555     HHGear := Gear^.Hedgehog^.Gear;
  3555     HHGear := Gear^.Hedgehog^.Gear;
  3556     if HHGear = nil then
  3556     if HHGear = nil then
  3557         begin
  3557         begin
  3558         DeleteGear(Gear);
  3558         Gear^.Timer := 0;
       
  3559         Gear^.State := Gear^.State or gstAnimation or gstTmpFlag;
       
  3560         Gear^.Timer := 0;
       
  3561         Gear^.doStep := @doStepBirdyDisappear;
       
  3562         CurAmmoGear := nil;
       
  3563         isCursorVisible := false;
       
  3564         AfterAttack;
  3559         exit
  3565         exit
  3560         end;
  3566         end;
  3561 
  3567 
  3562     move := _0_2;
  3568     move := _0_2;
  3563     fuel := 50;
  3569     fuel := 50;
  3655 procedure doStepBirdyDescend(Gear: PGear);
  3661 procedure doStepBirdyDescend(Gear: PGear);
  3656 var
  3662 var
  3657     HHGear: PGear;
  3663     HHGear: PGear;
  3658 begin
  3664 begin
  3659     if Gear^.Timer > 0 then
  3665     if Gear^.Timer > 0 then
  3660         dec(Gear^.Timer, 1)
  3666         dec(Gear^.Timer, 1);
  3661     else if Gear^.Hedgehog^.Gear = nil then
  3667 
  3662         begin
  3668     HHGear := Gear^.Hedgehog^.Gear;
  3663         DeleteGear(Gear);
  3669     if HHGear = nil then
       
  3670         begin
       
  3671         Gear^.Timer := 0;
       
  3672         Gear^.State := Gear^.State or gstAnimation or gstTmpFlag;
       
  3673         Gear^.Timer := 0;
       
  3674         Gear^.doStep := @doStepBirdyDisappear;
       
  3675         CurAmmoGear := nil;
       
  3676         isCursorVisible := false;
  3664         AfterAttack;
  3677         AfterAttack;
  3665         exit
  3678         exit
  3666         end;
  3679         end;
  3667     HHGear := Gear^.Hedgehog^.Gear;
  3680 
  3668     HHGear^.Message := HHGear^.Message and (not (gmUp or gmPrecise or gmLeft or gmRight));
  3681     HHGear^.Message := HHGear^.Message and (not (gmUp or gmPrecise or gmLeft or gmRight));
  3669     if abs(hwRound(HHGear^.Y - Gear^.Y)) > 32 then
  3682     if abs(hwRound(HHGear^.Y - Gear^.Y)) > 32 then
  3670         begin
  3683         begin
  3671         if Gear^.Timer = 0 then
  3684         if Gear^.Timer = 0 then
  3672             Gear^.Y := Gear^.Y + _0_1
  3685             Gear^.Y := Gear^.Y + _0_1