Make mine active/hunting glow a bit more obvious. Add frozen sprite, increase ice beam mine "hit" radius a bit
--- a/hedgewars/uGearsHandlersMess.pas Thu May 24 13:04:56 2018 -0400
+++ b/hedgewars/uGearsHandlersMess.pas Sat May 26 10:54:17 2018 -0400
@@ -6156,7 +6156,7 @@
if (ndX <> dX) or (ndY <> dY) or
(((Target.X <> NoPointX) and (Target.X and LAND_WIDTH_MASK = 0) and
(Target.Y and LAND_HEIGHT_MASK = 0) and ((Land[Target.Y, Target.X] = 0)) and
- (not CheckCoordInWater(Target.X, Target.Y))) and (CheckGearNear(gtAirMine, int2hwFloat(Target.X),int2hwFloat(Target.Y), Gear^.Radius*2, Gear^.Radius*2) = nil)) then
+ (not CheckCoordInWater(Target.X, Target.Y))) and (CheckGearNear(gtAirMine, int2hwFloat(Target.X),int2hwFloat(Target.Y), Gear^.Radius*3, Gear^.Radius*3) = nil)) then
begin
updateTarget(Gear, ndX, ndY);
Timer := iceWaitCollision;
@@ -6172,7 +6172,7 @@
if Target.X <> NoPointX then
begin
CheckCollision(Gear);
- if ((State and gstCollision) <> 0) or (CheckGearNear(gtAirMine, int2hwFloat(Target.X),int2hwFloat(Target.Y), Gear^.Radius*3, Gear^.Radius*3) <> nil) then
+ if ((State and gstCollision) <> 0) or (CheckGearNear(gtAirMine, int2hwFloat(Target.X),int2hwFloat(Target.Y), Gear^.Radius*4, Gear^.Radius*4) <> nil) then
begin
if Timer = iceWaitCollision then
begin
--- a/hedgewars/uGearsRender.pas Thu May 24 13:04:56 2018 -0400
+++ b/hedgewars/uGearsRender.pas Sat May 26 10:54:17 2018 -0400
@@ -1207,7 +1207,8 @@
aAngle: real;
startX, endX, startY, endY: LongInt;
begin
- if Gear^.State and gstFrozen <> 0 then Tint($A0, $A0, $FF, $FF);
+ // airmine has its own sprite
+ if (Gear^.State and gstFrozen <> 0) and (Gear^.Kind <> gtAirMine) then Tint($A0, $A0, $FF, $FF);
//if Gear^.State and gstFrozen <> 0 then Tint(IceColor or $FF);
if Gear^.Target.X <> NoPointX then
if Gear^.AmmoType = amBee then
@@ -1289,7 +1290,10 @@
DrawSpriteRotated(sprMineOn, x, y, 0, Gear^.DirAngle)
else DrawSpriteRotated(sprMineDead, x, y, 0, Gear^.DirAngle);
end;
- gtAirMine: if (Gear^.State and gstTmpFlag = 0) or (Gear^.State and gstFrozen <> 0) then // mine is inactive
+ gtAirMine:
+ if (Gear^.State and gstFrozen <> 0) then
+ DrawSprite(sprFrozenAirMine, x-16, y-16, 15)
+ else if (Gear^.State and gstTmpFlag = 0) then // mine is inactive
begin
if (Gear^.State and gstTmpFlag = 0) then Tint(150,150,150,255);
DrawSprite(sprAirMine, x-16, y-16, 15);
--- a/hedgewars/uTypes.pas Thu May 24 13:04:56 2018 -0400
+++ b/hedgewars/uTypes.pas Sat May 26 10:54:17 2018 -0400
@@ -90,7 +90,7 @@
sprSDFlake, sprSDWater, sprSDCloud, sprSDSplash, sprSDDroplet, sprTardis,
sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun,
sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprCustom3, sprCustom4,
- sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprAirMine, sprHandAirMine,
+ sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprFrozenAirMine, sprAirMine, sprHandAirMine,
sprFlakeL, sprSDFlakeL, sprCloudL, sprSDCloudL, sprDuck, sprHandDuck, sprMinigun
);
--- a/hedgewars/uVariables.pas Thu May 24 13:04:56 2018 -0400
+++ b/hedgewars/uVariables.pas Sat May 26 10:54:17 2018 -0400
@@ -761,6 +761,8 @@
Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom7
(FileName: 'custom8'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil;
Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom8
+ (FileName: 'FrozenAirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
+ Width: 32; Height: 32; imageWidth: 32; imageHeight: 32; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprFrozenAirMine
(FileName: 'AirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprAirMine
(FileName: 'amAirMine'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
Binary file share/hedgewars/Data/Graphics/AirMine.png has changed
Binary file share/hedgewars/Data/Graphics/FrozenAirMine.png has changed