sc2ai 0.0.8 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|