1709 if ((y and $FFFFFC00) = 0) and ((x and $FFFFF800) = 0) then |
1709 if ((y and $FFFFFC00) = 0) and ((x and $FFFFF800) = 0) then |
1710 if (Land[y, x] <> 0) then |
1710 if (Land[y, x] <> 0) then |
1711 begin |
1711 begin |
1712 Gear^.dX.isNegative:= not Gear^.dX.isNegative; |
1712 Gear^.dX.isNegative:= not Gear^.dX.isNegative; |
1713 Gear^.dY.isNegative:= not Gear^.dY.isNegative; |
1713 Gear^.dY.isNegative:= not Gear^.dY.isNegative; |
1714 Gear^.dY:= Gear^.dY - _0_2; |
1714 Gear^.dX:= Gear^.dX * _1_5; |
|
1715 Gear^.dY:= Gear^.dY * _1_5 - _0_3; |
1715 AmmoShove(Gear, 0, 40); |
1716 AmmoShove(Gear, 0, 40); |
|
1717 AfterAttack; |
1716 DeleteGear(Gear) |
1718 DeleteGear(Gear) |
1717 end |
1719 end |
1718 else |
1720 else |
1719 else |
1721 else |
|
1722 begin |
|
1723 AfterAttack; |
1720 DeleteGear(Gear) |
1724 DeleteGear(Gear) |
|
1725 end |
|
1726 end; |
|
1727 |
|
1728 procedure doStepSeductionWear(Gear: PGear); |
|
1729 begin |
|
1730 AllInactive:= false; |
|
1731 inc(Gear^.Timer); |
|
1732 if Gear^.Timer > 250 then |
|
1733 begin |
|
1734 Gear^.Timer:= 0; |
|
1735 inc(Gear^.Pos) |
|
1736 end; |
|
1737 |
|
1738 if Gear^.Pos = 8 then |
|
1739 Gear^.doStep:= @doStepSeductionWork |
1721 end; |
1740 end; |
1722 |
1741 |
1723 procedure doStepSeduction(Gear: PGear); |
1742 procedure doStepSeduction(Gear: PGear); |
1724 var x, y: LongInt; |
|
1725 begin |
1743 begin |
1726 AllInactive:= false; |
1744 AllInactive:= false; |
1727 DeleteCI(PHedgehog(Gear^.Hedgehog)^.Gear); |
1745 DeleteCI(PHedgehog(Gear^.Hedgehog)^.Gear); |
1728 Gear^.doStep:= @doStepSeductionWork |
1746 Gear^.doStep:= @doStepSeductionWear |
1729 end; |
1747 end; |