back_recharge
parent
d6a2b84015
commit
7a0690f520
|
|
@ -1,152 +1,152 @@
|
||||||
Id Precondition LevelLimit MonsterGroup Cost PreLevelCost Exp RandomReward RankTime MaxCountPerDay RecommendFightAbility
|
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
|
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
|
1011 0 0 51011 2#5 2#1 6 2000#2001 300 0 100
|
||||||
1021 1011 0 51012 2#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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#6 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
|
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.STableManager;
|
||||||
import com.ljsd.jieling.logic.dao.MailingSystemManager;
|
import com.ljsd.jieling.logic.dao.MailingSystemManager;
|
||||||
import com.ljsd.jieling.logic.fight.CheckFight;
|
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.netty.server.NettyGameServer;
|
||||||
import com.ljsd.jieling.network.NettyProperties;
|
import com.ljsd.jieling.network.NettyProperties;
|
||||||
import com.ljsd.jieling.network.NettyServerAutoConfiguration;
|
import com.ljsd.jieling.network.NettyServerAutoConfiguration;
|
||||||
|
|
@ -73,6 +74,8 @@ public class GameApplication {
|
||||||
|
|
||||||
MongoUtil.getInstence().init(configurableApplicationContext);
|
MongoUtil.getInstence().init(configurableApplicationContext);
|
||||||
|
|
||||||
|
CombatLogic.getInstance().checkAdventureFlush();
|
||||||
|
|
||||||
STableManager.initialize("com.ljsd.jieling.config");
|
STableManager.initialize("com.ljsd.jieling.config");
|
||||||
//初始化邮件
|
//初始化邮件
|
||||||
MailingSystemManager.init(configurableApplicationContext);
|
MailingSystemManager.init(configurableApplicationContext);
|
||||||
|
|
|
||||||
|
|
@ -1183,26 +1183,43 @@ public class MapLogic {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(fightId);
|
SLevelDifficultyConfig sLevelDifficultyConfig = SLevelDifficultyConfig.getsLevelDifficultyConfigMap().get(fightId);
|
||||||
if ( sLevelDifficultyConfig.getMaxCountPerDay() != 0 && 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());
|
LOGGER.info("startLevelDifficultyFight==>uid={},fightId={} challengeTimes={},MaxTime={}",uid,fightId,levelDifficulty.getChallengeTimes(),sLevelDifficultyConfig.getMaxCountPerDay());
|
||||||
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "次数不足");
|
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "次数不足");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// boolean flag = ItemUtil.fightItemCost(user, sLevelDifficultyConfig.getCost());
|
boolean flag = ItemUtil.fightItemCost(user, getCost(sLevelDifficultyConfig,1));
|
||||||
// if (!flag){
|
if (!flag){
|
||||||
// MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "道具不足");
|
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "道具不足");
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
String fightInfo = fightId +"#" +teamId;
|
String fightInfo = fightId +"#" +teamId;
|
||||||
String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false);
|
String key = RedisKey.getKey(RedisKey.LEVE_DIFFICULTY_INFO, String.valueOf(uid), false);
|
||||||
RedisUtil.getInstence().set(key, fightInfo, sLevelDifficultyConfig.getRankTime()+100);
|
RedisUtil.getInstence().set(key, fightInfo, sLevelDifficultyConfig.getRankTime()+100);
|
||||||
//扣除预先道具
|
//扣除预先道具
|
||||||
// ItemUtil.fightItemCost(user,sLevelDifficultyConfig.getPreLevelCost());
|
ItemUtil.fightItemCost(user,sLevelDifficultyConfig.getPreLevelCost());
|
||||||
FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder();
|
FightInfoProto.FightStartResponse.Builder fightStartResponse = FightInfoProto.FightStartResponse.newBuilder();
|
||||||
BehaviorUtil.getLevelDifficultyifficuFightInfo(user,sLevelDifficultyConfig.getMonsterGroup(),teamId,fightStartResponse);
|
BehaviorUtil.getLevelDifficultyifficuFightInfo(user,sLevelDifficultyConfig.getMonsterGroup(),teamId,fightStartResponse);
|
||||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightStartResponse.build(), true);
|
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()) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关卡结束战斗
|
* 关卡结束战斗
|
||||||
|
|
@ -1285,10 +1302,11 @@ public class MapLogic {
|
||||||
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
ItemUtil.itemCost(user, sLevelDifficultyConfig.getCost());
|
ItemUtil.itemCost(user, sLevelDifficultyConfig.getCost());
|
||||||
//玩家升级
|
//玩家升级
|
||||||
// userLevelUp(playerInfoManager,sLevelDifficultyConfig.getExp());
|
userLevelUp(playerInfoManager,sLevelDifficultyConfig.getExp());
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 1);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sLevelDifficultyConfig.getRandomReward(), 1, 1);
|
||||||
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
LevelDifficulty levelDifficulty = levelDifficultyManager.getLevelDifficultyInfosMap().get(fightId);
|
||||||
levelDifficulty.setState(Global.FIGHT_CLEARANCE);
|
levelDifficulty.setState(Global.FIGHT_CLEARANCE);
|
||||||
|
levelDifficulty.setChallengeTimes(levelDifficulty.getChallengeTimes() +1);
|
||||||
//开启关卡
|
//开启关卡
|
||||||
openNextFightIds(levelDifficultyManager,playerInfoManager,fightId);
|
openNextFightIds(levelDifficultyManager,playerInfoManager,fightId);
|
||||||
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder();
|
||||||
|
|
@ -1330,7 +1348,7 @@ public class MapLogic {
|
||||||
if (addExp <= 0) {
|
if (addExp <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int maxExp = 11;
|
int maxExp = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(SPlayerLevelConfig.getsPlayerLevelConfigMap().size()).getExp();
|
||||||
if (playerInfoManager.getExp() >= maxExp) {
|
if (playerInfoManager.getExp() >= maxExp) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -1345,14 +1363,17 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
while (curExp >= levelUpExp && curExp <= maxExp) {
|
while (curExp >= levelUpExp && curExp <= maxExp) {
|
||||||
playerInfoManager.setLevel(playerInfoManager.getLevel() + 1);
|
playerInfoManager.setLevel(playerInfoManager.getLevel() + 1);
|
||||||
sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(oldLevel + 1);
|
sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(playerInfoManager.getLevel() + 1);
|
||||||
if (sPlayerLevelConfig == null) {
|
if (sPlayerLevelConfig == null) {
|
||||||
levelUpExp = Integer.MAX_VALUE;
|
levelUpExp = Integer.MAX_VALUE;
|
||||||
} else {
|
} else {
|
||||||
levelUpExp = sPlayerLevelConfig.getExp();
|
levelUpExp = sPlayerLevelConfig.getExp();
|
||||||
|
if (curExp >= sPlayerLevelConfig.getExp()){
|
||||||
|
curExp = curExp - sPlayerLevelConfig.getExp();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
playerInfoManager.setExp(levelUpExp);
|
playerInfoManager.setExp(curExp);
|
||||||
if (playerInfoManager.getLevel() > oldLevel) {
|
if (playerInfoManager.getLevel() > oldLevel) {
|
||||||
for (int level = oldLevel + 1; level <= playerInfoManager.getLevel(); level++) {
|
for (int level = oldLevel + 1; level <= playerInfoManager.getLevel(); level++) {
|
||||||
sPlayerLevelConfig= SPlayerLevelConfig.getsPlayerLevelConfigMap().get(level);
|
sPlayerLevelConfig= SPlayerLevelConfig.getsPlayerLevelConfigMap().get(level);
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ public class StartFightRequestHandler extends BaseHandler{
|
||||||
FightInfoProto.FightStartRequest fightStartRequest = FightInfoProto.FightStartRequest.parseFrom(message);
|
FightInfoProto.FightStartRequest fightStartRequest = FightInfoProto.FightStartRequest.parseFrom(message);
|
||||||
int type = fightStartRequest.getType();
|
int type = fightStartRequest.getType();
|
||||||
int fightId = fightStartRequest.getFightId();
|
int fightId = fightStartRequest.getFightId();
|
||||||
int teamId = 1;
|
int teamId = fightStartRequest.getTeamId();
|
||||||
if (type ==1){
|
if (type ==1){
|
||||||
MapLogic.getInstance().startLevelDifficultyFight(iSession,fightId,teamId,type,MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
MapLogic.getInstance().startLevelDifficultyFight(iSession,fightId,teamId,type,MessageTypeProto.MessageType.FIGHT_START_RESPONSE);
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue