sc2ai 0.4.3 → 0.5.0
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/sc2ai/local_play/client.rb +1 -1
- data/lib/sc2ai/local_play/match.rb +1 -0
- data/lib/sc2ai/overrides/async/process/child.rb +2 -1
- data/lib/sc2ai/paths.rb +0 -1
- data/lib/sc2ai/player.rb +9 -0
- data/lib/sc2ai/protocol/common_pb.rb +208 -77
- data/lib/sc2ai/protocol/data_pb.rb +514 -304
- data/lib/sc2ai/protocol/debug_pb.rb +544 -198
- data/lib/sc2ai/protocol/error_pb.rb +430 -862
- data/lib/sc2ai/protocol/extensions/action.rb +1 -1
- data/lib/sc2ai/protocol/extensions/color.rb +1 -1
- data/lib/sc2ai/protocol/extensions/point.rb +1 -1
- data/lib/sc2ai/protocol/extensions/point_2_d.rb +1 -1
- data/lib/sc2ai/protocol/extensions/point_distance.rb +4 -4
- data/lib/sc2ai/protocol/extensions/position.rb +20 -0
- data/lib/sc2ai/protocol/extensions/power_source.rb +1 -1
- data/lib/sc2ai/protocol/extensions/unit.rb +1 -1
- data/lib/sc2ai/protocol/extensions/unit_type_data.rb +1 -1
- data/lib/sc2ai/protocol/query_pb.rb +270 -56
- data/lib/sc2ai/protocol/raw_pb.rb +917 -341
- data/lib/sc2ai/protocol/sc2api_pb.rb +2901 -1079
- data/lib/sc2ai/protocol/score_pb.rb +300 -87
- data/lib/sc2ai/protocol/spatial_pb.rb +611 -109
- data/lib/sc2ai/protocol/ui_pb.rb +717 -214
- data/lib/sc2ai/version.rb +1 -1
- data/sig/sc2ai.rbs +1361 -23
- metadata +2 -2
|
@@ -143,7 +143,7 @@ module Api
|
|
|
143
143
|
|
|
144
144
|
unknown_bytes = +"".b
|
|
145
145
|
val = tag
|
|
146
|
-
|
|
146
|
+
loop do
|
|
147
147
|
byte = val & 0x7F
|
|
148
148
|
|
|
149
149
|
val >>= 7
|
|
@@ -154,6 +154,7 @@ module Api
|
|
|
154
154
|
|
|
155
155
|
byte |= 0x80 if val != 0
|
|
156
156
|
unknown_bytes << byte
|
|
157
|
+
break if val == 0
|
|
157
158
|
end
|
|
158
159
|
|
|
159
160
|
case wire_type
|
|
@@ -228,7 +229,7 @@ module Api
|
|
|
228
229
|
end
|
|
229
230
|
|
|
230
231
|
val = value
|
|
231
|
-
|
|
232
|
+
loop do
|
|
232
233
|
byte = val & 0x7F
|
|
233
234
|
|
|
234
235
|
val >>= 7
|
|
@@ -239,6 +240,7 @@ module Api
|
|
|
239
240
|
|
|
240
241
|
byte |= 0x80 if val != 0
|
|
241
242
|
unknown_bytes << byte
|
|
243
|
+
break if val == 0
|
|
242
244
|
end
|
|
243
245
|
|
|
244
246
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -938,15 +940,15 @@ module Api
|
|
|
938
940
|
end
|
|
939
941
|
end
|
|
940
942
|
|
|
941
|
-
|
|
942
|
-
|
|
943
|
+
if has_ignore_resource_requirements?
|
|
944
|
+
val = @ignore_resource_requirements
|
|
943
945
|
buff << 0x20
|
|
944
946
|
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
947
|
+
if val == true
|
|
948
|
+
buff << 1
|
|
949
|
+
elsif val == false
|
|
950
|
+
buff << 0
|
|
951
|
+
end
|
|
950
952
|
end
|
|
951
953
|
buff << @_unknown_fields if @_unknown_fields
|
|
952
954
|
buff
|
|
@@ -954,14 +956,44 @@ module Api
|
|
|
954
956
|
|
|
955
957
|
def to_h
|
|
956
958
|
result = {}
|
|
957
|
-
|
|
958
|
-
result["
|
|
959
|
-
result["
|
|
959
|
+
|
|
960
|
+
result[:"pathing"] = @pathing.map(&:to_h)
|
|
961
|
+
result[:"abilities"] = @abilities.map(&:to_h)
|
|
962
|
+
result[:"placements"] = @placements.map(&:to_h)
|
|
963
|
+
result[:"ignore_resource_requirements"] = @ignore_resource_requirements
|
|
964
|
+
|
|
965
|
+
result
|
|
966
|
+
end
|
|
967
|
+
|
|
968
|
+
def as_json(options = {})
|
|
969
|
+
result = {}
|
|
970
|
+
|
|
971
|
+
tmp_pathing = @pathing.map { |v| v.as_json(options) }
|
|
972
|
+
|
|
973
|
+
result["pathing"] = tmp_pathing if !options[:compact] || tmp_pathing.any?
|
|
974
|
+
|
|
975
|
+
tmp_abilities = @abilities.map { |v| v.as_json(options) }
|
|
976
|
+
|
|
977
|
+
result["abilities"] = tmp_abilities if !options[:compact] ||
|
|
978
|
+
tmp_abilities.any?
|
|
979
|
+
|
|
980
|
+
tmp_placements = @placements.map { |v| v.as_json(options) }
|
|
981
|
+
|
|
982
|
+
result["placements"] = tmp_placements if !options[:compact] ||
|
|
983
|
+
tmp_placements.any?
|
|
984
|
+
|
|
960
985
|
result[
|
|
961
|
-
"
|
|
962
|
-
] = @ignore_resource_requirements
|
|
986
|
+
"ignoreResourceRequirements"
|
|
987
|
+
] = @ignore_resource_requirements if !options[:compact] ||
|
|
988
|
+
has_ignore_resource_requirements?
|
|
989
|
+
|
|
963
990
|
result
|
|
964
991
|
end
|
|
992
|
+
|
|
993
|
+
def to_json(as_json_options = {})
|
|
994
|
+
require "json"
|
|
995
|
+
JSON.dump(as_json(as_json_options))
|
|
996
|
+
end
|
|
965
997
|
end
|
|
966
998
|
class ResponseQuery
|
|
967
999
|
def self.decode(buff)
|
|
@@ -1070,7 +1102,7 @@ module Api
|
|
|
1070
1102
|
|
|
1071
1103
|
unknown_bytes = +"".b
|
|
1072
1104
|
val = tag
|
|
1073
|
-
|
|
1105
|
+
loop do
|
|
1074
1106
|
byte = val & 0x7F
|
|
1075
1107
|
|
|
1076
1108
|
val >>= 7
|
|
@@ -1081,6 +1113,7 @@ module Api
|
|
|
1081
1113
|
|
|
1082
1114
|
byte |= 0x80 if val != 0
|
|
1083
1115
|
unknown_bytes << byte
|
|
1116
|
+
break if val == 0
|
|
1084
1117
|
end
|
|
1085
1118
|
|
|
1086
1119
|
case wire_type
|
|
@@ -1155,7 +1188,7 @@ module Api
|
|
|
1155
1188
|
end
|
|
1156
1189
|
|
|
1157
1190
|
val = value
|
|
1158
|
-
|
|
1191
|
+
loop do
|
|
1159
1192
|
byte = val & 0x7F
|
|
1160
1193
|
|
|
1161
1194
|
val >>= 7
|
|
@@ -1166,6 +1199,7 @@ module Api
|
|
|
1166
1199
|
|
|
1167
1200
|
byte |= 0x80 if val != 0
|
|
1168
1201
|
unknown_bytes << byte
|
|
1202
|
+
break if val == 0
|
|
1169
1203
|
end
|
|
1170
1204
|
|
|
1171
1205
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -1809,11 +1843,38 @@ module Api
|
|
|
1809
1843
|
|
|
1810
1844
|
def to_h
|
|
1811
1845
|
result = {}
|
|
1812
|
-
|
|
1813
|
-
result["
|
|
1814
|
-
result["
|
|
1846
|
+
|
|
1847
|
+
result[:"pathing"] = @pathing.map(&:to_h)
|
|
1848
|
+
result[:"abilities"] = @abilities.map(&:to_h)
|
|
1849
|
+
result[:"placements"] = @placements.map(&:to_h)
|
|
1850
|
+
|
|
1815
1851
|
result
|
|
1816
1852
|
end
|
|
1853
|
+
|
|
1854
|
+
def as_json(options = {})
|
|
1855
|
+
result = {}
|
|
1856
|
+
|
|
1857
|
+
tmp_pathing = @pathing.map { |v| v.as_json(options) }
|
|
1858
|
+
|
|
1859
|
+
result["pathing"] = tmp_pathing if !options[:compact] || tmp_pathing.any?
|
|
1860
|
+
|
|
1861
|
+
tmp_abilities = @abilities.map { |v| v.as_json(options) }
|
|
1862
|
+
|
|
1863
|
+
result["abilities"] = tmp_abilities if !options[:compact] ||
|
|
1864
|
+
tmp_abilities.any?
|
|
1865
|
+
|
|
1866
|
+
tmp_placements = @placements.map { |v| v.as_json(options) }
|
|
1867
|
+
|
|
1868
|
+
result["placements"] = tmp_placements if !options[:compact] ||
|
|
1869
|
+
tmp_placements.any?
|
|
1870
|
+
|
|
1871
|
+
result
|
|
1872
|
+
end
|
|
1873
|
+
|
|
1874
|
+
def to_json(as_json_options = {})
|
|
1875
|
+
require "json"
|
|
1876
|
+
JSON.dump(as_json(as_json_options))
|
|
1877
|
+
end
|
|
1817
1878
|
end
|
|
1818
1879
|
class RequestQueryPathing
|
|
1819
1880
|
def self.decode(buff)
|
|
@@ -1971,7 +2032,7 @@ module Api
|
|
|
1971
2032
|
|
|
1972
2033
|
unknown_bytes = +"".b
|
|
1973
2034
|
val = tag
|
|
1974
|
-
|
|
2035
|
+
loop do
|
|
1975
2036
|
byte = val & 0x7F
|
|
1976
2037
|
|
|
1977
2038
|
val >>= 7
|
|
@@ -1982,6 +2043,7 @@ module Api
|
|
|
1982
2043
|
|
|
1983
2044
|
byte |= 0x80 if val != 0
|
|
1984
2045
|
unknown_bytes << byte
|
|
2046
|
+
break if val == 0
|
|
1985
2047
|
end
|
|
1986
2048
|
|
|
1987
2049
|
case wire_type
|
|
@@ -2056,7 +2118,7 @@ module Api
|
|
|
2056
2118
|
end
|
|
2057
2119
|
|
|
2058
2120
|
val = value
|
|
2059
|
-
|
|
2121
|
+
loop do
|
|
2060
2122
|
byte = val & 0x7F
|
|
2061
2123
|
|
|
2062
2124
|
val >>= 7
|
|
@@ -2067,6 +2129,7 @@ module Api
|
|
|
2067
2129
|
|
|
2068
2130
|
byte |= 0x80 if val != 0
|
|
2069
2131
|
unknown_bytes << byte
|
|
2132
|
+
break if val == 0
|
|
2070
2133
|
end
|
|
2071
2134
|
|
|
2072
2135
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -2524,11 +2587,12 @@ module Api
|
|
|
2524
2587
|
if val != 0
|
|
2525
2588
|
buff << 0x10
|
|
2526
2589
|
|
|
2527
|
-
|
|
2590
|
+
loop do
|
|
2528
2591
|
byte = val & 0x7F
|
|
2529
2592
|
val >>= 7
|
|
2530
2593
|
byte |= 0x80 if val > 0
|
|
2531
2594
|
buff << byte
|
|
2595
|
+
break if val == 0
|
|
2532
2596
|
end
|
|
2533
2597
|
end
|
|
2534
2598
|
|
|
@@ -2585,10 +2649,44 @@ module Api
|
|
|
2585
2649
|
|
|
2586
2650
|
def to_h
|
|
2587
2651
|
result = {}
|
|
2588
|
-
|
|
2589
|
-
|
|
2652
|
+
|
|
2653
|
+
resolved_start = self.start
|
|
2654
|
+
|
|
2655
|
+
result[:"start_pos"] = @start_pos.to_h if resolved_start == :"start_pos"
|
|
2656
|
+
result[:"unit_tag"] = @unit_tag if resolved_start == :"unit_tag"
|
|
2657
|
+
result[:"end_pos"] = @end_pos.to_h
|
|
2658
|
+
|
|
2590
2659
|
result
|
|
2591
2660
|
end
|
|
2661
|
+
|
|
2662
|
+
def as_json(options = {})
|
|
2663
|
+
result = {}
|
|
2664
|
+
|
|
2665
|
+
resolved_start = self.start
|
|
2666
|
+
|
|
2667
|
+
result["startPos"] = (
|
|
2668
|
+
if @start_pos.nil?
|
|
2669
|
+
{}
|
|
2670
|
+
else
|
|
2671
|
+
@start_pos.as_json(options)
|
|
2672
|
+
end
|
|
2673
|
+
) if resolved_start == :"start_pos"
|
|
2674
|
+
result["unitTag"] = @unit_tag if resolved_start == :"unit_tag"
|
|
2675
|
+
result["endPos"] = (
|
|
2676
|
+
if @end_pos.nil?
|
|
2677
|
+
{}
|
|
2678
|
+
else
|
|
2679
|
+
@end_pos.as_json(options)
|
|
2680
|
+
end
|
|
2681
|
+
) if !options[:compact] || has_end_pos?
|
|
2682
|
+
|
|
2683
|
+
result
|
|
2684
|
+
end
|
|
2685
|
+
|
|
2686
|
+
def to_json(as_json_options = {})
|
|
2687
|
+
require "json"
|
|
2688
|
+
JSON.dump(as_json(as_json_options))
|
|
2689
|
+
end
|
|
2592
2690
|
end
|
|
2593
2691
|
class ResponseQueryPathing
|
|
2594
2692
|
def self.decode(buff)
|
|
@@ -2698,7 +2796,7 @@ module Api
|
|
|
2698
2796
|
|
|
2699
2797
|
unknown_bytes = +"".b
|
|
2700
2798
|
val = tag
|
|
2701
|
-
|
|
2799
|
+
loop do
|
|
2702
2800
|
byte = val & 0x7F
|
|
2703
2801
|
|
|
2704
2802
|
val >>= 7
|
|
@@ -2709,6 +2807,7 @@ module Api
|
|
|
2709
2807
|
|
|
2710
2808
|
byte |= 0x80 if val != 0
|
|
2711
2809
|
unknown_bytes << byte
|
|
2810
|
+
break if val == 0
|
|
2712
2811
|
end
|
|
2713
2812
|
|
|
2714
2813
|
case wire_type
|
|
@@ -2783,7 +2882,7 @@ module Api
|
|
|
2783
2882
|
end
|
|
2784
2883
|
|
|
2785
2884
|
val = value
|
|
2786
|
-
|
|
2885
|
+
loop do
|
|
2787
2886
|
byte = val & 0x7F
|
|
2788
2887
|
|
|
2789
2888
|
val >>= 7
|
|
@@ -2794,6 +2893,7 @@ module Api
|
|
|
2794
2893
|
|
|
2795
2894
|
byte |= 0x80 if val != 0
|
|
2796
2895
|
unknown_bytes << byte
|
|
2896
|
+
break if val == 0
|
|
2797
2897
|
end
|
|
2798
2898
|
|
|
2799
2899
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -2924,7 +3024,7 @@ module Api
|
|
|
2924
3024
|
end
|
|
2925
3025
|
def _encode(buff)
|
|
2926
3026
|
val = @distance
|
|
2927
|
-
if
|
|
3027
|
+
if has_distance?
|
|
2928
3028
|
buff << 0x0d
|
|
2929
3029
|
|
|
2930
3030
|
[val].pack("e", buffer: buff)
|
|
@@ -2935,9 +3035,24 @@ module Api
|
|
|
2935
3035
|
|
|
2936
3036
|
def to_h
|
|
2937
3037
|
result = {}
|
|
2938
|
-
|
|
3038
|
+
|
|
3039
|
+
result[:"distance"] = @distance
|
|
3040
|
+
|
|
3041
|
+
result
|
|
3042
|
+
end
|
|
3043
|
+
|
|
3044
|
+
def as_json(options = {})
|
|
3045
|
+
result = {}
|
|
3046
|
+
|
|
3047
|
+
result["distance"] = @distance if !options[:compact] || has_distance?
|
|
3048
|
+
|
|
2939
3049
|
result
|
|
2940
3050
|
end
|
|
3051
|
+
|
|
3052
|
+
def to_json(as_json_options = {})
|
|
3053
|
+
require "json"
|
|
3054
|
+
JSON.dump(as_json(as_json_options))
|
|
3055
|
+
end
|
|
2941
3056
|
end
|
|
2942
3057
|
class RequestQueryAvailableAbilities
|
|
2943
3058
|
def self.decode(buff)
|
|
@@ -3056,7 +3171,7 @@ module Api
|
|
|
3056
3171
|
|
|
3057
3172
|
unknown_bytes = +"".b
|
|
3058
3173
|
val = tag
|
|
3059
|
-
|
|
3174
|
+
loop do
|
|
3060
3175
|
byte = val & 0x7F
|
|
3061
3176
|
|
|
3062
3177
|
val >>= 7
|
|
@@ -3067,6 +3182,7 @@ module Api
|
|
|
3067
3182
|
|
|
3068
3183
|
byte |= 0x80 if val != 0
|
|
3069
3184
|
unknown_bytes << byte
|
|
3185
|
+
break if val == 0
|
|
3070
3186
|
end
|
|
3071
3187
|
|
|
3072
3188
|
case wire_type
|
|
@@ -3141,7 +3257,7 @@ module Api
|
|
|
3141
3257
|
end
|
|
3142
3258
|
|
|
3143
3259
|
val = value
|
|
3144
|
-
|
|
3260
|
+
loop do
|
|
3145
3261
|
byte = val & 0x7F
|
|
3146
3262
|
|
|
3147
3263
|
val >>= 7
|
|
@@ -3152,6 +3268,7 @@ module Api
|
|
|
3152
3268
|
|
|
3153
3269
|
byte |= 0x80 if val != 0
|
|
3154
3270
|
unknown_bytes << byte
|
|
3271
|
+
break if val == 0
|
|
3155
3272
|
end
|
|
3156
3273
|
|
|
3157
3274
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -3332,14 +3449,15 @@ module Api
|
|
|
3332
3449
|
end
|
|
3333
3450
|
def _encode(buff)
|
|
3334
3451
|
val = @unit_tag
|
|
3335
|
-
if
|
|
3452
|
+
if has_unit_tag?
|
|
3336
3453
|
buff << 0x08
|
|
3337
3454
|
|
|
3338
|
-
|
|
3455
|
+
loop do
|
|
3339
3456
|
byte = val & 0x7F
|
|
3340
3457
|
val >>= 7
|
|
3341
3458
|
byte |= 0x80 if val > 0
|
|
3342
3459
|
buff << byte
|
|
3460
|
+
break if val == 0
|
|
3343
3461
|
end
|
|
3344
3462
|
end
|
|
3345
3463
|
buff << @_unknown_fields if @_unknown_fields
|
|
@@ -3348,9 +3466,24 @@ module Api
|
|
|
3348
3466
|
|
|
3349
3467
|
def to_h
|
|
3350
3468
|
result = {}
|
|
3351
|
-
|
|
3469
|
+
|
|
3470
|
+
result[:"unit_tag"] = @unit_tag
|
|
3471
|
+
|
|
3352
3472
|
result
|
|
3353
3473
|
end
|
|
3474
|
+
|
|
3475
|
+
def as_json(options = {})
|
|
3476
|
+
result = {}
|
|
3477
|
+
|
|
3478
|
+
result["unitTag"] = @unit_tag if !options[:compact] || has_unit_tag?
|
|
3479
|
+
|
|
3480
|
+
result
|
|
3481
|
+
end
|
|
3482
|
+
|
|
3483
|
+
def to_json(as_json_options = {})
|
|
3484
|
+
require "json"
|
|
3485
|
+
JSON.dump(as_json(as_json_options))
|
|
3486
|
+
end
|
|
3354
3487
|
end
|
|
3355
3488
|
class ResponseQueryAvailableAbilities
|
|
3356
3489
|
def self.decode(buff)
|
|
@@ -3506,7 +3639,7 @@ module Api
|
|
|
3506
3639
|
|
|
3507
3640
|
unknown_bytes = +"".b
|
|
3508
3641
|
val = tag
|
|
3509
|
-
|
|
3642
|
+
loop do
|
|
3510
3643
|
byte = val & 0x7F
|
|
3511
3644
|
|
|
3512
3645
|
val >>= 7
|
|
@@ -3517,6 +3650,7 @@ module Api
|
|
|
3517
3650
|
|
|
3518
3651
|
byte |= 0x80 if val != 0
|
|
3519
3652
|
unknown_bytes << byte
|
|
3653
|
+
break if val == 0
|
|
3520
3654
|
end
|
|
3521
3655
|
|
|
3522
3656
|
case wire_type
|
|
@@ -3591,7 +3725,7 @@ module Api
|
|
|
3591
3725
|
end
|
|
3592
3726
|
|
|
3593
3727
|
val = value
|
|
3594
|
-
|
|
3728
|
+
loop do
|
|
3595
3729
|
byte = val & 0x7F
|
|
3596
3730
|
|
|
3597
3731
|
val >>= 7
|
|
@@ -3602,6 +3736,7 @@ module Api
|
|
|
3602
3736
|
|
|
3603
3737
|
byte |= 0x80 if val != 0
|
|
3604
3738
|
unknown_bytes << byte
|
|
3739
|
+
break if val == 0
|
|
3605
3740
|
end
|
|
3606
3741
|
|
|
3607
3742
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -4079,26 +4214,28 @@ module Api
|
|
|
4079
4214
|
end
|
|
4080
4215
|
|
|
4081
4216
|
val = @unit_tag
|
|
4082
|
-
if
|
|
4217
|
+
if has_unit_tag?
|
|
4083
4218
|
buff << 0x10
|
|
4084
4219
|
|
|
4085
|
-
|
|
4220
|
+
loop do
|
|
4086
4221
|
byte = val & 0x7F
|
|
4087
4222
|
val >>= 7
|
|
4088
4223
|
byte |= 0x80 if val > 0
|
|
4089
4224
|
buff << byte
|
|
4225
|
+
break if val == 0
|
|
4090
4226
|
end
|
|
4091
4227
|
end
|
|
4092
4228
|
|
|
4093
4229
|
val = @unit_type_id
|
|
4094
|
-
if
|
|
4230
|
+
if has_unit_type_id?
|
|
4095
4231
|
buff << 0x18
|
|
4096
4232
|
|
|
4097
|
-
|
|
4233
|
+
loop do
|
|
4098
4234
|
byte = val & 0x7F
|
|
4099
4235
|
val >>= 7
|
|
4100
4236
|
byte |= 0x80 if val > 0
|
|
4101
4237
|
buff << byte
|
|
4238
|
+
break if val == 0
|
|
4102
4239
|
end
|
|
4103
4240
|
end
|
|
4104
4241
|
buff << @_unknown_fields if @_unknown_fields
|
|
@@ -4107,11 +4244,33 @@ module Api
|
|
|
4107
4244
|
|
|
4108
4245
|
def to_h
|
|
4109
4246
|
result = {}
|
|
4110
|
-
|
|
4111
|
-
result["
|
|
4112
|
-
result["
|
|
4247
|
+
|
|
4248
|
+
result[:"abilities"] = @abilities.map(&:to_h)
|
|
4249
|
+
result[:"unit_tag"] = @unit_tag
|
|
4250
|
+
result[:"unit_type_id"] = @unit_type_id
|
|
4251
|
+
|
|
4252
|
+
result
|
|
4253
|
+
end
|
|
4254
|
+
|
|
4255
|
+
def as_json(options = {})
|
|
4256
|
+
result = {}
|
|
4257
|
+
|
|
4258
|
+
tmp_abilities = @abilities.map { |v| v.as_json(options) }
|
|
4259
|
+
|
|
4260
|
+
result["abilities"] = tmp_abilities if !options[:compact] ||
|
|
4261
|
+
tmp_abilities.any?
|
|
4262
|
+
|
|
4263
|
+
result["unitTag"] = @unit_tag if !options[:compact] || has_unit_tag?
|
|
4264
|
+
result["unitTypeId"] = @unit_type_id if !options[:compact] ||
|
|
4265
|
+
has_unit_type_id?
|
|
4266
|
+
|
|
4113
4267
|
result
|
|
4114
4268
|
end
|
|
4269
|
+
|
|
4270
|
+
def to_json(as_json_options = {})
|
|
4271
|
+
require "json"
|
|
4272
|
+
JSON.dump(as_json(as_json_options))
|
|
4273
|
+
end
|
|
4115
4274
|
end
|
|
4116
4275
|
class RequestQueryBuildingPlacement
|
|
4117
4276
|
def self.decode(buff)
|
|
@@ -4278,7 +4437,7 @@ module Api
|
|
|
4278
4437
|
|
|
4279
4438
|
unknown_bytes = +"".b
|
|
4280
4439
|
val = tag
|
|
4281
|
-
|
|
4440
|
+
loop do
|
|
4282
4441
|
byte = val & 0x7F
|
|
4283
4442
|
|
|
4284
4443
|
val >>= 7
|
|
@@ -4289,6 +4448,7 @@ module Api
|
|
|
4289
4448
|
|
|
4290
4449
|
byte |= 0x80 if val != 0
|
|
4291
4450
|
unknown_bytes << byte
|
|
4451
|
+
break if val == 0
|
|
4292
4452
|
end
|
|
4293
4453
|
|
|
4294
4454
|
case wire_type
|
|
@@ -4363,7 +4523,7 @@ module Api
|
|
|
4363
4523
|
end
|
|
4364
4524
|
|
|
4365
4525
|
val = value
|
|
4366
|
-
|
|
4526
|
+
loop do
|
|
4367
4527
|
byte = val & 0x7F
|
|
4368
4528
|
|
|
4369
4529
|
val >>= 7
|
|
@@ -4374,6 +4534,7 @@ module Api
|
|
|
4374
4534
|
|
|
4375
4535
|
byte |= 0x80 if val != 0
|
|
4376
4536
|
unknown_bytes << byte
|
|
4537
|
+
break if val == 0
|
|
4377
4538
|
end
|
|
4378
4539
|
|
|
4379
4540
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -4787,10 +4948,10 @@ module Api
|
|
|
4787
4948
|
end
|
|
4788
4949
|
def _encode(buff)
|
|
4789
4950
|
val = @ability_id
|
|
4790
|
-
if
|
|
4951
|
+
if has_ability_id?
|
|
4791
4952
|
buff << 0x08
|
|
4792
4953
|
|
|
4793
|
-
|
|
4954
|
+
loop do
|
|
4794
4955
|
byte = val & 0x7F
|
|
4795
4956
|
|
|
4796
4957
|
val >>= 7
|
|
@@ -4801,6 +4962,7 @@ module Api
|
|
|
4801
4962
|
|
|
4802
4963
|
byte |= 0x80 if val != 0
|
|
4803
4964
|
buff << byte
|
|
4965
|
+
break if val == 0
|
|
4804
4966
|
end
|
|
4805
4967
|
end
|
|
4806
4968
|
|
|
@@ -4853,14 +5015,15 @@ module Api
|
|
|
4853
5015
|
end
|
|
4854
5016
|
|
|
4855
5017
|
val = @placing_unit_tag
|
|
4856
|
-
if
|
|
5018
|
+
if has_placing_unit_tag?
|
|
4857
5019
|
buff << 0x18
|
|
4858
5020
|
|
|
4859
|
-
|
|
5021
|
+
loop do
|
|
4860
5022
|
byte = val & 0x7F
|
|
4861
5023
|
val >>= 7
|
|
4862
5024
|
byte |= 0x80 if val > 0
|
|
4863
5025
|
buff << byte
|
|
5026
|
+
break if val == 0
|
|
4864
5027
|
end
|
|
4865
5028
|
end
|
|
4866
5029
|
buff << @_unknown_fields if @_unknown_fields
|
|
@@ -4869,11 +5032,35 @@ module Api
|
|
|
4869
5032
|
|
|
4870
5033
|
def to_h
|
|
4871
5034
|
result = {}
|
|
4872
|
-
|
|
4873
|
-
result["
|
|
4874
|
-
result["
|
|
5035
|
+
|
|
5036
|
+
result[:"ability_id"] = @ability_id
|
|
5037
|
+
result[:"target_pos"] = @target_pos.to_h
|
|
5038
|
+
result[:"placing_unit_tag"] = @placing_unit_tag
|
|
5039
|
+
|
|
4875
5040
|
result
|
|
4876
5041
|
end
|
|
5042
|
+
|
|
5043
|
+
def as_json(options = {})
|
|
5044
|
+
result = {}
|
|
5045
|
+
|
|
5046
|
+
result["abilityId"] = @ability_id if !options[:compact] || has_ability_id?
|
|
5047
|
+
result["targetPos"] = (
|
|
5048
|
+
if @target_pos.nil?
|
|
5049
|
+
{}
|
|
5050
|
+
else
|
|
5051
|
+
@target_pos.as_json(options)
|
|
5052
|
+
end
|
|
5053
|
+
) if !options[:compact] || has_target_pos?
|
|
5054
|
+
result["placingUnitTag"] = @placing_unit_tag if !options[:compact] ||
|
|
5055
|
+
has_placing_unit_tag?
|
|
5056
|
+
|
|
5057
|
+
result
|
|
5058
|
+
end
|
|
5059
|
+
|
|
5060
|
+
def to_json(as_json_options = {})
|
|
5061
|
+
require "json"
|
|
5062
|
+
JSON.dump(as_json(as_json_options))
|
|
5063
|
+
end
|
|
4877
5064
|
end
|
|
4878
5065
|
class ResponseQueryBuildingPlacement
|
|
4879
5066
|
def self.decode(buff)
|
|
@@ -4892,9 +5079,12 @@ module Api
|
|
|
4892
5079
|
# enum writers
|
|
4893
5080
|
def result=(v)
|
|
4894
5081
|
@result = Api::ActionResult.resolve(v) || v
|
|
5082
|
+
@_bitmask |= 0x0000000000000001
|
|
4895
5083
|
end
|
|
4896
5084
|
|
|
4897
5085
|
def initialize(result: nil)
|
|
5086
|
+
@_bitmask = 0
|
|
5087
|
+
|
|
4898
5088
|
if result == nil
|
|
4899
5089
|
@result = 0
|
|
4900
5090
|
else
|
|
@@ -4907,7 +5097,13 @@ module Api
|
|
|
4907
5097
|
self.class.encode(self)
|
|
4908
5098
|
end
|
|
4909
5099
|
|
|
5100
|
+
def has_result?
|
|
5101
|
+
(@_bitmask & 0x0000000000000001) == 0x0000000000000001
|
|
5102
|
+
end
|
|
5103
|
+
|
|
4910
5104
|
def decode_from(buff, index, len)
|
|
5105
|
+
@_bitmask = 0
|
|
5106
|
+
|
|
4911
5107
|
@result = 0
|
|
4912
5108
|
|
|
4913
5109
|
return self if index >= len
|
|
@@ -4972,7 +5168,7 @@ module Api
|
|
|
4972
5168
|
|
|
4973
5169
|
unknown_bytes = +"".b
|
|
4974
5170
|
val = tag
|
|
4975
|
-
|
|
5171
|
+
loop do
|
|
4976
5172
|
byte = val & 0x7F
|
|
4977
5173
|
|
|
4978
5174
|
val >>= 7
|
|
@@ -4983,6 +5179,7 @@ module Api
|
|
|
4983
5179
|
|
|
4984
5180
|
byte |= 0x80 if val != 0
|
|
4985
5181
|
unknown_bytes << byte
|
|
5182
|
+
break if val == 0
|
|
4986
5183
|
end
|
|
4987
5184
|
|
|
4988
5185
|
case wire_type
|
|
@@ -5057,7 +5254,7 @@ module Api
|
|
|
5057
5254
|
end
|
|
5058
5255
|
|
|
5059
5256
|
val = value
|
|
5060
|
-
|
|
5257
|
+
loop do
|
|
5061
5258
|
byte = val & 0x7F
|
|
5062
5259
|
|
|
5063
5260
|
val >>= 7
|
|
@@ -5068,6 +5265,7 @@ module Api
|
|
|
5068
5265
|
|
|
5069
5266
|
byte |= 0x80 if val != 0
|
|
5070
5267
|
unknown_bytes << byte
|
|
5268
|
+
break if val == 0
|
|
5071
5269
|
end
|
|
5072
5270
|
|
|
5073
5271
|
unknown_bytes << buff.byteslice(index, value)
|
|
@@ -5260,10 +5458,10 @@ module Api
|
|
|
5260
5458
|
end
|
|
5261
5459
|
def _encode(buff)
|
|
5262
5460
|
val = @result
|
|
5263
|
-
if
|
|
5461
|
+
if has_result?
|
|
5264
5462
|
buff << 0x08
|
|
5265
5463
|
|
|
5266
|
-
|
|
5464
|
+
loop do
|
|
5267
5465
|
byte = val & 0x7F
|
|
5268
5466
|
|
|
5269
5467
|
val >>= 7
|
|
@@ -5274,6 +5472,7 @@ module Api
|
|
|
5274
5472
|
|
|
5275
5473
|
byte |= 0x80 if val != 0
|
|
5276
5474
|
buff << byte
|
|
5475
|
+
break if val == 0
|
|
5277
5476
|
end
|
|
5278
5477
|
end
|
|
5279
5478
|
buff << @_unknown_fields if @_unknown_fields
|
|
@@ -5282,8 +5481,23 @@ module Api
|
|
|
5282
5481
|
|
|
5283
5482
|
def to_h
|
|
5284
5483
|
result = {}
|
|
5285
|
-
|
|
5484
|
+
|
|
5485
|
+
result[:"result"] = @result
|
|
5486
|
+
|
|
5487
|
+
result
|
|
5488
|
+
end
|
|
5489
|
+
|
|
5490
|
+
def as_json(options = {})
|
|
5491
|
+
result = {}
|
|
5492
|
+
|
|
5493
|
+
result["result"] = @result if !options[:compact] || has_result?
|
|
5494
|
+
|
|
5286
5495
|
result
|
|
5287
5496
|
end
|
|
5497
|
+
|
|
5498
|
+
def to_json(as_json_options = {})
|
|
5499
|
+
require "json"
|
|
5500
|
+
JSON.dump(as_json(as_json_options))
|
|
5501
|
+
end
|
|
5288
5502
|
end
|
|
5289
5503
|
end
|