Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -r 25de976a7b9a hedgewars/uGearsHandlersMess.pas
- --- a/hedgewars/uGearsHandlersMess.pas Sat Mar 10 03:27:18 2018 +0100
- +++ b/hedgewars/uGearsHandlersMess.pas Sat Mar 10 05:41:44 2018 +0300
- @@ -6705,19 +6705,37 @@
- begin
- Gear^.Tag := ((Gear^.Tag - 1) and 1) + 2;
- - gX := hwRound(Gear^.X) + GetLaunchX(amMinigun, hwSign(HHGear^.dX), HHGear^.Angle);
- + gX := hwRound(Gear^.X) + GetLaunchX(amMinigun, hwSign(Gear^.dX), HHGear^.Angle);
- gY := hwRound(Gear^.Y) + GetLaunchY(amMinigun, HHGear^.Angle);
- rx := rndSign(getRandomf * _0_2);
- ry := rndSign(getRandomf * _0_2);
- - bullet:= AddGear(gx, gy, gtMinigunBullet, 0, SignAs(AngleSin(HHGear^.Angle) * _0_8, HHGear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - _0_8) + ry, 0);
- + bullet:= AddGear(gx, gy, gtMinigunBullet, 0, SignAs(AngleSin(HHGear^.Angle) * _0_8, Gear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - _0_8) + ry, 0);
- bullet^.CollisionMask:= lfNotCurrentMask;
- bullet^.WDTimer := Gear^.WDTimer;
- Inc(Gear^.WDTimer);
- CreateShellForGear(Gear, Gear^.Tag and 1);
- +
- + HHGear^.State := HHGear^.State or gstMoving;
- + if HHGear^.dX < _0_25 then
- + begin
- + HHGear^.dX:= HHGear^.dX - bullet^.dX * _0_07;
- + if hwAbs(HHGear^.dX) > _0_25 then
- + HHGear^.dX.QWordValue := _0_25.QWordValue;
- + end;
- + if (HHGear^.dY.isNegative) or (HHGear^.dY < _0_1) then
- + begin
- + HHGear^.dY:= HHGear^.dY - bullet^.dY * _0_1 / 2;
- + if HHGear^.dY > _0_1 then
- + HHGear^.dY:= _0_1;
- + end
- end;
- + doStepHedgehogMoving(HHGear);
- + Gear^.X:= HHGear^.X;
- + Gear^.Y:= HHGear^.Y;
- +
- if (Gear^.Timer = 0) or ((HHGear^.State and gstHHDriven) = 0) then
- begin
- HHGear^.State := HHGear^.State and (not gstNotKickable);
- diff -r 25de976a7b9a hedgewars/uGearsRender.pas
- --- a/hedgewars/uGearsRender.pas Sat Mar 10 03:27:18 2018 +0100
- +++ b/hedgewars/uGearsRender.pas Sat Mar 10 05:41:44 2018 +0300
- @@ -283,7 +283,10 @@
- m:= -1;
- sx:= ox + 1; // this offset is very common
- sy:= oy - 3;
- - sign:= hwSign(Gear^.dX);
- + if ((Gear^.State and gstAttacking <> 0) and (HH^.CurAmmoType = amMinigun)) then
- + sign:= hwSign(CurAmmoGear^.dX)
- + else
- + sign:= hwSign(Gear^.dX);
- if (Gear^.State and gstHHDeath) <> 0 then
- begin
Add Comment
Please, Sign In to add comment