sc2ai 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/sig/sc2ai.rbs CHANGED
@@ -23,6 +23,82 @@ 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
+
26
102
  # Helps determine common paths to sc2 install dir, executable and maps.
27
103
  # It maintains some semblance of compatibility with python-sc2 config
28
104
  #
@@ -342,6 +418,12 @@ module Sc2
342
418
  # In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
343
419
  def game_info_stale?: () -> bool
344
420
 
421
+ # A Hash by unit tag, holding an array of available ability ids
422
+ # Synchronously calls RequestQueryAvailableAbilities and caches for this game loop.
423
+ #
424
+ # _@return_ — { unit_tag => [ability_id, ...], ... }
425
+ def available_abilities: () -> ::Hash[Integer, ::Array[Integer]]
426
+
345
427
  # sord warn - Api::PlayerCommon wasn't able to be resolved to a constant in this project
346
428
  # An alias for observation.player_common to allow easier access to i.e. common.minerals
347
429
  #
@@ -494,7 +576,6 @@ module Sc2
494
576
  # _@param_ `race` — Api::Race::* excl *::Random
495
577
  def on_random_race_detected: (Integer race) -> untyped
496
578
 
497
- # sord warn - Api::ActionError wasn't able to be resolved to a constant in this project
498
579
  # sord omit - no YARD return type given, using untyped
499
580
  # Called on step if errors are present. Equivalent of UI red text errors.
500
581
  # Override to read action errors.
@@ -682,16 +763,15 @@ module Sc2
682
763
  #
683
764
  # _@param_ `radius` — default one tile wide, 1.0
684
765
  #
685
- # _@param_ `color` — default white. min(r,b) is used for both r&b
766
+ # _@param_ `color` — default white
686
767
  def debug_draw_sphere: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
687
768
 
688
- # Toggles cheat commands on/off (send only once to enable)
689
769
  # Possible values:
690
770
  # Api::DebugGameState::Show_map
691
771
  # Api::DebugGameState::Control_enemy
692
772
  # Api::DebugGameState::Food
693
773
  # Api::DebugGameState::Free
694
- # Api::DebugGameState::all_resources
774
+ # Api::DebugGameState::All_resources
695
775
  # Api::DebugGameState::God
696
776
  # Api::DebugGameState::Minerals
697
777
  # Api::DebugGameState::Gas
@@ -807,7 +887,7 @@ module Sc2
807
887
  #
808
888
  # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
809
889
  #
810
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
890
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
811
891
  #
812
892
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
813
893
  #
@@ -819,21 +899,22 @@ module Sc2
819
899
  ?queue_command: bool
820
900
  ) -> untyped
821
901
 
822
- # sord omit - no YARD type given for "units:", using untyped
823
902
  # sord omit - no YARD return type given, using untyped
824
903
  # Warps in unit type at target (location or pylon) with optional source units (warp gates)
825
904
  # When not specifying the specific warp gate(s), all warpgates will be used
826
905
  #
827
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
906
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
828
907
  #
829
908
  # _@param_ `queue_command` — shift+command
830
909
  #
831
910
  # _@param_ `target` — is a unit tag or a Api::Point2D
911
+ #
912
+ # _@param_ `units`
832
913
  def warp: (
833
914
  unit_type_id: Integer,
834
915
  target: (Api::Point2D | Integer),
835
916
  queue_command: bool,
836
- ?units: untyped
917
+ ?units: (::Array[Integer] | Integer | Api::Unit)?
837
918
  ) -> untyped
838
919
 
839
920
  # sord omit - no YARD return type given, using untyped
@@ -1040,6 +1121,14 @@ module Sc2
1040
1121
  # Checks whether you have the resources to
1041
1122
  def can_afford_upgrade?: (untyped upgrade_id) -> bool
1042
1123
 
1124
+ # Returns whether Query Available Ability is true for unit and tag
1125
+ # Queries API if necessary. Uses batching in the background.
1126
+ #
1127
+ # _@param_ `unit_tag`
1128
+ #
1129
+ # _@param_ `ability_id`
1130
+ def unit_ability_available?: (unit_tag: Integer, ability_id: Integer) -> bool
1131
+
1043
1132
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1044
1133
  # sord omit - no YARD return type given, using untyped
1045
1134
  # Divides raw data units into various attributes on every step
@@ -1161,6 +1250,14 @@ module Sc2
1161
1250
  # Checks whether you have the resources to
1162
1251
  def can_afford_upgrade?: (untyped upgrade_id) -> bool
1163
1252
 
1253
+ # Returns whether Query Available Ability is true for unit and tag
1254
+ # Queries API if necessary. Uses batching in the background.
1255
+ #
1256
+ # _@param_ `unit_tag`
1257
+ #
1258
+ # _@param_ `ability_id`
1259
+ def unit_ability_available?: (unit_tag: Integer, ability_id: Integer) -> bool
1260
+
1164
1261
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1165
1262
  # sord omit - no YARD return type given, using untyped
1166
1263
  # Divides raw data units into various attributes on every step
@@ -1328,16 +1425,15 @@ module Sc2
1328
1425
  #
1329
1426
  # _@param_ `radius` — default one tile wide, 1.0
1330
1427
  #
1331
- # _@param_ `color` — default white. min(r,b) is used for both r&b
1428
+ # _@param_ `color` — default white
1332
1429
  def debug_draw_sphere: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
1333
1430
 
1334
- # Toggles cheat commands on/off (send only once to enable)
1335
1431
  # Possible values:
1336
1432
  # Api::DebugGameState::Show_map
1337
1433
  # Api::DebugGameState::Control_enemy
1338
1434
  # Api::DebugGameState::Food
1339
1435
  # Api::DebugGameState::Free
1340
- # Api::DebugGameState::all_resources
1436
+ # Api::DebugGameState::All_resources
1341
1437
  # Api::DebugGameState::God
1342
1438
  # Api::DebugGameState::Minerals
1343
1439
  # Api::DebugGameState::Gas
@@ -1478,6 +1574,14 @@ module Sc2
1478
1574
  # Checks whether you have the resources to
1479
1575
  def can_afford_upgrade?: (untyped upgrade_id) -> bool
1480
1576
 
1577
+ # Returns whether Query Available Ability is true for unit and tag
1578
+ # Queries API if necessary. Uses batching in the background.
1579
+ #
1580
+ # _@param_ `unit_tag`
1581
+ #
1582
+ # _@param_ `ability_id`
1583
+ def unit_ability_available?: (unit_tag: Integer, ability_id: Integer) -> bool
1584
+
1481
1585
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1482
1586
  # sord omit - no YARD return type given, using untyped
1483
1587
  # Divides raw data units into various attributes on every step
@@ -1509,13 +1613,17 @@ module Sc2
1509
1613
 
1510
1614
  attr_accessor all_units: (Sc2::UnitGroup | untyped)
1511
1615
 
1512
- # _@return_ — a group of units
1616
+ # _@return_ — a group of placeholder structures
1513
1617
  attr_accessor units: Sc2::UnitGroup
1514
1618
 
1515
1619
  # sord omit - no YARD type given for :structures, using untyped
1516
1620
  # A full list of all your structures (non-units)
1517
1621
  attr_accessor structures: untyped
1518
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
+
1519
1627
  # _@return_ — a group of neutral units
1520
1628
  attr_accessor neutral: Sc2::UnitGroup
1521
1629
 
@@ -1529,7 +1637,7 @@ module Sc2
1529
1637
 
1530
1638
  # sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
1531
1639
  # sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
1532
- # _@return_ — an array of power sources
1640
+ # _@return_ — an array of radar rings sources
1533
1641
  attr_accessor power_sources: ::Array[Api::RadarRing]
1534
1642
 
1535
1643
  # sord omit - no YARD type given for :radar_rings, using untyped
@@ -1624,7 +1732,7 @@ module Sc2
1624
1732
  #
1625
1733
  # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
1626
1734
  #
1627
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
1735
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
1628
1736
  #
1629
1737
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
1630
1738
  #
@@ -1636,21 +1744,22 @@ module Sc2
1636
1744
  ?queue_command: bool
1637
1745
  ) -> untyped
1638
1746
 
1639
- # sord omit - no YARD type given for "units:", using untyped
1640
1747
  # sord omit - no YARD return type given, using untyped
1641
1748
  # Warps in unit type at target (location or pylon) with optional source units (warp gates)
1642
1749
  # When not specifying the specific warp gate(s), all warpgates will be used
1643
1750
  #
1644
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
1751
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
1645
1752
  #
1646
1753
  # _@param_ `queue_command` — shift+command
1647
1754
  #
1648
1755
  # _@param_ `target` — is a unit tag or a Api::Point2D
1756
+ #
1757
+ # _@param_ `units`
1649
1758
  def warp: (
1650
1759
  unit_type_id: Integer,
1651
1760
  target: (Api::Point2D | Integer),
1652
1761
  queue_command: bool,
1653
- ?units: untyped
1762
+ ?units: (::Array[Integer] | Integer | Api::Unit)?
1654
1763
  ) -> untyped
1655
1764
 
1656
1765
  # sord omit - no YARD return type given, using untyped
@@ -1811,6 +1920,9 @@ module Sc2
1811
1920
  # Effected by crop_to_playable_area
1812
1921
  def map_height: () -> Integer
1813
1922
 
1923
+ # Center of the map
1924
+ def map_center: () -> Api::Point2D
1925
+
1814
1926
  # Returns zero to map_width as range
1815
1927
  #
1816
1928
  # _@return_ — 0 to map_width
@@ -2177,6 +2289,12 @@ module Sc2
2177
2289
  # In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
2178
2290
  def game_info_stale?: () -> bool
2179
2291
 
2292
+ # A Hash by unit tag, holding an array of available ability ids
2293
+ # Synchronously calls RequestQueryAvailableAbilities and caches for this game loop.
2294
+ #
2295
+ # _@return_ — { unit_tag => [ability_id, ...], ... }
2296
+ def available_abilities: () -> ::Hash[Integer, ::Array[Integer]]
2297
+
2180
2298
  # sord warn - Api::PlayerCommon wasn't able to be resolved to a constant in this project
2181
2299
  # An alias for observation.player_common to allow easier access to i.e. common.minerals
2182
2300
  #
@@ -2228,6 +2346,10 @@ module Sc2
2228
2346
  #
2229
2347
  # _@see_ `Unit#build` — and #morph
2230
2348
  attr_accessor spent_supply: (Integer | untyped)
2349
+
2350
+ # This is the last loop at which available_abilities was queried.
2351
+ # Used to determine staleness.
2352
+ attr_accessor available_abilities_loop: Integer
2231
2353
  end
2232
2354
 
2233
2355
  # Container for the previous game state, based on current bot state
@@ -2318,6 +2440,14 @@ module Sc2
2318
2440
  # Checks whether you have the resources to
2319
2441
  def can_afford_upgrade?: (untyped upgrade_id) -> bool
2320
2442
 
2443
+ # Returns whether Query Available Ability is true for unit and tag
2444
+ # Queries API if necessary. Uses batching in the background.
2445
+ #
2446
+ # _@param_ `unit_tag`
2447
+ #
2448
+ # _@param_ `ability_id`
2449
+ def unit_ability_available?: (unit_tag: Integer, ability_id: Integer) -> bool
2450
+
2321
2451
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
2322
2452
  # sord omit - no YARD return type given, using untyped
2323
2453
  # Divides raw data units into various attributes on every step
@@ -2356,6 +2486,12 @@ module Sc2
2356
2486
  # In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
2357
2487
  def game_info_stale?: () -> bool
2358
2488
 
2489
+ # A Hash by unit tag, holding an array of available ability ids
2490
+ # Synchronously calls RequestQueryAvailableAbilities and caches for this game loop.
2491
+ #
2492
+ # _@return_ — { unit_tag => [ability_id, ...], ... }
2493
+ def available_abilities: () -> ::Hash[Integer, ::Array[Integer]]
2494
+
2359
2495
  # sord warn - Api::PlayerCommon wasn't able to be resolved to a constant in this project
2360
2496
  # An alias for observation.player_common to allow easier access to i.e. common.minerals
2361
2497
  #
@@ -2477,83 +2613,6 @@ module Sc2
2477
2613
  end
2478
2614
  end
2479
2615
 
2480
- # Holds game data from tech tree and Api::ResponseData
2481
- # Called once on game start
2482
- class Data
2483
- # sord warn - Api::ResponseData wasn't able to be resolved to a constant in this project
2484
- # _@param_ `data`
2485
- def initialize: (Api::ResponseData data) -> void
2486
-
2487
- # sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
2488
- # sord warn - "Hash<Integer, Api::AbilityData] indexed data" does not appear to be a type
2489
- # Indexes ability data by ability id
2490
- #
2491
- # _@param_ `abilities`
2492
- #
2493
- # _@return_ — Hash<Integer, Api::AbilityData] indexed data
2494
- def abilities_from_proto: (::Array[Api::AbilityData] abilities) -> SORD_ERROR_HashIntegerApiAbilityDataindexeddata
2495
-
2496
- # sord warn - "Hash<Integer, Api::UnitTypeData] indexed data" does not appear to be a type
2497
- # Indexes unit data by id
2498
- #
2499
- # _@param_ `units`
2500
- #
2501
- # _@return_ — Hash<Integer, Api::UnitTypeData] indexed data
2502
- def units_from_proto: (::Array[Api::UnitTypeData] units) -> SORD_ERROR_HashIntegerApiUnitTypeDataindexeddata
2503
-
2504
- # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
2505
- # sord warn - "Hash<Integer, Api::UpgradeData] indexed data" does not appear to be a type
2506
- # Indexes upgrades data by id
2507
- #
2508
- # _@param_ `upgrades`
2509
- #
2510
- # _@return_ — Hash<Integer, Api::UpgradeData] indexed data
2511
- def upgrades_from_proto: (::Array[Api::UpgradeData] upgrades) -> SORD_ERROR_HashIntegerApiUpgradeDataindexeddata
2512
-
2513
- # sord omit - no YARD type given for "effects", using untyped
2514
- # sord omit - no YARD return type given, using untyped
2515
- def effects_from_proto: (untyped effects) -> untyped
2516
-
2517
- # sord omit - no YARD type given for "buffs", using untyped
2518
- # sord omit - no YARD return type given, using untyped
2519
- def buffs_from_proto: (untyped buffs) -> untyped
2520
-
2521
- # sord omit - no YARD return type given, using untyped
2522
- # Overrides unit data from api to implement fixes or change context
2523
- # i.e. Api::UnitTypeId::ORBITALCOMMAND cost is cost-to-upgrade instead of CC + Orbital combined cost.
2524
- # Run once. Depends on all data already being set.
2525
- def override_unit_data: () -> untyped
2526
-
2527
- # sord omit - no YARD return type given, using untyped
2528
- # Fixes mineral_cost, vespene_cost and food_required values
2529
- def correct_unit_type_costs: () -> untyped
2530
-
2531
- # sord omit - no YARD return type given, using untyped
2532
- # Fixes mineral_cost_sum, vespene_cost_sum
2533
- def correct_unit_type_sum: () -> untyped
2534
-
2535
- # sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
2536
- # _@return_ — AbilityId => AbilityData
2537
- attr_accessor abilities: (::Hash[Integer, Api::AbilityData] | untyped)
2538
-
2539
- # _@return_ — UnitId => UnitTypeData
2540
- attr_accessor units: (::Hash[Integer, Api::UnitTypeData] | untyped)
2541
-
2542
- # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
2543
- # _@return_ — UpgradeId => UpgradeData
2544
- attr_accessor upgrades: (::Hash[Integer, Api::UpgradeData] | untyped)
2545
-
2546
- # sord omit - no YARD type given for :buffs, using untyped
2547
- # Not particularly useful data. Just use BuffId directly
2548
- # @return [Hash<Integer, Api::BuffData>] BuffId => BuffData
2549
- attr_accessor buffs: untyped
2550
-
2551
- # sord omit - no YARD type given for :effects, using untyped
2552
- # Not particularly useful data. Just use EffectId directly
2553
- # @return [Hash<Integer, Api::EffectData>] EffectId => EffectData
2554
- attr_accessor effects: untyped
2555
- end
2556
-
2557
2616
  # Manages client connection to the Api
2558
2617
  class Connection
2559
2618
  include Sc2::Connection::Requests
@@ -2821,14 +2880,15 @@ module Sc2
2821
2880
  def query_abilities_for_unit_tags: (::Array[Integer] unit_tags, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
2822
2881
 
2823
2882
  # sord omit - no YARD type given for "ignore_resource_requirements:", using untyped
2824
- # sord omit - no YARD return type given, using untyped
2825
2883
  # Queries available ability ids for one unit
2826
2884
  # Shortened response over #query_abilities_for_unit_tags, since we know the tag already
2827
2885
  # and can just return an array of ability ids.
2828
2886
  # Note: Querying single units are expensive and should be batched with #query_abilities_for_unit_tags
2829
2887
  #
2830
2888
  # _@param_ `unit` — a unit or a tag.
2831
- def query_ability_ids_for_unit: ((Api::Unit | Integer) unit, ?ignore_resource_requirements: untyped) -> untyped
2889
+ #
2890
+ # _@return_ — array of ability ids
2891
+ def query_ability_ids_for_unit: ((Api::Unit | Integer) unit, ?ignore_resource_requirements: untyped) -> ::Array[Integer]
2832
2892
 
2833
2893
  # sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2834
2894
  # sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
@@ -3124,14 +3184,15 @@ module Sc2
3124
3184
  def query_abilities_for_unit_tags: (::Array[Integer] unit_tags, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
3125
3185
 
3126
3186
  # sord omit - no YARD type given for "ignore_resource_requirements:", using untyped
3127
- # sord omit - no YARD return type given, using untyped
3128
3187
  # Queries available ability ids for one unit
3129
3188
  # Shortened response over #query_abilities_for_unit_tags, since we know the tag already
3130
3189
  # and can just return an array of ability ids.
3131
3190
  # Note: Querying single units are expensive and should be batched with #query_abilities_for_unit_tags
3132
3191
  #
3133
3192
  # _@param_ `unit` — a unit or a tag.
3134
- def query_ability_ids_for_unit: ((Api::Unit | Integer) unit, ?ignore_resource_requirements: untyped) -> untyped
3193
+ #
3194
+ # _@return_ — array of ability ids
3195
+ def query_ability_ids_for_unit: ((Api::Unit | Integer) unit, ?ignore_resource_requirements: untyped) -> ::Array[Integer]
3135
3196
 
3136
3197
  # sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
3137
3198
  # sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
@@ -3508,7 +3569,7 @@ module Sc2
3508
3569
  # sord omit - no YARD return type given, using untyped
3509
3570
  # Builds target unit type, i.e. issuing a build command to worker.build(...Api::UnitTypeId::BARRACKS)
3510
3571
  #
3511
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
3572
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
3512
3573
  #
3513
3574
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
3514
3575
  #
@@ -3519,12 +3580,12 @@ module Sc2
3519
3580
  # Warps in unit type at target (location or pylon)
3520
3581
  # Will only have affect is this group consists of warp gates, i.e. bot.structures.warpgates
3521
3582
  #
3522
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
3583
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
3523
3584
  #
3524
3585
  # _@param_ `target` — a point, which should be inside an energy source
3525
3586
  #
3526
3587
  # _@param_ `queue_command` — shift+command
3527
- def warp: (unit_type_id: Integer, ?target: Api::Point2D?, ?queue_command: bool) -> untyped
3588
+ def warp: (unit_type_id: Integer, target: Api::Point2D, ?queue_command: bool) -> untyped
3528
3589
 
3529
3590
  # sord omit - no YARD return type given, using untyped
3530
3591
  # Research a specific upgrade at one of these structures
@@ -3690,13 +3751,26 @@ module Sc2
3690
3751
 
3691
3752
  # Selects only units which have finished constructing, i.o.w. build_progress == 1.0
3692
3753
  #
3693
- # _@return_ — gas structures
3754
+ # _@return_ — complete unit group
3694
3755
  def completed: () -> UnitGroup
3695
3756
 
3757
+ # Selects only units which have finished constructing, i.o.w. build_progress != 1.0
3758
+ #
3759
+ # _@return_ — incomplete unit group
3760
+ def incomplete: () -> UnitGroup
3761
+
3696
3762
  # sord omit - no YARD return type given, using untyped
3697
3763
  # Selects only units which do not have orders
3698
3764
  def idle: () -> untyped
3699
3765
 
3766
+ # Selects units which have this ability available\
3767
+ # Queries API if necessary
3768
+ #
3769
+ # _@param_ `ability_id`
3770
+ #
3771
+ # _@return_ — units which have the ability available
3772
+ def ability_available?: (Integer ability_id) -> UnitGroup
3773
+
3700
3774
  # Selects mineral fields
3701
3775
  #
3702
3776
  # _@return_ — mineral fields
@@ -3841,10 +3915,10 @@ module Sc2
3841
3915
  def initialize: ((Api::Unit | ::Hash[Integer, Api::Unit] | ::Array[Api::Unit] | Sc2::UnitGroup)? unit_group) -> void
3842
3916
 
3843
3917
  # Does the opposite of selector and returns those values for parent
3844
- def select_type: () -> UnitGroup
3918
+ def select: () -> Sc2::UnitGroup
3845
3919
 
3846
3920
  # Does the opposite of selector and returns those values for parent
3847
- def reject_type: () -> UnitGroup
3921
+ def reject: () -> Sc2::UnitGroup
3848
3922
 
3849
3923
  # Returns the value of attribute parent.
3850
3924
  attr_accessor parent: untyped
@@ -4236,7 +4310,9 @@ module Sc2
4236
4310
  # Randomly adjusts both x and y by a range of: -offset..offset
4237
4311
  #
4238
4312
  # _@param_ `offset`
4239
- def random_offset: (Float offset) -> Api::Point2D
4313
+ #
4314
+ # _@return_ — new Position
4315
+ def random_offset: (Float offset) -> Sc2::Position
4240
4316
 
4241
4317
  # sord omit - no YARD type given for "offset", using untyped
4242
4318
  # Changes this point's x and y by the supplied offset
@@ -4248,15 +4324,15 @@ module Sc2
4248
4324
  # sord omit - no YARD type given for "y", using untyped
4249
4325
  # Creates a new point with x and y which is offset
4250
4326
  #
4251
- # _@return_ — self
4252
- def offset: (untyped x, untyped y) -> Api::Point2D
4327
+ # _@return_ — new Position
4328
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
4253
4329
 
4254
4330
  # sord omit - no YARD type given for "x", using untyped
4255
4331
  # sord omit - no YARD type given for "y", using untyped
4256
4332
  # Changes this point's x and y by the supplied offset
4257
4333
  #
4258
4334
  # _@return_ — self
4259
- def offset!: (untyped x, untyped y) -> Sc2::Position
4335
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
4260
4336
 
4261
4337
  # For vector returns the magnitude, synonymous with Math.hypot
4262
4338
  def magnitude: () -> Float
@@ -4326,7 +4402,7 @@ module Sc2
4326
4402
  end
4327
4403
  end
4328
4404
 
4329
- # Generated from stableid.json, do not edit.
4405
+ # This class was partially generated with the help of AI.
4330
4406
  module Api
4331
4407
  # Constant reference of Buff ids
4332
4408
  module BuffId
@@ -4620,23 +4696,16 @@ module Api
4620
4696
  ACCELERATIONZONETEMPORALFIELD: untyped
4621
4697
  ACCELERATIONZONEFLYINGTEMPORALFIELD: untyped
4622
4698
  INHIBITORZONEFLYINGTEMPORALFIELD: untyped
4623
- DUMMYBUFF000: untyped
4699
+ LOADOUTSPRAYTRACKER: untyped
4624
4700
  INHIBITORZONETEMPORALFIELD: untyped
4701
+ CLOAKFIELD: untyped
4625
4702
  RESONATINGGLAIVESPHASESHIFT: untyped
4626
4703
  NEURALPARASITECHILDREN: untyped
4627
4704
  AMORPHOUSARMORCLOUD: untyped
4628
4705
  RAVENSHREDDERMISSILEARMORREDUCTIONUISUBTRUCT: untyped
4629
- BATTERYOVERCHARGE: untyped
4630
- DUMMYBUFF001: untyped
4631
- DUMMYBUFF002: untyped
4632
- DUMMYBUFF003: untyped
4633
- DUMMYBUFF004: untyped
4634
- DUMMYBUFF005: untyped
4635
- ONCREEPQUEEN: untyped
4636
- LOADOUTSPRAYTRACKER: untyped
4637
- CLOAKFIELD: untyped
4638
4706
  TAKENDAMAGE: untyped
4639
4707
  RAVENSCRAMBLERMISSILECARRIER: untyped
4708
+ BATTERYOVERCHARGE: untyped
4640
4709
 
4641
4710
  # sord omit - no YARD return type given, using untyped
4642
4711
  def self._250MMSTRIKECANNONS: () -> untyped
@@ -4757,6 +4826,21 @@ module Api
4757
4826
  # _@return_ — ability_id
4758
4827
  def self.upgrade_ability_data: (Integer source_unit_type_id) -> ::Hash[Integer, ::Hash[untyped, untyped]]
4759
4828
 
4829
+ # sord omit - no YARD type given for "unit_type_id", using untyped
4830
+ # Returns known abilities fo unit type
4831
+ #
4832
+ # _@return_ — array of ability_ids
4833
+ def self.unit_abilities: (untyped unit_type_id) -> ::Array[Integer]
4834
+
4835
+ # sord omit - no YARD return type given, using untyped
4836
+ def standard_abilities: () -> untyped
4837
+
4838
+ # sord omit - no YARD type given for "unit_type_id", using untyped
4839
+ # Returns special abilities, excluding basic start/stop/attack commands
4840
+ #
4841
+ # _@return_ — array of ability_ids
4842
+ def self.unit_special_abilities: (untyped unit_type_id) -> ::Array[Integer]
4843
+
4760
4844
  # sord omit - no YARD return type given, using untyped
4761
4845
  def self.unit_type_creation_abilities_data: () -> untyped
4762
4846
 
@@ -6047,7 +6131,6 @@ module Api
6047
6131
  NEXUSSHIELDRECHARGEONPYLON_NEXUSSHIELDRECHARGEONPYLON: untyped
6048
6132
  INFESTORENSNARE_INFESTORENSNARE: untyped
6049
6133
  EFFECT_RESTORE: untyped
6050
- SHIELDBATTERYRECHARGECHANNELED_STOP: untyped
6051
6134
  NEXUSSHIELDOVERCHARGE_NEXUSSHIELDOVERCHARGE: untyped
6052
6135
  NEXUSSHIELDOVERCHARGEOFF_NEXUSSHIELDOVERCHARGEOFF: untyped
6053
6136
  ATTACK_BATTLECRUISER: untyped
@@ -6083,317 +6166,14 @@ module Api
6083
6166
  LOADOUTSPRAY_LOADOUTSPRAY12: untyped
6084
6167
  LOADOUTSPRAY_LOADOUTSPRAY13: untyped
6085
6168
  LOADOUTSPRAY_LOADOUTSPRAY14: untyped
6086
- DUMMYABIL0_DUMMYABIL0: untyped
6087
- DUMMYABIL1_DUMMYABIL1: untyped
6088
- DUMMYABIL2_DUMMYABIL2: untyped
6089
- DUMMYABIL3_DUMMYABIL3: untyped
6090
- DUMMYABIL4_DUMMYABIL4: untyped
6091
- DUMMYABIL5_DUMMYABIL5: untyped
6092
- DUMMYABIL6_DUMMYABIL6: untyped
6093
- DUMMYABIL7_DUMMYABIL7: untyped
6094
- DUMMYABIL8_DUMMYABIL8: untyped
6095
- DUMMYABIL9_DUMMYABIL9: untyped
6096
- DUMMYABIL10_DUMMYABIL10: untyped
6097
- DUMMYABIL11_DUMMYABIL11: untyped
6098
- DUMMYABIL12_DUMMYABIL12: untyped
6099
- DUMMYABIL13_DUMMYABIL13: untyped
6100
- DUMMYABIL14_DUMMYABIL14: untyped
6101
- DUMMYABIL15_DUMMYABIL15: untyped
6102
- DUMMYABIL16_DUMMYABIL16: untyped
6103
- DUMMYABIL17_DUMMYABIL17: untyped
6104
- DUMMYABIL18_DUMMYABIL18: untyped
6105
- DUMMYABIL19_DUMMYABIL19: untyped
6106
- DUMMYABIL20_DUMMYABIL20: untyped
6107
- DUMMYABIL21_DUMMYABIL21: untyped
6108
- DUMMYABIL22_DUMMYABIL22: untyped
6109
- DUMMYABIL23_DUMMYABIL23: untyped
6110
- DUMMYABIL24_DUMMYABIL24: untyped
6111
- DUMMYABIL25_DUMMYABIL25: untyped
6112
- DUMMYABIL26_DUMMYABIL26: untyped
6113
- DUMMYABIL27_DUMMYABIL27: untyped
6114
- DUMMYABIL28_DUMMYABIL28: untyped
6115
- DUMMYABIL29_DUMMYABIL29: untyped
6116
- DUMMYABIL30_DUMMYABIL30: untyped
6117
- DUMMYABIL31_DUMMYABIL31: untyped
6118
- DUMMYABIL32_DUMMYABIL32: untyped
6119
- DUMMYABIL33_DUMMYABIL33: untyped
6120
- DUMMYABIL34_DUMMYABIL34: untyped
6121
- DUMMYABIL35_DUMMYABIL35: untyped
6122
- DUMMYABIL36_DUMMYABIL36: untyped
6123
- DUMMYABIL37_DUMMYABIL37: untyped
6124
- DUMMYABIL38_DUMMYABIL38: untyped
6125
- DUMMYABIL39_DUMMYABIL39: untyped
6126
- DUMMYABIL40_DUMMYABIL40: untyped
6127
- DUMMYABIL41_DUMMYABIL41: untyped
6128
- DUMMYABIL42_DUMMYABIL42: untyped
6129
- DUMMYABIL43_DUMMYABIL43: untyped
6130
- DUMMYABIL44_DUMMYABIL44: untyped
6131
- DUMMYABIL45_DUMMYABIL45: untyped
6132
- DUMMYABIL46_DUMMYABIL46: untyped
6133
- DUMMYABIL47_DUMMYABIL47: untyped
6134
- DUMMYABIL48_DUMMYABIL48: untyped
6135
- DUMMYABIL49_DUMMYABIL49: untyped
6136
- DUMMYABIL50_DUMMYABIL50: untyped
6137
- DUMMYABIL51_DUMMYABIL51: untyped
6138
- DUMMYABIL52_DUMMYABIL52: untyped
6139
- DUMMYABIL53_DUMMYABIL53: untyped
6140
- DUMMYABIL54_DUMMYABIL54: untyped
6141
- DUMMYABIL55_DUMMYABIL55: untyped
6142
- DUMMYABIL56_DUMMYABIL56: untyped
6143
- DUMMYABIL57_DUMMYABIL57: untyped
6144
- DUMMYABIL58_DUMMYABIL58: untyped
6145
- DUMMYABIL59_DUMMYABIL59: untyped
6146
- DUMMYABIL60_DUMMYABIL60: untyped
6147
- DUMMYABIL61_DUMMYABIL61: untyped
6148
- DUMMYABIL62_DUMMYABIL62: untyped
6149
- DUMMYABIL63_DUMMYABIL63: untyped
6150
- DUMMYABIL64_DUMMYABIL64: untyped
6151
- DUMMYABIL65_DUMMYABIL65: untyped
6152
- DUMMYABIL66_DUMMYABIL66: untyped
6153
- DUMMYABIL67_DUMMYABIL67: untyped
6154
- DUMMYABIL68_DUMMYABIL68: untyped
6155
- DUMMYABIL69_DUMMYABIL69: untyped
6156
- DUMMYABIL70_DUMMYABIL70: untyped
6157
- DUMMYABIL71_DUMMYABIL71: untyped
6158
- DUMMYABIL72_DUMMYABIL72: untyped
6159
- DUMMYABIL73_DUMMYABIL73: untyped
6160
- DUMMYABIL74_DUMMYABIL74: untyped
6161
- DUMMYABIL75_DUMMYABIL75: untyped
6162
- DUMMYABIL76_DUMMYABIL76: untyped
6163
- DUMMYABIL77_DUMMYABIL77: untyped
6164
- DUMMYABIL78_DUMMYABIL78: untyped
6165
- DUMMYABIL79_DUMMYABIL79: untyped
6166
- DUMMYABIL80_DUMMYABIL80: untyped
6167
- DUMMYABIL81_DUMMYABIL81: untyped
6168
- DUMMYABIL82_DUMMYABIL82: untyped
6169
- DUMMYABIL83_DUMMYABIL83: untyped
6170
- DUMMYABIL84_DUMMYABIL84: untyped
6171
- DUMMYABIL85_DUMMYABIL85: untyped
6172
- DUMMYABIL86_DUMMYABIL86: untyped
6173
- DUMMYABIL87_DUMMYABIL87: untyped
6174
- DUMMYABIL88_DUMMYABIL88: untyped
6175
- DUMMYABIL89_DUMMYABIL89: untyped
6176
- DUMMYABIL90_DUMMYABIL90: untyped
6177
- DUMMYABIL91_DUMMYABIL91: untyped
6178
- DUMMYABIL92_DUMMYABIL92: untyped
6179
- DUMMYABIL93_DUMMYABIL93: untyped
6180
- DUMMYABIL94_DUMMYABIL94: untyped
6181
- DUMMYABIL95_DUMMYABIL95: untyped
6182
- DUMMYABIL96_DUMMYABIL96: untyped
6183
- DUMMYABIL97_DUMMYABIL97: untyped
6184
- DUMMYABIL98_DUMMYABIL98: untyped
6185
- DUMMYABIL99_DUMMYABIL99: untyped
6186
- DUMMYABIL100_DUMMYABIL100: untyped
6187
- DUMMYABIL101_DUMMYABIL101: untyped
6188
- DUMMYABIL102_DUMMYABIL102: untyped
6189
- DUMMYABIL103_DUMMYABIL103: untyped
6190
- DUMMYABIL104_DUMMYABIL104: untyped
6191
- DUMMYABIL105_DUMMYABIL105: untyped
6192
- DUMMYABIL106_DUMMYABIL106: untyped
6193
- DUMMYABIL107_DUMMYABIL107: untyped
6194
- DUMMYABIL108_DUMMYABIL108: untyped
6195
- DUMMYABIL109_DUMMYABIL109: untyped
6196
- DUMMYABIL110_DUMMYABIL110: untyped
6197
- DUMMYABIL111_DUMMYABIL111: untyped
6198
- DUMMYABIL112_DUMMYABIL112: untyped
6199
- DUMMYABIL113_DUMMYABIL113: untyped
6200
- DUMMYABIL114_DUMMYABIL114: untyped
6201
- DUMMYABIL115_DUMMYABIL115: untyped
6202
- DUMMYABIL116_DUMMYABIL116: untyped
6203
- DUMMYABIL117_DUMMYABIL117: untyped
6204
- DUMMYABIL118_DUMMYABIL118: untyped
6205
- DUMMYABIL119_DUMMYABIL119: untyped
6206
- DUMMYABIL120_DUMMYABIL120: untyped
6207
- DUMMYABIL121_DUMMYABIL121: untyped
6208
- DUMMYABIL122_DUMMYABIL122: untyped
6209
- DUMMYABIL123_DUMMYABIL123: untyped
6210
- DUMMYABIL124_DUMMYABIL124: untyped
6211
- DUMMYABIL125_DUMMYABIL125: untyped
6212
- DUMMYABIL126_DUMMYABIL126: untyped
6213
- DUMMYABIL127_DUMMYABIL127: untyped
6214
- DUMMYABIL128_DUMMYABIL128: untyped
6215
- DUMMYABIL129_DUMMYABIL129: untyped
6216
- DUMMYABIL130_DUMMYABIL130: untyped
6217
- DUMMYABIL131_DUMMYABIL131: untyped
6218
- DUMMYABIL132_DUMMYABIL132: untyped
6219
- DUMMYABIL133_DUMMYABIL133: untyped
6220
- DUMMYABIL134_DUMMYABIL134: untyped
6221
- DUMMYABIL135_DUMMYABIL135: untyped
6222
- DUMMYABIL136_DUMMYABIL136: untyped
6223
- DUMMYABIL137_DUMMYABIL137: untyped
6224
- DUMMYABIL138_DUMMYABIL138: untyped
6225
- DUMMYABIL139_DUMMYABIL139: untyped
6226
- DUMMYABIL140_DUMMYABIL140: untyped
6227
- DUMMYABIL141_DUMMYABIL141: untyped
6228
- DUMMYABIL142_DUMMYABIL142: untyped
6229
- DUMMYABIL143_DUMMYABIL143: untyped
6230
- DUMMYABIL144_DUMMYABIL144: untyped
6231
- DUMMYABIL145_DUMMYABIL145: untyped
6232
- DUMMYABIL146_DUMMYABIL146: untyped
6233
- DUMMYABIL147_DUMMYABIL147: untyped
6234
- DUMMYABIL148_DUMMYABIL148: untyped
6235
- DUMMYABIL149_DUMMYABIL149: untyped
6236
- DUMMYABIL150_DUMMYABIL150: untyped
6237
- DUMMYABIL151_DUMMYABIL151: untyped
6238
- DUMMYABIL152_DUMMYABIL152: untyped
6239
- DUMMYABIL153_DUMMYABIL153: untyped
6240
- DUMMYABIL154_DUMMYABIL154: untyped
6241
- DUMMYABIL155_DUMMYABIL155: untyped
6242
- DUMMYABIL156_DUMMYABIL156: untyped
6243
- DUMMYABIL157_DUMMYABIL157: untyped
6244
- DUMMYABIL158_DUMMYABIL158: untyped
6245
- DUMMYABIL159_DUMMYABIL159: untyped
6246
- DUMMYABIL160_DUMMYABIL160: untyped
6247
- DUMMYABIL161_DUMMYABIL161: untyped
6248
- DUMMYABIL162_DUMMYABIL162: untyped
6249
- DUMMYABIL163_DUMMYABIL163: untyped
6250
- DUMMYABIL164_DUMMYABIL164: untyped
6251
- DUMMYABIL165_DUMMYABIL165: untyped
6252
- DUMMYABIL166_DUMMYABIL166: untyped
6253
- DUMMYABIL167_DUMMYABIL167: untyped
6254
- DUMMYABIL168_DUMMYABIL168: untyped
6255
- DUMMYABIL169_DUMMYABIL169: untyped
6256
- DUMMYABIL170_DUMMYABIL170: untyped
6257
- DUMMYABIL171_DUMMYABIL171: untyped
6258
- DUMMYABIL172_DUMMYABIL172: untyped
6259
- DUMMYABIL173_DUMMYABIL173: untyped
6260
- DUMMYABIL174_DUMMYABIL174: untyped
6261
- DUMMYABIL175_DUMMYABIL175: untyped
6262
- DUMMYABIL176_DUMMYABIL176: untyped
6263
- DUMMYABIL177_DUMMYABIL177: untyped
6264
- DUMMYABIL178_DUMMYABIL178: untyped
6265
- DUMMYABIL179_DUMMYABIL179: untyped
6266
- DUMMYABIL180_DUMMYABIL180: untyped
6267
- DUMMYABIL181_DUMMYABIL181: untyped
6268
- DUMMYABIL182_DUMMYABIL182: untyped
6269
- DUMMYABIL183_DUMMYABIL183: untyped
6270
- DUMMYABIL184_DUMMYABIL184: untyped
6271
- DUMMYABIL185_DUMMYABIL185: untyped
6272
- DUMMYABIL186_DUMMYABIL186: untyped
6273
- DUMMYABIL187_DUMMYABIL187: untyped
6274
- DUMMYABIL188_DUMMYABIL188: untyped
6275
- DUMMYABIL189_DUMMYABIL189: untyped
6276
- DUMMYABIL190_DUMMYABIL190: untyped
6277
- DUMMYABIL191_DUMMYABIL191: untyped
6278
- DUMMYABIL192_DUMMYABIL192: untyped
6279
- DUMMYABIL193_DUMMYABIL193: untyped
6280
- DUMMYABIL194_DUMMYABIL194: untyped
6281
- DUMMYABIL195_DUMMYABIL195: untyped
6282
- DUMMYABIL196_DUMMYABIL196: untyped
6283
- DUMMYABIL197_DUMMYABIL197: untyped
6284
- DUMMYABIL198_DUMMYABIL198: untyped
6285
- DUMMYABIL199_DUMMYABIL199: untyped
6286
- DUMMYABIL200_DUMMYABIL200: untyped
6287
- DUMMYABIL201_DUMMYABIL201: untyped
6288
- DUMMYABIL202_DUMMYABIL202: untyped
6289
- DUMMYABIL203_DUMMYABIL203: untyped
6290
- DUMMYABIL204_DUMMYABIL204: untyped
6291
- DUMMYABIL205_DUMMYABIL205: untyped
6292
- DUMMYABIL206_DUMMYABIL206: untyped
6293
- DUMMYABIL207_DUMMYABIL207: untyped
6294
- DUMMYABIL208_DUMMYABIL208: untyped
6295
- DUMMYABIL209_DUMMYABIL209: untyped
6296
- DUMMYABIL210_DUMMYABIL210: untyped
6297
- DUMMYABIL211_DUMMYABIL211: untyped
6298
- DUMMYABIL212_DUMMYABIL212: untyped
6299
- DUMMYABIL213_DUMMYABIL213: untyped
6300
- DUMMYABIL214_DUMMYABIL214: untyped
6301
- DUMMYABIL215_DUMMYABIL215: untyped
6302
- DUMMYABIL216_DUMMYABIL216: untyped
6303
- DUMMYABIL217_DUMMYABIL217: untyped
6304
- DUMMYABIL218_DUMMYABIL218: untyped
6305
- DUMMYABIL219_DUMMYABIL219: untyped
6306
- DUMMYABIL220_DUMMYABIL220: untyped
6307
- DUMMYABIL221_DUMMYABIL221: untyped
6308
- DUMMYABIL222_DUMMYABIL222: untyped
6309
- DUMMYABIL223_DUMMYABIL223: untyped
6310
- DUMMYABIL224_DUMMYABIL224: untyped
6311
- DUMMYABIL225_DUMMYABIL225: untyped
6312
- DUMMYABIL226_DUMMYABIL226: untyped
6313
- DUMMYABIL227_DUMMYABIL227: untyped
6314
- DUMMYABIL228_DUMMYABIL228: untyped
6315
- DUMMYABIL229_DUMMYABIL229: untyped
6316
- DUMMYABIL230_DUMMYABIL230: untyped
6317
- DUMMYABIL231_DUMMYABIL231: untyped
6318
- DUMMYABIL232_DUMMYABIL232: untyped
6319
- DUMMYABIL233_DUMMYABIL233: untyped
6320
- DUMMYABIL234_DUMMYABIL234: untyped
6321
- DUMMYABIL235_DUMMYABIL235: untyped
6322
- DUMMYABIL236_DUMMYABIL236: untyped
6323
- DUMMYABIL237_DUMMYABIL237: untyped
6324
- DUMMYABIL238_DUMMYABIL238: untyped
6325
- DUMMYABIL239_DUMMYABIL239: untyped
6326
- DUMMYABIL240_DUMMYABIL240: untyped
6327
- DUMMYABIL241_DUMMYABIL241: untyped
6328
- DUMMYABIL242_DUMMYABIL242: untyped
6329
- DUMMYABIL243_DUMMYABIL243: untyped
6330
- DUMMYABIL244_DUMMYABIL244: untyped
6331
- DUMMYABIL245_DUMMYABIL245: untyped
6332
- DUMMYABIL246_DUMMYABIL246: untyped
6333
- DUMMYABIL247_DUMMYABIL247: untyped
6334
- DUMMYABIL248_DUMMYABIL248: untyped
6335
- DUMMYABIL249_DUMMYABIL249: untyped
6336
- DUMMYABIL250_DUMMYABIL250: untyped
6337
- DUMMYABIL251_DUMMYABIL251: untyped
6338
- DUMMYABIL252_DUMMYABIL252: untyped
6339
- DUMMYABIL253_DUMMYABIL253: untyped
6340
- DUMMYABIL254_DUMMYABIL254: untyped
6341
- DUMMYABIL255_DUMMYABIL255: untyped
6342
- DUMMYABIL256_DUMMYABIL256: untyped
6343
- DUMMYABIL257_DUMMYABIL257: untyped
6344
- DUMMYABIL258_DUMMYABIL258: untyped
6345
- DUMMYABIL259_DUMMYABIL259: untyped
6346
- DUMMYABIL260_DUMMYABIL260: untyped
6347
- DUMMYABIL261_DUMMYABIL261: untyped
6348
- DUMMYABIL262_DUMMYABIL262: untyped
6349
- DUMMYABIL263_DUMMYABIL263: untyped
6350
- DUMMYABIL264_DUMMYABIL264: untyped
6351
- DUMMYABIL265_DUMMYABIL265: untyped
6352
- DUMMYABIL266_DUMMYABIL266: untyped
6353
- DUMMYABIL267_DUMMYABIL267: untyped
6354
- DUMMYABIL268_DUMMYABIL268: untyped
6355
- DUMMYABIL269_DUMMYABIL269: untyped
6356
- DUMMYABIL270_DUMMYABIL270: untyped
6357
- DUMMYABIL271_DUMMYABIL271: untyped
6358
- DUMMYABIL272_DUMMYABIL272: untyped
6359
- DUMMYABIL273_DUMMYABIL273: untyped
6360
- DUMMYABIL274_DUMMYABIL274: untyped
6361
- DUMMYABIL275_DUMMYABIL275: untyped
6362
- DUMMYABIL276_DUMMYABIL276: untyped
6363
- DUMMYABIL277_DUMMYABIL277: untyped
6364
- DUMMYABIL278_DUMMYABIL278: untyped
6365
- DUMMYABIL279_DUMMYABIL279: untyped
6366
- DUMMYABIL280_DUMMYABIL280: untyped
6367
- DUMMYABIL281_DUMMYABIL281: untyped
6368
- DUMMYABIL282_DUMMYABIL282: untyped
6369
- DUMMYABIL283_DUMMYABIL283: untyped
6370
- DUMMYABIL284_DUMMYABIL284: untyped
6371
- DUMMYABIL285_DUMMYABIL285: untyped
6372
- DUMMYABIL286_DUMMYABIL286: untyped
6373
- DUMMYABIL287_DUMMYABIL287: untyped
6374
- DUMMYABIL288_DUMMYABIL288: untyped
6375
- DUMMYABIL289_DUMMYABIL289: untyped
6376
- DUMMYABIL290_DUMMYABIL290: untyped
6377
- DUMMYABIL291_DUMMYABIL291: untyped
6378
- DUMMYABIL292_DUMMYABIL292: untyped
6379
- DUMMYABIL293_DUMMYABIL293: untyped
6380
- DUMMYABIL294_DUMMYABIL294: untyped
6381
- DUMMYABIL295_DUMMYABIL295: untyped
6169
+ MORPHTOCOLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN_CANCEL: untyped
6170
+ MORPHTOCOLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN_CANCEL: untyped
6382
6171
  BATTERYOVERCHARGE_BATTERYOVERCHARGE: untyped
6383
- DUMMYABIL296_DUMMYABIL296: untyped
6384
6172
  AMORPHOUSARMORCLOUD_AMORPHOUSARMORCLOUD: untyped
6385
- DUMMYABIL297_DUMMYABIL297: untyped
6386
6173
  SHIELDBATTERYRECHARGEEX5_SHIELDBATTERYRECHARGE: untyped
6387
6174
  SHIELDBATTERYRECHARGEEX5_STOP: untyped
6388
- DUMMYABIL298_DUMMYABIL298: untyped
6389
- DUMMYABIL299_DUMMYABIL299: untyped
6390
- DUMMYABIL300_DUMMYABIL300: untyped
6391
- DUMMYABIL301_DUMMYABIL301: untyped
6392
- DUMMYABIL302_DUMMYABIL302: untyped
6393
6175
  MORPHTOBANELING_BANELING: untyped
6394
6176
  MORPHTOBANELING_CANCEL: untyped
6395
- MORPHTOCOLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN_CANCEL: untyped
6396
- MORPHTOCOLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN_CANCEL: untyped
6397
6177
  MOTHERSHIPCLOAK_ORACLECLOAKFIELD: untyped
6398
6178
 
6399
6179
  # sord omit - no YARD return type given, using untyped
@@ -6719,15 +6499,15 @@ module Api
6719
6499
  DIGGINGCLAWS: untyped
6720
6500
  CARRIERCARRIERCAPACITY: untyped
6721
6501
  CARRIERLEASHRANGEUPGRADE: untyped
6502
+ HURRICANETHRUSTERS: untyped
6722
6503
  TEMPESTGROUNDATTACKUPGRADE: untyped
6723
6504
  MICROBIALSHROUD: untyped
6505
+ INTERFERENCEMATRIX: untyped
6724
6506
  SUNDERINGIMPACT: untyped
6725
6507
  AMPLIFIEDSHIELDING: untyped
6726
6508
  PSIONICAMPLIFIERS: untyped
6727
6509
  SECRETEDCOATING: untyped
6728
6510
  ENHANCEDSHOCKWAVES: untyped
6729
- HURRICANETHRUSTERS: untyped
6730
- INTERFERENCEMATRIX: untyped
6731
6511
 
6732
6512
  # sord omit - no YARD return type given, using untyped
6733
6513
  def self._330MMBARRAGECANNONS: () -> untyped
@@ -8723,64 +8503,12 @@ module Api
8723
8503
  MINERALFIELD450: untyped
8724
8504
  MINERALFIELDOPAQUE: untyped
8725
8505
  MINERALFIELDOPAQUE900: untyped
8726
- MECHAZERGLINGACGLUESCREENDUMMY_2: untyped
8727
- MECHABANELINGACGLUESCREENDUMMY_2: untyped
8728
- MECHAHYDRALISKACGLUESCREENDUMMY_2: untyped
8729
- MECHAINFESTORACGLUESCREENDUMMY_2: untyped
8730
- MECHACORRUPTORACGLUESCREENDUMMY_2: untyped
8731
- MECHAULTRALISKACGLUESCREENDUMMY_2: untyped
8732
- MECHAOVERSEERACGLUESCREENDUMMY_2: untyped
8733
- MECHALURKERACGLUESCREENDUMMY_2: untyped
8734
- MECHABATTLECARRIERLORDACGLUESCREENDUMMY_2: untyped
8735
- MECHASPINECRAWLERACGLUESCREENDUMMY_2: untyped
8736
- MECHASPORECRAWLERACGLUESCREENDUMMY_2: untyped
8737
- TROOPERMENGSKACGLUESCREENDUMMY_2: untyped
8738
- MEDIVACMENGSKACGLUESCREENDUMMY_2: untyped
8739
- BLIMPMENGSKACGLUESCREENDUMMY_2: untyped
8740
- MARAUDERMENGSKACGLUESCREENDUMMY_2: untyped
8741
- GHOSTMENGSKACGLUESCREENDUMMY_2: untyped
8742
- SIEGETANKMENGSKACGLUESCREENDUMMY_2: untyped
8743
- THORMENGSKACGLUESCREENDUMMY_2: untyped
8744
- VIKINGMENGSKACGLUESCREENDUMMY_2: untyped
8745
- BATTLECRUISERMENGSKACGLUESCREENDUMMY_2: untyped
8746
- BUNKERDEPOTMENGSKACGLUESCREENDUMMY_2: untyped
8747
- MISSILETURRETMENGSKACGLUESCREENDUMMY_2: untyped
8748
- ARTILLERYMENGSKACGLUESCREENDUMMY_2: untyped
8749
- LOADOUTSPRAY1_2: untyped
8750
- LOADOUTSPRAY2_2: untyped
8751
- LOADOUTSPRAY3_2: untyped
8752
- LOADOUTSPRAY4_2: untyped
8753
- LOADOUTSPRAY5_2: untyped
8754
- LOADOUTSPRAY6_2: untyped
8755
- LOADOUTSPRAY7_2: untyped
8756
- LOADOUTSPRAY8_2: untyped
8757
- LOADOUTSPRAY9_2: untyped
8758
- LOADOUTSPRAY10_2: untyped
8759
- LOADOUTSPRAY11_2: untyped
8760
- LOADOUTSPRAY12_2: untyped
8761
- LOADOUTSPRAY13_2: untyped
8762
- LOADOUTSPRAY14_2: untyped
8763
8506
  COLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN: untyped
8764
8507
  COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN: untyped
8765
8508
  COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFTGREEN: untyped
8766
8509
  COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHTGREEN: untyped
8767
8510
  COLLAPSIBLEROCKTOWERRAMPLEFTGREEN: untyped
8768
8511
  COLLAPSIBLEROCKTOWERRAMPRIGHTGREEN: untyped
8769
- DUMMYUNIT000: untyped
8770
- DUMMYUNIT001: untyped
8771
- DUMMYUNIT002: untyped
8772
- DUMMYUNIT003: untyped
8773
- DUMMYUNIT004: untyped
8774
- DUMMYUNIT005: untyped
8775
- DUMMYUNIT006: untyped
8776
- DUMMYUNIT007: untyped
8777
- DUMMYUNIT008: untyped
8778
- DUMMYUNIT009: untyped
8779
- DUMMYUNIT010: untyped
8780
- DUMMYUNIT011: untyped
8781
- DUMMYUNIT012: untyped
8782
- DUMMYUNIT013: untyped
8783
- DUMMYUNIT014: untyped
8784
8512
 
8785
8513
  # sord omit - no YARD return type given, using untyped
8786
8514
  def self._4SLOTBAG: () -> untyped
@@ -8974,7 +8702,7 @@ module Api
8974
8702
  # sord omit - no YARD return type given, using untyped
8975
8703
  # Builds target unit type, i.e. issuing a build command to worker.build(...Api::UnitTypeId::BARRACKS)
8976
8704
  #
8977
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
8705
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
8978
8706
  #
8979
8707
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
8980
8708
  #
@@ -8992,7 +8720,7 @@ module Api
8992
8720
  # sord omit - no YARD return type given, using untyped
8993
8721
  # Research a specific upgrade
8994
8722
  #
8995
- # _@param_ `upgrade_id` — Api::UnitTypeId the unit type which will do the creation
8723
+ # _@param_ `upgrade_id` — Api::UnitTypeId the unit type you wish to research
8996
8724
  #
8997
8725
  # _@param_ `queue_command` — shift+command
8998
8726
  def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
@@ -9069,6 +8797,12 @@ module Api
9069
8797
  # ```
9070
8798
  def can_attack?: (unit: Api::Unit, ?weapon_index: Integer, ?ability_id: Integer?) -> bool
9071
8799
 
8800
+ # Returns whether this unit has an ability available
8801
+ # Queries API if necessary
8802
+ #
8803
+ # _@param_ `ability_id`
8804
+ def ability_available?: (Integer ability_id) -> bool
8805
+
9072
8806
  # sord warn - Api::unit wasn't able to be resolved to a constant in this project
9073
8807
  # sord warn - Api::Weapon wasn't able to be resolved to a constant in this project
9074
8808
  # Checks whether a weapon can target a unit
@@ -9143,6 +8877,22 @@ module Api
9143
8877
  # For Terran builds a tech lab add-on on the current structure
9144
8878
  def build_tech_lab: (?queue_command: untyped) -> void
9145
8879
 
8880
+ # sord omit - no YARD return type given, using untyped
8881
+ # Warps in unit type at target (location or pylon)
8882
+ # Only works if the source is a Warp Gate
8883
+ #
8884
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
8885
+ #
8886
+ # _@param_ `target` — a point, which should be inside an energy source
8887
+ #
8888
+ # _@param_ `queue_command` — shift+command
8889
+ def warp: (unit_type_id: Integer, target: Api::Point2D, ?queue_command: bool) -> untyped
8890
+
8891
+ # Returns true if unit does not have orders
8892
+ #
8893
+ # _@return_ — whether unit is idle
8894
+ def is_idle?: () -> bool
8895
+
9146
8896
  # sord omit - no YARD type given for "abilities", using untyped
9147
8897
  # sord omit - no YARD type given for "target:", using untyped
9148
8898
  # Reduces repetition in the is_*action*?(target:) methods
@@ -9242,6 +8992,7 @@ module Api
9242
8992
  # Protobuf virtual class.
9243
8993
  class Point < Google::Protobuf::AbstractMessage
9244
8994
  include Sc2::Position
8995
+ include Api::PointDistanceExtension
9245
8996
  include Api::PointExtension
9246
8997
  extend Api::PointExtension::ClassMethods
9247
8998
 
@@ -9311,7 +9062,9 @@ module Api
9311
9062
  # Randomly adjusts both x and y by a range of: -offset..offset
9312
9063
  #
9313
9064
  # _@param_ `offset`
9314
- def random_offset: (Float offset) -> Api::Point2D
9065
+ #
9066
+ # _@return_ — new Position
9067
+ def random_offset: (Float offset) -> Sc2::Position
9315
9068
 
9316
9069
  # sord omit - no YARD type given for "offset", using untyped
9317
9070
  # Changes this point's x and y by the supplied offset
@@ -9323,15 +9076,15 @@ module Api
9323
9076
  # sord omit - no YARD type given for "y", using untyped
9324
9077
  # Creates a new point with x and y which is offset
9325
9078
  #
9326
- # _@return_ — self
9327
- def offset: (untyped x, untyped y) -> Api::Point2D
9079
+ # _@return_ — new Position
9080
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
9328
9081
 
9329
9082
  # sord omit - no YARD type given for "x", using untyped
9330
9083
  # sord omit - no YARD type given for "y", using untyped
9331
9084
  # Changes this point's x and y by the supplied offset
9332
9085
  #
9333
9086
  # _@return_ — self
9334
- def offset!: (untyped x, untyped y) -> Sc2::Position
9087
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
9335
9088
 
9336
9089
  # For vector returns the magnitude, synonymous with Math.hypot
9337
9090
  def magnitude: () -> Float
@@ -9404,6 +9157,7 @@ module Api
9404
9157
  class Point2D < Google::Protobuf::AbstractMessage
9405
9158
  include Sc2::Position
9406
9159
  include Api::Point2DExtension
9160
+ include Api::PointDistanceExtension
9407
9161
  extend Api::Point2DExtension::ClassMethods
9408
9162
 
9409
9163
  # sord omit - no YARD type given for "x", using untyped
@@ -9423,7 +9177,7 @@ module Api
9423
9177
 
9424
9178
  # sord omit - no YARD type given for "z:", using untyped
9425
9179
  # Create a new 3d Point, by adding a y axis.
9426
- def to_3d: (z: untyped) -> Api::Point
9180
+ def to_3d: (?z: untyped) -> Api::Point
9427
9181
 
9428
9182
  # sord omit - no YARD type given for "other", using untyped
9429
9183
  # sord omit - no YARD return type given, using untyped
@@ -9469,7 +9223,9 @@ module Api
9469
9223
  # Randomly adjusts both x and y by a range of: -offset..offset
9470
9224
  #
9471
9225
  # _@param_ `offset`
9472
- def random_offset: (Float offset) -> Api::Point2D
9226
+ #
9227
+ # _@return_ — new Position
9228
+ def random_offset: (Float offset) -> Sc2::Position
9473
9229
 
9474
9230
  # sord omit - no YARD type given for "offset", using untyped
9475
9231
  # Changes this point's x and y by the supplied offset
@@ -9481,15 +9237,15 @@ module Api
9481
9237
  # sord omit - no YARD type given for "y", using untyped
9482
9238
  # Creates a new point with x and y which is offset
9483
9239
  #
9484
- # _@return_ — self
9485
- def offset: (untyped x, untyped y) -> Api::Point2D
9240
+ # _@return_ — new Position
9241
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
9486
9242
 
9487
9243
  # sord omit - no YARD type given for "x", using untyped
9488
9244
  # sord omit - no YARD type given for "y", using untyped
9489
9245
  # Changes this point's x and y by the supplied offset
9490
9246
  #
9491
9247
  # _@return_ — self
9492
- def offset!: (untyped x, untyped y) -> Sc2::Position
9248
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
9493
9249
 
9494
9250
  # For vector returns the magnitude, synonymous with Math.hypot
9495
9251
  def magnitude: () -> Float
@@ -9561,6 +9317,7 @@ module Api
9561
9317
  # Protobuf virtual class.
9562
9318
  class PointI < Google::Protobuf::AbstractMessage
9563
9319
  include Sc2::Position
9320
+ include Api::PointDistanceExtension
9564
9321
 
9565
9322
  # sord omit - no YARD type given for "other", using untyped
9566
9323
  # sord omit - no YARD return type given, using untyped
@@ -9606,7 +9363,9 @@ module Api
9606
9363
  # Randomly adjusts both x and y by a range of: -offset..offset
9607
9364
  #
9608
9365
  # _@param_ `offset`
9609
- def random_offset: (Float offset) -> Api::Point2D
9366
+ #
9367
+ # _@return_ — new Position
9368
+ def random_offset: (Float offset) -> Sc2::Position
9610
9369
 
9611
9370
  # sord omit - no YARD type given for "offset", using untyped
9612
9371
  # Changes this point's x and y by the supplied offset
@@ -9618,15 +9377,15 @@ module Api
9618
9377
  # sord omit - no YARD type given for "y", using untyped
9619
9378
  # Creates a new point with x and y which is offset
9620
9379
  #
9621
- # _@return_ — self
9622
- def offset: (untyped x, untyped y) -> Api::Point2D
9380
+ # _@return_ — new Position
9381
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
9623
9382
 
9624
9383
  # sord omit - no YARD type given for "x", using untyped
9625
9384
  # sord omit - no YARD type given for "y", using untyped
9626
9385
  # Changes this point's x and y by the supplied offset
9627
9386
  #
9628
9387
  # _@return_ — self
9629
- def offset!: (untyped x, untyped y) -> Sc2::Position
9388
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
9630
9389
 
9631
9390
  # For vector returns the magnitude, synonymous with Math.hypot
9632
9391
  def magnitude: () -> Float
@@ -9754,7 +9513,9 @@ module Api
9754
9513
  # Randomly adjusts both x and y by a range of: -offset..offset
9755
9514
  #
9756
9515
  # _@param_ `offset`
9757
- def random_offset: (Float offset) -> Api::Point2D
9516
+ #
9517
+ # _@return_ — new Position
9518
+ def random_offset: (Float offset) -> Sc2::Position
9758
9519
 
9759
9520
  # sord omit - no YARD type given for "offset", using untyped
9760
9521
  # Changes this point's x and y by the supplied offset
@@ -9766,15 +9527,15 @@ module Api
9766
9527
  # sord omit - no YARD type given for "y", using untyped
9767
9528
  # Creates a new point with x and y which is offset
9768
9529
  #
9769
- # _@return_ — self
9770
- def offset: (untyped x, untyped y) -> Api::Point2D
9530
+ # _@return_ — new Position
9531
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
9771
9532
 
9772
9533
  # sord omit - no YARD type given for "x", using untyped
9773
9534
  # sord omit - no YARD type given for "y", using untyped
9774
9535
  # Changes this point's x and y by the supplied offset
9775
9536
  #
9776
9537
  # _@return_ — self
9777
- def offset!: (untyped x, untyped y) -> Sc2::Position
9538
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
9778
9539
 
9779
9540
  # For vector returns the magnitude, synonymous with Math.hypot
9780
9541
  def magnitude: () -> Float
@@ -9846,6 +9607,7 @@ module Api
9846
9607
  # Protobuf virtual class.
9847
9608
  class Size2DI < Google::Protobuf::AbstractMessage
9848
9609
  include Sc2::Position
9610
+ include Api::PointDistanceExtension
9849
9611
 
9850
9612
  # sord omit - no YARD type given for "other", using untyped
9851
9613
  # sord omit - no YARD return type given, using untyped
@@ -9891,7 +9653,9 @@ module Api
9891
9653
  # Randomly adjusts both x and y by a range of: -offset..offset
9892
9654
  #
9893
9655
  # _@param_ `offset`
9894
- def random_offset: (Float offset) -> Api::Point2D
9656
+ #
9657
+ # _@return_ — new Position
9658
+ def random_offset: (Float offset) -> Sc2::Position
9895
9659
 
9896
9660
  # sord omit - no YARD type given for "offset", using untyped
9897
9661
  # Changes this point's x and y by the supplied offset
@@ -9903,15 +9667,15 @@ module Api
9903
9667
  # sord omit - no YARD type given for "y", using untyped
9904
9668
  # Creates a new point with x and y which is offset
9905
9669
  #
9906
- # _@return_ — self
9907
- def offset: (untyped x, untyped y) -> Api::Point2D
9670
+ # _@return_ — new Position
9671
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
9908
9672
 
9909
9673
  # sord omit - no YARD type given for "x", using untyped
9910
9674
  # sord omit - no YARD type given for "y", using untyped
9911
9675
  # Changes this point's x and y by the supplied offset
9912
9676
  #
9913
9677
  # _@return_ — self
9914
- def offset!: (untyped x, untyped y) -> Sc2::Position
9678
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
9915
9679
 
9916
9680
  # For vector returns the magnitude, synonymous with Math.hypot
9917
9681
  def magnitude: () -> Float
@@ -10139,7 +9903,7 @@ module Api
10139
9903
  # sord omit - no YARD return type given, using untyped
10140
9904
  # Builds target unit type, i.e. issuing a build command to worker.build(...Api::UnitTypeId::BARRACKS)
10141
9905
  #
10142
- # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
9906
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
10143
9907
  #
10144
9908
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
10145
9909
  #
@@ -10157,7 +9921,7 @@ module Api
10157
9921
  # sord omit - no YARD return type given, using untyped
10158
9922
  # Research a specific upgrade
10159
9923
  #
10160
- # _@param_ `upgrade_id` — Api::UnitTypeId the unit type which will do the creation
9924
+ # _@param_ `upgrade_id` — Api::UnitTypeId the unit type you wish to research
10161
9925
  #
10162
9926
  # _@param_ `queue_command` — shift+command
10163
9927
  def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
@@ -10234,6 +9998,12 @@ module Api
10234
9998
  # ```
10235
9999
  def can_attack?: (unit: Api::Unit, ?weapon_index: Integer, ?ability_id: Integer?) -> bool
10236
10000
 
10001
+ # Returns whether this unit has an ability available
10002
+ # Queries API if necessary
10003
+ #
10004
+ # _@param_ `ability_id`
10005
+ def ability_available?: (Integer ability_id) -> bool
10006
+
10237
10007
  # sord warn - Api::unit wasn't able to be resolved to a constant in this project
10238
10008
  # sord warn - Api::Weapon wasn't able to be resolved to a constant in this project
10239
10009
  # Checks whether a weapon can target a unit
@@ -10308,6 +10078,22 @@ module Api
10308
10078
  # For Terran builds a tech lab add-on on the current structure
10309
10079
  def build_tech_lab: (?queue_command: untyped) -> void
10310
10080
 
10081
+ # sord omit - no YARD return type given, using untyped
10082
+ # Warps in unit type at target (location or pylon)
10083
+ # Only works if the source is a Warp Gate
10084
+ #
10085
+ # _@param_ `unit_type_id` — Api::UnitTypeId the unit type you wish to build
10086
+ #
10087
+ # _@param_ `target` — a point, which should be inside an energy source
10088
+ #
10089
+ # _@param_ `queue_command` — shift+command
10090
+ def warp: (unit_type_id: Integer, target: Api::Point2D, ?queue_command: bool) -> untyped
10091
+
10092
+ # Returns true if unit does not have orders
10093
+ #
10094
+ # _@return_ — whether unit is idle
10095
+ def is_idle?: () -> bool
10096
+
10311
10097
  # sord omit - no YARD type given for "abilities", using untyped
10312
10098
  # sord omit - no YARD type given for "target:", using untyped
10313
10099
  # Reduces repetition in the is_*action*?(target:) methods
@@ -10316,7 +10102,83 @@ module Api
10316
10102
 
10317
10103
  # Protobuf virtual class.
10318
10104
  class UnitTypeData < Google::Protobuf::AbstractMessage
10105
+ include Api::UnitTypeExtension
10319
10106
  include Api::UnitTypeDataExtension
10107
+
10108
+ # sord omit - no YARD return type given, using untyped
10109
+ def mood: () -> untyped
10110
+ end
10111
+
10112
+ # Protobuf virtual class.
10113
+ class AvailableAbility < Google::Protobuf::AbstractMessage
10114
+ include Api::AbilityRemapable
10115
+
10116
+ # Ability Id. The generic id or "remapid".
10117
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10118
+ def ability_id: () -> Integer
10119
+ end
10120
+
10121
+ # Protobuf virtual class.
10122
+ class UnitOrder < Google::Protobuf::AbstractMessage
10123
+ include Api::AbilityRemapable
10124
+
10125
+ # Ability Id. The generic id or "remapid".
10126
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10127
+ def ability_id: () -> Integer
10128
+ end
10129
+
10130
+ # Protobuf virtual class.
10131
+ class ActionRawUnitCommand < Google::Protobuf::AbstractMessage
10132
+ include Api::AbilityRemapable
10133
+
10134
+ # Ability Id. The generic id or "remapid".
10135
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10136
+ def ability_id: () -> Integer
10137
+ end
10138
+
10139
+ # Protobuf virtual class.
10140
+ class ActionRawToggleAutocast < Google::Protobuf::AbstractMessage
10141
+ include Api::AbilityRemapable
10142
+
10143
+ # Ability Id. The generic id or "remapid".
10144
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10145
+ def ability_id: () -> Integer
10146
+ end
10147
+
10148
+ # Protobuf virtual class.
10149
+ class ActionError < Google::Protobuf::AbstractMessage
10150
+ include Api::AbilityRemapable
10151
+
10152
+ # Ability Id. The generic id or "remapid".
10153
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10154
+ def ability_id: () -> Integer
10155
+ end
10156
+
10157
+ # Protobuf virtual class.
10158
+ class ActionSpatialUnitCommand < Google::Protobuf::AbstractMessage
10159
+ include Api::AbilityRemapable
10160
+
10161
+ # Ability Id. The generic id or "remapid".
10162
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10163
+ def ability_id: () -> Integer
10164
+ end
10165
+
10166
+ # Protobuf virtual class.
10167
+ class BuildItem < Google::Protobuf::AbstractMessage
10168
+ include Api::AbilityRemapable
10169
+
10170
+ # Ability Id. The generic id or "remapid".
10171
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10172
+ def ability_id: () -> Integer
10173
+ end
10174
+
10175
+ # Protobuf virtual class.
10176
+ class ActionToggleAutocast < Google::Protobuf::AbstractMessage
10177
+ include Api::AbilityRemapable
10178
+
10179
+ # Ability Id. The generic id or "remapid".
10180
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10181
+ def ability_id: () -> Integer
10320
10182
  end
10321
10183
 
10322
10184
  # Protobuf virtual enum.
@@ -10345,7 +10207,7 @@ module Api
10345
10207
 
10346
10208
  # sord omit - no YARD type given for "z:", using untyped
10347
10209
  # Create a new 3d Point, by adding a y axis.
10348
- def to_3d: (z: untyped) -> Api::Point
10210
+ def to_3d: (?z: untyped) -> Api::Point
10349
10211
 
10350
10212
  # Adds additional functionality to message class Api::Point2D
10351
10213
  module ClassMethods
@@ -10360,6 +10222,12 @@ module Api
10360
10222
  end
10361
10223
  end
10362
10224
 
10225
+ # Adds additional functionality to message object Api::Unit
10226
+ module UnitTypeExtension
10227
+ # sord omit - no YARD return type given, using untyped
10228
+ def mood: () -> untyped
10229
+ end
10230
+
10363
10231
  # Adds additional functionality to message object Api::PowerSource
10364
10232
  module PowerSourceExtension
10365
10233
  include Sc2::Position
@@ -10408,7 +10276,9 @@ module Api
10408
10276
  # Randomly adjusts both x and y by a range of: -offset..offset
10409
10277
  #
10410
10278
  # _@param_ `offset`
10411
- def random_offset: (Float offset) -> Api::Point2D
10279
+ #
10280
+ # _@return_ — new Position
10281
+ def random_offset: (Float offset) -> Sc2::Position
10412
10282
 
10413
10283
  # sord omit - no YARD type given for "offset", using untyped
10414
10284
  # Changes this point's x and y by the supplied offset
@@ -10420,15 +10290,15 @@ module Api
10420
10290
  # sord omit - no YARD type given for "y", using untyped
10421
10291
  # Creates a new point with x and y which is offset
10422
10292
  #
10423
- # _@return_ — self
10424
- def offset: (untyped x, untyped y) -> Api::Point2D
10293
+ # _@return_ — new Position
10294
+ def offset: (?untyped x, ?untyped y) -> Sc2::Position
10425
10295
 
10426
10296
  # sord omit - no YARD type given for "x", using untyped
10427
10297
  # sord omit - no YARD type given for "y", using untyped
10428
10298
  # Changes this point's x and y by the supplied offset
10429
10299
  #
10430
10300
  # _@return_ — self
10431
- def offset!: (untyped x, untyped y) -> Sc2::Position
10301
+ def offset!: (?untyped x, ?untyped y) -> Sc2::Position
10432
10302
 
10433
10303
  # For vector returns the magnitude, synonymous with Math.hypot
10434
10304
  def magnitude: () -> Float
@@ -10510,6 +10380,10 @@ module Api
10510
10380
  end
10511
10381
  end
10512
10382
 
10383
+ # Adds additional functionality to message object Api::Unit
10384
+ module PointDistanceExtension
10385
+ end
10386
+
10513
10387
  # Adds additional functionality to message object Api::UnitTypeData
10514
10388
  module UnitTypeDataExtension
10515
10389
  # Sum of all morphs mineral cost