diff -r c6d308f5a431 -r 95345f98da19 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Mon May 17 15:50:48 2010 +0000 +++ b/hedgewars/GSHandlers.inc Tue May 18 13:09:57 2010 +0000 @@ -282,6 +282,7 @@ i, x, y: LongInt; dX, dY: hwFloat; Fire: PGear; + vg: PVisualGear; begin AllInactive := false; @@ -304,6 +305,13 @@ doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 20, EXPLDontDraw or EXPLNoGfx); end; + if (Gear^.Kind = gtGasBomb) and ((GameTicks mod 200) = 0) then + begin + vg:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeWhite); + if vg <> nil then + vg^.Tint:= $FFC0C000; + end; + if Gear^.Timer = 0 then begin case Gear^.Kind of @@ -349,7 +357,7 @@ if i mod 2 <> 0 then Fire^.State := Fire^.State or gsttmpFlag; end end; -gtGasBomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound or EXPLPoisoned); +gtGasBomb: doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 50, EXPLAutoSound or EXPLPoisoned, $FFFFC000); end; DeleteGear(Gear); exit @@ -3105,8 +3113,7 @@ if (Gear^.State and gstCollision) <> 0 then begin - doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 10, EXPLPoisoned or EXPLNoGfx); - doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 10, EXPLPoisoned or EXPLNoGfx); + doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 11, EXPLPoisoned, $C000FFC0); PlaySound(sndEggBreak); AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtEgg); vg := AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtEgg);