equal
deleted
inserted
replaced
5567 begin |
5567 begin |
5568 Timer := iceCollideWithGround; |
5568 Timer := iceCollideWithGround; |
5569 Power := GameTicks; |
5569 Power := GameTicks; |
5570 end |
5570 end |
5571 end |
5571 end |
5572 else if (target.y >= cWaterLine) then |
5572 else if (Target.Y >= cWaterLine) or |
|
5573 ((Target.X and LAND_WIDTH_MASK = 0) and |
|
5574 (Target.Y+iceHeight+4 >= cWaterLine) and |
|
5575 (Land[Target.Y, Target.X] = lfIce)) then |
5573 begin |
5576 begin |
5574 if Timer = iceWaitCollision then |
5577 if Timer = iceWaitCollision then |
5575 begin |
5578 begin |
5576 Timer := iceCollideWithWater; |
5579 Timer := iceCollideWithWater; |
5577 Power := GameTicks; |
5580 Power := GameTicks; |
5644 // FillRoundInLandWithIce(Target.X, Target.Y, iceRadius); |
5647 // FillRoundInLandWithIce(Target.X, Target.Y, iceRadius); |
5645 SetAllHHToActive; |
5648 SetAllHHToActive; |
5646 Timer := iceWaitCollision; |
5649 Timer := iceWaitCollision; |
5647 end; |
5650 end; |
5648 |
5651 |
5649 if (Timer = iceCollideWithWater) and ((GameTicks - Power) > groundFreezingTime) then |
5652 if (Timer = iceCollideWithWater) and ((GameTicks - Power) > groundFreezingTime div 2) then |
5650 begin |
5653 begin |
5651 PlaySound(sndHogFreeze); |
5654 PlaySound(sndHogFreeze); |
5652 DrawIceBreak(Target.X, cWaterLine - iceHeight, iceRadius, iceHeight); |
5655 DrawIceBreak(Target.X, cWaterLine - iceHeight, iceRadius, iceHeight); |
5653 SetAllHHToActive; |
5656 SetAllHHToActive; |
5654 Timer := iceWaitCollision; |
5657 Timer := iceWaitCollision; |