equal
deleted
inserted
replaced
1711 PlaySound(sndRopeShot) |
1711 PlaySound(sndRopeShot) |
1712 end; |
1712 end; |
1713 |
1713 |
1714 //////////////////////////////////////////////////////////////////////////////// |
1714 //////////////////////////////////////////////////////////////////////////////// |
1715 procedure doStepMine(Gear: PGear); |
1715 procedure doStepMine(Gear: PGear); |
|
1716 var vg: PVisualGear; |
1716 begin |
1717 begin |
1717 if (Gear^.State and gstMoving) <> 0 then |
1718 if (Gear^.State and gstMoving) <> 0 then |
1718 begin |
1719 begin |
1719 DeleteCI(Gear); |
1720 DeleteCI(Gear); |
1720 doStepFallingGear(Gear); |
1721 doStepFallingGear(Gear); |
1740 inc(Gear^.Damage, hwRound(Gear^.dY * -_70)) |
1741 inc(Gear^.Damage, hwRound(Gear^.dY * -_70)) |
1741 else if Gear^.dX.isNegative and (Gear^.dX < -_0_2) and TestCollisionXwithGear(Gear, -1) then |
1742 else if Gear^.dX.isNegative and (Gear^.dX < -_0_2) and TestCollisionXwithGear(Gear, -1) then |
1742 inc(Gear^.Damage, hwRound(Gear^.dX * -_70)); |
1743 inc(Gear^.Damage, hwRound(Gear^.dX * -_70)); |
1743 |
1744 |
1744 if (Gear^.Damage > random(30)) and ((GameTicks and $FF) = 0) then |
1745 if (Gear^.Damage > random(30)) and ((GameTicks and $FF) = 0) then |
1745 AddVisualGear(hwRound(Gear^.X) - 4 + Random(8), hwRound(Gear^.Y) - 4 - Random(4), vgtSmoke); |
1746 begin |
|
1747 vg:= AddVisualGear(hwRound(Gear^.X) - 4 + Random(8), hwRound(Gear^.Y) - 4 - Random(4), vgtSmoke); |
|
1748 if vg <> nil then vg^.Scale:= 0.5 |
|
1749 end; |
1746 |
1750 |
1747 if (Gear^.Damage > 35) then |
1751 if (Gear^.Damage > 35) then |
1748 begin |
1752 begin |
1749 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound); |
1753 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound); |
1750 DeleteGear(Gear); |
1754 DeleteGear(Gear); |
1772 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound); |
1776 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, Gear^.Hedgehog, EXPLAutoSound); |
1773 DeleteGear(Gear) |
1777 DeleteGear(Gear) |
1774 end |
1778 end |
1775 else |
1779 else |
1776 begin |
1780 begin |
1777 AddVisualGear(hwRound(Gear^.X) - 4 + Random(8), hwRound(Gear^.Y) - 4 - Random(4), |
1781 vg:= AddVisualGear(hwRound(Gear^.X) - 4 + Random(8), hwRound(Gear^.Y) - 4 - Random(4), vgtSmoke); |
1778 vgtSmoke); |
1782 if vg <> nil then vg^.Scale:= 0.5; |
1779 PlaySound(sndVaporize); |
1783 PlaySound(sndVaporize); |
1780 Gear^.Health := 0; |
1784 Gear^.Health := 0; |
1781 Gear^.Damage := 0; |
1785 Gear^.Damage := 0; |
1782 Gear^.State := Gear^.State and not gstAttacking |
1786 Gear^.State := Gear^.State and not gstAttacking |
1783 end; |
1787 end; |