sc2ai 0.0.4 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/sig/sc2ai.rbs CHANGED
@@ -338,7 +338,7 @@ module Sc2
338
338
  def on_status_change: (Symbol status) -> untyped
339
339
 
340
340
  # Determines if your game_info will be refreshed at this moment
341
- # Has a hard-capped refresh of only ever 2 steps
341
+ # Has a hard-capped refresh of only ever 4 steps
342
342
  # In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
343
343
  def game_info_stale?: () -> bool
344
344
 
@@ -802,17 +802,18 @@ module Sc2
802
802
  ?queue_command: bool
803
803
  ) -> untyped
804
804
 
805
- # sord omit - no YARD type given for "units:", using untyped
806
805
  # sord omit - no YARD return type given, using untyped
807
806
  # Builds target unit type using units as source at optional target
808
807
  #
808
+ # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
809
+ #
809
810
  # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
810
811
  #
811
812
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
812
813
  #
813
814
  # _@param_ `queue_command` — shift+command
814
815
  def build: (
815
- units: untyped,
816
+ units: (::Array[Integer] | Integer | Api::Unit),
816
817
  unit_type_id: Integer,
817
818
  ?target: (Api::Point2D | Integer)?,
818
819
  ?queue_command: bool
@@ -835,6 +836,16 @@ module Sc2
835
836
  ?units: untyped
836
837
  ) -> untyped
837
838
 
839
+ # sord omit - no YARD return type given, using untyped
840
+ # Research a specific upgrade
841
+ #
842
+ # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
843
+ #
844
+ # _@param_ `upgrade_id` — Api::UpgradeId to research
845
+ #
846
+ # _@param_ `queue_command` — shift+command
847
+ def research: (units: (::Array[Integer] | Integer | Api::Unit), upgrade_id: Integer, ?queue_command: bool) -> untyped
848
+
838
849
  # Toggles auto-cast ability for units
839
850
  #
840
851
  # _@param_ `units` — can be an Api::Unit, array of Tags or single Tag
@@ -966,7 +977,18 @@ module Sc2
966
977
  # _@return_ — unit tag array
967
978
  def unit_tags_from_source: ((Integer | ::Array[Integer] | Api::Unit | Sc2::UnitGroup) source) -> ::Array[Integer]
968
979
 
969
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
980
+ # Returns the upgrade ids which are researching or queued
981
+ # Not set for enemy.
982
+ def upgrades_in_progress: () -> ::Array[Integer]
983
+
984
+ # sord omit - no YARD type given for "upgrade_id", using untyped
985
+ # Returns the upgrade ids which are researching or queued
986
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
987
+
988
+ # sord omit - no YARD type given for "unit_type_id", using untyped
989
+ # For this unit type, tells you how many are in progress by checking orders for all it's sources.
990
+ def units_in_progress: (untyped unit_type_id) -> Integer
991
+
970
992
  # Returns static [Api::UnitTypeData] for a unit
971
993
  #
972
994
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -978,6 +1000,12 @@ module Sc2
978
1000
  # _@param_ `ability_id` — Api::AbilityId::*
979
1001
  def ability_data: (Integer ability_id) -> Api::AbilityData
980
1002
 
1003
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
1004
+ # Returns static [Api::UpgradeData] for an upgrade id
1005
+ #
1006
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
1007
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
1008
+
981
1009
  # Checks unit data for an attribute value
982
1010
  #
983
1011
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1008,6 +1036,10 @@ module Sc2
1008
1036
  # Checks whether you have the resources to construct quantity of unit type
1009
1037
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
1010
1038
 
1039
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1040
+ # Checks whether you have the resources to
1041
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
1042
+
1011
1043
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1012
1044
  # sord omit - no YARD return type given, using untyped
1013
1045
  # Divides raw data units into various attributes on every step
@@ -1066,7 +1098,18 @@ module Sc2
1066
1098
  # _@return_ — Api::Race if race detected, false otherwise
1067
1099
  def detect_race_from_units: () -> (bool | Integer)
1068
1100
 
1069
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
1101
+ # Returns the upgrade ids which are researching or queued
1102
+ # Not set for enemy.
1103
+ def upgrades_in_progress: () -> ::Array[Integer]
1104
+
1105
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1106
+ # Returns the upgrade ids which are researching or queued
1107
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
1108
+
1109
+ # sord omit - no YARD type given for "unit_type_id", using untyped
1110
+ # For this unit type, tells you how many are in progress by checking orders for all it's sources.
1111
+ def units_in_progress: (untyped unit_type_id) -> Integer
1112
+
1070
1113
  # Returns static [Api::UnitTypeData] for a unit
1071
1114
  #
1072
1115
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1078,6 +1121,12 @@ module Sc2
1078
1121
  # _@param_ `ability_id` — Api::AbilityId::*
1079
1122
  def ability_data: (Integer ability_id) -> Api::AbilityData
1080
1123
 
1124
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
1125
+ # Returns static [Api::UpgradeData] for an upgrade id
1126
+ #
1127
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
1128
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
1129
+
1081
1130
  # Checks unit data for an attribute value
1082
1131
  #
1083
1132
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1108,6 +1157,10 @@ module Sc2
1108
1157
  # Checks whether you have the resources to construct quantity of unit type
1109
1158
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
1110
1159
 
1160
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1161
+ # Checks whether you have the resources to
1162
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
1163
+
1111
1164
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1112
1165
  # sord omit - no YARD return type given, using untyped
1113
1166
  # Divides raw data units into various attributes on every step
@@ -1362,7 +1415,18 @@ module Sc2
1362
1415
 
1363
1416
  # Helper methods for working with units
1364
1417
  module Units
1365
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
1418
+ # Returns the upgrade ids which are researching or queued
1419
+ # Not set for enemy.
1420
+ def upgrades_in_progress: () -> ::Array[Integer]
1421
+
1422
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1423
+ # Returns the upgrade ids which are researching or queued
1424
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
1425
+
1426
+ # sord omit - no YARD type given for "unit_type_id", using untyped
1427
+ # For this unit type, tells you how many are in progress by checking orders for all it's sources.
1428
+ def units_in_progress: (untyped unit_type_id) -> Integer
1429
+
1366
1430
  # Returns static [Api::UnitTypeData] for a unit
1367
1431
  #
1368
1432
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1374,6 +1438,12 @@ module Sc2
1374
1438
  # _@param_ `ability_id` — Api::AbilityId::*
1375
1439
  def ability_data: (Integer ability_id) -> Api::AbilityData
1376
1440
 
1441
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
1442
+ # Returns static [Api::UpgradeData] for an upgrade id
1443
+ #
1444
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
1445
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
1446
+
1377
1447
  # Checks unit data for an attribute value
1378
1448
  #
1379
1449
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1404,6 +1474,10 @@ module Sc2
1404
1474
  # Checks whether you have the resources to construct quantity of unit type
1405
1475
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
1406
1476
 
1477
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1478
+ # Checks whether you have the resources to
1479
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
1480
+
1407
1481
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1408
1482
  # sord omit - no YARD return type given, using untyped
1409
1483
  # Divides raw data units into various attributes on every step
@@ -1448,6 +1522,11 @@ module Sc2
1448
1522
  # _@return_ — a group of neutral units
1449
1523
  attr_accessor effects: Sc2::UnitGroup
1450
1524
 
1525
+ # sord omit - no YARD type given for :upgrades_completed, using untyped
1526
+ # Returns the upgrade ids you have acquired such as weapon upgrade and armor upgrade ids.
1527
+ # Shorthand for observation.raw_data.player.upgrade_ids
1528
+ attr_reader upgrades_completed: untyped
1529
+
1451
1530
  # sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
1452
1531
  # sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
1453
1532
  # _@return_ — an array of power sources
@@ -1540,17 +1619,18 @@ module Sc2
1540
1619
  ?queue_command: bool
1541
1620
  ) -> untyped
1542
1621
 
1543
- # sord omit - no YARD type given for "units:", using untyped
1544
1622
  # sord omit - no YARD return type given, using untyped
1545
1623
  # Builds target unit type using units as source at optional target
1546
1624
  #
1625
+ # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
1626
+ #
1547
1627
  # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
1548
1628
  #
1549
1629
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
1550
1630
  #
1551
1631
  # _@param_ `queue_command` — shift+command
1552
1632
  def build: (
1553
- units: untyped,
1633
+ units: (::Array[Integer] | Integer | Api::Unit),
1554
1634
  unit_type_id: Integer,
1555
1635
  ?target: (Api::Point2D | Integer)?,
1556
1636
  ?queue_command: bool
@@ -1573,6 +1653,16 @@ module Sc2
1573
1653
  ?units: untyped
1574
1654
  ) -> untyped
1575
1655
 
1656
+ # sord omit - no YARD return type given, using untyped
1657
+ # Research a specific upgrade
1658
+ #
1659
+ # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
1660
+ #
1661
+ # _@param_ `upgrade_id` — Api::UpgradeId to research
1662
+ #
1663
+ # _@param_ `queue_command` — shift+command
1664
+ def research: (units: (::Array[Integer] | Integer | Api::Unit), upgrade_id: Integer, ?queue_command: bool) -> untyped
1665
+
1576
1666
  # Toggles auto-cast ability for units
1577
1667
  #
1578
1668
  # _@param_ `units` — can be an Api::Unit, array of Tags or single Tag
@@ -1757,6 +1847,16 @@ module Sc2
1757
1847
  # One pixel covers one whole block. Rounds fractionated positions down.
1758
1848
  def parsed_placement_grid: () -> Numo::Bit
1759
1849
 
1850
+ # Whether this tile is where an expansion is supposed to be placed.
1851
+ # To see if a unit/structure is blocking an expansion, pass their coordinates to this method.
1852
+ #
1853
+ # _@param_ `x`
1854
+ #
1855
+ # _@param_ `y`
1856
+ #
1857
+ # _@return_ — true if location has creep on it
1858
+ def expo_placement?: (x: (Float | Integer), y: (Float | Integer)) -> bool
1859
+
1760
1860
  # sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
1761
1861
  # Returns a grid where ony the expo locations are marked
1762
1862
  def expo_placement_grid: () -> Numo::Bit
@@ -1813,6 +1913,13 @@ module Sc2
1813
1913
  # _@return_ — z axis position between -16 and 16
1814
1914
  def terrain_height: (x: (Float | Integer), y: (Float | Integer)) -> Float
1815
1915
 
1916
+ # Returns the terrain height (z) at position x and y for a point
1917
+ #
1918
+ # _@param_ `position`
1919
+ #
1920
+ # _@return_ — z axis position between -16 and 16
1921
+ def terrain_height_for_pos: (Sc2::Position position) -> Float
1922
+
1816
1923
  # sord warn - Numo::SFloat wasn't able to be resolved to a constant in this project
1817
1924
  # Returns a parsed terrain_height from bot.game_info.start_raw.
1818
1925
  # Each value in [row][column] holds a float value which is the z height
@@ -1877,6 +1984,7 @@ module Sc2
1877
1984
 
1878
1985
  # sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
1879
1986
  # Provides parsed minimap representation of creep spread
1987
+ # Caches for 4 frames
1880
1988
  #
1881
1989
  # _@return_ — Numo array
1882
1990
  def parsed_creep: () -> Numo::Bit
@@ -1951,6 +2059,13 @@ module Sc2
1951
2059
  # _@return_ — UnitGroup of geysers for the base
1952
2060
  def geysers_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
1953
2061
 
2062
+ # Gets geysers which have not been taken for a base or base position
2063
+ #
2064
+ # _@param_ `base` — base Unit or Position
2065
+ #
2066
+ # _@return_ — UnitGroup of geysers for the base
2067
+ def geysers_open_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
2068
+
1954
2069
  # _@param_ `base` — base Unit or Position
1955
2070
  #
1956
2071
  # _@return_ — UnitGroup of resources (minerals+geysers)
@@ -1986,8 +2101,15 @@ module Sc2
1986
2101
  #
1987
2102
  # _@param_ `random` — number of nearest points to randomly choose from. 1 for nearest point.
1988
2103
  #
2104
+ # _@param_ `in_power` — whether this must be on a power field
2105
+ #
1989
2106
  # _@return_ — buildable location, nil if no buildable location found
1990
- def build_placement_near: (length: Integer, target: (Api::Unit | Sc2::Position), ?random: Integer) -> Api::Point2D?
2107
+ def build_placement_near: (
2108
+ length: Integer,
2109
+ target: (Api::Unit | Sc2::Position),
2110
+ ?random: Integer,
2111
+ ?in_power: bool
2112
+ ) -> Api::Point2D?
1991
2113
 
1992
2114
  # Draws a grid within a unit (pylon/prisms) radius, then selects points which are placeable
1993
2115
  #
@@ -2020,7 +2142,6 @@ module Sc2
2020
2142
  ?count: Integer
2021
2143
  ) -> ::Array[Api::Point2D]
2022
2144
 
2023
- # sord warn - Sc2::Location wasn't able to be resolved to a constant in this project
2024
2145
  # Gets a random point near a location with a positive/negative offset applied to both x and y
2025
2146
  #
2026
2147
  # _@param_ `pos`
@@ -2031,13 +2152,12 @@ module Sc2
2031
2152
  # Randomly randomly adjust both x and y by a range of -3.5 or +3.5
2032
2153
  # geo.point_random_near(point: structures.hq.first, offset: 3.5)
2033
2154
  # ```
2034
- def point_random_near: (pos: Sc2::Location, ?offset: Float) -> Api::Point2D
2155
+ def point_random_near: (pos: Sc2::Position, ?offset: Float) -> Api::Point2D
2035
2156
 
2036
- # sord warn - Sc2::Location wasn't able to be resolved to a constant in this project
2037
2157
  # _@param_ `pos`
2038
2158
  #
2039
2159
  # _@param_ `radius`
2040
- def point_random_on_circle: (pos: Sc2::Location, ?radius: Float) -> Api::Point2D
2160
+ def point_random_on_circle: (pos: Sc2::Position, ?radius: Float) -> Api::Point2D
2041
2161
 
2042
2162
  # _@return_ — player with active connection
2043
2163
  attr_accessor bot: (Sc2::Player | untyped)
@@ -2053,7 +2173,7 @@ module Sc2
2053
2173
  def on_status_change: (Symbol status) -> untyped
2054
2174
 
2055
2175
  # Determines if your game_info will be refreshed at this moment
2056
- # Has a hard-capped refresh of only ever 2 steps
2176
+ # Has a hard-capped refresh of only ever 4 steps
2057
2177
  # In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
2058
2178
  def game_info_stale?: () -> bool
2059
2179
 
@@ -2067,7 +2187,7 @@ module Sc2
2067
2187
  attr_accessor status: (Symbol | untyped)
2068
2188
 
2069
2189
  # _@return_ — current game loop
2070
- attr_accessor game_loop: Integer
2190
+ attr_accessor game_loop: (Integer | untyped)
2071
2191
 
2072
2192
  # sord warn - Api::ResponseGameInfo wasn't able to be resolved to a constant in this project
2073
2193
  # sord warn - Api::ResponseGameInfo wasn't able to be resolved to a constant in this project
@@ -2135,7 +2255,18 @@ module Sc2
2135
2255
  # _@param_ `bot`
2136
2256
  def after_reset: (Sc2::Player::Bot _bot) -> untyped
2137
2257
 
2138
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2258
+ # Returns the upgrade ids which are researching or queued
2259
+ # Not set for enemy.
2260
+ def upgrades_in_progress: () -> ::Array[Integer]
2261
+
2262
+ # sord omit - no YARD type given for "upgrade_id", using untyped
2263
+ # Returns the upgrade ids which are researching or queued
2264
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
2265
+
2266
+ # sord omit - no YARD type given for "unit_type_id", using untyped
2267
+ # For this unit type, tells you how many are in progress by checking orders for all it's sources.
2268
+ def units_in_progress: (untyped unit_type_id) -> Integer
2269
+
2139
2270
  # Returns static [Api::UnitTypeData] for a unit
2140
2271
  #
2141
2272
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -2147,6 +2278,12 @@ module Sc2
2147
2278
  # _@param_ `ability_id` — Api::AbilityId::*
2148
2279
  def ability_data: (Integer ability_id) -> Api::AbilityData
2149
2280
 
2281
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
2282
+ # Returns static [Api::UpgradeData] for an upgrade id
2283
+ #
2284
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
2285
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
2286
+
2150
2287
  # Checks unit data for an attribute value
2151
2288
  #
2152
2289
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -2177,6 +2314,10 @@ module Sc2
2177
2314
  # Checks whether you have the resources to construct quantity of unit type
2178
2315
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
2179
2316
 
2317
+ # sord omit - no YARD type given for "upgrade_id", using untyped
2318
+ # Checks whether you have the resources to
2319
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
2320
+
2180
2321
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
2181
2322
  # sord omit - no YARD return type given, using untyped
2182
2323
  # Divides raw data units into various attributes on every step
@@ -2211,7 +2352,7 @@ module Sc2
2211
2352
  def on_status_change: (Symbol status) -> untyped
2212
2353
 
2213
2354
  # Determines if your game_info will be refreshed at this moment
2214
- # Has a hard-capped refresh of only ever 2 steps
2355
+ # Has a hard-capped refresh of only ever 4 steps
2215
2356
  # In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
2216
2357
  def game_info_stale?: () -> bool
2217
2358
 
@@ -2352,7 +2493,6 @@ module Sc2
2352
2493
  # _@return_ — Hash<Integer, Api::AbilityData] indexed data
2353
2494
  def abilities_from_proto: (::Array[Api::AbilityData] abilities) -> SORD_ERROR_HashIntegerApiAbilityDataindexeddata
2354
2495
 
2355
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2356
2496
  # sord warn - "Hash<Integer, Api::UnitTypeData] indexed data" does not appear to be a type
2357
2497
  # Indexes unit data by id
2358
2498
  #
@@ -2378,17 +2518,30 @@ module Sc2
2378
2518
  # sord omit - no YARD return type given, using untyped
2379
2519
  def buffs_from_proto: (untyped buffs) -> untyped
2380
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
+
2381
2535
  # sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
2382
2536
  # _@return_ — AbilityId => AbilityData
2383
2537
  attr_accessor abilities: (::Hash[Integer, Api::AbilityData] | untyped)
2384
2538
 
2385
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2386
- # _@return_ — UnitId => UnitData
2539
+ # _@return_ UnitId => UnitTypeData
2387
2540
  attr_accessor units: (::Hash[Integer, Api::UnitTypeData] | untyped)
2388
2541
 
2389
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2390
- # _@return_ — UnitTypeId => UnitTypeData
2391
- attr_accessor upgrades: (::Hash[Integer, Api::UnitTypeData] | untyped)
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)
2392
2545
 
2393
2546
  # sord omit - no YARD type given for :buffs, using untyped
2394
2547
  # Not particularly useful data. Just use BuffId directly
@@ -2638,19 +2791,15 @@ module Sc2
2638
2791
  ) -> Api::ResponseQuery
2639
2792
 
2640
2793
  # sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
2641
- # sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
2642
- # sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
2643
2794
  # sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
2644
2795
  # Queries one or more pathing queries
2645
2796
  #
2646
2797
  # _@param_ `queries` — one or more pathing queries
2647
2798
  #
2648
2799
  # _@return_ — one or more results depending on input size
2649
- def query_pathings: ((::Array[Api::RequestQueryPathing] | Api::RequestQueryPathing) queries) -> (::Array[Api::ResponseQueryPathing] | Api::ResponseQueryPathing)
2800
+ def query_pathings: (::Array[Api::RequestQueryPathing] queries) -> ::Array[Api::ResponseQueryPathing]
2650
2801
 
2651
2802
  # sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2652
- # sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2653
- # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2654
2803
  # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2655
2804
  # Queries one or more ability-available checks
2656
2805
  #
@@ -2659,9 +2808,8 @@ module Sc2
2659
2808
  # _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
2660
2809
  #
2661
2810
  # _@return_ — one or more results depending on input size
2662
- def query_abilities: ((::Array[Api::RequestQueryAvailableAbilities] | Api::RequestQueryAvailableAbilities) queries, ?ignore_resource_requirements: bool) -> (::Array[Api::ResponseQueryAvailableAbilities] | Api::ResponseQueryAvailableAbilities)
2811
+ def query_abilities: (::Array[Api::RequestQueryAvailableAbilities] queries, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
2663
2812
 
2664
- # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2665
2813
  # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2666
2814
  # Queries available abilities for units
2667
2815
  #
@@ -2670,18 +2818,26 @@ module Sc2
2670
2818
  # _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
2671
2819
  #
2672
2820
  # _@return_ — one or more results depending on input size
2673
- def query_abilities_for_unit_tags: ((::Array[Integer] | Integer) unit_tags, ?ignore_resource_requirements: bool) -> (::Array[Api::ResponseQueryAvailableAbilities] | Api::ResponseQueryAvailableAbilities)
2821
+ def query_abilities_for_unit_tags: (::Array[Integer] unit_tags, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
2822
+
2823
+ # sord omit - no YARD type given for "ignore_resource_requirements:", using untyped
2824
+ # sord omit - no YARD return type given, using untyped
2825
+ # Queries available ability ids for one unit
2826
+ # Shortened response over #query_abilities_for_unit_tags, since we know the tag already
2827
+ # and can just return an array of ability ids.
2828
+ # Note: Querying single units are expensive and should be batched with #query_abilities_for_unit_tags
2829
+ #
2830
+ # _@param_ `unit` — a unit or a tag.
2831
+ def query_ability_ids_for_unit: ((Api::Unit | Integer) unit, ?ignore_resource_requirements: untyped) -> untyped
2674
2832
 
2675
- # sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2676
2833
  # sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2677
2834
  # sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2678
- # sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2679
2835
  # Queries one or more pathing queries
2680
2836
  #
2681
2837
  # _@param_ `queries` — one or more placement queries
2682
2838
  #
2683
2839
  # _@return_ — one or more results depending on input size
2684
- def query_placements: ((::Array[Api::RequestQueryBuildingPlacement] | Api::RequestQueryBuildingPlacement) queries) -> (::Array[Api::ResponseQueryBuildingPlacement] | Api::ResponseQueryBuildingPlacement)
2840
+ def query_placements: (::Array[Api::RequestQueryBuildingPlacement] queries) -> ::Array[Api::ResponseQueryBuildingPlacement]
2685
2841
 
2686
2842
  # sord omit - no YARD return type given, using untyped
2687
2843
  # Generates a replay.
@@ -2937,20 +3093,16 @@ module Sc2
2937
3093
  ?ignore_resource_requirements: bool
2938
3094
  ) -> Api::ResponseQuery
2939
3095
 
2940
- # sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
2941
3096
  # sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
2942
3097
  # sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
2943
- # sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
2944
3098
  # Queries one or more pathing queries
2945
3099
  #
2946
3100
  # _@param_ `queries` — one or more pathing queries
2947
3101
  #
2948
3102
  # _@return_ — one or more results depending on input size
2949
- def query_pathings: ((::Array[Api::RequestQueryPathing] | Api::RequestQueryPathing) queries) -> (::Array[Api::ResponseQueryPathing] | Api::ResponseQueryPathing)
3103
+ def query_pathings: (::Array[Api::RequestQueryPathing] queries) -> ::Array[Api::ResponseQueryPathing]
2950
3104
 
2951
3105
  # sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2952
- # sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2953
- # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2954
3106
  # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2955
3107
  # Queries one or more ability-available checks
2956
3108
  #
@@ -2959,9 +3111,8 @@ module Sc2
2959
3111
  # _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
2960
3112
  #
2961
3113
  # _@return_ — one or more results depending on input size
2962
- def query_abilities: ((::Array[Api::RequestQueryAvailableAbilities] | Api::RequestQueryAvailableAbilities) queries, ?ignore_resource_requirements: bool) -> (::Array[Api::ResponseQueryAvailableAbilities] | Api::ResponseQueryAvailableAbilities)
3114
+ def query_abilities: (::Array[Api::RequestQueryAvailableAbilities] queries, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
2963
3115
 
2964
- # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2965
3116
  # sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
2966
3117
  # Queries available abilities for units
2967
3118
  #
@@ -2970,18 +3121,26 @@ module Sc2
2970
3121
  # _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
2971
3122
  #
2972
3123
  # _@return_ — one or more results depending on input size
2973
- def query_abilities_for_unit_tags: ((::Array[Integer] | Integer) unit_tags, ?ignore_resource_requirements: bool) -> (::Array[Api::ResponseQueryAvailableAbilities] | Api::ResponseQueryAvailableAbilities)
3124
+ def query_abilities_for_unit_tags: (::Array[Integer] unit_tags, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
3125
+
3126
+ # sord omit - no YARD type given for "ignore_resource_requirements:", using untyped
3127
+ # sord omit - no YARD return type given, using untyped
3128
+ # Queries available ability ids for one unit
3129
+ # Shortened response over #query_abilities_for_unit_tags, since we know the tag already
3130
+ # and can just return an array of ability ids.
3131
+ # Note: Querying single units are expensive and should be batched with #query_abilities_for_unit_tags
3132
+ #
3133
+ # _@param_ `unit` — a unit or a tag.
3134
+ def query_ability_ids_for_unit: ((Api::Unit | Integer) unit, ?ignore_resource_requirements: untyped) -> untyped
2974
3135
 
2975
3136
  # sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2976
- # sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2977
- # sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2978
3137
  # sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
2979
3138
  # Queries one or more pathing queries
2980
3139
  #
2981
3140
  # _@param_ `queries` — one or more placement queries
2982
3141
  #
2983
3142
  # _@return_ — one or more results depending on input size
2984
- def query_placements: ((::Array[Api::RequestQueryBuildingPlacement] | Api::RequestQueryBuildingPlacement) queries) -> (::Array[Api::ResponseQueryBuildingPlacement] | Api::ResponseQueryBuildingPlacement)
3143
+ def query_placements: (::Array[Api::RequestQueryBuildingPlacement] queries) -> ::Array[Api::ResponseQueryBuildingPlacement]
2985
3144
 
2986
3145
  # sord omit - no YARD return type given, using untyped
2987
3146
  # Generates a replay.
@@ -3296,11 +3455,18 @@ module Sc2
3296
3455
  # _@return_ — new unit group
3297
3456
  def except: () -> Sc2::UnitGroup
3298
3457
 
3299
- # Returns a hash containing the entries for given tag(s).
3458
+ # Returns a new unit group containing the entries for given tag(s).
3300
3459
  #
3301
3460
  # _@return_ — new unit group
3302
3461
  def slice: () -> Sc2::UnitGroup
3303
3462
 
3463
+ # Returns a new unit group containing each element found both in self and in all of the given other_arrays; duplicates are omitted; items are compared using eql? (items must also implement hash correctly):
3464
+ #
3465
+ # _@param_ `other_unit_group`
3466
+ #
3467
+ # _@return_ — new unit group
3468
+ def intersection: (UnitGroup other_unit_group) -> UnitGroup
3469
+
3304
3470
  # Selects a single random Unit without a parameter or an array of Units with a param, i.e. self.random(2)
3305
3471
  def sample: () -> Api::Unit
3306
3472
 
@@ -3320,6 +3486,10 @@ module Sc2
3320
3486
  # Allows, i.e. Player#units.workers to fire only the first time it's called per frame
3321
3487
  def cached: (untyped key) -> untyped
3322
3488
 
3489
+ # Returns the center (average) position of all units or nil if the group is empty.
3490
+ # Outliers effect this point
3491
+ def pos_centroid: () -> Api::Point2D?
3492
+
3323
3493
  # Our first unit's bot object.
3324
3494
  # Returns nil if units are empty, so use safetly operator bot&.method(...)
3325
3495
  #
@@ -3356,6 +3526,14 @@ module Sc2
3356
3526
  # _@param_ `queue_command` — shift+command
3357
3527
  def warp: (unit_type_id: Integer, ?target: Api::Point2D?, ?queue_command: bool) -> untyped
3358
3528
 
3529
+ # sord omit - no YARD return type given, using untyped
3530
+ # Research a specific upgrade at one of these structures
3531
+ #
3532
+ # _@param_ `upgrade_id` — Api::UpgradeId to research
3533
+ #
3534
+ # _@param_ `queue_command` — shift+command
3535
+ def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
3536
+
3359
3537
  # sord omit - no YARD return type given, using untyped
3360
3538
  # Shorthand for performing action SMART (right-click)
3361
3539
  #
@@ -3510,6 +3688,15 @@ module Sc2
3510
3688
  # _@return_ — gas structures
3511
3689
  def gas: () -> UnitGroup
3512
3690
 
3691
+ # Selects only units which have finished constructing, i.o.w. build_progress == 1.0
3692
+ #
3693
+ # _@return_ — gas structures
3694
+ def completed: () -> UnitGroup
3695
+
3696
+ # sord omit - no YARD return type given, using untyped
3697
+ # Selects only units which do not have orders
3698
+ def idle: () -> untyped
3699
+
3513
3700
  # Selects mineral fields
3514
3701
  #
3515
3702
  # _@return_ — mineral fields
@@ -3564,6 +3751,9 @@ module Sc2
3564
3751
  # Selects overlords
3565
3752
  def overlords: () -> Sc2::UnitGroup
3566
3753
 
3754
+ # Selects overseers
3755
+ def overseers: () -> Sc2::UnitGroup
3756
+
3567
3757
  # Selects creep tumors (all)
3568
3758
  # CREEPTUMORQUEEN is still building & burrowing
3569
3759
  # while CREEPTUMOR was spread from another tumor still building & burrowing
@@ -3985,6 +4175,9 @@ module Sc2
3985
4175
  # _@param_ `player_index`
3986
4176
  def stop: (Integer player_index) -> void
3987
4177
 
4178
+ # sord omit - no YARD return type given, using untyped
4179
+ def stop_all: () -> untyped
4180
+
3988
4181
  def initialize: () -> void
3989
4182
 
3990
4183
  # Returns the value of attribute clients.
@@ -3995,10 +4188,17 @@ module Sc2
3995
4188
  end
3996
4189
 
3997
4190
  # A unified construct that tames Api::* messages which contain location data
3998
- # Items which are of type Sc2::Location will have #x and #y property at the least.
4191
+ # Items which are of type Sc2::Position will have #x and #y property at the least.
3999
4192
  module Position
4000
4193
  TOLERANCE: untyped
4001
4194
 
4195
+ # sord omit - no YARD type given for "other", using untyped
4196
+ # sord omit - no YARD return type given, using untyped
4197
+ # Loose equality matches on floats x and y.
4198
+ # We never check z-axis, because the map is single-level.
4199
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
4200
+ def ==: (untyped other) -> untyped
4201
+
4002
4202
  # A new point representing the sum of this point and the other point.
4003
4203
  #
4004
4204
  # _@param_ `other` — The other point/number to add.
@@ -4019,10 +4219,19 @@ module Sc2
4019
4219
  # _@return_ — A new point representing this point divided by the scalar.
4020
4220
  def divide: (Float scalar) -> Api::Point2D
4021
4221
 
4022
- # sord omit - no YARD return type given, using untyped
4023
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
4024
- # We send method missing ourselves when y to fix this chain.
4025
- def y: () -> untyped
4222
+ # Returns x coordinate
4223
+ def x: () -> Float
4224
+
4225
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
4226
+ # Sets x coordinate
4227
+ def x=: (Float x) -> Float
4228
+
4229
+ # Returns y coordinate
4230
+ def y: () -> Float
4231
+
4232
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
4233
+ # Sets y coordinate
4234
+ def y=: (Float y) -> Float
4026
4235
 
4027
4236
  # Randomly adjusts both x and y by a range of: -offset..offset
4028
4237
  #
@@ -4528,6 +4737,26 @@ module Api
4528
4737
  # _@return_ — unit_type_id an array of unit type ids as per Api:UnitTypeId
4529
4738
  def self.upgrade_researched_from: (upgrade_id: Integer) -> Integer
4530
4739
 
4740
+ # sord omit - no YARD type given for "upgrade_id:", using untyped
4741
+ # Returns the ability which researches this upgrade
4742
+ #
4743
+ # _@return_ — ability_id
4744
+ def self.upgrade_research_ability_id: (upgrade_id: untyped) -> Integer
4745
+
4746
+ # Returns a full list of structure unit id's which perform upgrades
4747
+ # This is a useful list when checking if any updates are in progress,
4748
+ # because we scan these structure types for orders
4749
+ #
4750
+ # _@return_ — unit type ids
4751
+ def self.upgrade_structure_unit_type_ids: () -> ::Array[Integer]
4752
+
4753
+ # Returns hash of upgrade info for a specific structure where the upgrade id is the key
4754
+ #
4755
+ # _@param_ `source_unit_type_id` — source structure unit type id
4756
+ #
4757
+ # _@return_ — ability_id
4758
+ def self.upgrade_ability_data: (Integer source_unit_type_id) -> ::Hash[Integer, ::Hash[untyped, untyped]]
4759
+
4531
4760
  # sord omit - no YARD return type given, using untyped
4532
4761
  def self.unit_type_creation_abilities_data: () -> untyped
4533
4762
 
@@ -8593,7 +8822,15 @@ module Api
8593
8822
  # sord omit - no YARD return type given, using untyped
8594
8823
  def hash: () -> untyped
8595
8824
 
8596
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
8825
+ # Returns an integer unique identifier
8826
+ # If the unit goes out of vision and is snapshot-able, they get a random id
8827
+ # - Such a unit gets the same unit tag when it re-enters vision
8828
+ def tag: () -> Integer
8829
+
8830
+ # sord infer - inferred type of parameter "tag" as Integer using getter's return type
8831
+ # Sets unit tag
8832
+ def tag=: (Integer tag) -> Integer
8833
+
8597
8834
  # Returns static [Api::UnitTypeData] for a unit
8598
8835
  def unit_data: () -> Api::UnitTypeData
8599
8836
 
@@ -8612,9 +8849,8 @@ module Api
8612
8849
  # _@return_ — whether unit has attribute
8613
8850
  #
8614
8851
  # ```ruby
8615
- # has_attribute?(Api::UnitTypeId::SCV, Api::Attribute::Mechanical)
8616
- # has_attribute?(units.workers.first, :Mechanical)
8617
- # has_attribute?(Api::UnitTypeId::SCV, :Mechanical)
8852
+ # unit.has_attribute?(Api::Attribute::Mechanical)
8853
+ # unit.has_attribute?(:Mechanical)
8618
8854
  # ```
8619
8855
  def has_attribute?: (untyped attribute) -> bool
8620
8856
 
@@ -8673,6 +8909,15 @@ module Api
8673
8909
  # _@return_ — whether unit has attribute :Summoned
8674
8910
  def is_summoned?: () -> bool
8675
8911
 
8912
+ # Whether unit is effected by buff_id
8913
+ #
8914
+ # _@param_ `buff_id`
8915
+ #
8916
+ # ```ruby
8917
+ # unit.has_buff??(Api::BuffId::QUEENSPAWNLARVATIMER)
8918
+ # ```
8919
+ def has_buff?: (Integer buff_id) -> bool
8920
+
8676
8921
  # sord omit - no YARD return type given, using untyped
8677
8922
  # Performs action on this unit
8678
8923
  #
@@ -8736,12 +8981,21 @@ module Api
8736
8981
  # _@param_ `queue_command` — shift+command
8737
8982
  def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
8738
8983
 
8739
- # sord omit - no YARD type given for "queue_command:", using untyped
8740
8984
  # sord omit - no YARD return type given, using untyped
8741
8985
  # Issues repair command on target
8742
8986
  #
8743
8987
  # _@param_ `target` — is a unit or unit tag
8744
- def repair: (target: (Api::Unit | Integer), ?queue_command: untyped) -> untyped
8988
+ #
8989
+ # _@param_ `queue_command` — shift+command
8990
+ def repair: (target: (Api::Unit | Integer), ?queue_command: bool) -> untyped
8991
+
8992
+ # sord omit - no YARD return type given, using untyped
8993
+ # Research a specific upgrade
8994
+ #
8995
+ # _@param_ `upgrade_id` — Api::UnitTypeId the unit type which will do the creation
8996
+ #
8997
+ # _@param_ `queue_command` — shift+command
8998
+ def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
8745
8999
 
8746
9000
  # Draws a placement outline
8747
9001
  # noinspection RubyArgCount
@@ -9013,6 +9267,13 @@ module Api
9013
9267
  # Creates a Point2D using x and y
9014
9268
  def to_p2d: () -> Api::Point2D
9015
9269
 
9270
+ # sord omit - no YARD type given for "other", using untyped
9271
+ # sord omit - no YARD return type given, using untyped
9272
+ # Loose equality matches on floats x and y.
9273
+ # We never check z-axis, because the map is single-level.
9274
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
9275
+ def ==: (untyped other) -> untyped
9276
+
9016
9277
  # A new point representing the sum of this point and the other point.
9017
9278
  #
9018
9279
  # _@param_ `other` — The other point/number to add.
@@ -9033,10 +9294,19 @@ module Api
9033
9294
  # _@return_ — A new point representing this point divided by the scalar.
9034
9295
  def divide: (Float scalar) -> Api::Point2D
9035
9296
 
9036
- # sord omit - no YARD return type given, using untyped
9037
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
9038
- # We send method missing ourselves when y to fix this chain.
9039
- def y: () -> untyped
9297
+ # Returns x coordinate
9298
+ def x: () -> Float
9299
+
9300
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
9301
+ # Sets x coordinate
9302
+ def x=: (Float x) -> Float
9303
+
9304
+ # Returns y coordinate
9305
+ def y: () -> Float
9306
+
9307
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
9308
+ # Sets y coordinate
9309
+ def y=: (Float y) -> Float
9040
9310
 
9041
9311
  # Randomly adjusts both x and y by a range of: -offset..offset
9042
9312
  #
@@ -9151,6 +9421,17 @@ module Api
9151
9421
  # sord omit - no YARD type given for "other", using untyped
9152
9422
  def eql?: (untyped other) -> bool
9153
9423
 
9424
+ # sord omit - no YARD type given for "z:", using untyped
9425
+ # Create a new 3d Point, by adding a y axis.
9426
+ def to_3d: (z: untyped) -> Api::Point
9427
+
9428
+ # sord omit - no YARD type given for "other", using untyped
9429
+ # sord omit - no YARD return type given, using untyped
9430
+ # Loose equality matches on floats x and y.
9431
+ # We never check z-axis, because the map is single-level.
9432
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
9433
+ def ==: (untyped other) -> untyped
9434
+
9154
9435
  # A new point representing the sum of this point and the other point.
9155
9436
  #
9156
9437
  # _@param_ `other` — The other point/number to add.
@@ -9171,10 +9452,19 @@ module Api
9171
9452
  # _@return_ — A new point representing this point divided by the scalar.
9172
9453
  def divide: (Float scalar) -> Api::Point2D
9173
9454
 
9174
- # sord omit - no YARD return type given, using untyped
9175
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
9176
- # We send method missing ourselves when y to fix this chain.
9177
- def y: () -> untyped
9455
+ # Returns x coordinate
9456
+ def x: () -> Float
9457
+
9458
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
9459
+ # Sets x coordinate
9460
+ def x=: (Float x) -> Float
9461
+
9462
+ # Returns y coordinate
9463
+ def y: () -> Float
9464
+
9465
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
9466
+ # Sets y coordinate
9467
+ def y=: (Float y) -> Float
9178
9468
 
9179
9469
  # Randomly adjusts both x and y by a range of: -offset..offset
9180
9470
  #
@@ -9272,6 +9562,13 @@ module Api
9272
9562
  class PointI < Google::Protobuf::AbstractMessage
9273
9563
  include Sc2::Position
9274
9564
 
9565
+ # sord omit - no YARD type given for "other", using untyped
9566
+ # sord omit - no YARD return type given, using untyped
9567
+ # Loose equality matches on floats x and y.
9568
+ # We never check z-axis, because the map is single-level.
9569
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
9570
+ def ==: (untyped other) -> untyped
9571
+
9275
9572
  # A new point representing the sum of this point and the other point.
9276
9573
  #
9277
9574
  # _@param_ `other` — The other point/number to add.
@@ -9292,10 +9589,19 @@ module Api
9292
9589
  # _@return_ — A new point representing this point divided by the scalar.
9293
9590
  def divide: (Float scalar) -> Api::Point2D
9294
9591
 
9295
- # sord omit - no YARD return type given, using untyped
9296
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
9297
- # We send method missing ourselves when y to fix this chain.
9298
- def y: () -> untyped
9592
+ # Returns x coordinate
9593
+ def x: () -> Float
9594
+
9595
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
9596
+ # Sets x coordinate
9597
+ def x=: (Float x) -> Float
9598
+
9599
+ # Returns y coordinate
9600
+ def y: () -> Float
9601
+
9602
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
9603
+ # Sets y coordinate
9604
+ def y=: (Float y) -> Float
9299
9605
 
9300
9606
  # Randomly adjusts both x and y by a range of: -offset..offset
9301
9607
  #
@@ -9404,6 +9710,13 @@ module Api
9404
9710
  # ```
9405
9711
  def self.[]: (untyped x, untyped y, untyped z) -> Api::Point
9406
9712
 
9713
+ # sord omit - no YARD type given for "other", using untyped
9714
+ # sord omit - no YARD return type given, using untyped
9715
+ # Loose equality matches on floats x and y.
9716
+ # We never check z-axis, because the map is single-level.
9717
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
9718
+ def ==: (untyped other) -> untyped
9719
+
9407
9720
  # A new point representing the sum of this point and the other point.
9408
9721
  #
9409
9722
  # _@param_ `other` — The other point/number to add.
@@ -9424,10 +9737,19 @@ module Api
9424
9737
  # _@return_ — A new point representing this point divided by the scalar.
9425
9738
  def divide: (Float scalar) -> Api::Point2D
9426
9739
 
9427
- # sord omit - no YARD return type given, using untyped
9428
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
9429
- # We send method missing ourselves when y to fix this chain.
9430
- def y: () -> untyped
9740
+ # Returns x coordinate
9741
+ def x: () -> Float
9742
+
9743
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
9744
+ # Sets x coordinate
9745
+ def x=: (Float x) -> Float
9746
+
9747
+ # Returns y coordinate
9748
+ def y: () -> Float
9749
+
9750
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
9751
+ # Sets y coordinate
9752
+ def y=: (Float y) -> Float
9431
9753
 
9432
9754
  # Randomly adjusts both x and y by a range of: -offset..offset
9433
9755
  #
@@ -9525,6 +9847,13 @@ module Api
9525
9847
  class Size2DI < Google::Protobuf::AbstractMessage
9526
9848
  include Sc2::Position
9527
9849
 
9850
+ # sord omit - no YARD type given for "other", using untyped
9851
+ # sord omit - no YARD return type given, using untyped
9852
+ # Loose equality matches on floats x and y.
9853
+ # We never check z-axis, because the map is single-level.
9854
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
9855
+ def ==: (untyped other) -> untyped
9856
+
9528
9857
  # A new point representing the sum of this point and the other point.
9529
9858
  #
9530
9859
  # _@param_ `other` — The other point/number to add.
@@ -9545,10 +9874,19 @@ module Api
9545
9874
  # _@return_ — A new point representing this point divided by the scalar.
9546
9875
  def divide: (Float scalar) -> Api::Point2D
9547
9876
 
9548
- # sord omit - no YARD return type given, using untyped
9549
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
9550
- # We send method missing ourselves when y to fix this chain.
9551
- def y: () -> untyped
9877
+ # Returns x coordinate
9878
+ def x: () -> Float
9879
+
9880
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
9881
+ # Sets x coordinate
9882
+ def x=: (Float x) -> Float
9883
+
9884
+ # Returns y coordinate
9885
+ def y: () -> Float
9886
+
9887
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
9888
+ # Sets y coordinate
9889
+ def y=: (Float y) -> Float
9552
9890
 
9553
9891
  # Randomly adjusts both x and y by a range of: -offset..offset
9554
9892
  #
@@ -9649,7 +9987,15 @@ module Api
9649
9987
  # sord omit - no YARD return type given, using untyped
9650
9988
  def hash: () -> untyped
9651
9989
 
9652
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
9990
+ # Returns an integer unique identifier
9991
+ # If the unit goes out of vision and is snapshot-able, they get a random id
9992
+ # - Such a unit gets the same unit tag when it re-enters vision
9993
+ def tag: () -> Integer
9994
+
9995
+ # sord infer - inferred type of parameter "tag" as Integer using getter's return type
9996
+ # Sets unit tag
9997
+ def tag=: (Integer tag) -> Integer
9998
+
9653
9999
  # Returns static [Api::UnitTypeData] for a unit
9654
10000
  def unit_data: () -> Api::UnitTypeData
9655
10001
 
@@ -9668,9 +10014,8 @@ module Api
9668
10014
  # _@return_ — whether unit has attribute
9669
10015
  #
9670
10016
  # ```ruby
9671
- # has_attribute?(Api::UnitTypeId::SCV, Api::Attribute::Mechanical)
9672
- # has_attribute?(units.workers.first, :Mechanical)
9673
- # has_attribute?(Api::UnitTypeId::SCV, :Mechanical)
10017
+ # unit.has_attribute?(Api::Attribute::Mechanical)
10018
+ # unit.has_attribute?(:Mechanical)
9674
10019
  # ```
9675
10020
  def has_attribute?: (untyped attribute) -> bool
9676
10021
 
@@ -9729,6 +10074,15 @@ module Api
9729
10074
  # _@return_ — whether unit has attribute :Summoned
9730
10075
  def is_summoned?: () -> bool
9731
10076
 
10077
+ # Whether unit is effected by buff_id
10078
+ #
10079
+ # _@param_ `buff_id`
10080
+ #
10081
+ # ```ruby
10082
+ # unit.has_buff??(Api::BuffId::QUEENSPAWNLARVATIMER)
10083
+ # ```
10084
+ def has_buff?: (Integer buff_id) -> bool
10085
+
9732
10086
  # sord omit - no YARD return type given, using untyped
9733
10087
  # Performs action on this unit
9734
10088
  #
@@ -9792,12 +10146,21 @@ module Api
9792
10146
  # _@param_ `queue_command` — shift+command
9793
10147
  def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
9794
10148
 
9795
- # sord omit - no YARD type given for "queue_command:", using untyped
9796
10149
  # sord omit - no YARD return type given, using untyped
9797
10150
  # Issues repair command on target
9798
10151
  #
9799
10152
  # _@param_ `target` — is a unit or unit tag
9800
- def repair: (target: (Api::Unit | Integer), ?queue_command: untyped) -> untyped
10153
+ #
10154
+ # _@param_ `queue_command` — shift+command
10155
+ def repair: (target: (Api::Unit | Integer), ?queue_command: bool) -> untyped
10156
+
10157
+ # sord omit - no YARD return type given, using untyped
10158
+ # Research a specific upgrade
10159
+ #
10160
+ # _@param_ `upgrade_id` — Api::UnitTypeId the unit type which will do the creation
10161
+ #
10162
+ # _@param_ `queue_command` — shift+command
10163
+ def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
9801
10164
 
9802
10165
  # Draws a placement outline
9803
10166
  # noinspection RubyArgCount
@@ -9951,6 +10314,11 @@ module Api
9951
10314
  def is_performing_ability_on_target?: (untyped abilities, ?target: untyped) -> bool
9952
10315
  end
9953
10316
 
10317
+ # Protobuf virtual class.
10318
+ class UnitTypeData < Google::Protobuf::AbstractMessage
10319
+ include Api::UnitTypeDataExtension
10320
+ end
10321
+
9954
10322
  # Protobuf virtual enum.
9955
10323
  class Race < Google::Protobuf::AbstractMessage
9956
10324
  end
@@ -9975,6 +10343,10 @@ module Api
9975
10343
  # sord omit - no YARD type given for "other", using untyped
9976
10344
  def eql?: (untyped other) -> bool
9977
10345
 
10346
+ # sord omit - no YARD type given for "z:", using untyped
10347
+ # Create a new 3d Point, by adding a y axis.
10348
+ def to_3d: (z: untyped) -> Api::Point
10349
+
9978
10350
  # Adds additional functionality to message class Api::Point2D
9979
10351
  module ClassMethods
9980
10352
  # sord omit - no YARD type given for "x", using untyped
@@ -9992,6 +10364,13 @@ module Api
9992
10364
  module PowerSourceExtension
9993
10365
  include Sc2::Position
9994
10366
 
10367
+ # sord omit - no YARD type given for "other", using untyped
10368
+ # sord omit - no YARD return type given, using untyped
10369
+ # Loose equality matches on floats x and y.
10370
+ # We never check z-axis, because the map is single-level.
10371
+ # TODO: We should almost certainly introduce TOLERANCE here, but verify it's cost first.
10372
+ def ==: (untyped other) -> untyped
10373
+
9995
10374
  # A new point representing the sum of this point and the other point.
9996
10375
  #
9997
10376
  # _@param_ `other` — The other point/number to add.
@@ -10012,10 +10391,19 @@ module Api
10012
10391
  # _@return_ — A new point representing this point divided by the scalar.
10013
10392
  def divide: (Float scalar) -> Api::Point2D
10014
10393
 
10015
- # sord omit - no YARD return type given, using untyped
10016
- # Bug: Psych implements method 'y' on Kernel, but protobuf uses method_missing to read AbstractMethod
10017
- # We send method missing ourselves when y to fix this chain.
10018
- def y: () -> untyped
10394
+ # Returns x coordinate
10395
+ def x: () -> Float
10396
+
10397
+ # sord infer - inferred type of parameter "x" as Float using getter's return type
10398
+ # Sets x coordinate
10399
+ def x=: (Float x) -> Float
10400
+
10401
+ # Returns y coordinate
10402
+ def y: () -> Float
10403
+
10404
+ # sord infer - inferred type of parameter "y" as Float using getter's return type
10405
+ # Sets y coordinate
10406
+ def y=: (Float y) -> Float
10019
10407
 
10020
10408
  # Randomly adjusts both x and y by a range of: -offset..offset
10021
10409
  #
@@ -10121,6 +10509,29 @@ module Api
10121
10509
  def []: (untyped x, untyped y, untyped z) -> Api::Point
10122
10510
  end
10123
10511
  end
10512
+
10513
+ # Adds additional functionality to message object Api::UnitTypeData
10514
+ module UnitTypeDataExtension
10515
+ # Sum of all morphs mineral cost
10516
+ # i.e. 550M Orbital command = 400M CC + 150M Upgrade
10517
+ # i.e. 350M Hatchery = 50M Drone + 300M Build
10518
+ #
10519
+ # _@return_ — sum of mineral costs
10520
+ attr_accessor mineral_cost_sum: (Integer | untyped)
10521
+
10522
+ # Sum of all morphs vespene gas cost
10523
+ # i.e. 250G Broodlord = 100G Corruptor + 150G Morph
10524
+ #
10525
+ # _@return_ — sum of vespene gas costs
10526
+ attr_accessor vespene_cost_sum: (Integer | untyped)
10527
+ end
10528
+
10529
+ # This module make sure that a read from method ability_id always returns the proper source id
10530
+ module AbilityRemapable
10531
+ # Ability Id. The generic id or "remapid".
10532
+ # i.e. Api::AbilityId::ATTACK_BATTLECRUISER returns generic Api::AbilityId::ATTACK
10533
+ def ability_id: () -> Integer
10534
+ end
10124
10535
  end
10125
10536
 
10126
10537
  # Array extensions