hedgewars/uGearsHandlersMess.pas
changeset 14009 d203bb36225f
parent 14008 967ed77d6aef
child 14011 3c40754f6cfe
equal deleted inserted replaced
14008:967ed77d6aef 14009:d203bb36225f
  2564 begin
  2564 begin
  2565     dec(Gear^.Timer);
  2565     dec(Gear^.Timer);
  2566     if Gear^.Timer = 0 then
  2566     if Gear^.Timer = 0 then
  2567         begin
  2567         begin
  2568         inc(Gear^.Tag);
  2568         inc(Gear^.Tag);
  2569         Gear^.Timer := 50
  2569         Gear^.Timer := 50;
       
  2570         if Gear^.Tag = 3 then
       
  2571             begin
       
  2572             ClearHitOrder();
       
  2573             RefillProximityCache(Gear, 100);
       
  2574             end;
  2570         end;
  2575         end;
  2571 
  2576 
  2572     if Gear^.Tag = 3 then
  2577     if Gear^.Tag = 3 then
  2573         begin
  2578         begin
  2574         HHGear := Gear^.Hedgehog^.Gear;
  2579         HHGear := Gear^.Hedgehog^.Gear;
  2575         HHGear^.State := HHGear^.State or gstNoDamage;
  2580         HHGear^.State := HHGear^.State or gstNoDamage;
  2576         DeleteCI(HHGear);
  2581         DeleteCI(HHGear);
  2577 
  2582 
  2578         AmmoShove(Gear, Gear^.Boom, 115);
  2583         AmmoShoveCache(Gear, Gear^.Boom, 115);
  2579 
  2584 
  2580         HHGear^.State := (HHGear^.State and (not gstNoDamage)) or gstMoving;
  2585         HHGear^.State := (HHGear^.State and (not gstNoDamage)) or gstMoving;
  2581         end
  2586         end
  2582     else if Gear^.Tag = 4 then
  2587     else if Gear^.Tag = 4 then
  2583         begin
  2588         begin
       
  2589         ClearHitOrder();
       
  2590         ClearProximityCache();
  2584         Gear^.Timer := 250;
  2591         Gear^.Timer := 250;
  2585         Gear^.doStep := @doStepIdle
  2592         Gear^.doStep := @doStepIdle
  2586         end
  2593         end
  2587 end;
  2594 end;
  2588 
  2595