From 36461a5521d35b23b196e1caef7dd4076f444b13 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Wed, 5 Jun 2019 11:19:56 +0800 Subject: [PATCH] fix equip --- conf/server/AccomplishmentConfig.txt | 270 +++++------ conf/server/ArtResourcesConfig.txt | 7 + conf/server/ChallengeConfig.txt | 4 +- conf/server/DailyTasksConfig.txt | 9 + conf/server/EventPointConfig.txt | 16 + conf/server/GlobalSystemConfig.txt | 1 + conf/server/MapPointConfig.txt | 5 + conf/server/MonsterGroup.txt | 2 + conf/server/OptionConfig.txt | 54 ++- conf/server/RewardGroup.txt | 4 +- conf/server/RewardItemConfig.txt | 4 +- conf/server/SkillLogicConfig.txt | 424 +++++++++--------- .../jieling/config/SDailyTasksConfig.java | 67 +++ .../com/ljsd/jieling/core/FunctionIdEnum.java | 7 +- .../java/com/ljsd/jieling/globals/Global.java | 1 + .../jieling/handler/GetPlayerInfoHandler.java | 3 +- .../mission/GetDailyMissionHandler.java | 21 + .../ljsd/jieling/logic/arena/ArenaLogic.java | 2 +- .../jieling/logic/dao/CumulationData.java | 25 ++ .../ljsd/jieling/logic/dao/UserManager.java | 2 + .../jieling/logic/dao/UserMissionManager.java | 45 +- .../ljsd/jieling/logic/fight/CombatLogic.java | 1 + .../ljsd/jieling/logic/hero/HeroLogic.java | 8 +- .../jieling/logic/item/WorkShopLogic.java | 11 +- .../ljsd/jieling/logic/mission/GameEvent.java | 6 + .../jieling/logic/mission/GameMisionType.java | 1 + .../jieling/logic/mission/MissionLoigc.java | 95 +++- .../jieling/logic/mission/MissionType.java | 33 +- .../mission/data/ArenaChallengeManager.java | 4 + .../logic/mission/data/BuyGoodsManager.java | 19 + .../mission/data/DataManagerDistributor.java | 10 + .../mission/data/HeroLevelUpManager.java | 22 +- .../event/DailyRefreshEventProcess.java | 16 + .../event/MissionEventDistributor.java | 36 +- .../mission/event/RewardEventProcessor.java | 2 +- .../event/UserLevelEventProcessor.java | 23 + ...ces.java => VipLevelUpEventProcessor.java} | 2 +- .../mission/main/AbstractMissionType.java | 4 + .../mission/main/DailyMissionIdsType.java | 69 +++ .../ljsd/jieling/logic/store/StoreLogic.java | 2 + 40 files changed, 913 insertions(+), 424 deletions(-) create mode 100644 conf/server/DailyTasksConfig.txt create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/config/SDailyTasksConfig.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetDailyMissionHandler.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/BuyGoodsManager.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DailyRefreshEventProcess.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java rename serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/{VipLevelUpEventProces.java => VipLevelUpEventProcessor.java} (88%) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/DailyMissionIdsType.java diff --git a/conf/server/AccomplishmentConfig.txt b/conf/server/AccomplishmentConfig.txt index e1f27fdf9..dc70256ba 100644 --- a/conf/server/AccomplishmentConfig.txt +++ b/conf/server/AccomplishmentConfig.txt @@ -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 diff --git a/conf/server/ArtResourcesConfig.txt b/conf/server/ArtResourcesConfig.txt index 16602a8d1..f1f6c44d6 100644 --- a/conf/server/ArtResourcesConfig.txt +++ b/conf/server/ArtResourcesConfig.txt @@ -284,6 +284,13 @@ int 8051 8052 8053 +8054 +8055 +8056 +8057 +8058 +8059 +8060 10001 10002 10003 diff --git a/conf/server/ChallengeConfig.txt b/conf/server/ChallengeConfig.txt index 84dff5c93..4f06b0307 100644 --- a/conf/server/ChallengeConfig.txt +++ b/conf/server/ChallengeConfig.txt @@ -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 diff --git a/conf/server/DailyTasksConfig.txt b/conf/server/DailyTasksConfig.txt new file mode 100644 index 000000000..8fdd358f7 --- /dev/null +++ b/conf/server/DailyTasksConfig.txt @@ -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 diff --git a/conf/server/EventPointConfig.txt b/conf/server/EventPointConfig.txt index 7c82a4d5b..279c56030 100644 --- a/conf/server/EventPointConfig.txt +++ b/conf/server/EventPointConfig.txt @@ -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 diff --git a/conf/server/GlobalSystemConfig.txt b/conf/server/GlobalSystemConfig.txt index 8a2836c0d..7de727078 100644 --- a/conf/server/GlobalSystemConfig.txt +++ b/conf/server/GlobalSystemConfig.txt @@ -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 diff --git a/conf/server/MapPointConfig.txt b/conf/server/MapPointConfig.txt index e7dac9c5f..67fec545f 100644 --- a/conf/server/MapPointConfig.txt +++ b/conf/server/MapPointConfig.txt @@ -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 diff --git a/conf/server/MonsterGroup.txt b/conf/server/MonsterGroup.txt index 7c022c9ca..65063d4b5 100644 --- a/conf/server/MonsterGroup.txt +++ b/conf/server/MonsterGroup.txt @@ -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 diff --git a/conf/server/OptionConfig.txt b/conf/server/OptionConfig.txt index 14a0a327b..3ed9118e7 100644 --- a/conf/server/OptionConfig.txt +++ b/conf/server/OptionConfig.txt @@ -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 diff --git a/conf/server/RewardGroup.txt b/conf/server/RewardGroup.txt index d9a0eab7d..4d3b1c644 100644 --- a/conf/server/RewardGroup.txt +++ b/conf/server/RewardGroup.txt @@ -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 diff --git a/conf/server/RewardItemConfig.txt b/conf/server/RewardItemConfig.txt index cc91d63ba..0b180a697 100644 --- a/conf/server/RewardItemConfig.txt +++ b/conf/server/RewardItemConfig.txt @@ -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 diff --git a/conf/server/SkillLogicConfig.txt b/conf/server/SkillLogicConfig.txt index 28fc1e4f9..dfffe5c6a 100644 --- a/conf/server/SkillLogicConfig.txt +++ b/conf/server/SkillLogicConfig.txt @@ -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 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SDailyTasksConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SDailyTasksConfig.java new file mode 100644 index 000000000..26488b1c2 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SDailyTasksConfig.java @@ -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 config; + public static Map> sTaskConfigByTypeMap; + + + @Override + public void init() throws Exception { + Map configTmp = STableManager.getConfig(SDailyTasksConfig.class); + Map> 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 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; + } + + +} \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java index 025d2f4db..486c33ddb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/FunctionIdEnum.java @@ -31,7 +31,12 @@ public enum FunctionIdEnum { DailyTasks(12), WorldBoss(13), - Talking(14); + Talking(14), + + DailyMission(20), + + ; + private int functionId; private static Map functionIdEnumMap = new HashMap<>(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java index 4461596dd..f56962015 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/Global.java @@ -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; // 每页发送道具个数 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 2c4cd799e..4fa5b1827 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -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 guidePoints = playerInfoManager.getGuidePoints(); 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 new file mode 100644 index 000000000..0f7a4dd4b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/mission/GetDailyMissionHandler.java @@ -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); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index 36970efa6..2152eb933 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -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){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index 58230884c..de9e65cac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -60,6 +60,31 @@ public class CumulationData { private Map 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); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 3bed62a3a..9d5161fb9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -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); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index 3c00c408f..7b9d78c0c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -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 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> missionTypeEnumListMap,Object...parm){ + public void rewardMission(User user,GameEvent gameEvent,Map> 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> 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; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index a4a7ba29b..84e06915c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -382,6 +382,7 @@ public class CombatLogic { Map result = new HashMap<>(2); result.put(1,baseBuilder.build()); result.put(2,randomBuilder.build()); + user.getUserMissionManager().onGameEvent(user,GameEvent.ADVENTURE_TAKEREWARD); return result; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 92e701b5e..bbbe802fa 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -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; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java index da9ed6d1d..17bfa7f2b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java @@ -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 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 items = new HashMap<>(); 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 dd97818de..da15c2eab 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 @@ -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,//购买道具 } 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 fda9f6428..ec4fb0d46 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 @@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.mission; public enum GameMisionType { VIPMISSION(1), + DAILYMISSION(2), ; 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 f16f8e45b..05b08eff0 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 @@ -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 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; + 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 doingMissionIds = vipMissionIdsType.getDoingMissionIds(); Set 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> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId); - List 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 missionStateChangeInfos = null; + if(type == GameMisionType.VIPMISSION.getType()){ //vip 任务 + Map> gameMisionTypeListMap = userMissionManager.onGameEvent(user, GameEvent.VIP_MISSION_REWARD, missionId);missionStateChangeInfos = gameMisionTypeListMap.get(GameMisionType.VIPMISSION); + + } + if(type == GameMisionType.DAILYMISSION.getType()){ //vip 任务 + Map> 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; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java index 9b3ba99ed..f8e9ee7a7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java @@ -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; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ArenaChallengeManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ArenaChallengeManager.java index 994f8d795..c64cd8c4b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ArenaChallengeManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ArenaChallengeManager.java @@ -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; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/BuyGoodsManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/BuyGoodsManager.java new file mode 100644 index 000000000..296f043e1 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/BuyGoodsManager.java @@ -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); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java index c83aaf050..f6b4c1b77 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java @@ -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 { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HeroLevelUpManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HeroLevelUpManager.java index db0449926..2944291df 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HeroLevelUpManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/HeroLevelUpManager.java @@ -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 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 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); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DailyRefreshEventProcess.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DailyRefreshEventProcess.java new file mode 100644 index 000000000..afb070126 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/DailyRefreshEventProcess.java @@ -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> misionTypeListMap, GameEvent event, Object... parm) throws Exception { + user.getUserMissionManager().openMission(user,event, parm); + } +} 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 942e6d782..5e03d39bc 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 @@ -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> eventEnumListMap = new HashMap<>(); public static void init(){ - List 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 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>> threadMissionChangeList = @@ -127,8 +153,10 @@ public class MissionEventDistributor { if (missionTypeEnumListMap == null) { missionTypeEnumListMap = new HashMap<>(); missionTypeEnumListMap.put(GameMisionType.VIPMISSION, new ArrayList()); + missionTypeEnumListMap.put(GameMisionType.DAILYMISSION, new ArrayList()); } else { missionTypeEnumListMap.get(GameMisionType.VIPMISSION).clear(); + missionTypeEnumListMap.get(GameMisionType.DAILYMISSION).clear(); } threadMissionChangeList.set(missionTypeEnumListMap); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/RewardEventProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/RewardEventProcessor.java index f54c9febe..eec7dfcbb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/RewardEventProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/RewardEventProcessor.java @@ -11,6 +11,6 @@ import java.util.Map; public class RewardEventProcessor implements BaseGameEventProcessor{ @Override public void onGameEvent(User user, Map> missionTypeEnumListMap, GameEvent event, Object... parm) throws Exception { - user.getUserMissionManager().rewardMission(event,missionTypeEnumListMap,parm); + user.getUserMissionManager().rewardMission(user,event,missionTypeEnumListMap,parm); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java new file mode 100644 index 000000000..4c3df0f74 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java @@ -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> 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); + } + + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProces.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java similarity index 88% rename from serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProces.java rename to serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java index c60fbd595..9634bfdb6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProces.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/VipLevelUpEventProcessor.java @@ -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> missionTypeEnumListMap, GameEvent event, Object... parm) { user.getUserMissionManager().openMission(user,event, parm); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/AbstractMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/AbstractMissionType.java index 37484b2fa..7365979e0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/AbstractMissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/AbstractMissionType.java @@ -60,4 +60,8 @@ public abstract class AbstractMissionType { public Set getFinishMissionIds() { return finishMissionIds; } + + public BitSet getRewardedMissionIds() { + return rewardedMissionIds; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/DailyMissionIdsType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/DailyMissionIdsType.java new file mode 100644 index 000000000..1d99f5e95 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/DailyMissionIdsType.java @@ -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 missionStateChangeInfos, CumulationData cumulationData) { + Set doingMissionIds = getDoingMissionIds(); + List 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 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); + } + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index 93a291306..8d2164619 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -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); }