# HG changeset patch # User Wuzzy # Date 1533245067 -7200 # Node ID 369efa5e01fae6f3616dafd37c2db9fbb9ba0e1d # Parent 0d920e370a7827be9b699109a0b6cb0308a2b5e4 Backed out changeset 0d920e370a78 diff -r 0d920e370a78 -r 369efa5e01fa ChangeLog.txt --- a/ChangeLog.txt Thu Aug 02 12:54:30 2018 +0200 +++ b/ChangeLog.txt Thu Aug 02 23:24:27 2018 +0200 @@ -11,7 +11,6 @@ + New default brown clan color for better contrast * Functionality of controllers restored * Fix crash when 2 or more controllers were connected - * Hammer no longer destroys land if indestructible terrain is enabled * Fix hammer and pickhammer not digging correctly at wrap world edge * Fix freezer ray not working through wrap world edge * Fix freezer ray going through bounce world edge diff -r 0d920e370a78 -r 369efa5e01fa hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Thu Aug 02 12:54:30 2018 +0200 +++ b/hedgewars/uGearsHandlersMess.pas Thu Aug 02 23:24:27 2018 +0200 @@ -5621,6 +5621,7 @@ if (tmp^.Kind = gtHedgehog) or (tmp^.Kind = gtMine) or (tmp^.Kind = gtExplosives) then begin dmg:= 0; + //tmp^.State:= tmp^.State or gstFlatened; if (tmp^.Kind <> gtHedgehog) or (tmp^.Hedgehog^.Effects[heInvulnerable] = 0) then begin // base damage on remaining health @@ -5633,12 +5634,12 @@ if dmg > 0 then ApplyDamage(tmp, CurrentHedgehog, dmg, dsUnknown); end; - if (GameFlags and gfSolidLand) <> 0 then - tmp^.dY:= _0_03 * Gear^.Boom; + tmp^.dY:= _0_03 * Gear^.Boom end; if (tmp^.Kind <> gtHedgehog) or (dmg > 0) or (tmp^.Health > tmp^.Damage) then begin + //DrawTunnel(tmp^.X, tmp^.Y - _1, _0, _0_5, cHHRadius * 6, cHHRadius * 3); tmp2:= AddGear(hwRound(tmp^.X), hwRound(tmp^.Y), gtHammerHit, 0, _0, _0, 0); tmp2^.LinkedGear:= tmp; SetAllToActive @@ -5680,8 +5681,11 @@ end; if CheckLandValue(hwRound(Gear^.X + Gear^.dX + SignAs(_6,Gear^.dX)), hwRound(Gear^.Y + _1_9) - , lfIndestructible) and ((GameFlags and gfSolidLand) = 0) then - Gear^.Y := Gear^.Y + _1_9; + , lfIndestructible) then + begin + //Gear^.X := Gear^.X + Gear^.dX; + Gear^.Y := Gear^.Y + _1_9 + end; end; if TestCollisionYwithGear(Gear, 1) <> 0 then begin @@ -5691,10 +5695,13 @@ end else begin + //Gear^.dY := Gear^.dY + cGravity; + //Gear^.Y := Gear^.Y + Gear^.dY; if CheckCoordInWater(hwRound(Gear^.X), hwRound(Gear^.Y)) then Gear^.Timer := 1 end; + //Gear^.X := Gear^.X + HitGear^.dX; HitGear^.X := Gear^.X; HitGear^.Y := Gear^.Y; SetLittle(HitGear^.dY);