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); |