hedgewars/uVisualGears.pas
changeset 2146 f70cd51704c1
parent 2143 ad05f6b2d1c0
child 2152 a2811690da1b
equal deleted inserted replaced
2145:fa43619eb3e7 2146:f70cd51704c1
   138 		end
   138 		end
   139 	else dec(Gear^.FrameTicks, Steps)
   139 	else dec(Gear^.FrameTicks, Steps)
   140 end;
   140 end;
   141 
   141 
   142 procedure doStepFire(Gear: PVisualGear; Steps: Longword);
   142 procedure doStepFire(Gear: PVisualGear; Steps: Longword);
   143 var i: Integer;
       
   144 begin
   143 begin
   145 Gear^.X:= Gear^.X + Gear^.dX * Steps;
   144 Gear^.X:= Gear^.X + Gear^.dX * Steps;
   146 
   145 
   147 Gear^.Y:= Gear^.Y + Gear^.dY * Steps;// + cGravity * (Steps * Steps);
   146 Gear^.Y:= Gear^.Y + Gear^.dY * Steps;// + cGravity * (Steps * Steps);
   148 Gear^.dY:= Gear^.dY + cGravity * Steps;
   147 Gear^.dY:= Gear^.dY + cGravity * Steps;
   149 
   148 
   150 if (Gear^.FrameTicks <= Steps) or (hwRound(Gear^.Y) > cWaterLine) then
   149 if Gear^.FrameTicks <= Steps then
   151 	begin
   150        DeleteVisualGear(Gear)
   152 	if hwRound(Gear^.Y) > cWaterLine then for i:= 0 to 3 do
       
   153 		begin
       
   154 		AddVisualGear(hwRound(Gear^.X) - 16 + Random(32), hwRound(Gear^.Y) - 16 + Random(16), vgtSteam);
       
   155 		PlaySound(sndVaporize, false, nil);
       
   156 		end;
       
   157 	DeleteVisualGear(Gear);
       
   158 	end
       
   159 else
   151 else
   160 	dec(Gear^.FrameTicks, Steps)
   152 	dec(Gear^.FrameTicks, Steps)
   161 end;
   153 end;
   162 
   154 
   163 procedure doStepSmallDamage(Gear: PVisualGear; Steps: Longword);
   155 procedure doStepSmallDamage(Gear: PVisualGear; Steps: Longword);