640 if TurnTimeLeft = 0 then Gear.State:= Gear.State or gsttmpFlag; |
640 if TurnTimeLeft = 0 then Gear.State:= Gear.State or gsttmpFlag; |
641 end; |
641 end; |
642 //////////////////////////////////////////////////////////////////////////////// |
642 //////////////////////////////////////////////////////////////////////////////// |
643 procedure doStepDynamite(Gear: PGear); |
643 procedure doStepDynamite(Gear: PGear); |
644 begin |
644 begin |
645 if (Gear.dX <> 0) or (Gear.dY <> 0) {or not TestCollisionY(Gear, 1)} then |
645 doStepFallingGear(Gear); |
646 begin |
646 AllInactive:= false; |
647 doStepFallingGear(Gear); |
647 if Gear.Timer mod 166 = 0 then inc(Gear.Tag); |
648 if Gear.Active = false then |
648 if Gear.Timer = 0 then |
649 begin |
649 begin |
650 Gear.dX:= 0; |
650 doMakeExplosion(round(Gear.X), round(Gear.Y), 85, EXPLAutoSound); |
651 Gear.dY:= 0 |
651 DeleteGear(Gear); |
652 end; |
652 exit |
653 // CalcRotationDirAngle(Gear); |
653 end; |
654 AllInactive:= false |
654 dec(Gear.Timer); |
655 end; |
|
656 //if ((Gear.State and gsttmpFlag) <> 0) then |
|
657 // if ((Gear.State and gstAttacking) = 0) then |
|
658 begin |
|
659 // AllInactive:= true; |
|
660 if (Gear.Timer and $FF) = 0 then PlaySound(sndMineTick); |
|
661 if Gear.Timer = 0 then |
|
662 begin |
|
663 doMakeExplosion(round(Gear.X), round(Gear.Y), 85, EXPLAutoSound); |
|
664 DeleteGear(Gear) |
|
665 end; |
|
666 dec(Gear.Timer); |
|
667 end;{ else // gsttmpFlag = 0 |
|
668 if TurnTimeLeft = 0 then Gear.State:= Gear.State or gsttmpFlag;} |
|
669 end; |
655 end; |
670 |
656 |
671 //////////////////////////////////////////////////////////////////////////////// |
657 //////////////////////////////////////////////////////////////////////////////// |
672 procedure doStepCase(Gear: PGear); |
658 procedure doStepCase(Gear: PGear); |
673 begin |
659 begin |