hedgewars/GSHandlers.inc
changeset 2143 ad05f6b2d1c0
parent 2142 48ed98cfd119
child 2177 c045698e044f
--- a/hedgewars/GSHandlers.inc	Mon Jun 01 20:38:45 2009 +0000
+++ b/hedgewars/GSHandlers.inc	Tue Jun 02 18:27:15 2009 +0000
@@ -92,7 +92,9 @@
 begin
 AllInactive:= false;
 Gear^.Y:= Gear^.Y + cDrownSpeed;
-if hwRound(Gear^.Y) > Gear^.Radius + cWaterLine + cVisibleWater then DeleteGear(Gear)
+if hwRound(Gear^.Y) > Gear^.Radius + cWaterLine + cVisibleWater then DeleteGear(Gear);
+// Create some bubbles (0.5% might be better but causes too few bubbles sometimes)
+if Random(1000) < 10 then AddVisualGear(hwRound(Gear^.X) - Gear^.Radius, hwRound(Gear^.Y) - Gear^.Radius, vgtBubble);
 end;
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -1207,6 +1209,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 procedure doStepFlame(Gear: PGear);
+var i: Integer;
 begin
 AllInactive:= false;
 
@@ -1221,8 +1224,13 @@
 	Gear^.X:= Gear^.X + Gear^.dX + cWindSpeed * 640;
 	Gear^.Y:= Gear^.Y + Gear^.dY;
 	
-	if not (hwRound(Gear^.Y) < cWaterLine) then
+	if (hwRound(Gear^.Y) > cWaterLine) then
 		begin
+		for i:= 0 to 3 do
+			begin
+			AddVisualGear(hwRound(Gear^.X) - 16 + Random(32), hwRound(Gear^.Y) - 16 + Random(16), vgtSteam);
+			PlaySound(sndVaporize, false, nil);
+			end;
 		DeleteGear(Gear);
 		exit
 		end