--- a/hedgewars/uGearsList.pas Fri Oct 11 17:43:13 2013 +0200
+++ b/hedgewars/uGearsList.pas Sat Jan 04 23:55:54 2014 +0400
@@ -223,7 +223,8 @@
gear^.Timer:= 3000
end;
gtMelonPiece: begin
- gear^.Density:= _2;
+ gear^.AdvBounce:= 1;
+ gear^.Density:= _2
end;
gtHedgehog: begin
gear^.AdvBounce:= 1;
@@ -238,16 +239,20 @@
gear^.Hedgehog^.Effects[heResurrectable] := 1;
end;
gtShell: begin
+ gear^.Elasticity:= _0_8;
+ gear^.Friction:= _0_8;
gear^.Radius:= 4;
gear^.Density:= _1;
+ gear^.AdvBounce:= 1;
end;
gtSnowball: begin
gear^.ImpactSound:= sndMudballImpact;
gear^.nImpactSounds:= 1;
gear^.Radius:= 4;
- gear^.Elasticity:= _1;
- gear^.Friction:= _1;
gear^.Density:= _0_5;
+ gear^.AdvBounce:= 1;
+ gear^.Elasticity:= _0_8;
+ gear^.Friction:= _0_8;
end;
gtFlake: begin
@@ -259,9 +264,9 @@
if State and gstTmpFlag = 0 then
begin
dx.isNegative:= GetRandom(2) = 0;
- dx.QWordValue:= $40DA * GetRandom(10000) * 8;
+ dx.QWordValue:= QWord($40DA) * GetRandom(10000) * 8;
dy.isNegative:= false;
- dy.QWordValue:= $3AD3 * GetRandom(7000) * 8;
+ dy.QWordValue:= QWord($3AD3) * GetRandom(7000) * 8;
if GetRandom(2) = 0 then
dx := -dx
end;
@@ -329,9 +334,13 @@
gear^.Elasticity:= _0_55;
gear^.Friction:= _0_995;
gear^.Density:= _1_6;
+ gear^.AdvBounce:= 1;
if gear^.Timer = 0 then gear^.Timer:= 500;
end;
gtKnife: begin
+ gear^.AdvBounce:= 1;
+ gear^.Elasticity:= _0_8;
+ gear^.Friction:= _0_8;
gear^.Density:= _4;
gear^.Radius:= 7
end;
@@ -343,6 +352,7 @@
if gear^.Timer = 0 then gear^.Timer:= 500
end;
gtExplosives: begin
+ gear^.AdvBounce:= 1;
gear^.ImpactSound:= sndGrenadeImpact;
gear^.nImpactSounds:= 1;
gear^.Radius:= 16;
@@ -368,6 +378,9 @@
if gear^.Timer = 0 then gear^.Timer:= 5000;
end;
gtCluster: begin
+ gear^.AdvBounce:= 1;
+ gear^.Elasticity:= _0_8;
+ gear^.Friction:= _0_8;
gear^.Radius:= 2;
gear^.Density:= _1_5;
gear^.RenderTimer:= true
@@ -385,6 +398,7 @@
end
end;
gtFirePunch: begin
+ if gear^.Timer = 0 then gear^.Timer:= 3000;
gear^.Radius:= 15;
gear^.Tag:= Y
end;
@@ -411,6 +425,7 @@
gear^.Z:= cCurrHHZ+1;
end;
gtMortar: begin
+ gear^.AdvBounce:= 1;
gear^.Radius:= 4;
gear^.Elasticity:= _0_2;
gear^.Friction:= _0_08;
@@ -445,6 +460,9 @@
if gear^.Timer = 0 then gear^.Timer:= 5000
end;
gtDrill: begin
+ gear^.AdvBounce:= 1;
+ gear^.Elasticity:= _0_8;
+ gear^.Friction:= _0_8;
if gear^.Timer = 0 then
gear^.Timer:= 5000;
// Tag for drill strike. if 1 then first impact occured already
@@ -477,15 +495,17 @@
gear^.State:= Gear^.State or gstSubmersible
end;
gtMolotov: begin
+ gear^.AdvBounce:= 1;
gear^.Radius:= 6;
- gear^.Density:= _2;
+ gear^.Density:= _2
end;
gtBirdy: begin
gear^.Radius:= 16; // todo: check
gear^.Health := 2000;
- gear^.FlightTime := 2;
+ gear^.FlightTime := 2
end;
gtEgg: begin
+ gear^.AdvBounce:= 1;
gear^.Radius:= 4;
gear^.Elasticity:= _0_6;
gear^.Friction:= _0_96;
@@ -496,7 +516,6 @@
gtPortal: begin
gear^.ImpactSound:= sndMelonImpact;
gear^.nImpactSounds:= 1;
- gear^.AdvBounce:= 0;
gear^.Radius:= 17;
// set color
gear^.Tag:= 2 * gear^.Timer;
@@ -536,6 +555,8 @@
gear^.Tag := 47;
end;
gtNapalmBomb: begin
+ gear^.Elasticity:= _0_8;
+ gear^.Friction:= _0_8;
if gear^.Timer = 0 then gear^.Timer:= 1000;
gear^.Radius:= 5;
gear^.Density:= _1_5;