sc2ai 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/docker_build/Dockerfile.ruby +1 -1
- data/lib/sc2ai/api/data.rb +0 -3
- data/lib/sc2ai/connection/requests.rb +26 -11
- data/lib/sc2ai/player/game_state.rb +8 -5
- data/lib/sc2ai/player/geometry.rb +94 -16
- data/lib/sc2ai/player/previous_state.rb +1 -1
- data/lib/sc2ai/player/units.rb +41 -0
- data/lib/sc2ai/player.rb +3 -1
- data/lib/sc2ai/protocol/extensions/ability_remapable.rb +22 -0
- data/lib/sc2ai/protocol/extensions/point.rb +3 -1
- data/lib/sc2ai/protocol/extensions/position.rb +41 -4
- data/lib/sc2ai/protocol/extensions/unit.rb +25 -0
- data/lib/sc2ai/unit_group/filter_ext.rb +12 -1
- data/lib/sc2ai/unit_group/geo_ext.rb +28 -0
- data/lib/sc2ai/unit_group.rb +3 -0
- data/lib/sc2ai/version.rb +1 -1
- data/sig/sc2ai.rbs +274 -62
- metadata +9 -21
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
|
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
|
|
@@ -985,6 +985,10 @@ module Sc2
|
|
985
985
|
# Returns the upgrade ids which are researching or queued
|
986
986
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
987
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
|
+
|
988
992
|
# Returns static [Api::UnitTypeData] for a unit
|
989
993
|
#
|
990
994
|
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
@@ -1102,6 +1106,10 @@ module Sc2
|
|
1102
1106
|
# Returns the upgrade ids which are researching or queued
|
1103
1107
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
1104
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
|
+
|
1105
1113
|
# Returns static [Api::UnitTypeData] for a unit
|
1106
1114
|
#
|
1107
1115
|
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
@@ -1415,6 +1423,10 @@ module Sc2
|
|
1415
1423
|
# Returns the upgrade ids which are researching or queued
|
1416
1424
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
1417
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
|
+
|
1418
1430
|
# Returns static [Api::UnitTypeData] for a unit
|
1419
1431
|
#
|
1420
1432
|
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
@@ -1835,6 +1847,16 @@ module Sc2
|
|
1835
1847
|
# One pixel covers one whole block. Rounds fractionated positions down.
|
1836
1848
|
def parsed_placement_grid: () -> Numo::Bit
|
1837
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
|
+
|
1838
1860
|
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1839
1861
|
# Returns a grid where ony the expo locations are marked
|
1840
1862
|
def expo_placement_grid: () -> Numo::Bit
|
@@ -1891,11 +1913,12 @@ module Sc2
|
|
1891
1913
|
# _@return_ — z axis position between -16 and 16
|
1892
1914
|
def terrain_height: (x: (Float | Integer), y: (Float | Integer)) -> Float
|
1893
1915
|
|
1894
|
-
# sord omit - no YARD type given for "position", using untyped
|
1895
1916
|
# Returns the terrain height (z) at position x and y for a point
|
1896
1917
|
#
|
1918
|
+
# _@param_ `position`
|
1919
|
+
#
|
1897
1920
|
# _@return_ — z axis position between -16 and 16
|
1898
|
-
def terrain_height_for_pos: (
|
1921
|
+
def terrain_height_for_pos: (Sc2::Position position) -> Float
|
1899
1922
|
|
1900
1923
|
# sord warn - Numo::SFloat wasn't able to be resolved to a constant in this project
|
1901
1924
|
# Returns a parsed terrain_height from bot.game_info.start_raw.
|
@@ -1961,6 +1984,7 @@ module Sc2
|
|
1961
1984
|
|
1962
1985
|
# sord warn - Numo::Bit wasn't able to be resolved to a constant in this project
|
1963
1986
|
# Provides parsed minimap representation of creep spread
|
1987
|
+
# Caches for 4 frames
|
1964
1988
|
#
|
1965
1989
|
# _@return_ — Numo array
|
1966
1990
|
def parsed_creep: () -> Numo::Bit
|
@@ -2035,6 +2059,13 @@ module Sc2
|
|
2035
2059
|
# _@return_ — UnitGroup of geysers for the base
|
2036
2060
|
def geysers_for_base: ((Api::Unit | Sc2::Position) base) -> Sc2::UnitGroup
|
2037
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
|
+
|
2038
2069
|
# _@param_ `base` — base Unit or Position
|
2039
2070
|
#
|
2040
2071
|
# _@return_ — UnitGroup of resources (minerals+geysers)
|
@@ -2070,8 +2101,15 @@ module Sc2
|
|
2070
2101
|
#
|
2071
2102
|
# _@param_ `random` — number of nearest points to randomly choose from. 1 for nearest point.
|
2072
2103
|
#
|
2104
|
+
# _@param_ `in_power` — whether this must be on a power field
|
2105
|
+
#
|
2073
2106
|
# _@return_ — buildable location, nil if no buildable location found
|
2074
|
-
def build_placement_near: (
|
2107
|
+
def build_placement_near: (
|
2108
|
+
length: Integer,
|
2109
|
+
target: (Api::Unit | Sc2::Position),
|
2110
|
+
?random: Integer,
|
2111
|
+
?in_power: bool
|
2112
|
+
) -> Api::Point2D?
|
2075
2113
|
|
2076
2114
|
# Draws a grid within a unit (pylon/prisms) radius, then selects points which are placeable
|
2077
2115
|
#
|
@@ -2104,7 +2142,6 @@ module Sc2
|
|
2104
2142
|
?count: Integer
|
2105
2143
|
) -> ::Array[Api::Point2D]
|
2106
2144
|
|
2107
|
-
# sord warn - Sc2::Location wasn't able to be resolved to a constant in this project
|
2108
2145
|
# Gets a random point near a location with a positive/negative offset applied to both x and y
|
2109
2146
|
#
|
2110
2147
|
# _@param_ `pos`
|
@@ -2115,13 +2152,12 @@ module Sc2
|
|
2115
2152
|
# Randomly randomly adjust both x and y by a range of -3.5 or +3.5
|
2116
2153
|
# geo.point_random_near(point: structures.hq.first, offset: 3.5)
|
2117
2154
|
# ```
|
2118
|
-
def point_random_near: (pos: Sc2::
|
2155
|
+
def point_random_near: (pos: Sc2::Position, ?offset: Float) -> Api::Point2D
|
2119
2156
|
|
2120
|
-
# sord warn - Sc2::Location wasn't able to be resolved to a constant in this project
|
2121
2157
|
# _@param_ `pos`
|
2122
2158
|
#
|
2123
2159
|
# _@param_ `radius`
|
2124
|
-
def point_random_on_circle: (pos: Sc2::
|
2160
|
+
def point_random_on_circle: (pos: Sc2::Position, ?radius: Float) -> Api::Point2D
|
2125
2161
|
|
2126
2162
|
# _@return_ — player with active connection
|
2127
2163
|
attr_accessor bot: (Sc2::Player | untyped)
|
@@ -2137,7 +2173,7 @@ module Sc2
|
|
2137
2173
|
def on_status_change: (Symbol status) -> untyped
|
2138
2174
|
|
2139
2175
|
# Determines if your game_info will be refreshed at this moment
|
2140
|
-
# Has a hard-capped refresh of only ever
|
2176
|
+
# Has a hard-capped refresh of only ever 4 steps
|
2141
2177
|
# In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
|
2142
2178
|
def game_info_stale?: () -> bool
|
2143
2179
|
|
@@ -2151,7 +2187,7 @@ module Sc2
|
|
2151
2187
|
attr_accessor status: (Symbol | untyped)
|
2152
2188
|
|
2153
2189
|
# _@return_ — current game loop
|
2154
|
-
attr_accessor game_loop: Integer
|
2190
|
+
attr_accessor game_loop: (Integer | untyped)
|
2155
2191
|
|
2156
2192
|
# sord warn - Api::ResponseGameInfo wasn't able to be resolved to a constant in this project
|
2157
2193
|
# sord warn - Api::ResponseGameInfo wasn't able to be resolved to a constant in this project
|
@@ -2227,6 +2263,10 @@ module Sc2
|
|
2227
2263
|
# Returns the upgrade ids which are researching or queued
|
2228
2264
|
def upgrade_in_progress?: (untyped upgrade_id) -> bool
|
2229
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
|
+
|
2230
2270
|
# Returns static [Api::UnitTypeData] for a unit
|
2231
2271
|
#
|
2232
2272
|
# _@param_ `unit` — Api::UnitTypeId or Api::Unit
|
@@ -2312,7 +2352,7 @@ module Sc2
|
|
2312
2352
|
def on_status_change: (Symbol status) -> untyped
|
2313
2353
|
|
2314
2354
|
# Determines if your game_info will be refreshed at this moment
|
2315
|
-
# Has a hard-capped refresh of only ever
|
2355
|
+
# Has a hard-capped refresh of only ever 4 steps
|
2316
2356
|
# In general game_info is only refreshed Player::Bot reads from pathing_grid or placement_grid
|
2317
2357
|
def game_info_stale?: () -> bool
|
2318
2358
|
|
@@ -2750,21 +2790,17 @@ module Sc2
|
|
2750
2790
|
?ignore_resource_requirements: bool
|
2751
2791
|
) -> Api::ResponseQuery
|
2752
2792
|
|
2753
|
-
# sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
|
2754
2793
|
# sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
|
2755
2794
|
# sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
|
2756
|
-
# sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
|
2757
2795
|
# Queries one or more pathing queries
|
2758
2796
|
#
|
2759
2797
|
# _@param_ `queries` — one or more pathing queries
|
2760
2798
|
#
|
2761
2799
|
# _@return_ — one or more results depending on input size
|
2762
|
-
def query_pathings: (
|
2800
|
+
def query_pathings: (::Array[Api::RequestQueryPathing] queries) -> ::Array[Api::ResponseQueryPathing]
|
2763
2801
|
|
2764
|
-
# sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
2765
2802
|
# sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
2766
2803
|
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
2767
|
-
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
2768
2804
|
# Queries one or more ability-available checks
|
2769
2805
|
#
|
2770
2806
|
# _@param_ `queries` — one or more pathing queries
|
@@ -2772,9 +2808,8 @@ module Sc2
|
|
2772
2808
|
# _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
|
2773
2809
|
#
|
2774
2810
|
# _@return_ — one or more results depending on input size
|
2775
|
-
def query_abilities: (
|
2811
|
+
def query_abilities: (::Array[Api::RequestQueryAvailableAbilities] queries, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
|
2776
2812
|
|
2777
|
-
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
2778
2813
|
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
2779
2814
|
# Queries available abilities for units
|
2780
2815
|
#
|
@@ -2783,18 +2818,26 @@ module Sc2
|
|
2783
2818
|
# _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
|
2784
2819
|
#
|
2785
2820
|
# _@return_ — one or more results depending on input size
|
2786
|
-
def query_abilities_for_unit_tags: (
|
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
|
2787
2832
|
|
2788
|
-
# sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
2789
2833
|
# sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
2790
2834
|
# sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
2791
|
-
# sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
2792
2835
|
# Queries one or more pathing queries
|
2793
2836
|
#
|
2794
2837
|
# _@param_ `queries` — one or more placement queries
|
2795
2838
|
#
|
2796
2839
|
# _@return_ — one or more results depending on input size
|
2797
|
-
def query_placements: (
|
2840
|
+
def query_placements: (::Array[Api::RequestQueryBuildingPlacement] queries) -> ::Array[Api::ResponseQueryBuildingPlacement]
|
2798
2841
|
|
2799
2842
|
# sord omit - no YARD return type given, using untyped
|
2800
2843
|
# Generates a replay.
|
@@ -3051,19 +3094,15 @@ module Sc2
|
|
3051
3094
|
) -> Api::ResponseQuery
|
3052
3095
|
|
3053
3096
|
# sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
|
3054
|
-
# sord warn - Api::RequestQueryPathing wasn't able to be resolved to a constant in this project
|
3055
|
-
# sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
|
3056
3097
|
# sord warn - Api::ResponseQueryPathing wasn't able to be resolved to a constant in this project
|
3057
3098
|
# Queries one or more pathing queries
|
3058
3099
|
#
|
3059
3100
|
# _@param_ `queries` — one or more pathing queries
|
3060
3101
|
#
|
3061
3102
|
# _@return_ — one or more results depending on input size
|
3062
|
-
def query_pathings: (
|
3103
|
+
def query_pathings: (::Array[Api::RequestQueryPathing] queries) -> ::Array[Api::ResponseQueryPathing]
|
3063
3104
|
|
3064
3105
|
# sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
3065
|
-
# sord warn - Api::RequestQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
3066
|
-
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
3067
3106
|
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
3068
3107
|
# Queries one or more ability-available checks
|
3069
3108
|
#
|
@@ -3072,9 +3111,8 @@ module Sc2
|
|
3072
3111
|
# _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
|
3073
3112
|
#
|
3074
3113
|
# _@return_ — one or more results depending on input size
|
3075
|
-
def query_abilities: (
|
3114
|
+
def query_abilities: (::Array[Api::RequestQueryAvailableAbilities] queries, ?ignore_resource_requirements: bool) -> ::Array[Api::ResponseQueryAvailableAbilities]
|
3076
3115
|
|
3077
|
-
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
3078
3116
|
# sord warn - Api::ResponseQueryAvailableAbilities wasn't able to be resolved to a constant in this project
|
3079
3117
|
# Queries available abilities for units
|
3080
3118
|
#
|
@@ -3083,18 +3121,26 @@ module Sc2
|
|
3083
3121
|
# _@param_ `ignore_resource_requirements` — Ignores requirements like food, minerals and so on.
|
3084
3122
|
#
|
3085
3123
|
# _@return_ — one or more results depending on input size
|
3086
|
-
def query_abilities_for_unit_tags: (
|
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
|
3087
3135
|
|
3088
|
-
# sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
3089
3136
|
# sord warn - Api::RequestQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
3090
3137
|
# sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
3091
|
-
# sord warn - Api::ResponseQueryBuildingPlacement wasn't able to be resolved to a constant in this project
|
3092
3138
|
# Queries one or more pathing queries
|
3093
3139
|
#
|
3094
3140
|
# _@param_ `queries` — one or more placement queries
|
3095
3141
|
#
|
3096
3142
|
# _@return_ — one or more results depending on input size
|
3097
|
-
def query_placements: (
|
3143
|
+
def query_placements: (::Array[Api::RequestQueryBuildingPlacement] queries) -> ::Array[Api::ResponseQueryBuildingPlacement]
|
3098
3144
|
|
3099
3145
|
# sord omit - no YARD return type given, using untyped
|
3100
3146
|
# Generates a replay.
|
@@ -3440,6 +3486,10 @@ module Sc2
|
|
3440
3486
|
# Allows, i.e. Player#units.workers to fire only the first time it's called per frame
|
3441
3487
|
def cached: (untyped key) -> untyped
|
3442
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
|
+
|
3443
3493
|
# Our first unit's bot object.
|
3444
3494
|
# Returns nil if units are empty, so use safetly operator bot&.method(...)
|
3445
3495
|
#
|
@@ -3643,6 +3693,10 @@ module Sc2
|
|
3643
3693
|
# _@return_ — gas structures
|
3644
3694
|
def completed: () -> UnitGroup
|
3645
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
|
+
|
3646
3700
|
# Selects mineral fields
|
3647
3701
|
#
|
3648
3702
|
# _@return_ — mineral fields
|
@@ -3697,6 +3751,9 @@ module Sc2
|
|
3697
3751
|
# Selects overlords
|
3698
3752
|
def overlords: () -> Sc2::UnitGroup
|
3699
3753
|
|
3754
|
+
# Selects overseers
|
3755
|
+
def overseers: () -> Sc2::UnitGroup
|
3756
|
+
|
3700
3757
|
# Selects creep tumors (all)
|
3701
3758
|
# CREEPTUMORQUEEN is still building & burrowing
|
3702
3759
|
# while CREEPTUMOR was spread from another tumor still building & burrowing
|
@@ -4131,10 +4188,17 @@ module Sc2
|
|
4131
4188
|
end
|
4132
4189
|
|
4133
4190
|
# A unified construct that tames Api::* messages which contain location data
|
4134
|
-
# Items which are of type Sc2::
|
4191
|
+
# Items which are of type Sc2::Position will have #x and #y property at the least.
|
4135
4192
|
module Position
|
4136
4193
|
TOLERANCE: untyped
|
4137
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
|
+
|
4138
4202
|
# A new point representing the sum of this point and the other point.
|
4139
4203
|
#
|
4140
4204
|
# _@param_ `other` — The other point/number to add.
|
@@ -4155,10 +4219,19 @@ module Sc2
|
|
4155
4219
|
# _@return_ — A new point representing this point divided by the scalar.
|
4156
4220
|
def divide: (Float scalar) -> Api::Point2D
|
4157
4221
|
|
4158
|
-
#
|
4159
|
-
|
4160
|
-
|
4161
|
-
|
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
|
4162
4235
|
|
4163
4236
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
4164
4237
|
#
|
@@ -8749,6 +8822,15 @@ module Api
|
|
8749
8822
|
# sord omit - no YARD return type given, using untyped
|
8750
8823
|
def hash: () -> untyped
|
8751
8824
|
|
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
|
+
|
8752
8834
|
# Returns static [Api::UnitTypeData] for a unit
|
8753
8835
|
def unit_data: () -> Api::UnitTypeData
|
8754
8836
|
|
@@ -8827,6 +8909,15 @@ module Api
|
|
8827
8909
|
# _@return_ — whether unit has attribute :Summoned
|
8828
8910
|
def is_summoned?: () -> bool
|
8829
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
|
+
|
8830
8921
|
# sord omit - no YARD return type given, using untyped
|
8831
8922
|
# Performs action on this unit
|
8832
8923
|
#
|
@@ -9176,6 +9267,13 @@ module Api
|
|
9176
9267
|
# Creates a Point2D using x and y
|
9177
9268
|
def to_p2d: () -> Api::Point2D
|
9178
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
|
+
|
9179
9277
|
# A new point representing the sum of this point and the other point.
|
9180
9278
|
#
|
9181
9279
|
# _@param_ `other` — The other point/number to add.
|
@@ -9196,10 +9294,19 @@ module Api
|
|
9196
9294
|
# _@return_ — A new point representing this point divided by the scalar.
|
9197
9295
|
def divide: (Float scalar) -> Api::Point2D
|
9198
9296
|
|
9199
|
-
#
|
9200
|
-
|
9201
|
-
|
9202
|
-
|
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
|
9203
9310
|
|
9204
9311
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
9205
9312
|
#
|
@@ -9318,6 +9425,13 @@ module Api
|
|
9318
9425
|
# Create a new 3d Point, by adding a y axis.
|
9319
9426
|
def to_3d: (z: untyped) -> Api::Point
|
9320
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
|
+
|
9321
9435
|
# A new point representing the sum of this point and the other point.
|
9322
9436
|
#
|
9323
9437
|
# _@param_ `other` — The other point/number to add.
|
@@ -9338,10 +9452,19 @@ module Api
|
|
9338
9452
|
# _@return_ — A new point representing this point divided by the scalar.
|
9339
9453
|
def divide: (Float scalar) -> Api::Point2D
|
9340
9454
|
|
9341
|
-
#
|
9342
|
-
|
9343
|
-
|
9344
|
-
|
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
|
9345
9468
|
|
9346
9469
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
9347
9470
|
#
|
@@ -9439,6 +9562,13 @@ module Api
|
|
9439
9562
|
class PointI < Google::Protobuf::AbstractMessage
|
9440
9563
|
include Sc2::Position
|
9441
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
|
+
|
9442
9572
|
# A new point representing the sum of this point and the other point.
|
9443
9573
|
#
|
9444
9574
|
# _@param_ `other` — The other point/number to add.
|
@@ -9459,10 +9589,19 @@ module Api
|
|
9459
9589
|
# _@return_ — A new point representing this point divided by the scalar.
|
9460
9590
|
def divide: (Float scalar) -> Api::Point2D
|
9461
9591
|
|
9462
|
-
#
|
9463
|
-
|
9464
|
-
|
9465
|
-
|
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
|
9466
9605
|
|
9467
9606
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
9468
9607
|
#
|
@@ -9571,6 +9710,13 @@ module Api
|
|
9571
9710
|
# ```
|
9572
9711
|
def self.[]: (untyped x, untyped y, untyped z) -> Api::Point
|
9573
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
|
+
|
9574
9720
|
# A new point representing the sum of this point and the other point.
|
9575
9721
|
#
|
9576
9722
|
# _@param_ `other` — The other point/number to add.
|
@@ -9591,10 +9737,19 @@ module Api
|
|
9591
9737
|
# _@return_ — A new point representing this point divided by the scalar.
|
9592
9738
|
def divide: (Float scalar) -> Api::Point2D
|
9593
9739
|
|
9594
|
-
#
|
9595
|
-
|
9596
|
-
|
9597
|
-
|
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
|
9598
9753
|
|
9599
9754
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
9600
9755
|
#
|
@@ -9692,6 +9847,13 @@ module Api
|
|
9692
9847
|
class Size2DI < Google::Protobuf::AbstractMessage
|
9693
9848
|
include Sc2::Position
|
9694
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
|
+
|
9695
9857
|
# A new point representing the sum of this point and the other point.
|
9696
9858
|
#
|
9697
9859
|
# _@param_ `other` — The other point/number to add.
|
@@ -9712,10 +9874,19 @@ module Api
|
|
9712
9874
|
# _@return_ — A new point representing this point divided by the scalar.
|
9713
9875
|
def divide: (Float scalar) -> Api::Point2D
|
9714
9876
|
|
9715
|
-
#
|
9716
|
-
|
9717
|
-
|
9718
|
-
|
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
|
9719
9890
|
|
9720
9891
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
9721
9892
|
#
|
@@ -9816,6 +9987,15 @@ module Api
|
|
9816
9987
|
# sord omit - no YARD return type given, using untyped
|
9817
9988
|
def hash: () -> untyped
|
9818
9989
|
|
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
|
+
|
9819
9999
|
# Returns static [Api::UnitTypeData] for a unit
|
9820
10000
|
def unit_data: () -> Api::UnitTypeData
|
9821
10001
|
|
@@ -9894,6 +10074,15 @@ module Api
|
|
9894
10074
|
# _@return_ — whether unit has attribute :Summoned
|
9895
10075
|
def is_summoned?: () -> bool
|
9896
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
|
+
|
9897
10086
|
# sord omit - no YARD return type given, using untyped
|
9898
10087
|
# Performs action on this unit
|
9899
10088
|
#
|
@@ -10175,6 +10364,13 @@ module Api
|
|
10175
10364
|
module PowerSourceExtension
|
10176
10365
|
include Sc2::Position
|
10177
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
|
+
|
10178
10374
|
# A new point representing the sum of this point and the other point.
|
10179
10375
|
#
|
10180
10376
|
# _@param_ `other` — The other point/number to add.
|
@@ -10195,10 +10391,19 @@ module Api
|
|
10195
10391
|
# _@return_ — A new point representing this point divided by the scalar.
|
10196
10392
|
def divide: (Float scalar) -> Api::Point2D
|
10197
10393
|
|
10198
|
-
#
|
10199
|
-
|
10200
|
-
|
10201
|
-
|
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
|
10202
10407
|
|
10203
10408
|
# Randomly adjusts both x and y by a range of: -offset..offset
|
10204
10409
|
#
|
@@ -10320,6 +10525,13 @@ module Api
|
|
10320
10525
|
# _@return_ — sum of vespene gas costs
|
10321
10526
|
attr_accessor vespene_cost_sum: (Integer | untyped)
|
10322
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
|
10323
10535
|
end
|
10324
10536
|
|
10325
10537
|
# Array extensions
|