equal
deleted
inserted
replaced
660 if isFalling then |
660 if isFalling then |
661 begin |
661 begin |
662 if (Gear^.dY.isNegative) and TestCollisionYKick(Gear, -1) then Gear^.dY:= _0; |
662 if (Gear^.dY.isNegative) and TestCollisionYKick(Gear, -1) then Gear^.dY:= _0; |
663 Gear^.State:= Gear^.State or gstMoving; |
663 Gear^.State:= Gear^.State or gstMoving; |
664 if isUnderwater then Gear^.dY:= Gear^.dY + cGravity / _2 |
664 if isUnderwater then Gear^.dY:= Gear^.dY + cGravity / _2 |
665 else Gear^.dY:= Gear^.dY + cGravity |
665 else |
|
666 begin |
|
667 Gear^.dY:= Gear^.dY + cGravity; |
|
668 // this set of circumstances could be less complex if jumping was more clearly identified |
|
669 if ((GameFlags and gfMoreWind) <> 0) and |
|
670 (Gear^.Damage <> 0) or |
|
671 ((CurAmmoGear <> nil) and |
|
672 ((CurAmmoGear^.AmmoType = amJetpack) or |
|
673 (CurAmmoGear^.AmmoType = amBirdy))) or |
|
674 ((Gear^.dY.QWordValue + Gear^.dX.QWordValue) > _0_55.QWordValue) |
|
675 then Gear^.dX := Gear^.dX + cWindSpeed * _0_2 |
|
676 end |
666 end |
677 end |
667 else |
678 else |
668 begin |
679 begin |
669 if ((hwAbs(Gear^.dX) + hwAbs(Gear^.dY)) < _0_55) |
680 if ((Gear^.dX.QWordValue + Gear^.dY.QWordValue) < _0_55.QWordValue) |
670 and ((Gear^.State and gstHHJumping) <> 0) then SetLittle(Gear^.dX); |
681 and ((Gear^.State and gstHHJumping) <> 0) then SetLittle(Gear^.dX); |
671 |
682 |
672 if not Gear^.dY.isNegative then |
683 if not Gear^.dY.isNegative then |
673 begin |
684 begin |
674 CheckHHDamage(Gear); |
685 CheckHHDamage(Gear); |