56 PlaySound(sndThrowRelease); |
56 PlaySound(sndThrowRelease); |
57 end; |
57 end; |
58 xx:= Sign(dX)*Sin(Angle*pi/cMaxAngle); |
58 xx:= Sign(dX)*Sin(Angle*pi/cMaxAngle); |
59 yy:= -Cos(Angle*pi/cMaxAngle); |
59 yy:= -Cos(Angle*pi/cMaxAngle); |
60 case Ammo[CurSlot, CurAmmo].AmmoType of |
60 case Ammo[CurSlot, CurAmmo].AmmoType of |
|
61 amGrenade: FollowGear:= AddGear(round(X), round(Y), gtAmmo_Bomb, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor, Ammo[CurSlot, CurAmmo].Timer); |
|
62 amClusterBomb: FollowGear:= AddGear(round(X), round(Y), gtClusterBomb, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor, Ammo[CurSlot, CurAmmo].Timer); |
61 amBazooka: FollowGear:= AddGear(round(X), round(Y), gtAmmo_Grenade, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor); |
63 amBazooka: FollowGear:= AddGear(round(X), round(Y), gtAmmo_Grenade, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor); |
62 amGrenade: FollowGear:= AddGear(round(X), round(Y), gtAmmo_Bomb, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor, Ammo[CurSlot, CurAmmo].Timer); |
|
63 amUFO: FollowGear:= AddGear(round(X), round(Y), gtUFO, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor); |
64 amUFO: FollowGear:= AddGear(round(X), round(Y), gtUFO, 0, xx*Power/cPowerDivisor, yy*Power/cPowerDivisor); |
64 amShotgun: begin |
65 amShotgun: begin |
65 PlaySound(sndShotgunReload); |
66 PlaySound(sndShotgunReload); |
66 CurAmmoGear:= AddGear(round(X), round(Y), gtShotgunShot, 0, xx * 0.5, yy * 0.5); |
67 CurAmmoGear:= AddGear(round(X), round(Y), gtShotgunShot, 0, xx * 0.5, yy * 0.5); |
67 end; |
68 end; |
|
69 amPickHammer: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y) + cHHRadius, gtPickHammer, 0); |
|
70 amSkip: TurnTimeLeft:= 0; |
|
71 amRope: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y), gtRope, 0, xx, yy); |
|
72 amMine: AddGear(round(X) + Sign(dX) * 7, round(Y), gtMine, 0, Sign(dX) * 0.02, 0, 3000); |
68 amDEagle: begin |
73 amDEagle: begin |
69 FollowGear:= AddGear(round(X), round(Y), gtDEagleShot, 0, xx * 0.5, yy * 0.5); |
74 FollowGear:= AddGear(round(X), round(Y), gtDEagleShot, 0, xx * 0.5, yy * 0.5); |
70 end; |
75 end; |
71 amSkip: TurnTimeLeft:= 0; |
76 amDynamite: AddGear(round(X) + Sign(dX) * 7, round(Y), gtDynamite, 0, Sign(dX) * 0.035, 0, 5000); |
72 amPickHammer: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y) + cHHRadius, gtPickHammer, 0); |
|
73 amRope: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y), gtRope, 0, xx, yy); |
|
74 amMine: AddGear(round(X) + Sign(dX) * 7, round(Y), gtMine, 0, Sign(dX) * 0.02, 0, 3000); |
|
75 amDynamite: AddGear(round(X) + Sign(dX) * 7, round(Y), gtDynamite, 0, Sign(dX) * 0.035, 0, 5000); |
|
76 end; |
77 end; |
77 Power:= 0; |
78 Power:= 0; |
78 if CurAmmoGear <> nil then |
79 if CurAmmoGear <> nil then |
79 begin |
80 begin |
80 Gear.Message:= Gear.Message or gm_Attack; |
81 Gear.Message:= Gear.Message or gm_Attack; |