Merge branch 'master' of http://60.1.1.230/backend/jieling_server
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.javaback_recharge
commit
fdac21e724
|
@ -1,152 +1,152 @@
|
|||
Id Precondition LevelLimit MonsterGroup Cost PreLevelCost Exp RandomReward RankTime MaxCountPerDay RecommendFightAbility
|
||||
int int int int mut,int#int,2 mut,int#int,2 int mut,int#int,1 int int int
|
||||
1011 0 0 51011 2#6 2#1 6 2000#2001 300 0 100
|
||||
1021 1011 0 51012 2#6 2#1 6 2000#2001 300 0 100
|
||||
1031 1021 0 51013 2#6 2#1 6 2000#2001 300 0 100
|
||||
1041 1031 0 51014 2#6 2#1 6 2000#2001 300 0 100
|
||||
1051 1041 0 51015 2#6 2#1 6 2000#2001 300 0 100
|
||||
2011 1051 0 51021 2#6 2#1 6 2000#2001 300 0 100
|
||||
2021 2011 0 51022 2#6 2#1 6 2000#2001 300 0 100
|
||||
2031 2021 0 51023 2#6 2#1 6 2000#2001 300 0 100
|
||||
2041 2031 0 51024 2#6 2#1 6 2000#2001 300 0 100
|
||||
2051 2041 0 51025 2#6 2#1 6 2000#2001 300 0 100
|
||||
3011 2051 0 51031 2#6 2#1 6 2000#2001 300 0 100
|
||||
3021 3011 0 51032 2#6 2#1 6 2000#2001 300 0 100
|
||||
3031 3021 0 51033 2#6 2#1 6 2000#2001 300 0 100
|
||||
3041 3031 0 51034 2#6 2#1 6 2000#2001 300 0 100
|
||||
3051 3041 0 51035 2#6 2#1 6 2000#2001 300 0 100
|
||||
4011 3051 0 51041 2#6 2#1 6 2000#2001 300 0 100
|
||||
4021 4011 0 51042 2#6 2#1 6 2000#2001 300 0 100
|
||||
4031 4021 0 51043 2#6 2#1 6 2000#2001 300 0 100
|
||||
4041 4031 0 51044 2#6 2#1 6 2000#2001 300 0 100
|
||||
4051 4041 0 51045 2#6 2#1 6 2000#2001 300 0 100
|
||||
5011 4051 0 51051 2#6 2#1 6 2000#2001 300 0 100
|
||||
5021 5011 0 51052 2#6 2#1 6 2000#2001 300 0 100
|
||||
5031 5021 0 51053 2#6 2#1 6 2000#2001 300 0 100
|
||||
5041 5031 0 51054 2#6 2#1 6 2000#2001 300 0 100
|
||||
5051 5041 0 51055 2#6 2#1 6 2000#2001 300 0 100
|
||||
6011 5051 0 51061 2#6 2#1 6 2000#2001 300 0 100
|
||||
6021 6011 0 51062 2#6 2#1 6 2000#2001 300 0 100
|
||||
6031 6021 0 51063 2#6 2#1 6 2000#2001 300 0 100
|
||||
6041 6031 0 51064 2#6 2#1 6 2000#2001 300 0 100
|
||||
6051 6041 0 51065 2#6 2#1 6 2000#2001 300 0 100
|
||||
7011 6051 0 51071 2#6 2#1 6 2000#2001 300 0 100
|
||||
7021 7011 0 51072 2#6 2#1 6 2000#2001 300 0 100
|
||||
7031 7021 0 51073 2#6 2#1 6 2000#2001 300 0 100
|
||||
7041 7031 0 51074 2#6 2#1 6 2000#2001 300 0 100
|
||||
7051 7041 0 51075 2#6 2#1 6 2000#2001 300 0 100
|
||||
8011 7051 0 51081 2#6 2#1 6 2000#2001 300 0 100
|
||||
8021 8011 0 51082 2#6 2#1 6 2000#2001 300 0 100
|
||||
8031 8021 0 51083 2#6 2#1 6 2000#2001 300 0 100
|
||||
8041 8031 0 51084 2#6 2#1 6 2000#2001 300 0 100
|
||||
8051 8041 0 51085 2#6 2#1 6 2000#2001 300 0 100
|
||||
9011 8051 0 51091 2#6 2#1 6 2000#2001 300 0 100
|
||||
9021 9011 0 51092 2#6 2#1 6 2000#2001 300 0 100
|
||||
9031 9021 0 51093 2#6 2#1 6 2000#2001 300 0 100
|
||||
9041 9031 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9051 9041 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10011 9051 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
10021 10011 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10031 10021 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
10041 10031 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10051 10041 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
1012 1011 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
1022 1012 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
1032 1022 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
1042 1032 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
1052 1042 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
2012 1052 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
2022 2012 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
2032 2022 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
2042 2032 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
2052 2042 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
3012 2052 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
3022 3012 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
3032 3022 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
3042 3032 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
3052 3042 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
4012 3052 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
4022 4012 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
4032 4022 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
4042 4032 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
4052 4042 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
5012 4052 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
5022 5012 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
5032 5022 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
5042 5032 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
5052 5042 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
6012 5052 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
6022 6012 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
6032 6022 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
6042 6032 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
6052 6042 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
7012 6052 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
7022 7012 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
7032 7022 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
7042 7032 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
7052 7042 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
8012 7052 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
8022 8012 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
8032 8022 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
8042 8032 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
8052 8042 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9012 8052 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
9022 9012 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9032 9022 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
9042 9032 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9052 9042 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10012 9052 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
10022 10012 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10032 10022 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
10042 10032 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10052 10042 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
1013 1011 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
1023 1013 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
1033 1023 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
1043 1033 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
1053 1043 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
2013 1053 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
2023 2013 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
2033 2023 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
2043 2033 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
2053 2043 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
3013 2053 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
3023 3013 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
3033 3023 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
3043 3033 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
3053 3043 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
4013 3053 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
4023 4013 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
4033 4023 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
4043 4033 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
4053 4043 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
5013 4053 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
5023 5013 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
5033 5023 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
5043 5033 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
5053 5043 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
6013 5053 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
6023 6013 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
6033 6023 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
6043 6033 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
6053 6043 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
7013 6053 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
7023 7013 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
7033 7023 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
7043 7033 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
7053 7043 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
8013 7053 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
8023 8013 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
8033 8023 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
8043 8033 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
8053 8043 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9013 8053 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
9023 9013 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9033 9023 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
9043 9033 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
9053 9043 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10013 9053 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
10023 10013 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
10033 10023 0 51094 2#6 2#1 6 2000#2001 300 0 100
|
||||
10043 10033 0 51095 2#6 2#1 6 2000#2001 300 0 100
|
||||
1011 0 0 51011 2#5 2#1 6 2000#2001 300 0 100
|
||||
1021 1011 0 51012 2#5 2#1 6 2000#2001 300 0 100
|
||||
1031 1021 0 51013 2#5 2#1 6 2000#2001 300 0 100
|
||||
1041 1031 0 51014 2#5 2#1 6 2000#2001 300 0 100
|
||||
1051 1041 0 51015 2#5 2#1 6 2000#2001 300 0 100
|
||||
2011 1051 0 51021 2#5 2#1 6 2000#2001 300 0 100
|
||||
2021 2011 0 51022 2#5 2#1 6 2000#2001 300 0 100
|
||||
2031 2021 0 51023 2#5 2#1 6 2000#2001 300 0 100
|
||||
2041 2031 0 51024 2#5 2#1 6 2000#2001 300 0 100
|
||||
2051 2041 0 51025 2#5 2#1 6 2000#2001 300 0 100
|
||||
3011 2051 0 51031 2#5 2#1 6 2000#2001 300 0 100
|
||||
3021 3011 0 51032 2#5 2#1 6 2000#2001 300 0 100
|
||||
3031 3021 0 51033 2#5 2#1 6 2000#2001 300 0 100
|
||||
3041 3031 0 51034 2#5 2#1 6 2000#2001 300 0 100
|
||||
3051 3041 0 51035 2#5 2#1 6 2000#2001 300 0 100
|
||||
4011 3051 0 51041 2#5 2#1 6 2000#2001 300 0 100
|
||||
4021 4011 0 51042 2#5 2#1 6 2000#2001 300 0 100
|
||||
4031 4021 0 51043 2#5 2#1 6 2000#2001 300 0 100
|
||||
4041 4031 0 51044 2#5 2#1 6 2000#2001 300 0 100
|
||||
4051 4041 0 51045 2#5 2#1 6 2000#2001 300 0 100
|
||||
5011 4051 0 51051 2#5 2#1 6 2000#2001 300 0 100
|
||||
5021 5011 0 51052 2#5 2#1 6 2000#2001 300 0 100
|
||||
5031 5021 0 51053 2#5 2#1 6 2000#2001 300 0 100
|
||||
5041 5031 0 51054 2#5 2#1 6 2000#2001 300 0 100
|
||||
5051 5041 0 51055 2#5 2#1 6 2000#2001 300 0 100
|
||||
6011 5051 0 51061 2#5 2#1 6 2000#2001 300 0 100
|
||||
6021 6011 0 51062 2#5 2#1 6 2000#2001 300 0 100
|
||||
6031 6021 0 51063 2#5 2#1 6 2000#2001 300 0 100
|
||||
6041 6031 0 51064 2#5 2#1 6 2000#2001 300 0 100
|
||||
6051 6041 0 51065 2#5 2#1 6 2000#2001 300 0 100
|
||||
7011 6051 0 51071 2#5 2#1 6 2000#2001 300 0 100
|
||||
7021 7011 0 51072 2#5 2#1 6 2000#2001 300 0 100
|
||||
7031 7021 0 51073 2#5 2#1 6 2000#2001 300 0 100
|
||||
7041 7031 0 51074 2#5 2#1 6 2000#2001 300 0 100
|
||||
7051 7041 0 51075 2#5 2#1 6 2000#2001 300 0 100
|
||||
8011 7051 0 51081 2#5 2#1 6 2000#2001 300 0 100
|
||||
8021 8011 0 51082 2#5 2#1 6 2000#2001 300 0 100
|
||||
8031 8021 0 51083 2#5 2#1 6 2000#2001 300 0 100
|
||||
8041 8031 0 51084 2#5 2#1 6 2000#2001 300 0 100
|
||||
8051 8041 0 51085 2#5 2#1 6 2000#2001 300 0 100
|
||||
9011 8051 0 51091 2#5 2#1 6 2000#2001 300 0 100
|
||||
9021 9011 0 51092 2#5 2#1 6 2000#2001 300 0 100
|
||||
9031 9021 0 51093 2#5 2#1 6 2000#2001 300 0 100
|
||||
9041 9031 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9051 9041 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10011 9051 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
10021 10011 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10031 10021 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
10041 10031 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10051 10041 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
1012 1011 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
1022 1012 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
1032 1022 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
1042 1032 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
1052 1042 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
2012 1052 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
2022 2012 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
2032 2022 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
2042 2032 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
2052 2042 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
3012 2052 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
3022 3012 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
3032 3022 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
3042 3032 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
3052 3042 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
4012 3052 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
4022 4012 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
4032 4022 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
4042 4032 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
4052 4042 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
5012 4052 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
5022 5012 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
5032 5022 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
5042 5032 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
5052 5042 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
6012 5052 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
6022 6012 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
6032 6022 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
6042 6032 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
6052 6042 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
7012 6052 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
7022 7012 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
7032 7022 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
7042 7032 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
7052 7042 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
8012 7052 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
8022 8012 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
8032 8022 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
8042 8032 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
8052 8042 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9012 8052 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
9022 9012 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9032 9022 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
9042 9032 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9052 9042 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10012 9052 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
10022 10012 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10032 10022 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
10042 10032 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10052 10042 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
1013 1011 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
1023 1013 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
1033 1023 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
1043 1033 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
1053 1043 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
2013 1053 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
2023 2013 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
2033 2023 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
2043 2033 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
2053 2043 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
3013 2053 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
3023 3013 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
3033 3023 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
3043 3033 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
3053 3043 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
4013 3053 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
4023 4013 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
4033 4023 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
4043 4033 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
4053 4043 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
5013 4053 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
5023 5013 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
5033 5023 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
5043 5033 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
5053 5043 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
6013 5053 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
6023 6013 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
6033 6023 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
6043 6033 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
6053 6043 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
7013 6053 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
7023 7013 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
7033 7023 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
7043 7033 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
7053 7043 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
8013 7053 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
8023 8013 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
8033 8023 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
8043 8033 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
8053 8043 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9013 8053 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
9023 9013 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9033 9023 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
9043 9033 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
9053 9043 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10013 9053 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
10023 10013 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10033 10023 0 51094 2#5 2#1 6 2000#2001 300 0 100
|
||||
10043 10033 0 51095 2#5 2#1 6 2000#2001 300 0 100
|
||||
10053 10043 0 0 null null 0 null 0 0 0
|
||||
|
|
|
@ -10,6 +10,7 @@ import com.ljsd.jieling.handler.map.MapLogic;
|
|||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.dao.MailingSystemManager;
|
||||
import com.ljsd.jieling.logic.fight.CheckFight;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
import com.ljsd.jieling.netty.server.NettyGameServer;
|
||||
import com.ljsd.jieling.network.NettyProperties;
|
||||
import com.ljsd.jieling.network.NettyServerAutoConfiguration;
|
||||
|
@ -73,6 +74,8 @@ public class GameApplication {
|
|||
|
||||
MongoUtil.getInstence().init(configurableApplicationContext);
|
||||
|
||||
CombatLogic.getInstance().checkAdventureFlush();
|
||||
|
||||
STableManager.initialize("com.ljsd.jieling.config");
|
||||
//初始化邮件
|
||||
MailingSystemManager.init(configurableApplicationContext);
|
||||
|
|
|
@ -44,7 +44,7 @@ public class SLevelDifficultyConfig implements BaseConfig {
|
|||
for (Map.Entry<Integer, SLevelDifficultyConfig> entry : sLevelDifficultyConfigMap.entrySet()) {
|
||||
String fightId = String.valueOf(entry.getKey());
|
||||
int length = fightId.length();
|
||||
int areaId = Integer.parseInt(fightId.substring(0, 1));
|
||||
int areaId = Integer.parseInt(fightId)/1000;
|
||||
int type = Integer.parseInt(fightId.substring(length - 1, length));
|
||||
LevelDifficulty levelDifficulty = new LevelDifficulty();
|
||||
levelDifficulty.setAreaId(areaId);
|
||||
|
|
|
@ -24,4 +24,6 @@ public class MongoKey {
|
|||
|
||||
public final static String workShopController = "workShopController";
|
||||
|
||||
public final static String levelDifficultyManager = "levelDifficultyManager";
|
||||
|
||||
}
|
||||
|
|
|
@ -77,6 +77,10 @@ public class RedisKey {
|
|||
*/
|
||||
public static final int EXPIRE_TIME = 3600 * 24;
|
||||
|
||||
public static final String LEVE_DIFFICULTY_INFO = "LEVE_DIFFICULTY_INFO";
|
||||
|
||||
public static final String LEVE_DIFFICULTY_FIGHT = "LEVE_DIFFICULTY_FIGHT";
|
||||
|
||||
|
||||
public static String getKey(String type, String key, boolean withServerId) {
|
||||
if (withServerId) {
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.ljsd.jieling.handler.map;
|
||||
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
@ -23,7 +25,7 @@ public class FightEndRequestHandler extends BaseHandler {
|
|||
int type = fightEndRequest.getType();
|
||||
int fightId = fightEndRequest.getFightId();
|
||||
if (type == 1){
|
||||
MapLogic.getInstance().endDifficultyFight(iSession, frames,fightId ,MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
|
||||
MapLogic.getInstance().endDifficultyFight(iSession, frames,fightId,MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
|
||||
}else{
|
||||
MapLogic.getInstance().endFight(iSession, frames, MessageTypeProto.MessageType.FIGHT_END_RESPONSE);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.googlecode.protobuf.format.JsonFormat;
|
|||
import com.ljsd.jieling.config.*;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
||||
import com.ljsd.jieling.handler.map.behavior.BehaviorUtil;
|
||||
import com.ljsd.jieling.handler.mission.CheckMissionReturn;
|
||||
|
@ -1238,7 +1239,7 @@ public class MapLogic {
|
|||
* @param session
|
||||
* @param fightId
|
||||
*/
|
||||
public void startLevelDifficultyFight(ISession session, int fightId,int teamId,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
public void startLevelDifficultyFight(ISession session, int fightId,int teamId,int type,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
LevelDifficultyManager levelDifficultyManager = user.getLevelDifficultyManager();
|
||||
|
@ -1249,22 +1250,25 @@ public class MapLogic {
|
|||
return;
|
||||
}
|
||||
SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(fightId);
|
||||
if (levelDifficulty.getChallengeTimes() < sLevelDifficultyConfig.getMaxCountPerDay()){
|
||||
if ( sLevelDifficultyConfig.getMaxCountPerDay() != 0 && levelDifficulty.getChallengeTimes() >= sLevelDifficultyConfig.getMaxCountPerDay()){
|
||||
LOGGER.info("startLevelDifficultyFight==>uid={},fightId={} challengeTimes={},MaxTime={}",uid,fightId,levelDifficulty.getChallengeTimes(),sLevelDifficultyConfig.getMaxCountPerDay());
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "次数不足");
|
||||
return;
|
||||
}
|
||||
boolean flag = ItemUtil.fightItemCost(user, sLevelDifficultyConfig.getCost());
|
||||
boolean flag = ItemUtil.fightItemCost(user, getCost(sLevelDifficultyConfig,1));
|
||||
if (!flag){
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "道具不足");
|
||||
return;
|
||||
}
|
||||
List<TeamPosHeroInfo> teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
||||
if (teamPosHeroInfos == null) {
|
||||
LOGGER.info("startLevelDifficultyFight==>uid={},teamId wrong={}", uid, teamId);
|
||||
MessageUtil.sendErrorResponse(session, 0, messageType.getNumber(), "teamId is wrong:" + teamId);
|
||||
if (teamPosHeroInfos == null || teamPosHeroInfos.size() != 0){
|
||||
LOGGER.info("startLevelDifficultyFight==> uid={},fightId={},teamId={}",uid,fightId,teamId);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "阵容有误!!");
|
||||
return;
|
||||
}
|
||||
String fightInfo = fightId +"#" +teamId;
|
||||
String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false);
|
||||
RedisUtil.getInstence().set(key, fightInfo, sLevelDifficultyConfig.getRankTime()+100);
|
||||
//扣除预先道具
|
||||
ItemUtil.fightItemCost(user,sLevelDifficultyConfig.getPreLevelCost());
|
||||
FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder();
|
||||
|
@ -1272,6 +1276,23 @@ public class MapLogic {
|
|||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true);
|
||||
}
|
||||
|
||||
public int[][] getCost(SLevelDifficultyConfig sLevelDifficultyConfig,int sweepTimes) {
|
||||
StringBuilder cost = new StringBuilder();
|
||||
int[][] costArr = sLevelDifficultyConfig.getCost();
|
||||
int[][] preLevelCostArr = sLevelDifficultyConfig.getPreLevelCost();
|
||||
for (int i= 0; i < costArr.length; i++){
|
||||
int[] ints = costArr[i];
|
||||
int[] ints1 = preLevelCostArr[i];
|
||||
int itemNum = ints[1] * sweepTimes + ints1[1] * sweepTimes;
|
||||
if (cost.length() == 0){
|
||||
cost = new StringBuilder(ints[0] + "#" + itemNum);
|
||||
}else{
|
||||
cost.append("|").append(ints[0]).append("#").append(itemNum);
|
||||
}
|
||||
}
|
||||
return StringUtil.parseFiledInt2(cost.toString()) ;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关卡结束战斗
|
||||
|
@ -1282,16 +1303,29 @@ public class MapLogic {
|
|||
public void endDifficultyFight(ISession session, String frames, int fightId ,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
String key = RedisKey.getKey(RedisKey.FIGHT, user.getId() , false);
|
||||
String fightKey = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false);
|
||||
String fightInfos = (String) RedisUtil.getInstence().get(fightKey);
|
||||
if (fightInfos.isEmpty()){
|
||||
LOGGER.info("endFight() uid=>{} fightKey={},fightId={} fightInfos == null", uid, fightKey,fightId);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
String[] split = fightInfos.split("#");
|
||||
int checkFightId = Integer.parseInt(split[0]);
|
||||
if (fightId != checkFightId){
|
||||
LOGGER.info("endFight() uid=>{} fightId=>{},checkFightId={}", uid, fightId,checkFightId);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "");
|
||||
return;
|
||||
}
|
||||
String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_FIGHT, user.getId() , false);
|
||||
Map<Object , Object> valueMap = RedisUtil.getInstence().hmget(key);
|
||||
RedisUtil.getInstence().del(key);
|
||||
if (valueMap == null || valueMap.isEmpty()) {
|
||||
LOGGER.info("endFight() uid=>{} not start fight", uid);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "此战斗已结算过!");
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "此战斗已结算过 !");
|
||||
return;
|
||||
}
|
||||
int seed = Integer.parseInt((String)valueMap.get(RedisKey.FIGHT_SEED));
|
||||
// int monsterGroupId = Integer.parseInt((String)valueMap.get(RedisKey.FIGHT_GROUPID));
|
||||
CommonProto.FightTeamInfo.Builder builder = CommonProto.FightTeamInfo.newBuilder();
|
||||
JsonFormat.merge((String)valueMap.get(RedisKey.FIGHT_HEROES), builder);
|
||||
CommonProto.FightTeamInfo fightTeamInfo = builder.build();
|
||||
|
@ -1317,12 +1351,15 @@ public class MapLogic {
|
|||
for (int i = 1; i < checkResult.length; i++) {
|
||||
remainHp.add(checkResult[i]);
|
||||
}
|
||||
LevelDifficultyManager levelDifficultyManager = user.getLevelDifficultyManager();
|
||||
//校验结果码 1:胜利
|
||||
int resultCode = checkResult[0];
|
||||
if (resultCode == -1){
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "战斗异常!");
|
||||
return;
|
||||
}else if(resultCode == 0){
|
||||
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
||||
levelDifficulty.setState(Global.FIGHT_OPEND_NO_CLEARANCE);
|
||||
// 失败处理
|
||||
resetMapInfo(user,true);
|
||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||
|
@ -1335,30 +1372,56 @@ public class MapLogic {
|
|||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse, true);
|
||||
return;
|
||||
}
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
ItemUtil.itemCost(user, sLevelDifficultyConfig.getCost());
|
||||
//玩家升级
|
||||
userLevelUp(user,sLevelDifficultyConfig.getExp());
|
||||
userLevelUp(playerInfoManager,sLevelDifficultyConfig.getExp());
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 1);
|
||||
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
||||
levelDifficulty.setState(Global.FIGHT_CLEARANCE);
|
||||
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +1);
|
||||
//开启关卡
|
||||
openNextFightIds(levelDifficultyManager,playerInfoManager,fightId);
|
||||
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
||||
fightEndResponse.setDrop(drop);
|
||||
fightEndResponse.setResult(resultCode);
|
||||
// fightEndResponse.addAllRemainHpList(remainHp);
|
||||
fightEndResponse.build();
|
||||
// updateMapMission(user.getMapManager(),EventType.fightEvent,0,monsterGroupId);
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 开启关卡
|
||||
* @param levelDifficultyManager
|
||||
* @param fightId
|
||||
*/
|
||||
private void openNextFightIds(LevelDifficultyManager levelDifficultyManager, PlayerManager playerInfoManager, int fightId) {
|
||||
Map<Integer, LevelDifficulty> levelDifficultyMap = SLevelDifficultyConfig.getLevelDifficultyMap();
|
||||
Map<Integer, LevelDifficulty> levelDifficultyInfosMap = levelDifficultyManager.getLevelDifficultyInfosMap();
|
||||
for (Map.Entry<Integer,LevelDifficulty> entry :levelDifficultyMap.entrySet()){
|
||||
LevelDifficulty levelDifficulty = entry.getValue();
|
||||
int id = levelDifficulty.getFightId();
|
||||
SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(id);
|
||||
if(levelDifficultyInfosMap.containsKey(id)){
|
||||
continue;
|
||||
}
|
||||
if (sLevelDifficultyConfig.getLevelLimit() > playerInfoManager.getLevel() ||sLevelDifficultyConfig.getPrecondition() != fightId ){
|
||||
continue;
|
||||
}
|
||||
levelDifficultyManager.newLevelDifficulty(id,levelDifficulty.getType(),levelDifficulty.getAreaId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 玩家升级
|
||||
* @param user
|
||||
* @param playerInfoManager
|
||||
* @param addExp
|
||||
*/
|
||||
public void userLevelUp(User user, int addExp) throws Exception {
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
public void userLevelUp( PlayerManager playerInfoManager, int addExp) throws Exception {
|
||||
if (addExp <= 0) {
|
||||
return;
|
||||
}
|
||||
int maxExp = 11;
|
||||
int maxExp = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(SPlayerLevelConfig.getsPlayerLevelConfigMap().size()).getExp();
|
||||
if (playerInfoManager.getExp() >= maxExp) {
|
||||
return;
|
||||
}
|
||||
|
@ -1373,15 +1436,17 @@ public class MapLogic {
|
|||
}
|
||||
while (curExp >= levelUpExp && curExp <= maxExp) {
|
||||
playerInfoManager.setLevel(playerInfoManager.getLevel() + 1);
|
||||
//达到指定等级给邀请人加任务数量
|
||||
sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(oldLevel + 1);
|
||||
sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(playerInfoManager.getLevel() + 1);
|
||||
if (sPlayerLevelConfig == null) {
|
||||
levelUpExp = Integer.MAX_VALUE;
|
||||
} else {
|
||||
levelUpExp = sPlayerLevelConfig.getExp();
|
||||
if (curExp >= sPlayerLevelConfig.getExp()){
|
||||
curExp = curExp - sPlayerLevelConfig.getExp();
|
||||
}
|
||||
}
|
||||
}
|
||||
playerInfoManager.setExp(levelUpExp);
|
||||
playerInfoManager.setExp(curExp);
|
||||
if (playerInfoManager.getLevel() > oldLevel) {
|
||||
for (int level = oldLevel + 1; level <= playerInfoManager.getLevel(); level++) {
|
||||
sPlayerLevelConfig= SPlayerLevelConfig.getsPlayerLevelConfigMap().get(level);
|
||||
|
|
|
@ -22,9 +22,9 @@ public class StartFightRequestHandler extends BaseHandler{
|
|||
FightInfoProto.FightStartRequest fightStartRequest = FightInfoProto.FightStartRequest.parseFrom(message);
|
||||
int type = fightStartRequest.getType();
|
||||
int fightId = fightStartRequest.getFightId();
|
||||
int teamId = fightStartRequest.getFightId();
|
||||
int teamId = fightStartRequest.getTeamId();
|
||||
if (type ==1){
|
||||
MapLogic.getInstance().startLevelDifficultyFight(iSession,fightId,teamId,MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
||||
MapLogic.getInstance().startLevelDifficultyFight(iSession,fightId,teamId,type,MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
||||
}else{
|
||||
MapLogic.getInstance().startFight(iSession, MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
||||
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
package com.ljsd.jieling.handler.map;
|
||||
|
||||
import com.ljsd.jieling.config.SLevelDifficultyConfig;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.FightInfoProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.StringUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
public class SweepLogic {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(SweepLogic.class);
|
||||
|
||||
private Map<Integer, BaseBehavior> baseBehaviorMap = new HashMap<>();
|
||||
|
||||
public void init(ConfigurableApplicationContext configurableApplicationContext) {
|
||||
Map<String, BaseBehavior> beansOfType = configurableApplicationContext.getBeansOfType(BaseBehavior.class);
|
||||
for (BaseBehavior baseBehavior : beansOfType.values()) {
|
||||
baseBehaviorMap.put(baseBehavior.getBehaviorType(), baseBehavior);
|
||||
}
|
||||
}
|
||||
|
||||
private SweepLogic() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取单例
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static SweepLogic getInstance() {
|
||||
return Instance.instance;
|
||||
}
|
||||
|
||||
|
||||
public static class Instance {
|
||||
public final static SweepLogic instance = new SweepLogic();
|
||||
}
|
||||
|
||||
/**
|
||||
* 关卡扫荡
|
||||
* @param session
|
||||
* @param fightId
|
||||
* @param sweepTimes
|
||||
*/
|
||||
public void sweepFight(ISession session, int fightId, int sweepTimes,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
LevelDifficultyManager levelDifficultyManager = user.getLevelDifficultyManager();
|
||||
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
||||
if (levelDifficulty.getState() != Global.FIGHT_CLEARANCE){
|
||||
LOGGER.info("startLevelDifficultyFight==> uid={},fightId, levelDifficulty is null ",uid,fightId);
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "该地图未通关");
|
||||
return;
|
||||
}
|
||||
SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(fightId);
|
||||
if (sLevelDifficultyConfig.getMaxCountPerDay() != 0 && levelDifficulty.getChallengeTimes() +sweepTimes > sLevelDifficultyConfig.getMaxCountPerDay()){
|
||||
LOGGER.info("startLevelDifficultyFight==>uid={},fightId={} challengeTimes={},MaxTime={}",uid,fightId,levelDifficulty.getChallengeTimes(),sLevelDifficultyConfig.getMaxCountPerDay());
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "次数不足");
|
||||
return;
|
||||
}
|
||||
int[][] cost = MapLogic.getInstance().getCost(sLevelDifficultyConfig, sweepTimes);
|
||||
boolean flag = ItemUtil.fightItemCost(user,cost);
|
||||
if (!flag){
|
||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "道具不足");
|
||||
return;
|
||||
}
|
||||
//扣除道具
|
||||
ItemUtil.fightItemCost(user, cost);
|
||||
List<CommonProto.Drop> dropList = new CopyOnWriteArrayList<>();
|
||||
for (int i = 0 ; i < sweepTimes ;i++){
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 0);
|
||||
dropList.add(drop.build());
|
||||
}
|
||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||
MapLogic.getInstance().userLevelUp(playerInfoManager,sLevelDifficultyConfig.getExp() * sweepTimes);
|
||||
FightInfoProto.SweepRightResponse.Builder builder = FightInfoProto.SweepRightResponse.newBuilder();
|
||||
builder.addAllDrop(dropList);
|
||||
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +sweepTimes);
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), builder.build(), true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.ljsd.jieling.handler.map;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.FightInfoProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class SweepRightRequestHandler extends BaseHandler{
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.SWEEP_RIGHT_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
byte[] message = netData.parseClientProtoNetData();
|
||||
FightInfoProto.SweepRightRequest sweepRightRequest = FightInfoProto.SweepRightRequest.parseFrom(message);
|
||||
int type = sweepRightRequest.getType();
|
||||
int fightId = sweepRightRequest.getFightId();
|
||||
int sweepTimes = sweepRightRequest.getNum();
|
||||
if (type == 1){ //关卡扫荡
|
||||
SweepLogic.getInstance().sweepFight(iSession,fightId,sweepTimes, MessageTypeProto.MessageType.SWEEP_RIGHT_RESPONSE);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -250,5 +250,19 @@ public class BehaviorUtil {
|
|||
int seed = (int)(System.currentTimeMillis()/1000);
|
||||
fightData.setFightSeed(seed);
|
||||
fightStartRespons.setFightData(fightData);
|
||||
|
||||
|
||||
String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_FIGHT, user.getId(), false);
|
||||
Map<String,Object> fightInfo = new HashMap<>();
|
||||
|
||||
fightInfo.put(RedisKey.FIGHT_HEROES, JsonFormat.printToString(fightTeamInfo));
|
||||
fightInfo.put(RedisKey.FIGHT_MONSTERS, JsonFormat.printToString(monsterGroupList.get(0)));//暂时没考虑多拨怪
|
||||
fightInfo.put(RedisKey.FIGHT_SEED,Integer.toString(seed));
|
||||
fightInfo.put(RedisKey.FIGHT_GROUPID, Integer.toString(groupId));
|
||||
fightInfo.put(RedisKey.NEED_MISSION_ID, Integer.toString(0));
|
||||
fightInfo.put(RedisKey.NEED_DESORY_ID, Integer.toString(0));
|
||||
fightInfo.put(RedisKey.NEED_DESORY_XY, Integer.toString(0));
|
||||
fightInfo.put(RedisKey.NEXT_EVENT_ID, Integer.toString(0));
|
||||
RedisUtil.getInstence().hmset(key, fightInfo, RedisKey.EXPIRE_TIME);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,11 +18,11 @@ public class LevelDifficulty extends MongoBase {
|
|||
|
||||
public LevelDifficulty(){
|
||||
//绑定关系
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
// this.setRootCollection(User._COLLECTION_NAME);
|
||||
}
|
||||
|
||||
public LevelDifficulty(int fightId,int type,int areaId){
|
||||
// this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.areaId = areaId;
|
||||
this.fightId = fightId;
|
||||
this.state = Global.FIGHT_OPEND;
|
||||
|
|
|
@ -14,7 +14,7 @@ public class LevelDifficultyManager extends MongoBase {
|
|||
private List<Integer> openAreaIds = new CopyOnWriteArrayList<>();
|
||||
|
||||
public void addLevelDifficulty(LevelDifficulty LevelDifficulty) {
|
||||
LevelDifficulty.init(String.valueOf(LevelDifficulty.getFightId()), getMongoKey() + ".levelDifficultyInfosMap." + LevelDifficulty.getFightId());
|
||||
LevelDifficulty.init(this.getRootId(), getMongoKey() + ".levelDifficultyInfosMap." + LevelDifficulty.getFightId());
|
||||
updateString("levelDifficultyInfosMap." + LevelDifficulty.getFightId(), LevelDifficulty);
|
||||
levelDifficultyInfosMap.put(LevelDifficulty.getFightId(), LevelDifficulty);
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ public class LevelDifficultyManager extends MongoBase {
|
|||
public void addOpendAreaid(int openAreaId) {
|
||||
if (!this.openAreaIds.contains(openAreaId)){
|
||||
this.openAreaIds.add(openAreaId);
|
||||
updateString("openAreaIds" , openAreaIds);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ public class MailingSystemManager {
|
|||
public static void init(ConfigurableApplicationContext configurableApplicationContext) throws Exception {
|
||||
//TODO 测试用
|
||||
//初始化系统邮件信息
|
||||
MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), Integer.toString(1), MailingSystem.class);
|
||||
MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), Integer.toString(GameApplication.serverId), MailingSystem.class);
|
||||
if (mailingSystem == null){
|
||||
mailingSystem = new MailingSystem();
|
||||
addMailingSystem(mailingSystem);
|
||||
|
@ -29,6 +29,8 @@ public class MailingSystemManager {
|
|||
mailingSystem.getSysMailManager().addSystemMail(new SysMail(GameApplication.serverId));
|
||||
// MailingSystemManager.ljsdMongoTemplate.lastUpdate();
|
||||
MailLogic.getInstance().sendSystemMail("开服邮件",new ArrayList<>(),"DSKGSD",nowTime,"1#5000|2#100",30*24*60*60,"IDIP",0,"0");
|
||||
}else{
|
||||
addMailingSystem(mailingSystem);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ public class User {
|
|||
this.adventureManager.init(id, MongoKey.adventureManager);
|
||||
this.pokemonManager.init(id, MongoKey.pokemonManager);
|
||||
this.workShopController.init(id, MongoKey.workShopController);
|
||||
this.levelDifficultyManager.init(id, MongoKey.workShopController);
|
||||
this.levelDifficultyManager.init(id, MongoKey.levelDifficultyManager);
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
|
|
Loading…
Reference in New Issue