hedgewars/GSHandlers.inc
changeset 5924 82fc26c53d2a
parent 5922 7e7774e7be8c
child 5926 09bbc7b88714
equal deleted inserted replaced
5923:ae8cfd039ab2 5924:82fc26c53d2a
   532     if (Gear^.State and gstCollision) <> 0 then
   532     if (Gear^.State and gstCollision) <> 0 then
   533     begin
   533     begin
   534         PlaySound(sndMolotov);
   534         PlaySound(sndMolotov);
   535         gX := hwRound(Gear^.X);
   535         gX := hwRound(Gear^.X);
   536         gY := hwRound(Gear^.Y);
   536         gY := hwRound(Gear^.Y);
   537         for i:= 0 to 2 do
   537         for i:= 0 to 4 do
   538             begin
   538             begin
   539             glass:= AddVisualGear(gx+random(7)-3, gy+random(5)-2, vgtEgg);
   539             (*glass:= AddVisualGear(gx+random(7)-3, gy+random(5)-2, vgtEgg);
   540             if glass <> nil then
   540             if glass <> nil then
   541                 begin
   541                 begin
   542                 glass^.Frame:= 2;
   542                 glass^.Frame:= 2;
   543                 glass^.Tint:= $41B83ED0 - i * $10081000;
   543                 glass^.Tint:= $41B83ED0 - i * $10081000;
   544                 glass^.dX:= 1/(10*(random(11)-5));
   544                 glass^.dX:= 1/(10*(random(11)-5));
   545                 glass^.dY:= -1/(random(4)+5);
   545                 glass^.dY:= -1/(random(4)+5);
   546                 end;
   546                 end;*)
       
   547             glass:= AddVisualGear(gx+random(7)-3, gy+random(7)-3, vgtStraightShot);
       
   548             if glass <> nil then 
       
   549                 with glass^ do
       
   550                     begin
       
   551                     Frame:= 2;
       
   552                     Tint:= $41B83ED0 - i * $10081000;
       
   553                     Angle:= random * 360;
       
   554                     dx:= 0.0000001;
       
   555                     dy:= 0;
       
   556                     if random(2) = 0 then dx := -dx;
       
   557                     FrameTicks:= 750;
       
   558                     State:= ord(sprEgg)
       
   559                     end;
   547             end;
   560             end;
   548         for i:= 0 to 24 do
   561         for i:= 0 to 24 do
   549         begin
   562         begin
   550             dX := AngleCos(i * 2) * ((_0_15*(i div 5))) * (GetRandom + _1);
   563             dX := AngleCos(i * 2) * ((_0_15*(i div 5))) * (GetRandom + _1);
   551             dY := AngleSin(i * 8) * _0_5 * (GetRandom + _1);
   564             dY := AngleSin(i * 8) * _0_5 * (GetRandom + _1);
  2798     Gear^.X := HHGear^.X;
  2811     Gear^.X := HHGear^.X;
  2799     Gear^.Y := HHGear^.Y;
  2812     Gear^.Y := HHGear^.Y;
  2800     if (GameTicks mod 2 = 0) and hasWishes then
  2813     if (GameTicks mod 2 = 0) and hasWishes then
  2801         begin
  2814         begin
  2802         sparkles:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtDust, 1);
  2815         sparkles:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtDust, 1);
  2803         if sparkles <> nil then sparkles^.Tint:= ((random(210)+45) shl 24) or ((random(210)+45) shl 16) or ((random(210)+45) shl 8) or $FF;
  2816         if sparkles <> nil then 
       
  2817             begin
       
  2818             sparkles^.Tint:= ((random(210)+45) shl 24) or ((random(210)+45) shl 16) or ((random(210)+45) shl 8) or $FF;
       
  2819             sparkles^.Angle:= random * 360;
       
  2820             end
  2804         end;
  2821         end;
  2805 
  2822 
  2806     i := 2;
  2823     i := 2;
  2807     repeat
  2824     repeat
  2808         
  2825         
  2849             begin
  2866             begin
  2850             sparkles:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtStraightShot);
  2867             sparkles:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtStraightShot);
  2851             if sparkles <> nil then
  2868             if sparkles <> nil then
  2852                 with sparkles^ do
  2869                 with sparkles^ do
  2853                     begin
  2870                     begin
  2854                     sparkles^.Tint:= ((random(210)+45) shl 24) or ((random(210)+45) shl 16) or ((random(210)+45) shl 8) or $FF;
  2871                     Tint:= ((random(210)+45) shl 24) or ((random(210)+45) shl 16) or ((random(210)+45) shl 8) or $FF;
       
  2872                     Angle:= random * 360;
  2855                     dx:= 0.001 * (random(200));
  2873                     dx:= 0.001 * (random(200));
  2856                     dy:= 0.001 * (random(200));
  2874                     dy:= 0.001 * (random(200));
  2857                     if random(2) = 0 then dx := -dx;
  2875                     if random(2) = 0 then dx := -dx;
  2858                     if random(2) = 0 then dy := -dy;
  2876                     if random(2) = 0 then dy := -dy;
  2859                     FrameTicks:= random(250) + 250;
  2877                     FrameTicks:= random(400) + 250
  2860                     State:= ord(sprSnowDust);
       
  2861                     end;
  2878                     end;
  2862             end;
  2879             end;
  2863         AfterAttack;
  2880         AfterAttack;
  2864         DeleteGear(Gear);
  2881         DeleteGear(Gear);
  2865         DeleteGear(HHGear);
  2882         DeleteGear(HHGear);