# HG changeset patch # User nemo # Date 1314409091 14400 # Node ID fba59d6b5b6c5f4bf91c1e5014d802d18d149fc5 # Parent fac606654317bf7a3193c3f7133d66b77eb1f1b9 Correctly check for failure to look up ammo, check for damaged mines diff -r fac606654317 -r fba59d6b5b6c hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Fri Aug 26 20:59:55 2011 -0400 +++ b/hedgewars/GSHandlers.inc Fri Aug 26 21:38:11 2011 -0400 @@ -356,7 +356,7 @@ Gear^.State := Gear^.State or gstMoving; if (Gear^.nImpactSounds > 0) and - ((Gear^.Damage <> 0) or + (((Gear^.Kind <> gtMine) and (Gear^.Damage <> 0)) or ((Gear^.State and (gstCollision or gstMoving)) = (gstCollision or gstMoving))) and (((Gear^.Radius < 3) and (Gear^.dY < -_0_1)) or ((Gear^.Radius >= 3) and ((Gear^.dX.QWordValue > _0_1.QWordValue) or diff -r fac606654317 -r fba59d6b5b6c hedgewars/uAmmos.pas --- a/hedgewars/uAmmos.pas Fri Aug 26 20:59:55 2011 -0400 +++ b/hedgewars/uAmmos.pas Fri Aug 26 21:38:11 2011 -0400 @@ -184,8 +184,9 @@ a: PAmmo; begin a:= GetAmmoEntry(Hedgehog, ammo); -cnt:= a^.Count; -if (a^.AmmoType = amNothing) or (cnt <> AMMO_INFINITE) then +if (a^.AmmoType <> amNothing) then cnt:= a^.Count +else cnt:= 0; +if (cnt <> AMMO_INFINITE) then begin inc(cnt, Ammoz[ammo].NumberInCase); AddAmmo(Hedgehog, ammo, cnt)