hedgewars/uGears.pas
changeset 2460 ac0c497fb842
parent 2457 ecf0c7e7995b
child 2468 0b62498c201a
equal deleted inserted replaced
2459:a4176afd61e1 2460:ac0c497fb842
   149 			@doStepAirBomb,
   149 			@doStepAirBomb,
   150 			@doStepBlowTorch,
   150 			@doStepBlowTorch,
   151 			@doStepGirder,
   151 			@doStepGirder,
   152 			@doStepTeleport,
   152 			@doStepTeleport,
   153 			@doStepSwitcher,
   153 			@doStepSwitcher,
   154 			@doStepCase,
   154 			@doStepTarget,
   155 			@doStepMortar,
   155 			@doStepMortar,
   156 			@doStepWhip,
   156 			@doStepWhip,
   157 			@doStepKamikaze,
   157 			@doStepKamikaze,
   158 			@doStepCake,
   158 			@doStepCake,
   159 			@doStepSeduction,
   159 			@doStepSeduction,
   356                 end;
   356                 end;
   357     gtSwitcher: begin
   357     gtSwitcher: begin
   358                 Result^.Z:= cCurrHHZ
   358                 Result^.Z:= cCurrHHZ
   359                 end;
   359                 end;
   360       gtTarget: begin
   360       gtTarget: begin
   361                 Result^.Radius:= 16;
   361                 Result^.Radius:= 10;
   362                 Result^.Elasticity:= _0_3
   362                 Result^.Elasticity:= _0_3;
       
   363 				Result^.Timer:= 0
   363                 end;
   364                 end;
   364       gtMortar: begin
   365       gtMortar: begin
   365                 Result^.Radius:= 4;
   366                 Result^.Radius:= 4;
   366                 Result^.Elasticity:= _0_2;
   367                 Result^.Elasticity:= _0_2;
   367                 Result^.Friction:= _0_08
   368                 Result^.Friction:= _0_08
  1479                     HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
  1480                     HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
  1480                     DrawRotatedF(sprTeleport, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, Gear^.Pos, hwSign(HHGear^.dX), 0);
  1481                     DrawRotatedF(sprTeleport, hwRound(Gear^.X) + 1 + WorldDx, hwRound(Gear^.Y) - 3 + WorldDy, Gear^.Pos, hwSign(HHGear^.dX), 0);
  1481                     DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0);
  1482                     DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0);
  1482                     end;
  1483                     end;
  1483         gtSwitcher: DrawSprite(sprSwitch, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 56 + WorldDy, (GameTicks shr 6) mod 12);
  1484         gtSwitcher: DrawSprite(sprSwitch, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 56 + WorldDy, (GameTicks shr 6) mod 12);
  1484           gtTarget: DrawSprite(sprTarget, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, 0);
  1485           gtTarget: begin
       
  1486 					glColor4f(1, 1, 1, Gear^.Timer / 1000);
       
  1487 					DrawSprite(sprTarget, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, 0);
       
  1488 					glColor4f(1, 1, 1, 1);
       
  1489 					end;
  1485           gtMortar: DrawRotated(sprMortar, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
  1490           gtMortar: DrawRotated(sprMortar, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
  1486           gtCake: if Gear^.Pos = 6 then
  1491           gtCake: if Gear^.Pos = 6 then
  1487                      DrawRotatedf(sprCakeWalk, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks div 40) mod 6, hwSign(Gear^.dX), Gear^.DirAngle * hwSign(Gear^.dX) + 90)
  1492                      DrawRotatedf(sprCakeWalk, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, (GameTicks div 40) mod 6, hwSign(Gear^.dX), Gear^.DirAngle * hwSign(Gear^.dX) + 90)
  1488                   else
  1493                   else
  1489                      DrawRotatedf(sprCakeDown, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 5 - Gear^.Pos, hwSign(Gear^.dX), 0);
  1494                      DrawRotatedf(sprCakeDown, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 5 - Gear^.Pos, hwSign(Gear^.dX), 0);