sc2ai 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|