back_recharge
jiahuiwen 2019-06-22 15:56:30 +08:00
commit 3e0801d1ce
25 changed files with 448 additions and 275 deletions

View File

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

View File

@ -1,33 +1,37 @@
Id Type OpenRule Time MapTime ReviveTime MostTime Deaths IsExplore
int int mut,int#int,2 int int mut,int#int,1 int int int
100 1 0#0 240 2147483647 0#0#0#5 600 2 1
101 1 1051#0 120 1200 0#0#0#5 300 2 1
102 1 3051#0 180 1200 0#0#0#5 300 3 1
103 1 5051#0 180 1200 0#0#0#5 300 3 1
104 1 7051#0 240 1200 0#0#0#5 300 3 1
105 1 9051#0 240 1200 0#0#0#5 300 3 1
106 1 11051#0 240 1200 0#0#0#5 300 3 1
107 1 13051#0 240 1200 0#0#0#5 300 3 1
108 1 15051#0 240 1200 0#0#0#5 300 3 1
109 1 1052#0 240 1200 0#0#0#5 300 3 1
110 1 3052#0 240 1200 0#0#0#5 300 3 1
111 1 5052#0 240 1200 0#0#0#5 300 3 1
112 1 7052#0 240 1200 0#0#0#5 300 3 1
113 1 9052#0 240 1200 0#0#0#5 300 3 1
114 1 11052#0 240 1200 0#0#0#5 300 3 1
115 1 13052#0 240 1200 0#0#0#5 300 3 1
201 2 0#15 240 1200 0#0#0#10 300 4 1
202 2 0#20 240 1200 0#0#0#10 300 4 1
203 2 0#26 240 1200 0#0#0#10 300 4 1
204 2 0#31 240 1200 0#0#0#10 300 4 1
205 2 0#35 240 1200 0#0#0#10 300 4 1
206 2 0#38 240 1200 0#0#0#10 300 4 1
207 2 0#42 240 1200 0#0#0#10 300 4 1
208 2 0#44 240 1200 0#0#0#10 300 4 1
209 2 0#47 240 1200 0#0#0#10 300 4 1
210 2 0#49 240 1200 0#0#0#10 300 4 1
211 2 0#51 240 1200 0#0#0#10 300 4 1
212 2 0#54 240 1200 0#0#0#10 300 4 1
213 2 0#55 240 1200 0#0#0#10 300 4 1
214 2 0#57 240 1200 0#0#0#10 300 4 1
215 2 0#59 240 1200 0#0#0#10 300 4 1
Id MapId Type DifficultType OpenRule Time MapTime ReviveTime MostTime Deaths IsExplore
int int int int mut,int#int,2 int int mut,int#int,1 int int int
100 100 1 1 0#0 240 2147483647 0#0#0#5 600 2 1
101 101 1 1 1051#0 120 1200 0#0#0#5 300 2 1
102 102 1 1 2051#0 180 1200 0#0#0#5 300 3 1
103 103 1 1 3051#0 180 1200 0#0#0#5 300 3 1
104 104 1 1 4051#0 240 1200 0#0#0#5 300 3 1
105 105 1 1 5051#0 240 1200 0#0#0#5 300 3 1
106 106 1 1 6051#0 240 1200 0#0#0#5 300 3 1
107 107 1 1 7051#0 240 1200 0#0#0#5 300 3 1
108 108 1 1 8051#0 240 1200 0#0#0#5 300 3 1
109 109 1 1 9051#0 240 1200 0#0#0#5 300 3 1
110 110 1 1 10051#0 240 1200 0#0#0#5 300 3 1
111 111 1 1 11051#0 240 1200 0#0#0#5 300 3 1
112 112 1 1 12051#0 240 1200 0#0#0#5 300 3 1
113 113 1 1 13051#0 240 1200 0#0#0#5 300 3 1
114 114 1 1 14051#0 240 1200 0#0#0#5 300 3 1
115 115 1 1 15051#0 240 1200 0#0#0#5 300 3 1
201 201 2 1 0#15 240 1200 0#0#0#10 300 4 1
202 202 2 1 0#20 240 1200 0#0#0#10 300 4 1
203 203 2 1 0#26 240 1200 0#0#0#10 300 4 1
204 204 2 1 0#31 240 1200 0#0#0#10 300 4 1
205 205 2 1 0#35 240 1200 0#0#0#10 300 4 1
206 206 2 1 0#38 240 1200 0#0#0#10 300 4 1
207 207 2 1 0#42 240 1200 0#0#0#10 300 4 1
208 208 2 1 0#44 240 1200 0#0#0#10 300 4 1
209 209 2 1 0#47 240 1200 0#0#0#10 300 4 1
210 210 2 1 0#49 240 1200 0#0#0#10 300 4 1
211 211 2 1 0#51 240 1200 0#0#0#10 300 4 1
212 212 2 1 0#54 240 1200 0#0#0#10 300 4 1
213 213 2 1 0#55 240 1200 0#0#0#10 300 4 1
214 214 2 1 0#57 240 1200 0#0#0#10 300 4 1
215 215 2 1 0#59 240 1200 0#0#0#10 300 4 1
3011 301 3 1 0#59 240 1200 0#0#0#10 300 4 0
3012 301 3 2 0#59 240 1200 0#0#0#10 300 4 0
3013 301 3 3 0#59 240 1200 0#0#0#10 300 4 0
3014 301 3 4 0#59 240 1200 0#0#0#10 300 4 0

View File

@ -31,3 +31,7 @@ int int mut,int#int,1 int int mut,int#int,1 mut,int#int,1
213 113 20#15 0 1 null 8#4
214 114 20#30 0 1 null 3#3
215 115 21#26 0 1 null 2#13
3011 101 10#12 0 1 null 5#5
3012 101 10#12 0 1 null 5#5
3013 101 10#12 0 1 null 5#5
3014 101 10#12 0 1 null 5#5

View File

@ -0,0 +1,14 @@
id Event Groups isMustAppear
int int mut,int#int,2 int
1 101009 13#6 0
2 101007 1#1|2#1|3#1|4#1|10#1|11#1|12#1|13#1|14#1|15#1|1#2|2#2|12#2|13#2|14#2|15#2|1#3|2#3|12#3|13#3|14#3|15#3|1#4|11#4|12#4|13#4|14#4|15#4|1#5|13#5|14#5|15#5|1#6|5#6|6#6|14#6|15#6|1#7|3#7|4#7|5#7|6#7|7#7|8#7|13#7|14#7|15#7|3#8|4#8|5#8|6#8|7#8|8#8|14#8|15#8|4#9|5#9|6#9|7#9|8#9|6#10|7#10|15#11|5#12|12#12|1#13|4#13|1#14|8#14|9#14|10#14|11#14|12#14|13#14|1#15|8#15|9#15|10#15|11#15|12#15|13#15|1#16|2#16|13#16|1#17|2#17|3#17|4#17|10#17|11#17|12#17|13#17|15#17|1#18|2#18|3#18|11#18|12#18|1#19|10#19|11#19|12#19|13#19|1#20|2#20|3#20|15#20 1
3 101008 11#2 0
4 101017 2#6|6#11|10#16|3#19|12#20 1
5 101018 12#16 0
6 101016 10#3|12#6|3#14|14#16|9#18 1
7 101015 2#19 0
8 101014 10#12 0
9 101001 11#8 0
10 101012 13#18 0
11 101011 10#18 0
12 101010 4#12 0

View File

@ -0,0 +1,14 @@
id Event Groups isMustAppear
int int mut,int#int,2 int
1 101009 13#6 0
2 101007 1#1|2#1|3#1|4#1|10#1|11#1|12#1|13#1|14#1|15#1|1#2|2#2|12#2|13#2|14#2|15#2|1#3|2#3|12#3|13#3|14#3|15#3|1#4|11#4|12#4|13#4|14#4|15#4|1#5|13#5|14#5|15#5|1#6|5#6|6#6|14#6|15#6|1#7|3#7|4#7|5#7|6#7|7#7|8#7|13#7|14#7|15#7|3#8|4#8|5#8|6#8|7#8|8#8|14#8|15#8|4#9|5#9|6#9|7#9|8#9|6#10|7#10|15#11|5#12|12#12|1#13|4#13|1#14|8#14|9#14|10#14|11#14|12#14|13#14|1#15|8#15|9#15|10#15|11#15|12#15|13#15|1#16|2#16|13#16|1#17|2#17|3#17|4#17|10#17|11#17|12#17|13#17|15#17|1#18|2#18|3#18|11#18|12#18|1#19|10#19|11#19|12#19|13#19|1#20|2#20|3#20|15#20 1
3 101008 11#2 0
4 101017 2#6|6#11|10#16|3#19|12#20 1
5 101018 12#16 0
6 101016 10#3|12#6|3#14|14#16|9#18 1
7 101015 2#19 0
8 101014 10#12 0
9 101001 11#8 0
10 101012 13#18 0
11 101011 10#18 0
12 101010 4#12 0

View File

@ -0,0 +1,14 @@
id Event Groups isMustAppear
int int mut,int#int,2 int
1 101009 13#6 0
2 101007 1#1|2#1|3#1|4#1|10#1|11#1|12#1|13#1|14#1|15#1|1#2|2#2|12#2|13#2|14#2|15#2|1#3|2#3|12#3|13#3|14#3|15#3|1#4|11#4|12#4|13#4|14#4|15#4|1#5|13#5|14#5|15#5|1#6|5#6|6#6|14#6|15#6|1#7|3#7|4#7|5#7|6#7|7#7|8#7|13#7|14#7|15#7|3#8|4#8|5#8|6#8|7#8|8#8|14#8|15#8|4#9|5#9|6#9|7#9|8#9|6#10|7#10|15#11|5#12|12#12|1#13|4#13|1#14|8#14|9#14|10#14|11#14|12#14|13#14|1#15|8#15|9#15|10#15|11#15|12#15|13#15|1#16|2#16|13#16|1#17|2#17|3#17|4#17|10#17|11#17|12#17|13#17|15#17|1#18|2#18|3#18|11#18|12#18|1#19|10#19|11#19|12#19|13#19|1#20|2#20|3#20|15#20 1
3 101008 11#2 0
4 101017 2#6|6#11|10#16|3#19|12#20 1
5 101018 12#16 0
6 101016 10#3|12#6|3#14|14#16|9#18 1
7 101015 2#19 0
8 101014 10#12 0
9 101001 11#8 0
10 101012 13#18 0
11 101011 10#18 0
12 101010 4#12 0

View File

@ -0,0 +1,14 @@
id Event Groups isMustAppear
int int mut,int#int,2 int
1 101009 13#6 0
2 101007 1#1|2#1|3#1|4#1|10#1|11#1|12#1|13#1|14#1|15#1|1#2|2#2|12#2|13#2|14#2|15#2|1#3|2#3|12#3|13#3|14#3|15#3|1#4|11#4|12#4|13#4|14#4|15#4|1#5|13#5|14#5|15#5|1#6|5#6|6#6|14#6|15#6|1#7|3#7|4#7|5#7|6#7|7#7|8#7|13#7|14#7|15#7|3#8|4#8|5#8|6#8|7#8|8#8|14#8|15#8|4#9|5#9|6#9|7#9|8#9|6#10|7#10|15#11|5#12|12#12|1#13|4#13|1#14|8#14|9#14|10#14|11#14|12#14|13#14|1#15|8#15|9#15|10#15|11#15|12#15|13#15|1#16|2#16|13#16|1#17|2#17|3#17|4#17|10#17|11#17|12#17|13#17|15#17|1#18|2#18|3#18|11#18|12#18|1#19|10#19|11#19|12#19|13#19|1#20|2#20|3#20|15#20 1
3 101008 11#2 0
4 101017 2#6|6#11|10#16|3#19|12#20 1
5 101018 12#16 0
6 101016 10#3|12#6|3#14|14#16|9#18 1
7 101015 2#19 0
8 101014 10#12 0
9 101001 11#8 0
10 101012 13#18 0
11 101011 10#18 0
12 101010 4#12 0

View File

@ -21,6 +21,8 @@ public class SAccomplishmentConfig implements BaseConfig {
private int score;
private int[][] reward;
private static Map<Integer, List<SAccomplishmentConfig>> sAccomplishmentConfigByMapIdMap;
private static Map<Integer, SAccomplishmentConfig> sAccomplishmentConfigByIdMap;
@ -68,5 +70,7 @@ public class SAccomplishmentConfig implements BaseConfig {
return score;
}
public int[][] getReward() {
return reward;
}
}

View File

@ -3,23 +3,36 @@ package com.ljsd.jieling.config;
import com.ljsd.jieling.logic.STableManager;
import com.ljsd.jieling.logic.Table;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@Table(name = "ChallengeConfig")
public class SChallengeConfig implements BaseConfig {
@Override
public void init() throws Exception {
sChallengeConfigs = STableManager.getConfig(SChallengeConfig.class);
Map<Integer, SChallengeConfig> config = STableManager.getConfig(SChallengeConfig.class);
Set<Integer> copyIdsTmp = new HashSet<>();
for(SChallengeConfig sChallengeConfig:config.values()){
if(sChallengeConfig.getType() == 3){
copyIdsTmp.add(sChallengeConfig.getMapId());
}
}
sChallengeConfigs = config;
copyIds = copyIdsTmp;
}
public static Map<Integer, SChallengeConfig> sChallengeConfigs;
public static Set<Integer> copyIds;
private int id;
private int isExplore;
private int mapId;
private int mapId;//对应副本id
private int[][] openRule;
@ -35,6 +48,8 @@ public class SChallengeConfig implements BaseConfig {
private int deaths;
private int difficultType;
public int getId() {
return id;
}
@ -70,4 +85,12 @@ public class SChallengeConfig implements BaseConfig {
public int getDeaths() {
return deaths;
}
public int getIsExplore() {
return isExplore;
}
public int getDifficultType() {
return difficultType;
}
}

View File

@ -22,7 +22,7 @@ public class SWorkShopTechnology implements BaseConfig {
private int profession;
private int[][] limits;
private int limits;
private int[][] consume;
@ -95,7 +95,7 @@ public class SWorkShopTechnology implements BaseConfig {
return profession;
}
public int[][] getLimits() {
public int getLimits() {
return limits;
}

View File

@ -40,7 +40,6 @@ public class HandlerLogicThread extends Thread{
whiteMsg.add(MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_PLAYERINFO_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_VIP_MISSION_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_ITEMINFO_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_ALL_EQUIP_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_ALL_POKEMON_REQUEST_VALUE);
@ -52,7 +51,6 @@ public class HandlerLogicThread extends Thread{
whiteMsg.add(MessageTypeProto.MessageType.GET_ALL_ACTIVITY_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_FUNCTIONOFTIME_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_SECRETBOX_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_DAILY_MISSION_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.ADVENTURE_INFO_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_FRIEND_INFO_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.GET_STARE_INFOS_REQUEST_VALUE);

View File

@ -17,6 +17,7 @@ public interface BIReason {
int TAKE_MISSION_REWARD = 11;// 领取任务奖励
int TAKE_ACTIVITY_REWARD = 12;// 领取活动奖励
int TAKE_COPY_REWARD = 12;// 领取活动奖励
int TAKE_SECRET_REWARD = 13; //秘盒奖励
int TAKE_SECRET_EXTRA_REWARD = 14;//秘盒额外奖励

View File

@ -78,6 +78,10 @@ public class GetPlayerInfoHandler extends BaseHandler{
MapManager mapManager = user.getMapManager();
CommonProto.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager(), user.getPlayerInfoManager().getMapId(), user.getMapManager().getCurMapId(),user.getMapManager(),roomInfo);
CommonProto.SuddenlyBossInfo suddenlyBossInfo = CommonProto.SuddenlyBossInfo.newBuilder().setSuddBossId(mapManager.getSuddenlyBoss()).setEndTime(mapManager.getSuddenlyBossEndTime()).setFindMapId(mapManager.getFindSuddenlyBossMapId()).build();
CommonProto.VipBaseInfo vipInfoProto = CommonProto.VipBaseInfo.newBuilder()
.setHadTakeDailyBox(playerInfoManager.getHadTakeDailyBoxVip())
.setHadTakeLevelBox(playerInfoManager.getHadTakeLevelBoxVip())
.setVipLevel(playerInfoManager.getVipLevel()).build();
RechargeInfo rechargeInfo = playerInfoManager.getRechargeInfo();
PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse
= PlayerInfoProto.GetPlayerInfoResponse.newBuilder()
@ -87,6 +91,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.addAllGiftGoodsInfo(BuyGoodsLogic.getGoodsBagInfo(userId))
.addAllBuyGoodsId(rechargeInfo.getBuyGoodsTimes().keySet())
.setSuddenlyBossInfo(suddenlyBossInfo)
.setVipBaseInfo(vipInfoProto)
.build();
try {
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true);

View File

@ -17,6 +17,10 @@ import com.ljsd.jieling.logic.fight.CheckFight;
import com.ljsd.jieling.logic.hero.HeroAttributeEnum;
import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.GameMisionType;
import com.ljsd.jieling.logic.mission.MissionState;
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo;
import com.ljsd.jieling.logic.store.BuyGoodsLogic;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.network.session.ISession;
@ -1192,6 +1196,10 @@ public class MapLogic {
mapManager.setMapMissionProgres(mapMission);
}
public void readySendCopyMission(MissionStateChangeInfo missionStateChangeInfo){
MissionEventDistributor.getMissionStateChangeInfo(GameMisionType.COPYMISSION).add(missionStateChangeInfo);
}
public int updateMapMission(MapManager mapManager,int eventType,int eventId,int bossIdOrItemId){
LOGGER.info("the eventtype ={},eventId={},bossItemId={}",eventType,eventId,bossIdOrItemId);
@ -1200,9 +1208,17 @@ public class MapLogic {
return 0;
}
MapMission mapMission = mapManager.getMapMissionProgres();
if(mapMission == null){
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapId);
boolean copyMissionUpdate = false;
if(sChallengeConfig.getType()==3){
mapMission = mapManager.getCopyMissionProgres();
copyMissionUpdate= true;
}
if(mapMission == null ){
return 0;
}
int addScore=0;
Map<Integer, Integer> allMissionProgress = mapMission.getAllMissionProgress();
boolean needUpdate = false;
@ -1218,9 +1234,15 @@ public class MapLogic {
if(logic == MapMissionType.VICTORY_EVENT.getMissionTypeValue()){
if(missionValue<targetEventValue){
allMissionProgress.put(missionId,missionValue+1);
MissionState misisionState = MissionState.DOING;
needUpdate = true;
if(missionValue+1 == targetEventValue){
addScore+=score;
misisionState=MissionState.FINISH;
}
if(copyMissionUpdate){
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,missionValue+1);
readySendCopyMission(missionStateChangeInfo);
}
}
}
@ -1232,8 +1254,14 @@ public class MapLogic {
if(missionValue<targetEventValue){
allMissionProgress.put(missionId,missionValue+1);
needUpdate = true;
MissionState misisionState = MissionState.DOING;
if(missionValue+1 == targetEventValue){
addScore+=score;
misisionState=MissionState.FINISH;
}
if(copyMissionUpdate){
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,missionValue+1);
readySendCopyMission(missionStateChangeInfo);
}
}
}
@ -1252,41 +1280,23 @@ public class MapLogic {
if(missionValue<targetEventValue){
allMissionProgress.put(missionId,missionValue+1);
needUpdate = true;
MissionState misisionState = MissionState.DOING;
if(missionValue+1 == targetEventValue){
addScore+=score;
misisionState=MissionState.FINISH;
}
if(copyMissionUpdate){
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,missionValue+1);
readySendCopyMission(missionStateChangeInfo);
}
}
}
}
}
/* int targetEventId = values[0][0];
if(eventType == EventType.shopEvent){
if(logic == MapMissionType.BUY_GOODS_ID_EVENT.getMissionTypeValue()){
if(targetEventId == eventId && bossIdOrItemId == targetEventValue && missionValue==0 ){
allMissionProgress.put(missionId,1);
addScore+=score;
}
}
if(logic == MapMissionType.BUY_GOODS_TYPE_EVENT.getMissionTypeValue()){
if(targetEventId == eventId && missionValue==0){
SItem sItem = SItem.getsItemMap().get(bossIdOrItemId);
if(sItem.getItemType() == targetEventValue){
allMissionProgress.put(missionId,1);
needUpdate = true;
addScore+=score;
}
}
}
}*/
}
if(addScore!=0){
mapMission.setTotalWeight(mapMission.getTotalWeight()+addScore);
if (mapMission.getTotalWeight() >= 100) {
if (!copyMissionUpdate&&mapMission.getTotalWeight() >= 100) {
Set<Integer> stars = mapManager.getStars();
if (stars == null) {
stars = new HashSet<>(3);

View File

@ -43,6 +43,10 @@ public class MapManager extends MongoBase {
private MapMission mapMissionProgres;
private MapMission copyMissionProgres=new MapMission(); //副本累计
private Set<Integer> takeCopyMisionRewards =new HashSet<>();//副本奖励
private int monsterId;
private int needKillNum;
@ -404,10 +408,18 @@ public class MapManager extends MongoBase {
}
}
public MapMission getCopyMissionProgres() {
return copyMissionProgres;
}
public int getFindSuddenlyBossMapId() {
return findSuddenlyBossMapId;
}
public Set<Integer> getTakeCopyMisionRewards() {
return takeCopyMisionRewards;
}
public int getTower() {
return tower;
}
@ -421,6 +433,11 @@ public class MapManager extends MongoBase {
return fightCount;
}
public void setTakeCopyMisionRewards(Set<Integer> takeCopyMisionRewards) {
updateString("takeCopyMisionRewards" , takeCopyMisionRewards);
this.takeCopyMisionRewards = takeCopyMisionRewards;
}
public void setFightCount(int fightCount) {
updateString("fightCount" , fightCount);
this.fightCount = fightCount;

View File

@ -1,13 +1,15 @@
package com.ljsd.jieling.handler.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapMission {
private int mapId;
private Map<Integer,Integer> allMissionProgress;
private Map<Integer,Integer> allMissionProgress = new HashMap<>();
private int totalWeight;

View File

@ -1,21 +0,0 @@
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

@ -8,14 +8,14 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
import org.springframework.stereotype.Component;
@Component
public class GetVipMissionHandler extends BaseHandler {
public class GetMissionHandler extends BaseHandler {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.GET_VIP_MISSION_REQUEST;
return MessageTypeProto.MessageType.GET_MISSION_REQUEST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
MissionLoigc.getVipMissionInfo(iSession);
MissionLoigc.getMissionInfo(iSession);
}
}

View File

@ -51,7 +51,7 @@ public class WorkShopLogic {
return;
}
int[] openRules = sWorkShopTechnology.getOpenRules();
if(openRules!=null){
if(openRules!=null&&openRules.length>0){
int preTechId = openRules[0];
int preTechLevel = openRules[1];
SWorkShopTechnology preSWorkShopTechnology = SWorkShopTechnology.getsWorkTechMapByTechIdAndLevel(techId, oldLevl);
@ -75,7 +75,7 @@ public class WorkShopLogic {
MessageUtil.sendMessage(iSession,1, msgId,null,true);
}
public void workShopTechnogyReset(ISession session,int profession) throws Exception {
public void workShopTechnoggityReset(ISession session,int profession) throws Exception {
int uid = session.getUid();
int msgId = MessageTypeProto.MessageType.WORKSHOP_TECHNOLOGY_RESET_RESPONSE_VALUE;
User user = UserManager.getUser(uid);

View File

@ -19,6 +19,7 @@ public enum GameEvent {
KILLINVASIONBOSS,// 外敌入侵击杀次数
VIP_MISSION_REWARD, //vip任务领取事件
DAILY_MISSION_REWARD, //每日任务领取事件
COPY_MISSION_REWARD, //每日任务领取事件
WORKSHOP_CREATE_EQUIP,//打造装备
ADVENTURE_TAKEREWARD, //收取秘境奖励

View File

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

View File

@ -4,6 +4,7 @@ package com.ljsd.jieling.logic.mission;
import com.ljsd.jieling.config.*;
import com.ljsd.jieling.core.FunctionIdEnum;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.handler.map.MapMission;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.hero.HeroLogic;
@ -19,43 +20,35 @@ import com.ljsd.jieling.util.MessageUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
public class MissionLoigc {
private static final Logger LOGGER = LoggerFactory.getLogger(MissionLoigc.class);
public static void getVipMissionInfo(ISession session) throws Exception {
public static void getMissionInfo(ISession session) throws Exception {
int uid = session.getUid();
User user = UserManager.getUser(uid);
PlayerInfoProto.GetVipMissionResponse vipMissionResponse = PlayerInfoProto.GetVipMissionResponse.newBuilder().setVipMissionInfo(getVipMissionResponse(user)).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_VIP_MISSION_REPONSE_VALUE,vipMissionResponse,true);
List<CommonProto.UserMissionInfo> missionList = new ArrayList<>();
getDailyMission(user,missionList);
getVipMission(user,missionList);
getCopyMission(user,missionList);
PlayerInfoProto.GetMissionResponse build = PlayerInfoProto.GetMissionResponse.newBuilder().addAllUserMissionInfo(missionList).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GET_MISSION_RESPONSE_VALUE,build,true);
}
public static void getDailyMissionInfo(ISession session) throws Exception {
int uid = session.getUid();
User user = UserManager.getUser(uid);
public static void getDailyMission(User user,List<CommonProto.UserMissionInfo> missionList){
int level = user.getPlayerInfoManager().getLevel();
int openRule = SGlobalSystemConfig.getsGlobalSystemConfigByFunctionId(FunctionIdEnum.DailyMission).getOpenRules()[1];
if(level<openRule){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.GET_DAILY_MISSION_RESPONSE_VALUE,"not open");
return;
}
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;
@ -67,22 +60,48 @@ public class MissionLoigc {
}else if(finishMissionIds.contains(missionId)){
state = 1;
}
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(dailymissionType).setProgress(progrss));
missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(dailymissionType).setProgress(progrss).build());
}
return builder.build();
}
public static CommonProto.VipMissionInfo getVipMissionResponse(User user){
public static void getCopyMission(User user,List<CommonProto.UserMissionInfo> missionList){
MapMission copyMissionProgres = user.getMapManager().getCopyMissionProgres();
Map<Integer, Integer> allMissionProgress =new HashMap<>();
Set<Integer> takeCopyMisionRewards = user.getMapManager().getTakeCopyMisionRewards();
if(copyMissionProgres!=null){
allMissionProgress = copyMissionProgres.getAllMissionProgress();
}
int missionType = GameMisionType.COPYMISSION.getType();
for(Integer copyId: SChallengeConfig.copyIds){
List<SAccomplishmentConfig> sAccomplishmentConfigs = SAccomplishmentConfig.getsAccomplishmentConfigByMapId(copyId);
for(SAccomplishmentConfig sAccomplishmentConfig : sAccomplishmentConfigs){
Integer missionId = sAccomplishmentConfig.getId();
int finishProgress = sAccomplishmentConfig.getValues()[1][0];
Integer mineProgess = allMissionProgress.get(missionId);
if(mineProgess==null){
mineProgess=0;
}
int state =0;
if(mineProgess>=finishProgress){
state=1;
mineProgess=finishProgress;
}
if(takeCopyMisionRewards.contains(missionId)){
state=2;
mineProgess=finishProgress;
}
missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(missionType).setProgress(mineProgess).build());
}
}
}
public static void getVipMission(User user,List<CommonProto.UserMissionInfo> missionList){
PlayerManager playerInfoManager = user.getPlayerInfoManager();
int vipLevel = playerInfoManager.getVipLevel();
CommonProto.VipMissionInfo.Builder builder = CommonProto.VipMissionInfo.newBuilder()
.setHadTakeDailyBox(playerInfoManager.getHadTakeDailyBoxVip())
.setHadTakeLevelBox(playerInfoManager.getHadTakeLevelBoxVip())
.setVipLevel(vipLevel);
UserMissionManager userMissionManager = user.getUserMissionManager();
VipMissionIdsType vipMissionIdsType = userMissionManager.getVipMissionIdsType();
CumulationData cumulationData = userMissionManager.getCumulationData();
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(vipLevel);
SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(playerInfoManager.getVipLevel());
int[] openRules = sVipLevelConfig.getOpenRules();
Set<Integer> doingMissionIds = vipMissionIdsType.getDoingMissionIds();
Set<Integer> finishMissionIds = vipMissionIdsType.getFinishMissionIds();
@ -97,9 +116,8 @@ public class MissionLoigc {
}else if(finishMissionIds.contains(missionId)){
state = 1;
}
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(vipmissionType).setProgress(progrss));
missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(vipmissionType).setProgress(progrss).build());
}
return builder.build();
}
public static void takeMissionReward(ISession session,int type,int missionId) throws Exception {
@ -115,6 +133,24 @@ public class MissionLoigc {
Map<GameMisionType, List<MissionStateChangeInfo>> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.DAILY_MISSION_REWARD, missionId);
missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION);
}
if(type == GameMisionType.COPYMISSION.getType()){ //副本 任务
Set<Integer> takeCopyMisionRewards = user.getMapManager().getTakeCopyMisionRewards();
if(takeCopyMisionRewards.contains(missionId)){
return;
}
Map<Integer, Integer> allMissionProgress = user.getMapManager().getCopyMissionProgres().getAllMissionProgress();
int finsihProgress = SAccomplishmentConfig.getsAccomplishmentConfigByIdMap(missionId).getValues()[1][0];
if(!allMissionProgress.containsKey(missionId) || allMissionProgress.get(missionId) <finsihProgress){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,"mission can not get reward");
return;
}
takeCopyMisionRewards.add(missionId);
user.getMapManager().setTakeCopyMisionRewards(takeCopyMisionRewards);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, SAccomplishmentConfig.getsAccomplishmentConfigByIdMap(missionId).getReward(), BIReason.TAKE_COPY_REWARD);
PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true);
return;
}
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD);

View File

@ -147,6 +147,11 @@ public class MissionEventDistributor {
private static final ThreadLocal<Boolean> threadUseFlag =
new ThreadLocal<Boolean>();
public static List<MissionStateChangeInfo> getMissionStateChangeInfo(GameMisionType gameMisionType){
Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap = threadMissionChangeList.get();
return missionTypeEnumListMap.get(gameMisionType);
}
//请求处理开始时,调用,便于汇总当前请求产生的所有结果
public static void requestStart() {
threadUseFlag.set(true);
@ -155,9 +160,11 @@ public class MissionEventDistributor {
missionTypeEnumListMap = new HashMap<>();
missionTypeEnumListMap.put(GameMisionType.VIPMISSION, new ArrayList<MissionStateChangeInfo>());
missionTypeEnumListMap.put(GameMisionType.DAILYMISSION, new ArrayList<MissionStateChangeInfo>());
missionTypeEnumListMap.put(GameMisionType.COPYMISSION, new ArrayList<MissionStateChangeInfo>());
} else {
missionTypeEnumListMap.get(GameMisionType.VIPMISSION).clear();
missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).clear();
missionTypeEnumListMap.get(GameMisionType.COPYMISSION).clear();
}
threadMissionChangeList.set(missionTypeEnumListMap);
}

View File

@ -5,6 +5,7 @@ import com.ljsd.jieling.logic.mission.MissionState;
public class MissionStateChangeInfo {
private int missionId;
private MissionState missionState;
private int progress;
private int[][] rewwards;
public MissionStateChangeInfo(int missionId, MissionState missionState, int[][] rewwards) {
@ -13,6 +14,16 @@ public class MissionStateChangeInfo {
this.rewwards = rewwards;
}
public MissionStateChangeInfo(int missionId,MissionState missionState, int progress) {
this.missionId = missionId;
this.missionState = missionState;
this.progress = progress;
}
public void setMissionState(MissionState missionState) {
this.missionState = missionState;
}
public int getMissionId() {
return missionId;
}

View File

@ -168,9 +168,15 @@ public class PlayerLogic {
CombatLogic.getInstance().getAdventureReward(user, -1, true,2);
int vipLevel = playerInfoManager.getVipLevel();
playerInfoManager.updateVipInfo(user,vipLevel+1);
CommonProto.VipMissionInfo vipMissionResponse = MissionLoigc.getVipMissionResponse(user);
PlayerInfoProto.VipLevelUpResponse build = PlayerInfoProto.VipLevelUpResponse.newBuilder().setVipMissionInfo(vipMissionResponse).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_LEVELUP_RESPONSE_VALUE,build,true);
List<CommonProto.UserMissionInfo> missionList = new ArrayList<>();
MissionLoigc.getVipMission(user,missionList);
CommonProto.VipBaseInfo vipInfoProto = CommonProto.VipBaseInfo.newBuilder()
.setHadTakeDailyBox(playerInfoManager.getHadTakeDailyBoxVip())
.setHadTakeLevelBox(playerInfoManager.getHadTakeLevelBoxVip())
.setVipLevel(playerInfoManager.getVipLevel()).build();
PlayerInfoProto.VipLevelUpResponse.Builder builder = PlayerInfoProto.VipLevelUpResponse.newBuilder().addAllUserMissionInfo(missionList);
builder.setVipBaseInfo(vipInfoProto);
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_LEVELUP_RESPONSE_VALUE,builder.build(),true);
}
public void takeVipLevelRewad(ISession session,int type) throws Exception {