hedgewars/uGears.pas
changeset 5862 b4229b0abc70
parent 5857 63276513b7b3
child 5863 cea9ac437839
equal deleted inserted replaced
5861:b102aa6a853e 5862:b4229b0abc70
   601             Gear^.IntersectGear^.IntersectGear:= nil;
   601             Gear^.IntersectGear^.IntersectGear:= nil;
   602     end
   602     end
   603 else if Gear^.Kind = gtHedgehog then
   603 else if Gear^.Kind = gtHedgehog then
   604     if (CurAmmoGear <> nil) and (CurrentHedgehog^.Gear = Gear) then
   604     if (CurAmmoGear <> nil) and (CurrentHedgehog^.Gear = Gear) then
   605         begin
   605         begin
       
   606         AttackBar:= 0;
   606         Gear^.Message:= gmDestroy;
   607         Gear^.Message:= gmDestroy;
   607         CurAmmoGear^.Message:= gmDestroy;
   608         CurAmmoGear^.Message:= gmDestroy;
   608         exit
   609         exit
   609         end
   610         end
   610     else
   611     else
   618             end;
   619             end;
   619 
   620 
   620         team:= Gear^.Hedgehog^.Team;
   621         team:= Gear^.Hedgehog^.Team;
   621         if CurrentHedgehog^.Gear = Gear then
   622         if CurrentHedgehog^.Gear = Gear then
   622             begin
   623             begin
       
   624             AttackBar:= 0;
   623             FreeActionsList; // to avoid ThinkThread on drawned gear
   625             FreeActionsList; // to avoid ThinkThread on drawned gear
   624             if ((Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) <> 0) and (CurrentHedgehog^.MultiShootAttacks > 0) then OnUsedAmmo(CurrentHedgehog^);
   626             if ((Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) <> 0) and (CurrentHedgehog^.MultiShootAttacks > 0) then OnUsedAmmo(CurrentHedgehog^);
   625             end;
   627             end;
   626 
   628 
   627         Gear^.Hedgehog^.Gear:= nil;
   629         Gear^.Hedgehog^.Gear:= nil;
  1010 //If any of these are set as permanent toggles in the frontend, that needs to be checked and skipped here.
  1012 //If any of these are set as permanent toggles in the frontend, that needs to be checked and skipped here.
  1011 procedure EndTurnCleanup;
  1013 procedure EndTurnCleanup;
  1012 var  i: LongInt;
  1014 var  i: LongInt;
  1013      t: PGear;
  1015      t: PGear;
  1014 begin
  1016 begin
  1015     AttackBar:= 0;  // rare case where they drowned while attacking
       
  1016     SpeechText:= ''; // in case it has not been consumed
  1017     SpeechText:= ''; // in case it has not been consumed
  1017 
  1018 
  1018     if (GameFlags and gfLowGravity) = 0 then
  1019     if (GameFlags and gfLowGravity) = 0 then
  1019         begin
  1020         begin
  1020         cGravity:= cMaxWindSpeed * 2;
  1021         cGravity:= cMaxWindSpeed * 2;