hedgewars/uGearsHandlersMess.pas
changeset 9559 b03ade7ed721
parent 9557 a5005b7ca305
child 9563 225dfd449480
equal deleted inserted replaced
9557:a5005b7ca305 9559:b03ade7ed721
  3247 
  3247 
  3248     if Gear^.Timer > 0 then
  3248     if Gear^.Timer > 0 then
  3249         dec(Gear^.Timer);
  3249         dec(Gear^.Timer);
  3250 
  3250 
  3251     fChanged := false;
  3251     fChanged := false;
  3252     if ((HHGear^.State and gstHHDriven) = 0) or (Gear^.Timer = 0) then
  3252     if (HHGear = nil) or ((HHGear^.State and gstHHDriven) = 0) or (Gear^.Timer = 0) then
  3253         begin
  3253         begin
  3254         fChanged := true;
  3254         fChanged := true;
  3255         if Gear^.Angle > 2048 then
  3255         if Gear^.Angle > 2048 then
  3256             dec(Gear^.Angle)
  3256             dec(Gear^.Angle)
  3257         else if Gear^.Angle < 2048 then
  3257         else if Gear^.Angle < 2048 then
  3292         if Gear^.Timer < 3500 then
  3292         if Gear^.Timer < 3500 then
  3293             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtEvilTrace)
  3293             AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtEvilTrace)
  3294     else
  3294     else
  3295         AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace);
  3295         AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace);
  3296 
  3296 
  3297     if ((HHGear^.Message and gmAttack) <> 0) and (Gear^.Health <> 0) then
  3297     if (HHGear <> nil) and ((HHGear^.Message and gmAttack) <> 0) and (Gear^.Health <> 0) then
  3298         begin
  3298         begin
  3299         HHGear^.Message := HHGear^.Message and (not gmAttack);
  3299         HHGear^.Message := HHGear^.Message and (not gmAttack);
  3300         AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, Gear^.dX * _0_5, Gear^.dY *
  3300         AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, Gear^.dX * _0_5, Gear^.dY *
  3301         _0_5, 0);
  3301         _0_5, 0);
  3302         dec(Gear^.Health)
  3302         dec(Gear^.Health)
  3303         end;
  3303         end;
  3304 
  3304 
  3305     if ((HHGear^.Message and gmLJump) <> 0) and ((Gear^.State and gsttmpFlag) = 0) then
  3305     if (HHGear <> nil) and ((HHGear^.Message and gmLJump) <> 0) and ((Gear^.State and gsttmpFlag) = 0) then
  3306         begin
  3306         begin
  3307         Gear^.State := Gear^.State or gsttmpFlag;
  3307         Gear^.State := Gear^.State or gsttmpFlag;
  3308         PauseMusic;
  3308         PauseMusic;
  3309         playSound(sndRideOfTheValkyries);
  3309         playSound(sndRideOfTheValkyries);
  3310         end;
  3310         end;