sc2ai 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/data/sc2ai/protocol/common.proto +1 -1
  3. data/data/sc2ai/protocol/data.proto +4 -1
  4. data/data/sc2ai/protocol/debug.proto +5 -1
  5. data/data/sc2ai/protocol/error.proto +2 -1
  6. data/data/sc2ai/protocol/query.proto +1 -1
  7. data/data/sc2ai/protocol/raw.proto +8 -6
  8. data/data/sc2ai/protocol/sc2api.proto +21 -7
  9. data/data/sc2ai/protocol/score.proto +2 -1
  10. data/data/sc2ai/protocol/spatial.proto +2 -1
  11. data/data/sc2ai/protocol/ui.proto +4 -1
  12. data/lib/docker_build/Dockerfile.ruby +4 -2
  13. data/lib/sc2ai/api/ability_id.rb +6 -1
  14. data/lib/sc2ai/api/data.rb +15 -0
  15. data/lib/sc2ai/api/tech_tree.rb +1 -1
  16. data/lib/sc2ai/api/tech_tree_data.rb +54 -3
  17. data/lib/sc2ai/connection.rb +0 -1
  18. data/lib/sc2ai/overrides/async/process/child.rb +1 -1
  19. data/lib/sc2ai/player/debug.rb +36 -2
  20. data/lib/sc2ai/player/geo.rb +2 -2
  21. data/lib/sc2ai/player/units.rb +25 -1
  22. data/lib/sc2ai/player.rb +2 -7
  23. data/lib/sc2ai/ports.rb +0 -1
  24. data/lib/sc2ai/protocol/_meta_documentation.rb +249 -4
  25. data/lib/sc2ai/protocol/common_pb.rb +2 -23
  26. data/lib/sc2ai/protocol/data_pb.rb +2 -23
  27. data/lib/sc2ai/protocol/debug_pb.rb +2 -24
  28. data/lib/sc2ai/protocol/error_pb.rb +2 -23
  29. data/lib/sc2ai/protocol/extensions/point_2_d.rb +4 -0
  30. data/lib/sc2ai/protocol/extensions/position.rb +1 -1
  31. data/lib/sc2ai/protocol/extensions/unit.rb +44 -3
  32. data/lib/sc2ai/protocol/extensions/unit_type_data.rb +8 -0
  33. data/lib/sc2ai/protocol/query_pb.rb +2 -24
  34. data/lib/sc2ai/protocol/raw_pb.rb +2 -24
  35. data/lib/sc2ai/protocol/sc2api_pb.rb +2 -31
  36. data/lib/sc2ai/protocol/score_pb.rb +2 -23
  37. data/lib/sc2ai/protocol/spatial_pb.rb +2 -24
  38. data/lib/sc2ai/protocol/ui_pb.rb +2 -23
  39. data/lib/sc2ai/unit_group/filter_ext.rb +16 -1
  40. data/lib/sc2ai/version.rb +1 -1
  41. data/lib/templates/new/.ladderignore +15 -5
  42. data/lib/templates/new/my_bot.rb.tt +1 -1
  43. data/sig/minaswan.rbs +10323 -0
  44. data/sig/sc2ai.rbs +376 -34
  45. metadata +12 -12
  46. data/lib/sc2ai/protocol/extensions/unit_type.rb +0 -9
data/sig/sc2ai.rbs CHANGED
@@ -377,28 +377,8 @@ module Sc2
377
377
  # _@see_ `#join_game` — for options
378
378
  attr_accessor interface_options: ::Hash[untyped, untyped]
379
379
 
380
- # sord warn - Api::Race::NoRace wasn't able to be resolved to a constant in this project
381
- # sord warn - Api::Race::Terran wasn't able to be resolved to a constant in this project
382
- # sord warn - Api::Race::Zerg wasn't able to be resolved to a constant in this project
383
- # sord warn - Api::Race::Protoss wasn't able to be resolved to a constant in this project
384
- # sord warn - Api::Race::Random wasn't able to be resolved to a constant in this project
385
- # sord warn - Api::Race::NoRace wasn't able to be resolved to a constant in this project
386
- # sord warn - Api::Race::Terran wasn't able to be resolved to a constant in this project
387
- # sord warn - Api::Race::Zerg wasn't able to be resolved to a constant in this project
388
- # sord warn - Api::Race::Protoss wasn't able to be resolved to a constant in this project
389
- # sord warn - Api::Race::Random wasn't able to be resolved to a constant in this project
390
- # _@return_ — if Observer
391
- #
392
- # _@return_ — if is_a? Bot, Human, BotProcess
393
- #
394
- # _@return_ — if is_a? Bot, Human, BotProcess
395
- #
396
- # _@return_ — if is_a? Bot, Human, BotProcess
397
- #
398
- # _@return_ — if specified random and in-game race hasn't been scouted yet
399
- #
400
- # _@return_ — if is_a? forgetful person
401
- attr_accessor race: (Api::Race::NoRace | Api::Race::Terran | Api::Race::Zerg | Api::Race::Protoss | Api::Race::Random)?
380
+ # _@return_ Api::Race enum
381
+ attr_accessor race: Integer
402
382
 
403
383
  # _@return_ — in-game name
404
384
  attr_accessor name: String
@@ -690,6 +670,35 @@ module Sc2
690
670
  # _@param_ `color` — default white
691
671
  def debug_draw_sphere: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
692
672
 
673
+ # sord warn - Api::Position wasn't able to be resolved to a constant in this project
674
+ # sord omit - no YARD return type given, using untyped
675
+ # Renders a block on the floor, drawn by 4 lines
676
+ # Pass in either a pos (Position/Unit) or exact x * y coordinates
677
+ # Optional indentation adds padding on borders inward
678
+ #
679
+ # _@param_ `pos`
680
+ #
681
+ # _@param_ `x`
682
+ #
683
+ # _@param_ `y`
684
+ #
685
+ # _@param_ `color`
686
+ #
687
+ # _@param_ `indent` — default 0.05. should be lower than < 1.0
688
+ #
689
+ # ```ruby
690
+ # debug_tile(x: 12.3, y: 4.56, color: Api::Color.new(r: 255, g: 0, b: 0))
691
+ # debug_tile(some_unit)
692
+ # debug_tile(some_unit.pos)
693
+ # ```
694
+ def debug_tile: (
695
+ ?(Api::Unit | Api::Position)? pos,
696
+ ?x: (Float | Integer)?,
697
+ ?y: (Float | Integer)?,
698
+ ?color: Api::Color?,
699
+ ?indent: Float
700
+ ) -> untyped
701
+
693
702
  # Possible values:
694
703
  # Api::DebugGameState::Show_map
695
704
  # Api::DebugGameState::Control_enemy
@@ -1733,6 +1742,35 @@ module Sc2
1733
1742
  # _@param_ `color` — default white
1734
1743
  def debug_draw_sphere: (point: Api::Point, ?radius: Float, ?color: Api::Color?) -> void
1735
1744
 
1745
+ # sord warn - Api::Position wasn't able to be resolved to a constant in this project
1746
+ # sord omit - no YARD return type given, using untyped
1747
+ # Renders a block on the floor, drawn by 4 lines
1748
+ # Pass in either a pos (Position/Unit) or exact x * y coordinates
1749
+ # Optional indentation adds padding on borders inward
1750
+ #
1751
+ # _@param_ `pos`
1752
+ #
1753
+ # _@param_ `x`
1754
+ #
1755
+ # _@param_ `y`
1756
+ #
1757
+ # _@param_ `color`
1758
+ #
1759
+ # _@param_ `indent` — default 0.05. should be lower than < 1.0
1760
+ #
1761
+ # ```ruby
1762
+ # debug_tile(x: 12.3, y: 4.56, color: Api::Color.new(r: 255, g: 0, b: 0))
1763
+ # debug_tile(some_unit)
1764
+ # debug_tile(some_unit.pos)
1765
+ # ```
1766
+ def debug_tile: (
1767
+ ?(Api::Unit | Api::Position)? pos,
1768
+ ?x: (Float | Integer)?,
1769
+ ?y: (Float | Integer)?,
1770
+ ?color: Api::Color?,
1771
+ ?indent: Float
1772
+ ) -> untyped
1773
+
1736
1774
  # Possible values:
1737
1775
  # Api::DebugGameState::Show_map
1738
1776
  # Api::DebugGameState::Control_enemy
@@ -2482,6 +2520,10 @@ module Sc2
2482
2520
  # Fixes mineral_cost_sum, vespene_cost_sum
2483
2521
  def correct_unit_type_sum: () -> untyped
2484
2522
 
2523
+ # sord omit - no YARD return type given, using untyped
2524
+ # Adds placement_length to units if applicable
2525
+ def decorate_unit_type_placement_length: () -> untyped
2526
+
2485
2527
  # sord warn - Api::AbilityData wasn't able to be resolved to a constant in this project
2486
2528
  # _@return_ — AbilityId => AbilityData
2487
2529
  attr_accessor abilities: (::Hash[Integer, Api::AbilityData] | untyped)
@@ -3592,6 +3634,12 @@ module Sc2
3592
3634
  # ```
3593
3635
  def reject_attribute: ((Integer | ::Array[Integer]) attributes) -> UnitGroup
3594
3636
 
3637
+ # Selects units you own
3638
+ # i.e. @bot.all_units.owned # => Units you own
3639
+ #
3640
+ # _@return_ — workers
3641
+ def owned: () -> Sc2::UnitGroup
3642
+
3595
3643
  # Selects worker units
3596
3644
  #
3597
3645
  # _@return_ — workers
@@ -3653,7 +3701,7 @@ module Sc2
3653
3701
  # Selects only units which do not have orders
3654
3702
  def idle: () -> untyped
3655
3703
 
3656
- # Selects units which have this ability available\
3704
+ # Selects units which have this ability available
3657
3705
  # Queries API if necessary
3658
3706
  #
3659
3707
  # _@param_ `ability_id`
@@ -3661,6 +3709,11 @@ module Sc2
3661
3709
  # _@return_ — units which have the ability available
3662
3710
  def ability_available?: (Integer ability_id) -> UnitGroup
3663
3711
 
3712
+ # Checks whether any unit's first order matches these abilities
3713
+ #
3714
+ # _@param_ `ability_ids` — accepts one or an array of Api::AbilityId
3715
+ def is_performing_ability?: ((Integer | ::Array[Integer]) ability_ids) -> bool
3716
+
3664
3717
  # Selects mineral fields
3665
3718
  #
3666
3719
  # _@return_ — mineral fields
@@ -8462,6 +8515,17 @@ module Api
8462
8515
  # _@return_ — this unit from the previous frame or nil if it wasn't present
8463
8516
  def previous: () -> Api::Unit?
8464
8517
 
8518
+ # Returns whether a unit is alive or not
8519
+ # Useful for cached Unit objects to see if they are still relevant.
8520
+ #
8521
+ # _@return_ — alive
8522
+ def is_alive?: () -> bool
8523
+
8524
+ # Replaces protobuf values with latest from game
8525
+ #
8526
+ # _@return_ — true if refreshed or false unchanged
8527
+ def refresh!: () -> bool
8528
+
8465
8529
  # sord warn - Api::Attribute wasn't able to be resolved to a constant in this project
8466
8530
  # Returns static [Api::UnitTypeData] for a unit
8467
8531
  def attributes: () -> ::Array[Api::Attribute]
@@ -8668,7 +8732,12 @@ module Api
8668
8732
  # _@param_ `target` — optionally check if unit is engaged with specific target
8669
8733
  def is_repairing?: (?target: (Api::Unit | Integer)?) -> bool
8670
8734
 
8671
- # Checks whether the unit has
8735
+ # Checks whether a unit is gathering or returning gathered minerals/gas
8736
+ #
8737
+ # _@return_ — true if either gathering or returning, false otherwise
8738
+ def is_harvesting?: () -> bool
8739
+
8740
+ # Checks whether a unit's first order for ability
8672
8741
  #
8673
8742
  # _@param_ `ability_ids` — accepts one or an array of Api::AbilityId
8674
8743
  def is_performing_ability?: ((Integer | ::Array[Integer]) ability_ids) -> bool
@@ -8772,6 +8841,9 @@ module Api
8772
8841
  # For Terran builds a tech lab add-on on the current structure
8773
8842
  def build_tech_lab: (?queue_command: untyped) -> void
8774
8843
 
8844
+ # sord omit - no YARD return type given, using untyped
8845
+ def target_for_addon_placement: () -> untyped
8846
+
8775
8847
  # sord omit - no YARD return type given, using untyped
8776
8848
  # Warps in unit type at target (location or pylon)
8777
8849
  # Only works if the source is a Warp Gate
@@ -9070,6 +9142,9 @@ module Api
9070
9142
  # sord omit - no YARD type given for "other", using untyped
9071
9143
  def eql?: (untyped other) -> bool
9072
9144
 
9145
+ # Returns self
9146
+ def to_p2d: () -> self
9147
+
9073
9148
  # sord omit - no YARD type given for "z:", using untyped
9074
9149
  # Create a new 3d Point, by adding a y axis.
9075
9150
  def to_3d: (?z: untyped) -> Api::Point
@@ -9663,6 +9738,17 @@ module Api
9663
9738
  # _@return_ — this unit from the previous frame or nil if it wasn't present
9664
9739
  def previous: () -> Api::Unit?
9665
9740
 
9741
+ # Returns whether a unit is alive or not
9742
+ # Useful for cached Unit objects to see if they are still relevant.
9743
+ #
9744
+ # _@return_ — alive
9745
+ def is_alive?: () -> bool
9746
+
9747
+ # Replaces protobuf values with latest from game
9748
+ #
9749
+ # _@return_ — true if refreshed or false unchanged
9750
+ def refresh!: () -> bool
9751
+
9666
9752
  # sord warn - Api::Attribute wasn't able to be resolved to a constant in this project
9667
9753
  # Returns static [Api::UnitTypeData] for a unit
9668
9754
  def attributes: () -> ::Array[Api::Attribute]
@@ -9869,7 +9955,12 @@ module Api
9869
9955
  # _@param_ `target` — optionally check if unit is engaged with specific target
9870
9956
  def is_repairing?: (?target: (Api::Unit | Integer)?) -> bool
9871
9957
 
9872
- # Checks whether the unit has
9958
+ # Checks whether a unit is gathering or returning gathered minerals/gas
9959
+ #
9960
+ # _@return_ — true if either gathering or returning, false otherwise
9961
+ def is_harvesting?: () -> bool
9962
+
9963
+ # Checks whether a unit's first order for ability
9873
9964
  #
9874
9965
  # _@param_ `ability_ids` — accepts one or an array of Api::AbilityId
9875
9966
  def is_performing_ability?: ((Integer | ::Array[Integer]) ability_ids) -> bool
@@ -9973,6 +10064,9 @@ module Api
9973
10064
  # For Terran builds a tech lab add-on on the current structure
9974
10065
  def build_tech_lab: (?queue_command: untyped) -> void
9975
10066
 
10067
+ # sord omit - no YARD return type given, using untyped
10068
+ def target_for_addon_placement: () -> untyped
10069
+
9976
10070
  # sord omit - no YARD return type given, using untyped
9977
10071
  # Warps in unit type at target (location or pylon)
9978
10072
  # Only works if the source is a Warp Gate
@@ -9997,7 +10091,6 @@ module Api
9997
10091
 
9998
10092
  # Protobuf virtual class.
9999
10093
  class UnitTypeData < Google::Protobuf::AbstractMessage
10000
- include Api::UnitTypeExtension
10001
10094
  include Api::UnitTypeDataExtension
10002
10095
  end
10003
10096
 
@@ -10074,19 +10167,261 @@ module Api
10074
10167
  end
10075
10168
 
10076
10169
  # Protobuf virtual enum.
10077
- class Race < Google::Protobuf::AbstractMessage
10170
+ module Race
10171
+ NoRace: untyped
10172
+ Terran: untyped
10173
+ Zerg: untyped
10174
+ Protoss: untyped
10175
+ Random: untyped
10078
10176
  end
10079
10177
 
10080
10178
  # Protobuf virtual enum.
10081
- class PlayerType < Google::Protobuf::AbstractMessage
10179
+ module PlayerType
10180
+ Participant: untyped
10181
+ Computer: untyped
10182
+ Observer: untyped
10082
10183
  end
10083
10184
 
10084
10185
  # Protobuf virtual enum.
10085
- class Difficulty < Google::Protobuf::AbstractMessage
10186
+ module Difficulty
10187
+ VeryEasy: untyped
10188
+ Easy: untyped
10189
+ Medium: untyped
10190
+ MediumHard: untyped
10191
+ Hard: untyped
10192
+ Harder: untyped
10193
+ VeryHard: untyped
10194
+ CheatVision: untyped
10195
+ CheatMoney: untyped
10196
+ CheatInsane: untyped
10086
10197
  end
10087
10198
 
10088
10199
  # Protobuf virtual enum.
10089
- class AIBuild < Google::Protobuf::AbstractMessage
10200
+ module AIBuild
10201
+ RandomBuild: untyped
10202
+ Rush: untyped
10203
+ Timing: untyped
10204
+ Power: untyped
10205
+ Macro: untyped
10206
+ Air: untyped
10207
+ end
10208
+
10209
+ # Protobuf virtual enum.
10210
+ module ActionResult
10211
+ Success: untyped
10212
+ NotSupported: untyped
10213
+ Error: untyped
10214
+ CantQueueThatOrder: untyped
10215
+ Retry: untyped
10216
+ Cooldown: untyped
10217
+ QueueIsFull: untyped
10218
+ RallyQueueIsFull: untyped
10219
+ NotEnoughMinerals: untyped
10220
+ NotEnoughVespene: untyped
10221
+ NotEnoughTerrazine: untyped
10222
+ NotEnoughCustom: untyped
10223
+ NotEnoughFood: untyped
10224
+ FoodUsageImpossible: untyped
10225
+ NotEnoughLife: untyped
10226
+ NotEnoughShields: untyped
10227
+ NotEnoughEnergy: untyped
10228
+ LifeSuppressed: untyped
10229
+ ShieldsSuppressed: untyped
10230
+ EnergySuppressed: untyped
10231
+ NotEnoughCharges: untyped
10232
+ CantAddMoreCharges: untyped
10233
+ TooMuchMinerals: untyped
10234
+ TooMuchVespene: untyped
10235
+ TooMuchTerrazine: untyped
10236
+ TooMuchCustom: untyped
10237
+ TooMuchFood: untyped
10238
+ TooMuchLife: untyped
10239
+ TooMuchShields: untyped
10240
+ TooMuchEnergy: untyped
10241
+ MustTargetUnitWithLife: untyped
10242
+ MustTargetUnitWithShields: untyped
10243
+ MustTargetUnitWithEnergy: untyped
10244
+ CantTrade: untyped
10245
+ CantSpend: untyped
10246
+ CantTargetThatUnit: untyped
10247
+ CouldntAllocateUnit: untyped
10248
+ UnitCantMove: untyped
10249
+ TransportIsHoldingPosition: untyped
10250
+ BuildTechRequirementsNotMet: untyped
10251
+ CantFindPlacementLocation: untyped
10252
+ CantBuildOnThat: untyped
10253
+ CantBuildTooCloseToDropOff: untyped
10254
+ CantBuildLocationInvalid: untyped
10255
+ CantSeeBuildLocation: untyped
10256
+ CantBuildTooCloseToCreepSource: untyped
10257
+ CantBuildTooCloseToResources: untyped
10258
+ CantBuildTooFarFromWater: untyped
10259
+ CantBuildTooFarFromCreepSource: untyped
10260
+ CantBuildTooFarFromBuildPowerSource: untyped
10261
+ CantBuildOnDenseTerrain: untyped
10262
+ CantTrainTooFarFromTrainPowerSource: untyped
10263
+ CantLandLocationInvalid: untyped
10264
+ CantSeeLandLocation: untyped
10265
+ CantLandTooCloseToCreepSource: untyped
10266
+ CantLandTooCloseToResources: untyped
10267
+ CantLandTooFarFromWater: untyped
10268
+ CantLandTooFarFromCreepSource: untyped
10269
+ CantLandTooFarFromBuildPowerSource: untyped
10270
+ CantLandTooFarFromTrainPowerSource: untyped
10271
+ CantLandOnDenseTerrain: untyped
10272
+ AddOnTooFarFromBuilding: untyped
10273
+ MustBuildRefineryFirst: untyped
10274
+ BuildingIsUnderConstruction: untyped
10275
+ CantFindDropOff: untyped
10276
+ CantLoadOtherPlayersUnits: untyped
10277
+ NotEnoughRoomToLoadUnit: untyped
10278
+ CantUnloadUnitsThere: untyped
10279
+ CantWarpInUnitsThere: untyped
10280
+ CantLoadImmobileUnits: untyped
10281
+ CantRechargeImmobileUnits: untyped
10282
+ CantRechargeUnderConstructionUnits: untyped
10283
+ CantLoadThatUnit: untyped
10284
+ NoCargoToUnload: untyped
10285
+ LoadAllNoTargetsFound: untyped
10286
+ NotWhileOccupied: untyped
10287
+ CantAttackWithoutAmmo: untyped
10288
+ CantHoldAnyMoreAmmo: untyped
10289
+ TechRequirementsNotMet: untyped
10290
+ MustLockdownUnitFirst: untyped
10291
+ MustTargetUnit: untyped
10292
+ MustTargetInventory: untyped
10293
+ MustTargetVisibleUnit: untyped
10294
+ MustTargetVisibleLocation: untyped
10295
+ MustTargetWalkableLocation: untyped
10296
+ MustTargetPawnableUnit: untyped
10297
+ YouCantControlThatUnit: untyped
10298
+ YouCantIssueCommandsToThatUnit: untyped
10299
+ MustTargetResources: untyped
10300
+ RequiresHealTarget: untyped
10301
+ RequiresRepairTarget: untyped
10302
+ NoItemsToDrop: untyped
10303
+ CantHoldAnyMoreItems: untyped
10304
+ CantHoldThat: untyped
10305
+ TargetHasNoInventory: untyped
10306
+ CantDropThisItem: untyped
10307
+ CantMoveThisItem: untyped
10308
+ CantPawnThisUnit: untyped
10309
+ MustTargetCaster: untyped
10310
+ CantTargetCaster: untyped
10311
+ MustTargetOuter: untyped
10312
+ CantTargetOuter: untyped
10313
+ MustTargetYourOwnUnits: untyped
10314
+ CantTargetYourOwnUnits: untyped
10315
+ MustTargetFriendlyUnits: untyped
10316
+ CantTargetFriendlyUnits: untyped
10317
+ MustTargetNeutralUnits: untyped
10318
+ CantTargetNeutralUnits: untyped
10319
+ MustTargetEnemyUnits: untyped
10320
+ CantTargetEnemyUnits: untyped
10321
+ MustTargetAirUnits: untyped
10322
+ CantTargetAirUnits: untyped
10323
+ MustTargetGroundUnits: untyped
10324
+ CantTargetGroundUnits: untyped
10325
+ MustTargetStructures: untyped
10326
+ CantTargetStructures: untyped
10327
+ MustTargetLightUnits: untyped
10328
+ CantTargetLightUnits: untyped
10329
+ MustTargetArmoredUnits: untyped
10330
+ CantTargetArmoredUnits: untyped
10331
+ MustTargetBiologicalUnits: untyped
10332
+ CantTargetBiologicalUnits: untyped
10333
+ MustTargetHeroicUnits: untyped
10334
+ CantTargetHeroicUnits: untyped
10335
+ MustTargetRoboticUnits: untyped
10336
+ CantTargetRoboticUnits: untyped
10337
+ MustTargetMechanicalUnits: untyped
10338
+ CantTargetMechanicalUnits: untyped
10339
+ MustTargetPsionicUnits: untyped
10340
+ CantTargetPsionicUnits: untyped
10341
+ MustTargetMassiveUnits: untyped
10342
+ CantTargetMassiveUnits: untyped
10343
+ MustTargetMissile: untyped
10344
+ CantTargetMissile: untyped
10345
+ MustTargetWorkerUnits: untyped
10346
+ CantTargetWorkerUnits: untyped
10347
+ MustTargetEnergyCapableUnits: untyped
10348
+ CantTargetEnergyCapableUnits: untyped
10349
+ MustTargetShieldCapableUnits: untyped
10350
+ CantTargetShieldCapableUnits: untyped
10351
+ MustTargetFlyers: untyped
10352
+ CantTargetFlyers: untyped
10353
+ MustTargetBuriedUnits: untyped
10354
+ CantTargetBuriedUnits: untyped
10355
+ MustTargetCloakedUnits: untyped
10356
+ CantTargetCloakedUnits: untyped
10357
+ MustTargetUnitsInAStasisField: untyped
10358
+ CantTargetUnitsInAStasisField: untyped
10359
+ MustTargetUnderConstructionUnits: untyped
10360
+ CantTargetUnderConstructionUnits: untyped
10361
+ MustTargetDeadUnits: untyped
10362
+ CantTargetDeadUnits: untyped
10363
+ MustTargetRevivableUnits: untyped
10364
+ CantTargetRevivableUnits: untyped
10365
+ MustTargetHiddenUnits: untyped
10366
+ CantTargetHiddenUnits: untyped
10367
+ CantRechargeOtherPlayersUnits: untyped
10368
+ MustTargetHallucinations: untyped
10369
+ CantTargetHallucinations: untyped
10370
+ MustTargetInvulnerableUnits: untyped
10371
+ CantTargetInvulnerableUnits: untyped
10372
+ MustTargetDetectedUnits: untyped
10373
+ CantTargetDetectedUnits: untyped
10374
+ CantTargetUnitWithEnergy: untyped
10375
+ CantTargetUnitWithShields: untyped
10376
+ MustTargetUncommandableUnits: untyped
10377
+ CantTargetUncommandableUnits: untyped
10378
+ MustTargetPreventDefeatUnits: untyped
10379
+ CantTargetPreventDefeatUnits: untyped
10380
+ MustTargetPreventRevealUnits: untyped
10381
+ CantTargetPreventRevealUnits: untyped
10382
+ MustTargetPassiveUnits: untyped
10383
+ CantTargetPassiveUnits: untyped
10384
+ MustTargetStunnedUnits: untyped
10385
+ CantTargetStunnedUnits: untyped
10386
+ MustTargetSummonedUnits: untyped
10387
+ CantTargetSummonedUnits: untyped
10388
+ MustTargetUser1: untyped
10389
+ CantTargetUser1: untyped
10390
+ MustTargetUnstoppableUnits: untyped
10391
+ CantTargetUnstoppableUnits: untyped
10392
+ MustTargetResistantUnits: untyped
10393
+ CantTargetResistantUnits: untyped
10394
+ MustTargetDazedUnits: untyped
10395
+ CantTargetDazedUnits: untyped
10396
+ CantLockdown: untyped
10397
+ CantMindControl: untyped
10398
+ MustTargetDestructibles: untyped
10399
+ CantTargetDestructibles: untyped
10400
+ MustTargetItems: untyped
10401
+ CantTargetItems: untyped
10402
+ NoCalldownAvailable: untyped
10403
+ WaypointListFull: untyped
10404
+ MustTargetRace: untyped
10405
+ CantTargetRace: untyped
10406
+ MustTargetSimilarUnits: untyped
10407
+ CantTargetSimilarUnits: untyped
10408
+ CantFindEnoughTargets: untyped
10409
+ AlreadySpawningLarva: untyped
10410
+ CantTargetExhaustedResources: untyped
10411
+ CantUseMinimap: untyped
10412
+ CantUseInfoPanel: untyped
10413
+ OrderQueueIsFull: untyped
10414
+ CantHarvestThatResource: untyped
10415
+ HarvestersNotRequired: untyped
10416
+ AlreadyTargeted: untyped
10417
+ CantAttackWeaponsDisabled: untyped
10418
+ CouldntReachTarget: untyped
10419
+ TargetIsOutOfRange: untyped
10420
+ TargetIsTooClose: untyped
10421
+ TargetIsOutOfArc: untyped
10422
+ CantFindTeleportLocation: untyped
10423
+ InvalidItemClass: untyped
10424
+ CantFindCancelOrder: untyped
10090
10425
  end
10091
10426
 
10092
10427
  # Adds additional functionality to message object Api::Point2D
@@ -10097,6 +10432,9 @@ module Api
10097
10432
  # sord omit - no YARD type given for "other", using untyped
10098
10433
  def eql?: (untyped other) -> bool
10099
10434
 
10435
+ # Returns self
10436
+ def to_p2d: () -> self
10437
+
10100
10438
  # sord omit - no YARD type given for "z:", using untyped
10101
10439
  # Create a new 3d Point, by adding a y axis.
10102
10440
  def to_3d: (?z: untyped) -> Api::Point
@@ -10114,10 +10452,6 @@ module Api
10114
10452
  end
10115
10453
  end
10116
10454
 
10117
- # Adds additional functionality to message object Api::Unit
10118
- module UnitTypeExtension
10119
- end
10120
-
10121
10455
  # Adds additional functionality to message object Api::PowerSource
10122
10456
  module PowerSourceExtension
10123
10457
  include Sc2::Position
@@ -10288,6 +10622,14 @@ module Api
10288
10622
  #
10289
10623
  # _@return_ — sum of vespene gas costs
10290
10624
  attr_accessor vespene_cost_sum: (Integer | untyped)
10625
+
10626
+ # Length of tiles to build.
10627
+ # i.e. 5 for any Base-type (5x5)
10628
+ # i.e. 3 for Barracks (3x3)
10629
+ # i.e. 2 for Supply Depot (2x2)
10630
+ #
10631
+ # _@return_ — side-length for placement
10632
+ attr_accessor placement_length: (Integer | untyped)
10291
10633
  end
10292
10634
 
10293
10635
  # This module make sure that a read from method ability_id always returns the proper source id
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.1.0
4
+ version: 0.2.0
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-09-27 00:00:00.000000000 Z
11
+ date: 2024-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.17.0
19
+ version: '2.20'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.17.0
26
+ version: '2.20'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-websocket
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '1.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '1.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: thor
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.9.2.1
89
+ version: '0.9'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.9.2.1
96
+ version: '0.9'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: numo-linalg
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.7
103
+ version: '0.1'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.1.7
110
+ version: '0.1'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rumale
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -379,7 +379,6 @@ files:
379
379
  - lib/sc2ai/protocol/extensions/position.rb
380
380
  - lib/sc2ai/protocol/extensions/power_source.rb
381
381
  - lib/sc2ai/protocol/extensions/unit.rb
382
- - lib/sc2ai/protocol/extensions/unit_type.rb
383
382
  - lib/sc2ai/protocol/extensions/unit_type_data.rb
384
383
  - lib/sc2ai/protocol/query_pb.rb
385
384
  - lib/sc2ai/protocol/raw_pb.rb
@@ -408,6 +407,7 @@ files:
408
407
  - lib/templates/new/boot.rb.tt
409
408
  - lib/templates/new/my_bot.rb.tt
410
409
  - lib/templates/new/run_example_match.rb.tt
410
+ - sig/minaswan.rbs
411
411
  - sig/sc2ai.rbs
412
412
  homepage: https://sc2ai.pages.dev/
413
413
  licenses:
@@ -425,7 +425,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
425
425
  requirements:
426
426
  - - ">="
427
427
  - !ruby/object:Gem::Version
428
- version: 3.2.5
428
+ version: 3.2.6
429
429
  required_rubygems_version: !ruby/object:Gem::Requirement
430
430
  requirements:
431
431
  - - ">="
@@ -1,9 +0,0 @@
1
- module Api
2
- # Adds additional functionality to message object Api::Unit
3
- module UnitTypeExtension
4
- # def mood
5
- # "Crafty"
6
- # end
7
- end
8
- end
9
- Api::UnitTypeData.prepend Api::UnitTypeExtension