243 (((State and gstHHJumping) = 0)or((Ammo[CurSlot, CurAmmo].Propz and ammoprop_AttackInJump) <> 0)))and |
243 (((State and gstHHJumping) = 0)or((Ammo[CurSlot, CurAmmo].Propz and ammoprop_AttackInJump) <> 0)))and |
244 (CurAmmoGear = nil) then |
244 (CurAmmoGear = nil) then |
245 begin |
245 begin |
246 if (Ammo[CurSlot, CurAmmo].Propz and ammoprop_Power) <> 0 then |
246 if (Ammo[CurSlot, CurAmmo].Propz and ammoprop_Power) <> 0 then |
247 begin |
247 begin |
248 StopSound(sndThrowPowerUp); |
248 StopTPUSound; |
249 PlaySound(sndThrowRelease); |
249 PlaySound(sndThrowRelease); |
250 end; |
250 end; |
251 xx:= Sign(dX)*Sin(Angle*pi/cMaxAngle); |
251 xx:= Sign(dX)*Sin(Angle*pi/cMaxAngle); |
252 yy:= -Cos(Angle*pi/cMaxAngle); |
252 yy:= -Cos(Angle*pi/cMaxAngle); |
253 case Ammo[CurSlot, CurAmmo].AmmoType of |
253 case Ammo[CurSlot, CurAmmo].AmmoType of |
259 FollowGear:= AddGear(round(X + xx*20), round(Y + yy*20), gtShotgunShot, 0, xx * 0.5, 0.5 * yy); |
259 FollowGear:= AddGear(round(X + xx*20), round(Y + yy*20), gtShotgunShot, 0, xx * 0.5, 0.5 * yy); |
260 end; |
260 end; |
261 amSkip: TurnTimeLeft:= 0; |
261 amSkip: TurnTimeLeft:= 0; |
262 amPickHammer: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y) + cHHHalfHeight, gtPickHammer, 0); |
262 amPickHammer: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y) + cHHHalfHeight, gtPickHammer, 0); |
263 amRope: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y), gtRope, 0, xx, yy); |
263 amRope: CurAmmoGear:= AddGear(round(Gear.X), round(Gear.Y), gtRope, 0, xx, yy); |
264 amMine: AddGear(round(X) + Sign(dX) + 7, round(Y), gtMine, 0, Sign(dX) * 0.01); |
264 amMine: AddGear(round(X) + Sign(dX) * 7, round(Y), gtMine, 0, Sign(dX) * 0.01, 0, 3000); |
265 end; |
265 end; |
266 Power:= 0; |
266 Power:= 0; |
267 if CurAmmoGear <> nil then |
267 if CurAmmoGear <> nil then |
268 begin |
268 begin |
269 CurAmmoGear.Message:= Gear.Message; |
269 CurAmmoGear.Message:= Gear.Message; |