diff -r a94f4ef5ba2b -r a99a79bbd857 hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Sun Nov 04 16:28:04 2012 +0100 +++ b/hedgewars/uWorld.pas Sun Nov 04 17:47:44 2012 -0500 @@ -511,9 +511,7 @@ Ammo: PHHAmmo; c,i,g,t,STurns: LongInt; begin -if (TurnTimeLeft = 0) or (not CurrentTeam^.ExtDriven and (((CurAmmoGear = nil) -or ((Ammoz[CurAmmoGear^.AmmoType].Ammo.Propz and ammoprop_AltAttack) = 0)) and hideAmmoMenu)) then - bShowAmmoMenu:= false; +if TurnTimeLeft = 0 then bShowAmmoMenu:= false; // give the assigned ammo to hedgehog Ammo:= nil; @@ -552,16 +550,19 @@ AmmoRect.x:= (cScreenWidth shr 1) - AmmoRect.w - AMSlotSize; AmmoRect.y:= cScreenHeight - (AmmoRect.h + AMSlotSize); {$ENDIF} - AMShiftTargetX:= (cScreenWidth shr 1) - AmmoRect.x; - AMShiftTargetY:= cScreenHeight - AmmoRect.y; + if AMState <> AMShowing then + begin + AMShiftTargetX:= (cScreenWidth shr 1) - AmmoRect.x; + AMShiftTargetY:= cScreenHeight - AmmoRect.y; - if (AMAnimType and AMTypeMaskX) <> 0 then AMShiftTargetX:= (cScreenWidth shr 1) - AmmoRect.x - else AMShiftTargetX:= 0; - if (AMAnimType and AMTypeMaskY) <> 0 then AMShiftTargetY:= cScreenHeight - AmmoRect.y - else AMShiftTargetY:= 0; + if (AMAnimType and AMTypeMaskX) <> 0 then AMShiftTargetX:= (cScreenWidth shr 1) - AmmoRect.x + else AMShiftTargetX:= 0; + if (AMAnimType and AMTypeMaskY) <> 0 then AMShiftTargetY:= cScreenHeight - AmmoRect.y + else AMShiftTargetY:= 0; - AMShiftX:= AMShiftTargetX; - AMShiftY:= AMShiftTargetY; + AMShiftX:= AMShiftTargetX; + AMShiftY:= AMShiftTargetY + end end; AMAnimState:= (RealTicks - AMAnimStartTime) / AMAnimDuration;