1280 for i:= 0 to 63 do |
1280 for i:= 0 to 63 do |
1281 AddGear(x, y, gtFlame, 0, _0, _0, 0); |
1281 AddGear(x, y, gtFlame, 0, _0, _0, 0); |
1282 end |
1282 end |
1283 else if k = gtExplosives then |
1283 else if k = gtExplosives then |
1284 begin |
1284 begin |
1285 doMakeExplosion(x, y, 25, EXPLAutoSound); |
1285 doMakeExplosion(x, y, 75, EXPLAutoSound); |
1286 for i:= 0 to 31 do |
1286 for i:= 0 to 31 do |
1287 begin |
1287 begin |
1288 dX:= AngleCos(i * 64) * _0_5 * (getrandom + _1); |
1288 dX:= AngleCos(i * 64) * _0_5 * (getrandom + _1); |
1289 dY:= AngleSin(i * 64) * _0_5 * (getrandom + _1); |
1289 dY:= AngleSin(i * 64) * _0_5 * (getrandom + _1); |
1290 AddGear(x, y, gtFlame, 0, dX, dY, 0); |
1290 AddGear(x, y, gtFlame, 0, dX, dY, 0); |
1300 Gear^.dY:= Gear^.dY + cGravity; |
1300 Gear^.dY:= Gear^.dY + cGravity; |
1301 Gear^.Y:= Gear^.Y + Gear^.dY; |
1301 Gear^.Y:= Gear^.Y + Gear^.dY; |
1302 if (Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, -1) then Gear^.dY:= _0 else |
1302 if (Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, -1) then Gear^.dY:= _0 else |
1303 if (not Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, 1) then |
1303 if (not Gear^.dY.isNegative) and TestCollisionYwithGear(Gear, 1) then |
1304 begin |
1304 begin |
|
1305 if Gear^.dY > _0_2 then |
|
1306 for i:= min(12, hwRound(Gear^.dY*_10)) downto 0 do |
|
1307 AddVisualGear(hwRound(Gear^.X) - 5 + Random(10), hwRound(Gear^.Y) + 12, vgtDust); |
1305 Gear^.dY:= - Gear^.dY * Gear^.Elasticity; |
1308 Gear^.dY:= - Gear^.dY * Gear^.Elasticity; |
1306 if Gear^.dY > - _0_001 then Gear^.dY:= _0 |
1309 if Gear^.dY > - _0_001 then Gear^.dY:= _0 |
1307 else if Gear^.dY < - _0_03 then PlaySound(sndGraveImpact); |
1310 else if Gear^.dY < - _0_03 then PlaySound(sndGraveImpact) |
1308 end; |
1311 end; |
|
1312 //if Gear^.dY > - _0_001 then Gear^.dY:= _0 |
1309 CheckGearDrowning(Gear); |
1313 CheckGearDrowning(Gear); |
1310 end; |
1314 end; |
1311 |
1315 |
1312 if (Gear^.dY.QWordValue = 0) then AddGearCI(Gear) |
1316 if (Gear^.dY.QWordValue = 0) then AddGearCI(Gear) |
1313 else if (Gear^.dY.QWordValue <> 0) then DeleteCI(Gear) |
1317 else if (Gear^.dY.QWordValue <> 0) then DeleteCI(Gear) |