hedgewars/GSHandlers.inc
changeset 3461 0781275649e9
parent 3460 d957d5f7b58d
child 3462 4b36933dce1d
equal deleted inserted replaced
3460:d957d5f7b58d 3461:0781275649e9
   442         DeleteGear(Gear);
   442         DeleteGear(Gear);
   443         exit
   443         exit
   444     end;
   444     end;
   445     if (GameTicks and $3F) = 0 then
   445     if (GameTicks and $3F) = 0 then
   446         AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace);
   446         AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace);
   447 end;
       
   448 
       
   449 ////////////////////////////////////////////////////////////////////////////////
       
   450 procedure doStepHealthTagWork(Gear: PGear);
       
   451 begin
       
   452 if Gear^.Kind = gtHealthTag then
       
   453     AllInactive:= false;
       
   454 
       
   455 dec(Gear^.Timer);
       
   456 Gear^.Y:= Gear^.Y + Gear^.dY;
       
   457 
       
   458 if Gear^.Timer = 0 then
       
   459     begin
       
   460     if (Gear^.Kind = gtHealthTag) and (PHedgehog(Gear^.Hedgehog)^.Gear <> nil) then
       
   461         PHedgehog(Gear^.Hedgehog)^.Gear^.Active:= true; // to let current hh die
       
   462     DeleteGear(Gear)
       
   463     end
       
   464 end;
       
   465 
       
   466 procedure doStepHealthTagWorkUnderWater(Gear: PGear);
       
   467 begin
       
   468 AllInactive:= false;
       
   469 
       
   470 Gear^.Y:= Gear^.Y - _0_08;
       
   471 
       
   472 if hwRound(Gear^.Y) < cWaterLine + 10 then
       
   473     DeleteGear(Gear)
       
   474 end;
       
   475 
       
   476 procedure doStepHealthTag(Gear: PGear);
       
   477 var s: shortstring;
       
   478 begin
       
   479 AllInactive:= false;
       
   480 Gear^.dY:= -_0_08;
       
   481 
       
   482 str(Gear^.State, s);
       
   483 Gear^.Tex:= RenderStringTex(s, PHedgehog(Gear^.Hedgehog)^.Team^.Clan^.Color, fnt16);
       
   484 
       
   485 if hwRound(Gear^.Y) < cWaterLine then
       
   486     Gear^.doStep:= @doStepHealthTagWork
       
   487 else
       
   488     Gear^.doStep:= @doStepHealthTagWorkUnderWater;
       
   489 
       
   490 Gear^.Y:= Gear^.Y - int2hwFloat(Gear^.Tex^.h)
       
   491 end;
   447 end;
   492 
   448 
   493 ////////////////////////////////////////////////////////////////////////////////
   449 ////////////////////////////////////////////////////////////////////////////////
   494 procedure doStepGrave(Gear: PGear);
   450 procedure doStepGrave(Gear: PGear);
   495 begin
   451 begin