equal
deleted
inserted
replaced
1689 if Gear^.Health <= 0 then |
1689 if Gear^.Health <= 0 then |
1690 exBoom := true; |
1690 exBoom := true; |
1691 end |
1691 end |
1692 else |
1692 else |
1693 begin |
1693 begin |
1694 if (Gear^.Pos <> posCaseHealth) and (GameTicks and $3FF = 0) then // stir it up every second or so |
1694 if (Gear^.Pos <> posCaseHealth) and (GameTicks and $1FFF = 0) then // stir 'em up periodically |
1695 begin |
1695 begin |
1696 gi := GearsList; |
1696 gi := GearsList; |
1697 while gi <> nil do |
1697 while gi <> nil do |
1698 begin |
1698 begin |
1699 if gi^.Kind = gtGenericFaller then |
1699 if gi^.Kind = gtGenericFaller then |
5141 gi := GearsList; |
5141 gi := GearsList; |
5142 while gi <> nil do |
5142 while gi <> nil do |
5143 begin |
5143 begin |
5144 with gi^ do CheckSum:= CheckSum xor X.round xor X.frac xor dX.round xor dX.frac xor Y.round xor Y.frac xor dY.round xor dY.frac; |
5144 with gi^ do CheckSum:= CheckSum xor X.round xor X.frac xor dX.round xor dX.frac xor Y.round xor Y.frac xor dY.round xor dY.frac; |
5145 AddRandomness(CheckSum); |
5145 AddRandomness(CheckSum); |
|
5146 if gi^.Kind = gtGenericFaller then gi^.State:= gi^.State and not gstTmpFlag; |
5146 gi := gi^.NextGear |
5147 gi := gi^.NextGear |
5147 end; |
5148 end; |
5148 AddPickup(Gear^.Hedgehog^, a, Gear^.Power, hwRound(Gear^.X), hwRound(Gear^.Y)); |
5149 AddPickup(Gear^.Hedgehog^, a, Gear^.Power, hwRound(Gear^.X), hwRound(Gear^.Y)); |
5149 DeleteGear(Gear) |
5150 DeleteGear(Gear) |
5150 end; |
5151 end; |
5158 else |
5159 else |
5159 begin |
5160 begin |
5160 DeleteGear(Gear); |
5161 DeleteGear(Gear); |
5161 exit |
5162 exit |
5162 end; |
5163 end; |
5163 |
5164 if (Gear^.State and gstTmpFlag <> 0) or (GameTicks and $7 = 0) then |
5164 doStepFallingGear(Gear); |
5165 begin |
|
5166 doStepFallingGear(Gear); |
|
5167 if (Gear^.State and gstInvisible <> 0) and (GameTicks and $FF = 0) and ((hwRound(Gear^.X) < leftX) or (hwRound(Gear^.X) > rightX) or (hwRound(Gear^.Y) < topY)) then |
|
5168 begin |
|
5169 Gear^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX); |
|
5170 Gear^.Y:= int2hwFloat(GetRandom(LAND_HEIGHT-topY)+topY); |
|
5171 Gear^.dX:= _90-(GetRandomf*_360); |
|
5172 Gear^.dY:= _90-(GetRandomf*_360) |
|
5173 end; |
|
5174 end |
5165 end; |
5175 end; |
5166 |
5176 |
5167 procedure doStepCreeper(Gear: PGear); |
5177 procedure doStepCreeper(Gear: PGear); |
5168 var hogs: PGearArrayS; |
5178 var hogs: PGearArrayS; |
5169 HHGear: PGear; |
5179 HHGear: PGear; |