Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: custom building placements #200

Merged
merged 5 commits into from
Dec 22, 2024
Merged

feat: custom building placements #200

merged 5 commits into from
Dec 22, 2024

Conversation

raspersc2
Copy link
Contributor

  • Currently supports user provided placements for PvZ natural wall.
  • Internal defaults for current map pool
  • Supports user provided building_placements.yml file for custom configuration
  • Integrates with existing ares functionality
  • Move warp in logic to own manager. PlacementManager already getting out of control, might need further refactoring in the future.
  • Added tutorial to docs for this new feature

Copy link

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/ares
   __init__.py20100% 
   behavior_exectioner.py15847%30–33, 47, 56–59
   cache.py160100% 
   config_parser.py271063%45, 48–49, 55, 76–90
   consts.py396499%178, 201, 205–206
   custom_bot_ai.py1014951%82–83, 130–139, 144–161, 187, 207–227, 241–288, 305–311, 319–332, 338, 362–363
   main.py40031820%80–114, 125, 128, 139–229, 241–257, 269–301, 355, 372–373, 377, 380–391, 407, 439–448, 462, 476–487, 501, 517, 530–531, 562–588, 610–626, 647–693, 702–718, 732–754, 763–765, 776–811, 829–838, 852–860, 891–976, 992, 1011, 1027–1045
src/ares/behaviors
   __init__.py10100% 
   behavior.py5180%30
src/ares/behaviors/combat
   __init__.py10100% 
   combat_maneuver.py14471%106–111
src/ares/behaviors/combat/group
   __init__.py70100% 
   a_move_group.py21767%42–54
   combat_group_behavior.py281161%35, 48, 52–62, 76–79
   group_use_ability.py24962%54–67
   keep_group_safe.py251060%45–58
   path_group_to_target.py391464%83–121
   stutter_group_back.py573146%55, 63–93, 98, 115–139
   stutter_group_forward.py422540%43–87
src/ares/behaviors/combat/individual
   __init__.py120100% 
   a_move.py130100% 
   attack_target.py130100% 
   combat_individual_behavior.py6183%34
   drop_cargo.py15473%45–49
   keep_unit_safe.py190100% 
   path_unit_to_target.py26196%71
   pick_up_cargo.py291066%58–77
   place_predictive_aoe.py61610%1–227
   shoot_target_in_range.py26869%52, 69–82
   stutter_unit_back.py261062%52–64
   stutter_unit_forward.py18667%44–50
   use_ability.py19668%52–60
   worker_kite_back.py18667%51–56
src/ares/behaviors/macro
   __init__.py140100% 
   addon_swap.py261254%50–91
   auto_supply.py562261%52–55, 62, 72, 79, 89–107, 126–133
   build_structure.py521865%85, 88, 91, 99, 118–123, 127–131, 134–152
   build_workers.py14471%37–49
   expansion_controller.py392049%55–71, 76–86, 104–123
   gas_building_controller.py251252%45–88
   macro_behavior.py6183%33
   macro_plan.py15567%48, 51–56
   mining.py21217318%90–252, 283, 288–318, 349–429, 469–544, 565–603, 609–616
   production_controller.py1299824%93–224, 237–257, 260–276, 281–298, 303–319
   restore_power.py432444%43–61, 78–89, 107–135
   spawn_controller.py1208529%83–230, 261–265, 292–301, 305–307, 313–323, 326–344
   tech_up.py775627%63–153, 174–219
   upgrade_controller.py402148%64–112
src/ares/build_runner
   __init__.py00100% 
   build_order_parser.py23118918%60–70, 163–164, 186–192, 218–219, 252–259, 264–333, 338–391, 396–401, 406–414, 433–450, 455–484, 487–532, 549–608
   build_order_runner.py33425125%126–172, 175–180, 183–184, 187–189, 211, 218, 229–248, 255–259, 272–473, 499–563, 581–587, 594–601, 604–617, 620–667, 680–690, 710–794
   build_order_step.py140100% 
src/ares/dicts
   __init__.py00100% 
   ability_cooldowns.py30100% 
   cost_dict.py30100% 
   does_not_use_larva.py30100% 
   enemy_detector_ranges.py40100% 
   enemy_vs_ground_static_defense_ranges.py30100% 
   pickup_range.py20100% 
   structure_to_building_size.py30100% 
   turn_rate.py440%1–7
   unit_alias.py20100% 
   unit_data.py30100% 
   unit_tech_requirement.py20100% 
   weight_costs.py30100% 
src/ares/managers
   __init__.py00100% 
   ability_tracker_manager.py30777%139–144, 232
   building_manager.py17812132%165–170, 192–321, 324–327, 330–335, 341–359, 390–464, 496, 521–527, 562, 589–594
   combat_sim_manager.py441761%150–157, 162–171
   data_manager.py804840%125, 129–134, 152–167, 171, 178–184, 189–194, 205–226, 229–235
   enemy_to_base_manager.py1004456%132, 168, 175, 194, 199, 217–222, 251–277, 292–295, 317–326, 335–349
   flying_structure_manager.py442152%62, 92, 128, 136–156, 159
   hub.py67987%195–196, 227–232, 247, 294
   intel_manager.py1154561%131–135, 199–215, 232–243, 260–286, 301, 315–331, 335, 344, 363–364, 367–368, 371–372, 389–390, 396–397, 406–407
   manager.py160100% 
   manager_mediator.py3307577%234, 327, 345, 362, 378, 399, 458, 549, 567, 585, 603, 621, 639, 657, 675, 694, 717, 739, 757, 774, 793, 811, 830, 892, 918, 984, 1007, 1128, 1145, 1177, 1209, 1230, 1246, 1301, 1363, 1381, 1441, 1466, 1487, 1545, 1569, 1597, 1637, 1661, 1683, 1701, 1719, 1735, 1751, 1767, 1783, 1826, 1842, 1858, 1875, 1892, 1911, 1943, 1964, 1980, 2013, 2029, 2083, 2103, 2121, 2141, 2157, 2173, 2189, 2238, 2288, 2308, 2330, 2348, 2422
   path_manager.py2349958%243, 254–273, 406–411, 442–453, 510–514, 532–535, 541, 568, 607–622, 641, 659–662, 675–774, 777, 807–884, 909, 926, 944–946, 953, 969–976, 1008, 1094–1095, 1115–1116, 1119, 1147–1149
   placement_manager.py45225843%195, 201, 204, 209, 258–263, 360, 370–387, 390–395, 401–434, 444, 458, 473, 490, 505, 518, 534, 540–666, 690–691, 711–736, 748–764, 777–797, 821–830, 850–859, 889, 918, 1020–1073, 1076–1100, 1136–1148, 1164–1197, 1243–1290, 1299–1332
   resource_manager.py28814151%153, 185–191, 255–258, 263, 304–312, 358–367, 370, 376, 383–452, 467, 471, 497–543, 566, 575–610, 686–693, 701–705, 720–723, 737–749, 763–765, 783–785, 812–828, 902, 905, 908, 934–940
   squad_manager.py18413228%51, 57, 60, 63, 66, 69–70, 168–170, 176–189, 216–241, 255, 281–293, 316–331, 346–360, 379–399, 402–406, 411–430, 436–447, 474–489, 503–525, 528–537
   terrain_manager.py1799249%190, 204–218, 234, 251–260, 272–275, 287, 302–305, 317, 329, 353, 365, 381–392, 443–469, 489–507, 563–583, 598–612, 625–639, 646–656
   unit_cache_manager.py1458641%160–166, 180–219, 232–238, 254–264, 275–281, 297–329, 342–351, 367–370, 386–390, 421, 459–469
   unit_memory_manager.py1778751%112–124, 172–211, 214, 239, 256–277, 293–294, 312–313, 333–337, 353–354, 370–372, 388–390, 412, 449, 492, 497–500, 521–523, 540–548, 569–589
   unit_role_manager.py862274%144–147, 161–165, 302, 377–392, 436
   warp_in_manager.py613543%84, 119–122, 125–198
TOTAL5814294849% 

Tests Skipped Failures Errors Time
198 0 💤 0 ❌ 0 🔥 2m 17s ⏱️

@raspersc2 raspersc2 merged commit db17068 into main Dec 22, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant