--- a/hedgewars/GSHandlers.inc Wed Dec 22 23:46:07 2010 -0500
+++ b/hedgewars/GSHandlers.inc Thu Dec 23 00:01:56 2010 -0500
@@ -1241,7 +1241,7 @@
HHGear^.X := HHGear^.X + HHGear^.dX;
HHGear^.Y := HHGear^.Y + HHGear^.dY;
HHGear^.dY := HHGear^.dY + cGravity;
- if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _0_2;
+ if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density;
if (Gear^.Message and gmAttack) <> 0 then
begin
@@ -1307,7 +1307,7 @@
if not TestCollisionYwithGear(HHGear, 1) then
begin
HHGear^.dY := HHGear^.dY + cGravity;
- if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _0_2
+ if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density;
end;
ropeDx := HHGear^.X - Gear^.X;
@@ -1536,7 +1536,7 @@
HHGear^.Y := HHGear^.Y + HHGear^.dY;
Gear^.Y := Gear^.Y + HHGear^.dY;
HHGear^.dY := HHGear^.dY + cGravity;
- if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed * _0_2
+ if (GameFlags and gfMoreWind) <> 0 then HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density
end;
tt := Gear^.Elasticity;
--- a/hedgewars/HHHandlers.inc Wed Dec 22 23:46:07 2010 -0500
+++ b/hedgewars/HHHandlers.inc Thu Dec 23 00:01:56 2010 -0500
@@ -674,7 +674,7 @@
((CurAmmoGear^.AmmoType = amJetpack) or
(CurAmmoGear^.AmmoType = amBirdy))) or
((Gear^.dY.QWordValue + Gear^.dX.QWordValue) > _0_55.QWordValue)))
- then Gear^.dX := Gear^.dX + cWindSpeed * _0_2
+ then Gear^.dX := Gear^.dX + cWindSpeed / Gear^.Density
end
end
else
--- a/hedgewars/uGears.pas Wed Dec 22 23:46:07 2010 -0500
+++ b/hedgewars/uGears.pas Thu Dec 23 00:01:56 2010 -0500
@@ -245,6 +245,7 @@
gear^.Elasticity:= _0_35;
gear^.Friction:= _0_999;
gear^.Angle:= cMaxAngle div 2;
+ gear^.Density:= _3;
gear^.Z:= cHHZ;
if (GameFlags and gfAISurvival) <> 0 then
if gear^.Hedgehog^.BotLevel > 0 then
@@ -338,7 +339,7 @@
gear^.Radius:= 16;
gear^.Elasticity:= _0_4;
gear^.Friction:= _0_995;
- gear^.Density:= _16;
+ gear^.Density:= _6;
gear^.Health:= cBarrelHealth
end;
gtDEagleShot: begin
@@ -353,12 +354,12 @@
gear^.Radius:= 3;
gear^.Elasticity:= _0_55;
gear^.Friction:= _0_03;
- gear^.Density:= _0_8;
+ gear^.Density:= _2;
gear^.Timer:= 5000;
end;
gtCluster: begin
gear^.Radius:= 2;
- gear^.Density:= _0_8;
+ gear^.Density:= _1_5;
gear^.RenderTimer:= true
end;
gtShover: gear^.Radius:= 20;
@@ -366,6 +367,7 @@
gear^.Tag:= GetRandom(32);
gear^.Radius:= 1;
gear^.Health:= 5;
+ gear^.Density:= _1;
if (gear^.dY.QWordValue = 0) and (gear^.dX.QWordValue = 0) then
begin
gear^.dY:= (getrandom - _0_8) * _0_03;
@@ -378,7 +380,7 @@
end;
gtAirBomb: begin
gear^.Radius:= 5;
- gear^.Density:= _1_5;
+ gear^.Density:= _2;
end;
gtBlowTorch: begin
gear^.Radius:= cHHRadius + cBlowTorchC;