Guest User

Untitled

a guest
Mar 19th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. diff -r 25de976a7b9a hedgewars/uGearsHandlersMess.pas
  2. --- a/hedgewars/uGearsHandlersMess.pas Sat Mar 10 03:27:18 2018 +0100
  3. +++ b/hedgewars/uGearsHandlersMess.pas Sat Mar 10 05:41:44 2018 +0300
  4. @@ -6705,19 +6705,37 @@
  5. begin
  6. Gear^.Tag := ((Gear^.Tag - 1) and 1) + 2;
  7.  
  8. - gX := hwRound(Gear^.X) + GetLaunchX(amMinigun, hwSign(HHGear^.dX), HHGear^.Angle);
  9. + gX := hwRound(Gear^.X) + GetLaunchX(amMinigun, hwSign(Gear^.dX), HHGear^.Angle);
  10. gY := hwRound(Gear^.Y) + GetLaunchY(amMinigun, HHGear^.Angle);
  11. rx := rndSign(getRandomf * _0_2);
  12. ry := rndSign(getRandomf * _0_2);
  13.  
  14. - bullet:= AddGear(gx, gy, gtMinigunBullet, 0, SignAs(AngleSin(HHGear^.Angle) * _0_8, HHGear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - _0_8) + ry, 0);
  15. + bullet:= AddGear(gx, gy, gtMinigunBullet, 0, SignAs(AngleSin(HHGear^.Angle) * _0_8, Gear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - _0_8) + ry, 0);
  16. bullet^.CollisionMask:= lfNotCurrentMask;
  17. bullet^.WDTimer := Gear^.WDTimer;
  18. Inc(Gear^.WDTimer);
  19.  
  20. CreateShellForGear(Gear, Gear^.Tag and 1);
  21. +
  22. + HHGear^.State := HHGear^.State or gstMoving;
  23. + if HHGear^.dX < _0_25 then
  24. + begin
  25. + HHGear^.dX:= HHGear^.dX - bullet^.dX * _0_07;
  26. + if hwAbs(HHGear^.dX) > _0_25 then
  27. + HHGear^.dX.QWordValue := _0_25.QWordValue;
  28. + end;
  29. + if (HHGear^.dY.isNegative) or (HHGear^.dY < _0_1) then
  30. + begin
  31. + HHGear^.dY:= HHGear^.dY - bullet^.dY * _0_1 / 2;
  32. + if HHGear^.dY > _0_1 then
  33. + HHGear^.dY:= _0_1;
  34. + end
  35. end;
  36.  
  37. + doStepHedgehogMoving(HHGear);
  38. + Gear^.X:= HHGear^.X;
  39. + Gear^.Y:= HHGear^.Y;
  40. +
  41. if (Gear^.Timer = 0) or ((HHGear^.State and gstHHDriven) = 0) then
  42. begin
  43. HHGear^.State := HHGear^.State and (not gstNotKickable);
  44. diff -r 25de976a7b9a hedgewars/uGearsRender.pas
  45. --- a/hedgewars/uGearsRender.pas Sat Mar 10 03:27:18 2018 +0100
  46. +++ b/hedgewars/uGearsRender.pas Sat Mar 10 05:41:44 2018 +0300
  47. @@ -283,7 +283,10 @@
  48. m:= -1;
  49. sx:= ox + 1; // this offset is very common
  50. sy:= oy - 3;
  51. - sign:= hwSign(Gear^.dX);
  52. + if ((Gear^.State and gstAttacking <> 0) and (HH^.CurAmmoType = amMinigun)) then
  53. + sign:= hwSign(CurAmmoGear^.dX)
  54. + else
  55. + sign:= hwSign(Gear^.dX);
  56.  
  57. if (Gear^.State and gstHHDeath) <> 0 then
  58. begin
Add Comment
Please, Sign In to add comment