load("//tools:copts.bzl", "COPTS")

cc_library(
    name = "archery_command",
    srcs = ["ArcheryCommand.cpp"],
    hdrs = ["ArcheryCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/util:combat_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "brave_water_command",
    srcs = ["BraveWaterCommand.cpp"],
    hdrs = ["BraveWaterCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:defensive_ambush_action",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "blow_bridge_command",
    srcs = ["BlowBridgeCommand.cpp"],
    hdrs = ["BlowBridgeCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "build_bridge_command",
    srcs = ["BuildBridgeCommand.cpp"],
    hdrs = ["BuildBridgeCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "charge_command",
    srcs = ["ChargeCommand.cpp"],
    hdrs = ["ChargeCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/util:combat_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
    ],
)

cc_library(
    name = "control_command",
    srcs = ["ControlCommand.cpp"],
    hdrs = ["ControlCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "dismiss_unit_command",
    srcs = ["DismissUnitCommand.cpp"],
    hdrs = ["DismissUnitCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "end_turn_command",
    srcs = ["EndTurnCommand.cpp"],
    hdrs = ["EndTurnCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/action_factories:meteor_cast_action_factory",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/fb_helpers:terrain_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:player_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "extinguish_fire_command",
    srcs = ["ExtinguishFireCommand.cpp"],
    hdrs = ["ExtinguishFireCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "fear_command",
    srcs = ["FearCommand.cpp"],
    hdrs = ["FearCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "flee_command",
    srcs = ["FleeCommand.cpp"],
    hdrs = ["FleeCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:percentile_roll_odds",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/fb_helpers:flatbuffer_wrapper",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "fortify_command",
    srcs = ["FortifyCommand.cpp"],
    hdrs = ["FortifyCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
    ],
)

cc_library(
    name = "freeze_water_command",
    srcs = ["FreezeWaterCommand.cpp"],
    hdrs = ["FreezeWaterCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/actions:undead_frozen_action",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "become_outlaw_command",
    srcs = ["BecomeOutlawCommand.cpp"],
    hdrs = ["BecomeOutlawCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:percentile_roll_odds",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
    ],
)

cc_library(
    name = "holy_wave_command",
    srcs = ["HolyWaveCommand.cpp"],
    hdrs = ["HolyWaveCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/action_result_applier",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:player_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/api:unit_view_cc_proto",
        "//src/main/protobuf/net/eagle0/shardok/common:command_type_cc_proto",
        "//src/main/protobuf/net/eagle0/shardok/common:hostility_cc_proto",
        "//src/main/protobuf/net/eagle0/shardok/common:player_info_cc_proto",
    ],
)

cc_library(
    name = "lightning_bolt_command",
    srcs = ["LightningBoltCommand.cpp"],
    hdrs = ["LightningBoltCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/fb_helpers:terrain_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/util:combat_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "hide_command",
    srcs = ["HideCommand.cpp"],
    hdrs = ["HideCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/util:combat_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:player_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "melee_command",
    srcs = ["MeleeCommand.cpp"],
    hdrs = ["MeleeCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/fb_helpers:terrain_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:combat_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:zone_of_control_calculator",
    ],
)

cc_library(
    name = "meteor_cancel_command",
    srcs = ["MeteorCancelCommand.cpp"],
    hdrs = ["MeteorCancelCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "meteor_start_command",
    srcs = ["MeteorStartCommand.cpp"],
    hdrs = ["MeteorStartCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:coords_set",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "meteor_target_command",
    srcs = ["MeteorTargetCommand.cpp"],
    hdrs = ["MeteorTargetCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "move_command",
    srcs = ["MoveCommand.cpp"],
    hdrs = ["MoveCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:battalion_type",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/action_result_applier",
        "//src/main/cpp/net/eagle0/shardok/library/actions:defensive_ambush_action",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:zone_of_control_calculator",
    ],
)

cc_library(
    name = "raise_dead_command",
    srcs = ["RaiseDeadCommand.cpp"],
    hdrs = ["RaiseDeadCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "reduce_command",
    srcs = ["ReduceCommand.cpp"],
    hdrs = ["ReduceCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/util:player_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "reinforce_command",
    srcs = ["ReinforceCommand.cpp"],
    hdrs = ["ReinforceCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
    ],
)

cc_library(
    name = "release_unit_command",
    srcs = ["ReleaseUnitCommand.cpp"],
    hdrs = ["ReleaseUnitCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
    ],
)

cc_library(
    name = "repair_command",
    srcs = ["RepairCommand.cpp"],
    hdrs = ["RepairCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
    ],
)

cc_library(
    name = "retreat_command",
    srcs = ["RetreatCommand.cpp"],
    hdrs = ["RetreatCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
    ],
)

cc_library(
    name = "scout_command",
    srcs = ["ScoutCommand.cpp"],
    hdrs = ["ScoutCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:coordinates",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/util:hex_map_utils",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
    ],
)

cc_library(
    name = "start_fire_command",
    srcs = ["StartFireCommand.cpp"],
    hdrs = ["StartFireCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "unit_rest_command",
    srcs = ["UnitRestCommand.cpp"],
    hdrs = ["UnitRestCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "unit_stop_command",
    srcs = ["UnitStopCommand.cpp"],
    hdrs = ["UnitStopCommand.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/ai:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:shardok_command",
        "//src/main/cpp/net/eagle0/shardok/library/actions:action_requires_hero_exception",
        "//src/main/cpp/net/eagle0/shardok/library/map:tile_modifier_with_coords",
        "//src/main/cpp/net/eagle0/shardok/library/unit",
        "//src/main/cpp/net/eagle0/shardok/library/util:action_result_flatbuffer_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/view_filters:odds_filter",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)
