equal
deleted
inserted
replaced
2843 end; |
2843 end; |
2844 |
2844 |
2845 if Gear^.Health < Gear^.Damage then |
2845 if Gear^.Health < Gear^.Damage then |
2846 begin |
2846 begin |
2847 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, Gear^.Hedgehog, EXPLAutoSound); |
2847 doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 30, Gear^.Hedgehog, EXPLAutoSound); |
|
2848 for i:= 0 to 31 do |
|
2849 begin |
|
2850 sparkles:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtStraightShot); |
|
2851 if sparkles <> nil then |
|
2852 with sparkles^ do |
|
2853 begin |
|
2854 sparkles^.Tint:= ((random(210)+45) shl 24) or ((random(210)+45) shl 16) or ((random(210)+45) shl 8) or $FF; |
|
2855 dx:= 0.001 * (random(200)); |
|
2856 dy:= 0.001 * (random(200)); |
|
2857 if random(2) = 0 then dx := -dx; |
|
2858 if random(2) = 0 then dy := -dy; |
|
2859 FrameTicks:= random(250) + 250; |
|
2860 State:= ord(sprSnowDust); |
|
2861 end; |
|
2862 end; |
2848 AfterAttack; |
2863 AfterAttack; |
2849 DeleteGear(Gear); |
2864 DeleteGear(Gear); |
2850 DeleteGear(HHGear); |
2865 DeleteGear(HHGear); |
2851 end |
2866 end |
2852 else |
2867 else |
2859 procedure doStepKamikazeIdle(Gear: PGear); |
2874 procedure doStepKamikazeIdle(Gear: PGear); |
2860 begin |
2875 begin |
2861 AllInactive := false; |
2876 AllInactive := false; |
2862 dec(Gear^.Timer); |
2877 dec(Gear^.Timer); |
2863 if Gear^.Timer = 0 then |
2878 if Gear^.Timer = 0 then |
2864 begin |
2879 begin |
2865 Gear^.Pos := 1; |
2880 Gear^.Pos := 1; |
2866 PlaySound(sndKamikaze, Gear^.Hedgehog^.Team^.voicepack); |
2881 PlaySound(sndKamikaze, Gear^.Hedgehog^.Team^.voicepack); |
2867 Gear^.doStep := @doStepKamikazeWork |
2882 Gear^.doStep := @doStepKamikazeWork |
2868 end |
2883 end |
2869 end; |
2884 end; |
2870 |
2885 |
2871 procedure doStepKamikaze(Gear: PGear); |
2886 procedure doStepKamikaze(Gear: PGear); |
2872 var |
2887 var |
2873 HHGear: PGear; |
2888 HHGear: PGear; |