hedgewars/GSHandlers.inc
changeset 1555 0a62938e695a
parent 1554 5657cd89668d
child 1573 cf88e0ace609
equal deleted inserted replaced
1554:5657cd89668d 1555:0a62938e695a
   149 					dX:= rndSign(GetRandom * _0_1);
   149 					dX:= rndSign(GetRandom * _0_1);
   150 					dY:= (GetRandom - _1_5) * _0_3;
   150 					dY:= (GetRandom - _1_5) * _0_3;
   151 					AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMelonPiece, 0, dX, dY, 75)^.DirAngle:= i * 60;
   151 					AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtMelonPiece, 0, dX, dY, 75)^.DirAngle:= i * 60;
   152 					end
   152 					end
   153 				end;
   153 				end;
   154 		gtHellishBomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 90, EXPLAutoSound);
   154 		gtHellishBomb: begin
       
   155 				doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 90, EXPLAutoSound);
       
   156 				for i:= 0 to 127 do
       
   157 					begin
       
   158 					dX:= AngleCos(i * 16) * _0_5 * (GetRandom + _1);
       
   159 					dY:= AngleSin(i * 16) * _0_5 * (GetRandom + _1);
       
   160 					AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtFlame, 0, dX, dY, 0);
       
   161 					AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtFlame, 0, dX, -dY, 0);
       
   162 					end
       
   163 				end;
   155 		end;
   164 		end;
   156 	DeleteGear(Gear);
   165 	DeleteGear(Gear);
   157 	exit
   166 	exit
   158 	end;
   167 	end;
   159 
   168 
  1129 	
  1138 	
  1130 	if hwAbs(Gear^.dX - cWindFactor) > _0_01 then
  1139 	if hwAbs(Gear^.dX - cWindFactor) > _0_01 then
  1131 		Gear^.dX:= (Gear^.dX - cWindFactor) * _0_995 + cWindFactor;
  1140 		Gear^.dX:= (Gear^.dX - cWindFactor) * _0_995 + cWindFactor;
  1132 
  1141 
  1133 	Gear^.dY:= Gear^.dY + cGravity;
  1142 	Gear^.dY:= Gear^.dY + cGravity;
  1134 	if Gear^.dY > _0_1 then Gear^.dY:= Gear^.dY * _0_995;
  1143 	if hwAbs(Gear^.dY) > _0_1 then Gear^.dY:= Gear^.dY * _0_995;
  1135 	
  1144 	
  1136 	Gear^.X:= Gear^.X + Gear^.dX;
  1145 	Gear^.X:= Gear^.X + Gear^.dX;
  1137 	Gear^.Y:= Gear^.Y + Gear^.dY;
  1146 	Gear^.Y:= Gear^.Y + Gear^.dY;
  1138 	
  1147 	
  1139 	if not (hwRound(Gear^.Y) < cWaterLine) then
  1148 	if not (hwRound(Gear^.Y) < cWaterLine) then