equal
deleted
inserted
replaced
2856 begin |
2856 begin |
2857 State:= State and not gstAttacking; |
2857 State:= State and not gstAttacking; |
2858 Message:= Message and not (gm_Attack or gm_Up or gm_Precise or gm_Left or gm_Right) |
2858 Message:= Message and not (gm_Attack or gm_Up or gm_Precise or gm_Left or gm_Right) |
2859 end |
2859 end |
2860 end; |
2860 end; |
|
2861 |
|
2862 //////////////////////////////////////////////////////////////////////////////// |
|
2863 procedure doStepBigExplosionWork(Gear: PGear); |
|
2864 var maxMovement: LongInt; |
|
2865 begin |
|
2866 inc(Gear^.Timer); |
|
2867 if (Gear^.Timer and 5) = 0 then |
|
2868 begin |
|
2869 maxMovement := max(1, 13 - ((Gear^.Timer * 15) div 250)); |
|
2870 ShakeCamera(maxMovement); |
|
2871 end; |
|
2872 if Gear^.Timer > 250 then DeleteGear(Gear); |
|
2873 end; |
|
2874 |
|
2875 procedure doStepBigExplosion(Gear: PGear); |
|
2876 var i: LongWord; |
|
2877 begin |
|
2878 AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeRing); |
|
2879 for i:= 0 to 46 do AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtFire); |
|
2880 for i:= 0 to 15 do AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtExplPart); |
|
2881 for i:= 0 to 15 do AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtExplPart2); |
|
2882 Gear^.doStep:= @doStepBigExplosionWork |
|
2883 end; |