# HG changeset patch # User nemo # Date 1289615400 18000 # Node ID d23f8a25fc3fab63c6d25e848f5b22e734f51ed8 # Parent 88714b6f36768fac31b45b94c1bc94c8c9210590 tweak more wind mode diff -r 88714b6f3676 -r d23f8a25fc3f hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sat Nov 13 03:26:14 2010 +0100 +++ b/hedgewars/GSHandlers.inc Fri Nov 12 21:30:00 2010 -0500 @@ -317,8 +317,11 @@ if Gear^.AdvBounce > 1 then dec(Gear^.AdvBounce); - if isFalling then Gear^.dY := Gear^.dY + cGravity; - if (GameFlags and gfMoreWind) <> 0 then Gear^.dX := Gear^.dX + cWindSpeed * _4 / Gear^.Radius; + if isFalling then + begin + Gear^.dY := Gear^.dY + cGravity; + if (GameFlags and gfMoreWind) <> 0 then Gear^.dX := Gear^.dX + cWindSpeed * _16 / max(12,sqr(Gear^.Radius)); + end; Gear^.X := Gear^.X + Gear^.dX; Gear^.Y := Gear^.Y + Gear^.dY; @@ -3086,7 +3089,7 @@ Gear^.Timer := GameTicks end end; - if not isUnderwater and ((GameFlags and gfMoreWind) <> 0) then HHGear^.dX := HHGear^.dX + cWindSpeed * _4 / HHGear^.Radius; + if not isUnderwater and ((GameFlags and gfMoreWind) <> 0) then HHGear^.dX := HHGear^.dX + cWindSpeed * _16 / sqr(cHHRadius); // erases them all at once :-/ if (Gear^.Timer <> 0) and (GameTicks - Gear^.Timer > 250) then @@ -3218,7 +3221,7 @@ dec(Gear^.Health, fuel div 5); Gear^.MsgParam := Gear^.MsgParam or (HHGear^.Message and (gmLeft or gmRight)); end; - if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _4 / HHGear^.Radius; + if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _16 / sqr(cHHRadius); if Gear^.Health < 0 then Gear^.Health := 0; if ((GameTicks and $FF) = 0) and (Gear^.Health < 500) then diff -r 88714b6f3676 -r d23f8a25fc3f hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sat Nov 13 03:26:14 2010 +0100 +++ b/hedgewars/uGears.pas Fri Nov 12 21:30:00 2010 -0500 @@ -298,7 +298,7 @@ gear^.ImpactSound:= sndGrenadeImpact; gear^.nImpactSounds:= 1; gear^.AdvBounce:= 1; - gear^.Radius:= 6; + gear^.Radius:= 5; gear^.Elasticity:= _0_8; gear^.Friction:= _0_8; gear^.RenderTimer:= true; @@ -308,7 +308,7 @@ gear^.ImpactSound:= sndMelonImpact; gear^.nImpactSounds:= 1; gear^.AdvBounce:= 1; - gear^.Radius:= 4; + gear^.Radius:= 6; gear^.Elasticity:= _0_8; gear^.Friction:= _0_995; gear^.RenderTimer:= true;