diff --git a/common/build.gradle b/common/build.gradle index 2836f7e9d..27da04e32 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -21,7 +21,4 @@ dependencies { jar { baseName = 'common' version = '1.0.0' - manifest { - attributes 'Main-Class': 'com.ljsd.jieling.CommonApplication' - } } \ No newline at end of file diff --git a/conf/server/1.Map_101.txt b/conf/server/1.Map_101.txt deleted file mode 100644 index 04d2194b5..000000000 --- a/conf/server/1.Map_101.txt +++ /dev/null @@ -1,24 +0,0 @@ -id Event Groups -int int mut,int#int,2 -1 101005 9#14|10#14|9#15|10#15 -2 101001 5#8|6#8|5#9|6#9 -3 101005 8#11|9#11|8#12|9#12 -4 101005 7#19|8#19|8#20 -5 101010 8#9 -6 101008 10#11 -7 101009 2#18 -8 101004 10#5|10#6 -9 101005 1#7|2#7|1#8|2#8 -10 101005 2#14|3#14|2#15|3#15 -11 101006 8#3 -12 101007 5#5 -13 101001 3#16|4#16|3#17|4#17 -14 101011 7#16 -15 101001 6#2|5#3|6#3 -16 101001 8#4|9#4|8#5|7#6|7#7 -17 101012 3#5|4#5|3#6|4#6 -18 101005 4#19|3#20 -19 101001 4#11|4#12 -20 101002 1#12|2#12|1#13|2#13|5#18|6#18|6#19 -21 101001 6#14|6#15 -22 101003 4#4 diff --git a/conf/server/HeroLevelConfig.txt b/conf/server/HeroLevelConfig.txt index 2b08e2b6d..9110b0183 100644 --- a/conf/server/HeroLevelConfig.txt +++ b/conf/server/HeroLevelConfig.txt @@ -1,252 +1,252 @@ Id Level CharacterLevelPara Consume int int float mut,int#int,2 -1 1 1 2#0|1100#0 -2 2 1 2#500|1100#60 -3 3 1 2#600|1100#70 -4 4 1 2#700|1100#80 -5 5 1 2#800|1100#90 -6 6 1 2#900|1100#100 -7 7 1 2#1000|1100#110 -8 8 1 2#1100|1100#120 -9 9 1 2#1200|1100#130 -10 10 1 2#1300|1100#140 -11 11 1 2#1400|1100#150 -12 12 1 2#1500|1100#160 -13 13 1 2#1600|1100#170 -14 14 1 2#1700|1100#180 -15 15 1 2#1800|1100#190 -16 16 1 2#1900|1100#200 -17 17 1 2#2000|1100#210 -18 18 1 2#2100|1100#220 -19 19 1 2#2200|1100#230 -20 20 1 2#2300|1100#240 -21 21 1 2#2400|1100#250 -22 22 1 2#2500|1100#260 -23 23 1 2#2600|1100#270 -24 24 1 2#2700|1100#280 -25 25 1 2#2800|1100#290 -26 26 1 2#2900|1100#300 -27 27 2 2#3000|1100#310 -28 28 2 2#3100|1100#320 -29 29 2 2#3200|1100#330 -30 30 2 2#3300|1100#340 -31 31 2 2#3500|1100#350 -32 32 2 2#3700|1100#360 -33 33 2 2#3900|1100#370 -34 34 2 2#4100|1100#380 -35 35 2 2#4300|1100#390 -36 36 2 2#4500|1100#400 -37 37 2 2#4700|1100#410 -38 38 2 2#4900|1100#420 -39 39 2 2#5100|1100#430 -40 40 2 2#5300|1100#440 -41 41 2 2#5500|1100#450 -42 42 2 2#5700|1100#460 -43 43 2 2#5900|1100#470 -44 44 2 2#6100|1100#480 -45 45 2 2#6300|1100#490 -46 46 2 2#6500|1100#500 -47 47 2 2#6700|1100#510 -48 48 2 2#6900|1100#520 -49 49 2 2#7100|1100#530 -50 50 2 2#7300|1100#540 -51 51 2 2#7500|1100#550 -52 52 3 2#7700|1100#560 -53 53 3 2#7900|1100#570 -54 54 3 2#8100|1100#580 -55 55 3 2#8300|1100#590 -56 56 3 2#8500|1100#600 -57 57 3 2#8700|1100#610 -58 58 3 2#8900|1100#620 -59 59 3 2#9100|1100#630 -60 60 3 2#9300|1100#640 -61 61 3 2#10000|1100#650 -62 62 3 2#10700|1100#660 -63 63 3 2#11400|1100#670 -64 64 3 2#12100|1100#680 -65 65 3 2#12800|1100#690 -66 66 3 2#13500|1100#700 -67 67 3 2#14200|1100#710 -68 68 3 2#14900|1100#720 -69 69 3 2#15600|1100#730 -70 70 3 2#16300|1100#740 -71 71 3 2#17000|1100#750 -72 72 3 2#17700|1100#760 -73 73 3 2#18400|1100#770 -74 74 3 2#19100|1100#780 -75 75 3 2#19800|1100#790 -76 76 3 2#20500|1100#800 -77 77 3 2#21200|1100#810 -78 78 4 2#21900|1100#820 -79 79 4 2#22600|1100#830 -80 80 4 2#23300|1100#840 -81 81 4 2#24000|1100#850 -82 82 4 2#24700|1100#860 -83 83 4 2#25400|1100#870 -84 84 4 2#26100|1100#880 -85 85 4 2#26800|1100#890 -86 86 4 2#27500|1100#900 -87 87 4 2#28200|1100#910 -88 88 4 2#28900|1100#920 -89 89 4 2#29600|1100#930 -90 90 4 2#30300|1100#940 -91 91 4 2#31000|1100#950 -92 92 4 2#31700|1100#960 -93 93 4 2#32400|1100#970 -94 94 4 2#33100|1100#980 -95 95 4 2#33800|1100#990 -96 96 4 2#34500|1100#1000 -97 97 4 2#35200|1100#1010 -98 98 4 2#35900|1100#1020 -99 99 4 2#36600|1100#1030 -100 100 5 2#37300|1100#1040 -101 101 5 2#38000|1100#1140 -102 102 5 2#39000|1100#1240 -103 103 5 2#40000|1100#1340 -104 104 5 2#41000|1100#1440 -105 105 6 2#42000|1100#1540 -106 106 6 2#43000|1100#1640 -107 107 6 2#44000|1100#1740 -108 108 6 2#45000|1100#1840 -109 109 6 2#46000|1100#1940 -110 110 7 2#47000|1100#2040 -111 111 7 2#48000|1100#2140 -112 112 7 2#49000|1100#2240 -113 113 7 2#50000|1100#2340 -114 114 7 2#51000|1100#2440 -115 115 8 2#52000|1100#2540 -116 116 8 2#53000|1100#2640 -117 117 8 2#54000|1100#2740 -118 118 8 2#55000|1100#2840 -119 119 8 2#56000|1100#2940 -120 120 9 2#57000|1100#3040 -121 121 9 2#58000|1100#3140 -122 122 9 2#59000|1100#3240 -123 123 9 2#60000|1100#3340 -124 124 9 2#61000|1100#3440 -125 125 10 2#62000|1100#3540 -126 126 10 2#63000|1100#3640 -127 127 10 2#64000|1100#3740 -128 128 10 2#65000|1100#3840 -129 129 10 2#66000|1100#3940 -130 130 11 2#67000|1100#4040 -131 131 11 2#68000|1100#4140 -132 132 11 2#69000|1100#4240 -133 133 11 2#70000|1100#4340 -134 134 11 2#71000|1100#4440 -135 135 12 2#72000|1100#4540 -136 136 12 2#73000|1100#4640 -137 137 12 2#74000|1100#4740 -138 138 12 2#75000|1100#4840 -139 139 12 2#76000|1100#4940 -140 140 13 2#77000|1100#5040 -141 141 13 2#80000|1100#5340 -142 142 13 2#83000|1100#5640 -143 143 13 2#86000|1100#5940 -144 144 13 2#89000|1100#6240 -145 145 13 2#92000|1100#6540 -146 146 13 2#95000|1100#6840 -147 147 14 2#98000|1100#7140 -148 148 14 2#101000|1100#7440 -149 149 14 2#104000|1100#7740 -150 150 14 2#107000|1100#8040 -151 151 14 2#110000|1100#8340 -152 152 14 2#113000|1100#8640 -153 153 15 2#116000|1100#8940 -154 154 15 2#119000|1100#9240 -155 155 15 2#122000|1100#9540 -156 156 15 2#125000|1100#9840 -157 157 15 2#128000|1100#10140 -158 158 15 2#131000|1100#10440 -159 159 16 2#134000|1100#10740 -160 160 16 2#137000|1100#11040 -161 161 16 2#140000|1100#11340 -162 162 16 2#145000|1100#11640 -163 163 16 2#150000|1100#11940 -164 164 16 2#155000|1100#12240 -165 165 17 2#160000|1100#12540 -166 166 17 2#165000|1100#12840 -167 167 17 2#170000|1100#13140 -168 168 17 2#175000|1100#13440 -169 169 17 2#180000|1100#13740 -170 170 17 2#185000|1100#14040 -171 171 18 2#190000|1100#14340 -172 172 18 2#195000|1100#14640 -173 173 18 2#200000|1100#14940 -174 174 18 2#205000|1100#15240 -175 175 18 2#210000|1100#15540 -176 176 18 2#215000|1100#15840 -177 177 19 2#220000|1100#16140 -178 178 19 2#225000|1100#16440 -179 179 19 2#230000|1100#16740 -180 180 19 2#235000|1100#17040 -181 181 19 2#240000|1100#17340 -182 182 19 2#245000|1100#17640 -183 183 20 2#250000|1100#17940 -184 184 20 2#255000|1100#18240 -185 185 20 2#260000|1100#18540 -186 186 20 2#265000|1100#18840 -187 187 20 2#270000|1100#19140 -188 188 20 2#275000|1100#19440 -189 189 21 2#280000|1100#19740 -190 190 21 2#285000|1100#20040 -191 191 21 2#290000|1100#20340 -192 192 21 2#295000|1100#20640 -193 193 21 2#300000|1100#20940 -194 194 21 2#305000|1100#21240 -195 195 22 2#310000|1100#21540 -196 196 22 2#315000|1100#21840 -197 197 22 2#320000|1100#22140 -198 198 22 2#325000|1100#22440 -199 199 22 2#330000|1100#22740 -200 200 22 2#335000|1100#22980 -201 201 22 2#340000|1100#23580 -202 202 23 2#345000|1100#24180 -203 203 23 2#350000|1100#24780 -204 204 23 2#355000|1100#25380 -205 205 23 2#360000|1100#25980 -206 206 23 2#365000|1100#26580 -207 207 23 2#370000|1100#27180 -208 208 24 2#375000|1100#27780 -209 209 24 2#380000|1100#28380 -210 210 24 2#385000|1100#28980 -211 211 24 2#390000|1100#29580 -212 212 24 2#395000|1100#30180 -213 213 24 2#400000|1100#30780 -214 214 25 2#405000|1100#31380 -215 215 25 2#410000|1100#31980 -216 216 25 2#415000|1100#32580 -217 217 25 2#420000|1100#33180 -218 218 25 2#425000|1100#33780 -219 219 25 2#430000|1100#34380 -220 220 26 2#435000|1100#34980 -221 221 26 2#440000|1100#35580 -222 222 26 2#445000|1100#36180 -223 223 26 2#450000|1100#36780 -224 224 26 2#455000|1100#37380 -225 225 26 2#460000|1100#37980 -226 226 27 2#465000|1100#38580 -227 227 27 2#470000|1100#39180 -228 228 27 2#475000|1100#39780 -229 229 27 2#480000|1100#40380 -230 230 27 2#485000|1100#40980 -231 231 27 2#490000|1100#41580 -232 232 28 2#495000|1100#42180 -233 233 28 2#500000|1100#42780 -234 234 28 2#505000|1100#43380 -235 235 28 2#510000|1100#43980 -236 236 28 2#515000|1100#44580 -237 237 28 2#520000|1100#45180 -238 238 29 2#525000|1100#45780 -239 239 29 2#530000|1100#46380 -240 240 29 2#535000|1100#46980 -241 241 29 2#540000|1100#47580 -242 242 29 2#545000|1100#48180 -243 243 29 2#550000|1100#48780 -244 244 30 2#555000|1100#49380 -245 245 30 2#560000|1100#49980 -246 246 30 2#565000|1100#50580 -247 247 30 2#570000|1100#51180 -248 248 30 2#575000|1100#51780 -249 249 30 2#580000|1100#52380 -250 250 31 2#585000|1100#52980 +1 1 1 2#500|1100#60 +2 2 1 2#600|1100#70 +3 3 1 2#700|1100#80 +4 4 1 2#800|1100#90 +5 5 1 2#900|1100#100 +6 6 1 2#1000|1100#110 +7 7 1 2#1100|1100#120 +8 8 1 2#1200|1100#130 +9 9 1 2#1300|1100#140 +10 10 1 2#1400|1100#150 +11 11 1 2#1500|1100#160 +12 12 1 2#1600|1100#170 +13 13 1 2#1700|1100#180 +14 14 1 2#1800|1100#190 +15 15 1 2#1900|1100#200 +16 16 1 2#2000|1100#210 +17 17 1 2#2100|1100#220 +18 18 1 2#2200|1100#230 +19 19 1 2#2300|1100#240 +20 20 1 2#2400|1100#250 +21 21 1 2#2500|1100#260 +22 22 1 2#2600|1100#270 +23 23 1 2#2700|1100#280 +24 24 1 2#2800|1100#290 +25 25 1 2#2900|1100#300 +26 26 1 2#3000|1100#310 +27 27 2 2#3100|1100#320 +28 28 2 2#3200|1100#330 +29 29 2 2#3300|1100#340 +30 30 2 2#3500|1100#350 +31 31 2 2#3700|1100#360 +32 32 2 2#3900|1100#370 +33 33 2 2#4100|1100#380 +34 34 2 2#4300|1100#390 +35 35 2 2#4500|1100#400 +36 36 2 2#4700|1100#410 +37 37 2 2#4900|1100#420 +38 38 2 2#5100|1100#430 +39 39 2 2#5300|1100#440 +40 40 2 2#5500|1100#450 +41 41 2 2#5700|1100#460 +42 42 2 2#5900|1100#470 +43 43 2 2#6100|1100#480 +44 44 2 2#6300|1100#490 +45 45 2 2#6500|1100#500 +46 46 2 2#6700|1100#510 +47 47 2 2#6900|1100#520 +48 48 2 2#7100|1100#530 +49 49 2 2#7300|1100#540 +50 50 2 2#7500|1100#550 +51 51 2 2#7700|1100#560 +52 52 3 2#7900|1100#570 +53 53 3 2#8100|1100#580 +54 54 3 2#8300|1100#590 +55 55 3 2#8500|1100#600 +56 56 3 2#8700|1100#610 +57 57 3 2#8900|1100#620 +58 58 3 2#9100|1100#630 +59 59 3 2#9300|1100#640 +60 60 3 2#10000|1100#650 +61 61 3 2#10700|1100#660 +62 62 3 2#11400|1100#670 +63 63 3 2#12100|1100#680 +64 64 3 2#12800|1100#690 +65 65 3 2#13500|1100#700 +66 66 3 2#14200|1100#710 +67 67 3 2#14900|1100#720 +68 68 3 2#15600|1100#730 +69 69 3 2#16300|1100#740 +70 70 3 2#17000|1100#750 +71 71 3 2#17700|1100#760 +72 72 3 2#18400|1100#770 +73 73 3 2#19100|1100#780 +74 74 3 2#19800|1100#790 +75 75 3 2#20500|1100#800 +76 76 3 2#21200|1100#810 +77 77 3 2#21900|1100#820 +78 78 4 2#22600|1100#830 +79 79 4 2#23300|1100#840 +80 80 4 2#24000|1100#850 +81 81 4 2#24700|1100#860 +82 82 4 2#25400|1100#870 +83 83 4 2#26100|1100#880 +84 84 4 2#26800|1100#890 +85 85 4 2#27500|1100#900 +86 86 4 2#28200|1100#910 +87 87 4 2#28900|1100#920 +88 88 4 2#29600|1100#930 +89 89 4 2#30300|1100#940 +90 90 4 2#31000|1100#950 +91 91 4 2#31700|1100#960 +92 92 4 2#32400|1100#970 +93 93 4 2#33100|1100#980 +94 94 4 2#33800|1100#990 +95 95 4 2#34500|1100#1000 +96 96 4 2#35200|1100#1010 +97 97 4 2#35900|1100#1020 +98 98 4 2#36600|1100#1030 +99 99 4 2#37300|1100#1040 +100 100 5 2#38000|1100#1140 +101 101 5 2#39000|1100#1240 +102 102 5 2#40000|1100#1340 +103 103 5 2#41000|1100#1440 +104 104 5 2#42000|1100#1540 +105 105 6 2#43000|1100#1640 +106 106 6 2#44000|1100#1740 +107 107 6 2#45000|1100#1840 +108 108 6 2#46000|1100#1940 +109 109 6 2#47000|1100#2040 +110 110 7 2#48000|1100#2140 +111 111 7 2#49000|1100#2240 +112 112 7 2#50000|1100#2340 +113 113 7 2#51000|1100#2440 +114 114 7 2#52000|1100#2540 +115 115 8 2#53000|1100#2640 +116 116 8 2#54000|1100#2740 +117 117 8 2#55000|1100#2840 +118 118 8 2#56000|1100#2940 +119 119 8 2#57000|1100#3040 +120 120 9 2#58000|1100#3140 +121 121 9 2#59000|1100#3240 +122 122 9 2#60000|1100#3340 +123 123 9 2#61000|1100#3440 +124 124 9 2#62000|1100#3540 +125 125 10 2#63000|1100#3640 +126 126 10 2#64000|1100#3740 +127 127 10 2#65000|1100#3840 +128 128 10 2#66000|1100#3940 +129 129 10 2#67000|1100#4040 +130 130 11 2#68000|1100#4140 +131 131 11 2#69000|1100#4240 +132 132 11 2#70000|1100#4340 +133 133 11 2#71000|1100#4440 +134 134 11 2#72000|1100#4540 +135 135 12 2#73000|1100#4640 +136 136 12 2#74000|1100#4740 +137 137 12 2#75000|1100#4840 +138 138 12 2#76000|1100#4940 +139 139 12 2#77000|1100#5040 +140 140 13 2#80000|1100#5340 +141 141 13 2#83000|1100#5640 +142 142 13 2#86000|1100#5940 +143 143 13 2#89000|1100#6240 +144 144 13 2#92000|1100#6540 +145 145 13 2#95000|1100#6840 +146 146 13 2#98000|1100#7140 +147 147 14 2#101000|1100#7440 +148 148 14 2#104000|1100#7740 +149 149 14 2#107000|1100#8040 +150 150 14 2#110000|1100#8340 +151 151 14 2#113000|1100#8640 +152 152 14 2#116000|1100#8940 +153 153 15 2#119000|1100#9240 +154 154 15 2#122000|1100#9540 +155 155 15 2#125000|1100#9840 +156 156 15 2#128000|1100#10140 +157 157 15 2#131000|1100#10440 +158 158 15 2#134000|1100#10740 +159 159 16 2#137000|1100#11040 +160 160 16 2#140000|1100#11340 +161 161 16 2#145000|1100#11640 +162 162 16 2#150000|1100#11940 +163 163 16 2#155000|1100#12240 +164 164 16 2#160000|1100#12540 +165 165 17 2#165000|1100#12840 +166 166 17 2#170000|1100#13140 +167 167 17 2#175000|1100#13440 +168 168 17 2#180000|1100#13740 +169 169 17 2#185000|1100#14040 +170 170 17 2#190000|1100#14340 +171 171 18 2#195000|1100#14640 +172 172 18 2#200000|1100#14940 +173 173 18 2#205000|1100#15240 +174 174 18 2#210000|1100#15540 +175 175 18 2#215000|1100#15840 +176 176 18 2#220000|1100#16140 +177 177 19 2#225000|1100#16440 +178 178 19 2#230000|1100#16740 +179 179 19 2#235000|1100#17040 +180 180 19 2#240000|1100#17340 +181 181 19 2#245000|1100#17640 +182 182 19 2#250000|1100#17940 +183 183 20 2#255000|1100#18240 +184 184 20 2#260000|1100#18540 +185 185 20 2#265000|1100#18840 +186 186 20 2#270000|1100#19140 +187 187 20 2#275000|1100#19440 +188 188 20 2#280000|1100#19740 +189 189 21 2#285000|1100#20040 +190 190 21 2#290000|1100#20340 +191 191 21 2#295000|1100#20640 +192 192 21 2#300000|1100#20940 +193 193 21 2#305000|1100#21240 +194 194 21 2#310000|1100#21540 +195 195 22 2#315000|1100#21840 +196 196 22 2#320000|1100#22140 +197 197 22 2#325000|1100#22440 +198 198 22 2#330000|1100#22740 +199 199 22 2#335000|1100#22980 +200 200 22 2#340000|1100#23580 +201 201 22 2#345000|1100#24180 +202 202 23 2#350000|1100#24780 +203 203 23 2#355000|1100#25380 +204 204 23 2#360000|1100#25980 +205 205 23 2#365000|1100#26580 +206 206 23 2#370000|1100#27180 +207 207 23 2#375000|1100#27780 +208 208 24 2#380000|1100#28380 +209 209 24 2#385000|1100#28980 +210 210 24 2#390000|1100#29580 +211 211 24 2#395000|1100#30180 +212 212 24 2#400000|1100#30780 +213 213 24 2#405000|1100#31380 +214 214 25 2#410000|1100#31980 +215 215 25 2#415000|1100#32580 +216 216 25 2#420000|1100#33180 +217 217 25 2#425000|1100#33780 +218 218 25 2#430000|1100#34380 +219 219 25 2#435000|1100#34980 +220 220 26 2#440000|1100#35580 +221 221 26 2#445000|1100#36180 +222 222 26 2#450000|1100#36780 +223 223 26 2#455000|1100#37380 +224 224 26 2#460000|1100#37980 +225 225 26 2#465000|1100#38580 +226 226 27 2#470000|1100#39180 +227 227 27 2#475000|1100#39780 +228 228 27 2#480000|1100#40380 +229 229 27 2#485000|1100#40980 +230 230 27 2#490000|1100#41580 +231 231 27 2#495000|1100#42180 +232 232 28 2#500000|1100#42780 +233 233 28 2#505000|1100#43380 +234 234 28 2#510000|1100#43980 +235 235 28 2#515000|1100#44580 +236 236 28 2#520000|1100#45180 +237 237 28 2#525000|1100#45780 +238 238 29 2#530000|1100#46380 +239 239 29 2#535000|1100#46980 +240 240 29 2#540000|1100#47580 +241 241 29 2#545000|1100#48180 +242 242 29 2#550000|1100#48780 +243 243 29 2#555000|1100#49380 +244 244 30 2#560000|1100#49980 +245 245 30 2#565000|1100#50580 +246 246 30 2#570000|1100#51180 +247 247 30 2#575000|1100#51780 +248 248 30 2#580000|1100#52380 +249 249 30 2#585000|1100#52980 +250 250 31 null diff --git a/conf/server/HeroRankupConfig.txt b/conf/server/HeroRankupConfig.txt new file mode 100644 index 000000000..9088f80f2 --- /dev/null +++ b/conf/server/HeroRankupConfig.txt @@ -0,0 +1,12 @@ +Id Type RankupPara LimitLevel OpenLevel LimitStar OpenStar ConsumeMaterial +int int float int int int int mut,int#int,2 +1 1 2000 30 40 3 3 2#10000|1101#20 +2 1 5000 40 50 3 3 2#20000|1101#40 +3 1 9000 50 60 3 3 2#30000|1101#100 +4 1 14000 60 80 4 4 2#30000|1101#300 +5 1 20000 80 100 5 5 2#70000|1101#1000 +6 1 60000 100 140 5 6 2#120000|1101#0 +7 2 2000 140 160 6 7 2#0|1101#2000 +8 2 4000 160 180 7 8 2#0|1101#3000 +9 2 7000 180 200 8 9 2#0|1101#4000 +10 2 10000 200 250 9 10 2#0|1101#10000 diff --git a/conf/server/HeroRankupGroup.txt b/conf/server/HeroRankupGroup.txt new file mode 100644 index 000000000..8747d5dc4 --- /dev/null +++ b/conf/server/HeroRankupGroup.txt @@ -0,0 +1,75 @@ +Id Issame StarLimit IsSameClan IsId +int int int int int +1 1 3 1 0 +2 1 4 1 0 +3 1 5 1 0 +4 1 6 1 0 +5 1 7 1 0 +6 1 8 1 0 +7 1 9 1 0 +8 0 3 0 0 +9 0 4 0 0 +10 0 5 0 0 +11 0 6 0 0 +12 0 7 0 0 +13 0 8 0 0 +14 0 9 0 0 +15 0 3 1 0 +16 0 4 1 0 +17 0 5 1 0 +18 0 6 1 0 +19 0 7 1 0 +20 0 8 1 0 +21 0 9 1 0 +22 0 5 1 10024 +23 0 5 1 10025 +24 0 5 1 10026 +25 0 5 1 10027 +26 0 5 1 10028 +27 0 5 1 10029 +28 0 5 1 10030 +29 0 5 1 10031 +30 0 5 1 10032 +31 0 5 1 10033 +32 0 5 1 10034 +33 0 5 1 10035 +34 0 5 1 10036 +35 0 5 1 10037 +36 0 5 1 10038 +37 0 5 1 10039 +38 0 5 1 10040 +39 0 5 1 10041 +40 0 5 1 10042 +41 0 5 1 10043 +42 0 5 1 10044 +43 0 5 1 10045 +44 0 5 1 10046 +45 0 4 1 10024 +46 0 4 1 10025 +47 0 4 1 10026 +48 0 4 1 10027 +49 0 4 1 10028 +50 0 4 1 10029 +51 0 4 1 10030 +52 0 4 1 10031 +53 0 4 1 10032 +54 0 4 1 10033 +55 0 4 1 10034 +56 0 4 1 10035 +57 0 4 1 10036 +58 0 4 1 10037 +59 0 4 1 10038 +60 0 4 1 10039 +61 0 4 1 10040 +62 0 4 1 10041 +63 0 4 1 10042 +64 0 4 1 10043 +65 0 4 1 10044 +66 0 4 1 10045 +67 0 4 1 10046 +68 0 3 1 10047 +69 0 3 1 10048 +70 0 3 1 10049 +71 0 3 1 10050 +72 0 3 1 10051 +73 0 3 1 10052 diff --git a/netty/build.gradle b/netty/build.gradle index 1ba0bc82b..db949a856 100644 --- a/netty/build.gradle +++ b/netty/build.gradle @@ -25,7 +25,4 @@ dependencies { jar { baseName = 'netty' version = '1.0.0' - manifest { - attributes 'Main-Class': 'com.ljsd.jieling.NettyApplication' - } } diff --git a/serverlogic/build.gradle b/serverlogic/build.gradle index af5193d58..172bff626 100644 --- a/serverlogic/build.gradle +++ b/serverlogic/build.gradle @@ -34,7 +34,7 @@ jar { baseName = 'serverlogic' version = '1.0.0' manifest { - attributes 'Main-Class': 'com.ljsd.jieling.ServerlogicApplication' + attributes 'Main-Class': 'com.ljsd.GameApplication' } } diff --git a/serverlogic/src/main/java/com/ljsd/GameApplication.java b/serverlogic/src/main/java/com/ljsd/GameApplication.java index f63a35905..c5230d8c1 100644 --- a/serverlogic/src/main/java/com/ljsd/GameApplication.java +++ b/serverlogic/src/main/java/com/ljsd/GameApplication.java @@ -1,6 +1,5 @@ package com.ljsd; -import com.ljsd.common.mogodb.LjsdMongoTemplate; import com.ljsd.jieling.config.ServerConfig; import com.ljsd.jieling.config.json.ServerConfiguration; import com.ljsd.jieling.config.json.ServerProperties; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java index 38e1f5873..8288bdf2d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHero.java @@ -45,15 +45,59 @@ public class SCHero implements BaseConfig{ private Map> skillListByStar; + private Map> consumeMaterialInfoOfPositionByStar; + + public class ConsumeMaterialInfo{ + private int groupID; + private int nums; + + public ConsumeMaterialInfo(int groupID, int nums) { + this.groupID = groupID; + this.nums = nums; + } + + public int getGroupID() { + return groupID; + } + + public void setGroupID(int groupID) { + this.groupID = groupID; + } + + public int getNums() { + return nums; + } + + public void setNums(int nums) { + this.nums = nums; + } + } + @Override public void init() throws Exception { Map integerSCHeroMap = STableManager.getConfig(SCHero.class); for(SCHero scHero : integerSCHeroMap.values()){ + Map> consumeMaterialInfoByStarTmp = new HashMap<>(); int[][] openSkillRules = scHero.getOpenSkillRules(); Map> skillListByStarTmp = new HashMap<>(); scHero.setSkillListByStar(skillListByStarTmp); + int[][] rankupConsumeMaterial = scHero.getRankupConsumeMaterial(); + + for(int j=0;j()); + } + consumeMaterialInfoByStarTmp.get(star).put(position,new ConsumeMaterialInfo(position,nums)); + } + scHero.setConsumeMaterialInfoOfPositionByStar(consumeMaterialInfoByStarTmp); + for(int i=0;i getConsumeMaterialInfoOfPositionByStar(int star) { + return consumeMaterialInfoOfPositionByStar.get(star); + } + + public void setConsumeMaterialInfoOfPositionByStar(Map> consumeMaterialInfoOfPositionByStar) { + this.consumeMaterialInfoOfPositionByStar = consumeMaterialInfoOfPositionByStar; + } + public static Map getsCHero() { return sCHero; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java index 88f7a1ac8..4ce60c4f5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SCHeroRankUpConfig.java @@ -5,6 +5,7 @@ import com.ljsd.jieling.logic.Table; import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; @Table(name = "HeroRankupConfig") public class SCHeroRankUpConfig implements BaseConfig{ @@ -33,7 +34,7 @@ public class SCHeroRankUpConfig implements BaseConfig{ for(SCHeroRankUpConfig scHeroRankUpConfig: config.values()){ int type = scHeroRankUpConfig.getType(); if(!result.containsKey(type)){ - result.put(type,new HashMap<>()); + result.put(type,new TreeMap<>()); } if(type == 1){ result.get(type).put(scHeroRankUpConfig.getLimitLevel(),scHeroRankUpConfig); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SGameSetting.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SGameSetting.java index 38848df39..d2baee9f1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SGameSetting.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SGameSetting.java @@ -14,13 +14,23 @@ public class SGameSetting implements BaseConfig { private int[] speedFormula; + private static SGameSetting gameSetting; + + + + @Override public void init() throws Exception { - + Map config = STableManager.getConfig(SGameSetting.class); + gameSetting = config.get(1); } - public int getId() { + public static SGameSetting getGameSetting() { + return gameSetting; + } + + public int getId() { return id; } @@ -32,11 +42,11 @@ public class SGameSetting implements BaseConfig { return speedFormula; } - public float calSpeed(float speed){ - float result = 0.0f; + public float calSpeed(float speed,int level){ + float result = speed; int length = speedFormula.length; for(int i=0;i< speedFormula.length;i++){ - double pow = Math.pow(speed, --length); + double pow = Math.pow(level, --length); result += speedFormula[i]*pow; } return result; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroRankupGroup.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroRankupGroup.java new file mode 100644 index 000000000..09546c175 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SHeroRankupGroup.java @@ -0,0 +1,54 @@ +package com.ljsd.jieling.config; + +import com.ljsd.jieling.logic.STableManager; +import com.ljsd.jieling.logic.Table; + +import java.util.Map; + +@Table(name ="HeroRankupGroup") +public class SHeroRankupGroup implements BaseConfig { + + private static Map sHeroRankupGroupMap; + + private int id; + + private int issame; + + private int starLimit; + + private int isSameClan; + + private int isId; + + + @Override + public void init() throws Exception { + sHeroRankupGroupMap = STableManager.getConfig(SHeroRankupGroup.class); + } + + public static SHeroRankupGroup getsHeroRankupGroup(int groupId) { + return sHeroRankupGroupMap.get(groupId); + } + + public int getId() { + return id; + } + + public int getIssame() { + return issame; + } + + public int getStarLimit() { + return starLimit; + } + + public int getIsSameClan() { + return isSameClan; + } + + public int getIsId() { + return isId; + } + + +} \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java index e6f1adc31..29e52b9d2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/GlobalsDef.java @@ -2,4 +2,15 @@ package com.ljsd.jieling.core; public interface GlobalsDef { String DEFAULT_NAME = "无名妖灵师"; + + int BREAK_TYPE =1 ; //1突破 + int UP_STAR_TYPE = 2; //2升星 + + //英雄属性 + int HP_TYPE =1; + int ATTACK_TYPE =2; + int PhysicalDefence_TYPE =3; + int MagicDefence_TYPE =4; + int SPEED_TYPE =5; + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java index 2c5a3621b..3f393a7d2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -1,6 +1,7 @@ package com.ljsd.jieling.globals; public interface GlobalGm { - int ADD_ITEM = 0;//添加道具 - int ADD_CARD = 1; //添加卡牌 + int ADD_GEM = 0; // 添加钻石 + int ADD_ITEM = 1;//添加道具 + int ADD_CARD = 2; //添加卡牌 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java index 8d5a5d6f4..3fea6ea27 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java @@ -7,7 +7,7 @@ public interface GlobalItemType { int SUCCESSIVELY_RANDOM = 2; // 依次随机 // 物品类型 - int GEM = 1; // 钻石Id(充值获得) + int GEM = 3; // 钻石Id(充值获得) int ITEM = 10; //道具 int CARD = 11; // 卡牌 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 89043b173..538e1d174 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -10,6 +10,7 @@ import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; +import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -34,11 +35,20 @@ public class GMRequestHandler extends BaseHandler{ return; } String[] commandArray = command.split("#"); - int uid = Integer.parseInt(commandArray[0]); - int gmCommandType = Integer.parseInt(commandArray[1]);// type 0:添加道具 1:卡牌 + int uid = iSession.getUid(); + int gmCommandType = Integer.parseInt(commandArray[0]);// type 0:钻石(type#数量) 1:道具 2: 卡牌 int prarm1 = 0, prarm2 = 0; + if (gmCommandType == 0){ + prarm1 = Integer.parseInt(commandArray[1]); + }else if (gmCommandType == 1 || gmCommandType ==2){ + prarm1 = Integer.parseInt(commandArray[1]); + prarm2 = Integer.parseInt(commandArray[2]); + } User cUser = UserManager.getUser(uid); switch (gmCommandType){ + case GlobalGm.ADD_GEM: + cUser.getPlayerInfoManager().setGem(prarm1+cUser.getPlayerInfoManager().getGem()); + break; case GlobalGm.ADD_ITEM: giveItem(cUser,prarm1,prarm2); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index 83b7595f6..1d453226c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -33,13 +33,18 @@ public class GetAllItemHandler extends BaseHandler { int msgIndex = netData.getIndex(); PlayerInfoProto.GetItemInfoRequest getItemInfoRequest = PlayerInfoProto.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); - LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", - userId, token,msgId,msgIndex,getItemInfoRequest.getNum(),getItemInfoRequest.getStr()); - + LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={}", + userId, token,msgId,msgIndex); + int index = getItemInfoRequest.getIndex(); + boolean isSendFinish = true; User user = UserManager.getUserForLogin(userId); - List itemList = ItemUtil.getAllItem(user); + List allItemList = ItemUtil.getAllItem(user,index); + if (allItemList.size() > 200){ + isSendFinish = false; + } PlayerInfoProto.GetItemInfoResponse getItemInfoResponse = PlayerInfoProto.GetItemInfoResponse.newBuilder() - .addAllItemlist(itemList) + .addAllItemlist(allItemList) + .setIsSendFinish(isSendFinish) .build(); try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_ITEMINFO_RESPONSE_VALUE, getItemInfoResponse, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroLevelHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroLevelHandler.java new file mode 100644 index 000000000..4a5d2b76a --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroLevelHandler.java @@ -0,0 +1,24 @@ +package com.ljsd.jieling.handler; + +import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.HeroInfoProto; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +@Component +public class UpHeroLevelHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.UP_HERO_LEVEL_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] bytes = netData.parseClientProtoNetData(); + HeroInfoProto.UpHeroLevelRequest upHeroLevelRequest = HeroInfoProto.UpHeroLevelRequest.parseFrom(bytes); + String heroId = upHeroLevelRequest.getHeroId(); + HeroLogic.getInstance().upHeroLevel(iSession,heroId); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java new file mode 100644 index 000000000..4761e28fc --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/UpHeroStarHandler.java @@ -0,0 +1,28 @@ +package com.ljsd.jieling.handler; + +import com.ljsd.jieling.logic.hero.HeroLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.HeroInfoProto; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class UpHeroStarHandler extends BaseHandler{ + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.UP_HERO_STAR_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + byte[] bytes = netData.parseClientProtoNetData(); + HeroInfoProto.UpHeroStarRequest upHeroStarRequest = HeroInfoProto.UpHeroStarRequest.parseFrom(bytes); + List consumeMaterialsList = upHeroStarRequest.getConsumeMaterialsList(); + String heroId = upHeroStarRequest.getHeroId(); + HeroLogic.getInstance().upHeroStar(iSession,heroId,consumeMaterialsList); + + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java index 66448b300..0da58af77 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/STableManager.java @@ -80,6 +80,7 @@ public class STableManager { try { String tableName = clazz.getAnnotation(Table.class).name(); String path = SysUtil.getPath("conf", "server", tableName + ".txt"); + System.out.println("=============="+path); File file = new File(path); String line; List key = new ArrayList<>(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java index 8eb8255dc..0e2bddff3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java @@ -23,7 +23,7 @@ public class HeroManager extends MongoBase { public void addHero(Hero hero) throws Exception { //绑定关系 hero.init(getRoot(), getMongoKey() + ".heroMap." + hero.getId()); - updateString("heroMap." + hero.getTemplateId(), hero); + updateString("heroMap." + hero.getId(), hero); heroMap.put(hero.getId(), hero); } @@ -32,9 +32,12 @@ public class HeroManager extends MongoBase { } public void removeHero(String heroId) { + removeString("heroMap." + heroId); heroMap.remove(heroId); } + + public Map getHeroMap() { return heroMap; } 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 7294f6b26..dfe36e9b6 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 @@ -2,12 +2,14 @@ package com.ljsd.jieling.logic.hero; import com.ljsd.GameApplication; import com.ljsd.jieling.config.*; +import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.HeroInfoProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.util.CBean2Proto; +import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MathUtils; import com.ljsd.jieling.util.MessageUtil; import org.slf4j.Logger; @@ -194,24 +196,191 @@ public class HeroLogic { public void upHeroLevel(ISession session,String heroId) throws Exception { - User user = UserManager.getUser(session.getUid()); Hero hero = user.getHeroManager().getHero(heroId); if( null == hero){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,""); return; } - - - //校验消耗 int oldLevel = hero.getLevel(); - SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsCHero().get(oldLevel); - int[][] consume = sHeroLevlConfig.getConsume(); + //判断需要进行升级还是进行突破 + Map scHeroRankUpConfigByType = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.BREAK_TYPE); + SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldLevel); + boolean isBreak =false; + int[][] consume; + if(scHeroRankUpConfig!=null){ + isBreak =true; + consume = scHeroRankUpConfig.getConsumeMaterial(); + }else{ + SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsCHero().get(oldLevel); + consume = sHeroLevlConfig.getConsume(); + } + //校验消耗 + boolean result = ItemUtil.itemCost(user, consume); + if(!result){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,"道具不足"); + return; + } + if(!isBreak){ + hero.setLevel( oldLevel + 1); + } - hero.setLevel( oldLevel + 1); + //发送成功消息 + MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,null,true); + + } + + public void upHeroStar(ISession session, String heroId, List consumeMaterialsList) throws Exception { + int uid = session.getUid(); + User user = UserManager.getUser(uid); + HeroManager heroManager = user.getHeroManager(); + Hero targetHero = heroManager.getHero(heroId); + if( null == targetHero){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,""); + return; + } + int oldStar = targetHero.getStar(); + + SCHero scHero = SCHero.getsCHero().get(targetHero.getTemplateId()); + Map consumeMaterialInfoByPosition = scHero.getConsumeMaterialInfoOfPositionByStar(oldStar + 1); + boolean canUse = true; + List removeHeroIds = new ArrayList<>(); + for(HeroInfoProto.ConsumeMaterial consumeMaterial1 : consumeMaterialsList){ + int position = consumeMaterial1.getPosition(); + SCHero.ConsumeMaterialInfo consumeMaterialInfo = consumeMaterialInfoByPosition.get(position); + List heroIdsList = consumeMaterial1.getHeroIdsList(); + SHeroRankupGroup sHeroRankupGroup = SHeroRankupGroup.getsHeroRankupGroup(consumeMaterialInfo.getGroupID()); + for(String consumeHero : heroIdsList){ + Hero hero = heroManager.getHero(consumeHero); + if( null == hero ){ + canUse =false; + break; + } + int isSame = sHeroRankupGroup.getIssame(); + int starLimit = sHeroRankupGroup.getStarLimit(); + int isSameClan = sHeroRankupGroup.getIsSameClan(); + int isId = sHeroRankupGroup.getIsId(); + + if( 1 == isSame) { + if(hero.getTemplateId() != targetHero.getTemplateId()){ + canUse =false; + break; + } + } + + if( starLimit != 0 ) { + if(hero.getStar() != starLimit){ + canUse =false; + break; + } + } + + if( 1 == isSameClan) { + SCHero scHeroTmp = SCHero.getsCHero().get(hero.getTemplateId()); + SCHero targetSHero = SCHero.getsCHero().get(targetHero.getTemplateId()); + if( scHeroTmp.getPropertyName() != targetSHero.getPropertyName() ){ + canUse =false; + break; + } + } + + if( isId != 0) { + if(hero.getTemplateId() != isId){ + canUse =false; + break; + } + } + removeHeroIds.add(consumeHero); + } + } + + if(!canUse){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,""); + return; + } + Map scHeroRankUpConfigByType = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE); + SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldStar); + int[][] consumeMaterial = scHeroRankUpConfig.getConsumeMaterial(); + boolean enoughCost = ItemUtil.itemCost(user, consumeMaterial); + if(!enoughCost){ + MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,""); + return; + } + //删除hero + recyleHeroBySystem(user,removeHeroIds); + targetHero.setStar( oldStar + 1 ); + + MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true); + } + public void recyleHeroBySystem(User user,List removeHeroIds){ + HeroManager heroManager = user.getHeroManager(); + for(String useHeroId : removeHeroIds){ + heroManager.removeHero(useHeroId); + } + + } + + //初始属性*(1+化境增长)*等级系数 + 初始属性*突破系数 + + public float calHeroAttribute(Hero hero,int type){ + int templateId = hero.getTemplateId(); + SCHero scHero = SCHero.getsCHero().get(templateId); + float baseValue = getBaseValueByType(scHero,type); + + float characterLevelPara = SHeroLevlConfig.getsCHero().get(hero.getLevel()).getCharacterLevelPara(); + //计算化境增长 + Map scHeroRankUpConfigByTypeOfStar = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.UP_STAR_TYPE); + SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByTypeOfStar.get(hero.getStar()); + float rankupPara =0.0f; + if( scHeroRankUpConfig!=null ){ + rankupPara = scHeroRankUpConfig.getRankupPara(); + } + //突破系数 + float breakPara = 0.0f; + int heroLevel = hero.getLevel(); + Map scHeroRankUpConfigByTypOfBreak = SCHeroRankUpConfig.getScHeroRankUpConfigByType(GlobalsDef.BREAK_TYPE); + for( SCHeroRankUpConfig scHeroRankUpConfigTmp :scHeroRankUpConfigByTypOfBreak.values()){ + if( heroLevel >= scHeroRankUpConfigTmp.getLimitLevel() ){ + breakPara = scHeroRankUpConfigTmp.getRankupPara(); + } + if(heroLevel <= scHeroRankUpConfigTmp.getOpenLevel()){ + break; + } + } + + if(type == GlobalsDef.SPEED_TYPE){ + return SGameSetting.getGameSetting().calSpeed(baseValue,heroLevel); + } + + return baseValue * ( 1 + rankupPara/10000.f) * characterLevelPara * breakPara; + + } + + private float getBaseValueByType(SCHero scHero,int type){ + float result = 0.0f; + switch (type){ + case GlobalsDef.HP_TYPE: + result = scHero.getHp(); + break; + case GlobalsDef.ATTACK_TYPE: + result = scHero.getAttack(); + break; + case GlobalsDef.PhysicalDefence_TYPE: + result = scHero.getPhysicalDefence(); + break; + case GlobalsDef.MagicDefence_TYPE: + result = scHero.getMagicDefence(); + break; + case GlobalsDef.SPEED_TYPE: + result = scHero.getSpeed(); + break; + + } + return result; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java b/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java index 2560a6544..356ea92d8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java @@ -6,8 +6,6 @@ import com.ljsd.GameApplication; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.logic.OnlineUserManager; -import com.ljsd.jieling.logic.dao.User; -import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.netty.handler.GameMessageHandler; import com.ljsd.jieling.network.session.ISession; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index a23c82794..4d397d65e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -19,9 +19,6 @@ public class CBean2Proto { .setVipLevel(playerManager.getVipLevel()) .setFamilyId(playerManager.getFamilyId()) .setHead(playerManager.getHead()) - .setGold(playerManager.getGold()) - .setGem(playerManager.getGem()) - .setChargeGem(playerManager.getChargeGem()) .build(); return player; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index bf983833a..3977e9790 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -9,10 +9,7 @@ import com.ljsd.jieling.protocols.CommonProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; public class ItemUtil { @@ -132,10 +129,10 @@ public class ItemUtil { List itemProtoList = new CopyOnWriteArrayList<>(); ItemManager itemManager = user.getItemManager(); for (Map.Entry entry : itemMap.entrySet()) { - SItem sItem = SItem.getsItemMap().get(entry.getKey()); - if (sItem == null){ - continue; - } + SItem sItem = SItem.getsItemMap().get (entry.getKey()); +// if (sItem == null){ +// continue; +// } Item item = itemManager.getItem(entry.getKey()); if (item == null){ item = itemManager.newItem(entry.getKey(), entry.getValue()); @@ -173,7 +170,7 @@ public class ItemUtil { } - public static List getAllItem(User user){ + public static List getAllItem(User user,int index){ List itemList = new ArrayList<>(); ItemManager itemManager = user.getItemManager(); Map itemMap = itemManager.getItemMap(); @@ -182,9 +179,32 @@ public class ItemUtil { itemList.add(CBean2Proto.getItem(entry.getValue())); } } + listByPage(itemList,index); return itemList; } + private static void listByPage(List itemList,int pagesize) { + int totalcount=itemList.size(); + int pagecount=0; + int m=totalcount%pagesize; + if (m>0){ + pagecount=totalcount/pagesize+1; + }else{ + pagecount=totalcount/pagesize; + } + for(int i=1;i<=pagecount;i++){ + if (m==0){ + itemList = itemList.subList((i-1)*pagesize,pagesize*(i)); + }else{ + if (i==pagecount){ + itemList= itemList.subList((i-1)*pagesize,totalcount); + }else{ + itemList= itemList.subList((i-1)*pagesize,pagesize*(i)); + } + } + } + } + public static void addCard(User user,Map cardMap,CommonProto.Drop.Builder dropBuilder) throws Exception { List heroList = new CopyOnWriteArrayList<>(); @@ -278,5 +298,4 @@ public class ItemUtil { } } } - } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/SysUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/SysUtil.java index b90e7f88d..4e647a18e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/SysUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/SysUtil.java @@ -33,6 +33,8 @@ public class SysUtil { StringBuilder path = new StringBuilder(); if (SysUtil.isWindows()) {// Window 系统 path.append(new File(".").getCanonicalPath()).append(File.separator); + }else { + path.append("../"); } return path.toString(); } diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index 160c355dd..4999100e8 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -18,7 +18,7 @@ public class NettyClient { private static final Logger LOGGER = LoggerFactory.getLogger(NettyClient.class); - private static int uid = 10000009; + private static int uid = 10000018; private static int msgIndex = 1; private static int token=543242; @@ -32,7 +32,7 @@ public class NettyClient { .channel(NioSocketChannel.class) .handler(new NettyTCPClientInitializer()); - Channel ch = b.connect("127.0.0.1",18090).sync().channel(); + Channel ch = b.connect("127.0.0.1",16080).sync().channel(); NettyTCPClientHandler handler = ch.pipeline().get(NettyTCPClientHandler.class); //------------------------------------------测试类型------------------------------------------------------- @@ -42,9 +42,11 @@ public class NettyClient { //--------------------------------------------------------------------------------------------------------- handler.sendRequest_jieling(makeFinalMessage(gameMessage, MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(getHero(), MessageTypeProto.MessageType.GET_HEROINFO_REQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(getRandomHero(), MessageTypeProto.MessageType.HERO_RAND_REQQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(gmRequest(), MessageTypeProto.MessageType.GM_REQUEST_VALUE)); +// handler.sendRequest_jieling(makeFinalMessage(getHero(), MessageTypeProto.MessageType.GET_HEROINFO_REQUEST_VALUE)); +// handler.sendRequest_jieling(makeFinalMessage(getRandomHero(), MessageTypeProto.MessageType.HERO_RAND_REQQUEST_VALUE)); + for (int i = 800; i< 900;i++){ + handler.sendRequest_jieling(makeFinalMessage(gmRequest(i), MessageTypeProto.MessageType.GM_REQUEST_VALUE)); + } } @@ -70,8 +72,8 @@ public class NettyClient { return finalData; } - public static CommonProto.GMCommand gmRequest(){ - return CommonProto.GMCommand.newBuilder().setCommand("10000001#0#1#100").build(); + public static CommonProto.GMCommand gmRequest(int itemId){ + return CommonProto.GMCommand.newBuilder().setCommand("1#"+itemId+"#10000").build(); }