sc2ai 0.0.8 → 0.2.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/sc2ai/protocol/common.proto +1 -1
- data/data/sc2ai/protocol/data.proto +4 -1
- data/data/sc2ai/protocol/debug.proto +5 -1
- data/data/sc2ai/protocol/error.proto +2 -1
- data/data/sc2ai/protocol/query.proto +1 -1
- data/data/sc2ai/protocol/raw.proto +9 -7
- data/data/sc2ai/protocol/sc2api.proto +21 -7
- data/data/sc2ai/protocol/score.proto +2 -1
- data/data/sc2ai/protocol/spatial.proto +2 -1
- data/data/sc2ai/protocol/ui.proto +5 -2
- data/lib/docker_build/Dockerfile.ruby +5 -3
- data/lib/sc2ai/api/ability_id.rb +6 -1
- data/lib/sc2ai/api/data.rb +15 -0
- data/lib/sc2ai/api/tech_tree.rb +1 -1
- data/lib/sc2ai/api/tech_tree_data.rb +54 -3
- data/lib/sc2ai/cli/cli.rb +1 -1
- data/lib/sc2ai/connection.rb +1 -1
- data/lib/sc2ai/local_play/client_manager.rb +2 -0
- data/lib/sc2ai/local_play/match.rb +0 -11
- data/lib/sc2ai/overrides/async/process/child.rb +1 -1
- data/lib/sc2ai/paths.rb +1 -1
- data/lib/sc2ai/player/debug.rb +36 -2
- data/lib/sc2ai/player/{geometry.rb → geo.rb} +41 -5
- data/lib/sc2ai/player/units.rb +32 -2
- data/lib/sc2ai/player.rb +8 -48
- data/lib/sc2ai/ports.rb +0 -1
- data/lib/sc2ai/protocol/_meta_documentation.rb +249 -4
- data/lib/sc2ai/protocol/common_pb.rb +2 -23
- data/lib/sc2ai/protocol/data_pb.rb +2 -23
- data/lib/sc2ai/protocol/debug_pb.rb +2 -24
- data/lib/sc2ai/protocol/error_pb.rb +2 -23
- data/lib/sc2ai/protocol/extensions/color.rb +1 -1
- data/lib/sc2ai/protocol/extensions/point_2_d.rb +4 -0
- data/lib/sc2ai/protocol/extensions/position.rb +1 -1
- data/lib/sc2ai/protocol/extensions/unit.rb +45 -4
- data/lib/sc2ai/protocol/extensions/unit_type_data.rb +8 -0
- data/lib/sc2ai/protocol/query_pb.rb +2 -24
- data/lib/sc2ai/protocol/raw_pb.rb +2 -24
- data/lib/sc2ai/protocol/sc2api_pb.rb +2 -31
- data/lib/sc2ai/protocol/score_pb.rb +2 -23
- data/lib/sc2ai/protocol/spatial_pb.rb +2 -24
- data/lib/sc2ai/protocol/ui_pb.rb +2 -23
- data/lib/sc2ai/unit_group/action_ext.rb +2 -2
- data/lib/sc2ai/unit_group/filter_ext.rb +36 -1
- data/lib/sc2ai/version.rb +1 -1
- data/lib/sc2ai.rb +0 -7
- data/lib/templates/new/.ladderignore +15 -5
- data/lib/templates/new/api/raw.proto +1 -1
- data/lib/templates/new/api/ui.proto +1 -1
- data/lib/templates/new/my_bot.rb.tt +1 -1
- data/sig/minaswan.rbs +10323 -0
- data/sig/sc2ai.rbs +1170 -980
- metadata +52 -25
- data/lib/sc2ai/data.rb +0 -101
- data/lib/sc2ai/protocol/extensions/unit_type.rb +0 -9
data/sig/sc2ai.rbs
CHANGED
@@ -23,86 +23,10 @@ module Sc2
|
|
23
23
|
class Error < StandardError
|
24
24
|
end
|
25
25
|
|
26
|
-
# Holds game data from tech tree and Api::ResponseData
|
27
|
-
# Called once on game start
|
28
|
-
class Data
|
29
|
-
# sord warn - Api::ResponseData wasn't able to be resolved to a constant in this project
|
30
|
-
# _@param_ `data`
|
31
|
-
def initialize: (Api::ResponseData data) -> void
|
32
|
-
|
33
|
-
# sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
|
34
|
-
# sord warn - "Hash<Integer, Api::AbilityData] indexed data" does not appear to be a type
|
35
|
-
# Indexes ability data by ability id
|
36
|
-
#
|
37
|
-
# _@param_ `abilities`
|
38
|
-
#
|
39
|
-
# _@return_ — Hash<Integer, Api::AbilityData] indexed data
|
40
|
-
def abilities_from_proto: (::Array[Api::AbilityData] abilities) -> SORD_ERROR_HashIntegerApiAbilityDataindexeddata
|
41
|
-
|
42
|
-
# Indexes unit data by id
|
43
|
-
#
|
44
|
-
# _@param_ `units`
|
45
|
-
#
|
46
|
-
# _@return_ — indexed data
|
47
|
-
def units_from_proto: (::Array[Api::UnitTypeData] units) -> ::Hash[Integer, Api::UnitTypeData]
|
48
|
-
|
49
|
-
# sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
|
50
|
-
# sord warn - "Hash<Integer, Api::UpgradeData] indexed data" does not appear to be a type
|
51
|
-
# Indexes upgrades data by id
|
52
|
-
#
|
53
|
-
# _@param_ `upgrades`
|
54
|
-
#
|
55
|
-
# _@return_ — Hash<Integer, Api::UpgradeData] indexed data
|
56
|
-
def upgrades_from_proto: (::Array[Api::UpgradeData] upgrades) -> SORD_ERROR_HashIntegerApiUpgradeDataindexeddata
|
57
|
-
|
58
|
-
# sord omit - no YARD type given for "effects", using untyped
|
59
|
-
# sord omit - no YARD return type given, using untyped
|
60
|
-
def effects_from_proto: (untyped effects) -> untyped
|
61
|
-
|
62
|
-
# sord omit - no YARD type given for "buffs", using untyped
|
63
|
-
# sord omit - no YARD return type given, using untyped
|
64
|
-
def buffs_from_proto: (untyped buffs) -> untyped
|
65
|
-
|
66
|
-
# sord omit - no YARD return type given, using untyped
|
67
|
-
# Overrides unit data from api to implement fixes or change context
|
68
|
-
# i.e. Api::UnitTypeId::ORBITALCOMMAND cost is cost-to-upgrade instead of CC + Orbital combined cost.
|
69
|
-
# Run once. Depends on all data already being set.
|
70
|
-
def override_unit_data: () -> untyped
|
71
|
-
|
72
|
-
# sord omit - no YARD return type given, using untyped
|
73
|
-
# Fixes mineral_cost, vespene_cost and food_required values
|
74
|
-
def correct_unit_type_costs: () -> untyped
|
75
|
-
|
76
|
-
# sord omit - no YARD return type given, using untyped
|
77
|
-
# Fixes mineral_cost_sum, vespene_cost_sum
|
78
|
-
def correct_unit_type_sum: () -> untyped
|
79
|
-
|
80
|
-
# sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
|
81
|
-
# _@return_ — AbilityId => AbilityData
|
82
|
-
attr_accessor abilities: (::Hash[Integer, Api::AbilityData] | untyped)
|
83
|
-
|
84
|
-
# _@return_ — UnitId => UnitTypeData
|
85
|
-
attr_accessor units: (::Hash[Integer, Api::UnitTypeData] | untyped)
|
86
|
-
|
87
|
-
# sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
|
88
|
-
# _@return_ — UpgradeId => UpgradeData
|
89
|
-
attr_accessor upgrades: (::Hash[Integer, Api::UpgradeData] | untyped)
|
90
|
-
|
91
|
-
# sord omit - no YARD type given for :buffs, using untyped
|
92
|
-
# Not particularly useful data. Just use BuffId directly
|
93
|
-
# @return [Hash<Integer, Api::BuffData>] BuffId => BuffData
|
94
|
-
attr_accessor buffs: untyped
|
95
|
-
|
96
|
-
# sord omit - no YARD type given for :effects, using untyped
|
97
|
-
# Not particularly useful data. Just use EffectId directly
|
98
|
-
# @return [Hash<Integer, Api::EffectData>] EffectId => EffectData
|
99
|
-
attr_accessor effects: untyped
|
100
|
-
end
|
101
|
-
|
102
26
|
# Helps determine common paths to sc2 install dir, executable and maps.
|
103
27
|
# It maintains some semblance of compatibility with python-sc2 config
|
104
28
|
#
|
105
|
-
# ENV['SC2PATH'] can be set manually to
|
29
|
+
# ENV['SC2PATH'] can be set manually to StarCraft 2 base directory for Linux
|
106
30
|
# ENV['SC2PF'] can and should be manually set to "WineLinux" when running Wine
|
107
31
|
# Credit to Hannes, Sean and Burny for setting the standard
|
108
32
|
class Paths
|
@@ -453,28 +377,8 @@ module Sc2
|
|
453
377
|
# _@see_ `#join_game` — for options
|
454
378
|
attr_accessor interface_options: ::Hash[untyped, untyped]
|
455
379
|
|
456
|
-
#
|
457
|
-
|
458
|
-
# sord warn - Api::Race::Zerg wasn't able to be resolved to a constant in this project
|
459
|
-
# sord warn - Api::Race::Protoss wasn't able to be resolved to a constant in this project
|
460
|
-
# sord warn - Api::Race::Random wasn't able to be resolved to a constant in this project
|
461
|
-
# sord warn - Api::Race::NoRace wasn't able to be resolved to a constant in this project
|
462
|
-
# sord warn - Api::Race::Terran wasn't able to be resolved to a constant in this project
|
463
|
-
# sord warn - Api::Race::Zerg wasn't able to be resolved to a constant in this project
|
464
|
-
# sord warn - Api::Race::Protoss wasn't able to be resolved to a constant in this project
|
465
|
-
# sord warn - Api::Race::Random wasn't able to be resolved to a constant in this project
|
466
|
-
# _@return_ — if Observer
|
467
|
-
#
|
468
|
-
# _@return_ — if is_a? Bot, Human, BotProcess
|
469
|
-
#
|
470
|
-
# _@return_ — if is_a? Bot, Human, BotProcess
|
471
|
-
#
|
472
|
-
# _@return_ — if is_a? Bot, Human, BotProcess
|
473
|
-
#
|
474
|
-
# _@return_ — if specified random and in-game race hasn't been scouted yet
|
475
|
-
#
|
476
|
-
# _@return_ — if is_a? forgetful person
|
477
|
-
attr_accessor race: (Api::Race::NoRace | Api::Race::Terran | Api::Race::Zerg | Api::Race::Protoss | Api::Race::Random)?
|
380
|
+
# _@return_ — Api::Race enum
|
381
|
+
attr_accessor race: Integer
|
478
382
|
|
479
383
|
# _@return_ — in-game name
|
480
384
|
attr_accessor name: String
|
@@ -766,6 +670,35 @@ module Sc2
|
|
766
670
|
# _@param_ `color` — default white
|
767
671
|
def debug_draw_sphere: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
|
768
672
|
|
673
|
+
# sord warn - Api::Position wasn't able to be resolved to a constant in this project
|
674
|
+
# sord omit - no YARD return type given, using untyped
|
675
|
+
# Renders a block on the floor, drawn by 4 lines
|
676
|
+
# Pass in either a pos (Position/Unit) or exact x * y coordinates
|
677
|
+
# Optional indentation adds padding on borders inward
|
678
|
+
#
|
679
|
+
# _@param_ `pos`
|
680
|
+
#
|
681
|
+
# _@param_ `x`
|
682
|
+
#
|
683
|
+
# _@param_ `y`
|
684
|
+
#
|
685
|
+
# _@param_ `color`
|
686
|
+
#
|
687
|
+
# _@param_ `indent` — default 0.05. should be lower than < 1.0
|
688
|
+
#
|
689
|
+
# ```ruby
|
690
|
+
# debug_tile(x: 12.3, y: 4.56, color: Api::Color.new(r: 255, g: 0, b: 0))
|
691
|
+
# debug_tile(some_unit)
|
692
|
+
# debug_tile(some_unit.pos)
|
693
|
+
# ```
|
694
|
+
def debug_tile: (
|
695
|
+
?(Api::Unit | Api::Position)? pos,
|
696
|
+
?x: (Float | Integer)?,
|
697
|
+
?y: (Float | Integer)?,
|
698
|
+
?color: Api::Color?,
|
699
|
+
?indent: Float
|
700
|
+
) -> untyped
|
701
|
+
|
769
702
|
# Possible values:
|
770
703
|
# Api::DebugGameState::Show_map
|
771
704
|
# Api::DebugGameState::Control_enemy
|
@@ -1058,12 +991,16 @@ module Sc2
|
|
1058
991
|
# _@return_ — unit tag array
|
1059
992
|
def unit_tags_from_source: ((Integer | ::Array[Integer] | Api::Unit | Sc2::UnitGroup) source) -> ::Array[Integer]
|
1060
993
|
|
994
|
+
# sord omit - no YARD type given for "upgrade_id", using untyped
|
995
|
+
# Returns true if this upgrade has finished researching
|
996
|
+
def upgrade_completed?: (untyped upgrade_id) -> bool
|
997
|
+
|
1061
998
|
# Returns the upgrade ids which are researching or queued
|
1062
999
|
# Not set for enemy.
|
1063
1000
|
def upgrades_in_progress: () -> ::Array[Integer]
|
1064
1001
|
|
1065
1002
|
# sord omit - no YARD type given for "upgrade_id", using untyped
|
1066
|
-
# Returns the upgrade
|
1003
|
+
# Returns true if the upgrade is busy researching
|
1067
1004
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
1068
1005
|
|
1069
1006
|
# sord omit - no YARD type given for "unit_type_id", using untyped
|
@@ -1164,7 +1101,7 @@ module Sc2
|
|
1164
1101
|
attr_accessor previous: (Sc2::Player::PreviousState | untyped)
|
1165
1102
|
|
1166
1103
|
# _@return_ — geo and map helper functions
|
1167
|
-
attr_accessor geo: (Sc2::Player::
|
1104
|
+
attr_accessor geo: (Sc2::Player::Geo | untyped)
|
1168
1105
|
end
|
1169
1106
|
|
1170
1107
|
# A specialized type of player instance which each player has one of
|
@@ -1187,12 +1124,16 @@ module Sc2
|
|
1187
1124
|
# _@return_ — Api::Race if race detected, false otherwise
|
1188
1125
|
def detect_race_from_units: () -> (bool | Integer)
|
1189
1126
|
|
1127
|
+
# sord omit - no YARD type given for "upgrade_id", using untyped
|
1128
|
+
# Returns true if this upgrade has finished researching
|
1129
|
+
def upgrade_completed?: (untyped upgrade_id) -> bool
|
1130
|
+
|
1190
1131
|
# Returns the upgrade ids which are researching or queued
|
1191
1132
|
# Not set for enemy.
|
1192
1133
|
def upgrades_in_progress: () -> ::Array[Integer]
|
1193
1134
|
|
1194
1135
|
# sord omit - no YARD type given for "upgrade_id", using untyped
|
1195
|
-
# Returns the upgrade
|
1136
|
+
# Returns true if the upgrade is busy researching
|
1196
1137
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
1197
1138
|
|
1198
1139
|
# sord omit - no YARD type given for "unit_type_id", using untyped
|
@@ -1338,924 +1279,962 @@ module Sc2
|
|
1338
1279
|
def initialize: (?name: String?) -> void
|
1339
1280
|
end
|
1340
1281
|
|
1341
|
-
#
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
# Queues debug command for performing later
|
1346
|
-
#
|
1347
|
-
# _@param_ `debug_command`
|
1348
|
-
def queue_debug_command: (Api::DebugCommand debug_command) -> void
|
1282
|
+
# Holds map and geography helper functions
|
1283
|
+
class Geo
|
1284
|
+
# sord omit - no YARD type given for "bot", using untyped
|
1285
|
+
def initialize: (untyped _bot) -> void
|
1349
1286
|
|
1350
|
-
#
|
1351
|
-
#
|
1352
|
-
|
1353
|
-
|
1287
|
+
# Gets the map tile width. Range is 1-255.
|
1288
|
+
# Effected by crop_to_playable_area
|
1289
|
+
def map_width: () -> Integer
|
1290
|
+
|
1291
|
+
# Gets the map tile height. Range is 1-255.
|
1292
|
+
# Effected by crop_to_playable_area
|
1293
|
+
def map_height: () -> Integer
|
1294
|
+
|
1295
|
+
# Center of the map
|
1296
|
+
def map_center: () -> Api::Point2D
|
1297
|
+
|
1298
|
+
# Returns zero to map_width as range
|
1354
1299
|
#
|
1355
|
-
# _@
|
1356
|
-
def
|
1300
|
+
# _@return_ — 0 to map_width
|
1301
|
+
def map_range_x: () -> ::Range[untyped]
|
1357
1302
|
|
1358
|
-
#
|
1359
|
-
# Prints text on screen from top and left
|
1303
|
+
# Returns zero to map_height as range
|
1360
1304
|
#
|
1361
|
-
# _@
|
1305
|
+
# _@return_ — 0 to map_height
|
1306
|
+
def map_range_y: () -> ::Range[untyped]
|
1307
|
+
|
1308
|
+
# Returns zero to map_width-1 as range
|
1309
|
+
def map_tile_range_x: () -> ::Range[untyped]
|
1310
|
+
|
1311
|
+
# Returns zero to map_height-1 as range
|
1312
|
+
def map_tile_range_y: () -> ::Range[untyped]
|
1313
|
+
|
1314
|
+
# Returns whether a x/y (integer) is placeable as per minimap image data.
|
1315
|
+
# It does not say whether a position is occupied by another building.
|
1316
|
+
# One pixel covers one whole block. Corrects floats on your behalf
|
1362
1317
|
#
|
1363
|
-
# _@param_ `
|
1318
|
+
# _@param_ `x`
|
1364
1319
|
#
|
1365
|
-
# _@param_ `
|
1320
|
+
# _@param_ `y`
|
1366
1321
|
#
|
1367
|
-
# _@
|
1322
|
+
# _@return_ — whether tile is placeable?
|
1368
1323
|
#
|
1369
|
-
# _@
|
1370
|
-
def
|
1371
|
-
String text,
|
1372
|
-
?left_percent: Numeric,
|
1373
|
-
?top_percent: Numeric,
|
1374
|
-
?color: Api::Color?,
|
1375
|
-
?size: Size
|
1376
|
-
) -> void
|
1324
|
+
# _@see_ `Sc2::Player#pathable?` — for detecting obstructions
|
1325
|
+
def placeable?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1377
1326
|
|
1378
|
-
# sord warn -
|
1379
|
-
#
|
1380
|
-
#
|
1381
|
-
#
|
1327
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1328
|
+
# Returns a parsed placement_grid from bot.game_info.start_raw.
|
1329
|
+
# Each value in [row][column] holds a boolean value represented as an integer
|
1330
|
+
# It does not say whether a position is occupied by another building.
|
1331
|
+
# One pixel covers one whole block. Rounds fractionated positions down.
|
1332
|
+
def parsed_placement_grid: () -> Numo::Bit
|
1333
|
+
|
1334
|
+
# Whether this tile is where an expansion is supposed to be placed.
|
1335
|
+
# To see if a unit/structure is blocking an expansion, pass their coordinates to this method.
|
1382
1336
|
#
|
1383
|
-
# _@param_ `
|
1337
|
+
# _@param_ `x`
|
1384
1338
|
#
|
1385
|
-
# _@param_ `
|
1339
|
+
# _@param_ `y`
|
1386
1340
|
#
|
1387
|
-
# _@
|
1388
|
-
def
|
1389
|
-
String text,
|
1390
|
-
point: Api::Point,
|
1391
|
-
?color: Api::Color?,
|
1392
|
-
?size: Size
|
1393
|
-
) -> void
|
1341
|
+
# _@return_ — true if location has creep on it
|
1342
|
+
def expo_placement?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1394
1343
|
|
1395
|
-
#
|
1344
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1345
|
+
# Returns a grid where only the expo locations are marked
|
1346
|
+
def expo_placement_grid: () -> Numo::Bit
|
1347
|
+
|
1348
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1349
|
+
# Returns a grid where only placement obstructions are marked
|
1350
|
+
# includes Tumors and lowered Supply Depots
|
1351
|
+
def placement_obstruction_grid: () -> Numo::Bit
|
1352
|
+
|
1353
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1354
|
+
# Returns a grid where powered locations are marked true
|
1355
|
+
def parsed_power_grid: () -> Numo::Bit
|
1356
|
+
|
1357
|
+
# Returns whether a x/y block is powered. Only fully covered blocks are true.
|
1358
|
+
# One pixel covers one whole block. Corrects float inputs on your behalf.
|
1396
1359
|
#
|
1397
|
-
# _@param_ `
|
1360
|
+
# _@param_ `x`
|
1398
1361
|
#
|
1399
|
-
# _@param_ `
|
1362
|
+
# _@param_ `y`
|
1400
1363
|
#
|
1401
|
-
# _@
|
1402
|
-
def
|
1364
|
+
# _@return_ — true if location is powered
|
1365
|
+
def powered?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1403
1366
|
|
1404
|
-
#
|
1367
|
+
# Returns whether a x/y block is pathable as per minimap
|
1368
|
+
# One pixel covers one whole block. Corrects float inputs on your behalf.
|
1405
1369
|
#
|
1406
|
-
# _@param_ `
|
1370
|
+
# _@param_ `x`
|
1407
1371
|
#
|
1408
|
-
# _@param_ `
|
1372
|
+
# _@param_ `y`
|
1409
1373
|
#
|
1410
|
-
# _@
|
1374
|
+
# _@return_ — whether tile is patahble
|
1375
|
+
def pathable?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1376
|
+
|
1377
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1378
|
+
# Gets the pathable areas as things stand right now in the game
|
1379
|
+
# Buildings, minerals, structures, etc. all result in a nonpathable place
|
1380
|
+
#
|
1381
|
+
# _@return_ — Numo array
|
1411
1382
|
#
|
1412
1383
|
# ```ruby
|
1413
|
-
# #
|
1414
|
-
#
|
1384
|
+
# parsed_pathing_grid[0,0] # reads bottom left corner
|
1385
|
+
# # use helper function #pathable
|
1386
|
+
# pathable?(x: 0, y: 0) # reads bottom left corner
|
1415
1387
|
# ```
|
1416
|
-
|
1417
|
-
# _@note_ — Api::Color RGB is broken for this command. Will use min(r,b)
|
1418
|
-
#
|
1419
|
-
# _@note_ — Z index is elevated 0.02 so the line is visible and doesn't clip through terrain
|
1420
|
-
def debug_draw_box: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
|
1388
|
+
def parsed_pathing_grid: () -> Numo::Bit
|
1421
1389
|
|
1422
|
-
#
|
1390
|
+
# sord omit - no YARD return type given, using untyped
|
1391
|
+
# Clears pathing-grid dependent objects like placements.
|
1392
|
+
# Called when pathing grid gets updated
|
1393
|
+
def clear_cached_pathing_grid: () -> untyped
|
1394
|
+
|
1395
|
+
# Returns the terrain height (z) at position x and y
|
1396
|
+
# Granularity is per placement grid block, since this comes from minimap image data.
|
1423
1397
|
#
|
1424
|
-
# _@param_ `
|
1398
|
+
# _@param_ `x`
|
1425
1399
|
#
|
1426
|
-
# _@param_ `
|
1400
|
+
# _@param_ `y`
|
1427
1401
|
#
|
1428
|
-
# _@
|
1429
|
-
def
|
1402
|
+
# _@return_ — z axis position between -16 and 16
|
1403
|
+
def terrain_height: (x: (Float | Integer), y: (Float | Integer)) -> Float
|
1430
1404
|
|
1431
|
-
#
|
1432
|
-
# Api::DebugGameState::Show_map
|
1433
|
-
# Api::DebugGameState::Control_enemy
|
1434
|
-
# Api::DebugGameState::Food
|
1435
|
-
# Api::DebugGameState::Free
|
1436
|
-
# Api::DebugGameState::All_resources
|
1437
|
-
# Api::DebugGameState::God
|
1438
|
-
# Api::DebugGameState::Minerals
|
1439
|
-
# Api::DebugGameState::Gas
|
1440
|
-
# Api::DebugGameState::Cooldown
|
1441
|
-
# Api::DebugGameState::Tech_tree
|
1442
|
-
# Api::DebugGameState::Upgrade
|
1443
|
-
# Api::DebugGameState::Fast_build
|
1405
|
+
# Returns the terrain height (z) at position x and y for a point
|
1444
1406
|
#
|
1445
|
-
# _@param_ `
|
1446
|
-
|
1407
|
+
# _@param_ `position`
|
1408
|
+
#
|
1409
|
+
# _@return_ — z axis position between -16 and 16
|
1410
|
+
def terrain_height_for_pos: (Sc2::Position position) -> Float
|
1447
1411
|
|
1448
|
-
#
|
1412
|
+
# sord warn - Numo::SFloat wasn't able to be resolved to a constant in this project
|
1413
|
+
# Returns a parsed terrain_height from bot.game_info.start_raw.
|
1414
|
+
# Each value in [row][column] holds a float value which is the z height
|
1449
1415
|
#
|
1450
|
-
# _@
|
1416
|
+
# _@return_ — Numo array
|
1417
|
+
def parsed_terrain_height: () -> Numo::SFloat
|
1418
|
+
|
1419
|
+
# Returns one of three Integer visibility indicators at tile for x & y
|
1451
1420
|
#
|
1452
|
-
# _@param_ `
|
1421
|
+
# _@param_ `x`
|
1453
1422
|
#
|
1454
|
-
# _@param_ `
|
1423
|
+
# _@param_ `y`
|
1455
1424
|
#
|
1456
|
-
# _@
|
1457
|
-
def
|
1458
|
-
unit_type_id: Integer,
|
1459
|
-
owner: Integer,
|
1460
|
-
pos: Api::Point2D,
|
1461
|
-
?quantity: Integer
|
1462
|
-
) -> void
|
1425
|
+
# _@return_ — 0=Hidden,1= Snapshot,2=Visible
|
1426
|
+
def visibility: (x: (Float | Integer), y: (Float | Integer)) -> Integer
|
1463
1427
|
|
1464
|
-
#
|
1428
|
+
# Returns whether the point (tile) is currently in vision
|
1465
1429
|
#
|
1466
|
-
# _@param_ `
|
1467
|
-
def debug_kill_unit: (unit_tags: (Integer | ::Array[Integer])) -> void
|
1468
|
-
|
1469
|
-
# Hangs, crashes and exits the Sc2 client. DO NOT USE.
|
1430
|
+
# _@param_ `x`
|
1470
1431
|
#
|
1471
|
-
# _@param_ `
|
1432
|
+
# _@param_ `y`
|
1472
1433
|
#
|
1473
|
-
# _@
|
1474
|
-
def
|
1434
|
+
# _@return_ — true if fog is completely lifted
|
1435
|
+
def map_visible?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1475
1436
|
|
1476
|
-
#
|
1477
|
-
# Useful only for single-player "curriculum" maps
|
1437
|
+
# Returns whether point (tile) has been seen before or currently visible
|
1478
1438
|
#
|
1479
|
-
# _@param_ `
|
1480
|
-
def debug_set_score: (?score: Float) -> untyped
|
1481
|
-
|
1482
|
-
# Ends game with a specified result of either Surrender or DeclareVictory
|
1439
|
+
# _@param_ `x`
|
1483
1440
|
#
|
1484
|
-
# _@param_ `
|
1485
|
-
|
1441
|
+
# _@param_ `y`
|
1442
|
+
#
|
1443
|
+
# _@return_ — true if partially or fully lifted fog
|
1444
|
+
def map_seen?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1486
1445
|
|
1487
|
-
#
|
1446
|
+
# Returns whether the point (tile) has never been seen/explored before (dark fog)
|
1488
1447
|
#
|
1489
|
-
# _@param_ `
|
1448
|
+
# _@param_ `x`
|
1490
1449
|
#
|
1491
|
-
# _@param_ `
|
1450
|
+
# _@param_ `y`
|
1492
1451
|
#
|
1493
|
-
# _@
|
1494
|
-
def
|
1495
|
-
|
1496
|
-
# sord omit - no YARD return type given, using untyped
|
1497
|
-
# Sends actions via api and flushes debug_commands_queue
|
1498
|
-
def perform_debug_commands: () -> untyped
|
1499
|
-
|
1500
|
-
# Empties and resets @debug_queue
|
1501
|
-
def clear_debug_command_queue: () -> void
|
1452
|
+
# _@return_ — true if fog of war is fully dark
|
1453
|
+
def map_unseen?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1502
1454
|
|
1503
|
-
# sord
|
1504
|
-
#
|
1505
|
-
|
1455
|
+
# sord warn - Numo::SFloat wasn't able to be resolved to a constant in this project
|
1456
|
+
# Returns a parsed map_state.visibility from bot.observation.raw_data.
|
1457
|
+
# Each value in [row][column] holds one of three integers (0,1,2) to flag a vision type
|
1458
|
+
#
|
1459
|
+
# _@return_ — Numo array
|
1460
|
+
#
|
1461
|
+
# _@see_ `#visibility` — for reading from this value
|
1462
|
+
def parsed_visibility_grid: () -> Numo::SFloat
|
1506
1463
|
|
1507
|
-
#
|
1508
|
-
#
|
1509
|
-
|
1510
|
-
|
1464
|
+
# Returns whether a tile has creep on it, as per minimap
|
1465
|
+
# One pixel covers one whole block. Corrects float inputs on your behalf.
|
1466
|
+
#
|
1467
|
+
# _@param_ `x`
|
1468
|
+
#
|
1469
|
+
# _@param_ `y`
|
1470
|
+
#
|
1471
|
+
# _@return_ — true if location has creep on it
|
1472
|
+
def creep?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1511
1473
|
|
1512
|
-
|
1513
|
-
|
1514
|
-
#
|
1515
|
-
#
|
1516
|
-
|
1474
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1475
|
+
# Provides parsed minimap representation of creep spread
|
1476
|
+
# Caches for 4 frames
|
1477
|
+
#
|
1478
|
+
# _@return_ — Numo array
|
1479
|
+
def parsed_creep: () -> Numo::Bit
|
1517
1480
|
|
1518
|
-
# sord
|
1519
|
-
#
|
1520
|
-
|
1481
|
+
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1482
|
+
# sord omit - no YARD return type given, using untyped
|
1483
|
+
# TODO: Remove this method if it has no use. Build points uses this code directly for optimization.
|
1484
|
+
# Reduce the dimensions of a grid by merging cells using length x length squares.
|
1485
|
+
# Merged cell keeps it's 1 value only if all merged cells are equal to 1, else 0
|
1486
|
+
#
|
1487
|
+
# _@param_ `input_grid` — Bit grid like parsed_pathing_grid or parsed_placement_grid
|
1488
|
+
#
|
1489
|
+
# _@param_ `length` — how many cells to merge, i.e. 3 for finding 3x3 placement
|
1490
|
+
def divide_grid: (Numo::Bit input_grid, Integer length) -> untyped
|
1521
1491
|
|
1522
|
-
#
|
1523
|
-
#
|
1524
|
-
def
|
1492
|
+
# Returns own 2d start position as set by initial camera
|
1493
|
+
# This differs from position of first base structure
|
1494
|
+
def start_position: () -> Api::Point2D
|
1525
1495
|
|
1526
|
-
# Returns
|
1527
|
-
|
1528
|
-
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
1529
|
-
def unit_data: ((Integer | Api::Unit) unit) -> Api::UnitTypeData
|
1496
|
+
# Returns the enemy 2d start position
|
1497
|
+
def enemy_start_position: () -> Api::Point2D
|
1530
1498
|
|
1531
|
-
#
|
1532
|
-
#
|
1499
|
+
# Gets expos and surrounding minerals
|
1500
|
+
# The index is a build location for an expo and the value is a UnitGroup, which has minerals and geysers
|
1533
1501
|
#
|
1534
|
-
# _@
|
1535
|
-
def ability_data: (Integer ability_id) -> Api::AbilityData
|
1536
|
-
|
1537
|
-
# sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
|
1538
|
-
# Returns static [Api::UpgradeData] for an upgrade id
|
1502
|
+
# _@return_ — Location => UnitGroup of resources (minerals+geysers)
|
1539
1503
|
#
|
1540
|
-
#
|
1541
|
-
|
1504
|
+
# ```ruby
|
1505
|
+
# random_expo = geo.expansions.keys.sample #=> Point2D
|
1506
|
+
# expo_resources = geo.expansions[random_expo] #=> UnitGroup
|
1507
|
+
# alive_minerals = expo_resources.minerals & neutral.minerals
|
1508
|
+
# geysers = expo_resources.geysers
|
1509
|
+
# ```
|
1510
|
+
def expansions: () -> ::Hash[Api::Point2D, UnitGroup]
|
1542
1511
|
|
1543
|
-
#
|
1512
|
+
# Returns a list of 2d points for expansion build locations
|
1513
|
+
# Does not contain mineral info, but the value can be checked against geo.expansions
|
1544
1514
|
#
|
1545
|
-
# _@
|
1515
|
+
# _@return_ — points where expansions can be placed
|
1546
1516
|
#
|
1547
|
-
#
|
1517
|
+
# ```ruby
|
1518
|
+
# random_expo = expansion_points.sample
|
1519
|
+
# expo_resources = geo.expansions[random_expo]
|
1520
|
+
# ```
|
1521
|
+
def expansion_points: () -> ::Array[Api::Point2D]
|
1522
|
+
|
1523
|
+
# Returns a slice of #expansions where a base hasn't been built yet
|
1524
|
+
# The has index is a build position and the value is a UnitGroup of resources for the base
|
1548
1525
|
#
|
1549
|
-
# _@return_ —
|
1526
|
+
# _@return_ — Location => UnitGroup of resources (minerals+geysers)
|
1550
1527
|
#
|
1551
1528
|
# ```ruby
|
1552
|
-
#
|
1553
|
-
#
|
1554
|
-
#
|
1529
|
+
# # Lets find the nearest unoccupied expo
|
1530
|
+
# expo_pos = expansions_unoccupied.keys.min { |p2d| p2d.distance_to(structures.hq.first) }
|
1531
|
+
# # What minerals/geysers does it have?
|
1532
|
+
# puts expansions_unoccupied[expo_pos].minerals # or expansions[expo_pos]... => UnitGroup
|
1533
|
+
# puts expansions_unoccupied[expo_pos].geysers # or expansions[expo_pos]... => UnitGroup
|
1555
1534
|
# ```
|
1556
|
-
def
|
1535
|
+
def expansions_unoccupied: () -> ::Hash[Api::Point2D, UnitGroup]
|
1557
1536
|
|
1558
|
-
#
|
1537
|
+
# Gets minerals for a base or base position
|
1559
1538
|
#
|
1560
|
-
# _@param_ `
|
1561
|
-
|
1562
|
-
|
1563
|
-
|
1564
|
-
# Sums the cost (mineral/vespene/supply) of unit type used for internal spend trackers
|
1565
|
-
# This is called internally when building/morphing/training
|
1566
|
-
def subtract_cost: (untyped unit_type_id) -> void
|
1567
|
-
|
1568
|
-
# sord omit - no YARD type given for "unit_type_id:", using untyped
|
1569
|
-
# sord omit - no YARD type given for "quantity:", using untyped
|
1570
|
-
# Checks whether you have the resources to construct quantity of unit type
|
1571
|
-
def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
|
1539
|
+
# _@param_ `base` — base Unit or Position
|
1540
|
+
#
|
1541
|
+
# _@return_ — UnitGroup of minerals for the base
|
1542
|
+
def minerals_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
1572
1543
|
|
1573
|
-
#
|
1574
|
-
#
|
1575
|
-
|
1544
|
+
# Gets geysers for a base or base position
|
1545
|
+
#
|
1546
|
+
# _@param_ `base` — base Unit or Position
|
1547
|
+
#
|
1548
|
+
# _@return_ — UnitGroup of geysers for the base
|
1549
|
+
def geysers_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
1576
1550
|
|
1577
|
-
#
|
1578
|
-
# Queries API if necessary. Uses batching in the background.
|
1551
|
+
# Gets geysers which have not been taken for a base or base position
|
1579
1552
|
#
|
1580
|
-
# _@param_ `
|
1553
|
+
# _@param_ `base` — base Unit or Position
|
1581
1554
|
#
|
1582
|
-
# _@
|
1583
|
-
def
|
1555
|
+
# _@return_ — UnitGroup of geysers for the base
|
1556
|
+
def geysers_open_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
1584
1557
|
|
1585
|
-
#
|
1586
|
-
# sord omit - no YARD return type given, using untyped
|
1587
|
-
# Divides raw data units into various attributes on every step
|
1588
|
-
# Note, this needs to be fast.
|
1558
|
+
# _@param_ `base` — base Unit or Position
|
1589
1559
|
#
|
1590
|
-
# _@
|
1591
|
-
def
|
1560
|
+
# _@return_ — UnitGroup of resources (minerals+geysers)
|
1561
|
+
def resources_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
1592
1562
|
|
1593
|
-
#
|
1563
|
+
# Gets gasses for a base or base position
|
1594
1564
|
#
|
1595
|
-
# _@
|
1596
|
-
|
1565
|
+
# _@param_ `base` — base Unit or Position
|
1566
|
+
#
|
1567
|
+
# _@return_ — UnitGroup of geysers for the base
|
1568
|
+
def gas_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
1597
1569
|
|
1598
|
-
#
|
1570
|
+
# sord omit - no YARD type given for "in_power:", using untyped
|
1571
|
+
# Gets buildable point grid for squares of size, i.e. 3 = 3x3 placements
|
1572
|
+
# Uses pathing grid internally, to ignore taken positions
|
1573
|
+
# Does not query the api and is generally fast.
|
1599
1574
|
#
|
1600
|
-
# _@
|
1601
|
-
|
1575
|
+
# _@param_ `length` — length of the building, 2 for depot/pylon, 3 for rax/gate
|
1576
|
+
#
|
1577
|
+
# _@param_ `on_creep` — whether this build location should be on creep
|
1578
|
+
#
|
1579
|
+
# _@return_ — Array of [x,y] tuples
|
1580
|
+
def build_coordinates: (length: Integer, ?on_creep: bool, ?in_power: untyped) -> ::Array[::Array[[Float, Float]]]
|
1602
1581
|
|
1603
|
-
#
|
1604
|
-
#
|
1605
|
-
#
|
1606
|
-
|
1607
|
-
|
1608
|
-
#
|
1609
|
-
#
|
1610
|
-
#
|
1611
|
-
#
|
1612
|
-
|
1613
|
-
|
1614
|
-
|
1615
|
-
|
1616
|
-
# _@return_ —
|
1617
|
-
|
1618
|
-
|
1619
|
-
|
1620
|
-
|
1621
|
-
|
1622
|
-
|
1623
|
-
# sord omit - no YARD type given for :placeholders, using untyped
|
1624
|
-
# A list of structures which haven't started
|
1625
|
-
attr_accessor placeholders: untyped
|
1626
|
-
|
1627
|
-
# _@return_ — a group of neutral units
|
1628
|
-
attr_accessor neutral: Sc2::UnitGroup
|
1629
|
-
|
1630
|
-
# _@return_ — a group of neutral units
|
1631
|
-
attr_accessor effects: Sc2::UnitGroup
|
1632
|
-
|
1633
|
-
# sord omit - no YARD type given for :upgrades_completed, using untyped
|
1634
|
-
# Returns the upgrade ids you have acquired such as weapon upgrade and armor upgrade ids.
|
1635
|
-
# Shorthand for observation.raw_data.player.upgrade_ids
|
1636
|
-
attr_reader upgrades_completed: untyped
|
1637
|
-
|
1638
|
-
# sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
|
1639
|
-
# sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
|
1640
|
-
# _@return_ — an array of radar rings sources
|
1641
|
-
attr_accessor power_sources: ::Array[Api::RadarRing]
|
1642
|
-
|
1643
|
-
# sord omit - no YARD type given for :radar_rings, using untyped
|
1644
|
-
# An array of Sensor tower rings as per minimap. It has a `pos` and a `radius`
|
1645
|
-
attr_accessor radar_rings: untyped
|
1646
|
-
|
1647
|
-
# sord omit - no YARD type given for :_all_seen_unit_tags, using untyped
|
1648
|
-
# Privately keep track of all seen Unit tags (excl structures) in order to detect new created units
|
1649
|
-
attr_accessor _all_seen_unit_tags: untyped
|
1650
|
-
|
1651
|
-
# sord omit - no YARD type given for :all_seen_unit_tags, using untyped
|
1652
|
-
# Privately keep track of all seen Unit tags (excl structures) in order to detect new created units
|
1653
|
-
attr_accessor all_seen_unit_tags: untyped
|
1654
|
-
|
1655
|
-
# _@return_ — group of Units and Structures effected
|
1656
|
-
attr_accessor event_units_damaged: Sc2::UnitGroup
|
1657
|
-
|
1658
|
-
# sord omit - no YARD type given for :event_units_destroyed, using untyped
|
1659
|
-
# TODO: Unit buff disabled, because it calls back too often (mineral in hand). Put back if useful
|
1660
|
-
# Units (Unit/Structure) on which a new buff_ids appeared this frame
|
1661
|
-
# See which buffs via: unit.buff_ids - unit.previous.buff_ids
|
1662
|
-
# Read this on_step. Alternative to callback on_unit_buffed
|
1663
|
-
# attr_accessor :event_units_buffed
|
1664
|
-
attr_accessor event_units_destroyed: untyped
|
1665
|
-
end
|
1582
|
+
# Gets a buildable location for a square of length, near target. Chooses from random amount of nearest locations.
|
1583
|
+
# For robustness, it is advised to set `random` to, i.e. 3, to allow choosing the 3 nearest possible places, should one location be blocked.
|
1584
|
+
# For zerg, the buildable locations are only on creep.
|
1585
|
+
# Internally creates a kdtree for building locations based on pathable, placeable and creep
|
1586
|
+
#
|
1587
|
+
# _@param_ `length` — length of the building, 2 for depot/pylon, 3 for rax/gate
|
1588
|
+
#
|
1589
|
+
# _@param_ `target` — near where to find a placement
|
1590
|
+
#
|
1591
|
+
# _@param_ `random` — number of nearest points to randomly choose from. 1 for nearest point.
|
1592
|
+
#
|
1593
|
+
# _@param_ `in_power` — whether this must be on a power field
|
1594
|
+
#
|
1595
|
+
# _@return_ — buildable location, nil if no buildable location found
|
1596
|
+
def build_placement_near: (
|
1597
|
+
length: Integer,
|
1598
|
+
target: (Api::Unit | Sc2::Position),
|
1599
|
+
?random: Integer,
|
1600
|
+
?in_power: bool
|
1601
|
+
) -> Api::Point2D?
|
1666
1602
|
|
1667
|
-
|
1668
|
-
module Actions
|
1669
|
-
# sord warn - Api::Action wasn't able to be resolved to a constant in this project
|
1670
|
-
# Queues action for performing end of step
|
1603
|
+
# Draws a grid within a unit (pylon/prisms) radius, then selects points which are placeable
|
1671
1604
|
#
|
1672
|
-
# _@param_ `
|
1673
|
-
|
1605
|
+
# _@param_ `source` — either a pylon or a prism
|
1606
|
+
#
|
1607
|
+
# _@param_ `unit_type_id` — optionally, the unit you wish to place. Stalkers are widest, so use default nil for a mixed composition warp
|
1608
|
+
#
|
1609
|
+
# _@return_ — an array of 2d points where theoretically placeable
|
1610
|
+
def warp_points: (source: Api::Unit, ?unit_type_id: Api::Unit?) -> ::Array[Api::Point2D]
|
1674
1611
|
|
1675
|
-
#
|
1676
|
-
#
|
1612
|
+
# Finds points in a straight line.
|
1613
|
+
# In a line, on the angle of source->target point, starting at source+offset, in increments find points on the line up to max distance
|
1677
1614
|
#
|
1678
|
-
# _@param_ `
|
1615
|
+
# _@param_ `source` — location from which we go
|
1679
1616
|
#
|
1680
|
-
# _@param_ `
|
1617
|
+
# _@param_ `target` — location towards which we go
|
1681
1618
|
#
|
1682
|
-
# _@param_ `
|
1619
|
+
# _@param_ `offset` — how far from source to start
|
1683
1620
|
#
|
1684
|
-
# _@param_ `
|
1621
|
+
# _@param_ `increment` — how far apart to gets, i.e. increment = unit.radius*2 to space units in a line
|
1685
1622
|
#
|
1686
|
-
# _@param_ `
|
1687
|
-
def action_raw_unit_command: (
|
1688
|
-
unit_tags: ::Array[Integer],
|
1689
|
-
ability_id: Integer,
|
1690
|
-
?queue_command: bool,
|
1691
|
-
?target_world_space_pos: Api::Point2D?,
|
1692
|
-
?target_unit_tag: Integer?
|
1693
|
-
) -> untyped
|
1694
|
-
|
1695
|
-
# sord omit - no YARD return type given, using untyped
|
1696
|
-
# Queues a Api::ActionRawUnitCommand.
|
1697
|
-
# Send accepts a Api::Unit, tag or tags and targets Api::Point2D or unit.tag
|
1623
|
+
# _@param_ `count` — number of points to retrieve
|
1698
1624
|
#
|
1699
|
-
# _@
|
1625
|
+
# _@return_ — points up to a max of count
|
1626
|
+
def points_nearest_linear: (
|
1627
|
+
source: Sc2::Position,
|
1628
|
+
target: Sc2::Position,
|
1629
|
+
?offset: Float,
|
1630
|
+
?increment: Float,
|
1631
|
+
?count: Integer
|
1632
|
+
) -> ::Array[Api::Point2D]
|
1633
|
+
|
1634
|
+
# Gets a random point near a location with a positive/negative offset applied to both x and y
|
1700
1635
|
#
|
1701
|
-
# _@param_ `
|
1636
|
+
# _@param_ `pos`
|
1702
1637
|
#
|
1703
|
-
# _@param_ `
|
1638
|
+
# _@param_ `offset`
|
1704
1639
|
#
|
1705
|
-
#
|
1706
|
-
|
1707
|
-
|
1708
|
-
|
1709
|
-
|
1710
|
-
?queue_command: bool
|
1711
|
-
) -> untyped
|
1640
|
+
# ```ruby
|
1641
|
+
# Randomly randomly adjust both x and y by a range of -3.5 or +3.5
|
1642
|
+
# geo.point_random_near(point: structures.hq.first, offset: 3.5)
|
1643
|
+
# ```
|
1644
|
+
def point_random_near: (pos: Sc2::Position, ?offset: Float) -> Api::Point2D
|
1712
1645
|
|
1713
|
-
#
|
1714
|
-
# Builds target unit type using units as source at optional target
|
1646
|
+
# _@param_ `pos`
|
1715
1647
|
#
|
1716
|
-
# _@param_ `
|
1648
|
+
# _@param_ `radius`
|
1649
|
+
def point_random_on_circle: (pos: Sc2::Position, ?radius: Float) -> Api::Point2D
|
1650
|
+
|
1651
|
+
# _@return_ — player with active connection
|
1652
|
+
attr_accessor bot: (Sc2::Player | untyped)
|
1653
|
+
end
|
1654
|
+
|
1655
|
+
# WARNING! Debug methods will not be available on Ladder
|
1656
|
+
# This provides debug helper functions for RequestDebug
|
1657
|
+
module Debug
|
1658
|
+
# sord warn - Api::DebugCommand wasn't able to be resolved to a constant in this project
|
1659
|
+
# Queues debug command for performing later
|
1717
1660
|
#
|
1718
|
-
# _@param_ `
|
1661
|
+
# _@param_ `debug_command`
|
1662
|
+
def queue_debug_command: (Api::DebugCommand debug_command) -> void
|
1663
|
+
|
1664
|
+
# sord warn - Size wasn't able to be resolved to a constant in this project
|
1665
|
+
# Prints debug text top left corner
|
1719
1666
|
#
|
1720
|
-
# _@param_ `
|
1667
|
+
# _@param_ `text` — will respect newlines
|
1721
1668
|
#
|
1722
|
-
# _@param_ `
|
1723
|
-
def
|
1724
|
-
units: (::Array[Integer] | Integer | Api::Unit),
|
1725
|
-
unit_type_id: Integer,
|
1726
|
-
?target: (Api::Point2D | Integer)?,
|
1727
|
-
?queue_command: bool
|
1728
|
-
) -> untyped
|
1669
|
+
# _@param_ `size` — of font, default 14px
|
1670
|
+
def debug_print: (String text, ?size: Size) -> void
|
1729
1671
|
|
1730
|
-
# sord
|
1731
|
-
#
|
1732
|
-
# When not specifying the specific warp gate(s), all warpgates will be used
|
1672
|
+
# sord warn - Size wasn't able to be resolved to a constant in this project
|
1673
|
+
# Prints text on screen from top and left
|
1733
1674
|
#
|
1734
|
-
# _@param_ `
|
1675
|
+
# _@param_ `text` — will respect newlines
|
1735
1676
|
#
|
1736
|
-
# _@param_ `
|
1677
|
+
# _@param_ `left_percent` — range 0..100. percent from left of screen
|
1737
1678
|
#
|
1738
|
-
# _@param_ `
|
1679
|
+
# _@param_ `top_percent` — range 0..100. percent from top of screen
|
1739
1680
|
#
|
1740
|
-
# _@param_ `
|
1741
|
-
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1681
|
+
# _@param_ `color` — default white
|
1682
|
+
#
|
1683
|
+
# _@param_ `size` — of font, default 14px
|
1684
|
+
def debug_text_screen: (
|
1685
|
+
String text,
|
1686
|
+
?left_percent: Numeric,
|
1687
|
+
?top_percent: Numeric,
|
1688
|
+
?color: Api::Color?,
|
1689
|
+
?size: Size
|
1690
|
+
) -> void
|
1747
1691
|
|
1748
|
-
# sord
|
1749
|
-
#
|
1692
|
+
# sord warn - Size wasn't able to be resolved to a constant in this project
|
1693
|
+
# Prints text on screen at 3d world position
|
1750
1694
|
#
|
1751
|
-
# _@param_ `
|
1695
|
+
# _@param_ `text` — will respect newlines
|
1752
1696
|
#
|
1753
|
-
# _@param_ `
|
1697
|
+
# _@param_ `point` — point in the world, i.e. unit.pos
|
1754
1698
|
#
|
1755
|
-
# _@param_ `
|
1756
|
-
|
1699
|
+
# _@param_ `color` — default white
|
1700
|
+
#
|
1701
|
+
# _@param_ `size` — of font, default 14px
|
1702
|
+
def debug_text_world: (
|
1703
|
+
String text,
|
1704
|
+
point: Api::Point,
|
1705
|
+
?color: Api::Color?,
|
1706
|
+
?size: Size
|
1707
|
+
) -> void
|
1757
1708
|
|
1758
|
-
#
|
1709
|
+
# Draws a line between two Api::Point's for color
|
1759
1710
|
#
|
1760
|
-
# _@param_ `
|
1711
|
+
# _@param_ `p0` — the first point
|
1761
1712
|
#
|
1762
|
-
# _@param_ `
|
1763
|
-
|
1713
|
+
# _@param_ `p1` — the second point
|
1714
|
+
#
|
1715
|
+
# _@param_ `color` — default white
|
1716
|
+
def debug_draw_line: (p0: Api::Point, p1: Api::Point, ?color: Api::Color?) -> void
|
1764
1717
|
|
1765
|
-
#
|
1718
|
+
# Draws a box around position xy at base of z. Good for structure boxing.
|
1766
1719
|
#
|
1767
1720
|
# _@param_ `point`
|
1768
|
-
def action_raw_camera_move: (point: Api::Point) -> void
|
1769
|
-
|
1770
|
-
# sord warn - Api::Point2I wasn't able to be resolved to a constant in this project
|
1771
|
-
# sord warn - Api::Point2I wasn't able to be resolved to a constant in this project
|
1772
|
-
# Issues spatial unit command. Target is either target_screen_coord or target_minimap_coord.
|
1773
1721
|
#
|
1774
|
-
# _@param_ `
|
1722
|
+
# _@param_ `radius` — default one tile wide, 1.0
|
1775
1723
|
#
|
1776
|
-
# _@param_ `
|
1724
|
+
# _@param_ `color` — default white. min(r,b) is used for both r&b
|
1777
1725
|
#
|
1778
|
-
#
|
1726
|
+
# ```ruby
|
1727
|
+
# # Draws a box on structure placement grid
|
1728
|
+
# debug_draw_box(point: unit.pos, radius: unit.footprint_radius)
|
1729
|
+
# ```
|
1779
1730
|
#
|
1780
|
-
# _@
|
1781
|
-
def action_spatial_unit_command: (
|
1782
|
-
ability_id: Api::AbilityId,
|
1783
|
-
?target_screen_coord: Api::Point2I?,
|
1784
|
-
?target_minimap_coord: Api::Point2I?,
|
1785
|
-
?queue_command: bool
|
1786
|
-
) -> void
|
1787
|
-
|
1788
|
-
# sord warn - Api::Point2I wasn't able to be resolved to a constant in this project
|
1789
|
-
# Simulates a click on the minimap to move the camera.
|
1731
|
+
# _@note_ — Api::Color RGB is broken for this command. Will use min(r,b)
|
1790
1732
|
#
|
1791
|
-
# _@
|
1792
|
-
def
|
1733
|
+
# _@note_ — Z index is elevated 0.02 so the line is visible and doesn't clip through terrain
|
1734
|
+
def debug_draw_box: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
|
1793
1735
|
|
1794
|
-
#
|
1736
|
+
# Debug draws a sphere at position with a radius in color
|
1795
1737
|
#
|
1796
|
-
# _@param_ `
|
1738
|
+
# _@param_ `point`
|
1797
1739
|
#
|
1798
|
-
# _@param_ `
|
1799
|
-
|
1740
|
+
# _@param_ `radius` — default one tile wide, 1.0
|
1741
|
+
#
|
1742
|
+
# _@param_ `color` — default white
|
1743
|
+
def debug_draw_sphere: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
|
1800
1744
|
|
1801
|
-
# sord warn - Api::
|
1802
|
-
#
|
1745
|
+
# sord warn - Api::Position wasn't able to be resolved to a constant in this project
|
1746
|
+
# sord omit - no YARD return type given, using untyped
|
1747
|
+
# Renders a block on the floor, drawn by 4 lines
|
1748
|
+
# Pass in either a pos (Position/Unit) or exact x * y coordinates
|
1749
|
+
# Optional indentation adds padding on borders inward
|
1803
1750
|
#
|
1804
|
-
# _@param_ `
|
1751
|
+
# _@param_ `pos`
|
1805
1752
|
#
|
1806
|
-
# _@param_ `
|
1807
|
-
def action_spatial_unit_selection_rect: (selection_screen_coord: Api::RectangleI, ?selection_add: bool) -> void
|
1808
|
-
|
1809
|
-
# Perform action on control group like setting or recalling, use in conjunction with unit selection.
|
1810
|
-
# Populated if Feature Layer or Render interface is enabled.
|
1753
|
+
# _@param_ `x`
|
1811
1754
|
#
|
1812
|
-
# _@param_ `
|
1755
|
+
# _@param_ `y`
|
1813
1756
|
#
|
1814
|
-
# _@param_ `
|
1815
|
-
def action_ui_control_group: (action: Integer, control_group_index: Integer) -> void
|
1816
|
-
|
1817
|
-
# Selects army (F2)
|
1757
|
+
# _@param_ `color`
|
1818
1758
|
#
|
1819
|
-
# _@param_ `
|
1820
|
-
def action_ui_select_army: (?selection_add: bool) -> void
|
1821
|
-
|
1822
|
-
# Selects warp gates (Protoss)
|
1759
|
+
# _@param_ `indent` — default 0.05. should be lower than < 1.0
|
1823
1760
|
#
|
1824
|
-
#
|
1825
|
-
|
1826
|
-
|
1827
|
-
#
|
1828
|
-
|
1761
|
+
# ```ruby
|
1762
|
+
# debug_tile(x: 12.3, y: 4.56, color: Api::Color.new(r: 255, g: 0, b: 0))
|
1763
|
+
# debug_tile(some_unit)
|
1764
|
+
# debug_tile(some_unit.pos)
|
1765
|
+
# ```
|
1766
|
+
def debug_tile: (
|
1767
|
+
?(Api::Unit | Api::Position)? pos,
|
1768
|
+
?x: (Float | Integer)?,
|
1769
|
+
?y: (Float | Integer)?,
|
1770
|
+
?color: Api::Color?,
|
1771
|
+
?indent: Float
|
1772
|
+
) -> untyped
|
1829
1773
|
|
1830
|
-
#
|
1831
|
-
#
|
1774
|
+
# Possible values:
|
1775
|
+
# Api::DebugGameState::Show_map
|
1776
|
+
# Api::DebugGameState::Control_enemy
|
1777
|
+
# Api::DebugGameState::Food
|
1778
|
+
# Api::DebugGameState::Free
|
1779
|
+
# Api::DebugGameState::All_resources
|
1780
|
+
# Api::DebugGameState::God
|
1781
|
+
# Api::DebugGameState::Minerals
|
1782
|
+
# Api::DebugGameState::Gas
|
1783
|
+
# Api::DebugGameState::Cooldown
|
1784
|
+
# Api::DebugGameState::Tech_tree
|
1785
|
+
# Api::DebugGameState::Upgrade
|
1786
|
+
# Api::DebugGameState::Fast_build
|
1832
1787
|
#
|
1833
|
-
# _@param_ `
|
1834
|
-
def
|
1788
|
+
# _@param_ `command` — one of Api::DebugGameState::*
|
1789
|
+
def debug_game_state: (Integer command) -> void
|
1835
1790
|
|
1836
|
-
#
|
1837
|
-
# Multi-panel actions for select/deselect
|
1838
|
-
# message ActionMultiPanel {
|
1839
|
-
# optional Type type = 1;
|
1840
|
-
# optional int32 unit_index = 2;
|
1841
|
-
# }
|
1791
|
+
# Spawns a quantity of units under an owner at position given
|
1842
1792
|
#
|
1843
|
-
# _@param_ `
|
1793
|
+
# _@param_ `unit_type_id` — Api::UnitTypeId::*
|
1844
1794
|
#
|
1845
|
-
# _@param_ `
|
1846
|
-
|
1795
|
+
# _@param_ `owner` — typically you are 1 and 2 is enemy (see @common.player_id)
|
1796
|
+
#
|
1797
|
+
# _@param_ `pos` — position in 2d
|
1798
|
+
#
|
1799
|
+
# _@param_ `quantity` — default 1
|
1800
|
+
def debug_create_unit: (
|
1801
|
+
unit_type_id: Integer,
|
1802
|
+
owner: Integer,
|
1803
|
+
pos: Api::Point2D,
|
1804
|
+
?quantity: Integer
|
1805
|
+
) -> void
|
1847
1806
|
|
1848
|
-
#
|
1849
|
-
# Cargo panel actions for unloading units.
|
1807
|
+
# Kills a target unit or unit tag
|
1850
1808
|
#
|
1851
|
-
# _@param_ `
|
1852
|
-
def
|
1809
|
+
# _@param_ `unit_tags` — one or many unit tags to kill
|
1810
|
+
def debug_kill_unit: (unit_tags: (Integer | ::Array[Integer])) -> void
|
1811
|
+
|
1812
|
+
# Hangs, crashes and exits the Sc2 client. DO NOT USE.
|
1813
|
+
#
|
1814
|
+
# _@param_ `test` — one of Api::DebugTestProcess::Test::Crash, Api::DebugTestProcess::Test::Hang, Api::DebugTestProcess::Test::Exit
|
1815
|
+
#
|
1816
|
+
# _@param_ `delay_ms` — default 0, how long this test is delayed
|
1817
|
+
def debug_test_process: (test: Integer, ?delay_ms: Integer) -> void
|
1853
1818
|
|
1854
1819
|
# sord omit - no YARD return type given, using untyped
|
1855
|
-
#
|
1820
|
+
# Useful only for single-player "curriculum" maps
|
1856
1821
|
#
|
1857
|
-
# _@param_ `
|
1858
|
-
def
|
1822
|
+
# _@param_ `score` — sets the score
|
1823
|
+
def debug_set_score: (?score: Float) -> untyped
|
1859
1824
|
|
1860
|
-
#
|
1861
|
-
# Toggle autocast on selected unit. Also possible with raw actions using a unit target.
|
1825
|
+
# Ends game with a specified result of either Surrender or DeclareVictory
|
1862
1826
|
#
|
1863
|
-
# _@param_ `
|
1864
|
-
def
|
1827
|
+
# _@param_ `end_result` — either 1/2. Api::DebugEndGame::EndResult::Surrender or Api::DebugEndGame::EndResult::DeclareVictory
|
1828
|
+
def debug_end_game: (end_result: Integer) -> void
|
1865
1829
|
|
1866
|
-
#
|
1867
|
-
# Send a chat message
|
1830
|
+
# Sets unit_value Energy, Life or Shields for a specific unit tag to given value
|
1868
1831
|
#
|
1869
|
-
# _@param_ `
|
1832
|
+
# _@param_ `unit_tag`
|
1870
1833
|
#
|
1871
|
-
# _@param_ `
|
1872
|
-
|
1834
|
+
# _@param_ `unit_value` — 1=Energy,2=Life,3=Shields one of Api::DebugSetUnitValue::UnitValue::*
|
1835
|
+
#
|
1836
|
+
# _@param_ `value` — the value which the attribute will be set to
|
1837
|
+
def debug_set_unit_value: (unit_tag: Integer, unit_value: Integer, value: Float) -> void
|
1873
1838
|
|
1874
1839
|
# sord omit - no YARD return type given, using untyped
|
1875
|
-
# Sends actions via api and flushes
|
1876
|
-
def
|
1840
|
+
# Sends actions via api and flushes debug_commands_queue
|
1841
|
+
def perform_debug_commands: () -> untyped
|
1877
1842
|
|
1878
|
-
# Empties and resets @
|
1879
|
-
def
|
1843
|
+
# Empties and resets @debug_queue
|
1844
|
+
def clear_debug_command_queue: () -> void
|
1880
1845
|
|
1881
|
-
#
|
1882
|
-
#
|
1883
|
-
|
1884
|
-
# _@param_ `source` — unit tag, tags, unit or unit group
|
1885
|
-
#
|
1886
|
-
# _@return_ — unit tag array
|
1887
|
-
def unit_tags_from_source: ((Integer | ::Array[Integer] | Api::Unit | Sc2::UnitGroup) source) -> ::Array[Integer]
|
1846
|
+
# sord omit - no YARD type given for :debug_command_queue, using untyped
|
1847
|
+
# Holds debug commands which will be queued off each time we step forward
|
1848
|
+
attr_accessor debug_command_queue: untyped
|
1888
1849
|
|
1889
1850
|
# sord warn - Api::Action wasn't able to be resolved to a constant in this project
|
1890
|
-
|
1851
|
+
# sord warn - Api::Action wasn't able to be resolved to a constant in this project
|
1852
|
+
attr_accessor debug_commands_queue: ::Array[Api::Action]
|
1891
1853
|
end
|
1892
1854
|
|
1893
|
-
#
|
1894
|
-
|
1895
|
-
# sord omit - no YARD type given for "
|
1896
|
-
|
1855
|
+
# Helper methods for working with units
|
1856
|
+
module Units
|
1857
|
+
# sord omit - no YARD type given for "upgrade_id", using untyped
|
1858
|
+
# Returns true if this upgrade has finished researching
|
1859
|
+
def upgrade_completed?: (untyped upgrade_id) -> bool
|
1897
1860
|
|
1898
|
-
#
|
1899
|
-
#
|
1900
|
-
def
|
1861
|
+
# Returns the upgrade ids which are researching or queued
|
1862
|
+
# Not set for enemy.
|
1863
|
+
def upgrades_in_progress: () -> ::Array[Integer]
|
1901
1864
|
|
1902
|
-
#
|
1903
|
-
#
|
1904
|
-
def
|
1865
|
+
# sord omit - no YARD type given for "upgrade_id", using untyped
|
1866
|
+
# Returns true if the upgrade is busy researching
|
1867
|
+
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
1905
1868
|
|
1906
|
-
#
|
1907
|
-
|
1869
|
+
# sord omit - no YARD type given for "unit_type_id", using untyped
|
1870
|
+
# For this unit type, tells you how many are in progress by checking orders for all it's sources.
|
1871
|
+
def units_in_progress: (untyped unit_type_id) -> Integer
|
1908
1872
|
|
1909
|
-
# Returns
|
1873
|
+
# Returns static [Api::UnitTypeData] for a unit
|
1910
1874
|
#
|
1911
|
-
# _@
|
1912
|
-
def
|
1875
|
+
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
1876
|
+
def unit_data: ((Integer | Api::Unit) unit) -> Api::UnitTypeData
|
1913
1877
|
|
1914
|
-
#
|
1878
|
+
# sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
|
1879
|
+
# Returns static [Api::AbilityData] for an ability
|
1915
1880
|
#
|
1916
|
-
# _@
|
1917
|
-
def
|
1918
|
-
|
1919
|
-
# Returns zero to map_width-1 as range
|
1920
|
-
def map_tile_range_x: () -> ::Range[untyped]
|
1881
|
+
# _@param_ `ability_id` — Api::AbilityId::*
|
1882
|
+
def ability_data: (Integer ability_id) -> Api::AbilityData
|
1921
1883
|
|
1922
|
-
#
|
1923
|
-
|
1884
|
+
# sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
|
1885
|
+
# Returns static [Api::UpgradeData] for an upgrade id
|
1886
|
+
#
|
1887
|
+
# _@param_ `upgrade_id` — Api::UpgradeId::*
|
1888
|
+
def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
|
1924
1889
|
|
1925
|
-
#
|
1926
|
-
# It does not say whether a position is occupied by another building.
|
1927
|
-
# One pixel covers one whole block. Corrects floats on your behalf
|
1890
|
+
# Checks unit data for an attribute value
|
1928
1891
|
#
|
1929
|
-
# _@param_ `
|
1892
|
+
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
1930
1893
|
#
|
1931
|
-
# _@param_ `
|
1894
|
+
# _@param_ `attribute` — Api::Attribute, i.e. Api::Attribute::Mechanical or :Mechanical
|
1932
1895
|
#
|
1933
|
-
# _@return_ — whether
|
1896
|
+
# _@return_ — whether unit has attribute
|
1934
1897
|
#
|
1935
|
-
#
|
1936
|
-
|
1937
|
-
|
1938
|
-
#
|
1939
|
-
#
|
1940
|
-
|
1941
|
-
# It does not say whether a position is occupied by another building.
|
1942
|
-
# One pixel covers one whole block. Rounds fractionated positions down.
|
1943
|
-
def parsed_placement_grid: () -> Numo::Bit
|
1898
|
+
# ```ruby
|
1899
|
+
# unit_has_attribute?(Api::UnitTypeId::SCV, Api::Attribute::Mechanical)
|
1900
|
+
# unit_has_attribute?(units.workers.first, :Mechanical)
|
1901
|
+
# unit_has_attribute?(Api::UnitTypeId::SCV, :Mechanical)
|
1902
|
+
# ```
|
1903
|
+
def unit_has_attribute?: ((Integer | Api::Unit) unit, Symbol attribute) -> bool
|
1944
1904
|
|
1945
|
-
#
|
1946
|
-
# To see if a unit/structure is blocking an expansion, pass their coordinates to this method.
|
1947
|
-
#
|
1948
|
-
# _@param_ `x`
|
1949
|
-
#
|
1950
|
-
# _@param_ `y`
|
1905
|
+
# Creates a unit group from all_units with matching tag
|
1951
1906
|
#
|
1952
|
-
# _@
|
1953
|
-
def
|
1907
|
+
# _@param_ `tags` — array of unit tags
|
1908
|
+
def unit_group_from_tags: (::Array[Integer] tags) -> Sc2::UnitGroup
|
1954
1909
|
|
1955
|
-
# sord
|
1956
|
-
#
|
1957
|
-
|
1910
|
+
# sord omit - no YARD type given for "unit_type_id", using untyped
|
1911
|
+
# Sums the cost (mineral/vespene/supply) of unit type used for internal spend trackers
|
1912
|
+
# This is called internally when building/morphing/training
|
1913
|
+
def subtract_cost: (untyped unit_type_id) -> void
|
1958
1914
|
|
1959
|
-
# sord
|
1960
|
-
#
|
1961
|
-
|
1915
|
+
# sord omit - no YARD type given for "unit_type_id:", using untyped
|
1916
|
+
# sord omit - no YARD type given for "quantity:", using untyped
|
1917
|
+
# Checks whether you have the resources to construct quantity of unit type
|
1918
|
+
def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
|
1962
1919
|
|
1963
|
-
#
|
1964
|
-
#
|
1965
|
-
|
1966
|
-
# _@param_ `x`
|
1967
|
-
#
|
1968
|
-
# _@param_ `y`
|
1969
|
-
#
|
1970
|
-
# _@return_ — true if location is powered
|
1971
|
-
def powered?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
1920
|
+
# sord omit - no YARD type given for "upgrade_id", using untyped
|
1921
|
+
# Checks whether you have the resources to
|
1922
|
+
def can_afford_upgrade?: (untyped upgrade_id) -> bool
|
1972
1923
|
|
1973
|
-
# Returns whether
|
1974
|
-
#
|
1924
|
+
# Returns whether Query Available Ability is true for unit and tag
|
1925
|
+
# Queries API if necessary. Uses batching in the background.
|
1975
1926
|
#
|
1976
|
-
# _@param_ `
|
1927
|
+
# _@param_ `unit_tag`
|
1977
1928
|
#
|
1978
|
-
# _@param_ `
|
1929
|
+
# _@param_ `ability_id`
|
1930
|
+
def unit_ability_available?: (unit_tag: Integer, ability_id: Integer) -> bool
|
1931
|
+
|
1932
|
+
# sord warn - Api::Observation wasn't able to be resolved to a constant in this project
|
1933
|
+
# sord omit - no YARD return type given, using untyped
|
1934
|
+
# Divides raw data units into various attributes on every step
|
1935
|
+
# Note, this needs to be fast.
|
1979
1936
|
#
|
1980
|
-
# _@
|
1981
|
-
def
|
1937
|
+
# _@param_ `observation`
|
1938
|
+
def parse_observation_units: (Api::Observation observation) -> untyped
|
1982
1939
|
|
1983
|
-
#
|
1984
|
-
# Gets the pathable areas as things stand right now in the game
|
1985
|
-
# Buildings, minerals, structures, etc. all result in a nonpathable place
|
1940
|
+
# Returns alliance based on whether you are a player or an enemy
|
1986
1941
|
#
|
1987
|
-
# _@return_ —
|
1942
|
+
# _@return_ — :Self or :Enemy from Api::Alliance
|
1943
|
+
def own_alliance: () -> Symbol
|
1944
|
+
|
1945
|
+
# Returns enemy alliance based on whether you are a player or an enemy
|
1988
1946
|
#
|
1989
|
-
#
|
1990
|
-
|
1991
|
-
# # use helper function #pathable
|
1992
|
-
# pathable?(x: 0, y: 0) # reads bottom left corner
|
1993
|
-
# ```
|
1994
|
-
def parsed_pathing_grid: () -> Numo::Bit
|
1947
|
+
# _@return_ — :Self or :Enemy from Api::Alliance
|
1948
|
+
def enemy_alliance: () -> Symbol
|
1995
1949
|
|
1950
|
+
# sord omit - no YARD type given for "unit", using untyped
|
1996
1951
|
# sord omit - no YARD return type given, using untyped
|
1997
|
-
#
|
1998
|
-
|
1999
|
-
def clear_cached_pathing_grid: () -> untyped
|
1952
|
+
# Issues units/structure callbacks for units which are new
|
1953
|
+
def issue_new_unit_callbacks: (untyped unit) -> untyped
|
2000
1954
|
|
2001
|
-
#
|
2002
|
-
#
|
2003
|
-
#
|
2004
|
-
#
|
2005
|
-
|
2006
|
-
# _@param_ `y`
|
2007
|
-
#
|
2008
|
-
# _@return_ — z axis position between -16 and 16
|
2009
|
-
def terrain_height: (x: (Float | Integer), y: (Float | Integer)) -> Float
|
1955
|
+
# sord omit - no YARD type given for "unit", using untyped
|
1956
|
+
# sord omit - no YARD type given for "previous_unit", using untyped
|
1957
|
+
# sord omit - no YARD return type given, using untyped
|
1958
|
+
# Issues callbacks for units over time, such as damaged or type changed
|
1959
|
+
def issue_existing_unit_callbacks: (untyped unit, untyped previous_unit) -> untyped
|
2010
1960
|
|
2011
|
-
|
2012
|
-
#
|
2013
|
-
# _@param_ `position`
|
2014
|
-
#
|
2015
|
-
# _@return_ — z axis position between -16 and 16
|
2016
|
-
def terrain_height_for_pos: (Sc2::Position position) -> Float
|
1961
|
+
attr_accessor all_units: (Sc2::UnitGroup | untyped)
|
2017
1962
|
|
2018
|
-
#
|
2019
|
-
|
2020
|
-
|
2021
|
-
#
|
2022
|
-
#
|
2023
|
-
|
1963
|
+
# _@return_ — a group of placeholder structures
|
1964
|
+
attr_accessor units: Sc2::UnitGroup
|
1965
|
+
|
1966
|
+
# sord omit - no YARD type given for :structures, using untyped
|
1967
|
+
# A full list of all your structures (non-units)
|
1968
|
+
attr_accessor structures: untyped
|
1969
|
+
|
1970
|
+
# sord omit - no YARD type given for :placeholders, using untyped
|
1971
|
+
# A list of structures which haven't started
|
1972
|
+
attr_accessor placeholders: untyped
|
1973
|
+
|
1974
|
+
# _@return_ — a group of neutral units
|
1975
|
+
attr_accessor neutral: Sc2::UnitGroup
|
1976
|
+
|
1977
|
+
# _@return_ — a group of neutral units
|
1978
|
+
attr_accessor effects: Sc2::UnitGroup
|
1979
|
+
|
1980
|
+
# sord omit - no YARD type given for :upgrades_completed, using untyped
|
1981
|
+
# Returns the upgrade ids you have acquired such as weapon upgrade and armor upgrade ids.
|
1982
|
+
# Shorthand for observation.raw_data.player.upgrade_ids
|
1983
|
+
attr_reader upgrades_completed: untyped
|
1984
|
+
|
1985
|
+
# sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
|
1986
|
+
# sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
|
1987
|
+
# _@return_ — an array of radar rings sources
|
1988
|
+
attr_accessor power_sources: ::Array[Api::RadarRing]
|
1989
|
+
|
1990
|
+
# sord omit - no YARD type given for :radar_rings, using untyped
|
1991
|
+
# An array of Sensor tower rings as per minimap. It has a `pos` and a `radius`
|
1992
|
+
attr_accessor radar_rings: untyped
|
1993
|
+
|
1994
|
+
# sord omit - no YARD type given for :_all_seen_unit_tags, using untyped
|
1995
|
+
# Privately keep track of all seen Unit tags (excl structures) in order to detect new created units
|
1996
|
+
attr_accessor _all_seen_unit_tags: untyped
|
1997
|
+
|
1998
|
+
# sord omit - no YARD type given for :all_seen_unit_tags, using untyped
|
1999
|
+
# Privately keep track of all seen Unit tags (excl structures) in order to detect new created units
|
2000
|
+
attr_accessor all_seen_unit_tags: untyped
|
2001
|
+
|
2002
|
+
# _@return_ — group of Units and Structures effected
|
2003
|
+
attr_accessor event_units_damaged: Sc2::UnitGroup
|
2004
|
+
|
2005
|
+
# sord omit - no YARD type given for :event_units_destroyed, using untyped
|
2006
|
+
# TODO: Unit buff disabled, because it calls back too often (mineral in hand). Put back if useful
|
2007
|
+
# Units (Unit/Structure) on which a new buff_ids appeared this frame
|
2008
|
+
# See which buffs via: unit.buff_ids - unit.previous.buff_ids
|
2009
|
+
# Read this on_step. Alternative to callback on_unit_buffed
|
2010
|
+
# attr_accessor :event_units_buffed
|
2011
|
+
attr_accessor event_units_destroyed: untyped
|
2012
|
+
end
|
2024
2013
|
|
2025
|
-
|
2026
|
-
|
2027
|
-
#
|
2028
|
-
#
|
2029
|
-
# _@param_ `y`
|
2014
|
+
# Holds action list and queues batch
|
2015
|
+
module Actions
|
2016
|
+
# sord warn - Api::Action wasn't able to be resolved to a constant in this project
|
2017
|
+
# Queues action for performing end of step
|
2030
2018
|
#
|
2031
|
-
# _@
|
2032
|
-
def
|
2019
|
+
# _@param_ `action`
|
2020
|
+
def queue_action: (Api::Action action) -> void
|
2033
2021
|
|
2034
|
-
#
|
2035
|
-
#
|
2036
|
-
# _@param_ `x`
|
2022
|
+
# sord omit - no YARD return type given, using untyped
|
2023
|
+
# Queues a Api::ActionRaw. Perform ability on unit_tags optionally on target_world_space_pos/target_unit_tag
|
2037
2024
|
#
|
2038
|
-
# _@param_ `
|
2025
|
+
# _@param_ `unit_tags`
|
2039
2026
|
#
|
2040
|
-
# _@
|
2041
|
-
def map_visible?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
2042
|
-
|
2043
|
-
# Returns whether point (tile) has been seen before or currently visible
|
2027
|
+
# _@param_ `ability_id`
|
2044
2028
|
#
|
2045
|
-
# _@param_ `
|
2029
|
+
# _@param_ `queue_command` — shift+command
|
2046
2030
|
#
|
2047
|
-
# _@param_ `
|
2031
|
+
# _@param_ `target_world_space_pos`
|
2048
2032
|
#
|
2049
|
-
# _@
|
2050
|
-
def
|
2033
|
+
# _@param_ `target_unit_tag`
|
2034
|
+
def action_raw_unit_command: (
|
2035
|
+
unit_tags: ::Array[Integer],
|
2036
|
+
ability_id: Integer,
|
2037
|
+
?queue_command: bool,
|
2038
|
+
?target_world_space_pos: Api::Point2D?,
|
2039
|
+
?target_unit_tag: Integer?
|
2040
|
+
) -> untyped
|
2051
2041
|
|
2052
|
-
#
|
2053
|
-
#
|
2054
|
-
#
|
2042
|
+
# sord omit - no YARD return type given, using untyped
|
2043
|
+
# Queues a Api::ActionRawUnitCommand.
|
2044
|
+
# Send accepts a Api::Unit, tag or tags and targets Api::Point2D or unit.tag
|
2055
2045
|
#
|
2056
|
-
# _@param_ `
|
2046
|
+
# _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
|
2057
2047
|
#
|
2058
|
-
# _@
|
2059
|
-
def map_unseen?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
2060
|
-
|
2061
|
-
# sord warn - Numo::SFloat wasn't able to be resolved to a constant in this project
|
2062
|
-
# Returns a parsed map_state.visibility from bot.observation.raw_data.
|
2063
|
-
# Each value in [row][column] holds one of three integers (0,1,2) to flag a vision type
|
2048
|
+
# _@param_ `ability_id`
|
2064
2049
|
#
|
2065
|
-
# _@
|
2050
|
+
# _@param_ `target` — is a unit, unit tag or a Api::Point2D
|
2066
2051
|
#
|
2067
|
-
# _@
|
2068
|
-
def
|
2052
|
+
# _@param_ `queue_command` — shift+command
|
2053
|
+
def action: (
|
2054
|
+
units: (::Array[Integer] | Integer | Api::Unit),
|
2055
|
+
ability_id: Integer,
|
2056
|
+
?target: (Api::Unit | Integer | Api::Point2D)?,
|
2057
|
+
?queue_command: bool
|
2058
|
+
) -> untyped
|
2069
2059
|
|
2070
|
-
#
|
2071
|
-
#
|
2060
|
+
# sord omit - no YARD return type given, using untyped
|
2061
|
+
# Builds target unit type using units as source at optional target
|
2072
2062
|
#
|
2073
|
-
# _@param_ `
|
2063
|
+
# _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
|
2074
2064
|
#
|
2075
|
-
# _@param_ `
|
2065
|
+
# _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
|
2076
2066
|
#
|
2077
|
-
# _@
|
2078
|
-
def creep?: (x: (Float | Integer), y: (Float | Integer)) -> bool
|
2079
|
-
|
2080
|
-
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
2081
|
-
# Provides parsed minimap representation of creep spread
|
2082
|
-
# Caches for 4 frames
|
2067
|
+
# _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
|
2083
2068
|
#
|
2084
|
-
# _@
|
2085
|
-
def
|
2069
|
+
# _@param_ `queue_command` — shift+command
|
2070
|
+
def build: (
|
2071
|
+
units: (::Array[Integer] | Integer | Api::Unit),
|
2072
|
+
unit_type_id: Integer,
|
2073
|
+
?target: (Api::Point2D | Integer)?,
|
2074
|
+
?queue_command: bool
|
2075
|
+
) -> untyped
|
2086
2076
|
|
2087
|
-
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
2088
2077
|
# sord omit - no YARD return type given, using untyped
|
2089
|
-
#
|
2090
|
-
#
|
2091
|
-
# Merged cell keeps it's 1 value only if all merged cells are equal to 1, else 0
|
2078
|
+
# Warps in unit type at target (location or pylon) with optional source units (warp gates)
|
2079
|
+
# When not specifying the specific warp gate(s), all warpgates will be used
|
2092
2080
|
#
|
2093
|
-
# _@param_ `
|
2081
|
+
# _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
|
2094
2082
|
#
|
2095
|
-
# _@param_ `
|
2096
|
-
def divide_grid: (Numo::Bit input_grid, Integer length) -> untyped
|
2097
|
-
|
2098
|
-
# Returns own 2d start position as set by initial camera
|
2099
|
-
# This differs from position of first base structure
|
2100
|
-
def start_position: () -> Api::Point2D
|
2101
|
-
|
2102
|
-
# Returns the enemy 2d start position
|
2103
|
-
def enemy_start_position: () -> Api::Point2D
|
2104
|
-
|
2105
|
-
# Gets expos and surrounding minerals
|
2106
|
-
# The index is a build location for an expo and the value is a UnitGroup, which has minerals and geysers
|
2083
|
+
# _@param_ `queue_command` — shift+command
|
2107
2084
|
#
|
2108
|
-
# _@
|
2085
|
+
# _@param_ `target` — is a unit tag or a Api::Point2D
|
2109
2086
|
#
|
2110
|
-
#
|
2111
|
-
|
2112
|
-
|
2113
|
-
|
2114
|
-
|
2115
|
-
|
2116
|
-
|
2087
|
+
# _@param_ `units`
|
2088
|
+
def warp: (
|
2089
|
+
unit_type_id: Integer,
|
2090
|
+
target: (Api::Point2D | Integer),
|
2091
|
+
queue_command: bool,
|
2092
|
+
?units: (::Array[Integer] | Integer | Api::Unit)?
|
2093
|
+
) -> untyped
|
2117
2094
|
|
2118
|
-
#
|
2119
|
-
#
|
2095
|
+
# sord omit - no YARD return type given, using untyped
|
2096
|
+
# Research a specific upgrade
|
2120
2097
|
#
|
2121
|
-
# _@
|
2098
|
+
# _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
|
2122
2099
|
#
|
2123
|
-
#
|
2124
|
-
#
|
2125
|
-
#
|
2126
|
-
|
2127
|
-
def expansion_points: () -> ::Array[Api::Point2D]
|
2100
|
+
# _@param_ `upgrade_id` — Api::UpgradeId to research
|
2101
|
+
#
|
2102
|
+
# _@param_ `queue_command` — shift+command
|
2103
|
+
def research: (units: (::Array[Integer] | Integer | Api::Unit), upgrade_id: Integer, ?queue_command: bool) -> untyped
|
2128
2104
|
|
2129
|
-
#
|
2130
|
-
# The has index is a build position and the value is a UnitGroup of resources for the base
|
2105
|
+
# Toggles auto-cast ability for units
|
2131
2106
|
#
|
2132
|
-
# _@
|
2107
|
+
# _@param_ `units` — can be an Api::Unit, array of Tags or single Tag
|
2133
2108
|
#
|
2134
|
-
#
|
2135
|
-
|
2136
|
-
# expo_pos = expansions_unoccupied.keys.min { |p2d| p2d.distance_to(structures.hq.first) }
|
2137
|
-
# # What minerals/geysers does it have?
|
2138
|
-
# puts expansions_unoccupied[expo_pos].minerals # or expansions[expo_pos]... => UnitGroup
|
2139
|
-
# puts expansions_unoccupied[expo_pos].geysers # or expansions[expo_pos]... => UnitGroup
|
2140
|
-
# ```
|
2141
|
-
def expansions_unoccupied: () -> ::Hash[Api::Point2D, UnitGroup]
|
2109
|
+
# _@param_ `ability_id`
|
2110
|
+
def action_raw_toggle_autocast: (units: (::Array[Integer] | Integer | Api::Unit), ability_id: Integer) -> void
|
2142
2111
|
|
2143
|
-
#
|
2144
|
-
#
|
2145
|
-
# _@param_ `base` — base Unit or Position
|
2112
|
+
# Toggles auto-cast ability for units
|
2146
2113
|
#
|
2147
|
-
# _@
|
2148
|
-
def
|
2114
|
+
# _@param_ `point`
|
2115
|
+
def action_raw_camera_move: (point: Api::Point) -> void
|
2149
2116
|
|
2150
|
-
#
|
2117
|
+
# sord warn - Api::Point2I wasn't able to be resolved to a constant in this project
|
2118
|
+
# sord warn - Api::Point2I wasn't able to be resolved to a constant in this project
|
2119
|
+
# Issues spatial unit command. Target is either target_screen_coord or target_minimap_coord.
|
2151
2120
|
#
|
2152
|
-
# _@param_ `
|
2121
|
+
# _@param_ `ability_id`
|
2153
2122
|
#
|
2154
|
-
# _@
|
2155
|
-
def geysers_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
2156
|
-
|
2157
|
-
# Gets geysers which have not been taken for a base or base position
|
2123
|
+
# _@param_ `target_screen_coord`
|
2158
2124
|
#
|
2159
|
-
# _@param_ `
|
2125
|
+
# _@param_ `target_minimap_coord`
|
2160
2126
|
#
|
2161
|
-
# _@
|
2162
|
-
def
|
2127
|
+
# _@param_ `queue_command` — shift+command
|
2128
|
+
def action_spatial_unit_command: (
|
2129
|
+
ability_id: Api::AbilityId,
|
2130
|
+
?target_screen_coord: Api::Point2I?,
|
2131
|
+
?target_minimap_coord: Api::Point2I?,
|
2132
|
+
?queue_command: bool
|
2133
|
+
) -> void
|
2163
2134
|
|
2164
|
-
#
|
2135
|
+
# sord warn - Api::Point2I wasn't able to be resolved to a constant in this project
|
2136
|
+
# Simulates a click on the minimap to move the camera.
|
2165
2137
|
#
|
2166
|
-
# _@
|
2167
|
-
def
|
2138
|
+
# _@param_ `center_minimap`
|
2139
|
+
def action_spatial_camera_move: (center_minimap: Api::Point2I) -> void
|
2168
2140
|
|
2169
|
-
#
|
2141
|
+
# Issues spatial unit select point command. Target is either target_screen_coord or target_minimap_coord.
|
2170
2142
|
#
|
2171
|
-
# _@param_ `
|
2143
|
+
# _@param_ `type` — 1,2,3,4 = Api::ActionSpatialUnitSelectionPoint::Type::* enum Type { Select = 1; // Equivalent to normal click. Changes selection to unit. Toggle = 2; // Equivalent to shift+click. Toggle selection of unit. AllType = 3; // Equivalent to control+click. Selects all units of a given type. AddAllType = 4; // Equivalent to shift+control+click. Selects all units of a given type. }
|
2172
2144
|
#
|
2173
|
-
# _@
|
2174
|
-
def
|
2145
|
+
# _@param_ `selection_screen_coord`
|
2146
|
+
def action_spatial_unit_selection_point: (?_type: Integer, ?selection_screen_coord: Api::PointI?) -> void
|
2175
2147
|
|
2176
|
-
# sord
|
2177
|
-
#
|
2178
|
-
# Uses pathing grid internally, to ignore taken positions
|
2179
|
-
# Does not query the api and is generally fast.
|
2180
|
-
#
|
2181
|
-
# _@param_ `length` — length of the building, 2 for depot/pylon, 3 for rax/gate
|
2148
|
+
# sord warn - Api::RectangleI wasn't able to be resolved to a constant in this project
|
2149
|
+
# Issue rectangle select
|
2182
2150
|
#
|
2183
|
-
# _@param_ `
|
2151
|
+
# _@param_ `selection_screen_coord` — rectangle coordinates
|
2184
2152
|
#
|
2185
|
-
# _@
|
2186
|
-
def
|
2153
|
+
# _@param_ `selection_add` — default false Equivalent to shift+drag. Adds units to selection. default false
|
2154
|
+
def action_spatial_unit_selection_rect: (selection_screen_coord: Api::RectangleI, ?selection_add: bool) -> void
|
2187
2155
|
|
2188
|
-
#
|
2189
|
-
#
|
2190
|
-
# For zerg, the buildable locations are only on creep.
|
2191
|
-
# Internally creates a kdtree for building locations based on pathable, placeable and creep
|
2192
|
-
#
|
2193
|
-
# _@param_ `length` — length of the building, 2 for depot/pylon, 3 for rax/gate
|
2194
|
-
#
|
2195
|
-
# _@param_ `target` — near where to find a placement
|
2196
|
-
#
|
2197
|
-
# _@param_ `random` — number of nearest points to randomly choose from. 1 for nearest point.
|
2156
|
+
# Perform action on control group like setting or recalling, use in conjunction with unit selection.
|
2157
|
+
# Populated if Feature Layer or Render interface is enabled.
|
2198
2158
|
#
|
2199
|
-
# _@param_ `
|
2159
|
+
# _@param_ `action` — 1-5 = Api::ActionControlGroup::ControlGroupAction::* enum ControlGroupAction { Recall = 1; // Equivalent to number hotkey. Replaces current selection with control group. Set = 2; // Equivalent to Control + number hotkey. Sets control group to current selection. Append = 3; // Equivalent to Shift + number hotkey. Adds current selection into control group. SetAndSteal = 4; // Equivalent to Control + Alt + number hotkey. Sets control group to current selection. Units are removed from other control groups. AppendAndSteal = 5; // Equivalent to Shift + Alt + number hotkey. Adds current selection into control group. Units are removed from other control groups. }
|
2200
2160
|
#
|
2201
|
-
# _@
|
2202
|
-
def
|
2203
|
-
length: Integer,
|
2204
|
-
target: (Api::Unit | Sc2::Position),
|
2205
|
-
?random: Integer,
|
2206
|
-
?in_power: bool
|
2207
|
-
) -> Api::Point2D?
|
2161
|
+
# _@param_ `control_group_index` — 0-9
|
2162
|
+
def action_ui_control_group: (action: Integer, control_group_index: Integer) -> void
|
2208
2163
|
|
2209
|
-
#
|
2210
|
-
#
|
2211
|
-
# _@param_ `source` — either a pylon or a prism
|
2212
|
-
#
|
2213
|
-
# _@param_ `unit_type_id` — optionally, the unit you wish to place. Stalkers are widest, so use default nil for a mixed composition warp
|
2164
|
+
# Selects army (F2)
|
2214
2165
|
#
|
2215
|
-
# _@
|
2216
|
-
def
|
2166
|
+
# _@param_ `selection_add` — default false To add to other selected items
|
2167
|
+
def action_ui_select_army: (?selection_add: bool) -> void
|
2217
2168
|
|
2218
|
-
#
|
2219
|
-
# In a line, on the angle of source->target point, starting at source+offset, in increments find points on the line up to max distance
|
2169
|
+
# Selects warp gates (Protoss)
|
2220
2170
|
#
|
2221
|
-
# _@param_ `
|
2171
|
+
# _@param_ `selection_add` — default false To add to other selected items
|
2172
|
+
def action_ui_select_warp_gates: (?selection_add: bool) -> void
|
2173
|
+
|
2174
|
+
# Selects larva (Zerg)
|
2175
|
+
def action_ui_select_larva: () -> void
|
2176
|
+
|
2177
|
+
# sord omit - no YARD return type given, using untyped
|
2178
|
+
# Select idle workers
|
2222
2179
|
#
|
2223
|
-
# _@param_ `
|
2180
|
+
# _@param_ `type` — 1-4 = Api::ActionSelectIdleWorker::Type::* enum Type { Set = 1; // Equivalent to click with no modifiers. Replaces selection with single idle worker. Add = 2; // Equivalent to shift+click. Adds single idle worker to current selection. All = 3; // Equivalent to control+click. Selects all idle workers. AddAll = 4; // Equivalent to shift+control+click. Adds all idle workers to current selection. }
|
2181
|
+
def action_ui_select_idle_worker: (_type: Integer) -> untyped
|
2182
|
+
|
2183
|
+
# sord omit - no YARD return type given, using untyped
|
2184
|
+
# Multi-panel actions for select/deselect
|
2185
|
+
# message ActionMultiPanel {
|
2186
|
+
# optional Type type = 1;
|
2187
|
+
# optional int32 unit_index = 2;
|
2188
|
+
# }
|
2224
2189
|
#
|
2225
|
-
# _@param_ `
|
2190
|
+
# _@param_ `type` — 1-4 = Api::ActionMultiPanel::Type::*
|
2226
2191
|
#
|
2227
|
-
# _@param_ `
|
2192
|
+
# _@param_ `unit_index` — n'th unit on panel enum Type { SingleSelect = 1; // Click on icon DeselectUnit = 2; // Shift Click on icon SelectAllOfType = 3; // Control Click on icon. DeselectAllOfType = 4; // Control+Shift Click on icon. }
|
2193
|
+
def action_ui_multi_panel: (_type: Integer, unit_index: Integer) -> untyped
|
2194
|
+
|
2195
|
+
# sord omit - no YARD return type given, using untyped
|
2196
|
+
# Cargo panel actions for unloading units.
|
2228
2197
|
#
|
2229
|
-
# _@param_ `
|
2198
|
+
# _@param_ `unit_index` — index of unit to unload
|
2199
|
+
def action_ui_cargo_panel_unload: (unit_index: Integer) -> untyped
|
2200
|
+
|
2201
|
+
# sord omit - no YARD return type given, using untyped
|
2202
|
+
# Remove unit from production queue
|
2230
2203
|
#
|
2231
|
-
# _@
|
2232
|
-
def
|
2233
|
-
source: Sc2::Position,
|
2234
|
-
target: Sc2::Position,
|
2235
|
-
?offset: Float,
|
2236
|
-
?increment: Float,
|
2237
|
-
?count: Integer
|
2238
|
-
) -> ::Array[Api::Point2D]
|
2204
|
+
# _@param_ `unit_index` — target unit index
|
2205
|
+
def action_ui_production_panel_remove_from_queue: (unit_index: Integer) -> untyped
|
2239
2206
|
|
2240
|
-
#
|
2207
|
+
# sord omit - no YARD return type given, using untyped
|
2208
|
+
# Toggle autocast on selected unit. Also possible with raw actions using a unit target.
|
2241
2209
|
#
|
2242
|
-
# _@param_ `
|
2210
|
+
# _@param_ `ability_id` — Api::AbilityId::* ability
|
2211
|
+
def action_ui_toggle_autocast: (ability_id: Integer) -> untyped
|
2212
|
+
|
2213
|
+
# sord omit - no YARD return type given, using untyped
|
2214
|
+
# Send a chat message
|
2243
2215
|
#
|
2244
|
-
# _@param_ `
|
2216
|
+
# _@param_ `message` — to send
|
2245
2217
|
#
|
2246
|
-
#
|
2247
|
-
|
2248
|
-
# geo.point_random_near(point: structures.hq.first, offset: 3.5)
|
2249
|
-
# ```
|
2250
|
-
def point_random_near: (pos: Sc2::Position, ?offset: Float) -> Api::Point2D
|
2218
|
+
# _@param_ `channel` — 1-2, default:Team Api::ActionChat::Channel::Broadcast = 1, Api::ActionChat::Channel::Team = 2
|
2219
|
+
def action_chat: (String message, ?channel: Integer) -> untyped
|
2251
2220
|
|
2252
|
-
#
|
2221
|
+
# sord omit - no YARD return type given, using untyped
|
2222
|
+
# Sends actions via api and flushes action_queue
|
2223
|
+
def perform_actions: () -> untyped
|
2224
|
+
|
2225
|
+
# Empties and resets @action_queue
|
2226
|
+
def clear_action_queue: () -> void
|
2227
|
+
|
2228
|
+
# Returns an array of unit tags from a variety of sources
|
2229
|
+
# noinspection RubyMismatchedReturnType
|
2253
2230
|
#
|
2254
|
-
# _@param_ `
|
2255
|
-
|
2231
|
+
# _@param_ `source` — unit tag, tags, unit or unit group
|
2232
|
+
#
|
2233
|
+
# _@return_ — unit tag array
|
2234
|
+
def unit_tags_from_source: ((Integer | ::Array[Integer] | Api::Unit | Sc2::UnitGroup) source) -> ::Array[Integer]
|
2256
2235
|
|
2257
|
-
#
|
2258
|
-
attr_accessor
|
2236
|
+
# sord warn - Api::Action wasn't able to be resolved to a constant in this project
|
2237
|
+
attr_accessor action_queue: ::Array[Api::Action]
|
2259
2238
|
end
|
2260
2239
|
|
2261
2240
|
# Holds game state
|
@@ -2360,12 +2339,16 @@ module Sc2
|
|
2360
2339
|
# _@param_ `bot`
|
2361
2340
|
def after_reset: (Sc2::Player::Bot _bot) -> untyped
|
2362
2341
|
|
2342
|
+
# sord omit - no YARD type given for "upgrade_id", using untyped
|
2343
|
+
# Returns true if this upgrade has finished researching
|
2344
|
+
def upgrade_completed?: (untyped upgrade_id) -> bool
|
2345
|
+
|
2363
2346
|
# Returns the upgrade ids which are researching or queued
|
2364
2347
|
# Not set for enemy.
|
2365
2348
|
def upgrades_in_progress: () -> ::Array[Integer]
|
2366
2349
|
|
2367
2350
|
# sord omit - no YARD type given for "upgrade_id", using untyped
|
2368
|
-
# Returns the upgrade
|
2351
|
+
# Returns true if the upgrade is busy researching
|
2369
2352
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
2370
2353
|
|
2371
2354
|
# sord omit - no YARD type given for "unit_type_id", using untyped
|
@@ -2483,117 +2466,84 @@ module Sc2
|
|
2483
2466
|
end
|
2484
2467
|
end
|
2485
2468
|
|
2486
|
-
#
|
2487
|
-
|
2488
|
-
|
2489
|
-
|
2490
|
-
#
|
2491
|
-
|
2492
|
-
def setup410: () -> untyped
|
2493
|
-
|
2494
|
-
# sord omit - no YARD return type given, using untyped
|
2495
|
-
def ladderconfig: () -> untyped
|
2496
|
-
|
2497
|
-
# sord omit - no YARD return type given, using untyped
|
2498
|
-
def laddermatch: () -> untyped
|
2499
|
-
|
2500
|
-
class New < Thor::Group
|
2501
|
-
include Thor::Actions
|
2502
|
-
|
2503
|
-
# sord omit - no YARD return type given, using untyped
|
2504
|
-
def self.source_root: () -> untyped
|
2505
|
-
|
2506
|
-
# sord omit - no YARD return type given, using untyped
|
2507
|
-
def checkname: () -> untyped
|
2508
|
-
|
2509
|
-
# sord omit - no YARD return type given, using untyped
|
2510
|
-
def create_target: () -> untyped
|
2511
|
-
|
2512
|
-
# sord omit - no YARD return type given, using untyped
|
2513
|
-
def create_boot: () -> untyped
|
2514
|
-
|
2515
|
-
# sord omit - no YARD return type given, using untyped
|
2516
|
-
def create_example_match: () -> untyped
|
2517
|
-
|
2518
|
-
# sord omit - no YARD return type given, using untyped
|
2519
|
-
def create_gemfile: () -> untyped
|
2520
|
-
|
2521
|
-
# sord omit - no YARD return type given, using untyped
|
2522
|
-
def create_botfile: () -> untyped
|
2523
|
-
|
2524
|
-
# sord omit - no YARD return type given, using untyped
|
2525
|
-
def create_ignorefile: () -> untyped
|
2526
|
-
|
2527
|
-
# sord omit - no YARD return type given, using untyped
|
2528
|
-
def copy_api: () -> untyped
|
2529
|
-
|
2530
|
-
# sord omit - no YARD return type given, using untyped
|
2531
|
-
def bye: () -> untyped
|
2532
|
-
end
|
2533
|
-
|
2534
|
-
# Populating "./build" with our source...
|
2535
|
-
# - Symlink executable ./build/bin/ladder to ./.build/botname for ladder
|
2536
|
-
# - copy our source to .build, sans .ladderignore
|
2537
|
-
# copy .build to docker
|
2538
|
-
# bundle install on docker
|
2539
|
-
# zipping up code + ruby + gems
|
2540
|
-
# get zip, clean up
|
2541
|
-
# stop docker
|
2542
|
-
# standard:disable Style/GlobalVars
|
2543
|
-
class Ladderzip < Thor::Group
|
2544
|
-
include Thor::Actions
|
2545
|
-
|
2546
|
-
# sord omit - no YARD return type given, using untyped
|
2547
|
-
def docker_exists: () -> untyped
|
2548
|
-
|
2549
|
-
# sord omit - no YARD return type given, using untyped
|
2550
|
-
def set_compose_file: () -> untyped
|
2551
|
-
|
2552
|
-
# sord omit - no YARD return type given, using untyped
|
2553
|
-
def bot_validation: () -> untyped
|
2469
|
+
# Holds game data from tech tree and Api::ResponseData
|
2470
|
+
# Called once on game start
|
2471
|
+
class Data
|
2472
|
+
# sord warn - Api::ResponseData wasn't able to be resolved to a constant in this project
|
2473
|
+
# _@param_ `data`
|
2474
|
+
def initialize: (Api::ResponseData data) -> void
|
2554
2475
|
|
2555
|
-
|
2556
|
-
|
2476
|
+
# sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
|
2477
|
+
# sord warn - "Hash<Integer, Api::AbilityData] indexed data" does not appear to be a type
|
2478
|
+
# Indexes ability data by ability id
|
2479
|
+
#
|
2480
|
+
# _@param_ `abilities`
|
2481
|
+
#
|
2482
|
+
# _@return_ — Hash<Integer, Api::AbilityData] indexed data
|
2483
|
+
def abilities_from_proto: (::Array[Api::AbilityData] abilities) -> SORD_ERROR_HashIntegerApiAbilityDataindexeddata
|
2557
2484
|
|
2558
|
-
|
2559
|
-
|
2485
|
+
# Indexes unit data by id
|
2486
|
+
#
|
2487
|
+
# _@param_ `units`
|
2488
|
+
#
|
2489
|
+
# _@return_ — indexed data
|
2490
|
+
def units_from_proto: (::Array[Api::UnitTypeData] units) -> ::Hash[Integer, Api::UnitTypeData]
|
2560
2491
|
|
2561
|
-
|
2562
|
-
|
2492
|
+
# sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
|
2493
|
+
# sord warn - "Hash<Integer, Api::UpgradeData] indexed data" does not appear to be a type
|
2494
|
+
# Indexes upgrades data by id
|
2495
|
+
#
|
2496
|
+
# _@param_ `upgrades`
|
2497
|
+
#
|
2498
|
+
# _@return_ — Hash<Integer, Api::UpgradeData] indexed data
|
2499
|
+
def upgrades_from_proto: (::Array[Api::UpgradeData] upgrades) -> SORD_ERROR_HashIntegerApiUpgradeDataindexeddata
|
2563
2500
|
|
2564
|
-
|
2565
|
-
|
2501
|
+
# sord omit - no YARD type given for "effects", using untyped
|
2502
|
+
# sord omit - no YARD return type given, using untyped
|
2503
|
+
def effects_from_proto: (untyped effects) -> untyped
|
2566
2504
|
|
2567
|
-
|
2568
|
-
|
2505
|
+
# sord omit - no YARD type given for "buffs", using untyped
|
2506
|
+
# sord omit - no YARD return type given, using untyped
|
2507
|
+
def buffs_from_proto: (untyped buffs) -> untyped
|
2569
2508
|
|
2570
|
-
|
2571
|
-
|
2509
|
+
# sord omit - no YARD return type given, using untyped
|
2510
|
+
# Overrides unit data from api to implement fixes or change context
|
2511
|
+
# i.e. Api::UnitTypeId::ORBITALCOMMAND cost is cost-to-upgrade instead of CC + Orbital combined cost.
|
2512
|
+
# Run once. Depends on all data already being set.
|
2513
|
+
def override_unit_data: () -> untyped
|
2572
2514
|
|
2573
|
-
|
2574
|
-
|
2515
|
+
# sord omit - no YARD return type given, using untyped
|
2516
|
+
# Fixes mineral_cost, vespene_cost and food_required values
|
2517
|
+
def correct_unit_type_costs: () -> untyped
|
2575
2518
|
|
2576
|
-
|
2577
|
-
|
2519
|
+
# sord omit - no YARD return type given, using untyped
|
2520
|
+
# Fixes mineral_cost_sum, vespene_cost_sum
|
2521
|
+
def correct_unit_type_sum: () -> untyped
|
2578
2522
|
|
2579
|
-
|
2580
|
-
|
2523
|
+
# sord omit - no YARD return type given, using untyped
|
2524
|
+
# Adds placement_length to units if applicable
|
2525
|
+
def decorate_unit_type_placement_length: () -> untyped
|
2581
2526
|
|
2582
|
-
|
2583
|
-
|
2527
|
+
# sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
|
2528
|
+
# _@return_ — AbilityId => AbilityData
|
2529
|
+
attr_accessor abilities: (::Hash[Integer, Api::AbilityData] | untyped)
|
2584
2530
|
|
2585
|
-
|
2586
|
-
|
2531
|
+
# _@return_ — UnitId => UnitTypeData
|
2532
|
+
attr_accessor units: (::Hash[Integer, Api::UnitTypeData] | untyped)
|
2587
2533
|
|
2588
|
-
|
2589
|
-
|
2534
|
+
# sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
|
2535
|
+
# _@return_ — UpgradeId => UpgradeData
|
2536
|
+
attr_accessor upgrades: (::Hash[Integer, Api::UpgradeData] | untyped)
|
2590
2537
|
|
2591
|
-
|
2592
|
-
|
2538
|
+
# sord omit - no YARD type given for :buffs, using untyped
|
2539
|
+
# Not particularly useful data. Just use BuffId directly
|
2540
|
+
# @return [Hash<Integer, Api::BuffData>] BuffId => BuffData
|
2541
|
+
attr_accessor buffs: untyped
|
2593
2542
|
|
2594
|
-
|
2595
|
-
|
2596
|
-
|
2543
|
+
# sord omit - no YARD type given for :effects, using untyped
|
2544
|
+
# Not particularly useful data. Just use EffectId directly
|
2545
|
+
# @return [Hash<Integer, Api::EffectData>] EffectId => EffectData
|
2546
|
+
attr_accessor effects: untyped
|
2597
2547
|
end
|
2598
2548
|
|
2599
2549
|
# Manages client connection to the Api
|
@@ -2613,13 +2563,12 @@ module Sc2
|
|
2613
2563
|
# Closes Connection to client
|
2614
2564
|
def close: () -> void
|
2615
2565
|
|
2616
|
-
# sord omit - no YARD return type given, using untyped
|
2617
2566
|
# Add a listener of specific callback type
|
2618
2567
|
#
|
2619
2568
|
# _@param_ `listener`
|
2620
2569
|
#
|
2621
2570
|
# _@param_ `klass`
|
2622
|
-
def add_listener: (Object listener, klass: (Module[Sc2::Connection::ConnectionListener] | Module[Sc2::Connection::StatusListener])) ->
|
2571
|
+
def add_listener: (Object listener, klass: (Module[Sc2::Connection::ConnectionListener] | Module[Sc2::Connection::StatusListener])) -> void
|
2623
2572
|
|
2624
2573
|
# sord omit - no YARD return type given, using untyped
|
2625
2574
|
# Removes a listener of specific callback type
|
@@ -3275,14 +3224,14 @@ module Sc2
|
|
3275
3224
|
class UnitGroup
|
3276
3225
|
include Enumerable
|
3277
3226
|
extend Forwardable
|
3278
|
-
TYPE_WORKER:
|
3279
|
-
TYPE_GAS_STRUCTURE:
|
3280
|
-
TYPE_MINERAL:
|
3281
|
-
TYPE_GEYSER:
|
3282
|
-
TYPE_REJECT_DEBRIS:
|
3227
|
+
TYPE_WORKER: ::Array[Integer]
|
3228
|
+
TYPE_GAS_STRUCTURE: ::Array[Integer]
|
3229
|
+
TYPE_MINERAL: ::Array[Integer]
|
3230
|
+
TYPE_GEYSER: ::Array[Integer]
|
3231
|
+
TYPE_REJECT_DEBRIS: ::Array[Integer]
|
3283
3232
|
TYPE_TECHLAB: untyped
|
3284
|
-
TYPE_REACTOR:
|
3285
|
-
TYPE_BASES:
|
3233
|
+
TYPE_REACTOR: ::Array[Integer]
|
3234
|
+
TYPE_BASES: ::Array[Integer]
|
3286
3235
|
|
3287
3236
|
# _@param_ `units` — default to be added.
|
3288
3237
|
#
|
@@ -3535,7 +3484,7 @@ module Sc2
|
|
3535
3484
|
def pos_centroid: () -> Api::Point2D?
|
3536
3485
|
|
3537
3486
|
# Our first unit's bot object.
|
3538
|
-
# Returns nil if units are empty, so use
|
3487
|
+
# Returns nil if units are empty, so use safety operator bot&.method(...)
|
3539
3488
|
#
|
3540
3489
|
# _@return_ — player with active connection
|
3541
3490
|
def bot: () -> Sc2::Player?
|
@@ -3557,7 +3506,7 @@ module Sc2
|
|
3557
3506
|
# _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
|
3558
3507
|
#
|
3559
3508
|
# _@param_ `queue_command` — shift+command
|
3560
|
-
def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
|
3509
|
+
def build: (unit_type_id: Integer, ?target: (Api::Point2D | Api::Unit | Integer)?, ?queue_command: bool) -> untyped
|
3561
3510
|
|
3562
3511
|
# sord omit - no YARD return type given, using untyped
|
3563
3512
|
# Warps in unit type at target (location or pylon)
|
@@ -3685,6 +3634,12 @@ module Sc2
|
|
3685
3634
|
# ```
|
3686
3635
|
def reject_attribute: ((Integer | ::Array[Integer]) attributes) -> UnitGroup
|
3687
3636
|
|
3637
|
+
# Selects units you own
|
3638
|
+
# i.e. @bot.all_units.owned # => Units you own
|
3639
|
+
#
|
3640
|
+
# _@return_ — workers
|
3641
|
+
def owned: () -> Sc2::UnitGroup
|
3642
|
+
|
3688
3643
|
# Selects worker units
|
3689
3644
|
#
|
3690
3645
|
# _@return_ — workers
|
@@ -3746,7 +3701,7 @@ module Sc2
|
|
3746
3701
|
# Selects only units which do not have orders
|
3747
3702
|
def idle: () -> untyped
|
3748
3703
|
|
3749
|
-
# Selects units which have this ability available
|
3704
|
+
# Selects units which have this ability available
|
3750
3705
|
# Queries API if necessary
|
3751
3706
|
#
|
3752
3707
|
# _@param_ `ability_id`
|
@@ -3754,6 +3709,11 @@ module Sc2
|
|
3754
3709
|
# _@return_ — units which have the ability available
|
3755
3710
|
def ability_available?: (Integer ability_id) -> UnitGroup
|
3756
3711
|
|
3712
|
+
# Checks whether any unit's first order matches these abilities
|
3713
|
+
#
|
3714
|
+
# _@param_ `ability_ids` — accepts one or an array of Api::AbilityId
|
3715
|
+
def is_performing_ability?: ((Integer | ::Array[Integer]) ability_ids) -> bool
|
3716
|
+
|
3757
3717
|
# Selects mineral fields
|
3758
3718
|
#
|
3759
3719
|
# _@return_ — mineral fields
|
@@ -3800,6 +3760,11 @@ module Sc2
|
|
3800
3760
|
# _@return_ — larva
|
3801
3761
|
def larva: () -> Sc2::UnitGroup
|
3802
3762
|
|
3763
|
+
# Selects eggs. Eggs come from Larva and turn into Units.
|
3764
|
+
#
|
3765
|
+
# _@return_ — eggs
|
3766
|
+
def eggs: () -> Sc2::UnitGroup
|
3767
|
+
|
3803
3768
|
# Selects queens
|
3804
3769
|
#
|
3805
3770
|
# _@return_ — queens
|
@@ -3885,14 +3850,14 @@ module Sc2
|
|
3885
3850
|
# @private
|
3886
3851
|
# Negative selector allowing unit group "ug.not." filter
|
3887
3852
|
class UnitGroupNotSelector < Sc2::UnitGroup
|
3888
|
-
TYPE_WORKER:
|
3889
|
-
TYPE_GAS_STRUCTURE:
|
3890
|
-
TYPE_MINERAL:
|
3891
|
-
TYPE_GEYSER:
|
3892
|
-
TYPE_REJECT_DEBRIS:
|
3853
|
+
TYPE_WORKER: ::Array[Integer]
|
3854
|
+
TYPE_GAS_STRUCTURE: ::Array[Integer]
|
3855
|
+
TYPE_MINERAL: ::Array[Integer]
|
3856
|
+
TYPE_GEYSER: ::Array[Integer]
|
3857
|
+
TYPE_REJECT_DEBRIS: ::Array[Integer]
|
3893
3858
|
TYPE_TECHLAB: untyped
|
3894
|
-
TYPE_REACTOR:
|
3895
|
-
TYPE_BASES:
|
3859
|
+
TYPE_REACTOR: ::Array[Integer]
|
3860
|
+
TYPE_BASES: ::Array[Integer]
|
3896
3861
|
|
3897
3862
|
# sord infer - argument name in single @param inferred as "unit_group"
|
3898
3863
|
def initialize: ((Api::Unit | ::Hash[Integer, Api::Unit] | ::Array[Api::Unit] | Sc2::UnitGroup)? unit_group) -> void
|
@@ -4232,8 +4197,8 @@ module Sc2
|
|
4232
4197
|
# _@param_ `player_index`
|
4233
4198
|
def stop: (Integer player_index) -> void
|
4234
4199
|
|
4235
|
-
#
|
4236
|
-
def stop_all: () ->
|
4200
|
+
# Stops all clients
|
4201
|
+
def stop_all: () -> void
|
4237
4202
|
|
4238
4203
|
def initialize: () -> void
|
4239
4204
|
|
@@ -8550,6 +8515,17 @@ module Api
|
|
8550
8515
|
# _@return_ — this unit from the previous frame or nil if it wasn't present
|
8551
8516
|
def previous: () -> Api::Unit?
|
8552
8517
|
|
8518
|
+
# Returns whether a unit is alive or not
|
8519
|
+
# Useful for cached Unit objects to see if they are still relevant.
|
8520
|
+
#
|
8521
|
+
# _@return_ — alive
|
8522
|
+
def is_alive?: () -> bool
|
8523
|
+
|
8524
|
+
# Replaces protobuf values with latest from game
|
8525
|
+
#
|
8526
|
+
# _@return_ — true if refreshed or false unchanged
|
8527
|
+
def refresh!: () -> bool
|
8528
|
+
|
8553
8529
|
# sord warn - Api::Attribute wasn't able to be resolved to a constant in this project
|
8554
8530
|
# Returns static [Api::UnitTypeData] for a unit
|
8555
8531
|
def attributes: () -> ::Array[Api::Attribute]
|
@@ -8690,7 +8666,7 @@ module Api
|
|
8690
8666
|
# _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
|
8691
8667
|
#
|
8692
8668
|
# _@param_ `queue_command` — shift+command
|
8693
|
-
def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
|
8669
|
+
def build: (unit_type_id: Integer, ?target: (Api::Point2D | Api::Unit | Integer)?, ?queue_command: bool) -> untyped
|
8694
8670
|
|
8695
8671
|
# sord omit - no YARD return type given, using untyped
|
8696
8672
|
# Issues repair command on target
|
@@ -8756,7 +8732,12 @@ module Api
|
|
8756
8732
|
# _@param_ `target` — optionally check if unit is engaged with specific target
|
8757
8733
|
def is_repairing?: (?target: (Api::Unit | Integer)?) -> bool
|
8758
8734
|
|
8759
|
-
# Checks whether
|
8735
|
+
# Checks whether a unit is gathering or returning gathered minerals/gas
|
8736
|
+
#
|
8737
|
+
# _@return_ — true if either gathering or returning, false otherwise
|
8738
|
+
def is_harvesting?: () -> bool
|
8739
|
+
|
8740
|
+
# Checks whether a unit's first order for ability
|
8760
8741
|
#
|
8761
8742
|
# _@param_ `ability_ids` — accepts one or an array of Api::AbilityId
|
8762
8743
|
def is_performing_ability?: ((Integer | ::Array[Integer]) ability_ids) -> bool
|
@@ -8860,6 +8841,9 @@ module Api
|
|
8860
8841
|
# For Terran builds a tech lab add-on on the current structure
|
8861
8842
|
def build_tech_lab: (?queue_command: untyped) -> void
|
8862
8843
|
|
8844
|
+
# sord omit - no YARD return type given, using untyped
|
8845
|
+
def target_for_addon_placement: () -> untyped
|
8846
|
+
|
8863
8847
|
# sord omit - no YARD return type given, using untyped
|
8864
8848
|
# Warps in unit type at target (location or pylon)
|
8865
8849
|
# Only works if the source is a Warp Gate
|
@@ -8916,7 +8900,7 @@ module Api
|
|
8916
8900
|
# sord omit - no YARD type given for "g:", using untyped
|
8917
8901
|
# sord omit - no YARD type given for "b:", using untyped
|
8918
8902
|
# For lines: r & b are swapped.
|
8919
|
-
def initialize: (r: untyped, g: untyped, b: untyped) -> void
|
8903
|
+
def initialize: (?r: untyped, ?g: untyped, ?b: untyped) -> void
|
8920
8904
|
|
8921
8905
|
# Adds additional functionality to message class Api::Color
|
8922
8906
|
module ClassMethods
|
@@ -8969,7 +8953,7 @@ module Api
|
|
8969
8953
|
# sord omit - no YARD type given for "g:", using untyped
|
8970
8954
|
# sord omit - no YARD type given for "b:", using untyped
|
8971
8955
|
# For lines: r & b are swapped.
|
8972
|
-
def initialize: (r: untyped, g: untyped, b: untyped) -> void
|
8956
|
+
def initialize: (?r: untyped, ?g: untyped, ?b: untyped) -> void
|
8973
8957
|
end
|
8974
8958
|
|
8975
8959
|
# Protobuf virtual class.
|
@@ -9158,6 +9142,9 @@ module Api
|
|
9158
9142
|
# sord omit - no YARD type given for "other", using untyped
|
9159
9143
|
def eql?: (untyped other) -> bool
|
9160
9144
|
|
9145
|
+
# Returns self
|
9146
|
+
def to_p2d: () -> self
|
9147
|
+
|
9161
9148
|
# sord omit - no YARD type given for "z:", using untyped
|
9162
9149
|
# Create a new 3d Point, by adding a y axis.
|
9163
9150
|
def to_3d: (?z: untyped) -> Api::Point
|
@@ -9751,6 +9738,17 @@ module Api
|
|
9751
9738
|
# _@return_ — this unit from the previous frame or nil if it wasn't present
|
9752
9739
|
def previous: () -> Api::Unit?
|
9753
9740
|
|
9741
|
+
# Returns whether a unit is alive or not
|
9742
|
+
# Useful for cached Unit objects to see if they are still relevant.
|
9743
|
+
#
|
9744
|
+
# _@return_ — alive
|
9745
|
+
def is_alive?: () -> bool
|
9746
|
+
|
9747
|
+
# Replaces protobuf values with latest from game
|
9748
|
+
#
|
9749
|
+
# _@return_ — true if refreshed or false unchanged
|
9750
|
+
def refresh!: () -> bool
|
9751
|
+
|
9754
9752
|
# sord warn - Api::Attribute wasn't able to be resolved to a constant in this project
|
9755
9753
|
# Returns static [Api::UnitTypeData] for a unit
|
9756
9754
|
def attributes: () -> ::Array[Api::Attribute]
|
@@ -9891,7 +9889,7 @@ module Api
|
|
9891
9889
|
# _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
|
9892
9890
|
#
|
9893
9891
|
# _@param_ `queue_command` — shift+command
|
9894
|
-
def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
|
9892
|
+
def build: (unit_type_id: Integer, ?target: (Api::Point2D | Api::Unit | Integer)?, ?queue_command: bool) -> untyped
|
9895
9893
|
|
9896
9894
|
# sord omit - no YARD return type given, using untyped
|
9897
9895
|
# Issues repair command on target
|
@@ -9957,7 +9955,12 @@ module Api
|
|
9957
9955
|
# _@param_ `target` — optionally check if unit is engaged with specific target
|
9958
9956
|
def is_repairing?: (?target: (Api::Unit | Integer)?) -> bool
|
9959
9957
|
|
9960
|
-
# Checks whether
|
9958
|
+
# Checks whether a unit is gathering or returning gathered minerals/gas
|
9959
|
+
#
|
9960
|
+
# _@return_ — true if either gathering or returning, false otherwise
|
9961
|
+
def is_harvesting?: () -> bool
|
9962
|
+
|
9963
|
+
# Checks whether a unit's first order for ability
|
9961
9964
|
#
|
9962
9965
|
# _@param_ `ability_ids` — accepts one or an array of Api::AbilityId
|
9963
9966
|
def is_performing_ability?: ((Integer | ::Array[Integer]) ability_ids) -> bool
|
@@ -10061,6 +10064,9 @@ module Api
|
|
10061
10064
|
# For Terran builds a tech lab add-on on the current structure
|
10062
10065
|
def build_tech_lab: (?queue_command: untyped) -> void
|
10063
10066
|
|
10067
|
+
# sord omit - no YARD return type given, using untyped
|
10068
|
+
def target_for_addon_placement: () -> untyped
|
10069
|
+
|
10064
10070
|
# sord omit - no YARD return type given, using untyped
|
10065
10071
|
# Warps in unit type at target (location or pylon)
|
10066
10072
|
# Only works if the source is a Warp Gate
|
@@ -10085,11 +10091,7 @@ module Api
|
|
10085
10091
|
|
10086
10092
|
# Protobuf virtual class.
|
10087
10093
|
class UnitTypeData < Google::Protobuf::AbstractMessage
|
10088
|
-
include Api::UnitTypeExtension
|
10089
10094
|
include Api::UnitTypeDataExtension
|
10090
|
-
|
10091
|
-
# sord omit - no YARD return type given, using untyped
|
10092
|
-
def mood: () -> untyped
|
10093
10095
|
end
|
10094
10096
|
|
10095
10097
|
# Protobuf virtual class.
|
@@ -10165,19 +10167,261 @@ module Api
|
|
10165
10167
|
end
|
10166
10168
|
|
10167
10169
|
# Protobuf virtual enum.
|
10168
|
-
|
10170
|
+
module Race
|
10171
|
+
NoRace: untyped
|
10172
|
+
Terran: untyped
|
10173
|
+
Zerg: untyped
|
10174
|
+
Protoss: untyped
|
10175
|
+
Random: untyped
|
10176
|
+
end
|
10177
|
+
|
10178
|
+
# Protobuf virtual enum.
|
10179
|
+
module PlayerType
|
10180
|
+
Participant: untyped
|
10181
|
+
Computer: untyped
|
10182
|
+
Observer: untyped
|
10169
10183
|
end
|
10170
10184
|
|
10171
10185
|
# Protobuf virtual enum.
|
10172
|
-
|
10186
|
+
module Difficulty
|
10187
|
+
VeryEasy: untyped
|
10188
|
+
Easy: untyped
|
10189
|
+
Medium: untyped
|
10190
|
+
MediumHard: untyped
|
10191
|
+
Hard: untyped
|
10192
|
+
Harder: untyped
|
10193
|
+
VeryHard: untyped
|
10194
|
+
CheatVision: untyped
|
10195
|
+
CheatMoney: untyped
|
10196
|
+
CheatInsane: untyped
|
10173
10197
|
end
|
10174
10198
|
|
10175
10199
|
# Protobuf virtual enum.
|
10176
|
-
|
10200
|
+
module AIBuild
|
10201
|
+
RandomBuild: untyped
|
10202
|
+
Rush: untyped
|
10203
|
+
Timing: untyped
|
10204
|
+
Power: untyped
|
10205
|
+
Macro: untyped
|
10206
|
+
Air: untyped
|
10177
10207
|
end
|
10178
10208
|
|
10179
10209
|
# Protobuf virtual enum.
|
10180
|
-
|
10210
|
+
module ActionResult
|
10211
|
+
Success: untyped
|
10212
|
+
NotSupported: untyped
|
10213
|
+
Error: untyped
|
10214
|
+
CantQueueThatOrder: untyped
|
10215
|
+
Retry: untyped
|
10216
|
+
Cooldown: untyped
|
10217
|
+
QueueIsFull: untyped
|
10218
|
+
RallyQueueIsFull: untyped
|
10219
|
+
NotEnoughMinerals: untyped
|
10220
|
+
NotEnoughVespene: untyped
|
10221
|
+
NotEnoughTerrazine: untyped
|
10222
|
+
NotEnoughCustom: untyped
|
10223
|
+
NotEnoughFood: untyped
|
10224
|
+
FoodUsageImpossible: untyped
|
10225
|
+
NotEnoughLife: untyped
|
10226
|
+
NotEnoughShields: untyped
|
10227
|
+
NotEnoughEnergy: untyped
|
10228
|
+
LifeSuppressed: untyped
|
10229
|
+
ShieldsSuppressed: untyped
|
10230
|
+
EnergySuppressed: untyped
|
10231
|
+
NotEnoughCharges: untyped
|
10232
|
+
CantAddMoreCharges: untyped
|
10233
|
+
TooMuchMinerals: untyped
|
10234
|
+
TooMuchVespene: untyped
|
10235
|
+
TooMuchTerrazine: untyped
|
10236
|
+
TooMuchCustom: untyped
|
10237
|
+
TooMuchFood: untyped
|
10238
|
+
TooMuchLife: untyped
|
10239
|
+
TooMuchShields: untyped
|
10240
|
+
TooMuchEnergy: untyped
|
10241
|
+
MustTargetUnitWithLife: untyped
|
10242
|
+
MustTargetUnitWithShields: untyped
|
10243
|
+
MustTargetUnitWithEnergy: untyped
|
10244
|
+
CantTrade: untyped
|
10245
|
+
CantSpend: untyped
|
10246
|
+
CantTargetThatUnit: untyped
|
10247
|
+
CouldntAllocateUnit: untyped
|
10248
|
+
UnitCantMove: untyped
|
10249
|
+
TransportIsHoldingPosition: untyped
|
10250
|
+
BuildTechRequirementsNotMet: untyped
|
10251
|
+
CantFindPlacementLocation: untyped
|
10252
|
+
CantBuildOnThat: untyped
|
10253
|
+
CantBuildTooCloseToDropOff: untyped
|
10254
|
+
CantBuildLocationInvalid: untyped
|
10255
|
+
CantSeeBuildLocation: untyped
|
10256
|
+
CantBuildTooCloseToCreepSource: untyped
|
10257
|
+
CantBuildTooCloseToResources: untyped
|
10258
|
+
CantBuildTooFarFromWater: untyped
|
10259
|
+
CantBuildTooFarFromCreepSource: untyped
|
10260
|
+
CantBuildTooFarFromBuildPowerSource: untyped
|
10261
|
+
CantBuildOnDenseTerrain: untyped
|
10262
|
+
CantTrainTooFarFromTrainPowerSource: untyped
|
10263
|
+
CantLandLocationInvalid: untyped
|
10264
|
+
CantSeeLandLocation: untyped
|
10265
|
+
CantLandTooCloseToCreepSource: untyped
|
10266
|
+
CantLandTooCloseToResources: untyped
|
10267
|
+
CantLandTooFarFromWater: untyped
|
10268
|
+
CantLandTooFarFromCreepSource: untyped
|
10269
|
+
CantLandTooFarFromBuildPowerSource: untyped
|
10270
|
+
CantLandTooFarFromTrainPowerSource: untyped
|
10271
|
+
CantLandOnDenseTerrain: untyped
|
10272
|
+
AddOnTooFarFromBuilding: untyped
|
10273
|
+
MustBuildRefineryFirst: untyped
|
10274
|
+
BuildingIsUnderConstruction: untyped
|
10275
|
+
CantFindDropOff: untyped
|
10276
|
+
CantLoadOtherPlayersUnits: untyped
|
10277
|
+
NotEnoughRoomToLoadUnit: untyped
|
10278
|
+
CantUnloadUnitsThere: untyped
|
10279
|
+
CantWarpInUnitsThere: untyped
|
10280
|
+
CantLoadImmobileUnits: untyped
|
10281
|
+
CantRechargeImmobileUnits: untyped
|
10282
|
+
CantRechargeUnderConstructionUnits: untyped
|
10283
|
+
CantLoadThatUnit: untyped
|
10284
|
+
NoCargoToUnload: untyped
|
10285
|
+
LoadAllNoTargetsFound: untyped
|
10286
|
+
NotWhileOccupied: untyped
|
10287
|
+
CantAttackWithoutAmmo: untyped
|
10288
|
+
CantHoldAnyMoreAmmo: untyped
|
10289
|
+
TechRequirementsNotMet: untyped
|
10290
|
+
MustLockdownUnitFirst: untyped
|
10291
|
+
MustTargetUnit: untyped
|
10292
|
+
MustTargetInventory: untyped
|
10293
|
+
MustTargetVisibleUnit: untyped
|
10294
|
+
MustTargetVisibleLocation: untyped
|
10295
|
+
MustTargetWalkableLocation: untyped
|
10296
|
+
MustTargetPawnableUnit: untyped
|
10297
|
+
YouCantControlThatUnit: untyped
|
10298
|
+
YouCantIssueCommandsToThatUnit: untyped
|
10299
|
+
MustTargetResources: untyped
|
10300
|
+
RequiresHealTarget: untyped
|
10301
|
+
RequiresRepairTarget: untyped
|
10302
|
+
NoItemsToDrop: untyped
|
10303
|
+
CantHoldAnyMoreItems: untyped
|
10304
|
+
CantHoldThat: untyped
|
10305
|
+
TargetHasNoInventory: untyped
|
10306
|
+
CantDropThisItem: untyped
|
10307
|
+
CantMoveThisItem: untyped
|
10308
|
+
CantPawnThisUnit: untyped
|
10309
|
+
MustTargetCaster: untyped
|
10310
|
+
CantTargetCaster: untyped
|
10311
|
+
MustTargetOuter: untyped
|
10312
|
+
CantTargetOuter: untyped
|
10313
|
+
MustTargetYourOwnUnits: untyped
|
10314
|
+
CantTargetYourOwnUnits: untyped
|
10315
|
+
MustTargetFriendlyUnits: untyped
|
10316
|
+
CantTargetFriendlyUnits: untyped
|
10317
|
+
MustTargetNeutralUnits: untyped
|
10318
|
+
CantTargetNeutralUnits: untyped
|
10319
|
+
MustTargetEnemyUnits: untyped
|
10320
|
+
CantTargetEnemyUnits: untyped
|
10321
|
+
MustTargetAirUnits: untyped
|
10322
|
+
CantTargetAirUnits: untyped
|
10323
|
+
MustTargetGroundUnits: untyped
|
10324
|
+
CantTargetGroundUnits: untyped
|
10325
|
+
MustTargetStructures: untyped
|
10326
|
+
CantTargetStructures: untyped
|
10327
|
+
MustTargetLightUnits: untyped
|
10328
|
+
CantTargetLightUnits: untyped
|
10329
|
+
MustTargetArmoredUnits: untyped
|
10330
|
+
CantTargetArmoredUnits: untyped
|
10331
|
+
MustTargetBiologicalUnits: untyped
|
10332
|
+
CantTargetBiologicalUnits: untyped
|
10333
|
+
MustTargetHeroicUnits: untyped
|
10334
|
+
CantTargetHeroicUnits: untyped
|
10335
|
+
MustTargetRoboticUnits: untyped
|
10336
|
+
CantTargetRoboticUnits: untyped
|
10337
|
+
MustTargetMechanicalUnits: untyped
|
10338
|
+
CantTargetMechanicalUnits: untyped
|
10339
|
+
MustTargetPsionicUnits: untyped
|
10340
|
+
CantTargetPsionicUnits: untyped
|
10341
|
+
MustTargetMassiveUnits: untyped
|
10342
|
+
CantTargetMassiveUnits: untyped
|
10343
|
+
MustTargetMissile: untyped
|
10344
|
+
CantTargetMissile: untyped
|
10345
|
+
MustTargetWorkerUnits: untyped
|
10346
|
+
CantTargetWorkerUnits: untyped
|
10347
|
+
MustTargetEnergyCapableUnits: untyped
|
10348
|
+
CantTargetEnergyCapableUnits: untyped
|
10349
|
+
MustTargetShieldCapableUnits: untyped
|
10350
|
+
CantTargetShieldCapableUnits: untyped
|
10351
|
+
MustTargetFlyers: untyped
|
10352
|
+
CantTargetFlyers: untyped
|
10353
|
+
MustTargetBuriedUnits: untyped
|
10354
|
+
CantTargetBuriedUnits: untyped
|
10355
|
+
MustTargetCloakedUnits: untyped
|
10356
|
+
CantTargetCloakedUnits: untyped
|
10357
|
+
MustTargetUnitsInAStasisField: untyped
|
10358
|
+
CantTargetUnitsInAStasisField: untyped
|
10359
|
+
MustTargetUnderConstructionUnits: untyped
|
10360
|
+
CantTargetUnderConstructionUnits: untyped
|
10361
|
+
MustTargetDeadUnits: untyped
|
10362
|
+
CantTargetDeadUnits: untyped
|
10363
|
+
MustTargetRevivableUnits: untyped
|
10364
|
+
CantTargetRevivableUnits: untyped
|
10365
|
+
MustTargetHiddenUnits: untyped
|
10366
|
+
CantTargetHiddenUnits: untyped
|
10367
|
+
CantRechargeOtherPlayersUnits: untyped
|
10368
|
+
MustTargetHallucinations: untyped
|
10369
|
+
CantTargetHallucinations: untyped
|
10370
|
+
MustTargetInvulnerableUnits: untyped
|
10371
|
+
CantTargetInvulnerableUnits: untyped
|
10372
|
+
MustTargetDetectedUnits: untyped
|
10373
|
+
CantTargetDetectedUnits: untyped
|
10374
|
+
CantTargetUnitWithEnergy: untyped
|
10375
|
+
CantTargetUnitWithShields: untyped
|
10376
|
+
MustTargetUncommandableUnits: untyped
|
10377
|
+
CantTargetUncommandableUnits: untyped
|
10378
|
+
MustTargetPreventDefeatUnits: untyped
|
10379
|
+
CantTargetPreventDefeatUnits: untyped
|
10380
|
+
MustTargetPreventRevealUnits: untyped
|
10381
|
+
CantTargetPreventRevealUnits: untyped
|
10382
|
+
MustTargetPassiveUnits: untyped
|
10383
|
+
CantTargetPassiveUnits: untyped
|
10384
|
+
MustTargetStunnedUnits: untyped
|
10385
|
+
CantTargetStunnedUnits: untyped
|
10386
|
+
MustTargetSummonedUnits: untyped
|
10387
|
+
CantTargetSummonedUnits: untyped
|
10388
|
+
MustTargetUser1: untyped
|
10389
|
+
CantTargetUser1: untyped
|
10390
|
+
MustTargetUnstoppableUnits: untyped
|
10391
|
+
CantTargetUnstoppableUnits: untyped
|
10392
|
+
MustTargetResistantUnits: untyped
|
10393
|
+
CantTargetResistantUnits: untyped
|
10394
|
+
MustTargetDazedUnits: untyped
|
10395
|
+
CantTargetDazedUnits: untyped
|
10396
|
+
CantLockdown: untyped
|
10397
|
+
CantMindControl: untyped
|
10398
|
+
MustTargetDestructibles: untyped
|
10399
|
+
CantTargetDestructibles: untyped
|
10400
|
+
MustTargetItems: untyped
|
10401
|
+
CantTargetItems: untyped
|
10402
|
+
NoCalldownAvailable: untyped
|
10403
|
+
WaypointListFull: untyped
|
10404
|
+
MustTargetRace: untyped
|
10405
|
+
CantTargetRace: untyped
|
10406
|
+
MustTargetSimilarUnits: untyped
|
10407
|
+
CantTargetSimilarUnits: untyped
|
10408
|
+
CantFindEnoughTargets: untyped
|
10409
|
+
AlreadySpawningLarva: untyped
|
10410
|
+
CantTargetExhaustedResources: untyped
|
10411
|
+
CantUseMinimap: untyped
|
10412
|
+
CantUseInfoPanel: untyped
|
10413
|
+
OrderQueueIsFull: untyped
|
10414
|
+
CantHarvestThatResource: untyped
|
10415
|
+
HarvestersNotRequired: untyped
|
10416
|
+
AlreadyTargeted: untyped
|
10417
|
+
CantAttackWeaponsDisabled: untyped
|
10418
|
+
CouldntReachTarget: untyped
|
10419
|
+
TargetIsOutOfRange: untyped
|
10420
|
+
TargetIsTooClose: untyped
|
10421
|
+
TargetIsOutOfArc: untyped
|
10422
|
+
CantFindTeleportLocation: untyped
|
10423
|
+
InvalidItemClass: untyped
|
10424
|
+
CantFindCancelOrder: untyped
|
10181
10425
|
end
|
10182
10426
|
|
10183
10427
|
# Adds additional functionality to message object Api::Point2D
|
@@ -10188,6 +10432,9 @@ module Api
|
|
10188
10432
|
# sord omit - no YARD type given for "other", using untyped
|
10189
10433
|
def eql?: (untyped other) -> bool
|
10190
10434
|
|
10435
|
+
# Returns self
|
10436
|
+
def to_p2d: () -> self
|
10437
|
+
|
10191
10438
|
# sord omit - no YARD type given for "z:", using untyped
|
10192
10439
|
# Create a new 3d Point, by adding a y axis.
|
10193
10440
|
def to_3d: (?z: untyped) -> Api::Point
|
@@ -10205,12 +10452,6 @@ module Api
|
|
10205
10452
|
end
|
10206
10453
|
end
|
10207
10454
|
|
10208
|
-
# Adds additional functionality to message object Api::Unit
|
10209
|
-
module UnitTypeExtension
|
10210
|
-
# sord omit - no YARD return type given, using untyped
|
10211
|
-
def mood: () -> untyped
|
10212
|
-
end
|
10213
|
-
|
10214
10455
|
# Adds additional functionality to message object Api::PowerSource
|
10215
10456
|
module PowerSourceExtension
|
10216
10457
|
include Sc2::Position
|
@@ -10381,6 +10622,14 @@ module Api
|
|
10381
10622
|
#
|
10382
10623
|
# _@return_ — sum of vespene gas costs
|
10383
10624
|
attr_accessor vespene_cost_sum: (Integer | untyped)
|
10625
|
+
|
10626
|
+
# Length of tiles to build.
|
10627
|
+
# i.e. 5 for any Base-type (5x5)
|
10628
|
+
# i.e. 3 for Barracks (3x3)
|
10629
|
+
# i.e. 2 for Supply Depot (2x2)
|
10630
|
+
#
|
10631
|
+
# _@return_ — side-length for placement
|
10632
|
+
attr_accessor placement_length: (Integer | untyped)
|
10384
10633
|
end
|
10385
10634
|
|
10386
10635
|
# This module make sure that a read from method ability_id always returns the proper source id
|
@@ -10389,63 +10638,4 @@ module Api
|
|
10389
10638
|
# i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
|
10390
10639
|
def ability_id: () -> Integer
|
10391
10640
|
end
|
10392
|
-
end
|
10393
|
-
|
10394
|
-
# Array extensions
|
10395
|
-
class Array
|
10396
|
-
# Turns an Array of Api::Unit into a Sc2::UnitGroup
|
10397
|
-
#
|
10398
|
-
# _@return_ — array converted to a unit group
|
10399
|
-
def to_unit_group: () -> Sc2::UnitGroup
|
10400
|
-
|
10401
|
-
# Creates a Point2D from 0,1 as x,y
|
10402
|
-
def to_p2d: () -> Api::Point2D
|
10403
|
-
end
|
10404
|
-
|
10405
|
-
# Kernel extensions
|
10406
|
-
module Kernel
|
10407
|
-
# sord omit - no YARD return type given, using untyped
|
10408
|
-
# Sets $VERBOSE to +nil+ for the duration of the block and back to its original
|
10409
|
-
# value afterwards.
|
10410
|
-
#
|
10411
|
-
# silence_warnings do
|
10412
|
-
# value = noisy_call # no warning voiced
|
10413
|
-
# end
|
10414
|
-
#
|
10415
|
-
# noisy_call # warning voiced
|
10416
|
-
def silence_warnings: () -> untyped
|
10417
|
-
|
10418
|
-
# sord omit - no YARD return type given, using untyped
|
10419
|
-
# Sets $VERBOSE to +nil+ for the duration of the block and back to its original
|
10420
|
-
# value afterwards.
|
10421
|
-
#
|
10422
|
-
# silence_warnings do
|
10423
|
-
# value = noisy_call # no warning voiced
|
10424
|
-
# end
|
10425
|
-
#
|
10426
|
-
# noisy_call # warning voiced
|
10427
|
-
def self.silence_warnings: () -> untyped
|
10428
|
-
|
10429
|
-
# sord omit - no YARD type given for "flag", using untyped
|
10430
|
-
# sord omit - no YARD return type given, using untyped
|
10431
|
-
# Sets $VERBOSE for the duration of the block and back to its original
|
10432
|
-
# value afterwards.
|
10433
|
-
def with_warnings: (untyped flag) -> untyped
|
10434
|
-
|
10435
|
-
# sord omit - no YARD type given for "flag", using untyped
|
10436
|
-
# sord omit - no YARD return type given, using untyped
|
10437
|
-
# Sets $VERBOSE for the duration of the block and back to its original
|
10438
|
-
# value afterwards.
|
10439
|
-
# noinspection RubyGlobalVariableNamingConvention
|
10440
|
-
def self.with_warnings: (untyped flag) -> untyped
|
10441
|
-
end
|
10442
|
-
|
10443
|
-
module Async
|
10444
|
-
module Process
|
10445
|
-
class Child
|
10446
|
-
# sord omit - no YARD type given for "*args", using untyped
|
10447
|
-
# sord omit - no YARD type given for "**options", using untyped
|
10448
|
-
def initialize: (*untyped args, **untyped options) -> void
|
10449
|
-
end
|
10450
|
-
end
|
10451
10641
|
end
|