hedgewars/GSHandlers.inc
changeset 2182 ed7e7eb3f9ed
parent 2181 26d3b13ee553
child 2185 cf8f98e75bf9
equal deleted inserted replaced
2181:26d3b13ee553 2182:ed7e7eb3f9ed
  2192 AllInactive:= false;
  2192 AllInactive:= false;
  2193 HHGear:=PHedgehog(Gear^.Hedgehog)^.Gear;
  2193 HHGear:=PHedgehog(Gear^.Hedgehog)^.Gear;
  2194 //dec(Gear^.Timer);
  2194 //dec(Gear^.Timer);
  2195 move:= _0_2;
  2195 move:= _0_2;
  2196 fuel:= 50;
  2196 fuel:= 50;
  2197 if (HHGear^.Message and gm_Precise) <> 0 then
  2197 (*if (HHGear^.Message and gm_Precise) <> 0 then
  2198     begin
  2198     begin
  2199     move:= _0_02;
  2199     move:= _0_02;
  2200     fuel:= 5;
  2200     fuel:= 5;
  2201     end;
  2201     end;*)
  2202 if (HHGear^.Message and gm_Left) <> 0 then move.isNegative:= true;
  2202 if (HHGear^.Message and gm_Left) <> 0 then move.isNegative:= true;
  2203 
  2203 
  2204 if (HHGear^.Message and gm_Up) <> 0 then
  2204 if (HHGear^.Message and gm_Up) <> 0 then
  2205     begin
  2205     begin
  2206     HHGear^.dY:= HHGear^.dY - move;
  2206     HHGear^.dY:= HHGear^.dY - move;
  2207     dec(Gear^.Health, fuel)
  2207     dec(Gear^.Health, fuel);
       
  2208     Gear^.MsgParam:= Gear^.MsgParam or gm_Up;
       
  2209     Gear^.Timer:= GameTicks
  2208     end;
  2210     end;
  2209 if (HHGear^.Message and (gm_Left or gm_Right)) <> 0 then
  2211 if (HHGear^.Message and (gm_Left or gm_Right)) <> 0 then
  2210     begin
  2212     begin
  2211     HHGear^.dX:= HHGear^.dX + (move * _0_2);
  2213     HHGear^.dX:= HHGear^.dX + (move * _0_2);
  2212     dec(Gear^.Health, fuel div 5)
  2214     dec(Gear^.Health, fuel div 5);
       
  2215     Gear^.MsgParam:= Gear^.MsgParam or (HHGear^.Message and (gm_Left or gm_Right));
       
  2216     Gear^.Timer:= GameTicks
  2213     end;
  2217     end;
       
  2218 
       
  2219 // erases 'em all at once :-/ 
       
  2220 if (Gear^.Timer <> 0) and (GameTicks - Gear^.Timer > 250) then
       
  2221     begin
       
  2222     Gear^.Timer:= 0;
       
  2223     Gear^.MsgParam:= 0
       
  2224     end;
       
  2225 
  2214 if Gear^.Health < 0 then Gear^.Health:= 0;
  2226 if Gear^.Health < 0 then Gear^.Health:= 0;
  2215 if (GameTicks and $3F) = 0 then AddCaption('Fuel: '+inttostr(round(Gear^.Health/20))+'%', $FFFFFF, capgrpAmmostate);
  2227 if (GameTicks and $3F) = 0 then AddCaption('Fuel: '+inttostr(round(Gear^.Health/20))+'%', $FFFFFF, capgrpAmmostate);
  2216 
  2228 
  2217 //AddCaption(inttostr(round(Gear^.Health/20))+'% : '+inttostr(round(Gear^.Timer/1000)), $FFFFFF, capgrpMessage);
  2229 //AddCaption(inttostr(round(Gear^.Health/20))+'% : '+inttostr(round(Gear^.Timer/1000)), $FFFFFF, capgrpMessage);
  2218 
  2230 
  2235         Active:= true;
  2247         Active:= true;
  2236 		State:= State or gstMoving
  2248 		State:= State or gstMoving
  2237 		end;
  2249 		end;
  2238 	DeleteGear(Gear);
  2250 	DeleteGear(Gear);
  2239 	isCursorVisible:= false;
  2251 	isCursorVisible:= false;
       
  2252     AddCaption('Fuel: '+inttostr(round(Gear^.Health/20))+'%', $FFFFFF, capgrpAmmostate);
  2240 	end
  2253 	end
  2241 end;
  2254 end;
  2242 
  2255 
  2243 procedure doStepJetpack(Gear: PGear);
  2256 procedure doStepJetpack(Gear: PGear);
  2244 var HHGear: PGear;
  2257 var HHGear: PGear;