# HG changeset patch # User koda # Date 1362538192 -3600 # Node ID 25b35de44234e64a681ff00fb23eeb99f552c357 # Parent bfcc09f2accc4d5c9186748a8bcf6da46eda4408# Parent e7df553193baf20ced177d9e9539ad86bc5bee87 merge diff -r bfcc09f2accc -r 25b35de44234 hedgewars/uGearsHedgehog.pas --- a/hedgewars/uGearsHedgehog.pas Wed Mar 06 03:46:22 2013 +0100 +++ b/hedgewars/uGearsHedgehog.pas Wed Mar 06 03:49:52 2013 +0100 @@ -1010,13 +1010,10 @@ Hedgehog: PHedgehog; begin Hedgehog:= HHGear^.Hedgehog; -//if isInMultiShoot and not AllInactive and (Hedgehog^.CurAmmoType in [amShotgun, amDEagle, amSniperRifle]) then HHGear^.Message:= HHGear^.Message and not gmAttack; -if isInMultiShoot and (Hedgehog^.CurAmmoType in [amShotgun, amDEagle, amSniperRifle]) then - begin - AllInactive:= true; - HHGear^.Message:= 0 - end -else AllInactive:= false; +if not isInMultiShoot then + AllInactive:= false +else if Hedgehog^.CurAmmoType in [amShotgun, amDEagle, amSniperRifle] then + HHGear^.Message:= 0; if (TurnTimeLeft = 0) or (HHGear^.Damage > 0) then begin diff -r bfcc09f2accc -r 25b35de44234 hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Wed Mar 06 03:46:22 2013 +0100 +++ b/hedgewars/uGearsRender.pas Wed Mar 06 03:49:52 2013 +0100 @@ -242,7 +242,7 @@ HatVisible:= false; if HH^.Effects[heFrozen] > 0 then - if HH^.Effects[heFrozen] < 256 then + if HH^.Effects[heFrozen] < 150000 then begin DrawHedgehog(sx, sy, sign, @@ -250,7 +250,9 @@ 0, 0); defaultPos:= false; - HatVisible:= true + if HH^.Effects[heFrozen] < 256 then + HatVisible:= true + else HatVisible:= false end else begin @@ -260,8 +262,7 @@ 4, 0); defaultPos:= false; - HatVisible:= false; - exit + HatVisible:= false end; @@ -944,11 +945,12 @@ DrawSprite(sprInvulnerable, sx - 24, sy - 24, 0); end; - if HH^.Effects[heFrozen] = HH^.Effects[heFrozen] and $FF then + if HH^.Effects[heFrozen] < 150000 then begin - /// Tint($00, $FF, $40, $40); (HH^.Effects[heFrozen] and $FF) - iceOffset:= trunc(HH^.Effects[heFrozen] / 256 * 64); - Tint($FF, $FF, $FF, $FF); + if HH^.Effects[heFrozen] < 150000 then + Tint($FF, $FF, $FF, min(255,127+HH^.Effects[heFrozen] div 1200)); + + iceOffset:= trunc(min(256,HH^.Effects[heFrozen]) / 256 * 64); r.x := 128; r.y := 128 - iceOffset; r.w := 64; @@ -956,7 +958,8 @@ //DrawTextureFromRect(sx-32, sy-iceoffset+32, @r, SpritesData[sprFrozenHog].texture); DrawTextureFromRectDir(sx-16+sign*2, sy+48-iceoffset, r.w, r.h, @r, HHTexture, sign); - Tint($FF, $FF, $FF, $FF); + if HH^.Effects[heFrozen] < 150000 then + Tint($FF, $FF, $FF, $FF); end;