hedgewars/uGearsHedgehog.pas
changeset 13851 f01798038c2e
parent 13832 10a3b80130b5
child 13868 26ebbf9717fd
equal deleted inserted replaced
13850:4e4111a75256 13851:f01798038c2e
   391                   amSniperRifle: begin
   391                   amSniperRifle: begin
   392                                  PlaySound(sndSniperReload);
   392                                  PlaySound(sndSniperReload);
   393                                  newGear:= AddGear(hwRound(lx + xx * cHHRadius), hwRound(ly + yy * cHHRadius), gtSniperRifleShot, 0, xx * _0_5, yy * _0_5, 0);
   393                                  newGear:= AddGear(hwRound(lx + xx * cHHRadius), hwRound(ly + yy * cHHRadius), gtSniperRifleShot, 0, xx * _0_5, yy * _0_5, 0);
   394                                  end;
   394                                  end;
   395                      amDynamite: newGear:= AddGear(hwRound(lx) + hwSign(dX) * 7, hwRound(ly), gtDynamite, 0, SignAs(_0_03, dX), _0, 5000);
   395                      amDynamite: newGear:= AddGear(hwRound(lx) + hwSign(dX) * 7, hwRound(ly), gtDynamite, 0, SignAs(_0_03, dX), _0, 5000);
   396                          amDuck: begin
   396                       amCreeper: begin
   397                                  // Does duck spawn inside water?
   397                                  // TODO: Implement proper creeper spawning code. This is still the old rubber duck code.
       
   398 
       
   399                                  // Does it spawn inside water?
   398                                  if (LeftX > hwRound(Gear^.X) - Gear^.Karma) or (RightX < hwRound(Gear^.X) + Gear^.Karma) or (cWaterLine < hwRound(Gear^.Y) + Gear^.Karma) then
   400                                  if (LeftX > hwRound(Gear^.X) - Gear^.Karma) or (RightX < hwRound(Gear^.X) + Gear^.Karma) or (cWaterLine < hwRound(Gear^.Y) + Gear^.Karma) then
   399                                      PlaySound(sndDroplet2)
   401                                      PlaySound(sndDroplet2)
   400                                  else
   402                                  else
   401                                      // Duck spawned in air, normal drop sound
   403                                      // spawned in air, normal drop sound
   402                                      PlaySound(sndDuckDrop);
   404                                      PlaySound(sndCreeperDrop);
   403                                  newGear:= AddGear(hwRound(lx) + hwSign(dX) * 7, hwRound(ly), gtDuck, 0, SignAs(_0_03, dX), _0, 0);
   405                                  newGear:= AddGear(hwRound(lx) + hwSign(dX) * 7, hwRound(ly), gtCreeper, 0, SignAs(_0_03, dX), _0, 0);
   404                                  if not ((not dX.isNegative) xor ((State and gstHHHJump) <> 0)) then
   406                                  if not ((not dX.isNegative) xor ((State and gstHHHJump) <> 0)) then
   405                                      newGear^.Tag:= -1
   407                                      newGear^.Tag:= -1
   406                                  else
   408                                  else
   407                                      newGear^.Tag:= 1;
   409                                      newGear^.Tag:= 1;
   408                                  end;
   410                                  end;