equal
deleted
inserted
replaced
421 begin |
421 begin |
422 newGear^.dX:= newDx / newGear^.Density; |
422 newGear^.dX:= newDx / newGear^.Density; |
423 newGear^.dY:= newDY / newGear^.Density |
423 newGear^.dY:= newDY / newGear^.Density |
424 end; |
424 end; |
425 if (CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amJetpack) and |
425 if (CurAmmoGear <> nil) and (CurAmmoGear^.AmmoType = amJetpack) and |
426 (Gear^.Message and gmPrecise <> 0) and (hwRound(Y) > cWaterLine) then |
426 (Gear^.Message and gmPrecise <> 0) and CheckCoordInWater(hwRound(X), hwRound(Y)) then |
427 newGear^.State:= newGear^.State or gstSubmersible; |
427 newGear^.State:= newGear^.State or gstSubmersible; |
428 |
428 |
429 case CurAmmoType of |
429 case CurAmmoType of |
430 amGrenade, amMolotov, |
430 amGrenade, amMolotov, |
431 amClusterBomb, amGasBomb, |
431 amClusterBomb, amGasBomb, |
546 OnUsedAmmo(CurrentHedgehog^); |
546 OnUsedAmmo(CurrentHedgehog^); |
547 if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and (((GameFlags and gfInfAttack) = 0) or PlacingHogs) then |
547 if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and (((GameFlags and gfInfAttack) = 0) or PlacingHogs) then |
548 begin |
548 begin |
549 if TagTurnTimeLeft = 0 then |
549 if TagTurnTimeLeft = 0 then |
550 TagTurnTimeLeft:= TurnTimeLeft; |
550 TagTurnTimeLeft:= TurnTimeLeft; |
551 if (CurAmmoGear <> nil) and (CurAmmoGear^.State and gstSubmersible <> 0) and (hwRound(CurAmmoGear^.Y) > cWaterLine) then |
551 if (CurAmmoGear <> nil) and (CurAmmoGear^.State and gstSubmersible <> 0) and CheckCoordInWater(hwRound(CurAmmoGear^.X), hwRound(CurAmmoGear^.Y)) then |
552 TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 25 |
552 TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 25 |
553 else TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 100; |
553 else TurnTimeLeft:=(Ammoz[a].TimeAfterTurn * cGetAwayTime) div 100; |
554 end; |
554 end; |
555 if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and (HHGear <> nil) then |
555 if ((Ammoz[a].Ammo.Propz and ammoprop_NoRoundEnd) = 0) and (HHGear <> nil) then |
556 HHGear^.State:= HHGear^.State or gstAttacked; |
556 HHGear^.State:= HHGear^.State or gstAttacked; |
862 procedure doStepHedgehogMoving(Gear: PGear); |
862 procedure doStepHedgehogMoving(Gear: PGear); |
863 var isFalling, isUnderwater: boolean; |
863 var isFalling, isUnderwater: boolean; |
864 land: Word; |
864 land: Word; |
865 begin |
865 begin |
866 land:= 0; |
866 land:= 0; |
867 isUnderwater:= cWaterLine < hwRound(Gear^.Y) + Gear^.Radius; |
867 isUnderwater:= CheckCoordInWater(hwRound(Gear^.X), hwRound(Gear^.Y) + Gear^.Radius); |
868 if Gear^.dX.QWordValue > 8160437862 then |
868 if Gear^.dX.QWordValue > 8160437862 then |
869 Gear^.dX.QWordValue:= 8160437862; |
869 Gear^.dX.QWordValue:= 8160437862; |
870 if Gear^.dY.QWordValue > 8160437862 then |
870 if Gear^.dY.QWordValue > 8160437862 then |
871 Gear^.dY.QWordValue:= 8160437862; |
871 Gear^.dY.QWordValue:= 8160437862; |
872 |
872 |