if (target instanceof HexEntity) { if (hex.contains(Terrain.SMOKE)) { toHit.addModifier(2, "target in smoke"); } return toHit; }
    public static ToHitData getTargetTerrainModifier(Game game, int entityId) {        final Entity target = game.getEntity(entityId);        final Hex hex = game.board.getHex(target.getPosition());                // you don't get terrain modifiers in midair        if (target.isMakingDfa()) {            return new ToHitData();        }                ToHitData toHit = new ToHitData();                if (hex.levelOf(Terrain.WATER) > 0        && target.getMovementType() != Entity.MovementType.HOVER) {            toHit.addModifier(-1, "target in water");        }        if (hex.contains(Terrain.SMOKE)) {            toHit.addModifier(2, "target in smoke");        } else if (hex.levelOf(Terrain.WOODS) == 1) {            toHit.addModifier(1, "target in light woods");        } else if (hex.levelOf(Terrain.WOODS) > 1) {            toHit.addModifier(2, "target in heavy woods");        }                return toHit;    }