2082 1: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine, 0, cBombsSpeed * |
2082 1: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMine, 0, cBombsSpeed * |
2083 Gear^.Tag, _0, 0); |
2083 Gear^.Tag, _0, 0); |
2084 2: for i:= -19 to 19 do |
2084 2: for i:= -19 to 19 do |
2085 FollowGear := AddGear(hwRound(Gear^.X) + i div 3, hwRound(Gear^.Y), gtFlame, 0, |
2085 FollowGear := AddGear(hwRound(Gear^.X) + i div 3, hwRound(Gear^.Y), gtFlame, 0, |
2086 _0_001 * i, _0, 0); |
2086 _0_001 * i, _0, 0); |
2087 3: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtDrill, 0, cBombsSpeed * |
2087 3: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtDrill, gsttmpFlag, cBombsSpeed * |
2088 Gear^.Tag, _0, 0); |
2088 Gear^.Tag, _0, 0); |
2089 //4: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtWaterMelon, 0, cBombsSpeed * |
2089 //4: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtWaterMelon, 0, cBombsSpeed * |
2090 // Gear^.Tag, _0, 5000); |
2090 // Gear^.Tag, _0, 5000); |
2091 end; |
2091 end; |
2092 Gear^.dX := Gear^.dX + int2hwFloat(30 * Gear^.Tag) |
2092 Gear^.dX := Gear^.dX + int2hwFloat(30 * Gear^.Tag) |
2747 // CheckLandValue returns true if the type isn't matched |
2747 // CheckLandValue returns true if the type isn't matched |
2748 or not CheckLandValue(hwRound(Gear^.X), hwRound(Gear^.Y), lfIndestructible) then |
2748 or not CheckLandValue(hwRound(Gear^.X), hwRound(Gear^.Y), lfIndestructible) then |
2749 begin |
2749 begin |
2750 //out of time or exited ground |
2750 //out of time or exited ground |
2751 StopSound(Gear^.SoundChannel); |
2751 StopSound(Gear^.SoundChannel); |
2752 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); |
2752 if (Gear^.State and gsttmpFlag) <> 0 then |
|
2753 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, EXPLAutoSound) |
|
2754 else |
|
2755 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); |
2753 DeleteGear(Gear); |
2756 DeleteGear(Gear); |
2754 exit |
2757 exit |
2755 end; |
2758 end; |
2756 |
2759 |
2757 dec(Gear^.Timer); |
2760 dec(Gear^.Timer); |
2789 Gear^.dY := Gear^.dY * t2; |
2794 Gear^.dY := Gear^.dY * t2; |
2790 end |
2795 end |
2791 else |
2796 else |
2792 begin |
2797 begin |
2793 //explode right on contact with HH |
2798 //explode right on contact with HH |
2794 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); |
2799 if (Gear^.State and gsttmpFlag) <> 0 then |
|
2800 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, EXPLAutoSound) |
|
2801 else |
|
2802 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound); |
2795 DeleteGear(Gear); |
2803 DeleteGear(Gear); |
2796 exit; |
2804 exit; |
2797 end; |
2805 end; |
2798 |
2806 |
2799 Gear^.SoundChannel := LoopSound(sndDrillRocket); |
2807 Gear^.SoundChannel := LoopSound(sndDrillRocket); |