From 0e8da41f9c7de0263944d4b0c720f32e406f9e97 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 21 Jun 2019 18:01:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/server/AccomplishmentConfig.txt | 308 +++++++++--------- conf/server/ChallengeConfig.txt | 70 ++-- conf/server/ChallengeMapConfig.txt | 4 + conf/server/Map_3011.txt | 14 + conf/server/Map_3012.txt | 14 + conf/server/Map_3013.txt | 14 + conf/server/Map_3014.txt | 14 + .../jieling/config/SAccomplishmentConfig.java | 6 +- .../ljsd/jieling/config/SChallengeConfig.java | 27 +- .../jieling/config/SWorkShopTechnology.java | 4 +- .../ljsd/jieling/core/HandlerLogicThread.java | 2 - .../jieling/handler/GetPlayerInfoHandler.java | 5 + .../ljsd/jieling/handler/map/MapLogic.java | 62 ++-- .../ljsd/jieling/handler/map/MapManager.java | 12 + .../ljsd/jieling/handler/map/MapMission.java | 4 +- .../mission/GetDailyMissionHandler.java | 21 -- ...ionHandler.java => GetMissionHandler.java} | 6 +- .../ljsd/jieling/logic/mission/GameEvent.java | 1 + .../jieling/logic/mission/GameMisionType.java | 1 + .../jieling/logic/mission/MissionLoigc.java | 80 +++-- .../event/MissionEventDistributor.java | 7 + .../mission/main/MissionStateChangeInfo.java | 11 + .../jieling/logic/player/PlayerLogic.java | 12 +- 23 files changed, 426 insertions(+), 273 deletions(-) create mode 100644 conf/server/Map_3011.txt create mode 100644 conf/server/Map_3012.txt create mode 100644 conf/server/Map_3013.txt create mode 100644 conf/server/Map_3014.txt delete mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetDailyMissionHandler.java rename serverlogic/src/main/java/com/ljsd/jieling/handler/mission/{GetVipMissionHandler.java => GetMissionHandler.java} (75%) diff --git a/conf/server/AccomplishmentConfig.txt b/conf/server/AccomplishmentConfig.txt index d0de69741..f921cb81d 100644 --- a/conf/server/AccomplishmentConfig.txt +++ b/conf/server/AccomplishmentConfig.txt @@ -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 diff --git a/conf/server/ChallengeConfig.txt b/conf/server/ChallengeConfig.txt index f9f95056b..8c4185081 100644 --- a/conf/server/ChallengeConfig.txt +++ b/conf/server/ChallengeConfig.txt @@ -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 diff --git a/conf/server/ChallengeMapConfig.txt b/conf/server/ChallengeMapConfig.txt index e9a9d57af..2157e9206 100644 --- a/conf/server/ChallengeMapConfig.txt +++ b/conf/server/ChallengeMapConfig.txt @@ -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 diff --git a/conf/server/Map_3011.txt b/conf/server/Map_3011.txt new file mode 100644 index 000000000..40ef627b6 --- /dev/null +++ b/conf/server/Map_3011.txt @@ -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 diff --git a/conf/server/Map_3012.txt b/conf/server/Map_3012.txt new file mode 100644 index 000000000..40ef627b6 --- /dev/null +++ b/conf/server/Map_3012.txt @@ -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 diff --git a/conf/server/Map_3013.txt b/conf/server/Map_3013.txt new file mode 100644 index 000000000..40ef627b6 --- /dev/null +++ b/conf/server/Map_3013.txt @@ -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 diff --git a/conf/server/Map_3014.txt b/conf/server/Map_3014.txt new file mode 100644 index 000000000..40ef627b6 --- /dev/null +++ b/conf/server/Map_3014.txt @@ -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 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SAccomplishmentConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SAccomplishmentConfig.java index 5478d64cb..c3608c7c7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SAccomplishmentConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SAccomplishmentConfig.java @@ -21,6 +21,8 @@ public class SAccomplishmentConfig implements BaseConfig { private int score; + private int[][] reward; + private static Map> sAccomplishmentConfigByMapIdMap; private static Map sAccomplishmentConfigByIdMap; @@ -68,5 +70,7 @@ public class SAccomplishmentConfig implements BaseConfig { return score; } - + public int[][] getReward() { + return reward; + } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java index 82c7e47aa..4b8ee6170 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SChallengeConfig.java @@ -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 config = STableManager.getConfig(SChallengeConfig.class); + Set copyIdsTmp = new HashSet<>(); + for(SChallengeConfig sChallengeConfig:config.values()){ + if(sChallengeConfig.getType() == 3){ + copyIdsTmp.add(sChallengeConfig.getMapId()); + } + } + sChallengeConfigs = config; + copyIds = copyIdsTmp; } public static Map sChallengeConfigs; + public static Set 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; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SWorkShopTechnology.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SWorkShopTechnology.java index fbac6f74a..aa66bd002 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SWorkShopTechnology.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SWorkShopTechnology.java @@ -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; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java b/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java index e661c63e9..ae8d8225f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java @@ -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); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index bb35cd9f6..19c81d47c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -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); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 0af07fa5d..68ce190e7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -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 allMissionProgress = mapMission.getAllMissionProgress(); boolean needUpdate = false; @@ -1218,9 +1234,15 @@ public class MapLogic { if(logic == MapMissionType.VICTORY_EVENT.getMissionTypeValue()){ if(missionValue= 100) { + if (!copyMissionUpdate&&mapMission.getTotalWeight() >= 100) { Set stars = mapManager.getStars(); if (stars == null) { stars = new HashSet<>(3); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 9adf78c36..03b81e11f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -43,6 +43,10 @@ public class MapManager extends MongoBase { private MapMission mapMissionProgres; + private MapMission copyMissionProgres; //副本累计 + + private Set takeCopyMisionRewards =new HashSet<>();//副本奖励 + private int monsterId; private int needKillNum; @@ -394,7 +398,15 @@ public class MapManager extends MongoBase { } } + public MapMission getCopyMissionProgres() { + return copyMissionProgres; + } + public int getFindSuddenlyBossMapId() { return findSuddenlyBossMapId; } + + public Set getTakeCopyMisionRewards() { + return takeCopyMisionRewards; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMission.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMission.java index ffc1288b1..bb86bdf94 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMission.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapMission.java @@ -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 allMissionProgress; + private Map allMissionProgress = new HashMap<>(); private int totalWeight; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetDailyMissionHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetDailyMissionHandler.java deleted file mode 100644 index 0f7a4dd4b..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetDailyMissionHandler.java +++ /dev/null @@ -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); - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetVipMissionHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetMissionHandler.java similarity index 75% rename from serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetVipMissionHandler.java rename to serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetMissionHandler.java index 5fc9b8afe..3d1815dbf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetVipMissionHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetMissionHandler.java @@ -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); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java index da15c2eab..c783ecc88 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java @@ -19,6 +19,7 @@ public enum GameEvent { KILLINVASIONBOSS,// 外敌入侵击杀次数 VIP_MISSION_REWARD, //vip任务领取事件 DAILY_MISSION_REWARD, //每日任务领取事件 + COPY_MISSION_REWARD, //每日任务领取事件 WORKSHOP_CREATE_EQUIP,//打造装备 ADVENTURE_TAKEREWARD, //收取秘境奖励 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameMisionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameMisionType.java index ec4fb0d46..0635bc218 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameMisionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameMisionType.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.mission; public enum GameMisionType { VIPMISSION(1), DAILYMISSION(2), + COPYMISSION(3), ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index dbe85231d..0928276da 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -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 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 missionList){ int level = user.getPlayerInfoManager().getLevel(); int openRule = SGlobalSystemConfig.getsGlobalSystemConfigByFunctionId(FunctionIdEnum.DailyMission).getOpenRules()[1]; if(level doingMissionIds = dailyMissionIdsType.getDoingMissionIds(); Set finishMissionIds = dailyMissionIdsType.getFinishMissionIds(); Map 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 missionList){ + MapMission copyMissionProgres = user.getMapManager().getCopyMissionProgres(); + Map allMissionProgress =new HashMap<>(); + Set takeCopyMisionRewards = user.getMapManager().getTakeCopyMisionRewards(); + if(copyMissionProgres!=null){ + allMissionProgress = copyMissionProgres.getAllMissionProgress(); + } + int missionType = GameMisionType.COPYMISSION.getType(); + for(Integer copyId: SChallengeConfig.copyIds){ + List 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 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 doingMissionIds = vipMissionIdsType.getDoingMissionIds(); Set 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,10 @@ public class MissionLoigc { Map> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.DAILY_MISSION_REWARD, missionId); missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.DAILYMISSION); } + if(type == GameMisionType.COPYMISSION.getType()){ //副本 任务 + Map> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.COPY_MISSION_REWARD, missionId); + missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.COPYMISSION); + } if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){ CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java index 50e5f6698..09a6f6eae 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java @@ -147,6 +147,11 @@ public class MissionEventDistributor { private static final ThreadLocal threadUseFlag = new ThreadLocal(); + public static List getMissionStateChangeInfo(GameMisionType gameMisionType){ + Map> 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()); missionTypeEnumListMap.put(GameMisionType.DAILYMISSION, new ArrayList()); + missionTypeEnumListMap.put(GameMisionType.COPYMISSION, new ArrayList()); } else { missionTypeEnumListMap.get(GameMisionType.VIPMISSION).clear(); missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).clear(); + missionTypeEnumListMap.get(GameMisionType.COPYMISSION).clear(); } threadMissionChangeList.set(missionTypeEnumListMap); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissionStateChangeInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissionStateChangeInfo.java index ee886c8c5..5c3f9dcbb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissionStateChangeInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissionStateChangeInfo.java @@ -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; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index b80abe396..6b0325f90 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -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 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 {