equal
deleted
inserted
replaced
7469 Gear^.Timer := 1800 + GetRandom(400); |
7469 Gear^.Timer := 1800 + GetRandom(400); |
7470 end |
7470 end |
7471 end |
7471 end |
7472 end; |
7472 end; |
7473 |
7473 |
|
7474 procedure doStepSentryWater(Gear: PGear); |
|
7475 begin |
|
7476 if Gear^.Tag < 0 then |
|
7477 begin |
|
7478 CheckGearDrowning(Gear); |
|
7479 exit; |
|
7480 end; |
|
7481 |
|
7482 Gear^.Y := int2hwFloat(cWaterLine - 3 * Gear^.Radius); |
|
7483 if TestCollisionYwithGear(Gear, -1) <> 0 then |
|
7484 begin |
|
7485 Gear^.Tag := -1; |
|
7486 exit; |
|
7487 end; |
|
7488 end; |
|
7489 |
7474 procedure doStepSentryDeploy(Gear: PGear); |
7490 procedure doStepSentryDeploy(Gear: PGear); |
7475 begin |
7491 begin |
7476 Gear^.Tag := -1; |
7492 Gear^.Tag := -1; |
7477 if Gear^.dY.isNegative or (TestCollisionYwithGear(Gear, 1) = 0) then |
7493 if hwRound(Gear^.Y) + 3 * Gear^.Radius >= cWaterLine then |
|
7494 begin |
|
7495 Gear^.Y := int2hwFloat(cWaterLine - 3 * Gear^.Radius); |
|
7496 if Gear^.Timer > 0 then dec(Gear^.Timer); |
|
7497 if Gear^.Timer = 0 then |
|
7498 begin |
|
7499 Gear^.Tag := 0; |
|
7500 Gear^.doStep := @doStepSentryWater; |
|
7501 end; |
|
7502 end |
|
7503 else if Gear^.dY.isNegative or (TestCollisionYwithGear(Gear, 1) = 0) then |
7478 doStepFallingGear(Gear) |
7504 doStepFallingGear(Gear) |
7479 else |
7505 else |
7480 begin |
7506 begin |
7481 if Gear^.Timer > 0 then dec(Gear^.Timer); |
7507 if Gear^.Timer > 0 then dec(Gear^.Timer); |
7482 if Gear^.Timer = 0 then |
7508 if Gear^.Timer = 0 then |