diff -r 7458ec3666c3 -r 4afa5e3e27e4 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Thu Mar 25 23:02:55 2010 +0000 +++ b/hedgewars/uGears.pas Thu Mar 25 23:03:21 2010 +0000 @@ -183,7 +183,8 @@ @doStepMolotov, @doStepCase, @doStepBirdy, - @doStepBigExplosion + @doStepBigExplosion, + @doStepEggWork ); procedure InsertGearToList(Gear: PGear); @@ -443,13 +444,22 @@ gtBirdy: begin gear^.Radius:= 16; // todo: check gear^.Timer:= 500; - gear^.Health:= 2000; + gear^.Health := 2000; + gear^.FlightTime := 2; end; gtBigExplosion: begin gear^.X:= gear^.X; gear^.Y:= gear^.Y; gear^.Angle:= random(360); end; + gtEgg: begin + gear^.AdvBounce:= true; + gear^.Radius:= 4; + gear^.Elasticity:= _0_6; + gear^.Friction:= _0_96; + gear^.RenderTimer:= true; + if gear^.Timer = 0 then gear^.Timer:= 3000 + end; end; InsertGearToList(gear); AddGear:= gear; @@ -1673,6 +1683,7 @@ DrawRotatedTextureF(SpritesData[sprBigExplosion].Texture, 0.85 * (-power(2, -4 * Int(Gear^.Timer)/250) + 1) + 0.4, 0, 0, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 385, 385, Gear^.Angle); glColor4f(1, 1, 1, 1); end; + gtEgg: DrawRotated(sprBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle); end; if Gear^.RenderTimer and (Gear^.Tex <> nil) then DrawCentered(hwRound(Gear^.X) + 8 + WorldDx, hwRound(Gear^.Y) + 8 + WorldDy, Gear^.Tex); Gear:= Gear^.NextGear