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.
@@ -295,7 +295,7 @@ module Api
295
295
  ACCELERATIONZONETEMPORALFIELD = 289
296
296
  ACCELERATIONZONEFLYINGTEMPORALFIELD = 290
297
297
  INHIBITORZONEFLYINGTEMPORALFIELD = 291
298
- LOADOUTSPRAYTRACKER = 292
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
@@ -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::HURRICANETHRUSTERS =>
569
- {ability: Api::AbilityId::FACTORYTECHLABRESEARCH_CYCLONERESEARCHHURRICANETHRUSTERS},
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::HURRICANETHRUSTERS => Api::UnitTypeId::FACTORYTECHLAB,
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::EFFECT_SALVAGE,
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::FACTORYTECHLABRESEARCH_CYCLONERESEARCHHURRICANETHRUSTERS,
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
- COLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN = 1999
2016
- COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN = 2000
2017
- COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFTGREEN = 2001
2018
- COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHTGREEN = 2002
2019
- COLLAPSIBLEROCKTOWERRAMPLEFTGREEN = 2003
2020
- COLLAPSIBLEROCKTOWERRAMPRIGHTGREEN = 2004
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
@@ -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
- MICROBIALSHROUD = 298
305
- INTERFERENCEMATRIX = 299
306
- SUNDERINGIMPACT = 300
307
- AMPLIFIEDSHIELDING = 301
308
- PSIONICAMPLIFIERS = 302
309
- SECRETEDCOATING = 303
310
- ENHANCEDSHOCKWAVES = 304
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
- # TODO: Use thor's #ask and other methods helpers of raw $stdin and puts.
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 version 4.10, which we use competitively."
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 = "75689"
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 4.10..."
73
- Sc2.config.config_file.write({"version" => "4.10"}.to_yaml.to_s)
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", :green
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", :green
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 "Once your project is ready, if you haven't done so, setup SC2 v4.10 with:"
84
+ say "bundle exec sc2ai download_ladder_version", :cyan
82
85
  say ""
83
- say "bundle exec sc2ai setup410", :green
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 = Api::Response.decode(@websocket.read.to_str)
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