Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-06-05 11:22:51 +08:00
commit 68ce55cd67
40 changed files with 913 additions and 424 deletions

View File

@ -2,138 +2,140 @@ id MapId Logic Values Score
int int int mut,int#int,2 int
1 100 2 10001|1 50
2 100 1 100011|1 50
3 101 2 10101|1 15
4 101 1 101030#101032#101033#101034|1 15
5 101 1 101094#101095#101096|1 15
6 101 1 101078#101080#101082#101084#101086#101088#101090#101091#101092#101103|1 15
7 101 7 0|1 10
3 101 2 10101|1 10
4 101 1 101030#101032#101033#101034|1 10
5 101 1 101094#101095#101096|1 10
6 101 1 101078#101080#101082#101084#101086#101088#101090#101091#101092#101103|1 10
7 101 7 0|1 5
8 101 7 0|3 10
9 101 7 0|5 20
10 102 2 10204#10205|1 30
11 102 1 102024#102026#102028#102029#102030#102160#102162|1 15
12 102 1 102090#102092#102094#102096#102098#102100#102102#102104#102105#102106#102142#102144#102146#102148#102150#102151#102152|1 20
13 102 1 102108#102110#102112#102114#102116#102118#102119#102120#102168|1 15
14 102 2 10206|5 20
15 103 2 10304|1 20
16 103 1 103014#103016#103018#103020#103022#103024#103026#103028#103029#103030|1 15
17 103 1 103042#103044#103045#103046|1 10
18 103 1 103078#103080#103082#103084#103086#103088#103090#103091#103092|1 20
19 103 1 103102#103104#103106#103108#103110#103112#103114#103116#103118#103120#103121#103122#103124#103126#103128#103129#103130|1 10
20 103 7 0|1 10
21 103 7 0|3 15
22 104 2 10401|1 15
23 104 1 104008#104010#104012#104014#104015#104016|1 20
24 104 1 104036#104037#104042#104043|1 20
25 104 1 104070#104071#104072#104073#104074#104075|1 20
26 104 7 0|1 10
27 104 7 0|3 15
28 105 1 105002#105004#105006#105008#105010#105012#105014#105016#105017#105018|1 20
29 105 1 105115#105116#105120|1 25
30 105 1 105117#105118|1 30
31 105 7 0|1 10
32 105 7 0|3 15
33 106 1 106002#106004#106006#106007#106008|1 10
34 106 2 10601|1 20
35 106 2 10602|1 20
36 106 1 106066#106068#106070#106072#106074#106075#106076#106098#106100#106101#106102|1 10
37 106 7 0|1 10
38 106 7 0|3 10
39 106 7 0|5 20
40 107 2 10701|1 10
41 107 2 10702|1 25
42 107 2 10703|1 15
43 107 1 107106#107108#107110#107112#107114#107115#107116|1 25
44 107 7 0|1 10
45 107 7 0|3 15
46 108 1 108018#108020#108022#108024#108026#108028#108030#108032#108033#108034|1 20
47 108 2 10802|1 25
48 108 1 108058#108060#108062#108064#108066#108068#108070#108072#108073#108074|1 30
49 108 7 0|1 10
50 108 7 0|3 15
51 109 2 10901|1 10
52 109 2 10902|1 25
53 109 2 10903|3 20
54 109 1 109042#109044#109046#109048#109050#109052#109054#109056#109058#109059#109060|1 20
55 109 7 0|1 10
56 109 7 0|3 15
57 110 2 110002#110004#110006#110008#110010#110012#110014#110016#110018#110019#110020|1 15
58 110 2 110068#110070#110072#110074#110076#110078#110080#110082#110084#110086#110088#110089#110090|1 20
59 110 1 110093#110107|1 20
60 110 3 110095#110096#110109#110110|1 20
61 110 7 0|1 10
62 110 7 0|3 15
63 111 1 111002#111004#111006#111007#111008|1 10
64 111 1 111024#111025#111026#111033#111034#111044#111046#111048#111050#111051#111052|3 25
65 111 1 111054#111056#111058#111060#111062#111064#111066#111068#111070#111072#111073#111074|1 20
66 111 1 111080#111082#111083#111084|1 20
67 111 7 0|1 10
68 111 7 0|3 15
69 112 2 11201|1 15
70 112 2 11202#11203#11204|3 40
71 112 1 112072#112074#112075#112076|1 20
72 112 7 0|2 10
73 112 7 0|4 15
74 113 2 11301|1 15
75 113 2 11302|1 20
76 113 2 11303|1 20
77 113 1 113062#113064#113066#113068#113070#113072#113074#113076#113078#113079#113080|1 20
78 113 7 0|1 10
79 113 7 0|3 15
80 114 1 114022#114024#114026#114028#114030#114032#114034#114036#114038#114040#114042#114044#114045#114046|1 10
81 114 1 114052#114054#114056#114058#114060#114061#114062|1 20
82 114 1 114064#114066#114068#114070#114072#114074#114076#114078#114080#114082#114083#114084|1 20
83 114 2 11402|5 25
84 114 7 0|1 10
85 114 7 0|3 15
86 115 1 115002#115004#115006#115008#115010#115012#115014#115015#115016|1 10
87 115 1 115027#115028|1 15
88 115 2 11501|1 15
89 115 2 11503|1 20
90 115 1 115094#115096#115098#115100#115102#115104#115105#115106|1 15
91 115 7 0|2 10
92 115 7 0|4 15
93 201 2 201007|1 40
94 201 2 201008|1 60
95 202 2 202007|1 40
96 202 2 202008|1 60
97 203 2 203007|1 30
98 203 2 203008|1 30
99 203 2 203009|1 40
100 204 2 204007|1 30
101 204 2 204008|1 30
102 204 2 204009|1 40
103 205 2 205007|1 10
104 205 2 205008|1 20
105 205 2 205009|1 30
106 205 2 205010|1 40
107 206 2 206007|1 30
108 206 2 206008|1 30
109 206 2 206009|1 40
110 207 2 207007|1 10
111 207 2 207008|1 20
112 207 2 207009|1 30
113 207 2 207010|1 40
114 208 2 208007|1 40
115 208 2 208008|1 60
116 209 2 209007|1 30
117 209 2 209008|1 30
118 209 2 209009|1 40
119 210 2 210007|1 10
120 210 2 210008|1 20
121 210 2 210009|1 30
122 210 2 210010|1 40
123 211 2 211007|1 30
124 211 2 211008|1 30
125 211 2 211009|1 40
126 212 2 212007|1 30
127 212 2 212008|1 30
128 212 2 212009|1 40
129 213 2 213007|1 40
130 213 2 213008|1 60
131 214 2 214007|1 10
132 214 2 214008|1 20
133 214 2 214009|1 30
134 214 2 214010|1 40
135 215 2 215007|1 30
136 215 2 215008|1 30
137 215 2 215009|1 40
9 101 7 0|5 15
10 101 7 0|7 20
11 101 3 0|10 10
12 102 2 10204#10205|1 30
13 102 1 102024#102026#102028#102029#102030#102160#102162|1 15
14 102 1 102090#102092#102094#102096#102098#102100#102102#102104#102105#102106#102142#102144#102146#102148#102150#102151#102152|1 20
15 102 1 102108#102110#102112#102114#102116#102118#102119#102120#102168|1 15
16 102 2 10206|5 20
17 103 2 10304|1 20
18 103 1 103014#103016#103018#103020#103022#103024#103026#103028#103029#103030|1 15
19 103 1 103042#103044#103045#103046|1 10
20 103 1 103078#103080#103082#103084#103086#103088#103090#103091#103092|1 20
21 103 1 103102#103104#103106#103108#103110#103112#103114#103116#103118#103120#103121#103122#103124#103126#103128#103129#103130|1 10
22 103 7 0|1 10
23 103 7 0|3 15
24 104 2 10401|1 15
25 104 1 104010#104012#104014#104015#104016|1 20
26 104 1 104036#104037#104042#104043|1 20
27 104 1 104070#104071#104072#104073#104074#104075|1 20
28 104 7 0|1 10
29 104 7 0|3 15
30 105 1 105002#105004#105006#105008#105010#105012#105014#105016#105017#105018|1 20
31 105 1 105115#105116#105120|1 25
32 105 1 105117#105118|1 30
33 105 7 0|1 10
34 105 7 0|3 15
35 106 1 106002#106004#106006#106007#106008|1 10
36 106 2 10601|1 20
37 106 2 10602|1 20
38 106 1 106066#106068#106070#106072#106074#106075#106076#106098#106100#106101#106102|1 10
39 106 7 0|1 10
40 106 7 0|3 10
41 106 7 0|5 20
42 107 2 10701|1 10
43 107 2 10702|1 25
44 107 2 10703|1 15
45 107 1 107106#107108#107110#107112#107114#107115#107116|1 25
46 107 7 0|1 10
47 107 7 0|3 15
48 108 1 108018#108020#108022#108024#108026#108028#108030#108032#108033#108034|1 20
49 108 2 10802|1 25
50 108 1 108058#108060#108062#108064#108066#108068#108070#108072#108073#108074|1 30
51 108 7 0|1 10
52 108 7 0|3 15
53 109 2 10901|1 10
54 109 2 10902|1 25
55 109 2 10903|3 20
56 109 1 109042#109044#109046#109048#109050#109052#109054#109056#109058#109059#109060|1 20
57 109 7 0|1 10
58 109 7 0|3 15
59 110 2 110002#110004#110006#110008#110010#110012#110014#110016#110018#110019#110020|1 15
60 110 2 110068#110070#110072#110074#110076#110078#110080#110082#110084#110086#110088#110089#110090|1 20
61 110 1 110093#110107|1 20
62 110 3 110095#110096#110109#110110|1 20
63 110 7 0|1 10
64 110 7 0|3 15
65 111 1 111002#111004#111006#111007#111008|1 10
66 111 1 111024#111025#111026#111033#111034#111044#111046#111048#111050#111051#111052|3 25
67 111 1 111054#111056#111058#111060#111062#111064#111066#111068#111070#111072#111073#111074|1 20
68 111 1 111080#111082#111083#111084|1 20
69 111 7 0|1 10
70 111 7 0|3 15
71 112 2 11201|1 15
72 112 2 11202#11203#11204|3 40
73 112 1 112072#112074#112075#112076|1 20
74 112 7 0|2 10
75 112 7 0|4 15
76 113 2 11301|1 15
77 113 2 11302|1 20
78 113 2 11303|1 20
79 113 1 113062#113064#113066#113068#113070#113072#113074#113076#113078#113079#113080|1 20
80 113 7 0|1 10
81 113 7 0|3 15
82 114 1 114022#114024#114026#114028#114030#114032#114034#114036#114038#114040#114042#114044#114045#114046|1 10
83 114 1 114052#114054#114056#114058#114060#114061#114062|1 20
84 114 1 114064#114066#114068#114070#114072#114074#114076#114078#114080#114082#114083#114084|1 20
85 114 2 11402|5 25
86 114 7 0|1 10
87 114 7 0|3 15
88 115 1 115002#115004#115006#115008#115010#115012#115014#115015#115016|1 10
89 115 1 115027#115028|1 15
90 115 2 11501|1 15
91 115 2 11503|1 20
92 115 1 115094#115096#115098#115100#115102#115104#115105#115106|1 15
93 115 7 0|2 10
94 115 7 0|4 15
95 201 2 201007|1 40
96 201 2 201008|1 60
97 202 2 202007|1 40
98 202 2 202008|1 60
99 203 2 203007|1 30
100 203 2 203008|1 30
101 203 2 203009|1 40
102 204 2 204007|1 30
103 204 2 204008|1 30
104 204 2 204009|1 40
105 205 2 205007|1 10
106 205 2 205008|1 20
107 205 2 205009|1 30
108 205 2 205010|1 40
109 206 2 206007|1 30
110 206 2 206008|1 30
111 206 2 206009|1 40
112 207 2 207007|1 10
113 207 2 207008|1 20
114 207 2 207009|1 30
115 207 2 207010|1 40
116 208 2 208007|1 40
117 208 2 208008|1 60
118 209 2 209007|1 30
119 209 2 209008|1 30
120 209 2 209009|1 40
121 210 2 210007|1 10
122 210 2 210008|1 20
123 210 2 210009|1 30
124 210 2 210010|1 40
125 211 2 211007|1 30
126 211 2 211008|1 30
127 211 2 211009|1 40
128 212 2 212007|1 30
129 212 2 212008|1 30
130 212 2 212009|1 40
131 213 2 213007|1 40
132 213 2 213008|1 60
133 214 2 214007|1 10
134 214 2 214008|1 20
135 214 2 214009|1 30
136 214 2 214010|1 40
137 215 2 215007|1 30
138 215 2 215008|1 30
139 215 2 215009|1 40

View File

@ -284,6 +284,13 @@ int
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
10001
10002
10003

View File

@ -1,7 +1,7 @@
Id Type OpenRule Time MapTime ReviveTime MostTime Deaths
int int mut,int#int,2 int int mut,int#int,1 int int
100 1 0#0 240 2147483647 0#0#0#10 600 3
101 1 1051#0 120 600 0#0#0#10 300 3
100 1 0#0 240 2147483647 0#0#0#10 600 2
101 1 1051#0 120 600 0#0#0#10 300 2
102 1 2051#0 180 600 0#0#0#10 300 3
103 1 3051#0 180 600 0#0#0#10 300 3
104 1 4051#0 240 600 0#0#0#10 300 3

View File

@ -0,0 +1,9 @@
Id Type Values Reward
int int mut,int#int,1 mut,int#int,2
4 23 0#5 3#100
5 24 0#5 14#10000
6 25 0#5 3#100
7 26 0#10 14#10000
8 27 0#5 3#100
9 28 0#10 14#10000
10 29 0#10 3#100

View File

@ -95,6 +95,14 @@ int mut,int#int,1
101053 101101
101054 null
101055 101102#101103
101056 101104#101105
101057 101106#101107
101058 101108#101109
101059 101110#101111
101060 101112
101061 10104
101062 10105
101063 101113
102001 102001#102002
102002 102003#102004
102003 102005#102006
@ -861,6 +869,14 @@ int mut,int#int,1
201004 201007#201008
201005 201009#201010
201006 201011#201012
201007 201013#201014
201008 201015#201016
201009 201017#201018
201010 201019#201020#201021#201022
201011 201023#201024
201012 201025#201026
201013 201027#201028
201014 201029#201030
202001 202001#202002
202002 202003#202004
202003 202005#202006

View File

@ -27,3 +27,4 @@ int mut,int#int,1 int string string string string int
25 2#1 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000
26 2#1 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000
27 2#1 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000
28 2#9 1 20190210 080000 20290210 080000 20190210 080000 20290210 080000

View File

@ -20,6 +20,11 @@ int int int int int mut,int#int,2
101011 7 2 2 101052 null
101012 7 2 2 101053 null
101013 6 2 2 101054 1#900|0#100
101014 5 2 2 101056 null
101015 7 2 2 101060 null
101016 1 2 1 101061 null
101017 1 2 1 101062 null
101018 7 2 2 101063 null
0 0 0 0 0 null
102001 5 2 2 102001 null
102002 5 2 2 102016 null

View File

@ -7,6 +7,8 @@ int mut,int#int,2 mut,int#int,1
10101 10101 40001#40001
10102 10102 40001
10103 10104#10103#10105 3001
10104 1012131#1012132#1012133 3001
10105 1014131#1014132#1014133 40001
10201 10201 40002#40002
10202 10202 3006
10203 10202#10203|10204 40002

View File

@ -81,39 +81,39 @@ int int int mut,int#int,2 mut,int#int,1 int mut,int#int,2
101027 0 0 null null 1 101015
101028 0 0 null null 1 101015
101029 0 1 10101 null 1 101016
101030 0 32 10101#101002|101#2#15#101004|101#12#9#101003 null 4 null
101030 0 32 10101#101002|101#2#15#101004|101#11#9#101003 null 4 null
101031 0 0 null null 1 101017
101032 0 35 101002|101#2#15#101004|101#12#9#101003 null 4 null
101032 0 35 101002|101#2#15#101004|101#11#9#101003 null 4 null
101033 0 11 2|101#2#15#101004 null 1 101018
101034 0 35 101002|101#2#15#101004|101#12#9#101003 null 4 null
101034 0 35 101002|101#2#15#101004|101#11#9#101003 null 4 null
101035 0 0 null null 1 101019
101036 0 17 2#101002|101#2#15#101004|101#12#9#101003 null 4 null
101036 0 17 2#101002|101#2#15#101004|101#11#9#101003 null 4 null
101037 0 0 null null 1 101020
101038 0 17 2#101002|101#2#15#101004|101#12#9#101003 null 4 null
101038 0 17 2#101002|101#2#15#101004|101#11#9#101003 null 4 null
101039 0 0 null null 1 101021
101040 0 17 2#101002|101#2#15#101004|101#12#9#101003 null 4 null
101040 0 17 2#101002|101#2#15#101004|101#11#9#101003 null 4 null
101041 0 0 null null 1 101022
101042 0 17 2#101002|101#2#15#101004|101#12#9#101003 null 4 null
101043 0 17 2#101002|101#2#15#101004|101#12#9#101003 null 4 null
101044 0 17 2#101002|101#2#15#101004|101#12#9#101003 null 4 null
101042 0 17 2#101002|101#2#15#101004|101#11#9#101003 null 4 null
101043 0 17 2#101002|101#2#15#101004|101#11#9#101003 null 4 null
101044 0 17 2#101002|101#2#15#101004|101#11#9#101003 null 4 null
101045 0 0 null null 1 101024
101046 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101046 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101047 0 0 null null 1 101025
101048 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101048 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101049 0 0 null null 1 101026
101050 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101050 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101051 0 0 null null 1 101027
101052 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101052 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101053 0 0 null null 1 101028
101054 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101054 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101055 0 0 null null 1 101029
101056 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101056 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101057 0 13 2 null 1 101030
101058 0 35 101003|101#3#16#101006|101#1#10#101006 null 4 null
101058 0 35 101003|101#6#18#101006|101#2#10#101006 null 4 null
101059 0 0 null null 1 101031
101060 0 17 2#101003|101#3#16#101006|101#1#10#101006 null 4 null
101061 0 17 2#101003|101#3#16#101006|101#1#10#101006 null 4 null
101062 0 17 2#101003|101#3#16#101006|101#1#10#101006 null 4 null
101060 0 17 2#101003|101#6#18#101006|101#2#10#101006 null 4 null
101061 0 17 2#101003|101#6#18#101006|101#2#10#101006 null 4 null
101062 0 17 2#101003|101#6#18#101006|101#2#10#101006 null 4 null
101063 0 0 null null 1 101033
101064 0 0 null null 1 101033
101065 0 1 10102 null 1 101034
@ -145,9 +145,9 @@ int int int mut,int#int,2 mut,int#int,1 int mut,int#int,2
101091 0 9 2 null 4 null
101092 0 9 2 null 4 null
101093 0 1 10103 null 1 101048
101094 0 33 10103#101006|101#12#9#101005 null 4 null
101095 0 17 2#101006|101#12#9#101005 null 4 null
101096 0 17 2#101006|101#12#9#101005 null 4 null
101094 0 33 10103#101006|101#11#9#101005 null 4 null
101095 0 17 2#101006|101#11#9#101005 null 4 null
101096 0 17 2#101006|101#11#9#101005 null 4 null
101097 0 15 101008 40001 4 null
101098 0 15 101009 40001 4 null
101099 0 15 101010 40001 4 null
@ -155,6 +155,16 @@ int int int mut,int#int,2 mut,int#int,1 int mut,int#int,2
101101 0 15 101012 40001 4 null
101102 0 0 null null 1 101042
101103 0 9 2 null 4 null
101104 0 0 null null 1 101057
101105 0 0 null null 1 101059
101106 0 0 null null 1 101058
101107 0 0 null null 1 101059
101108 0 0 null null 1 101059
101109 0 0 null null 1 101059
101110 0 15 101014 55013 4 null
101111 0 15 101014 55012 4 null
101112 0 15 101015 40001#40001 4 null
101113 0 15 101018 40001#40001 4 null
102001 0 0 null null 1 102002
102002 0 0 null null 1 102082
102003 0 0 null null 1 102003

View File

@ -807,8 +807,8 @@ int int mut,int#int,1 int int
55009 1 50409 1 0
55010 1 50410 1 0
55011 1 50411 1 0
55012 1 50411 1 0
55013 1 32050 1 0
55012 1 50412 1 0
55013 1 50413 1 0
55014 1 6038 1 0
55015 1 50412 1 0
55016 1 50413 1 0

View File

@ -1375,8 +1375,8 @@ int int int float int int
50409 1524 100 1.0 1 1
50410 1525 100 1.0 10 10
50411 1526 100 1.0 2 3
50412 1526 100 1.0 1 1
50413 1527 100 1.0 1 1
50412 14 100 1.0 600 900
50413 3 100 1.0 60 90
50414 1528 100 1.0 1 1
50415 1529 100 1.0 1 1
50416 1530 100 1.0 1 1

View File

@ -8,40 +8,40 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
6 30001#0.7 13 3#0.1#1#10 0.0
1000001 40001#0.7 1#13 1#1|3#0.2#1#5 0.0
1000002 20000#0.7 2#3 0.8#2|1#1#4 2.5
1000111 20001#0.7|20000#0.7 1|3 0.85#1|1#3#10 0
1000112 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 0.85#1|1#3#10|3#0.15#6#2|2#0.15#4#1 0
1000113 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 0.85#1|1#3#20|3#0.2#6#2|2#0.2#6#1 0
1000114 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 1.08#1|1#3#20|3#0.3#6#2|2#0.3#6#1 0
1000111 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 0.58#1|0.8#3#10|3#0.15#4#2|2#0.15#4#2 0
1000112 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 0.70#1|0.8#3#10|3#0.15#4#2|2#0.15#4#2 0
1000113 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 0.85#1|0.8#3#20|3#0.2#4#2|2#0.2#4#2 0
1000114 20001#0.7|20000#0.7|30601#0.7|30501#0.7 1|3|4|4 1.08#1|1#3#20|3#0.3#6#2|2#0.3#6#2 0
1000115 null null null 0
1000121 20002#0.7|20001#0.7 1|3 1.65#1|0.4#1#3 5.0
1000122 20002#0.7|20001#0.7 1|3 1.85#1|0.4#1#3 5.0
1000123 20002#0.7|20001#0.7 1|3 1.85#1|0.6#1#4 5.0
1000124 20002#0.7|20001#0.7 1|3 2.05#1|0.6#1#5 5.0
1000121 20002#0.7|20001#0.7 2|3 1.65#1|0.4#1#3 5.0
1000122 20002#0.7|20001#0.7 2|3 1.85#1|0.4#1#3 5.0
1000123 20002#0.7|20001#0.7 2|3 1.95#1|0.5#1#4 5.0
1000124 20002#0.7|20001#0.7 2|3 2.05#1|0.6#1#5 5.0
1000125 null null null 5.0
1000211 20001#0.7|20000#0.7 1|3 1.05#1|0.8#3#10 0
1000212 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.05#1|0.8#3#10|1#0.1#4#1 0
1000213 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.05#1|0.8#3#20|1#0.15#4#1 0
1000214 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.35#1|0.8#3#20|1#0.2#6#1 0
1000211 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.05#1|0.8#3#5|1#0.1#4#2 0
1000212 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.15#1|0.8#3#5|1#0.1#4#2 0
1000213 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.15#1|0.8#3#10|1#0.15#4#2 0
1000214 20001#0.7|20000#0.7|30301#0.7 1|3|4 1.35#1|0.8#3#10|1#0.2#6#2 0
1000215 null null null 0
1000221 20002#0.7|20001#0.7 1|9 1.35#1|12#0.4#4#0.35 5.0
1000222 20002#0.7|20001#0.7 1|9 1.35#1|12#0.4#4#0.45 5.0
1000223 20002#0.7|20001#0.7 1|9 1.35#1|12#0.5#5#0.45 5.0
1000224 20002#0.7|20001#0.7 1|9 1.66#1|12#0.6#6#0.45 5.0
1000221 20002#0.7|20001#0.7 2|9 1.35#1|12#0.4#4#0.35 5.0
1000222 20002#0.7|20001#0.7 2|9 1.35#1|12#0.4#4#0.45 5.0
1000223 20002#0.7|20001#0.7 2|9 1.35#1|12#0.5#5#0.45 5.0
1000224 20002#0.7|20001#0.7 2|9 1.66#1|12#0.6#6#0.45 5.0
1000225 null null null 5.0
1000311 20001#0.7 10 0.65#1#0.35 0
1000312 20001#0.7 10 0.65#1#0.45 0
1000313 20001#0.7 10 0.85#1#0.45 0
1000314 20001#0.7 10 0.85#1#0.65 0
1000315 null null null 0
1000321 20001#0.7|20000#0.7 1|3 0.65#1|1#3#10 5.0
1000322 20001#0.7|20000#0.7|20600#0.7 1|3|4 0.65#1|1#3#10|3#0.45#3#3 5.0
1000323 20001#0.7|20000#0.7|20600#0.7 1|3|4 0.65#1|1#3#15|3#0.45#3#3 5.0
1000324 20001#0.7|20000#0.7|20600#0.7 1|3|4 0.9#1|1#3#20|3#0.45#5#3 5.0
1000321 20001#0.7|20000#0.7 1|3 0.65#1|1#3#6 5.0
1000322 20001#0.7|20000#0.7|20600#0.7 1|3|4 0.65#1|1#3#6|3#0.45#3#4 5.0
1000323 20001#0.7|20000#0.7|20600#0.7 1|3|4 0.65#1|1#3#8|3#0.45#3#4 5.0
1000324 20001#0.7|20000#0.7|20600#0.7 1|3|4 0.9#1|1#3#10|3#0.45#5#4 5.0
1000325 null null null 5.0
1000411 20001#0.7|10111#0.7 1|5 0.95#2|1#0.6#2 0
1000412 20001#0.7|10111#0.7 1|5 0.95#2|1#0.8#2 0
1000413 20001#0.7|10111#0.7 1|5 0.95#2|1#0.8#4 0
1000414 20001#0.7|10111#0.7 1|5 1.2#2|1#0.8#4 0
1000411 20001#0.7|10211#0.7 1|5 0.95#2|1#0.6#2 0
1000412 20001#0.7|10211#0.7 1|5 0.95#2|1#0.8#2 0
1000413 20001#0.7|10211#0.7 1|5 0.95#2|1#0.8#4 0
1000414 20001#0.7|10211#0.7 1|5 1.2#2|1#0.8#4 0
1000415 null null null 0
1000421 20000#0.7|10100#0.7 2|5 0.65#2|1#0.55#3 2.0
1000422 20000#0.7|10100#0.7 2|5 0.75#2|1#0.66#3 2.0
@ -49,59 +49,59 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
1000424 20000#0.7|10100#0.7 2|5 1.05#2|1#0.88#3 2.0
1000425 null null null 2.0
1000511 20001#0.7 1 0.65#2#0.68 0
1000512 20001#0.7|30101#0.7 1|5 0.65#2#0.68|1#0.2#3#1 0
1000513 20001#0.7|30101#0.7 1|5 0.85#2#0.78|1#0.2#3#1 0
1000514 20001#0.7|30101#0.7 1|5 0.85#2#0.98|1#0.3#4#1 0
1000512 20001#0.7|30101#0.7 1|5 0.65#2#0.68|1#0.2#3#2 0
1000513 20001#0.7|30101#0.7 1|5 0.85#2#0.78|1#0.2#3#2 0
1000514 20001#0.7|30101#0.7 1|5 0.85#2#0.98|1#0.3#4#2 0
1000515 null null null 0
1000521 20004#0.7|10100#0.7 1|24 0.78#2|1#0.68 2.0
1000522 20004#0.7|10100#0.7 1|24 0.86#2|1#0.74 2.0
1000523 20004#0.7|10100#0.7 1|24 0.96#2|1#0.8 2.0
1000524 20004#0.7|10100#0.7 1|24 1.2#2|1#0.98 2.0
1000521 20004#0.7|10100#0.7 2|24 0.78#2|1#0.68 2.0
1000522 20004#0.7|10100#0.7 2|24 0.86#2|1#0.74 2.0
1000523 20004#0.7|10100#0.7 2|24 0.96#2|1#0.8 2.0
1000524 20004#0.7|10100#0.7 2|24 1.2#2|1#0.98 2.0
1000525 null null null 2.0
1000611 20000#0.7 2 0.78#2 0
1000612 20000#0.7|10300#0.7 2|4 0.78#2|1#0.2#3#1 0
1000613 20000#0.7|10300#0.7 2|4 0.96#2|1#0.2#3#1 0
1000614 20000#0.7|10300#0.7 2|4 0.96#2|1#0.3#5#1 0
1000612 20000#0.7|10300#0.7 2|4 0.78#2|1#0.2#3#2 0
1000613 20000#0.7|10300#0.7 2|4 0.96#2|1#0.2#3#2 0
1000614 20000#0.7|10300#0.7 2|4 0.96#2|1#0.3#5#2 0
1000615 null null null 0
1000621 20000#0.7|20300#0.7 2|4 0.7#2|1#0.15#4#3 2.0
1000622 20000#0.7|20300#0.7 2|4 0.8#2|1#0.15#4#3 2.0
1000623 20000#0.7|20300#0.7 2|4 1.1#2|1#0.15#4#3 2.0
1000624 20000#0.7|20300#0.7 2|4 1.3#2|1#0.15#6#3 2.0
1000621 20000#0.7|20300#0.7 2|4 0.7#2|1#0.15#4#4 2.0
1000622 20000#0.7|20300#0.7 2|4 0.8#2|1#0.15#4#4 2.0
1000623 20000#0.7|20300#0.7 2|4 1.1#2|1#0.15#4#4 2.0
1000624 20000#0.7|20300#0.7 2|4 1.3#2|1#0.15#6#4 2.0
1000625 null null null 2.0
1000711 20001#0.7 6 3#3#0.78#1 0
1000712 20001#0.7|20001#0.7 6|4 3#3#0.78#1|2#0.15#6#3 0
1000713 20001#0.7|20001#0.7 6|4 3#3#1.08#1|2#0.2#8#3 0
1000714 20001#0.7|20001#0.7 6|4 3#3#1.08#1|2#0.3#10#3 0
1000711 20001#0.7|20001#0.7 6|4 3#3#0.78#1|2#0.15#6#4 0
1000712 20001#0.7|20001#0.7 6|4 3#3#0.88#1|2#0.15#6#4 0
1000713 20001#0.7|20001#0.7 6|4 3#3#1.08#1|2#0.2#8#4 0
1000714 20001#0.7|20001#0.7 6|4 3#3#1.08#1|2#0.3#10#4 0
1000715 null null null 0
1000721 20001#0.7|10001#0.7 1|8 1#1|0#1#2 2.0
1000721 20001#0.7 1 1#1 2.0
1000722 20001#0.7|10001#0.7 1|8 1.1#1|0#1#2 2.0
1000723 20001#0.7|10001#0.7 1|8 1.3#1|0#1#2 2.0
1000724 20001#0.7|10001#0.7 1|8 1.5#1|0#1#2 2.0
1000725 null null null 2.0
1000811 20001#0.7 29 4#4#0.35#2#2#0.3 0
1000812 20001#0.7 29 4#4#0.45#2#2#0.3 0
1000813 20001#0.7 29 4#4#0.45#2#2#0.4 0
1000814 20001#0.7 29 4#4#0.6#2#2#0.5 0
1000811 20001#0.7 29 4#4#0.35#2#2#0.1 0
1000812 20001#0.7 29 4#4#0.45#2#2#0.1 0
1000813 20001#0.7 29 4#4#0.45#2#2#0.2 0
1000814 20001#0.7 29 4#4#0.6#2#2#0.2 0
1000815 null null null 0
1000821 20000#0.7|20000#0.7 2|3 0.6#2|0.15#1#2 4.0
1000822 20000#0.7|20000#0.7 2|3 0.7#2|0.15#1#2 4.0
1000823 20000#0.7|20000#0.7 2|3 0.7#2|0.3#1#4 4.0
1000824 20000#0.7|20000#0.7 2|3 0.85#2|0.3#1#4 4.0
1000825 null null null 4.0
1000911 20001#0.7|20001#0.7 6|13 3#3#0.64#1|1#0.25#1#3 0
1000912 20001#0.7|20001#0.7 6|13 3#3#0.71#1|1#0.25#1#3 0
1000913 20001#0.7|20001#0.7 6|13 3#3#0.71#1|1#0.35#1#3 0
1000914 20001#0.7|20001#0.7 6|13 3#3#0.86#1|1#0.35#1#5 0
1000911 20001#0.7|20001#0.7 6|13 3#3#0.64#1|1#0.25#1#6 0
1000912 20001#0.7|20001#0.7 6|13 3#3#0.71#1|1#0.25#1#6 0
1000913 20001#0.7|20001#0.7 6|13 3#3#0.71#1|1#0.35#1#6 0
1000914 20001#0.7|20001#0.7 6|13 3#3#0.86#1|1#0.35#1#10 0
1000915 null null null 0
1000921 20000#0.7 20 0.65#1#1#0.15 4.0
1000922 20000#0.7 20 0.75#1#1#0.15 4.0
1000923 20000#0.7 20 0.9#1#1#0.25 4.0
1000922 20000#0.7|30001#0.7|30001#0.7 20|9|31 0.75#1#1#0.15|6#0.3#6#0|0.4#0#4 4.0
1000923 20000#0.7|30001#0.7|30001#0.7 20|9|31 0.9#1#1#0.25|6#0.4#6#0|0.4#0#4 4.0
1000924 20000#0.7|30001#0.7|30001#0.7 20|9|31 1.05#1#1#0.25|6#0.5#6#0|0.6#0#6 4.0
1000925 null null null 4.0
1001011 20001#0.7 29 2#2#0.55#2#1#0.3 0
1001012 20001#0.7 29 2#2#0.68#2#1#0.3 0
1001013 20001#0.7 29 2#2#0.78#2#1#0.4 0
1001014 20001#0.7 29 2#2#0.88#2#1#0.5 0
1001011 20001#0.7 29 2#2#0.55#2#1#0.1 0
1001012 20001#0.7 29 2#2#0.68#2#1#0.1 0
1001013 20001#0.7 29 2#2#0.78#2#1#0.2 0
1001014 20001#0.7 29 2#2#0.88#2#1#0.2 0
1001015 null null null 0
1001021 20000#0.7|20001#0.7 2|8 0.65#2|2#0.55#1 4.0
1001022 20000#0.7|20001#0.7 2|8 0.76#2|2#0.55#1 4.0
@ -113,9 +113,9 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
1001113 20001#0.7|20001#0.7 6|13 2#2#0.6#2|2#0.20#2#3 0
1001114 20001#0.7|20001#0.7 6|13 2#2#0.7#2|2#0.25#2#3 0
1001115 null null null 0
1001121 20000#0.7 21 0.64#2#2#0.42#1#2 4.0
1001122 20000#0.7 21 0.72#2#2#0.42#1#2 4.0
1001123 20000#0.7 21 0.72#2#2#0.5#1#3 4.0
1001121 20000#0.7 2 0.64#2 4.0
1001122 20000#0.7 2 0.72#2 4.0
1001123 20000#0.7 21 0.72#2#2#0.4#1#3 4.0
1001124 20000#0.7 21 0.9#2#2#0.66#1#3 4.0
1001125 null null null 4.0
1001211 20001#0.7|20001#0.7|30001#0.7 1|13|8 0.86#1|2#0.15#1#3|1#1#1 0
@ -128,35 +128,35 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
1001223 20212#0.7 28 0.74#1#4#4 3.0
1001224 20212#0.7 28 0.86#1#4#5 3.0
1001225 null null null 3.0
1001311 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.76#1|9#0.07#3#1|10#0.07#3#1 0
1001312 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.85#1|9#0.70#4#1|10#0.07#4#1 0
1001313 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.85#1|9#0.1#4#1|10#0.1#4#1 0
1001314 20001#0.7|30001#0.7|30001#0.7 1|4|4 1#1|9#0.1#5#1|10#0.1#5#1 0
1001311 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.76#1|9#0.07#3#2|10#0.07#3#2 0
1001312 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.85#1|9#0.70#4#2|10#0.07#4#2 0
1001313 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.85#1|9#0.1#4#2|10#0.1#4#2 0
1001314 20001#0.7|30001#0.7|30001#0.7 1|4|4 1#1|9#0.1#5#2|10#0.1#5#2 0
1001315 null null null 0
1001321 20322#0.7 19 1.05#1#0.45#2 3.0
1001322 20322#0.7 19 1.15#1#0.45#2 3.0
1001323 20322#0.7 19 1.15#1#0.6#3 3.0
1001324 20322#0.7 19 1.35#1#0.6#2 3.0
1001324 20322#0.7 19 1.35#1#0.6#4 3.0
1001325 null null null 3.0
1001411 20000#0.7 17 0.75#1#3#1 0
1001412 20000#0.7 17 0.85#1#3#1 0
1001413 20000#0.7 17 1#1#3#1 0
1001414 20000#0.7 17 1.2#1#3#1 0
1001411 20001#0.7 41 0.65#1#0.2#0.15#0 0
1001412 20001#0.7 41 0.74#1#0.2#0.2#0.15 0
1001413 20001#0.7 41 0.85#1#0.2#0.3#0.2 0
1001414 20001#0.7 41 0.96#1#0.3#0.3#0.3 0
1001415 null null null 0
1001421 20001#0.7|30001#0.7 6|4 3#5#1.25#1|10#0.4#3#1 3.0
1001422 20001#0.7|30001#0.7 6|4 3#5#1.45#1|10#0.4#3#1 3.0
1001423 20001#0.7|30001#0.7 6|4 3#5#1.75#1|10#0.45#3#1 3.0
1001424 20001#0.7|30001#0.7 6|4 3#5#2.05#1|10#0.5#3#1 3.0
1001421 20001#0.7|30001#0.7|30001#0.7|30001#0.7 1|4|4|42 0.85#1|1#0.1#0#2|7#0.1#0#2|0.15#0.15#3 3.0
1001422 20001#0.7|30001#0.7|30001#0.7|30001#0.7 1|4|4|42 0.94#1|1#0.15#0#2|7#0.1#0#2|0.2#0.2#3 3.0
1001423 20001#0.7|30001#0.7|30001#0.7|30001#0.7 1|4|4|42 1.05#1|1#0.15#0#2|7#0.2#0#2|0.25#0.2#5 3.0
1001424 20001#0.7|30001#0.7|30001#0.7|30001#0.7 1|4|4|42 1.25#1|1#0.2#0#2|7#0.2#0#2|0.25#0.2#5 3.0
1001425 null null null 3.0
1001511 20001#0.7 10 0.85#2#0.25 0
1001512 20001#0.7 10 0.95#2#0.3 0
1001513 20001#0.7 10 1.1#2#0.3 0
1001514 20001#0.7 10 1.35#2#0.45 0
1001515 null null null 0
1001521 20002#0.7|20002#0.7 1|16 1.25#2|0.04#1#10 3.0
1001522 20002#0.7|20002#0.7 1|16 1.4#2|0.04#1#10 3.0
1001523 20002#0.7|20002#0.7 1|16 1.4#2|0.06#1#15 3.0
1001524 20002#0.7|20002#0.7 33|16 1.6#2#1#10015#0.3#10|0.06#1#15 3.0
1001521 20002#0.7 33 1.25#2 3.0
1001522 20002#0.7|20002#0.7 33|16 1.4#2#1#10015#0.15#10|0.04#1#10#1 3.0
1001523 20002#0.7|20002#0.7 33|16 1.4#2#1#10015#0.15#10|0.04#1#15#1 3.0
1001524 20002#0.7|20002#0.7 33|16 1.6#2#1#10015#0.3#10|0.06#1#15#1 3.0
1001525 null null null 3.0
1001611 20001#0.7 30 0.65#2#0#0.18 0
1001612 20001#0.7 30 0.75#2#0#0.24 0
@ -164,14 +164,14 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
1001614 20001#0.7 30 0.95#2#0#0.38 0
1001615 null null null 0
1001621 20003#0.7 22 1.15#2#0#0.15 3.0
1001622 20003#0.7 22 1.25#2#0#0.15 3.0
1001623 20003#0.7 22 1.25#2#0#0.3 3.0
1001624 20003#0.7|30601#0.7|30301#0.7 22|4|4 1.5#2#0#0.3|3#0.2#6#3|1#0.3#6#1 3.0
1001622 20003#0.7|30601#0.7|30301#0.7 22|4|4 1.25#2#0#0.15|3#0.1#3#4|1#0.15#3#2 3.0
1001623 20003#0.7|30601#0.7|30301#0.7 22|4|4 1.25#2#0#0.3|3#0.15#4#4|1#0.2#4#2 3.0
1001624 20003#0.7|30601#0.7|30301#0.7 22|4|4 1.5#2#0#0.3|3#0.2#6#4|1#0.3#6#2 3.0
1001625 null null null 3.0
1001711 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#0.85#2|2#0.3#3#3|0.3#2#3 0
1001712 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#0.95#2|2#0.3#3#3|0.45#2#3 0
1001713 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#1.05#2|2#0.4#3#3|0.45#2#3 0
1001714 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#1.23#2|2#0.4#5#3|0.6#2#5 0
1001711 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#0.85#2|2#0.3#3#4|0.3#2#3 0
1001712 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#0.95#2|2#0.3#3#4|0.45#2#3 0
1001713 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#1.05#2|2#0.4#3#4|0.45#2#3 0
1001714 20001#0.7|20001#0.7|20601#0.7 6|4|3 2#2#1.23#2|2#0.4#5#4|0.6#2#5 0
1001715 null null null 0
1001721 20004#0.7 20 1.05#2#2#0.2 3.0
1001722 20004#0.7 20 1.2#2#2#0.2 3.0
@ -183,15 +183,15 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
1001813 20001#0.7 1 1.68#2 0
1001814 20001#0.7 1 1.87#2 0
1001815 null null null 0
1001821 20111#0.7|20111#0.7|20111#0.7 1|16|13 2#2|0.12#1#3|3#0.3#2#3 3.0
1001822 20111#0.7|20111#0.7|20111#0.7 1|16|13 2.2#2|0.12#1#4|3#0.35#2#4 3.0
1001823 20111#0.7|20111#0.7|20111#0.7 1|16|13 2.5#2|0.18#1#4|3#0.4#2#4 3.0
1001821 20111#0.7|20111#0.7 1|13 2#2|3#0.3#2#3 3.0
1001822 20111#0.7|20111#0.7 1|13 2.2#2|3#0.35#2#4 3.0
1001823 20111#0.7|20111#0.7|20111#0.7 1|16|13 2.5#2|0.10#1#4|3#0.4#2#4 3.0
1001824 20111#0.7|20111#0.7|20111#0.7 1|16|13 3#2|0.18#1#4|3#0.45#2#4 3.0
1001825 null null null 3.0
1001911 20001#0.7|30301#0.7 1|4|4 0.7#1|1#0.1#2#1 0
1001912 20001#0.7|30301#0.7|30001#0.7 1|4|4 0.8#1|1#0.1#2#1|10#0.1#2#1 0
1001913 20001#0.7|30301#0.7|30001#0.7 1|4|4 0.8#1|1#0.1#2#1|10#0.2#2#1 0
1001914 20001#0.7|30301#0.7|30001#0.7 1|4|4 1.05#1|1#0.1#3#1|10#0.2#3#1 0
1001911 20001#0.7|30301#0.7 1|4|4 0.7#1|1#0.1#2#2 0
1001912 20001#0.7|30301#0.7|30001#0.7 1|4|4 0.8#1|1#0.1#2#2|10#0.1#2#2 0
1001913 20001#0.7|30301#0.7|30001#0.7 1|4|4 0.8#1|1#0.1#2#2|10#0.2#2#2 0
1001914 20001#0.7|30301#0.7|30001#0.7 1|4|4 1.05#1|1#0.1#3#2|10#0.2#3#2 0
1001915 null null null 0
1001921 20000#0.7|20000#0.7 2|32 0.75#1|1#1#1#3 3.0
1001922 20000#0.7|20000#0.7 2|32 0.85#1|1#1#2#3 3.0
@ -208,35 +208,35 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
1002023 20000#0.7|10000#0.7 2|9 0.77#1|6#0.15#4#0 5.0
1002024 20000#0.7|10000#0.7 2|9 0.89#1|6#0.3#4#0 5.0
1002025 null null null 5.0
1002111 20001#0.7|20001#0.7 1|4 0.65#2|2#0.1#3#3 0
1002112 20001#0.7|20001#0.7 1|4 0.75#2|2#0.1#5#3 0
1002113 20001#0.7|20001#0.7 1|4 0.9#2|2#0.1#5#3 0
1002114 20001#0.7|20001#0.7 1|4 1.05#2|2#0.15#5#3 0
1002111 20001#0.7|20001#0.7 1|4 0.65#2|2#0.1#3#4 0
1002112 20001#0.7|20001#0.7 1|4 0.75#2|2#0.1#5#4 0
1002113 20001#0.7|20001#0.7 1|4 0.9#2|2#0.1#5#4 0
1002114 20001#0.7|20001#0.7 1|4 1.05#2|2#0.15#5#4 0
1002115 null null null 0
1002121 20000#0.7|20002#0.7 2|3 0.74#2|0.35#5#4 4.0
1002122 20000#0.7|20002#0.7 2|3 0.82#2|0.35#5#4 4.0
1002123 20000#0.7|20002#0.7 2|3 0.97#2|0.5#5#4 4.0
1002124 20000#0.7|20002#0.7 2|3 1.12#2|0.5#5#7 4.0
1002125 null null null 4.0
1002211 20001#0.7 1 0.95#2 0
1002212 20001#0.7|30001#0.7|30001#0.7 1|4|4 1.1#2|9#0.1#3#1|10#0.1#3#1 0
1002213 20001#0.7|30001#0.7|30001#0.7 1|4|4 1.3#2|9#0.1#3#1|10#0.1#3#1 0
1002214 20001#0.7|30001#0.7|30001#0.7 1|4|4 1.3#2|9#0.2#4#1|10#0.2#4#1 0
1002211 20001#0.7|30001#0.7|30001#0.7 1|4|4 0.95#2|9#0.1#3#2|10#0.1#3#2 0
1002212 20001#0.7|30001#0.7|30001#0.7 1|4|4 1.1#2|9#0.1#3#2|10#0.1#3#2 0
1002213 20001#0.7|30001#0.7|30001#0.7 1|4|4 1.3#2|9#0.1#3#2|10#0.1#3#2 0
1002214 20001#0.7|30001#0.7|30001#0.7 1|4|4 1.3#2|9#0.2#4#2|10#0.2#4#2 0
1002215 null null null 0
1002221 20221#0.7 15 1.5#2#0.15 3.0
1002222 20221#0.7 15 1.66#2#0.2 3.0
1002223 20221#0.7 15 1.86#2#0.25 3.0
1002224 20221#0.7 15 2.06#2#0.3 3.0
1002225 null null null 3.0
1002311 20001#0.7|30001#0.7 1|31 0.54#2|1#0#2 0
1002312 20001#0.7|30001#0.7 1|31 0.62#2|1#0#3 0
1002313 20001#0.7|30001#0.7 1|31 0.72#2|1#0#3 0
1002314 20001#0.7|30001#0.7 1|31 0.86#2|1#0#4 0
1002311 20000#0.7 17 0.75#1#3#1 0
1002312 20000#0.7 17 0.85#1#3#1 0
1002313 20000#0.7 17 1#1#3#1 0
1002314 20000#0.7 17 1.2#1#3#1 0
1002315 null null null 0
1002321 20000#0.7 14 0.6#2#1#10023#0.15#20 3.0
1002322 20000#0.7 14 0.7#2#1#10023#0.2#20 3.0
1002323 20000#0.7 14 0.8#2#1#10023#0.25#20 3.0
1002324 20000#0.7 14 0.9#2#1#10023#0.3#20 3.0
1002321 20001#0.7 6 3#5#1.25#1 3.0
1002322 20001#0.7 6 3#5#1.45#1 3.0
1002323 20001#0.7|30001#0.7 6|4 3#5#1.75#1|10#0.25#0#2 3.0
1002324 20001#0.7|30001#0.7 6|4 3#5#2.05#1|10#0.5#0#2 3.0
1002325 null null null 3.0
1002411 20002#0.7 1 0.54#1 0
1002412 20002#0.7 1 0.62#1 0
@ -813,116 +813,106 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
20279 20000#0.7|30000#0.7 2|31#9#4 3.2864#2|1#1#6.5|1#0.2#6.5#0|1#0.25#6.5#2 2.0
20282 40001#0.7 6 2#3#1.1#2 0.0
20285 40001#0.7|10001#0.7 1|24 3.2864#2|1#0.45 0.0
500101 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 1000|1#0.1#5#1|2#0.2#5#1|3#0.2#5#1 1.0
500102 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 1000|1#0.2#5#1|2#0.2#5#1|3#0.2#5#1 1.0
500103 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 2000|1#0.2#5#1|2#0.2#5#1|3#0.2#5#1 1.0
500104 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 2000|1#0.3#5#1|2#0.2#5#1|3#0.2#5#1 1.0
500105 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 3000|1#0.3#5#1|2#0.2#5#1|3#0.2#5#1 1.0
500106 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 3000|1#0.3#10#1|2#0.2#5#1|3#0.2#5#1 1.0
500107 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 4000|1#0.3#10#1|2#0.2#5#1|3#0.2#5#1 1.0
500108 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 4000|1#0.3#10#1|2#0.2#10#1|3#0.2#10#1 1.0
500109 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 5000|1#0.3#10#1|2#0.2#10#1|3#0.2#10#1 1.0
500110 20003#0.7|10002#0.7|10002#0.7|10002#0.7 26|4|4|4 5000|1#0.3#10#1|2#0.3#10#1|3#0.3#10#1 1.0
500201 20002#0.7|20000#0.7|10004#0.7 26|4|24 1800|4#0.2#5#3|1#0.2 2.0
500202 20002#0.7|20000#0.7|10004#0.7 26|4|24 1800|4#0.3#5#3|1#0.2 2.0
500203 20002#0.7|20000#0.7|10004#0.7 26|4|24 3600|4#0.3#5#3|1#0.2 2.0
500204 20002#0.7|20000#0.7|10004#0.7 26|4|24 3600|4#0.4#5#3|1#0.2 2.0
500205 20002#0.7|20000#0.7|10004#0.7 26|4|24 5400|4#0.4#5#3|1#0.2 2.0
500206 20002#0.7|20000#0.7|10004#0.7 26|4|24 5400|4#0.4#10#3|1#0.2 2.0
500207 20002#0.7|20000#0.7|10004#0.7 26|4|24 7200|4#0.4#10#3|1#0.2 2.0
500208 20002#0.7|20000#0.7|10004#0.7 26|4|24 7200|4#0.4#10#3|1#0.3 2.0
500209 20002#0.7|20000#0.7|10004#0.7 26|4|24 9000|4#0.4#10#3|1#0.3 2.0
500210 20002#0.7|20000#0.7|10004#0.7 26|4|24 9000|4#0.5#10#3|1#0.3 2.0
500301 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 2600|9#0.1#4#1|10#0.3#4#1 3.0
500302 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 2600|9#0.2#4#1|10#0.3#4#1 3.0
500303 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 5200|9#0.2#4#1|10#0.3#4#1 3.0
500304 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 5200|9#0.3#4#1|10#0.3#4#1 3.0
500305 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 7800|9#0.3#4#1|10#0.3#4#1 3.0
500306 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 7800|9#0.3#8#1|10#0.3#4#1 3.0
500307 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 10400|9#0.3#8#1|10#0.3#4#1 3.0
500308 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 10400|9#0.3#8#1|10#0.3#8#1 3.0
500309 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 13000|9#0.3#8#1|10#0.3#8#1 3.0
500310 20002#0.7|10004#0.7|10004#0.7 26|4|4|4 13000|9#0.3#8#1|10#0.5#8#1 3.0
500401 20002#0.7|20002#0.7 26|36 3905|6#0.1#1#1 4.0
500402 20002#0.7|20002#0.7 26|36 3905|6#0.2#1#1 4.0
500403 20002#0.7|20002#0.7 26|36 7810|6#0.2#1#1 4.0
500404 20002#0.7|20002#0.7 26|36 7810|6#0.3#1#1 4.0
500405 20002#0.7|20002#0.7 26|36 11716|6#0.3#1#1 4.0
500406 20002#0.7|20002#0.7 26|36 11716|6#0.3#2#1 4.0
500407 20002#0.7|20002#0.7 26|36 15621|6#0.3#2#1 4.0
500408 20002#0.7|20002#0.7 26|36 15621|6#0.4#2#1 4.0
500409 20002#0.7|20002#0.7 26|36 19527|6#0.4#2#1 4.0
500410 20002#0.7|20002#0.7 26|36 19527|6#0.5#2#1 4.0
500501 20003#0.7|20003#0.7|10003#0.7 26|27|25 4014|300#5|2#0.2#5 5.0
500502 20003#0.7|20003#0.7|10003#0.7 26|27|25 4014|400#5|2#0.2#5 5.0
500503 20003#0.7|20003#0.7|10003#0.7 26|27|25 8028|400#5|2#0.2#5 5.0
500504 20003#0.7|20003#0.7|10003#0.7 26|27|25 8028|500#5|2#0.2#5 5.0
500505 20003#0.7|20003#0.7|10003#0.7 26|27|25 12043|500#5|2#0.2#5 5.0
500506 20003#0.7|20003#0.7|10003#0.7 26|27|25 12043|500#10|2#0.2#5 5.0
500507 20003#0.7|20003#0.7|10003#0.7 26|27|25 16057|500#10|2#0.2#5 5.0
500508 20003#0.7|20003#0.7|10003#0.7 26|27|25 16057|500#10|2#0.2#10 5.0
500509 20003#0.7|20003#0.7|10003#0.7 26|27|25 20072|500#10|2#0.2#10 5.0
500510 20003#0.7|20003#0.7|10003#0.7 26|27|25 20072|500#10|2#0.3#10 5.0
500601 20003#0.7|20003#0.7|10003#0.7 26|27|25 4272|300#5|3#0.2#5 6.0
500602 20003#0.7|20003#0.7|10003#0.7 26|27|25 4272|400#5|3#0.2#5 6.0
500603 20003#0.7|20003#0.7|10003#0.7 26|27|25 8545|400#5|3#0.2#5 6.0
500604 20003#0.7|20003#0.7|10003#0.7 26|27|25 8545|600#5|3#0.2#5 6.0
500605 20003#0.7|20003#0.7|10003#0.7 26|27|25 12817|600#5|3#0.2#5 6.0
500606 20003#0.7|20003#0.7|10003#0.7 26|27|25 12817|600#10|3#0.2#5 6.0
500607 20003#0.7|20003#0.7|10003#0.7 26|27|25 17090|600#10|3#0.2#5 6.0
500608 20003#0.7|20003#0.7|10003#0.7 26|27|25 17090|600#10|3#0.2#10 6.0
500609 20003#0.7|20003#0.7|10003#0.7 26|27|25 21363|600#10|3#0.2#10 6.0
500610 20003#0.7|20003#0.7|10003#0.7 26|27|25 21363|600#10|3#0.3#10 6.0
500701 20003#0.7|20003#0.7|10003#0.7 26|27|25 5401|300#5|1#0.2#5 7.0
500702 20003#0.7|20003#0.7|10003#0.7 26|27|25 5401|600#5|1#0.2#5 7.0
500703 20003#0.7|20003#0.7|10003#0.7 26|27|25 10803|600#5|1#0.2#5 7.0
500704 20003#0.7|20003#0.7|10003#0.7 26|27|25 10803|900#5|1#0.2#5 7.0
500705 20003#0.7|20003#0.7|10003#0.7 26|27|25 16205|900#5|1#0.2#5 7.0
500706 20003#0.7|20003#0.7|10003#0.7 26|27|25 16205|900#10|1#0.2#5 7.0
500707 20003#0.7|20003#0.7|10003#0.7 26|27|25 21607|900#10|1#0.2#5 7.0
500708 20003#0.7|20003#0.7|10003#0.7 26|27|25 21607|900#10|1#0.2#10 7.0
500709 20003#0.7|20003#0.7|10003#0.7 26|27|25 27009|900#10|1#0.2#10 7.0
500710 20003#0.7|20003#0.7|10003#0.7 26|27|25 27009|900#10|1#0.3#10 7.0
500801 20003#0.7|20003#0.7|10003#0.7 26|3|35 7758|0.2#2#5|2#0.2#5 8.0
500802 20003#0.7|20003#0.7|10003#0.7 26|3|35 7758|0.4#2#5|2#0.2#5 8.0
500803 20003#0.7|20003#0.7|10003#0.7 26|3|35 15516|0.4#2#5|2#0.2#5 8.0
500804 20003#0.7|20003#0.7|10003#0.7 26|3|35 15516|0.5#2#5|2#0.2#5 8.0
500805 20003#0.7|20003#0.7|10003#0.7 26|3|35 23274|0.5#2#5|2#0.2#5 8.0
500806 20003#0.7|20003#0.7|10003#0.7 26|3|35 23274|0.5#2#10|2#0.2#5 8.0
500807 20003#0.7|20003#0.7|10003#0.7 26|3|35 31032|0.5#2#10|2#0.2#5 8.0
500808 20003#0.7|20003#0.7|10003#0.7 26|3|35 31032|0.5#2#10|2#0.2#10 8.0
500809 20003#0.7|20003#0.7|10003#0.7 26|3|35 38790|0.5#2#10|2#0.2#10 8.0
500810 20003#0.7|20003#0.7|10003#0.7 26|3|35 38790|0.5#2#10|2#0.3#10 8.0
500901 20003#0.7|20003#0.7|20003#0.7 26|3|35 10436|0.2#1#5|1#0.2#5 9.0
500902 20003#0.7|20003#0.7|20003#0.7 26|3|35 10436|0.4#1#5|1#0.2#5 9.0
500903 20003#0.7|20003#0.7|20003#0.7 26|3|35 20872|0.4#1#5|1#0.2#5 9.0
500904 20003#0.7|20003#0.7|20003#0.7 26|3|35 20872|0.5#1#5|1#0.2#5 9.0
500905 20003#0.7|20003#0.7|20003#0.7 26|3|35 31308|0.5#1#5|1#0.2#5 9.0
500906 20003#0.7|20003#0.7|20003#0.7 26|3|35 31308|0.5#1#10|1#0.2#5 9.0
500907 20003#0.7|20003#0.7|20003#0.7 26|3|35 41744|0.5#1#10|1#0.2#5 9.0
500908 20003#0.7|20003#0.7|20003#0.7 26|3|35 41744|0.5#1#10|1#0.2#10 9.0
500909 20003#0.7|20003#0.7|20003#0.7 26|3|35 52181|0.5#1#10|1#0.2#10 9.0
500910 20003#0.7|20003#0.7|20003#0.7 26|3|35 52181|0.5#1#10|1#0.3#10 9.0
501001 20004#0.7|10000#0.7|10000#0.7 26|4|4 12400|4#0.3#5#1|6#0.2#5#3 10.0
501002 20004#0.7|10000#0.7|10000#0.7 26|4|4 12400|4#0.6#5#1|6#0.2#5#3 10.0
501003 20004#0.7|10000#0.7|10000#0.7 26|4|4 24800|4#0.6#5#1|6#0.2#5#3 10.0
501004 20004#0.7|10000#0.7|10000#0.7 26|4|4 24800|4#1#5#1|6#0.2#5#3 10.0
501005 20004#0.7|10000#0.7|10000#0.7 26|4|4 37200|4#1#5#1|6#0.2#5#3 10.0
501006 20004#0.7|10000#0.7|10000#0.7 26|4|4 37200|4#1#10#1|6#0.2#5#3 10.0
501007 20004#0.7|10000#0.7|10000#0.7 26|4|4 49600|4#1#10#1|6#0.2#5#3 10.0
501008 20004#0.7|10000#0.7|10000#0.7 26|4|4 49600|4#1#10#1|6#0.2#10#3 10.0
501009 20004#0.7|10000#0.7|10000#0.7 26|4|4 62000|4#1#10#1|6#0.2#10#3 10.0
501010 20004#0.7|10000#0.7|10000#0.7 26|4|4 62000|4#1#10#1|6#0.45#10#3 10.0
501101 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 4400|400#5|0|6#0.25#5#0 11.0
501102 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 4400|600#5|0|6#0.25#5#0 11.0
501103 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 8800|600#5|0|6#0.25#5#0 11.0
501104 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 8800|800#5|0|6#0.25#5#0 11.0
501105 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 13200|800#5|0|6#0.25#5#0 11.0
501106 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 13200|800#10|0|6#0.25#5#0 11.0
501107 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 17600|800#10|0|6#0.25#5#0 11.0
501108 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 17600|800#10|0|6#0.25#10#0 11.0
501109 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 22000|800#10|0|6#0.25#10#0 11.0
501110 20003#0.7|20003#0.7|10004#0.7|10000#0.7 26|27|37|9 22000|800#10|0|6#0.45#10#0 11.0
500101 20003#0.7|20003#0.7|10003#0.7 26|27|25 800|300#5|2#15#5 1.0
500102 20003#0.7|20003#0.7|10003#0.7 26|27|25 800|500#5|2#15#5 1.0
500103 20003#0.7|20003#0.7|10003#0.7 26|27|25 1600|500#5|2#15#5 1.0
500104 20003#0.7|20003#0.7|10003#0.7 26|27|25 1600|800#5|2#15#5 1.0
500105 20003#0.7|20003#0.7|10003#0.7 26|27|25 2400|800#5|2#15#5 1.0
500106 20003#0.7|20003#0.7|10003#0.7 26|27|25 2400|1000#5|2#15#5 1.0
500107 20003#0.7|20003#0.7|10003#0.7 26|27|25 3200|1000#5|2#15#5 1.0
500108 20003#0.7|20003#0.7|10003#0.7 26|27|25 3200|1000#10|2#15#10 1.0
500109 20003#0.7|20003#0.7|10003#0.7 26|27|25 4000|1000#10|2#15#10 1.0
500110 20003#0.7|20003#0.7|10003#0.7 26|27|25 4000|1000#10|2#30#10 1.0
500201 20003#0.7|20003#0.7|10003#0.7 26|27|25 1440|540#5|3#15#5 2.0
500202 20003#0.7|20003#0.7|10003#0.7 26|27|25 1440|900#5|3#15#5 2.0
500203 20003#0.7|20003#0.7|10003#0.7 26|27|25 2880|900#5|3#15#5 2.0
500204 20003#0.7|20003#0.7|10003#0.7 26|27|25 2880|1440#5|3#15#5 2.0
500205 20003#0.7|20003#0.7|10003#0.7 26|27|25 4320|1440#5|3#15#5 2.0
500206 20003#0.7|20003#0.7|10003#0.7 26|27|25 4320|1800#5|3#15#5 2.0
500207 20003#0.7|20003#0.7|10003#0.7 26|27|25 5760|1800#5|3#15#5 2.0
500208 20003#0.7|20003#0.7|10003#0.7 26|27|25 5760|1800#10|3#15#10 2.0
500209 20003#0.7|20003#0.7|10003#0.7 26|27|25 7200|1800#10|3#15#10 2.0
500210 20003#0.7|20003#0.7|10003#0.7 26|27|25 7200|1800#10|3#30#10 2.0
500301 20003#0.7|20003#0.7|10003#0.7 26|27|25 2080|780#5|1#15#5 3.0
500302 20003#0.7|20003#0.7|10003#0.7 26|27|25 2080|1300#5|1#15#5 3.0
500303 20003#0.7|20003#0.7|10003#0.7 26|27|25 4160|1300#5|1#15#5 3.0
500304 20003#0.7|20003#0.7|10003#0.7 26|27|25 4160|2080#5|1#15#5 3.0
500305 20003#0.7|20003#0.7|10003#0.7 26|27|25 6240|2080#5|1#15#5 3.0
500306 20003#0.7|20003#0.7|10003#0.7 26|27|25 6240|2600#5|1#15#5 3.0
500307 20003#0.7|20003#0.7|10003#0.7 26|27|25 8320|2600#5|1#15#5 3.0
500308 20003#0.7|20003#0.7|10003#0.7 26|27|25 8320|2600#10|1#15#10 3.0
500309 20003#0.7|20003#0.7|10003#0.7 26|27|25 10400|2600#10|1#15#10 3.0
500310 20003#0.7|20003#0.7|10003#0.7 26|27|25 10400|2600#10|1#30#10 3.0
500401 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 3124|1171#5|4#300#0#1|8#15#1#2 4.0
500402 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 3124|1952#5|4#300#0#1|8#15#1#2 4.0
500403 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 6248|1952#5|4#300#0#1|8#15#1#2 4.0
500404 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 6248|3124#5|4#300#0#1|8#15#1#2 4.0
500405 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 9373|3124#5|4#300#0#1|8#15#1#2 4.0
500406 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 9373|3905#5|4#300#0#1|8#15#1#2 4.0
500407 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 12497|3905#5|4#300#0#1|8#15#1#2 4.0
500408 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 12497|3905#10|4#300#0#1|8#15#1#2 4.0
500409 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 15622|3905#10|4#300#0#1|8#15#1#2 4.0
500410 20003#0.7|20003#0.7|10000#0.7|10000#0.7 26|27|4|36 15622|3905#10|4#700#0#1|8#30#1#2 4.0
500501 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 5014|1#10#5#2|2#20#5|3#15#5#2 5.0
500502 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 5014|1#20#5#2|2#20#5|3#15#5#2 5.0
500503 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 10028|1#20#5#2|2#20#5|3#15#5#2 5.0
500504 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 10028|1#20#10#2|2#20#5|3#15#5#2 5.0
500505 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 15043|1#20#10#2|2#20#5|3#15#5#2 5.0
500506 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 15043|1#30#10#2|2#20#5|3#15#5#2 5.0
500507 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 20057|1#30#10#2|2#20#5|3#15#5#2 5.0
500508 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 20057|1#30#10#2|2#20#10|3#15#5#2 5.0
500509 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 25072|1#30#10#2|2#20#10|3#15#5#2 5.0
500510 20000#0.7|10004#0.7|10004#0.7|10004#0.7 26|4|4|4 25072|1#30#10#2|2#30#10|3#30#10#2 5.0
500601 20000#0.7|20000#0.7 26|4 5472|5#10#5#2 6.0
500602 20000#0.7|20000#0.7 26|4 5472|5#15#5#2 6.0
500603 20000#0.7|20000#0.7 26|4 10945|5#15#5#2 6.0
500604 20000#0.7|20000#0.7 26|4 10945|5#20#5#2 6.0
500605 20000#0.7|20000#0.7 26|4 16417|5#20#5#2 6.0
500606 20000#0.7|20000#0.7 26|4 16417|5#20#10#2 6.0
500607 20000#0.7|20000#0.7 26|4 21890|5#20#10#2 6.0
500608 20000#0.7|20000#0.7 26|4 21890|5#25#10#2 6.0
500609 20000#0.7|20000#0.7 26|4 27363|5#25#10#2 6.0
500610 20000#0.7|20000#0.7 26|4 27363|5#30#10#2 6.0
500701 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 5761|2160#5|0|3600#5#0 7.0
500702 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 5761|3600#5|0|3600#5#0 7.0
500703 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 11523|3600#5|0|3600#5#0 7.0
500704 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 11523|5760#5|0|3600#5#0 7.0
500705 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 17284|5760#5|0|3600#5#0 7.0
500706 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 17284|7201#5|0|3600#5#0 7.0
500707 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 23046|7201#5|0|3600#5#0 7.0
500708 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 23046|7201#5|0|5144#5#0 7.0
500709 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 28808|7201#5|0|5144#5#0 7.0
500710 20000#0.7|20000#0.7|10004#0.7|10004#0.7 26|27|37|40 28808|7201#10|0|7201#10#0 7.0
500801 20000#0.7|20000#0.7|10004#0.7 26|4|24 7758|4#300#0#4|300#12 8.0
500802 20000#0.7|20000#0.7|10004#0.7 26|4|24 7758|4#500#0#4|500#12 8.0
500803 20000#0.7|20000#0.7|10004#0.7 26|4|24 15516|4#500#0#4|500#12 8.0
500804 20000#0.7|20000#0.7|10004#0.7 26|4|24 15516|4#700#0#4|700#12 8.0
500805 20000#0.7|20000#0.7|10004#0.7 26|4|24 23274|4#700#0#4|700#12 8.0
500806 20000#0.7|20000#0.7|10004#0.7 26|4|24 23274|4#1000#0#4|1000#12 8.0
500807 20000#0.7|20000#0.7|10004#0.7 26|4|24 31032|4#1000#0#4|1000#12 8.0
500808 20000#0.7|20000#0.7|10004#0.7 26|4|24 31032|4#1000#0#4|1000#12 8.0
500809 20000#0.7|20000#0.7|10004#0.7 26|4|24 38790|4#1000#0#4|1000#12 8.0
500810 20000#0.7|20000#0.7|10004#0.7 26|4|24 38790|4#1000#0#4|1000#12 8.0
500901 20000#0.7|10004#0.7|10004#0.7 26|4|4 10436|9#10#5#2|10#20#5 9.0
500902 20000#0.7|10004#0.7|10004#0.7 26|4|4 10436|9#20#5#2|10#20#5 9.0
500903 20000#0.7|10004#0.7|10004#0.7 26|4|4 20872|9#20#5#2|10#20#5 9.0
500904 20000#0.7|10004#0.7|10004#0.7 26|4|4 20872|9#20#8#2|10#20#5 9.0
500905 20000#0.7|10004#0.7|10004#0.7 26|4|4 31308|9#20#8#2|10#20#5 9.0
500906 20000#0.7|10004#0.7|10004#0.7 26|4|4 31308|9#30#8#2|10#20#5 9.0
500907 20000#0.7|10004#0.7|10004#0.7 26|4|4 41744|9#30#8#2|10#20#5 9.0
500908 20000#0.7|10004#0.7|10004#0.7 26|4|4 41744|9#30#8#2|10#20#8 9.0
500909 20000#0.7|10004#0.7|10004#0.7 26|4|4 52181|9#30#8#2|10#20#8 9.0
500910 20000#0.7|10004#0.7|10004#0.7 26|4|4 52181|9#30#8#2|10#30#8 9.0
501001 20004#0.7|10000#0.7|10000#0.7 26|4|36 12400|4#50#5#2|6#20#1#4 10.0
501002 20004#0.7|10000#0.7|10000#0.7 26|4|36 12400|4#70#5#2|6#20#1#4 10.0
501003 20004#0.7|10000#0.7|10000#0.7 26|4|36 24800|4#70#5#2|6#20#1#4 10.0
501004 20004#0.7|10000#0.7|10000#0.7 26|4|36 24800|4#70#10#2|6#20#1#4 10.0
501005 20004#0.7|10000#0.7|10000#0.7 26|4|36 37200|4#70#10#2|6#20#1#4 10.0
501006 20004#0.7|10000#0.7|10000#0.7 26|4|36 37200|4#100#10#2|6#20#1#4 10.0
501007 20004#0.7|10000#0.7|10000#0.7 26|4|36 49600|4#100#10#2|6#20#1#4 10.0
501008 20004#0.7|10000#0.7|10000#0.7 26|4|36 49600|4#100#10#2|6#30#1#4 10.0
501009 20004#0.7|10000#0.7|10000#0.7 26|4|36 62000|4#100#10#2|6#30#1#4 10.0
501010 20004#0.7|10000#0.7|10000#0.7 26|4|36 62000|4#100#10#2|6#45#1#4 10.0
1101511 40001#0.7 1 1.25#1 0.0
1101521 20000#0.7 2 0.45#2 0.0
1101522 30001#0.7 5 1#0.2#7 0.0

View File

@ -0,0 +1,67 @@
package com.ljsd.jieling.config;
import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.Table;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Table(name ="DailyTasksConfig")
public class SDailyTasksConfig implements BaseConfig {
private int id;
private int type;
private int[] values;
private int[][] reward;
public static Map<Integer, SDailyTasksConfig> config;
public static Map<Integer, List<SDailyTasksConfig>> sTaskConfigByTypeMap;
@Override
public void init() throws Exception {
Map<Integer, SDailyTasksConfig> configTmp = STableManager.getConfig(SDailyTasksConfig.class);
Map<Integer, List<SDailyTasksConfig>> configListTmp = new HashMap<>();
for(SDailyTasksConfig sDailyTasksConfig : configTmp.values()){
int taskType = sDailyTasksConfig.getType();
if(!configListTmp.containsKey(taskType)){
configListTmp.put(taskType,new ArrayList<>());
}
configListTmp.get(taskType).add(sDailyTasksConfig);
}
config = configTmp;
sTaskConfigByTypeMap = configListTmp;
}
public static SDailyTasksConfig getSDailyTasksConfigById(int missionId) {
return config.get(missionId);
}
public static List<SDailyTasksConfig> getsTaskConfigByTypeMap(int missionType) {
return sTaskConfigByTypeMap.get(missionType);
}
public int getId() {
return id;
}
public int getType() {
return type;
}
public int[] getValues() {
return values;
}
public int[][] getReward() {
return reward;
}
}

View File

@ -31,7 +31,12 @@ public enum FunctionIdEnum {
DailyTasks(12),
WorldBoss(13),
Talking(14);
Talking(14),
DailyMission(20),
;
private int functionId;
private static Map<Integer,FunctionIdEnum> functionIdEnumMap = new HashMap<>();

View File

@ -4,6 +4,7 @@ public interface Global {
int STAMINA = 2; // 体力id
int HEROSTORY_TICKET = 28; //精英入场券
int GENERALSTORY_TICKET = 27; //普通入场券
int GOLD = 14; //金币
int GEM = 16; // 妖精id
int SEND_CARD_COUNT = 20; // 每页发送卡牌个数
int SEND_ITEM_COUNT = 200; // 每页发送道具个数

View File

@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.arena.ArenaLogic;
import com.ljsd.jieling.logic.dao.PlayerManager;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
@ -60,7 +61,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
//竞技场免费次数刷新
ArenaLogic.getInstance().flushFreeUseTimes(user);
PlayerLogic.getInstance().vipflushEveryDay(user);
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH);
}
playerInfoManager.setLoginTime(TimeUtils.now());
Map<Integer, Integer> guidePoints = playerInfoManager.getGuidePoints();

View File

@ -0,0 +1,21 @@
package com.ljsd.jieling.handler.mission;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.mission.MissionLoigc;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto;
import org.springframework.stereotype.Component;
@Component
public class GetDailyMissionHandler extends BaseHandler {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.GET_DAILY_MISSION_REQUEST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
MissionLoigc.getDailyMissionInfo(iSession);
}
}

View File

@ -201,8 +201,8 @@ public class ArenaLogic {
arenaManager.updateChallenge(fightResult);
//组战斗数据
ArenaInfoProto.ArenaChallengeResponse build = builder.setMyScoreChange(myscoreChange).setDefScoreChange(defScoreChange).addAllArenaEnemys(getArenaEnemyList(arenaManager.getArenaEnemies())).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,build,true);
user.getUserMissionManager().onGameEvent(user, GameEvent.ARENA_CHALLENGE,fightResult,myscoreChange + myscore);
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,build,true);
}
public void setMyArenaEnemys(int uid,User user){

View File

@ -60,6 +60,31 @@ public class CumulationData {
private Map<Integer,Integer> storyFightInfo =new HashMap<>(3);
private BitSet exploreFight = new BitSet(512);
public int buyGoldTimes; // 买金币次数
public int buyStaminaTimes; // 买金币次数
public int createEquips;//工坊合成装备件数
public int generalStoryTimes; //每日挑战普通副本次数
public int heroStoryTimes;//每日挑战精英副本次数
public int levelStoryTimes; //每日挑战故事关卡次数
public int heroLevleTimes; //任意妖灵师完成升级次数
public int takeAdventurerewardTimes;//收取秘境奖励次数
public int arenaFightsuccesTimes; //竞技场胜利胜利场次
public int finsihDayilyTimes; //完成每日任务数量
//任务重置
public void reset(){
buyGoldTimes =0;
buyStaminaTimes=0;
createEquips=0;
generalStoryTimes=0;
heroStoryTimes=0;
levelStoryTimes=0;
heroLevleTimes=0;
takeAdventurerewardTimes=0;
arenaFightsuccesTimes=0;
finsihDayilyTimes=0;
}
public Result updateData(MissionType missionType, Object...parm) throws Exception {
return DataManagerDistributor.updateData(this, missionType,parm);

View File

@ -8,6 +8,7 @@ import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.TimeUtils;
@ -91,6 +92,7 @@ public class UserManager {
teamPosManager.addTeamOfInitPlayer(heroMap.values());
int force = HeroLogic.getInstance().calTeamTotalForce(user, 1, true);
playerManager.setMaxForce(force);
PlayerLogic.getInstance().vipflushEveryDay(user);
ActivityLogic.getInstance().newPlayerOpenActivityMission(user);
}

View File

@ -1,23 +1,28 @@
package com.ljsd.jieling.logic.dao;
import com.ljsd.common.mogodb.MongoBase;
import com.ljsd.jieling.config.SDailyTasksConfig;
import com.ljsd.jieling.config.SVipLevelConfig;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.GameMisionType;
import com.ljsd.jieling.logic.mission.MissionType;
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
import com.ljsd.jieling.logic.mission.main.DailyMissionIdsType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import com.ljsd.jieling.logic.mission.main.VipMissionIdsType;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class UserMissionManager extends MongoBase {
private VipMissionIdsType vipMissionIdsType=new VipMissionIdsType();
private DailyMissionIdsType dailyMissionIdsType=new DailyMissionIdsType();
//数据累加项
private CumulationData cumulationData = new CumulationData();
private CumulationData dailyCumulationData = new CumulationData();
public void openMission(User user,GameEvent event, Object... parm){
switch (event){
@ -30,15 +35,37 @@ public class UserMissionManager extends MongoBase {
}
updateString("vipMissionIdsType",vipMissionIdsType);
}
break;
case DAILY_REFRESH:
Set<Integer> missionIds = SDailyTasksConfig.config.keySet();
int type = (int)parm[0];
if(type == 0){
dailyMissionIdsType.getDoingMissionIds().clear();
dailyMissionIdsType.getFinishMissionIds().clear();
dailyMissionIdsType.getRewardedMissionIds().clear();
dailyCumulationData.reset();
updateString("dailyCumulationData",dailyCumulationData);
}
dailyMissionIdsType.getDoingMissionIds().addAll(missionIds);
updateString("dailyMissionIdsType",dailyMissionIdsType);
break;
}
}
public void rewardMission(GameEvent gameEvent,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,Object...parm){
public void rewardMission(User user,GameEvent gameEvent,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,Object...parm) throws Exception {
switch (gameEvent){
case VIP_MISSION_REWARD:{
vipMissionIdsType.rewardMission((int)parm[0], missionTypeEnumListMap.get(GameMisionType.VIPMISSION));
}
break;
case DAILY_MISSION_REWARD:{
dailyMissionIdsType.rewardMission((int)parm[0], missionTypeEnumListMap.get(GameMisionType.DAILYMISSION));
calCumulationDataResult(user,MissionType.FINSIH_DAYILY_TIMES,missionTypeEnumListMap,1);
}
break;
}
}
@ -49,7 +76,13 @@ public class UserMissionManager extends MongoBase {
public void calCumulationDataResult(User user, MissionType missionType, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap , Object...parm) throws Exception {
CumulationData.Result result = cumulationData.updateData(missionType, parm);
CumulationData.Result result = dailyCumulationData.updateData(missionType, parm);
if(result!=null){
dailyMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.DAILYMISSION),dailyCumulationData);
updateString("dailyCumulationData",dailyCumulationData);
updateString("dailyMissionIdsType",dailyMissionIdsType);
}
result = cumulationData.updateData(missionType, parm);
if(result!=null){
vipMissionIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.VIPMISSION),cumulationData);
updateString("cumulationData",cumulationData);
@ -69,4 +102,12 @@ public class UserMissionManager extends MongoBase {
public CumulationData getCumulationData() {
return cumulationData;
}
public DailyMissionIdsType getDailyMissionIdsType() {
return dailyMissionIdsType;
}
public CumulationData getDailyCumulationData() {
return dailyCumulationData;
}
}

View File

@ -382,6 +382,7 @@ public class CombatLogic {
Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
result.put(1,baseBuilder.build());
result.put(2,randomBuilder.build());
user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD);
return result;
}

View File

@ -432,11 +432,11 @@ public class HeroLogic {
}
if(scHeroRankUpConfigByTypeStar!=null){
boolean isOk =false;
boolean isCheck = false;
// boolean isCheck = false;
for(SCHeroRankUpConfig scHeroRankUpConfigStar:scHeroRankUpConfigByTypeStar.values()){
int limitStar = scHeroRankUpConfigStar.getLimitStar();
if(hero.getStar()>limitStar){
isCheck=true;
if(hero.getStar()>=limitStar){
// isCheck=true;
if(hero.getLevel()+1<=scHeroRankUpConfigStar.getOpenLevel()){
isOk = true;
break;
@ -444,7 +444,7 @@ public class HeroLogic {
}
}
if(isCheck && !isOk){
if(!isOk){
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,"max level");
return;
}

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
@ -297,11 +298,15 @@ public class WorkShopLogic {
//熟练度提升
int type = sWorkShopEquipmentConfig.getType();
int addExp = sWorkShopEquipmentConfig.getExp()*nums;
int workShopLevel = user.getWorkShopController().getWorkShopLevel();
if(type == GlobalsDef.WORK_SHOP_TYPE){
while (nums-->0){
Equip equip = new Equip(Integer.toString(uid), equipTid, workShopLevel, runneIdsList);
user.getEquipManager().addEquip(user,equip);
dropBuilder.addEquipId(CBean2Proto.getEquipProto(equip));
}
user.getWorkShopController().addWorkShopExp(user,addExp);
Map<Integer,Integer> equips = new HashMap<>();
equips.put(equipTid,nums);
ItemUtil.addEquip(user,equips,dropBuilder,BIReason.WORKSHOP_CREATEQUIP);
user.getUserMissionManager().onGameEvent(user, GameEvent.WORKSHOP_CREATE_EQUIP,nums);
}else if( type == GlobalsDef.COOK_SHOP_TYPE){
user.getWorkShopController().addCookExp(addExp);
Map<Integer,Integer> items = new HashMap<>();

View File

@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.mission;
public enum GameEvent {
VIP_LEVLUP, //vip等级提升
DAILY_REFRESH,//日常任务刷新
RANDOM_HERO,// 抽卡
GET_HERO,//获取新英雄
HERO_LEVEL_UP, //英雄等级提升
@ -17,4 +18,9 @@ public enum GameEvent {
SECRETBOX,// 秘盒抽取
KILLINVASIONBOSS,// 外敌入侵击杀次数
VIP_MISSION_REWARD, //vip任务领取事件
DAILY_MISSION_REWARD, //每日任务领取事件
WORKSHOP_CREATE_EQUIP,//打造装备
ADVENTURE_TAKEREWARD, //收取秘境奖励
BUY_MATERIAL,//购买道具
}

View File

@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.mission;
public enum GameMisionType {
VIPMISSION(1),
DAILYMISSION(2),
;
private int type;

View File

@ -1,14 +1,12 @@
package com.ljsd.jieling.logic.mission;
import com.ljsd.jieling.config.SCHero;
import com.ljsd.jieling.config.SLevelDifficultyConfig;
import com.ljsd.jieling.config.STaskConfig;
import com.ljsd.jieling.config.SVipLevelConfig;
import com.ljsd.jieling.config.*;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.main.DailyMissionIdsType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import com.ljsd.jieling.logic.mission.main.VipMissionIdsType;
import com.ljsd.jieling.network.session.ISession;
@ -34,6 +32,37 @@ public class MissionLoigc {
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_VIP_MISSION_REPONSE_VALUE,vipMissionResponse,true);
}
public static void getDailyMissionInfo(ISession session) throws Exception {
int uid = session.getUid();
User user = UserManager.getUser(uid);
PlayerInfoProto.GetDailyMissionResponse dailyMissionResponse = getDailyMissionResponse(user);
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_DAILY_MISSION_RESPONSE_VALUE,dailyMissionResponse,true);
}
public static PlayerInfoProto.GetDailyMissionResponse getDailyMissionResponse(User user){
UserMissionManager userMissionManager = user.getUserMissionManager();
DailyMissionIdsType dailyMissionIdsType = userMissionManager.getDailyMissionIdsType();
CumulationData dailyCumulationData = userMissionManager.getDailyCumulationData();
Set<Integer> doingMissionIds = dailyMissionIdsType.getDoingMissionIds();
Set<Integer> finishMissionIds = dailyMissionIdsType.getFinishMissionIds();
Map<Integer, SDailyTasksConfig> config = SDailyTasksConfig.config;
PlayerInfoProto.GetDailyMissionResponse.Builder builder = PlayerInfoProto.GetDailyMissionResponse.newBuilder();
int dailymissionType = GameMisionType.DAILYMISSION.getType();
for(SDailyTasksConfig sDailyTasksConfig:config.values()){
int state = 2;
int missionId = sDailyTasksConfig.getId();
int progrss = sDailyTasksConfig.getValues()[1];
if(doingMissionIds.contains(missionId)){
state = 0;
progrss = getDoingProgress(user,dailyCumulationData,sDailyTasksConfig.getType(),sDailyTasksConfig.getValues()[0]);
}else if(finishMissionIds.contains(missionId)){
state = 1;
}
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(dailymissionType).setProgress(progrss));
}
return builder.build();
}
public static CommonProto.VipMissionInfo getVipMissionResponse(User user){
PlayerManager playerInfoManager = user.getPlayerInfoManager();
int vipLevel = playerInfoManager.getVipLevel();
@ -48,6 +77,7 @@ public class MissionLoigc {
int[] openRules = sVipLevelConfig.getOpenRules();
Set<Integer> doingMissionIds = vipMissionIdsType.getDoingMissionIds();
Set<Integer> finishMissionIds = vipMissionIdsType.getFinishMissionIds();
int vipmissionType = GameMisionType.VIPMISSION.getType();
for(int missionId : openRules){
int state = 2;
STaskConfig sTaskConfig = STaskConfig.getsTaskConfigById(missionId);
@ -58,7 +88,7 @@ public class MissionLoigc {
}else if(finishMissionIds.contains(missionId)){
state = 1;
}
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(1).setProgress(progrss));
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(vipmissionType).setProgress(progrss));
}
return builder.build();
}
@ -67,19 +97,23 @@ public class MissionLoigc {
int uid = session.getUid();
User user = UserManager.getUser(uid);
UserMissionManager userMissionManager = user.getUserMissionManager();
if(type == 1){ //vip 任务
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId);
List<MissionStateChangeInfo> missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.VIPMISSION);
if(!missionStateChangeInfos.isEmpty()){
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD);
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
}else{
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
}
return;
List<MissionStateChangeInfo> missionStateChangeInfos = null;
if(type == GameMisionType.VIPMISSION.getType()){ //vip 任务
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId);missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.VIPMISSION);
}
if(type == GameMisionType.DAILYMISSION.getType()){ //vip 任务
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.DAILY_MISSION_REWARD, missionId);
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION);
}
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD);
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
}else{
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
}
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"parm is wrong");
}
public static int getDoingProgress(User user,CumulationData cumulationData, int missionTypeId, int missionSubType){
@ -171,6 +205,33 @@ public class MissionLoigc {
}
}
break;
case BUY_GOLD_TIMES:
count=cumulationData.buyGoldTimes;
break;
case WORKSHOP_CREATE_EQUIP_NUMS:
count=cumulationData.createEquips;
break;
case GENERAL_STORY_TIMES:
count=cumulationData.generalStoryTimes;
break;
case HERO_STORY_TIMES:
count=cumulationData.heroStoryTimes;
break;
case LEVEL_STORY_TIMES:
count=cumulationData.levelStoryTimes;
break;
case HERO_LEVLE_TIMES:
count=cumulationData.heroLevleTimes;
break;
case TAKE_ADVENTUREREWARD_TIMES:
count=cumulationData.takeAdventurerewardTimes;
break;
case ARENA_FIGHTSUCCES_TIMES:
count=cumulationData.arenaFightsuccesTimes;
break;
case FINSIH_DAYILY_TIMES:
count=cumulationData.finsihDayilyTimes;
break;
default:
count = 0;
break;

View File

@ -28,7 +28,18 @@ public enum MissionType {
SECRETBOX_TIMES(18),//抽取秘盒次数 累计抽取秘盒数量
EQUIP_FORCE_NUMS(19), //获得%s战力的装备件数
BUY_GOLD_TIMES(20), //买金币次数
BUY_STAMINA_TIMES(21), //购买体力次数
WORKSHOP_CREATE_EQUIP_NUMS(22), //工坊合成装备件数
GENERAL_STORY_TIMES(23), //每日挑战普通副本次数
HERO_STORY_TIMES(24), //每日挑战精英副本次数
LEVEL_STORY_TIMES(25), //每日挑战故事关卡次数
HERO_LEVLE_TIMES(26), //任意妖灵师完成升级次数
TAKE_ADVENTUREREWARD_TIMES(27), //收取秘境奖励次数
ARENA_FIGHTSUCCES_TIMES(28), //竞技场胜利胜利场次
FINSIH_DAYILY_TIMES(29), //完成每日任务数量
;
private int missionType;
@ -81,6 +92,26 @@ public enum MissionType {
return SECRETBOX_TIMES;
case 19:
return EQUIP_FORCE_NUMS;
case 20:
return BUY_GOLD_TIMES;
case 21:
return BUY_STAMINA_TIMES;
case 22:
return WORKSHOP_CREATE_EQUIP_NUMS;
case 23:
return GENERAL_STORY_TIMES;
case 24:
return HERO_STORY_TIMES;
case 25:
return LEVEL_STORY_TIMES;
case 26:
return HERO_LEVLE_TIMES;
case 27:
return TAKE_ADVENTUREREWARD_TIMES;
case 28:
return ARENA_FIGHTSUCCES_TIMES;
case 29:
return FINSIH_DAYILY_TIMES;
default:
return null;
}

View File

@ -16,6 +16,10 @@ public class ArenaChallengeManager implements BaseDataManager{
data.setArenaScore(myscore);
result = new CumulationData.Result(missionType);
}
}else if(missionType == MissionType.ARENA_FIGHTSUCCES_TIMES){
if((int)parm[0] == 1){
data.arenaFightsuccesTimes++;
}
}
return result;

View File

@ -0,0 +1,19 @@
package com.ljsd.jieling.logic.mission.data;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.mission.MissionType;
public class BuyGoodsManager implements BaseDataManager {
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int itemId = (int)parm[0];
int itemNum = (int)parm[0];
if(missionType == MissionType.BUY_GOLD_TIMES && itemId == Global.GOLD){
data.buyGoldTimes = data.buyGoldTimes + itemNum;
}else if(missionType == MissionType.BUY_STAMINA_TIMES && itemId == Global.STAMINA){
data.buyStaminaTimes = data.buyStaminaTimes + itemNum;
}
return new CumulationData.Result(missionType);
}
}

View File

@ -38,6 +38,16 @@ public class DataManagerDistributor {
judges.put(MissionType.KILL_INVASIONBOSS,new KillInvasionBossDataManager());
judges.put(MissionType.SECRETBOX_TIMES,new SecretboxRandomManager());
judges.put(MissionType.EQUIP_FORCE_NUMS,new DefaultDataManager());
judges.put(MissionType.BUY_GOLD_TIMES,new BuyGoodsManager());
judges.put(MissionType.BUY_STAMINA_TIMES,new BuyGoodsManager());
judges.put(MissionType.GENERAL_STORY_TIMES,new FightDataManager());
judges.put(MissionType.HERO_STORY_TIMES,new FightDataManager());
judges.put(MissionType.LEVEL_STORY_TIMES,new FightDataManager());
judges.put(MissionType.HERO_LEVLE_TIMES,new HeroLevelUpManager());
judges.put(MissionType.ARENA_FIGHTSUCCES_TIMES,new ArenaChallengeManager());
}
public static CumulationData.Result updateData(CumulationData data, MissionType missionType, Object...parm) throws Exception {

View File

@ -8,16 +8,20 @@ import java.util.Map;
public class HeroLevelUpManager implements BaseDataManager{
@Override
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
int oldLevle = (int)parm[0];
int newLevle = (int)parm[1];
Map<Integer, Integer> heroLevleCountMap = data.getHeroLevleCountMap();
for(;oldLevle<=newLevle;oldLevle++){
Integer count = heroLevleCountMap.get(oldLevle);
if(count == null){
count=0;
}
heroLevleCountMap.put(oldLevle,count+1);
if(missionType == MissionType.HERO_LEVLE_COUNT){
int oldLevle = (int)parm[0];
int newLevle = (int)parm[1];
Map<Integer, Integer> heroLevleCountMap = data.getHeroLevleCountMap();
for(;oldLevle<=newLevle;oldLevle++){
Integer count = heroLevleCountMap.get(oldLevle);
if(count == null){
count=0;
}
heroLevleCountMap.put(oldLevle,count+1);
}
}else if(missionType == MissionType.HERO_LEVLE_TIMES){
data.heroLevleTimes++;
}
return new CumulationData.Result(missionType);
}

View File

@ -0,0 +1,16 @@
package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.GameMisionType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import java.util.List;
import java.util.Map;
public class DailyRefreshEventProcess implements BaseGameEventProcessor {
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
user.getUserMissionManager().openMission(user,event, parm);
}
}

View File

@ -2,7 +2,6 @@ package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.config.STaskConfig;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.UserMissionManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.*;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
@ -28,9 +27,11 @@ public class MissionEventDistributor {
protected static Map<GameEvent, List<MissionType>> eventEnumListMap = new HashMap<>();
public static void init(){
List<MissionType> typeList = new ArrayList<>();
eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProces());
eventProcessor.put(GameEvent.VIP_LEVLUP,new VipLevelUpEventProcessor());
eventProcessor.put(GameEvent.DAILY_REFRESH,new VipLevelUpEventProcessor());
List<MissionType> typeList = new ArrayList<>();
typeList.add(MissionType.RECRUITMENT_RANDOM_HEROES);
eventEnumListMap.put(GameEvent.RANDOM_HERO,typeList);
eventProcessor.put(GameEvent.RANDOM_HERO,new CumulationDataEventProcessor());
@ -44,6 +45,7 @@ public class MissionEventDistributor {
typeList = new ArrayList<>();
typeList.add(MissionType.HERO_LEVLE_COUNT);
typeList.add(MissionType.HERO_LEVLE_TIMES);
eventEnumListMap.put(GameEvent.HERO_LEVEL_UP,typeList);
eventProcessor.put(GameEvent.HERO_LEVEL_UP,new CumulationDataEventProcessor());
@ -61,6 +63,7 @@ public class MissionEventDistributor {
typeList = new ArrayList<>();
typeList.add(MissionType.ARENA_CHALLENEGE_NUMS);
typeList.add(MissionType.ARENA_SCORE);
typeList.add(MissionType.ARENA_FIGHTSUCCES_TIMES);
eventEnumListMap.put(GameEvent.ARENA_CHALLENGE,typeList);
eventProcessor.put(GameEvent.ARENA_CHALLENGE,new CumulationDataEventProcessor());
@ -68,7 +71,7 @@ public class MissionEventDistributor {
typeList = new ArrayList<>();
typeList.add(MissionType.USER_LEVEL);
eventEnumListMap.put(GameEvent.USER_LEVELUP,typeList);
eventProcessor.put(GameEvent.USER_LEVELUP,new CumulationDataEventProcessor());
eventProcessor.put(GameEvent.USER_LEVELUP,new UserLevelEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.USER_FORCE);
@ -97,6 +100,11 @@ public class MissionEventDistributor {
typeList.add(MissionType.LEVEL_STORY_PASS);
typeList.add(MissionType.GENERAL_STORY_PASS);
typeList.add(MissionType.HERO_STORY_PASS);
typeList.add(MissionType.HERO_STORY_TIMES);
typeList.add(MissionType.LEVEL_STORY_TIMES);
typeList.add(MissionType.HERO_LEVLE_TIMES);
eventEnumListMap.put(GameEvent.STORY_FIGHT,typeList);
eventProcessor.put(GameEvent.STORY_FIGHT,new CumulationDataEventProcessor());
@ -112,7 +120,25 @@ public class MissionEventDistributor {
eventEnumListMap.put(GameEvent.SECRETBOX,typeList);
eventProcessor.put(GameEvent.SECRETBOX,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.BUY_GOLD_TIMES);
typeList.add(MissionType.BUY_STAMINA_TIMES);
eventEnumListMap.put(GameEvent.BUY_MATERIAL,typeList);
eventProcessor.put(GameEvent.BUY_MATERIAL,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.WORKSHOP_CREATE_EQUIP_NUMS);
eventEnumListMap.put(GameEvent.WORKSHOP_CREATE_EQUIP,typeList);
eventProcessor.put(GameEvent.WORKSHOP_CREATE_EQUIP,new CumulationDataEventProcessor());
typeList = new ArrayList<>();
typeList.add(MissionType.TAKE_ADVENTUREREWARD_TIMES);
eventEnumListMap.put(GameEvent.ADVENTURE_TAKEREWARD,typeList);
eventProcessor.put(GameEvent.ADVENTURE_TAKEREWARD,new CumulationDataEventProcessor());
eventProcessor.put(GameEvent.VIP_MISSION_REWARD,new RewardEventProcessor());
eventProcessor.put(GameEvent.DAILY_MISSION_REWARD,new RewardEventProcessor());
}
private static final ThreadLocal<Map<GameMisionType, List<MissionStateChangeInfo>>> threadMissionChangeList =
@ -127,8 +153,10 @@ public class MissionEventDistributor {
if (missionTypeEnumListMap == null) {
missionTypeEnumListMap = new HashMap<>();
missionTypeEnumListMap.put(GameMisionType.VIPMISSION, new ArrayList<MissionStateChangeInfo>());
missionTypeEnumListMap.put(GameMisionType.DAILYMISSION, new ArrayList<MissionStateChangeInfo>());
} else {
missionTypeEnumListMap.get(GameMisionType.VIPMISSION).clear();
missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).clear();
}
threadMissionChangeList.set(missionTypeEnumListMap);
}

View File

@ -11,6 +11,6 @@ import java.util.Map;
public class RewardEventProcessor implements BaseGameEventProcessor{
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap, GameEvent event, Object... parm) throws Exception {
user.getUserMissionManager().rewardMission(event,missionTypeEnumListMap,parm);
user.getUserMissionManager().rewardMission(user,event,missionTypeEnumListMap,parm);
}
}

View File

@ -0,0 +1,23 @@
package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.config.SGlobalSystemConfig;
import com.ljsd.jieling.core.FunctionIdEnum;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.GameMisionType;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import java.util.List;
import java.util.Map;
public class UserLevelEventProcessor implements BaseGameEventProcessor{
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> misionTypeListMap, GameEvent event, Object... parm) throws Exception {
int openRule = SGlobalSystemConfig.getsGlobalSystemConfigByFunctionId(FunctionIdEnum.DailyMission).getOpenRules()[1];
int level= (int)parm[0];
if(level==openRule){
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_REFRESH,1);
}
}
}

View File

@ -9,7 +9,7 @@ import java.util.List;
import java.util.Map;
public class VipLevelUpEventProces implements BaseGameEventProcessor {
public class VipLevelUpEventProcessor implements BaseGameEventProcessor {
@Override
public void onGameEvent(User user, Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap, GameEvent event, Object... parm) {
user.getUserMissionManager().openMission(user,event, parm);

View File

@ -60,4 +60,8 @@ public abstract class AbstractMissionType {
public Set<Integer> getFinishMissionIds() {
return finishMissionIds;
}
public BitSet getRewardedMissionIds() {
return rewardedMissionIds;
}
}

View File

@ -0,0 +1,69 @@
package com.ljsd.jieling.logic.mission.main;
import com.ljsd.jieling.config.SDailyTasksConfig;
import com.ljsd.jieling.config.STaskConfig;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionLoigc;
import com.ljsd.jieling.logic.mission.MissionState;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class DailyMissionIdsType extends AbstractMissionType{
@Override
public void openMission(User user, int missionId) {
getDoingMissionIds().clear();
getFinishMissionIds().clear();
getDoingMissionIds().add(missionId);
}
@Override
public int[][] reward(int missionId) {
SDailyTasksConfig sDailyTasksConfigById = SDailyTasksConfig.getSDailyTasksConfigById(missionId);
return sDailyTasksConfigById.getReward();
}
@Override
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) {
Set<Integer> doingMissionIds = getDoingMissionIds();
List<SDailyTasksConfig> sTaskConfigs = SDailyTasksConfig.getsTaskConfigByTypeMap(result.subType.getMissionTypeValue());
if (sTaskConfigs == null) {
return;
}
for (SDailyTasksConfig sTaskConfig : sTaskConfigs) {
int missionId = sTaskConfig.getId();
if (!doingMissionIds.contains(missionId)) {
continue;
}
boolean isFinish = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getType(), sTaskConfig.getValues()[0]) >= sTaskConfig.getValues()[1];
if (!isFinish) {
MissionStateChangeInfo doingInfo = new MissionStateChangeInfo(missionId,
MissionState.DOING, null);
boolean flag = false;
for (MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos) {
if (missionStateChangeInfo.getMissionId() == missionId) {
flag = true;
}
}
if (!flag) {
missionStateChangeInfos.add(doingInfo);
}
continue;
}
MissionStateChangeInfo finishInfo = new MissionStateChangeInfo(missionId,
MissionState.FINISH, null);
Iterator<MissionStateChangeInfo> iterator = missionStateChangeInfos.iterator();
while (iterator.hasNext()) {
MissionStateChangeInfo next = iterator.next();
if (next.getMissionId() == missionId) {
iterator.remove();
}
}
missionStateChangeInfos.add(finishInfo);
doingMissionIds.remove(missionId);
getFinishMissionIds().add(missionId);
}
}
}

View File

@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.dao.StoreInfo;
import com.ljsd.jieling.logic.dao.StoreManager;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
@ -190,6 +191,7 @@ public class StoreLogic {
int goodsNum = sStoreConfig.getGoods()[1]*itemNum;
String reward = goodsId +"#"+goodsNum;
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt2(reward), BIReason.STORE_BUY_ITEM);
user.getUserMissionManager().onGameEvent(user, GameEvent.BUY_MATERIAL,goodsId,goodsNum);
PlayerInfoProto.BuyStoreItemResponse builder = PlayerInfoProto.BuyStoreItemResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(iSession, 1,msgId, builder, true);
}