diff -r e1b40c3560bb -r cf88e0ace609 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Fri Jan 02 21:26:31 2009 +0000 +++ b/hedgewars/uGears.pas Fri Jan 02 21:39:51 2009 +0000 @@ -144,7 +144,8 @@ @doStepCluster, @doStepBomb, @doStepSmokeTrace, - @doStepWaterUp + @doStepWaterUp, + @doStepDrill ); procedure InsertGearToList(Gear: PGear); @@ -342,6 +343,10 @@ Result^.Elasticity:= _0_5; Result^.Friction:= _0_96; end; + gtDrill: begin + Result^.Timer:= 5000; + Result^.Radius:= 4; + end; end; InsertGearToList(Result); AddGear:= Result @@ -783,6 +788,7 @@ case amt of amBazooka, amMortar: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle); + amDrill: DrawRotated(sprHandDrill, hx, hy, hwSign(Gear^.dX), aangle); amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle); amShotgun: DrawRotated(sprHandShotgun, hx, hy, hwSign(Gear^.dX), aangle); amDEagle: DrawRotated(sprHandDEagle, hx, hy, hwSign(Gear^.dX), aangle); @@ -1033,6 +1039,7 @@ begin case Gear^.Kind of gtAmmo_Bomb: DrawRotated(sprBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle); + gtDrill: DrawRotated(sprDrill, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); gtHedgehog: DrawHH(Gear); gtAmmo_Grenade: DrawRotated(sprGrenade, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); gtHealthTag: if Gear^.Tex <> nil then DrawCentered(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tex); @@ -1245,6 +1252,7 @@ gtMine, gtTarget, gtCase: begin + if (Ammo^.Kind = gtDrill) then begin Ammo^.Timer:= 0; exit; end; inc(t^.ar[i]^.Damage, Damage); if (t^.ar[i]^.Kind = gtHedgehog) and (Damage > 0) then