sc2ai 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/sig/sc2ai.rbs CHANGED
@@ -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,14 @@ 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
+
970
988
  # Returns static [Api::UnitTypeData] for a unit
971
989
  #
972
990
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -978,6 +996,12 @@ module Sc2
978
996
  # _@param_ `ability_id` — Api::AbilityId::*
979
997
  def ability_data: (Integer ability_id) -> Api::AbilityData
980
998
 
999
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
1000
+ # Returns static [Api::UpgradeData] for an upgrade id
1001
+ #
1002
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
1003
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
1004
+
981
1005
  # Checks unit data for an attribute value
982
1006
  #
983
1007
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1008,6 +1032,10 @@ module Sc2
1008
1032
  # Checks whether you have the resources to construct quantity of unit type
1009
1033
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
1010
1034
 
1035
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1036
+ # Checks whether you have the resources to
1037
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
1038
+
1011
1039
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1012
1040
  # sord omit - no YARD return type given, using untyped
1013
1041
  # Divides raw data units into various attributes on every step
@@ -1066,7 +1094,14 @@ module Sc2
1066
1094
  # _@return_ — Api::Race if race detected, false otherwise
1067
1095
  def detect_race_from_units: () -> (bool | Integer)
1068
1096
 
1069
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
1097
+ # Returns the upgrade ids which are researching or queued
1098
+ # Not set for enemy.
1099
+ def upgrades_in_progress: () -> ::Array[Integer]
1100
+
1101
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1102
+ # Returns the upgrade ids which are researching or queued
1103
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
1104
+
1070
1105
  # Returns static [Api::UnitTypeData] for a unit
1071
1106
  #
1072
1107
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1078,6 +1113,12 @@ module Sc2
1078
1113
  # _@param_ `ability_id` — Api::AbilityId::*
1079
1114
  def ability_data: (Integer ability_id) -> Api::AbilityData
1080
1115
 
1116
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
1117
+ # Returns static [Api::UpgradeData] for an upgrade id
1118
+ #
1119
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
1120
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
1121
+
1081
1122
  # Checks unit data for an attribute value
1082
1123
  #
1083
1124
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1108,6 +1149,10 @@ module Sc2
1108
1149
  # Checks whether you have the resources to construct quantity of unit type
1109
1150
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
1110
1151
 
1152
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1153
+ # Checks whether you have the resources to
1154
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
1155
+
1111
1156
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1112
1157
  # sord omit - no YARD return type given, using untyped
1113
1158
  # Divides raw data units into various attributes on every step
@@ -1362,7 +1407,14 @@ module Sc2
1362
1407
 
1363
1408
  # Helper methods for working with units
1364
1409
  module Units
1365
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
1410
+ # Returns the upgrade ids which are researching or queued
1411
+ # Not set for enemy.
1412
+ def upgrades_in_progress: () -> ::Array[Integer]
1413
+
1414
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1415
+ # Returns the upgrade ids which are researching or queued
1416
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
1417
+
1366
1418
  # Returns static [Api::UnitTypeData] for a unit
1367
1419
  #
1368
1420
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1374,6 +1426,12 @@ module Sc2
1374
1426
  # _@param_ `ability_id` — Api::AbilityId::*
1375
1427
  def ability_data: (Integer ability_id) -> Api::AbilityData
1376
1428
 
1429
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
1430
+ # Returns static [Api::UpgradeData] for an upgrade id
1431
+ #
1432
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
1433
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
1434
+
1377
1435
  # Checks unit data for an attribute value
1378
1436
  #
1379
1437
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -1404,6 +1462,10 @@ module Sc2
1404
1462
  # Checks whether you have the resources to construct quantity of unit type
1405
1463
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
1406
1464
 
1465
+ # sord omit - no YARD type given for "upgrade_id", using untyped
1466
+ # Checks whether you have the resources to
1467
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
1468
+
1407
1469
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
1408
1470
  # sord omit - no YARD return type given, using untyped
1409
1471
  # Divides raw data units into various attributes on every step
@@ -1448,6 +1510,11 @@ module Sc2
1448
1510
  # _@return_ — a group of neutral units
1449
1511
  attr_accessor effects: Sc2::UnitGroup
1450
1512
 
1513
+ # sord omit - no YARD type given for :upgrades_completed, using untyped
1514
+ # Returns the upgrade ids you have acquired such as weapon upgrade and armor upgrade ids.
1515
+ # Shorthand for observation.raw_data.player.upgrade_ids
1516
+ attr_reader upgrades_completed: untyped
1517
+
1451
1518
  # sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
1452
1519
  # sord warn - Api::RadarRing wasn't able to be resolved to a constant in this project
1453
1520
  # _@return_ — an array of power sources
@@ -1540,17 +1607,18 @@ module Sc2
1540
1607
  ?queue_command: bool
1541
1608
  ) -> untyped
1542
1609
 
1543
- # sord omit - no YARD type given for "units:", using untyped
1544
1610
  # sord omit - no YARD return type given, using untyped
1545
1611
  # Builds target unit type using units as source at optional target
1546
1612
  #
1613
+ # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
1614
+ #
1547
1615
  # _@param_ `unit_type_id` — Api::UnitTypeId the unit type which will do the creation
1548
1616
  #
1549
1617
  # _@param_ `target` — is a unit tag or a Api::Point2D. Nil for addons/orbital
1550
1618
  #
1551
1619
  # _@param_ `queue_command` — shift+command
1552
1620
  def build: (
1553
- units: untyped,
1621
+ units: (::Array[Integer] | Integer | Api::Unit),
1554
1622
  unit_type_id: Integer,
1555
1623
  ?target: (Api::Point2D | Integer)?,
1556
1624
  ?queue_command: bool
@@ -1573,6 +1641,16 @@ module Sc2
1573
1641
  ?units: untyped
1574
1642
  ) -> untyped
1575
1643
 
1644
+ # sord omit - no YARD return type given, using untyped
1645
+ # Research a specific upgrade
1646
+ #
1647
+ # _@param_ `units` — can be an Api::Unit, array of Api::Unit#tag or single tag
1648
+ #
1649
+ # _@param_ `upgrade_id` — Api::UpgradeId to research
1650
+ #
1651
+ # _@param_ `queue_command` — shift+command
1652
+ def research: (units: (::Array[Integer] | Integer | Api::Unit), upgrade_id: Integer, ?queue_command: bool) -> untyped
1653
+
1576
1654
  # Toggles auto-cast ability for units
1577
1655
  #
1578
1656
  # _@param_ `units` — can be an Api::Unit, array of Tags or single Tag
@@ -1813,6 +1891,12 @@ module Sc2
1813
1891
  # _@return_ — z axis position between -16 and 16
1814
1892
  def terrain_height: (x: (Float | Integer), y: (Float | Integer)) -> Float
1815
1893
 
1894
+ # sord omit - no YARD type given for "position", using untyped
1895
+ # Returns the terrain height (z) at position x and y for a point
1896
+ #
1897
+ # _@return_ — z axis position between -16 and 16
1898
+ def terrain_height_for_pos: (untyped position) -> Float
1899
+
1816
1900
  # sord warn - Numo::SFloat wasn't able to be resolved to a constant in this project
1817
1901
  # Returns a parsed terrain_height from bot.game_info.start_raw.
1818
1902
  # Each value in [row][column] holds a float value which is the z height
@@ -2135,7 +2219,14 @@ module Sc2
2135
2219
  # _@param_ `bot`
2136
2220
  def after_reset: (Sc2::Player::Bot _bot) -> untyped
2137
2221
 
2138
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2222
+ # Returns the upgrade ids which are researching or queued
2223
+ # Not set for enemy.
2224
+ def upgrades_in_progress: () -> ::Array[Integer]
2225
+
2226
+ # sord omit - no YARD type given for "upgrade_id", using untyped
2227
+ # Returns the upgrade ids which are researching or queued
2228
+ def upgrade_in_progress?: (untyped upgrade_id) -> bool
2229
+
2139
2230
  # Returns static [Api::UnitTypeData] for a unit
2140
2231
  #
2141
2232
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -2147,6 +2238,12 @@ module Sc2
2147
2238
  # _@param_ `ability_id` — Api::AbilityId::*
2148
2239
  def ability_data: (Integer ability_id) -> Api::AbilityData
2149
2240
 
2241
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
2242
+ # Returns static [Api::UpgradeData] for an upgrade id
2243
+ #
2244
+ # _@param_ `upgrade_id` — Api::UpgradeId::*
2245
+ def upgrade_data: (Integer upgrade_id) -> Api::UpgradeData
2246
+
2150
2247
  # Checks unit data for an attribute value
2151
2248
  #
2152
2249
  # _@param_ `unit` — Api::UnitTypeId or Api::Unit
@@ -2177,6 +2274,10 @@ module Sc2
2177
2274
  # Checks whether you have the resources to construct quantity of unit type
2178
2275
  def can_afford?: (unit_type_id: untyped, ?quantity: untyped) -> bool
2179
2276
 
2277
+ # sord omit - no YARD type given for "upgrade_id", using untyped
2278
+ # Checks whether you have the resources to
2279
+ def can_afford_upgrade?: (untyped upgrade_id) -> bool
2280
+
2180
2281
  # sord warn - Api::Observation wasn't able to be resolved to a constant in this project
2181
2282
  # sord omit - no YARD return type given, using untyped
2182
2283
  # Divides raw data units into various attributes on every step
@@ -2352,7 +2453,6 @@ module Sc2
2352
2453
  # _@return_ — Hash<Integer, Api::AbilityData] indexed data
2353
2454
  def abilities_from_proto: (::Array[Api::AbilityData] abilities) -> SORD_ERROR_HashIntegerApiAbilityDataindexeddata
2354
2455
 
2355
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2356
2456
  # sord warn - "Hash<Integer, Api::UnitTypeData] indexed data" does not appear to be a type
2357
2457
  # Indexes unit data by id
2358
2458
  #
@@ -2378,17 +2478,30 @@ module Sc2
2378
2478
  # sord omit - no YARD return type given, using untyped
2379
2479
  def buffs_from_proto: (untyped buffs) -> untyped
2380
2480
 
2481
+ # sord omit - no YARD return type given, using untyped
2482
+ # Overrides unit data from api to implement fixes or change context
2483
+ # i.e. Api::UnitTypeId::ORBITALCOMMAND cost is cost-to-upgrade instead of CC + Orbital combined cost.
2484
+ # Run once. Depends on all data already being set.
2485
+ def override_unit_data: () -> untyped
2486
+
2487
+ # sord omit - no YARD return type given, using untyped
2488
+ # Fixes mineral_cost, vespene_cost and food_required values
2489
+ def correct_unit_type_costs: () -> untyped
2490
+
2491
+ # sord omit - no YARD return type given, using untyped
2492
+ # Fixes mineral_cost_sum, vespene_cost_sum
2493
+ def correct_unit_type_sum: () -> untyped
2494
+
2381
2495
  # sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
2382
2496
  # _@return_ — AbilityId => AbilityData
2383
2497
  attr_accessor abilities: (::Hash[Integer, Api::AbilityData] | untyped)
2384
2498
 
2385
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
2386
- # _@return_ — UnitId => UnitData
2499
+ # _@return_ UnitId => UnitTypeData
2387
2500
  attr_accessor units: (::Hash[Integer, Api::UnitTypeData] | untyped)
2388
2501
 
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)
2502
+ # sord warn - Api::UpgradeData wasn't able to be resolved to a constant in this project
2503
+ # _@return_ — UpgradeId => UpgradeData
2504
+ attr_accessor upgrades: (::Hash[Integer, Api::UpgradeData] | untyped)
2392
2505
 
2393
2506
  # sord omit - no YARD type given for :buffs, using untyped
2394
2507
  # Not particularly useful data. Just use BuffId directly
@@ -3296,11 +3409,18 @@ module Sc2
3296
3409
  # _@return_ — new unit group
3297
3410
  def except: () -> Sc2::UnitGroup
3298
3411
 
3299
- # Returns a hash containing the entries for given tag(s).
3412
+ # Returns a new unit group containing the entries for given tag(s).
3300
3413
  #
3301
3414
  # _@return_ — new unit group
3302
3415
  def slice: () -> Sc2::UnitGroup
3303
3416
 
3417
+ # 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):
3418
+ #
3419
+ # _@param_ `other_unit_group`
3420
+ #
3421
+ # _@return_ — new unit group
3422
+ def intersection: (UnitGroup other_unit_group) -> UnitGroup
3423
+
3304
3424
  # Selects a single random Unit without a parameter or an array of Units with a param, i.e. self.random(2)
3305
3425
  def sample: () -> Api::Unit
3306
3426
 
@@ -3356,6 +3476,14 @@ module Sc2
3356
3476
  # _@param_ `queue_command` — shift+command
3357
3477
  def warp: (unit_type_id: Integer, ?target: Api::Point2D?, ?queue_command: bool) -> untyped
3358
3478
 
3479
+ # sord omit - no YARD return type given, using untyped
3480
+ # Research a specific upgrade at one of these structures
3481
+ #
3482
+ # _@param_ `upgrade_id` — Api::UpgradeId to research
3483
+ #
3484
+ # _@param_ `queue_command` — shift+command
3485
+ def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
3486
+
3359
3487
  # sord omit - no YARD return type given, using untyped
3360
3488
  # Shorthand for performing action SMART (right-click)
3361
3489
  #
@@ -3510,6 +3638,11 @@ module Sc2
3510
3638
  # _@return_ — gas structures
3511
3639
  def gas: () -> UnitGroup
3512
3640
 
3641
+ # Selects only units which have finished constructing, i.o.w. build_progress == 1.0
3642
+ #
3643
+ # _@return_ — gas structures
3644
+ def completed: () -> UnitGroup
3645
+
3513
3646
  # Selects mineral fields
3514
3647
  #
3515
3648
  # _@return_ — mineral fields
@@ -3985,6 +4118,9 @@ module Sc2
3985
4118
  # _@param_ `player_index`
3986
4119
  def stop: (Integer player_index) -> void
3987
4120
 
4121
+ # sord omit - no YARD return type given, using untyped
4122
+ def stop_all: () -> untyped
4123
+
3988
4124
  def initialize: () -> void
3989
4125
 
3990
4126
  # Returns the value of attribute clients.
@@ -4528,6 +4664,26 @@ module Api
4528
4664
  # _@return_ — unit_type_id an array of unit type ids as per Api:UnitTypeId
4529
4665
  def self.upgrade_researched_from: (upgrade_id: Integer) -> Integer
4530
4666
 
4667
+ # sord omit - no YARD type given for "upgrade_id:", using untyped
4668
+ # Returns the ability which researches this upgrade
4669
+ #
4670
+ # _@return_ — ability_id
4671
+ def self.upgrade_research_ability_id: (upgrade_id: untyped) -> Integer
4672
+
4673
+ # Returns a full list of structure unit id's which perform upgrades
4674
+ # This is a useful list when checking if any updates are in progress,
4675
+ # because we scan these structure types for orders
4676
+ #
4677
+ # _@return_ — unit type ids
4678
+ def self.upgrade_structure_unit_type_ids: () -> ::Array[Integer]
4679
+
4680
+ # Returns hash of upgrade info for a specific structure where the upgrade id is the key
4681
+ #
4682
+ # _@param_ `source_unit_type_id` — source structure unit type id
4683
+ #
4684
+ # _@return_ — ability_id
4685
+ def self.upgrade_ability_data: (Integer source_unit_type_id) -> ::Hash[Integer, ::Hash[untyped, untyped]]
4686
+
4531
4687
  # sord omit - no YARD return type given, using untyped
4532
4688
  def self.unit_type_creation_abilities_data: () -> untyped
4533
4689
 
@@ -8593,7 +8749,6 @@ module Api
8593
8749
  # sord omit - no YARD return type given, using untyped
8594
8750
  def hash: () -> untyped
8595
8751
 
8596
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
8597
8752
  # Returns static [Api::UnitTypeData] for a unit
8598
8753
  def unit_data: () -> Api::UnitTypeData
8599
8754
 
@@ -8612,9 +8767,8 @@ module Api
8612
8767
  # _@return_ — whether unit has attribute
8613
8768
  #
8614
8769
  # ```ruby
8615
- # has_attribute?(Api::UnitTypeId::SCV, Api::Attribute::Mechanical)
8616
- # has_attribute?(units.workers.first, :Mechanical)
8617
- # has_attribute?(Api::UnitTypeId::SCV, :Mechanical)
8770
+ # unit.has_attribute?(Api::Attribute::Mechanical)
8771
+ # unit.has_attribute?(:Mechanical)
8618
8772
  # ```
8619
8773
  def has_attribute?: (untyped attribute) -> bool
8620
8774
 
@@ -8736,12 +8890,21 @@ module Api
8736
8890
  # _@param_ `queue_command` — shift+command
8737
8891
  def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
8738
8892
 
8739
- # sord omit - no YARD type given for "queue_command:", using untyped
8740
8893
  # sord omit - no YARD return type given, using untyped
8741
8894
  # Issues repair command on target
8742
8895
  #
8743
8896
  # _@param_ `target` — is a unit or unit tag
8744
- def repair: (target: (Api::Unit | Integer), ?queue_command: untyped) -> untyped
8897
+ #
8898
+ # _@param_ `queue_command` — shift+command
8899
+ def repair: (target: (Api::Unit | Integer), ?queue_command: bool) -> untyped
8900
+
8901
+ # sord omit - no YARD return type given, using untyped
8902
+ # Research a specific upgrade
8903
+ #
8904
+ # _@param_ `upgrade_id` — Api::UnitTypeId the unit type which will do the creation
8905
+ #
8906
+ # _@param_ `queue_command` — shift+command
8907
+ def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
8745
8908
 
8746
8909
  # Draws a placement outline
8747
8910
  # noinspection RubyArgCount
@@ -9151,6 +9314,10 @@ module Api
9151
9314
  # sord omit - no YARD type given for "other", using untyped
9152
9315
  def eql?: (untyped other) -> bool
9153
9316
 
9317
+ # sord omit - no YARD type given for "z:", using untyped
9318
+ # Create a new 3d Point, by adding a y axis.
9319
+ def to_3d: (z: untyped) -> Api::Point
9320
+
9154
9321
  # A new point representing the sum of this point and the other point.
9155
9322
  #
9156
9323
  # _@param_ `other` — The other point/number to add.
@@ -9649,7 +9816,6 @@ module Api
9649
9816
  # sord omit - no YARD return type given, using untyped
9650
9817
  def hash: () -> untyped
9651
9818
 
9652
- # sord warn - Api::UnitTypeData wasn't able to be resolved to a constant in this project
9653
9819
  # Returns static [Api::UnitTypeData] for a unit
9654
9820
  def unit_data: () -> Api::UnitTypeData
9655
9821
 
@@ -9668,9 +9834,8 @@ module Api
9668
9834
  # _@return_ — whether unit has attribute
9669
9835
  #
9670
9836
  # ```ruby
9671
- # has_attribute?(Api::UnitTypeId::SCV, Api::Attribute::Mechanical)
9672
- # has_attribute?(units.workers.first, :Mechanical)
9673
- # has_attribute?(Api::UnitTypeId::SCV, :Mechanical)
9837
+ # unit.has_attribute?(Api::Attribute::Mechanical)
9838
+ # unit.has_attribute?(:Mechanical)
9674
9839
  # ```
9675
9840
  def has_attribute?: (untyped attribute) -> bool
9676
9841
 
@@ -9792,12 +9957,21 @@ module Api
9792
9957
  # _@param_ `queue_command` — shift+command
9793
9958
  def build: (unit_type_id: Integer, ?target: (Api::Point2D | Integer)?, ?queue_command: bool) -> untyped
9794
9959
 
9795
- # sord omit - no YARD type given for "queue_command:", using untyped
9796
9960
  # sord omit - no YARD return type given, using untyped
9797
9961
  # Issues repair command on target
9798
9962
  #
9799
9963
  # _@param_ `target` — is a unit or unit tag
9800
- def repair: (target: (Api::Unit | Integer), ?queue_command: untyped) -> untyped
9964
+ #
9965
+ # _@param_ `queue_command` — shift+command
9966
+ def repair: (target: (Api::Unit | Integer), ?queue_command: bool) -> untyped
9967
+
9968
+ # sord omit - no YARD return type given, using untyped
9969
+ # Research a specific upgrade
9970
+ #
9971
+ # _@param_ `upgrade_id` — Api::UnitTypeId the unit type which will do the creation
9972
+ #
9973
+ # _@param_ `queue_command` — shift+command
9974
+ def research: (upgrade_id: Integer, ?queue_command: bool) -> untyped
9801
9975
 
9802
9976
  # Draws a placement outline
9803
9977
  # noinspection RubyArgCount
@@ -9951,6 +10125,11 @@ module Api
9951
10125
  def is_performing_ability_on_target?: (untyped abilities, ?target: untyped) -> bool
9952
10126
  end
9953
10127
 
10128
+ # Protobuf virtual class.
10129
+ class UnitTypeData < Google::Protobuf::AbstractMessage
10130
+ include Api::UnitTypeDataExtension
10131
+ end
10132
+
9954
10133
  # Protobuf virtual enum.
9955
10134
  class Race < Google::Protobuf::AbstractMessage
9956
10135
  end
@@ -9975,6 +10154,10 @@ module Api
9975
10154
  # sord omit - no YARD type given for "other", using untyped
9976
10155
  def eql?: (untyped other) -> bool
9977
10156
 
10157
+ # sord omit - no YARD type given for "z:", using untyped
10158
+ # Create a new 3d Point, by adding a y axis.
10159
+ def to_3d: (z: untyped) -> Api::Point
10160
+
9978
10161
  # Adds additional functionality to message class Api::Point2D
9979
10162
  module ClassMethods
9980
10163
  # sord omit - no YARD type given for "x", using untyped
@@ -10121,6 +10304,22 @@ module Api
10121
10304
  def []: (untyped x, untyped y, untyped z) -> Api::Point
10122
10305
  end
10123
10306
  end
10307
+
10308
+ # Adds additional functionality to message object Api::UnitTypeData
10309
+ module UnitTypeDataExtension
10310
+ # Sum of all morphs mineral cost
10311
+ # i.e. 550M Orbital command = 400M CC + 150M Upgrade
10312
+ # i.e. 350M Hatchery = 50M Drone + 300M Build
10313
+ #
10314
+ # _@return_ — sum of mineral costs
10315
+ attr_accessor mineral_cost_sum: (Integer | untyped)
10316
+
10317
+ # Sum of all morphs vespene gas cost
10318
+ # i.e. 250G Broodlord = 100G Corruptor + 150G Morph
10319
+ #
10320
+ # _@return_ — sum of vespene gas costs
10321
+ attr_accessor vespene_cost_sum: (Integer | untyped)
10322
+ end
10124
10323
  end
10125
10324
 
10126
10325
  # Array extensions
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sc2ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dyson Returns
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-20 00:00:00.000000000 Z
11
+ date: 2024-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -262,8 +262,22 @@ dependencies:
262
262
  - - "~>"
263
263
  - !ruby/object:Gem::Version
264
264
  version: '3.13'
265
- description: This is a Ruby interface to STARCRAFT® II. It can be used for machine
266
- learning via Rumale or custom scripted AI battle.
265
+ - !ruby/object:Gem::Dependency
266
+ name: async-rspec
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '1.17'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '1.17'
279
+ description: This is a Ruby interface to STARCRAFT® II. Write your own AI using an
280
+ easy interface and compete against others.
267
281
  email:
268
282
  executables:
269
283
  - sc2ai
@@ -335,6 +349,7 @@ files:
335
349
  - lib/sc2ai/protocol/extensions/position.rb
336
350
  - lib/sc2ai/protocol/extensions/power_source.rb
337
351
  - lib/sc2ai/protocol/extensions/unit.rb
352
+ - lib/sc2ai/protocol/extensions/unit_type_data.rb
338
353
  - lib/sc2ai/protocol/query_pb.rb
339
354
  - lib/sc2ai/protocol/raw_pb.rb
340
355
  - lib/sc2ai/protocol/sc2api_pb.rb