sc2ai 0.6.5 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/data.json +1 -1
- data/data/data_readable.json +648 -147
- data/data/setup/setup.SC2Replay +0 -0
- data/data/stableid.json +2448 -1022
- data/data/versions.json +27 -0
- data/docker_build/Dockerfile.ruby +1 -1
- data/lib/sc2ai/api/ability_id.rb +50 -745
- data/lib/sc2ai/api/buff_id.rb +6 -1
- data/lib/sc2ai/api/data.rb +0 -6
- data/lib/sc2ai/api/tech_tree_data.rb +29 -38
- data/lib/sc2ai/api/unit_type_id.rb +32 -6
- data/lib/sc2ai/api/upgrade_id.rb +7 -188
- data/lib/sc2ai/cli/cli.rb +19 -11
- data/lib/sc2ai/cli/new.rb +6 -3
- data/lib/sc2ai/connection/requests.rb +7 -2
- data/lib/sc2ai/connection.rb +14 -5
- data/lib/sc2ai/local_play/client/configurable_options.rb +1 -1
- data/lib/sc2ai/local_play/client.rb +29 -12
- data/lib/sc2ai/local_play/client_manager.rb +1 -0
- data/lib/sc2ai/local_play/map_file.rb +3 -0
- data/lib/sc2ai/player/actions.rb +55 -0
- data/lib/sc2ai/player/game_state.rb +1 -0
- data/lib/sc2ai/player/geo.rb +80 -5
- data/lib/sc2ai/player/units.rb +3 -12
- data/lib/sc2ai/player.rb +23 -36
- data/lib/sc2ai/ports.rb +15 -3
- data/lib/sc2ai/protocol/extensions/position.rb +15 -3
- data/lib/sc2ai/protocol/extensions/unit.rb +64 -19
- data/lib/sc2ai/step_timer.rb +134 -0
- data/lib/sc2ai/unit_group/action_ext.rb +1 -1
- data/lib/sc2ai/unit_group/filter_ext.rb +152 -10
- data/lib/sc2ai/unit_group.rb +4 -4
- data/lib/sc2ai/version.rb +1 -1
- data/lib/sc2ai.rb +3 -4
- data/lib/templates/new/run_example_match.rb.tt +1 -1
- data/sig/sc2ai.rbs +377 -965
- metadata +41 -76
data/lib/sc2ai/api/buff_id.rb
CHANGED
@@ -295,7 +295,7 @@ module Api
|
|
295
295
|
ACCELERATIONZONETEMPORALFIELD = 289
|
296
296
|
ACCELERATIONZONEFLYINGTEMPORALFIELD = 290
|
297
297
|
INHIBITORZONEFLYINGTEMPORALFIELD = 291
|
298
|
-
|
298
|
+
DUMMYBUFF000 = 292
|
299
299
|
INHIBITORZONETEMPORALFIELD = 293
|
300
300
|
CLOAKFIELD = 294
|
301
301
|
RESONATINGGLAIVESPHASESHIFT = 295
|
@@ -305,5 +305,10 @@ module Api
|
|
305
305
|
TAKENDAMAGE = 299
|
306
306
|
RAVENSCRAMBLERMISSILECARRIER = 300
|
307
307
|
BATTERYOVERCHARGE = 301
|
308
|
+
DUMMYBUFF002 = 302
|
309
|
+
DUMMYBUFF001 = 303
|
310
|
+
DUMMYBUFF003 = 304
|
311
|
+
DUMMYBUFF004 = 305
|
312
|
+
DUMMYBUFF005 = 306
|
308
313
|
end
|
309
314
|
end
|
data/lib/sc2ai/api/data.rb
CHANGED
@@ -118,16 +118,10 @@ module Sc2
|
|
118
118
|
units.transform_values! do |unit_data|
|
119
119
|
# Cost corrections, hardcoded.
|
120
120
|
case unit_data.unit_id
|
121
|
-
when Api::UnitTypeId::CYCLONE # TERRAN - UNITS
|
122
|
-
unit_data.mineral_cost = 125
|
123
|
-
unit_data.vespene_cost = 50
|
124
|
-
unit_data.food_required = 2
|
125
121
|
when Api::UnitTypeId::LIBERATOR
|
126
122
|
unit_data.vespene_cost = 125
|
127
123
|
when Api::UnitTypeId::MULE
|
128
124
|
unit_data.mineral_cost = 0
|
129
|
-
when Api::UnitTypeId::RAVEN
|
130
|
-
unit_data.vespene_cost = 150
|
131
125
|
when Api::UnitTypeId::AUTOTURRET # TERRAN - STRUCTURES
|
132
126
|
unit_data.mineral_cost = 0
|
133
127
|
when Api::UnitTypeId::ORBITALCOMMAND
|
@@ -39,7 +39,6 @@ module Api
|
|
39
39
|
requires_placement_position: true},
|
40
40
|
Api::UnitTypeId::HELLION =>
|
41
41
|
{ability: Api::AbilityId::FACTORYTRAIN_HELLION},
|
42
|
-
Api::UnitTypeId::CYCLONE => {ability: Api::AbilityId::TRAIN_CYCLONE},
|
43
42
|
Api::UnitTypeId::WIDOWMINE =>
|
44
43
|
{ability: Api::AbilityId::FACTORYTRAIN_WIDOWMINE},
|
45
44
|
Api::UnitTypeId::SIEGETANK =>
|
@@ -51,7 +50,9 @@ module Api
|
|
51
50
|
required_building: Api::UnitTypeId::ARMORY},
|
52
51
|
Api::UnitTypeId::HELLIONTANK =>
|
53
52
|
{ability: Api::AbilityId::TRAIN_HELLBAT,
|
54
|
-
required_building: Api::UnitTypeId::ARMORY}
|
53
|
+
required_building: Api::UnitTypeId::ARMORY},
|
54
|
+
Api::UnitTypeId::CYCLONE =>
|
55
|
+
{ability: Api::AbilityId::TRAIN_CYCLONE, requires_techlab: true}},
|
55
56
|
Api::UnitTypeId::STARPORT =>
|
56
57
|
{Api::UnitTypeId::STARPORTTECHLAB =>
|
57
58
|
{ability: Api::AbilityId::BUILD_TECHLAB_STARPORT,
|
@@ -276,10 +277,6 @@ module Api
|
|
276
277
|
Api::UnitTypeId::QUEEN =>
|
277
278
|
{ability: Api::AbilityId::TRAINQUEEN_QUEEN,
|
278
279
|
required_building: Api::UnitTypeId::SPAWNINGPOOL}},
|
279
|
-
Api::UnitTypeId::CREEPTUMOR =>
|
280
|
-
{Api::UnitTypeId::CREEPTUMOR =>
|
281
|
-
{ability: Api::AbilityId::BUILD_CREEPTUMOR_TUMOR,
|
282
|
-
requires_placement_position: true}},
|
283
280
|
Api::UnitTypeId::SPIRE =>
|
284
281
|
{Api::UnitTypeId::GREATERSPIRE =>
|
285
282
|
{ability: Api::AbilityId::UPGRADETOGREATERSPIRE_GREATERSPIRE,
|
@@ -421,10 +418,6 @@ module Api
|
|
421
418
|
Api::UnitTypeId::CREEPTUMORBURROWED =>
|
422
419
|
{Api::UnitTypeId::CREEPTUMOR =>
|
423
420
|
{ability: Api::AbilityId::BUILD_CREEPTUMOR,
|
424
|
-
requires_placement_position: true}},
|
425
|
-
Api::UnitTypeId::CREEPTUMORQUEEN =>
|
426
|
-
{Api::UnitTypeId::CREEPTUMOR =>
|
427
|
-
{ability: Api::AbilityId::BUILD_CREEPTUMOR_TUMOR,
|
428
421
|
requires_placement_position: true}},
|
429
422
|
Api::UnitTypeId::LARVA =>
|
430
423
|
{Api::UnitTypeId::DRONE => {ability: Api::AbilityId::LARVATRAIN_DRONE},
|
@@ -565,8 +558,8 @@ module Api
|
|
565
558
|
Api::UnitTypeId::FACTORYTECHLAB =>
|
566
559
|
{Api::UpgradeId::HIGHCAPACITYBARRELS =>
|
567
560
|
{ability: Api::AbilityId::RESEARCH_INFERNALPREIGNITER},
|
568
|
-
Api::UpgradeId::
|
569
|
-
{ability: Api::AbilityId::
|
561
|
+
Api::UpgradeId::CYCLONELOCKONDAMAGEUPGRADE =>
|
562
|
+
{ability: Api::AbilityId::RESEARCH_CYCLONELOCKONDAMAGE},
|
570
563
|
Api::UpgradeId::DRILLCLAWS =>
|
571
564
|
{ability: Api::AbilityId::RESEARCH_DRILLINGCLAWS,
|
572
565
|
required_building: Api::UnitTypeId::ARMORY},
|
@@ -729,7 +722,10 @@ module Api
|
|
729
722
|
{Api::UpgradeId::EVOLVEGROOVEDSPINES =>
|
730
723
|
{ability: Api::AbilityId::RESEARCH_GROOVEDSPINES},
|
731
724
|
Api::UpgradeId::EVOLVEMUSCULARAUGMENTS =>
|
732
|
-
{ability: Api::AbilityId::RESEARCH_MUSCULARAUGMENTS}
|
725
|
+
{ability: Api::AbilityId::RESEARCH_MUSCULARAUGMENTS},
|
726
|
+
Api::UpgradeId::FRENZY =>
|
727
|
+
{ability: Api::AbilityId::HYDRALISKDENRESEARCH_RESEARCHFRENZY,
|
728
|
+
required_building: Api::UnitTypeId::HIVE}},
|
733
729
|
Api::UnitTypeId::SPIRE =>
|
734
730
|
{Api::UpgradeId::ZERGFLYERWEAPONSLEVEL1 =>
|
735
731
|
{ability: Api::AbilityId::RESEARCH_ZERGFLYERATTACKLEVEL1},
|
@@ -832,11 +828,11 @@ module Api
|
|
832
828
|
Api::UnitTypeId::FACTORYREACTOR =>
|
833
829
|
[Api::UnitTypeId::FACTORY, Api::UnitTypeId::FACTORYFLYING],
|
834
830
|
Api::UnitTypeId::HELLION => [Api::UnitTypeId::FACTORY],
|
835
|
-
Api::UnitTypeId::CYCLONE => [Api::UnitTypeId::FACTORY],
|
836
831
|
Api::UnitTypeId::WIDOWMINE => [Api::UnitTypeId::FACTORY],
|
837
832
|
Api::UnitTypeId::SIEGETANK => [Api::UnitTypeId::FACTORY],
|
838
833
|
Api::UnitTypeId::THOR => [Api::UnitTypeId::FACTORY],
|
839
834
|
Api::UnitTypeId::HELLIONTANK => [Api::UnitTypeId::FACTORY],
|
835
|
+
Api::UnitTypeId::CYCLONE => [Api::UnitTypeId::FACTORY],
|
840
836
|
Api::UnitTypeId::STARPORTTECHLAB =>
|
841
837
|
[Api::UnitTypeId::STARPORT, Api::UnitTypeId::STARPORTFLYING],
|
842
838
|
Api::UnitTypeId::STARPORTREACTOR =>
|
@@ -907,11 +903,6 @@ module Api
|
|
907
903
|
[Api::UnitTypeId::HATCHERY,
|
908
904
|
Api::UnitTypeId::LAIR,
|
909
905
|
Api::UnitTypeId::HIVE],
|
910
|
-
Api::UnitTypeId::CREEPTUMOR =>
|
911
|
-
[Api::UnitTypeId::CREEPTUMOR,
|
912
|
-
Api::UnitTypeId::QUEEN,
|
913
|
-
Api::UnitTypeId::CREEPTUMORBURROWED,
|
914
|
-
Api::UnitTypeId::CREEPTUMORQUEEN],
|
915
906
|
Api::UnitTypeId::GREATERSPIRE => [Api::UnitTypeId::SPIRE],
|
916
907
|
Api::UnitTypeId::NYDUSCANAL => [Api::UnitTypeId::NYDUSNETWORK],
|
917
908
|
Api::UnitTypeId::HIVE => [Api::UnitTypeId::LAIR],
|
@@ -936,6 +927,8 @@ module Api
|
|
936
927
|
Api::UnitTypeId::RAVAGER => [Api::UnitTypeId::ROACH],
|
937
928
|
Api::UnitTypeId::BROODLORD => [Api::UnitTypeId::CORRUPTOR],
|
938
929
|
Api::UnitTypeId::CREEPTUMORQUEEN => [Api::UnitTypeId::QUEEN],
|
930
|
+
Api::UnitTypeId::CREEPTUMOR =>
|
931
|
+
[Api::UnitTypeId::QUEEN, Api::UnitTypeId::CREEPTUMORBURROWED],
|
939
932
|
Api::UnitTypeId::CHANGELING =>
|
940
933
|
[Api::UnitTypeId::OVERSEER, Api::UnitTypeId::OVERSEERSIEGEMODE],
|
941
934
|
Api::UnitTypeId::DRONE => [Api::UnitTypeId::LARVA],
|
@@ -991,7 +984,8 @@ module Api
|
|
991
984
|
Api::UpgradeId::SHIELDWALL => Api::UnitTypeId::BARRACKSTECHLAB,
|
992
985
|
Api::UpgradeId::PUNISHERGRENADES => Api::UnitTypeId::BARRACKSTECHLAB,
|
993
986
|
Api::UpgradeId::HIGHCAPACITYBARRELS => Api::UnitTypeId::FACTORYTECHLAB,
|
994
|
-
Api::UpgradeId::
|
987
|
+
Api::UpgradeId::CYCLONELOCKONDAMAGEUPGRADE =>
|
988
|
+
Api::UnitTypeId::FACTORYTECHLAB,
|
995
989
|
Api::UpgradeId::DRILLCLAWS => Api::UnitTypeId::FACTORYTECHLAB,
|
996
990
|
Api::UpgradeId::SMARTSERVOS => Api::UnitTypeId::FACTORYTECHLAB,
|
997
991
|
Api::UpgradeId::BANSHEECLOAK => Api::UnitTypeId::STARPORTTECHLAB,
|
@@ -1042,6 +1036,7 @@ module Api
|
|
1042
1036
|
Api::UnitTypeId::EVOLUTIONCHAMBER,
|
1043
1037
|
Api::UpgradeId::EVOLVEGROOVEDSPINES => Api::UnitTypeId::HYDRALISKDEN,
|
1044
1038
|
Api::UpgradeId::EVOLVEMUSCULARAUGMENTS => Api::UnitTypeId::HYDRALISKDEN,
|
1039
|
+
Api::UpgradeId::FRENZY => Api::UnitTypeId::HYDRALISKDEN,
|
1045
1040
|
Api::UpgradeId::ZERGFLYERWEAPONSLEVEL1 => Api::UnitTypeId::SPIRE,
|
1046
1041
|
Api::UpgradeId::ZERGFLYERARMORSLEVEL1 => Api::UnitTypeId::SPIRE,
|
1047
1042
|
Api::UpgradeId::ZERGFLYERWEAPONSLEVEL2 => Api::UnitTypeId::SPIRE,
|
@@ -1181,11 +1176,11 @@ module Api
|
|
1181
1176
|
Api::AbilityId::ATTACK_ATTACK,
|
1182
1177
|
Api::AbilityId::SMART],
|
1183
1178
|
Api::UnitTypeId::BUNKER =>
|
1184
|
-
[Api::AbilityId::
|
1185
|
-
Api::AbilityId::RALLY_BUILDING,
|
1179
|
+
[Api::AbilityId::RALLY_BUILDING,
|
1186
1180
|
Api::AbilityId::LOAD_BUNKER,
|
1181
|
+
Api::AbilityId::SALVAGEEFFECT_SALVAGE,
|
1187
1182
|
Api::AbilityId::SMART],
|
1188
|
-
Api::UnitTypeId::SENSORTOWER => [],
|
1183
|
+
Api::UnitTypeId::SENSORTOWER => [Api::AbilityId::SALVAGEEFFECT_SALVAGE],
|
1189
1184
|
Api::UnitTypeId::GHOSTACADEMY =>
|
1190
1185
|
[Api::AbilityId::RESEARCH_PERSONALCLOAKING, Api::AbilityId::BUILD_NUKE],
|
1191
1186
|
Api::UnitTypeId::FACTORY =>
|
@@ -1194,12 +1189,12 @@ module Api
|
|
1194
1189
|
Api::AbilityId::BUILD_REACTOR_FACTORY,
|
1195
1190
|
Api::AbilityId::LIFT_FACTORY,
|
1196
1191
|
Api::AbilityId::FACTORYTRAIN_HELLION,
|
1197
|
-
Api::AbilityId::TRAIN_CYCLONE,
|
1198
1192
|
Api::AbilityId::FACTORYTRAIN_WIDOWMINE,
|
1199
1193
|
Api::AbilityId::SMART,
|
1200
1194
|
Api::AbilityId::FACTORYTRAIN_SIEGETANK,
|
1201
1195
|
Api::AbilityId::FACTORYTRAIN_THOR,
|
1202
|
-
Api::AbilityId::TRAIN_HELLBAT
|
1196
|
+
Api::AbilityId::TRAIN_HELLBAT,
|
1197
|
+
Api::AbilityId::TRAIN_CYCLONE],
|
1203
1198
|
Api::UnitTypeId::STARPORT =>
|
1204
1199
|
[Api::AbilityId::RALLY_BUILDING,
|
1205
1200
|
Api::AbilityId::BUILD_TECHLAB_STARPORT,
|
@@ -1274,7 +1269,7 @@ module Api
|
|
1274
1269
|
Api::UnitTypeId::BARRACKSREACTOR => [],
|
1275
1270
|
Api::UnitTypeId::FACTORYTECHLAB =>
|
1276
1271
|
[Api::AbilityId::RESEARCH_INFERNALPREIGNITER,
|
1277
|
-
Api::AbilityId::
|
1272
|
+
Api::AbilityId::RESEARCH_CYCLONELOCKONDAMAGE,
|
1278
1273
|
Api::AbilityId::RESEARCH_DRILLINGCLAWS,
|
1279
1274
|
Api::AbilityId::RESEARCH_SMARTSERVOS],
|
1280
1275
|
Api::UnitTypeId::FACTORYREACTOR => [],
|
@@ -1427,9 +1422,9 @@ module Api
|
|
1427
1422
|
Api::UnitTypeId::NEXUS =>
|
1428
1423
|
[Api::AbilityId::RALLY_NEXUS,
|
1429
1424
|
Api::AbilityId::NEXUSTRAIN_PROBE,
|
1430
|
-
Api::AbilityId::BATTERYOVERCHARGE_BATTERYOVERCHARGE,
|
1431
1425
|
Api::AbilityId::EFFECT_CHRONOBOOSTENERGYCOST,
|
1432
1426
|
Api::AbilityId::EFFECT_MASSRECALL_NEXUS,
|
1427
|
+
Api::AbilityId::ENERGYRECHARGE_ENERGYRECHARGE,
|
1433
1428
|
Api::AbilityId::SMART,
|
1434
1429
|
Api::AbilityId::NEXUSTRAINMOTHERSHIP_MOTHERSHIP],
|
1435
1430
|
Api::UnitTypeId::PYLON => [],
|
@@ -1642,8 +1637,7 @@ module Api
|
|
1642
1637
|
Api::AbilityId::SMART,
|
1643
1638
|
Api::AbilityId::UPGRADETOLAIR_LAIR,
|
1644
1639
|
Api::AbilityId::TRAINQUEEN_QUEEN],
|
1645
|
-
Api::UnitTypeId::CREEPTUMOR =>
|
1646
|
-
[Api::AbilityId::BUILD_CREEPTUMOR_TUMOR, Api::AbilityId::SMART],
|
1640
|
+
Api::UnitTypeId::CREEPTUMOR => [],
|
1647
1641
|
Api::UnitTypeId::EXTRACTOR => [],
|
1648
1642
|
Api::UnitTypeId::SPAWNINGPOOL =>
|
1649
1643
|
[Api::AbilityId::RESEARCH_ZERGLINGMETABOLICBOOST,
|
@@ -1660,7 +1654,8 @@ module Api
|
|
1660
1654
|
Api::AbilityId::RESEARCH_ZERGMISSILEWEAPONSLEVEL3],
|
1661
1655
|
Api::UnitTypeId::HYDRALISKDEN =>
|
1662
1656
|
[Api::AbilityId::RESEARCH_GROOVEDSPINES,
|
1663
|
-
Api::AbilityId::RESEARCH_MUSCULARAUGMENTS
|
1657
|
+
Api::AbilityId::RESEARCH_MUSCULARAUGMENTS,
|
1658
|
+
Api::AbilityId::HYDRALISKDENRESEARCH_RESEARCHFRENZY],
|
1664
1659
|
Api::UnitTypeId::SPIRE =>
|
1665
1660
|
[Api::AbilityId::RESEARCH_ZERGFLYERATTACKLEVEL1,
|
1666
1661
|
Api::AbilityId::RESEARCH_ZERGFLYERARMORLEVEL1,
|
@@ -1770,7 +1765,8 @@ module Api
|
|
1770
1765
|
Api::AbilityId::ATTACK_ATTACK,
|
1771
1766
|
Api::AbilityId::SMART,
|
1772
1767
|
Api::AbilityId::BURROWDOWN_HYDRALISK,
|
1773
|
-
Api::AbilityId::MORPH_LURKER
|
1768
|
+
Api::AbilityId::MORPH_LURKER,
|
1769
|
+
Api::AbilityId::HYDRALISKFRENZY_HYDRALISKFRENZY],
|
1774
1770
|
Api::UnitTypeId::MUTALISK =>
|
1775
1771
|
[Api::AbilityId::STOP_STOP,
|
1776
1772
|
Api::AbilityId::MOVE_MOVE,
|
@@ -1914,8 +1910,7 @@ module Api
|
|
1914
1910
|
[Api::AbilityId::BUILD_CREEPTUMOR_TUMOR,
|
1915
1911
|
Api::AbilityId::SMART,
|
1916
1912
|
Api::AbilityId::BUILD_CREEPTUMOR],
|
1917
|
-
Api::UnitTypeId::CREEPTUMORQUEEN =>
|
1918
|
-
[Api::AbilityId::BUILD_CREEPTUMOR_TUMOR, Api::AbilityId::SMART],
|
1913
|
+
Api::UnitTypeId::CREEPTUMORQUEEN => [],
|
1919
1914
|
Api::UnitTypeId::SPINECRAWLERUPROOTED =>
|
1920
1915
|
[Api::AbilityId::STOP_STOP,
|
1921
1916
|
Api::AbilityId::MOVE_MOVE,
|
@@ -1955,11 +1950,7 @@ module Api
|
|
1955
1950
|
Api::AbilityId::EFFECT_GHOSTSNIPE,
|
1956
1951
|
Api::AbilityId::SMART,
|
1957
1952
|
Api::AbilityId::BEHAVIOR_CLOAKON_GHOST],
|
1958
|
-
Api::UnitTypeId::INFESTEDTERRANSEGG =>
|
1959
|
-
[Api::AbilityId::MOVE_MOVE,
|
1960
|
-
Api::AbilityId::PATROL_PATROL,
|
1961
|
-
Api::AbilityId::HOLDPOSITION_HOLD,
|
1962
|
-
Api::AbilityId::SMART],
|
1953
|
+
Api::UnitTypeId::INFESTEDTERRANSEGG => [],
|
1963
1954
|
Api::UnitTypeId::LARVA =>
|
1964
1955
|
[Api::AbilityId::LARVATRAIN_DRONE,
|
1965
1956
|
Api::AbilityId::LARVATRAIN_OVERLORD,
|
@@ -2012,11 +2012,37 @@ module Api
|
|
2012
2012
|
MINERALFIELD450 = 1996
|
2013
2013
|
MINERALFIELDOPAQUE = 1997
|
2014
2014
|
MINERALFIELDOPAQUE900 = 1998
|
2015
|
-
|
2016
|
-
|
2017
|
-
|
2018
|
-
|
2019
|
-
|
2020
|
-
|
2015
|
+
MECHAZERGLINGACGLUESCREENDUMMY_2 = 1999
|
2016
|
+
MECHABANELINGACGLUESCREENDUMMY_2 = 2000
|
2017
|
+
MECHAHYDRALISKACGLUESCREENDUMMY_2 = 2001
|
2018
|
+
MECHAINFESTORACGLUESCREENDUMMY_2 = 2002
|
2019
|
+
MECHACORRUPTORACGLUESCREENDUMMY_2 = 2003
|
2020
|
+
MECHAULTRALISKACGLUESCREENDUMMY_2 = 2004
|
2021
|
+
MECHAOVERSEERACGLUESCREENDUMMY_2 = 2005
|
2022
|
+
MECHALURKERACGLUESCREENDUMMY_2 = 2006
|
2023
|
+
MECHABATTLECARRIERLORDACGLUESCREENDUMMY_2 = 2007
|
2024
|
+
MECHASPINECRAWLERACGLUESCREENDUMMY_2 = 2008
|
2025
|
+
MECHASPORECRAWLERACGLUESCREENDUMMY_2 = 2009
|
2026
|
+
COLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN = 2010
|
2027
|
+
COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN = 2011
|
2028
|
+
COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFTGREEN = 2012
|
2029
|
+
COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHTGREEN = 2013
|
2030
|
+
COLLAPSIBLEROCKTOWERRAMPLEFTGREEN = 2014
|
2031
|
+
COLLAPSIBLEROCKTOWERRAMPRIGHTGREEN = 2015
|
2032
|
+
DUMMYUNIT000 = 2016
|
2033
|
+
DUMMYUNIT001 = 2017
|
2034
|
+
DUMMYUNIT002 = 2018
|
2035
|
+
DUMMYUNIT003 = 2019
|
2036
|
+
DUMMYUNIT004 = 2020
|
2037
|
+
DUMMYUNIT005 = 2021
|
2038
|
+
DUMMYUNIT006 = 2022
|
2039
|
+
DUMMYUNIT007 = 2023
|
2040
|
+
DUMMYUNIT008 = 2024
|
2041
|
+
DUMMYUNIT009 = 2025
|
2042
|
+
DUMMYUNIT010 = 2026
|
2043
|
+
DUMMYUNIT011 = 2027
|
2044
|
+
DUMMYUNIT012 = 2028
|
2045
|
+
DUMMYUNIT013 = 2029
|
2046
|
+
DUMMYUNIT014 = 2030
|
2021
2047
|
end
|
2022
2048
|
end
|
data/lib/sc2ai/api/upgrade_id.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
module Api
|
4
4
|
# Constant reference of Upgrade ids
|
5
5
|
module UpgradeId
|
6
|
-
NULL = 0
|
7
6
|
CARRIERLAUNCHSPEEDUPGRADE = 1
|
8
7
|
GLIALRECONSTITUTION = 2
|
9
8
|
TUNNELINGCLAWS = 3
|
@@ -21,7 +20,6 @@ module Api
|
|
21
20
|
STIMPACK = 15
|
22
21
|
SHIELDWALL = 16
|
23
22
|
PUNISHERGRENADES = 17
|
24
|
-
SIEGETECH = 18
|
25
23
|
HIGHCAPACITYBARRELS = 19
|
26
24
|
BANSHEECLOAK = 20
|
27
25
|
MEDIVACCADUCEUSREACTOR = 21
|
@@ -29,7 +27,6 @@ module Api
|
|
29
27
|
HUNTERSEEKER = 23
|
30
28
|
DURABLEMATERIALS = 24
|
31
29
|
PERSONALCLOAKING = 25
|
32
|
-
GHOSTMOEBIUSREACTOR = 26
|
33
30
|
TERRANVEHICLEARMORSLEVEL1 = 27
|
34
31
|
TERRANVEHICLEARMORSLEVEL2 = 28
|
35
32
|
TERRANVEHICLEARMORSLEVEL3 = 29
|
@@ -54,7 +51,6 @@ module Api
|
|
54
51
|
OBSERVERGRAVITICBOOSTER = 48
|
55
52
|
GRAVITICDRIVE = 49
|
56
53
|
EXTENDEDTHERMALLANCE = 50
|
57
|
-
HIGHTEMPLARKHAYDARINAMULET = 51
|
58
54
|
PSISTORMTECH = 52
|
59
55
|
ZERGMELEEWEAPONSLEVEL1 = 53
|
60
56
|
ZERGMELEEWEAPONSLEVEL2 = 54
|
@@ -70,17 +66,14 @@ module Api
|
|
70
66
|
BURROW = 64
|
71
67
|
ZERGLINGATTACKSPEED = 65
|
72
68
|
ZERGLINGMOVEMENTSPEED = 66
|
73
|
-
HYDRALISKSPEED = 67
|
74
69
|
ZERGFLYERWEAPONSLEVEL1 = 68
|
75
70
|
ZERGFLYERWEAPONSLEVEL2 = 69
|
76
71
|
ZERGFLYERWEAPONSLEVEL3 = 70
|
77
72
|
ZERGFLYERARMORSLEVEL1 = 71
|
78
73
|
ZERGFLYERARMORSLEVEL2 = 72
|
79
74
|
ZERGFLYERARMORSLEVEL3 = 73
|
80
|
-
INFESTORENERGYUPGRADE = 74
|
81
75
|
CENTRIFICALHOOKS = 75
|
82
76
|
BATTLECRUISERENABLESPECIALIZATIONS = 76
|
83
|
-
BATTLECRUISERBEHEMOTHREACTOR = 77
|
84
77
|
PROTOSSAIRWEAPONSLEVEL1 = 78
|
85
78
|
PROTOSSAIRWEAPONSLEVEL2 = 79
|
86
79
|
PROTOSSAIRWEAPONSLEVEL3 = 80
|
@@ -92,51 +85,24 @@ module Api
|
|
92
85
|
CHARGE = 86
|
93
86
|
BLINKTECH = 87
|
94
87
|
ANABOLICSYNTHESIS = 88
|
95
|
-
OBVERSEINCUBATION = 89
|
96
|
-
VIKINGJOTUNBOOSTERS = 90
|
97
|
-
ORGANICCARAPACE = 91
|
98
|
-
INFESTORPERISTALSIS = 92
|
99
|
-
ABDOMINALFORTITUDE = 93
|
100
|
-
HYDRALISKSPEEDUPGRADE = 94
|
101
|
-
BANELINGBURROWMOVE = 95
|
102
|
-
COMBATDRUGS = 96
|
103
|
-
STRIKECANNONS = 97
|
104
88
|
TRANSFORMATIONSERVOS = 98
|
105
89
|
PHOENIXRANGEUPGRADE = 99
|
106
90
|
TEMPESTRANGEUPGRADE = 100
|
107
91
|
NEURALPARASITE = 101
|
108
92
|
LOCUSTLIFETIMEINCREASE = 102
|
109
|
-
ULTRALISKBURROWCHARGEUPGRADE = 103
|
110
|
-
ORACLEENERGYUPGRADE = 104
|
111
|
-
RESTORESHIELDS = 105
|
112
|
-
PROTOSSHEROSHIPWEAPON = 106
|
113
|
-
PROTOSSHEROSHIPDETECTOR = 107
|
114
|
-
PROTOSSHEROSHIPSPELL = 108
|
115
|
-
REAPERJUMP = 109
|
116
|
-
INCREASEDRANGE = 110
|
117
|
-
ZERGBURROWMOVE = 111
|
118
|
-
ANIONPULSECRYSTALS = 112
|
119
93
|
TERRANVEHICLEANDSHIPWEAPONSLEVEL1 = 113
|
120
94
|
TERRANVEHICLEANDSHIPWEAPONSLEVEL2 = 114
|
121
95
|
TERRANVEHICLEANDSHIPWEAPONSLEVEL3 = 115
|
122
96
|
TERRANVEHICLEANDSHIPARMORSLEVEL1 = 116
|
123
97
|
TERRANVEHICLEANDSHIPARMORSLEVEL2 = 117
|
124
98
|
TERRANVEHICLEANDSHIPARMORSLEVEL3 = 118
|
125
|
-
FLYINGLOCUSTS = 119
|
126
99
|
ROACHSUPPLY = 120
|
127
100
|
IMMORTALREVIVE = 121
|
128
101
|
DRILLCLAWS = 122
|
129
102
|
CYCLONELOCKONRANGEUPGRADE = 123
|
130
|
-
CYCLONEAIRUPGRADE = 124
|
131
103
|
LIBERATORMORPH = 125
|
132
|
-
ADEPTSHIELDUPGRADE = 126
|
133
104
|
LURKERRANGE = 127
|
134
|
-
IMMORTALBARRIER = 128
|
135
|
-
ADEPTKILLBOUNCE = 129
|
136
105
|
ADEPTPIERCINGATTACK = 130
|
137
|
-
CINEMATICMODE = 131
|
138
|
-
CURSORDEBUG = 132
|
139
|
-
MAGFIELDLAUNCHERS = 133
|
140
106
|
EVOLVEGROOVEDSPINES = 134
|
141
107
|
EVOLVEMUSCULARAUGMENTS = 135
|
142
108
|
BANSHEESPEED = 136
|
@@ -145,168 +111,21 @@ module Api
|
|
145
111
|
MEDIVACINCREASESPEEDBOOST = 139
|
146
112
|
LIBERATORAGRANGEUPGRADE = 140
|
147
113
|
DARKTEMPLARBLINKUPGRADE = 141
|
148
|
-
RAVAGERRANGE = 142
|
149
|
-
RAVENDAMAGEUPGRADE = 143
|
150
114
|
CYCLONELOCKONDAMAGEUPGRADE = 144
|
151
|
-
ARESCLASSWEAPONSSYSTEMVIKING = 145
|
152
|
-
AUTOHARVESTER = 146
|
153
|
-
HYBRIDCPLASMAUPGRADEHARD = 147
|
154
|
-
HYBRIDCPLASMAUPGRADEINSANE = 148
|
155
|
-
INTERCEPTORLIMIT4 = 149
|
156
|
-
INTERCEPTORLIMIT6 = 150
|
157
|
-
def self._330MMBARRAGECANNONS = 151
|
158
|
-
NOTPOSSIBLESIEGEMODE = 152
|
159
|
-
NEOSTEELFRAME_2 = 153
|
160
|
-
NEOSTEELANDSHRIKETURRETICONUPGRADE = 154
|
161
|
-
OCULARIMPLANTS = 155
|
162
|
-
CROSSSPECTRUMDAMPENERS = 156
|
163
|
-
ORBITALSTRIKE = 157
|
164
|
-
CLUSTERBOMB = 158
|
165
|
-
SHAPEDHULL = 159
|
166
|
-
SPECTRETOOLTIPUPGRADE = 160
|
167
|
-
ULTRACAPACITORS = 161
|
168
|
-
VANADIUMPLATING = 162
|
169
|
-
COMMANDCENTERREACTOR = 163
|
170
|
-
REGENERATIVEBIOSTEEL = 164
|
171
|
-
CELLULARREACTORS = 165
|
172
|
-
BANSHEECLOAKEDDAMAGE = 166
|
173
|
-
DISTORTIONBLASTERS = 167
|
174
|
-
EMPTOWER = 168
|
175
|
-
SUPPLYDEPOTDROP = 169
|
176
|
-
HIVEMINDEMULATOR = 170
|
177
|
-
FORTIFIEDBUNKERCARAPACE = 171
|
178
|
-
PREDATOR = 172
|
179
|
-
SCIENCEVESSEL = 173
|
180
|
-
DUALFUSIONWELDERS = 174
|
181
|
-
ADVANCEDCONSTRUCTION = 175
|
182
|
-
ADVANCEDMEDICTRAINING = 176
|
183
|
-
PROJECTILEACCELERATORS = 177
|
184
|
-
REINFORCEDSUPERSTRUCTURE = 178
|
185
|
-
MULE = 179
|
186
|
-
ORBITALRELAY = 180
|
187
|
-
RAZORWIRE = 181
|
188
|
-
ADVANCEDHEALINGAI = 182
|
189
|
-
TWINLINKEDFLAMETHROWERS = 183
|
190
|
-
NANOCONSTRUCTOR = 184
|
191
|
-
CERBERUSMINES = 185
|
192
|
-
HYPERFLUXOR = 186
|
193
|
-
TRILITHIUMPOWERCELLS = 187
|
194
|
-
PERMANENTCLOAKGHOST = 188
|
195
|
-
PERMANENTCLOAKSPECTRE = 189
|
196
|
-
ULTRASONICPULSE = 190
|
197
|
-
SURVIVALPODS = 191
|
198
|
-
ENERGYSTORAGE = 192
|
199
|
-
FULLBORECANISTERAMMO = 193
|
200
|
-
CAMPAIGNJOTUNBOOSTERS = 194
|
201
|
-
MICROFILTERING = 195
|
202
|
-
PARTICLECANNONAIR = 196
|
203
|
-
VULTUREAUTOREPAIR = 197
|
204
|
-
PSIDISRUPTOR = 198
|
205
|
-
SCIENCEVESSELENERGYMANIPULATION = 199
|
206
|
-
SCIENCEVESSELPLASMAWEAPONRY = 200
|
207
|
-
SHOWGATLINGGUN = 201
|
208
|
-
TECHREACTOR = 202
|
209
|
-
TECHREACTORAI = 203
|
210
|
-
TERRANDEFENSERANGEBONUS = 204
|
211
|
-
X88TNAPALMUPGRADE = 205
|
212
|
-
HURRICANEMISSILES = 206
|
213
|
-
MECHANICALREBIRTH = 207
|
214
|
-
MARINESTIMPACK = 208
|
215
|
-
DARKTEMPLARTACTICS = 209
|
216
|
-
CLUSTERWARHEADS = 210
|
217
|
-
CLOAKDISTORTIONFIELD = 211
|
218
|
-
DEVASTATORMISSILES = 212
|
219
|
-
DISTORTIONTHRUSTERS = 213
|
220
|
-
DYNAMICPOWERROUTING = 214
|
221
|
-
IMPALERROUNDS = 215
|
222
|
-
KINETICFIELDS = 216
|
223
|
-
BURSTCAPACITORS = 217
|
224
|
-
HAILSTORMMISSILEPODS = 218
|
225
|
-
RAPIDDEPLOYMENT = 219
|
226
|
-
REAPERSTIMPACK = 220
|
227
|
-
REAPERD8CHARGE = 221
|
228
|
-
TYCHUS05BATTLECRUISERPENETRATION = 222
|
229
|
-
VIRALPLASMA = 223
|
230
|
-
FIREBATJUGGERNAUTPLATING = 224
|
231
|
-
MULTILOCKTARGETINGSYSTEMS = 225
|
232
|
-
TURBOCHARGEDENGINES = 226
|
233
|
-
DISTORTIONSENSORS = 227
|
234
|
-
INFERNALPREIGNITERS = 228
|
235
|
-
HELLIONCAMPAIGNINFERNALPREIGNITER = 229
|
236
|
-
NAPALMFUELTANKS = 230
|
237
|
-
AUXILIARYMEDBOTS = 231
|
238
|
-
JUGGERNAUTPLATING = 232
|
239
|
-
MARAUDERLIFEBOOST = 233
|
240
|
-
COMBATSHIELD = 234
|
241
|
-
REAPERU238ROUNDS = 235
|
242
|
-
MAELSTROMROUNDS = 236
|
243
|
-
SIEGETANKSHAPEDBLAST = 237
|
244
|
-
TUNGSTENSPIKES = 238
|
245
|
-
BEARCLAWNOZZLES = 239
|
246
|
-
NANOBOTINJECTORS = 240
|
247
|
-
STABILIZERMEDPACKS = 241
|
248
|
-
HALOROCKETS = 242
|
249
|
-
SCAVENGINGSYSTEMS = 243
|
250
|
-
EXTRAMINES = 244
|
251
|
-
ARESCLASSWEAPONSSYSTEM = 245
|
252
|
-
WHITENAPALM = 246
|
253
|
-
VIRALMUNITIONS = 247
|
254
|
-
JACKHAMMERCONCUSSIONGRENADES = 248
|
255
|
-
FIRESUPPRESSIONSYSTEMS = 249
|
256
|
-
FLARERESEARCH = 250
|
257
|
-
MODULARCONSTRUCTION = 251
|
258
|
-
EXPANDEDHULL = 252
|
259
|
-
SHRIKETURRET = 253
|
260
|
-
MICROFUSIONREACTORS = 254
|
261
|
-
WRAITHCLOAK = 255
|
262
|
-
SINGULARITYCHARGE = 256
|
263
|
-
GRAVITICTHRUSTERS = 257
|
264
|
-
YAMATOCANNON = 258
|
265
|
-
DEFENSIVEMATRIX = 259
|
266
|
-
DARKPROTOSS = 260
|
267
|
-
TERRANINFANTRYWEAPONSULTRACAPACITORSLEVEL1 = 261
|
268
|
-
TERRANINFANTRYWEAPONSULTRACAPACITORSLEVEL2 = 262
|
269
|
-
TERRANINFANTRYWEAPONSULTRACAPACITORSLEVEL3 = 263
|
270
|
-
TERRANINFANTRYARMORSVANADIUMPLATINGLEVEL1 = 264
|
271
|
-
TERRANINFANTRYARMORSVANADIUMPLATINGLEVEL2 = 265
|
272
|
-
TERRANINFANTRYARMORSVANADIUMPLATINGLEVEL3 = 266
|
273
|
-
TERRANVEHICLEWEAPONSULTRACAPACITORSLEVEL1 = 267
|
274
|
-
TERRANVEHICLEWEAPONSULTRACAPACITORSLEVEL2 = 268
|
275
|
-
TERRANVEHICLEWEAPONSULTRACAPACITORSLEVEL3 = 269
|
276
|
-
TERRANVEHICLEARMORSVANADIUMPLATINGLEVEL1 = 270
|
277
|
-
TERRANVEHICLEARMORSVANADIUMPLATINGLEVEL2 = 271
|
278
|
-
TERRANVEHICLEARMORSVANADIUMPLATINGLEVEL3 = 272
|
279
|
-
TERRANSHIPWEAPONSULTRACAPACITORSLEVEL1 = 273
|
280
|
-
TERRANSHIPWEAPONSULTRACAPACITORSLEVEL2 = 274
|
281
|
-
TERRANSHIPWEAPONSULTRACAPACITORSLEVEL3 = 275
|
282
|
-
TERRANSHIPARMORSVANADIUMPLATINGLEVEL1 = 276
|
283
|
-
TERRANSHIPARMORSVANADIUMPLATINGLEVEL2 = 277
|
284
|
-
TERRANSHIPARMORSVANADIUMPLATINGLEVEL3 = 278
|
285
|
-
HIREKELMORIANMINERSPH = 279
|
286
|
-
HIREDEVILDOGSPH = 280
|
287
|
-
HIRESPARTANCOMPANYPH = 281
|
288
|
-
HIREHAMMERSECURITIESPH = 282
|
289
|
-
HIRESIEGEBREAKERSPH = 283
|
290
|
-
HIREHELSANGELSPH = 284
|
291
|
-
HIREDUSKWINGPH = 285
|
292
|
-
HIREDUKESREVENGE = 286
|
293
|
-
TOSHEASYMODE = 287
|
294
115
|
VOIDRAYSPEEDUPGRADE = 288
|
295
116
|
SMARTSERVOS = 289
|
296
117
|
ARMORPIERCINGROCKETS = 290
|
297
118
|
CYCLONERAPIDFIRELAUNCHERS = 291
|
298
119
|
RAVENENHANCEDMUNITIONS = 292
|
299
120
|
DIGGINGCLAWS = 293
|
300
|
-
CARRIERCARRIERCAPACITY = 294
|
301
|
-
CARRIERLEASHRANGEUPGRADE = 295
|
302
121
|
HURRICANETHRUSTERS = 296
|
303
122
|
TEMPESTGROUNDATTACKUPGRADE = 297
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
123
|
+
FRENZY = 298
|
124
|
+
MICROBIALSHROUD = 299
|
125
|
+
INTERFERENCEMATRIX = 300
|
126
|
+
SUNDERINGIMPACT = 301
|
127
|
+
AMPLIFIEDSHIELDING = 302
|
128
|
+
PSIONICAMPLIFIERS = 303
|
129
|
+
SECRETEDCOATING = 304
|
311
130
|
end
|
312
131
|
end
|
data/lib/sc2ai/cli/cli.rb
CHANGED
@@ -19,22 +19,23 @@ module Sc2
|
|
19
19
|
register(Sc2::Cli::Ladderzip, "ladderzip", "ladderzip BOTNAME", "Prepares a zip via docker for supplied aiarena bot name")
|
20
20
|
register(Sc2::Cli::VersusBot, "vsbot", "vsbot FILENAME", "Copies target zip to docker and starts a match")
|
21
21
|
|
22
|
-
|
23
|
-
desc "setup410", "Downloads and install SC2 v4.10"
|
24
|
-
# downloads and install SC2 v4.10
|
22
|
+
desc "setup410", "alias of download_ladder_version"
|
25
23
|
def setup410
|
24
|
+
download_ladder_version
|
25
|
+
end
|
26
|
+
|
27
|
+
desc "download_ladder_version", "Downloads and install SC2 at the patch used for ladder"
|
28
|
+
# downloads and install SC2 "ladder" as pinned in versions.json
|
29
|
+
def download_ladder_version
|
26
30
|
require "sc2ai"
|
27
31
|
Async do
|
28
32
|
Sc2.logger.level = :fatal
|
29
33
|
say " "
|
30
|
-
say "This script sets up SC2 at
|
34
|
+
say "This script sets up SC2 at the same version use competitively."
|
31
35
|
say "SC2 will launch a blank window, be unresponsive, but download about 100mb in the background."
|
32
36
|
say ""
|
33
37
|
say "It will appear to hang as it updates. This is normal."
|
34
38
|
say "Let it finish and close itself."
|
35
|
-
say "Press any key to continue..."
|
36
|
-
ask ""
|
37
|
-
|
38
39
|
say ""
|
39
40
|
say ""
|
40
41
|
say "This will only take a minute..."
|
@@ -53,7 +54,14 @@ module Sc2
|
|
53
54
|
)
|
54
55
|
|
55
56
|
# Auto-detect executable path and ensure it matched exactly
|
56
|
-
base_build = "
|
57
|
+
base_build = ""
|
58
|
+
Sc2::Client.versions_json.each do |node|
|
59
|
+
if node["label"] == "ladder"
|
60
|
+
base_build = node["base-version"].to_s
|
61
|
+
break
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
57
65
|
path = Sc2::Paths.executable(base_build: base_build)
|
58
66
|
if path.include?(base_build) && Pathname(path).exist?
|
59
67
|
say " "
|
@@ -69,13 +77,13 @@ module Sc2
|
|
69
77
|
|
70
78
|
observer.api.quit
|
71
79
|
observer.disconnect
|
72
|
-
say "Generating sc2ai.yml to always use
|
73
|
-
Sc2.config.config_file.write({"version" => "
|
80
|
+
say "Generating sc2ai.yml to always use version 'ladder'..."
|
81
|
+
Sc2.config.config_file.write({"version" => "ladder"}.to_yaml.to_s)
|
74
82
|
say ""
|
75
83
|
say "Done. You're good to go."
|
76
84
|
say "To run an example match, execute:"
|
77
85
|
say ""
|
78
|
-
say "ruby run_example_match.rb", :
|
86
|
+
say "ruby run_example_match.rb", :cyan
|
79
87
|
say ""
|
80
88
|
ensure
|
81
89
|
Sc2::ClientManager.stop(0)
|
data/lib/sc2ai/cli/new.rb
CHANGED
@@ -5,6 +5,7 @@ module Sc2
|
|
5
5
|
class Cli < Thor
|
6
6
|
class New < Thor::Group
|
7
7
|
include Thor::Actions
|
8
|
+
|
8
9
|
desc "Creates a new bot"
|
9
10
|
|
10
11
|
# Define arguments and options
|
@@ -76,11 +77,13 @@ module Sc2
|
|
76
77
|
say ""
|
77
78
|
say "Bot generated, next steps:"
|
78
79
|
say ""
|
79
|
-
say "cd #{@directory} && bundle install", :
|
80
|
+
say "cd #{@directory} && bundle install", :cyan
|
81
|
+
say ""
|
82
|
+
say "Afterwards, it is recommended to setup SC2 to match the ladder version with:"
|
80
83
|
say ""
|
81
|
-
say "
|
84
|
+
say "bundle exec sc2ai download_ladder_version", :cyan
|
82
85
|
say ""
|
83
|
-
say "
|
86
|
+
say "Refer to the docs to get the 'AI Edition' maps or further help: https://sc2ai.pages.dev/"
|
84
87
|
say ""
|
85
88
|
end
|
86
89
|
end
|
@@ -57,7 +57,7 @@ module Sc2
|
|
57
57
|
show_cloaked: true,
|
58
58
|
show_burrowed_shadows: true,
|
59
59
|
show_placeholders: true,
|
60
|
-
raw_affects_selection: Sc2.ladder?,
|
60
|
+
raw_affects_selection: enable_feature_layer || Sc2.ladder?,
|
61
61
|
raw_crop_to_playable_area: true, **interface_options
|
62
62
|
)
|
63
63
|
)
|
@@ -207,8 +207,13 @@ module Sc2
|
|
207
207
|
@_cached_request_observation ||= Api::Request.new(
|
208
208
|
observation: Api::RequestObservation.new
|
209
209
|
).to_proto
|
210
|
+
|
211
|
+
time = Process.clock_gettime(Process::CLOCK_MONOTONIC, :float_millisecond)
|
210
212
|
@websocket.send_binary(@_cached_request_observation)
|
211
|
-
response =
|
213
|
+
response = @websocket.read.to_str
|
214
|
+
@external_time += Process.clock_gettime(Process::CLOCK_MONOTONIC, :float_millisecond) - time
|
215
|
+
|
216
|
+
response = Api::Response.decode(response)
|
212
217
|
|
213
218
|
if @status != response.status
|
214
219
|
@status = response.status
|