Merge branch 'master_test_gn' into master_test_gn_endless
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/logic/mission/GameEvent.java # serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionType.java # serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DataManagerDistributor.java # serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/MissionEventDistributor.java
commit
4e969510f5
|
|
@ -1,8 +1,8 @@
|
|||
local HardStage = {
|
||||
__count = 76,
|
||||
__indexs = {1.91,82,1.81,2.1,2.1},
|
||||
__values = {-588,-66.2,64,2,66,20,46,42,24,7.4,40,1.91,7,-2.3,-4.8,8,28,1,-2.9,17,2,63,2,1.2,-2.7,5,46,31,6.2,-2.3,1.2,-2.2,19,28.3,55,2,7,1.2,8,1,57,3,1.3,95,1.3,97,1.3,98,1,108,1.7,83,8899,1.01,34996,-2.3,8,10,20,164950,27000,3000,6000,-4000.2,3000,4000,3000,8000,3000,7000,13000,9000,1000,1.65,944,-2.9,62.2,2.1,6.1,6.1,11944,10000,-20000.3,-30000.2,20000,70000,-40000.2,60000,50000,60000,10000,20000,-30000.3,10000,50000,30000,60000,140000,28810010,1,99,100,3.2,5.1,5.1,9100,16.1,32.13},
|
||||
__exVals = {87,nil,'x_xiaoyaoyou_ditu_longzi','x_xiaoyaoyou_ditu_huangzi','x_xiaoyaoyou_ditu_luzi','x_xiaoyaoyou_ditu_hezi','x_xiaoyaoyou_ditu_shengzi','x_xiaoyaoyou_ditu_buzi','x_xiaoyaoyou_ditu_dizi','x_xiaoyaoyou_ditu_xuezi','x_xiaoyaoyou_ditu_xianzi','x_xiaoyaoyou_ditu_jingzi','困难副本1-1','困难副本1-1.5','困难副本1-2','困难副本1-2.5','困难副本1-3','困难副本1-3.5','困难副本1-4','困难副本1-4.5','困难副本1-5','困难副本1-5.5','困难副本1-6','困难副本1-6.5','困难副本1-7','困难副本1-7.5','困难副本1-8','困难副本1-8.5','困难副本1-9','困难副本1-9.5','困难副本1-10','困难副本2-1','困难副本2-1.5','困难副本2-2','困难副本2-2.5','困难副本2-3','困难副本2-3.5','困难副本2-4','困难副本2-4.5','困难副本2-5','困难副本2-5.5','困难副本2-6','困难副本2-6.5','困难副本2-7','困难副本2-7.5','困难副本2-8','困难副本2-8.5','困难副本2-9','困难副本2-9.5','困难副本2-10','困难副本3-1','困难副本3-1.5','困难副本3-2','困难副本3-2.5','困难副本3-3','困难副本3-3.5','困难副本3-4','困难副本3-4.5','困难副本3-5','困难副本3-5.5','困难副本3-6','困难副本3-6.5','困难副本3-7','困难副本3-7.5','困难副本3-8','困难副本3-8.5','困难副本3-9','困难副本3-9.5','困难副本3-10','困难副本4-1','困难副本4-1.5','困难副本4-2','困难副本4-2.5','困难副本4-3','困难副本4-3.5','困难副本4-4','困难副本4-4.5','困难副本4-5','困难副本4-5.5','困难副本4-6','困难副本4-6.5','困难副本4-7','困难副本4-7.5','困难副本4-8','困难副本4-8.5','困难副本4-9','困难副本4-9.5','困难副本4-10'},
|
||||
__values = {0,1.91,81,1,-2.9,82,2,1.2,-2.7,4.3,-2.4,1.2,2,197,9,1.2,8,1,9,1,60,1.2,95,1.3,97,1.3,207,1.7,83,8899,1.01,23.2,2,-3.2,3.2,1.2,5,6.2,2,1,29,1.3,11,34918,1.3,-2.2,8,10,20,164950,27000,3000,6000,-4000.2,3000,4000,3000,8000,3000,7000,13000,9000,1000,1.65,944,-2.9,68.2,2.1,6.1,6.1,11944,10000,-20000.3,-30000.2,20000,70000,-40000.2,60000,50000,60000,10000,20000,-30000.3,10000,50000,30000,60000,140000,28810010,1,99,100,3.2,5.1,5.1,9100,16.1,32.13},
|
||||
__exVals = {198,nil,'x_xiaoyaoyou_ditu_longzi','x_xiaoyaoyou_ditu_huangzi','x_xiaoyaoyou_ditu_luzi','x_xiaoyaoyou_ditu_hezi','x_xiaoyaoyou_ditu_shengzi','x_xiaoyaoyou_ditu_buzi','x_xiaoyaoyou_ditu_dizi','x_xiaoyaoyou_ditu_xuezi',417.76,-681.87,-111.82,'x_xiaoyaoyou_ditu_xianzi',-306.99,4.22,-120.26,'x_xiaoyaoyou_ditu_jingzi',-685.71,-552.79,-664.62,-450.46,-443.08,-119.21,-400.88,-310.15,-37.98,-92.84,-137.09,-401.93,130.81,217.32,352.35,409.32,620.31,607.65,450.46,119.21,-622.79,-643.89,-715.63,-652.33,-565.45,-424.09,-384.37,-419.87,-402.99,-310.53,458.9,-194.48,-132.92,-210.99,-23.21,100.9,-294.33,126.22,252.81,316.11,348.13,238.42,221.54,280.62,537.65,306.99,580.22,605.54,577.74,294.33,262.68,7.38,-366.07,-341.80,123.43,368.18,289.05,48.53,-147.25,-183.56,-79.12,-425.14,-197.27,13.71,297.49,213.10,340.75,169.85,-152.97,-262.68,-7.38,366.07,-341.8,-123.43,-368.18,-289.05,-48.53,147.25,387.16,-156.13,79.12,425.14,197.27,-13.71,-297.49,213.1,-340.75,-169.85,152.97,182.51,-74.9,-161.41,-258.46,-418.81,-458.90,-370.29,-407.58,-209.93,242.64,386.11,160.35,-43.25,-247.91,-336.53,-200.44,-167.74,-378.73,-117.10,-77.01,120.26,175.12,319.65,412.48,401.93,29.54,-60.13,-182.51,74.9,161.41,258.46,418.81,370.29,209.93,-4.22,-242.64,-458.9,-386.11,-160.35,43.25,247.91,336.53,200.44,167.74,378.73,117.1,77.01,-175.12,-319.65,-412.48,-29.54,60.13,'1-1','1-2','1-3','1-4','1-5','1-6','1-7','1-8','1-9','1-10','2-1','2-2','2-3','2-4','2-5','2-6','2-7','2-8','2-9','2-10','3-1','3-2','3-3','3-4','3-5','3-6','3-7','3-8','3-9','3-10','4-1','4-2','4-3','4-4','4-5','4-6','4-7','4-8','4-9','4-10'},
|
||||
__fields = {
|
||||
'Id',
|
||||
'Chapter',
|
||||
|
|
@ -10,6 +10,8 @@ __fields = {
|
|||
'Picture',
|
||||
'Name',
|
||||
'LevelPointPosition',
|
||||
'UselessPoint',
|
||||
'Head',
|
||||
'Repeat',
|
||||
'NextLevel',
|
||||
'LevelLimit',
|
||||
|
|
@ -32,9 +34,11 @@ __defaults = {
|
|||
nil,
|
||||
nil,
|
||||
nil,
|
||||
15,
|
||||
nil,
|
||||
15,
|
||||
6,
|
||||
1,
|
||||
nil,
|
||||
1,
|
||||
nil,
|
||||
nil,
|
||||
nil,
|
||||
|
|
@ -43,23 +47,25 @@ __defaults = {
|
|||
nil
|
||||
},
|
||||
__refs = {
|
||||
{16,.81,1,2.1,4.3},
|
||||
{16,1.81,-18,2.1,4.3},
|
||||
{388,1.7,2,-1,-8,4.1,4.1,1.8,6.1,16.6},
|
||||
{398,1.57},
|
||||
{{{1},{86,-5,-9,-13,-17,-28,-3,-2,-2,-3,3,-2.2,3,28,17,13,9,5,0,18.1,36.53}},{{2},{96,-3,-5,-1,-2,-12,-10,-3,-13,-26,-8,8.2,-2,-2,4.2,-1,-1,95,19.1,38.73}}},
|
||||
{16,-1,1,2.1,4.1,8.1,2.1,0,19.1,38.73},
|
||||
{15,1,0,2,0,2,4.1,8.1,0,2,15,0,1,0,1,4.1,8.1,0,1,3,5.3,2,19.1,13.7,8.6},
|
||||
{35,.7,1,2.1,.6,1,.5,2.1,6.1,12.7,.2},
|
||||
{2,.81,1,2.1,4.3},
|
||||
{2,1.81,-18,2.1,4.3},
|
||||
{374,1.7,8,-4,-11,4.1,8.5,4,7.1,7.6},
|
||||
{531,-158,159,-159,160,-160,161,-161,162,-162,163,-163,164,-164,165,-165,166,-166,167,1,-168,169,-169,170,-170,171,-171,172,-172,173,-173,174,-174,175,-175,176,-176,177,1,-178,179,-179,180,-180,181,-181,182,-182,183,-183,184,-184,185,-185,186,-186,187,1,-188,189,-189,190,-190,191,-191,192,-192,193,-193,194,-194,195,-195,196,-196,197},
|
||||
{{{1},{440,1.2,-49,2,49,1.4,-47,3.2,2,1.5,-53,1,54,1.5,2,8.2,1.2,-38,19.81}},{{2},{390,1.2,2,49,-47,1.4,3.2,1,-21,22,51,-50,1.2,-17,14.2,68,-66,1.4,69,-67,14.3,71,-70,14.4,28.52}}},
|
||||
{{{1,1},{479,1,3,2,-98,101,-80,82,1.3,2,1.2,-2.2,1,2.1,3,1,2,1,-121,124,13.3,-136,139,1.2,-50,27.62},{1,-19.3}},{{1,2},{383,28,-2.3,1.2,-35,0,39,-35,37,3,2,1,2,-51,55,-54,15.1,30.92},{1,-19.3}},{{2,1},{409,72,3,-98,34,-34,40,0,72,2,3,2,-110,113,-88,92,3,-80,4,0,86,1,-125,129,-121,24.32},{1,5,1,2,1.2,6,3,6.1,12.11}},{{2,2},{410,-27,31,72,-65,-3.2,2,-378,381,2,4,-28,11.2,2,5,11.9,22.91},{1,5,1,2,1.2,6,3,6.1,12.11}},{{3,1},{482,5,2,5,-59,74,7,5,-135,96,9.8},{3,2,3,4,6,4,5,4.3,9.8}},{{3,2},{412,4,6,-35,49,-24,10,4.3,9.8},{3,2,3,4,6,4,5,4.3,9.8}}},
|
||||
{111,-110,111,-111,99,-99,94,-94,103,-103,109,-109,92,-92,112,-112,107,-107,93,0,-93,106,-106,83,-83,101,-101,91,-91,96,-96,105,-105,84,-84,86,-86,90,11,-101,89,-89,113,-113,97,-97,38.2,108,-108,46.2,36.2,102,-102,95,-9,-86,34.2,104,-104,87,-87,85,-85,93,-93,42.2,100,-100,98,-98,103},
|
||||
{2,-1,1,2.1,4.1,8.1,2.1,0,19.1,38.73},
|
||||
{1.2,0,2,0,2,4.1,8.1,0,-2.2,0,1,0,1,4.1,8.1,0,36.2,1,24.3,18.1,14.8,10.4},
|
||||
nil,
|
||||
{323,1.2,-310,311,1.4,-315,316,1.4,-320,321,1.5,-326,327,1.4,-331,332,1.4,-336,337,1.5,-342,343,1.4,-347,348,1.4,-352,353,1.5,-358,359,1.4,-363,364,1.4,-368,369,1.2},
|
||||
{120,-5,6,0,5,-8,4,-6,6,-8,-1,4,-5,9,2,-12,13,1,-4,6,-6,7,1.2},
|
||||
{138,0,1,-124,125,0,1,0,1,-127,128,6.4,-130,131,0,1.2,0,1,-134,135,12.3,148,-284,285,18.4,-287,288,18.2,.2,-290,291,11.4,-293,294,6.4,-296,298,0,2,-3,0,2,-299,300,13.4,-302,303,6.4,-305,306,4.2},
|
||||
{{{1},{152,1.65,-18,1.81}}},
|
||||
{16,2,-2,1,-1,4.2,6.1,6.1,0,19.1,38.73},
|
||||
{18,-3,3,2.1,4.1,8.1,2.1,0,19.1,38.73},
|
||||
{{{1},{48,.2,15,1,-16,16,-1,0,5.2,44,-29,1,-1,35,-33,-1,-1,.2,39,-4,-35,36,-1,3.2,-36,35,-35,13,-1,-12,43,30,-73,.2,35},{-2.9,3,-2.8,2.1,2.1}},{{2},{64,-1,0,13,.2,57,-58,59,-31,-39,35,2,-25,24,-23,58,-59,0,23,8,-1,-16,9,-22,-1,25,-24,60,-61,32,-45,34,8,-6,-36,46,-15,-3,19},{-2.9,3,-2.8,2.1,2.1}},{{3},{131,-54,55,0,-30,31,-58,32,-31,23,36,-16,-30,46,-31,-9,-3,6,0,7,-6,-37,74,-35,-38,38,-25,32,-10,4,29,-33,-35,74,-74,37,-2,0,1,-23},{-2.9,3,-2.8,2.1,2.1}}},
|
||||
{{{1},{209,1.92,-9,1.9},{-2.9,3,-2.8,2.1,2.1}},{{2},{239,1.92,-9,1.9},{-2.9,3,-2.8,2.1,2.1}},{{3},{269,1.92,-9,1.9},{-2.9,3,-2.8,2.1,2.1}}}
|
||||
nil,
|
||||
{309,1.2,-310,311,1.4,-315,316,1.4,-320,321,1.5,-326,327,1.4,-331,332,1.4,-336,337,1.5,-342,343,1.4,-347,348,1.4,-352,353,1.5,-358,359,1.4,-363,364,1.4,-368,369,1.2},
|
||||
{82,-5,6,0,5,-8,4,-6,6,-8,-1,4,-5,9,2,-12,13,1,-4,6,-6,7,1.2},
|
||||
{124,0,1,-124,125,0,1,0,1,-127,128,6.4,-130,131,0,1.2,0,1,-134,135,12.3,148,-284,285,18.4,-287,288,18.2,.2,-290,291,11.4,-293,294,6.4,-296,298,0,2,-3,0,2,-299,300,13.4,-302,303,6.4,-305,306,4.2},
|
||||
{{{1},{138,1.65,-18,1.81}}},
|
||||
{-2.2,-2,1,-1,2,-2,2.1,6.1,6.4,0,13.21,19.1,38.52},
|
||||
{4,-3,3,2.1,4.1,8.1,2.1,0,19.1,38.73},
|
||||
{{{1},{21,.2,13,10,-23,13,28,-28,0,-13,9.2,1,-14,14,-1,0,5.2,37,-24,1,-1,28,-26,-1,-1,.2,32,-4,-28,29,-1,3.2,-29,28},{-2.9,3,-2.8,2.1,2.1}},{{2},{34,28,-28,28,53,-61,64,-57,1,5,-32,-1,0,11,.2,74,-75,76,-53,-32,28,2,-20,19,-18,75,-76,0,18,8,-1,-13,6,-17,-1,20,-19,77,-78},{-2.9,3,-2.8,2.1,2.1}},{{3},{56,3,-14,0,21,49,-71,73,-72,18,53,-70,72,0,-52,53,-75,27,-26,18,58,-40,-26,66,-53,-8,-2,4,0,7,-6,-30,89,-57,-31,31,-20,27,-10,4},{-2.9,3,-2.8,2.1,2.1}}},
|
||||
{{{1},{195,1.92,-9,1.9},{-2.9,3,-2.8,2.1,2.1}},{{2},{225,1.92,-9,1.9},{-2.9,3,-2.8,2.1,2.1}},{{3},{255,1.92,-9,1.9},{-2.9,3,-2.8,2.1,2.1}}}
|
||||
},
|
||||
__refPoss = {
|
||||
nil,
|
||||
|
|
@ -72,6 +78,8 @@ __refPoss = {
|
|||
nil,
|
||||
nil,
|
||||
nil,
|
||||
nil,
|
||||
nil,
|
||||
{2,4,2.1,2,4,3,6.1,12.11},
|
||||
nil,
|
||||
nil,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
local HardStageCondition = {
|
||||
__count = 63,
|
||||
__indexs = {100,101,1.8,92,1.4,207,1.3,7,2.1,4.3,56,1.5,95,1.3,97,2.1,1.2,97,101,1.3,43902,-2.7,10,20},
|
||||
__values = {0,1.11,59989,-20000.7,100000,200000,500003,43,1},
|
||||
__exVals = {63,'通过关卡','2回合内通过关卡','3回合内通过关卡','4回合内通过关卡','5回合内通过关卡','6回合内通过关卡','7回合内通过关卡','8回合内通过关卡','9回合内通过关卡','10回合内通过关卡','最多上阵1个神将通过关卡','最多上阵2个神将通过关卡','最多上阵3个神将通过关卡','最多上阵4个神将通过关卡','最多上阵5个神将通过关卡','至少上阵人系神将2个','至少上阵人系神将3个','至少上阵人系神将4个','至少上阵人系神将5个','至少上阵佛系神将2个','至少上阵佛系神将3个','至少上阵佛系神将4个','至少上阵佛系神将5个','至少上阵妖系神将2个','至少上阵妖系神将3个','至少上阵妖系神将4个','至少上阵妖系神将5个','至少上阵道系神将2个','至少上阵道系神将3个','至少上阵道系神将4个','至少上阵道系神将5个','存活1个人','存活2个人','存活3个人','存活4个人','存活5个人','存活6个人','不上阵输出神将通过关卡','不上阵辅助神将通过关卡','不上阵肉盾神将通过关卡','不上阵控制神将通过关卡','不上阵人系神将通过关卡','不上阵佛系神将通过关卡','不上阵妖系神将通过关卡','不上阵道系神将通过关卡','佩戴普贤菩萨魂印通过关卡','佩戴辟邪守护魂印通关关卡','佩戴破军魂印通关关卡','不使用灵兽通过关卡','全部上阵输出职业神将通过关卡','全部上阵辅助职业神将通过关卡','全部上阵肉盾职业神将通过关卡','全部上阵控制职业神将通过关卡','5回合内造成6万伤害','5回合内造成8万伤害','5回合内造成10万伤害','5回合内造成12万伤害','5回合内造成14万伤害','5回合内造成16万伤害','5回合内造成18万伤害','5回合内造成20万伤害','5回合内造成30万伤害','5回合内造成50万伤害'},
|
||||
__count = 109,
|
||||
__indexs = {100,101,1.8,92,1.4,207,1.3,7,2.1,4.3,56,1.5,95,1.3,97,2.1,1.83,61,101,1.3,43901,1.3,-2.6,10,20,30,20,-50.6},
|
||||
__values = {0,1.11,49989,-10000.3,-20000.6,100000,200000,300000,200000,9,1,2,1.2,2,1.6,3,4.2,2.1,1.61,2,1.3,499946,-500000.5},
|
||||
__exVals = {109,'通过关卡','2回合内通过关卡','3回合内通过关卡','4回合内通过关卡','5回合内通过关卡','6回合内通过关卡','7回合内通过关卡','8回合内通过关卡','9回合内通过关卡','10回合内通过关卡','最多上阵1个神将通过关卡','最多上阵2个神将通过关卡','最多上阵3个神将通过关卡','最多上阵4个神将通过关卡','最多上阵5个神将通过关卡','至少上阵人系神将2个','至少上阵人系神将3个','至少上阵人系神将4个','至少上阵人系神将5个','至少上阵佛系神将2个','至少上阵佛系神将3个','至少上阵佛系神将4个','至少上阵佛系神将5个','至少上阵妖系神将2个','至少上阵妖系神将3个','至少上阵妖系神将4个','至少上阵妖系神将5个','至少上阵道系神将2个','至少上阵道系神将3个','至少上阵道系神将4个','至少上阵道系神将5个','存活1个人','存活2个人','存活3个人','存活4个人','存活5个人','存活6个人','不上阵输出神将通过关卡','不上阵辅助神将通过关卡','不上阵肉盾神将通过关卡','不上阵控制神将通过关卡','不上阵人系神将通过关卡','不上阵佛系神将通过关卡','不上阵妖系神将通过关卡','不上阵道系神将通过关卡','佩戴舍身济世魂印通过关卡','佩戴辟邪守护魂印通过关卡','佩戴破军魂印通过关卡','佩戴妲己魂印通过关卡','佩戴猪八戒魂印通过关卡','佩戴精卫魂印通过关卡','佩戴百花仙子魂印通过关卡','佩戴唐僧魂印通过关卡','佩戴孙悟空魂印通过关卡','佩戴降龙罗汉魂印通过关卡','佩戴孔雀明王魂印通过关卡','佩戴燃灯魂印通过关卡','佩戴月光菩萨魂印通过关卡','佩戴女儿国王魂印通过关卡','佩戴九命猫魂印通过关卡','佩戴娥皇魂印通过关卡','佩戴冥毒邪宴魂印通过关卡','佩戴太阴星君魂印通过关卡','佩戴通天教主魂印通过关卡','佩戴罗刹魂印通过关卡','佩戴夜叉魂印通过关卡','佩戴瘟癀疫病魂印通过关卡','佩戴蚀骨火毒魂印通过关卡','佩戴神女庇佑魂印通过关卡','佩戴姑获鸟魂印通过关卡','佩戴敖丙魂印通过关卡','佩戴义结金兰魂印通过关卡','佩戴青鸟传信魂印通过关卡','佩戴火烧连城魂印通过关卡','佩戴破邪怒斩魂印通过关卡','佩戴狂噬戮兽魂印通过关卡','佩戴哪吒魂印通过关卡','佩戴失心暴怒魂印通过关卡','佩戴起死回生魂印通过关卡','佩戴破阵穿心魂印通过关卡','佩戴饕餮吞鲸魂印通过关卡','佩戴羲农之佑魂印通过关卡','佩戴除妖斩魔魂印通过关卡','佩戴历战之躯魂印通过关卡','不使用灵兽通过关卡','全部上阵输出职业神将通过关卡','全部上阵辅助职业神将通过关卡','全部上阵肉盾职业神将通过关卡','全部上阵控制职业神将通过关卡','5回合内造成5万伤害','5回合内造成6万伤害','5回合内造成7万伤害','5回合内造成8万伤害','5回合内造成10万伤害','5回合内造成12万伤害','5回合内造成14万伤害','5回合内造成16万伤害','5回合内造成18万伤害','5回合内造成20万伤害','5回合内造成30万伤害','5回合内造成50万伤害','5回合内造成80万伤害','5回合内造成100万伤害','5回合内造成150万伤害','5回合内造成200万伤害','5回合内造成250万伤害','5回合内造成300万伤害','5回合内造成350万伤害','5回合内造成400万伤害'},
|
||||
__fields = {
|
||||
'Id',
|
||||
'ConditionType',
|
||||
|
|
@ -15,9 +15,9 @@ __defaults = {
|
|||
nil
|
||||
},
|
||||
__refs = {
|
||||
{2,1,.8,1,.4,2,.51,1,.5,1,.3,2.1,1,.2,1.2,.3,-7,.9},
|
||||
{{{1},{2,1.9,-9,1.4,-4,.3,1,2.1,4.3,-3,1.5,-4,2,-3,2,-2,1.3,18,2,-1,-23,-2.2,-3,-2.2,.9}},{{2},{3,1.3,-3,2.1,4.3,7,1.9},{16,1.51,23,1.9}}},
|
||||
{26,1.26}
|
||||
{2,1,.8,1,.4,2,.51,1,.5,1,.3,2.1,1,.83,1.2,.3,-7,.91},
|
||||
{{{1},{2,1.9,-9,1.4,-4,.3,1,2.1,4.3,-3,1.5,-4,2,-3,2,-2,1.3,60,-6,-1,-31,1.03,3,1.4,-63,-2.2,-3,-2.2,.91}},{{2},{3,1.3,-3,2.1,4.3,7,1.31,40,1.5},{16,1.51,59,1.91}}},
|
||||
{72,1.801}
|
||||
},
|
||||
__refPoss = {
|
||||
nil,
|
||||
|
|
|
|||
|
|
@ -115,19 +115,8 @@ public class GmService implements RPCRequestGMIFace.Iface {
|
|||
} else {
|
||||
LOGGER.info("gm________________________start:"+cmd);
|
||||
obj.exec(parameters);
|
||||
|
||||
// 获取玩家战报系统
|
||||
if (cmd.contains("fightrecord")) {
|
||||
if (cmd.contains("delete")) {
|
||||
FightRecordLogic.getInstance().delete();
|
||||
} else if (cmd.contains("all")){
|
||||
String allValue = FightRecordLogic.getInstance().getAll(Integer.parseInt(parameters[1]));
|
||||
result.setResultMsg(allValue);
|
||||
} else {
|
||||
String oneRecord = FightRecordLogic.getInstance().getOneRecord(parameters[0]);
|
||||
result.setResultMsg(oneRecord);
|
||||
}
|
||||
}
|
||||
String exec2 = obj.exec2(parameters);
|
||||
result.setResultMsg(exec2);
|
||||
LOGGER.info("gm________________________end:"+cmd);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,5 +27,6 @@ public interface GlobalGm {
|
|||
int JOURNEY_GM = 24;//逍遥游GM操作
|
||||
// int TECNOLOGY_MAX = 21;//科技树一键满级
|
||||
// int POKEMAN_MAX = 22;//一键获得所有满级异妖
|
||||
int HARD_STAGE =25;//一键通关山河社稷图特定关卡之前的所有关卡
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,7 +111,8 @@ public class FastChallengeHandler extends BaseHandler<FightInfoProto.FastFightCh
|
|||
String challengeContent = "";
|
||||
PlayerManager playerInfoManager = UserManager.getUser(challeageId).getPlayerInfoManager();
|
||||
String challengeName = playerInfoManager.getNickName();
|
||||
|
||||
String challengeNameColor = playerInfoManager.getNameColor();
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
if(fight==-1){
|
||||
throw new ErrorCodeException(ErrorCode.FIGHT_EXCEPTION);
|
||||
}
|
||||
|
|
@ -130,11 +131,15 @@ public class FastChallengeHandler extends BaseHandler<FightInfoProto.FastFightCh
|
|||
}
|
||||
}
|
||||
}
|
||||
content = SErrorCodeEerverConfig.getI18NMessage("worldboss_battle_win",new Object[]{challengeName,gainScore});
|
||||
challengeContent = SErrorCodeEerverConfig.getI18NMessage("worldboss_grab_win",new Object[]{user.getPlayerInfoManager().getNickName(),gainScore});
|
||||
content = SErrorCodeEerverConfig.getI18NMessage("worldboss_battle_win",
|
||||
new Object[]{challengeNameColor,challengeName,gainScore});
|
||||
challengeContent = SErrorCodeEerverConfig.getI18NMessage("worldboss_grab_win",
|
||||
new Object[]{nameColor,user.getPlayerInfoManager().getNickName(),gainScore});
|
||||
}else{
|
||||
content = SErrorCodeEerverConfig.getI18NMessage("worldboss_battle_lose",new Object[]{challengeName,gainScore});
|
||||
challengeContent = SErrorCodeEerverConfig.getI18NMessage("worldboss_grab_lose",new Object[]{user.getPlayerInfoManager().getNickName(),gainScore});
|
||||
content = SErrorCodeEerverConfig.getI18NMessage("worldboss_battle_lose",
|
||||
new Object[]{challengeNameColor,challengeName,gainScore});
|
||||
challengeContent = SErrorCodeEerverConfig.getI18NMessage("worldboss_grab_lose",
|
||||
new Object[]{nameColor,user.getPlayerInfoManager().getNickName(),gainScore});
|
||||
}
|
||||
hurt = (int) fightResult.getCheckResult()[1];
|
||||
String key = RedisUtil.getInstence().getKey(RedisKey.CAR_CHALLENGE_RECORD, String.valueOf(uid));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.handler.GameGM;
|
||||
|
||||
import com.fasterxml.jackson.databind.deser.impl.CreatorCandidate;
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.HeroStaticConfig;
|
||||
|
|
@ -16,6 +17,7 @@ import com.ljsd.jieling.handler.map.*;
|
|||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
import com.ljsd.jieling.logic.hardStage.HardStageLogic;
|
||||
import com.ljsd.jieling.logic.mission.main.VipMissionIdsType;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
|
|
@ -444,6 +446,12 @@ public class GMRequestHandler extends BaseHandler{
|
|||
}
|
||||
cUser.getMapManager().updateJourneyInfoByMapId(prarm2,pathInfo);
|
||||
break;
|
||||
case GlobalGm.HARD_STAGE:
|
||||
//通关山河社稷图特定关卡的之前所有关卡
|
||||
int id = prarm1;
|
||||
HardStageLogic.test(cUser,id);
|
||||
HardStageLogic.sendHardStageIndication(cUser);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,7 +112,10 @@ public class GetLuckWheelRandHandler extends BaseHandler<PlayerInfoProto.GetLuck
|
|||
SItem sItem = SItem.getsItemMap().get(drops[i][0]);
|
||||
if(sItem.getQuantity()>=5){
|
||||
String nickName = user.getPlayerInfoManager().getNickName();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Dial_Reward_txt", new Object[]{nickName, sItem.getName()},new int[]{0,1});
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("Dial_Reward_txt",
|
||||
new Object[]{nameColor, nickName, sItem.getName()},
|
||||
new int[]{0,0,1});
|
||||
int sysType = sGlobalActivity.getType() == 30 ? Global.LUCKWHEEL : Global.LUCKWHEEL_ADVANCE;
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, sysType, "0", 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class ExchangeCdkHandler extends BaseHandler<PlayerInfoProto.ExchangeCdkR
|
|||
int uid = session.getUid();
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
Map<Integer, SCdkInfo> sCdkInfosCacheMap = CoreLogic.getInstance().getsCdkInfosCacheMap();
|
||||
if (cdk.length() != 18 || sCdkInfosCacheMap == null || sCdkInfosCacheMap.isEmpty()) {
|
||||
if (sCdkInfosCacheMap == null || sCdkInfosCacheMap.isEmpty()) {
|
||||
|
||||
throw new ErrorCodeException(ErrorCode.CDK_FAIL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,11 @@ public class GuildHelpGetAllRequestHandler extends BaseHandler<Family.GuildHelpG
|
|||
for (Map.Entry<Integer, Integer> entry : entries) {
|
||||
builder.addGuildHelpInfo(CommonProto.GuildHelpInfo.newBuilder().setType(entry.getKey()).setHadtakenum(user.getGuildMyInfo().getGuidHelpHadTakeInfo().getOrDefault(entry.getKey(),0)).setHadtakenum(guidHelpHadTakeInfo.getOrDefault(entry.getKey(),0)).setNum(entry.getValue()));
|
||||
}
|
||||
Family.GuildHelpInfoIndication build = builder.setUid(target.getId()).setName(target.getPlayerInfoManager().getNickName()).build();
|
||||
Family.GuildHelpInfoIndication build = builder
|
||||
.setUid(target.getId())
|
||||
.setName(target.getPlayerInfoManager().getNickName())
|
||||
.setPracticeLevel(target.getHeroManager().getPracticeLevel())
|
||||
.build();
|
||||
builder1.addGuildHelpInfoIndication(build);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,11 +101,13 @@ public class GuildHelpHelpOtherRequestHandler extends BaseHandler<Family.GuildHe
|
|||
for (Map.Entry<Integer, Integer> entry : target.getGuildMyInfo().getGuidHelpInfo().entrySet()) {
|
||||
build.addGuildHelpInfo(CommonProto.GuildHelpInfo.newBuilder().setType(entry.getKey()).setHadtakenum(target.getGuildMyInfo().getGuidHelpHadTakeInfo().getOrDefault(entry.getKey(),0)).setNum(entry.getValue()));
|
||||
}
|
||||
build.setName(target.getPlayerInfoManager().getNickName()).setUid(target.getId());
|
||||
build.setName(target.getPlayerInfoManager().getNickName()).setUid(target.getId()).setPracticeLevel(target.getHeroManager().getPracticeLevel());
|
||||
GuildLogic.sendIndicationToMember(GuilidManager.guildInfoMap.get(guildId), MessageTypeProto.MessageType.GuildHelpInfoIndication,build.build());
|
||||
|
||||
|
||||
GuildHelpLog guildHelpLog = new GuildHelpLog(uid, target.getId(), user.getPlayerInfoManager().getNickName(), target.getPlayerInfoManager().getNickName(), (int) (System.currentTimeMillis() / 1000), proto.getType());
|
||||
GuildHelpLog guildHelpLog = new GuildHelpLog(uid, target.getId(), user.getPlayerInfoManager().getNickName(),
|
||||
target.getPlayerInfoManager().getNickName(), (int) (System.currentTimeMillis() / 1000), proto.getType(),
|
||||
user.getHeroManager().getPracticeLevel(), target.getHeroManager().getPracticeLevel());
|
||||
guildInfo.addGuildHelpLog(guildHelpLog);
|
||||
//notify all log
|
||||
Family.GuildHelpLogIndication build1 = Family.GuildHelpLogIndication.newBuilder()
|
||||
|
|
|
|||
|
|
@ -81,7 +81,11 @@ public class GuildSendHelpRequestHandler extends BaseHandler<Family.GuildSendHel
|
|||
}
|
||||
|
||||
//notify all change
|
||||
Family.GuildHelpInfoIndication build = builder.setUid(user.getId()).setName(user.getPlayerInfoManager().getNickName()).build();
|
||||
Family.GuildHelpInfoIndication build = builder
|
||||
.setUid(user.getId())
|
||||
.setName(user.getPlayerInfoManager().getNickName())
|
||||
.setPracticeLevel(user.getHeroManager().getPracticeLevel())
|
||||
.build();
|
||||
GuildLogic.sendIndicationToMember(GuilidManager.guildInfoMap.get(guildId), MessageTypeProto.MessageType.GuildHelpInfoIndication,build);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
package com.ljsd.jieling.handler.family;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
||||
public class WelfareRedPacketRequestHandler extends BaseHandler<PlayerInfoProto.WelfareRedPacketRequest> {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.WELFARE_RED_PACKET_REQUEST;
|
||||
}
|
||||
@Override
|
||||
public void processWithProto(ISession iSession, PlayerInfoProto.WelfareRedPacketRequest proto) throws Exception {
|
||||
User user = UserManager.getUser(iSession.getUid());
|
||||
GuildLogic.sendWelfareRedPacketInfo(user);
|
||||
}
|
||||
}
|
||||
|
|
@ -30,13 +30,13 @@ public class HardStageReportRequsetHandler extends BaseHandler<PlayerInfoProto.H
|
|||
//首次通关记录
|
||||
ArenaRecord firstPassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(id),ArenaRecord.class);
|
||||
if(firstPassRecord != null){
|
||||
CommonProto.HardStagePlayerInfo first = CBean2Proto.getHardStagePlayerInfo(firstPassRecord,1);
|
||||
CommonProto.HardStagePlayerInfo first = CBean2Proto.getHardStagePlayerInfo(firstPassRecord,1,user);
|
||||
response.addPlayer(first);
|
||||
}
|
||||
// 最低战力通关记录记录
|
||||
ArenaRecord minForcePassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(id),ArenaRecord.class);
|
||||
if(minForcePassRecord!=null){
|
||||
CommonProto.HardStagePlayerInfo min = CBean2Proto.getHardStagePlayerInfo(minForcePassRecord,2);
|
||||
CommonProto.HardStagePlayerInfo min = CBean2Proto.getHardStagePlayerInfo(minForcePassRecord,2,user);
|
||||
response.addPlayer(min);
|
||||
}
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.HARD_STAGE_REPORT_RESPONSE.getNumber(), response.build(), true);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import com.ljsd.jieling.logic.fight.FightUtil;
|
|||
import com.ljsd.jieling.logic.hardStage.HardStageChapter;
|
||||
import com.ljsd.jieling.logic.hardStage.HardStageLogic;
|
||||
import com.ljsd.jieling.logic.hardStage.HardStageNode;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.FightDataUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
|
|
@ -55,7 +56,6 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
Map<Integer, HardStageChapter> chapterMap = user.getHardStageManager().getChapterMap(user);
|
||||
if (!chapterMap.containsKey(nodeConfig.getChapter()) ||chapterMap.get(nodeConfig.getChapter()).getNode(nodeId) == null) {
|
||||
//上一个节点
|
||||
String a;
|
||||
SHardStage preNodeConfig = SHardStage.getConfigMap().get(nodeConfig.getNextLevel());
|
||||
if(preNodeConfig != null){
|
||||
if(chapterMap.containsKey(preNodeConfig.getChapter())){
|
||||
|
|
@ -121,9 +121,6 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
if (resultCode == -1) {
|
||||
throw new ErrorCodeException(ErrorCode.FIGHT_EXCEPTION);
|
||||
}
|
||||
if (resultCode == 1) {//通过
|
||||
HardStageLogic.passNode(iSession, nodeConfig, resultNum, dropList);
|
||||
}
|
||||
String fightId = FightUtil.getFightId(user.getId(), FightType.HardStage.getType());
|
||||
CommonProto.FightData fightData = CommonProto.FightData.newBuilder()
|
||||
.setFightType(FightType.HardStage.getType())
|
||||
|
|
@ -135,45 +132,59 @@ public class StartHardStageRequestHandler extends BaseHandler<PlayerInfoProto.Ha
|
|||
.build();
|
||||
fightStartResponse.setFightData(fightData);
|
||||
FightRecordLogic.getInstance().addRecordMap(user, fightData);
|
||||
|
||||
//战斗回放
|
||||
int force = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false);
|
||||
// 首次通关记录
|
||||
ArenaRecord firstPassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (firstPassRecord == null) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), arenaRecord);
|
||||
}
|
||||
// 最低战力通关记录记录
|
||||
ArenaRecord minForcePassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (minForcePassRecord == null || force < minForcePassRecord.getAttackForce()) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), arenaRecord);
|
||||
if (resultCode == 1) {//通过
|
||||
HardStageLogic.passNode(iSession, nodeConfig, resultNum, dropList);
|
||||
//战斗回放
|
||||
int force = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false);
|
||||
// 首次通关记录
|
||||
ArenaRecord firstPassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (firstPassRecord == null) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_FIST_PASS, String.valueOf(nodeId), arenaRecord);
|
||||
}
|
||||
// 最低战力通关记录记录
|
||||
ArenaRecord minForcePassRecord = RedisUtil.getInstence().get(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), ArenaRecord.class);
|
||||
if (minForcePassRecord == null || force < minForcePassRecord.getAttackForce()) {
|
||||
ArenaRecord arenaRecord = new ArenaRecord();
|
||||
arenaRecord.setCreateTime(TimeUtils.nowInt());
|
||||
arenaRecord.setAttackId(user.getId());
|
||||
arenaRecord.setLevel(user.getPlayerInfoManager().getLevel());
|
||||
arenaRecord.setHead(user.getPlayerInfoManager().getHead());
|
||||
arenaRecord.setUserName(user.getPlayerInfoManager().getNickName());
|
||||
arenaRecord.setHeadFrame(user.getPlayerInfoManager().getHeadFrame());
|
||||
arenaRecord.setFightData(fightData.toByteArray());
|
||||
arenaRecord.setAttackForce(force);
|
||||
RedisUtil.getInstence().set(RedisKey.HARD_STAGE_PASS_MIN_FORCE, String.valueOf(nodeId), arenaRecord);
|
||||
}
|
||||
//排行榜星级
|
||||
int starSum = HardStageLogic.getHardStageStarsSum(user);
|
||||
if(starSum >0){
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 2, starSum));
|
||||
//成就任务
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_STARS,starSum);
|
||||
}
|
||||
//大关卡通过成就+1
|
||||
if(nodeConfig.getStageType() == 1){
|
||||
//nodeConfig
|
||||
int bigStageNumber = SHardStage.getBigStageNumberById(nodeConfig.getId());
|
||||
if( bigStageNumber>0 ){
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.HARSTAGE_NODE,bigStageNumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//排行榜
|
||||
//排行榜章节
|
||||
int hardStageId = SHardStage.getStageIdByChapterAndSection(user.getHardStageManager().getCurChapter(), user.getHardStageManager().getCurNode());
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 1, hardStageId));
|
||||
int starSum = HardStageLogic.getHardStageStarsSum(user);
|
||||
if(starSum >0){
|
||||
Poster.getPoster().dispatchEvent(new ShanHeSheJiTuStarEvent(iSession.getUid(), 2, starSum));
|
||||
}
|
||||
|
||||
ItemUtil.drop(user, dropList.stream().mapToInt(Integer::intValue).toArray(), drop, 1, 0, BIReason.HARD_STAGE_GET);
|
||||
fightStartResponse.setDrop(drop);
|
||||
Map<Integer, HardStageChapter> chapt = user.getHardStageManager().getChapterMap(user);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
package com.ljsd.jieling.handler.hero;
|
||||
|
||||
import com.google.protobuf.GeneratedMessage;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.PurpleMansionSeal;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
|
@ -18,7 +16,6 @@ import rpc.protocols.MessageTypeProto;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Author hj
|
||||
|
|
@ -73,6 +70,7 @@ public class ReplacePurpleMansionSealHandler extends BaseHandler<HeroInfoProto.R
|
|||
PurpleMansionSeal oldSeal = sealMap.get(oneSeal);
|
||||
if (oldSeal != null){
|
||||
oldSeal.setState(0);
|
||||
user.getHeroManager().putPurpleMansionSeal(oldSeal);
|
||||
}
|
||||
// 新神印状态修改
|
||||
seal.setState(1);
|
||||
|
|
@ -99,6 +97,8 @@ public class ReplacePurpleMansionSealHandler extends BaseHandler<HeroInfoProto.R
|
|||
seal.setSubId(heroId);
|
||||
}
|
||||
|
||||
user.getHeroManager().putPurpleMansionSeal(seal);
|
||||
|
||||
// 返回最新神印列表
|
||||
List<CommonProto.PurpleMansionSeal> sealInfo = CBean2Proto.getPurpleMansionSealInfo(user);
|
||||
HeroInfoProto.ReplacePrupleMansionSealResponse build = HeroInfoProto.ReplacePrupleMansionSealResponse.newBuilder().addAllSealList(sealInfo).build();
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.ljsd.jieling.logic.dao.PurpleMansionSeal;
|
|||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.hardStage.HardStageLogic;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
|
|
@ -72,6 +73,7 @@ public class UpPracticeLevelHandler extends BaseHandler<HeroInfoProto.UpPractice
|
|||
|
||||
// 升级
|
||||
user.getHeroManager().setPracticeLevel(xiuXian2.getId());
|
||||
user.getPlayerInfoManager().setNameColor(xiuXian2.getNameFontColor());
|
||||
|
||||
// 添加技能
|
||||
if (xiuXian2.getTeamSkill() != null){
|
||||
|
|
@ -83,9 +85,7 @@ public class UpPracticeLevelHandler extends BaseHandler<HeroInfoProto.UpPractice
|
|||
}
|
||||
|
||||
// 推送神印信息
|
||||
List<CommonProto.PurpleMansionSeal> sealInfo = CBean2Proto.getPurpleMansionSealInfo(user);
|
||||
HeroInfoProto.PurpleMansionSealIndication build2 = HeroInfoProto.PurpleMansionSealIndication.newBuilder().addAllSealList(sealInfo).build();
|
||||
MessageUtil.sendIndicationMessage(iSession,1, MessageTypeProto.MessageType.PurpleMansionSealIndication_VALUE,build2,true);
|
||||
HeroLogic.sendMessageBySeal(user.getId());
|
||||
}
|
||||
|
||||
// 升级返回
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
package com.ljsd.jieling.handler.map.mapHandler;
|
||||
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.handler.map.SweepLogic;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildFightLogic;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.sun.deploy.util.ArrayUtil;
|
||||
import com.sun.tools.javac.util.ArrayUtils;
|
||||
import config.SFloodConfig;
|
||||
import config.SSpecialConfig;
|
||||
import manager.STableManager;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.springframework.stereotype.Component;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.FightInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SweepBattleRequestHandler extends BaseHandler<FightInfoProto.SweepDemonRequest>{
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.SWEEP_DEMON_REQUEST;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void processWithProto(ISession iSession, FightInfoProto.SweepDemonRequest proto) throws Exception {
|
||||
User user = UserManager.getUser(iSession.getUid());
|
||||
int id =proto.getId();
|
||||
SFloodConfig sFloodConfig = STableManager.getConfig(SFloodConfig.class).get(id);
|
||||
if(sFloodConfig == null){
|
||||
return;
|
||||
}
|
||||
List<Integer> dropList = Lists.newArrayList();
|
||||
boolean isOnekey= proto.getOnkeySweep();
|
||||
boolean isSuccess = false;
|
||||
CommonProto.Drop.Builder drop = null;
|
||||
//判断是否挑战过
|
||||
if(user.getMapManager().getLastMonsterAttack()<id){
|
||||
return;
|
||||
}
|
||||
int privilageType = SSpecialConfig.getIntegerValue(SSpecialConfig.SWEEP_ONEKEY);
|
||||
if(isOnekey){
|
||||
int times = PlayerLogic.getInstance().checkAndConsumeAllPrivilegeTimes(user,privilageType);
|
||||
if(times>0){
|
||||
int[][] reward = new int[times*sFloodConfig.getReward().length][2];
|
||||
for(int i =0;i<reward.length;){
|
||||
for (int [] a :sFloodConfig.getReward()) {
|
||||
reward[i] = a;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
drop = ItemUtil.drop(user, reward, BIReason.MONSTERATTACK_REWARD);
|
||||
}
|
||||
}else{
|
||||
//扫荡一次
|
||||
isSuccess = PlayerLogic.getInstance().checkAndUpdate(user,privilageType,1);
|
||||
if(isSuccess){
|
||||
drop = ItemUtil.drop(user, sFloodConfig.getReward(), BIReason.MONSTERATTACK_REWARD);
|
||||
}
|
||||
}
|
||||
if(drop == null){
|
||||
drop = CommonProto.Drop.newBuilder();
|
||||
}
|
||||
FightInfoProto.SweepDemonResponse.Builder res = FightInfoProto.SweepDemonResponse.newBuilder();
|
||||
res.setDrop(drop);
|
||||
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.SWEEP_DEMON_RESPONSE.getNumber(), res.build(), true);
|
||||
}
|
||||
}
|
||||
|
|
@ -24,9 +24,10 @@ public class VipLevelRewardHandler extends BaseHandler<PlayerInfoProto.VipLevelS
|
|||
User user = UserManager.getUser(iSession.getUid());
|
||||
PlayerInfoProto.VipLevelStateResponse.Builder response = PlayerInfoProto.VipLevelStateResponse.newBuilder();
|
||||
Map<Integer,Integer> vipRewardMap = user.getUserMissionManager().getVipMissionIdsType().getVipRewardMap();
|
||||
//针对已有特权等级玩家的兼容
|
||||
for(int i = user.getPlayerInfoManager().getVipLevel();i>=1;i--){
|
||||
if(!vipRewardMap.containsKey(i) && i!=0){
|
||||
vipRewardMap.put(i,0);
|
||||
vipRewardMap.put(i,1);
|
||||
}
|
||||
}
|
||||
user.getUserMissionManager().setVipMissionIdsType(user.getUserMissionManager().getVipMissionIdsType());
|
||||
|
|
|
|||
|
|
@ -1,12 +1,37 @@
|
|||
package com.ljsd.jieling.kefu;
|
||||
|
||||
import com.ljsd.jieling.logic.fight.FightRecordLogic;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class Cmd_fightrecord extends GmAbstract {
|
||||
|
||||
@Override
|
||||
public boolean exec(String[] args) throws Exception {
|
||||
if (args.length < 2) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String exec2(String[] args){
|
||||
if (args.length < 2){
|
||||
return "";
|
||||
}
|
||||
// 获取玩家战报系统
|
||||
String content = Optional.ofNullable(args[0]).orElse("");
|
||||
String parm = Optional.ofNullable(args[1]).orElse("");
|
||||
String result = "";
|
||||
if (content.equals("delete")){
|
||||
FightRecordLogic.getInstance().delete();
|
||||
}
|
||||
else if (content.equals("all")){
|
||||
result = FightRecordLogic.getInstance().getAll(Integer.parseInt(parm));
|
||||
System.out.printf("战报信息,all:{%s}",result);
|
||||
}
|
||||
else {
|
||||
result = FightRecordLogic.getInstance().getOneRecord(content);
|
||||
System.out.printf("战报信息,OneRecord:{%s}",result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,49 @@
|
|||
package com.ljsd.jieling.kefu;
|
||||
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GuildInfo;
|
||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class Cmd_updateguild extends GmAbstract {
|
||||
|
||||
@Override
|
||||
public boolean exec(String[] args) throws Exception {
|
||||
|
||||
int guildId = Optional.of(Integer.parseInt(args[0])).orElse(0);
|
||||
GuildInfo guildInfo = GuilidManager.guildInfoMap.get(guildId);
|
||||
if (guildInfo == null) {
|
||||
throw new ErrorCodeException("修改公会,公会不存在,公会id:"+guildId);
|
||||
}
|
||||
|
||||
String parm = Optional.ofNullable(args[1]).orElse("");
|
||||
|
||||
String content;
|
||||
switch (parm) {
|
||||
case "name":
|
||||
// 修改公会名字
|
||||
content = Optional.ofNullable(args[2]).orElse("");
|
||||
guildInfo.setName(content);
|
||||
break;
|
||||
case "announce":
|
||||
// 修改公会宣言
|
||||
content = Optional.ofNullable(args[2]).orElse("");
|
||||
guildInfo.setAnnounce(content);
|
||||
break;
|
||||
case "dissolution":
|
||||
guildInfo.setLevelTime(1);
|
||||
GuilidManager.addGuildToRelease(guildInfo);
|
||||
break;
|
||||
default:
|
||||
throw new ErrorCodeException("修改公会,类型错误,公会id:"+guildId+",类型:"+parm);
|
||||
}
|
||||
GuildLogic.sendFamilyBaseUpdateIndication(guildInfo);
|
||||
|
||||
//非用户线程更新玩家数据
|
||||
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,5 +4,10 @@ package com.ljsd.jieling.kefu;
|
|||
public interface GmInterface
|
||||
{
|
||||
boolean exec(String[] args) throws Exception;
|
||||
String usage();
|
||||
|
||||
default String exec2(String[] args) throws Exception {
|
||||
return "";
|
||||
}
|
||||
|
||||
String usage();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
|||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||
return true;
|
||||
}
|
||||
protected void reportTakeActivityReward(User user, int[][] reward, int missionId) throws Exception {
|
||||
protected void reportTakeActivityReward(User user, int[][] reward, int missionId) throws Exception {
|
||||
List<Integer> itemId = new ArrayList<>(reward.length);
|
||||
List<Integer> itemNum = new ArrayList<>(reward.length);
|
||||
Arrays.stream(reward).forEach(n->{itemId.add(n[0]);itemNum.add(n[1]);});
|
||||
|
|
|
|||
|
|
@ -3,25 +3,29 @@ package com.ljsd.jieling.logic.activity;
|
|||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.dao.Item;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.main.CowFlySkyMissionType;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.SActivityRewardConfig;
|
||||
import config.SArroGantFly;
|
||||
import config.SErrorCodeEerverConfig;
|
||||
import config.SGlobalActivity;
|
||||
import manager.STableManager;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
public class CowFlySkyActivity extends AbstractActivity {
|
||||
|
||||
|
|
@ -65,7 +69,7 @@ public class CowFlySkyActivity extends AbstractActivity {
|
|||
}
|
||||
|
||||
// 是否满足领取条件值
|
||||
if (!checkValue(user,config.getValues())) {
|
||||
if (!takeRewardsProcess(session,config,progressInfo)) {
|
||||
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), config.getId(), progressInfo.getProgrss(), config.getValues());
|
||||
throw new ErrorCodeException(ErrorCode.newDefineCode("未达到领取条件"));
|
||||
}
|
||||
|
|
@ -84,9 +88,12 @@ public class CowFlySkyActivity extends AbstractActivity {
|
|||
return true;
|
||||
}
|
||||
|
||||
private boolean checkValue(User user,int[][] value){
|
||||
Item item = user.getItemManager().getItem(value[0][0]);
|
||||
return item.getItemNum() >= value[1][0];
|
||||
@Override
|
||||
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
int[][] values = sActivityRewardConfig.getValues();
|
||||
Long num = Optional.ofNullable(user.getItemManager().getItem(values[0][0])).map(Item::getItemNum).orElse(0L);
|
||||
return num >= values[1][0];
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -100,4 +107,37 @@ public class CowFlySkyActivity extends AbstractActivity {
|
|||
ItemUtil.itemCost(user, cost, BIReason.EXCHANGE_ACTIVITY_CLOSE, id);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityEndDealReward(User user) throws Exception {
|
||||
LOGGER.info("牛气冲天活动结束,发送未领取奖励...........");
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
if (session == null){
|
||||
return;
|
||||
}
|
||||
takeAllReward(session);
|
||||
}
|
||||
|
||||
@Override
|
||||
void takeAllReward(ISession session) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
List<int[][]> itemArrs = new LinkedList<>();
|
||||
// 活动奖励
|
||||
getAllMissRewards(user, session, itemArrs);
|
||||
// 任务奖励
|
||||
user.getUserMissionManager().getCowFlySkyMissionType().getAllRewards(itemArrs);
|
||||
|
||||
if (itemArrs.size() == 0){
|
||||
return;
|
||||
}
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if (null == sGlobalActivity) {
|
||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||
}
|
||||
String title = SErrorCodeEerverConfig.getI18NMessageNeedConvert("receive_activity_title", new Object[]{sGlobalActivity.getSesc()},new int[]{1},"#");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("receive_activity_txt", new Object[]{sGlobalActivity.getSesc()},new int[]{1},"#");
|
||||
String mailReward = ItemUtil.getMailReward(itemArrs);
|
||||
int nowTime = (int) (TimeUtils.now() / 1000);
|
||||
MailLogic.getInstance().sendMail(user.getId(), title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,8 +113,10 @@ public class LuckyCatActivity extends AbstractActivity {
|
|||
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
|
||||
String nickName = user.getPlayerInfoManager().getNickName();
|
||||
SItem sItem = SItem.getsItemMap().get(temp2[0]);
|
||||
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("luck_cat_take_reward_content", new Object[]{nickName, sItem.getName(), temp2[1]},new int[]{0,1,0});
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("luck_cat_take_reward_content",
|
||||
new Object[]{nameColor, nickName, sItem.getName(), temp2[1]},
|
||||
new int[]{0,0,1,0});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, Global.LUCKCAT, "", 0, 0, 0, 0, 0);
|
||||
|
||||
reportTakeActivityReward(user,reward,missionId);
|
||||
|
|
|
|||
|
|
@ -3,11 +3,17 @@ package com.ljsd.jieling.logic.activity;
|
|||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.RemoveHeroEvent;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.PropertyItem;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.HeroInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class RemoveEventHeroHandler implements IEventHandler{
|
||||
|
|
@ -35,6 +41,20 @@ public class RemoveEventHeroHandler implements IEventHandler{
|
|||
endlessHeroInfo.remove(heroId);
|
||||
userInMem.getMapManager().updateEndlessHero(endlessHeroInfo);
|
||||
}
|
||||
|
||||
// 紫府神印处理
|
||||
HeroManager heroManager = userInMem.getHeroManager();
|
||||
Collection<PurpleMansionSeal> values = heroManager.getPurpleMansionSeal().values();
|
||||
for (PurpleMansionSeal v : values) {
|
||||
if (v.getType() == 1 && v.getSubId().equals(heroId)){
|
||||
v.setSubId("");
|
||||
v.setState(0);
|
||||
heroManager.putPurpleMansionSeal(v);
|
||||
// 推送神印消息
|
||||
HeroLogic.sendMessageBySeal(uid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
/**
|
||||
* Description: 五星灵兽获得事件
|
||||
* Author: zsx
|
||||
* CreateDate: 2019/11/25 10:36
|
||||
*/
|
||||
public class PokemonFiveStarGetEvent implements IEvent {
|
||||
private int uid;
|
||||
private int star;
|
||||
private int num;
|
||||
|
||||
public PokemonFiveStarGetEvent(int uid, int star, int num) {
|
||||
this.uid = uid;
|
||||
this.star = star;
|
||||
this.num = num;
|
||||
}
|
||||
|
||||
public int getNum(){return num;}
|
||||
|
||||
public int getStar() {
|
||||
return star;
|
||||
}
|
||||
|
||||
public PokemonFiveStarGetEvent(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.ljsd.jieling.logic.activity.eventhandler;
|
||||
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.IEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.PokemonFiveStarGetEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.store.BuyGoodsNewLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
||||
public class PokemonFiveStarGetEventHandler implements IEventHandler {
|
||||
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if (!(event instanceof PokemonFiveStarGetEvent))
|
||||
return;
|
||||
//动态控制购买数量
|
||||
User user = UserManager.getUser(((PokemonFiveStarGetEvent) event).getUid());
|
||||
int star = ((PokemonFiveStarGetEvent) event).getStar();
|
||||
int num = ((PokemonFiveStarGetEvent) event).getNum();
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
BuyGoodsNewLogic.openPush(session,user,8,star,num);
|
||||
}
|
||||
}
|
||||
|
|
@ -185,6 +185,11 @@ public class CumulationData {
|
|||
//地图探索度达到
|
||||
public int mapOpenPercent;
|
||||
|
||||
//山河社稷星星数
|
||||
public int hardstage_stars;
|
||||
//山河社稷章节数
|
||||
public int hardstage_node;
|
||||
|
||||
public Result updateData(MissionType missionType, Object...parm) throws Exception {
|
||||
return DataManagerDistributor.updateData(this, missionType,parm);
|
||||
}
|
||||
|
|
@ -411,4 +416,20 @@ public class CumulationData {
|
|||
public void setHongmeng_tablet_level(int hongmeng_tablet_level) {
|
||||
this.hongmeng_tablet_level = hongmeng_tablet_level;
|
||||
}
|
||||
|
||||
public int getHardstage_stars() {
|
||||
return hardstage_stars;
|
||||
}
|
||||
|
||||
public void setHardstage_stars(int hardstage_stars) {
|
||||
this.hardstage_stars = hardstage_stars;
|
||||
}
|
||||
|
||||
public int getHardstage_node() {
|
||||
return hardstage_node;
|
||||
}
|
||||
|
||||
public void setHardstage_node(int hardstage_node) {
|
||||
this.hardstage_node = hardstage_node;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class HardStageManager extends MongoBase {
|
|||
return chapterMap;
|
||||
}
|
||||
|
||||
private Map<Integer, HardStageChapter> initChapterMap(User user) throws Exception {
|
||||
public Map<Integer, HardStageChapter> initChapterMap(User user) throws Exception {
|
||||
Map<Integer, HardStageChapter> map = new HashMap<>();
|
||||
SHardStage nodeOne = SHardStage.getConfigMap().get(1);//第一个节点
|
||||
if (user.getPlayerInfoManager().getLevel() < nodeOne.getLevelLimit()) {
|
||||
|
|
@ -86,6 +86,10 @@ public class HardStageManager extends MongoBase {
|
|||
}
|
||||
HardStageChapter chapter;
|
||||
chapter = chapterMap.computeIfAbsent(config.getChapter(), k -> initChapter(config.getChapter()));
|
||||
|
||||
if(chapter.getNodeList().stream().anyMatch(n->n.getId() == config.getId())){
|
||||
return;
|
||||
}
|
||||
HardStageNode node = initNode(config);
|
||||
chapter.addNodeList(node);
|
||||
/*if(chapterMap.containsKey(config.getChapter())){
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ public class PlayerManager extends MongoBase {
|
|||
|
||||
private String nickName;
|
||||
|
||||
private String nameColor;
|
||||
|
||||
private int sex;
|
||||
|
||||
private int level;
|
||||
|
|
@ -199,6 +201,19 @@ public class PlayerManager extends MongoBase {
|
|||
this.nickName = nickName;
|
||||
}
|
||||
|
||||
public String getNameColor() {
|
||||
if (nameColor == null || "".equals(nameColor)){
|
||||
// 默认名字颜色
|
||||
setNameColor("F6E1B6");
|
||||
}
|
||||
return nameColor;
|
||||
}
|
||||
|
||||
public void setNameColor(String nameColor) {
|
||||
updateString("nameColor", nameColor);
|
||||
this.nameColor = nameColor;
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,10 +7,7 @@ package com.ljsd.jieling.logic.dao;
|
|||
* @Param $
|
||||
* @return $
|
||||
**/
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
|
||||
public class PurpleMansionSeal extends MongoBase {
|
||||
public class PurpleMansionSeal{
|
||||
|
||||
/**
|
||||
* 印章id
|
||||
|
|
@ -18,6 +15,8 @@ public class PurpleMansionSeal extends MongoBase {
|
|||
private int sealId;
|
||||
/**
|
||||
* 印章类型
|
||||
* 0:通用
|
||||
* 1:附身
|
||||
*/
|
||||
private int type;
|
||||
/**
|
||||
|
|
@ -44,7 +43,6 @@ public class PurpleMansionSeal extends MongoBase {
|
|||
|
||||
public void setSealId(int sealId) {
|
||||
this.sealId = sealId;
|
||||
updateString("sealId", sealId);
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
|
|
@ -53,7 +51,6 @@ public class PurpleMansionSeal extends MongoBase {
|
|||
|
||||
public void setType(int type) {
|
||||
this.type = type;
|
||||
updateString("type", type);
|
||||
}
|
||||
|
||||
public String getSubId() {
|
||||
|
|
@ -62,7 +59,6 @@ public class PurpleMansionSeal extends MongoBase {
|
|||
|
||||
public void setSubId(String subId) {
|
||||
this.subId = subId;
|
||||
updateString("subId", subId);
|
||||
}
|
||||
|
||||
public int getState() {
|
||||
|
|
@ -71,6 +67,5 @@ public class PurpleMansionSeal extends MongoBase {
|
|||
|
||||
public void setState(int state) {
|
||||
this.state = state;
|
||||
updateString("state", state);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ public class UserManager {
|
|||
PlayerManager playerManager = user.getPlayerInfoManager();
|
||||
long now = TimeUtils.now();
|
||||
playerManager.setNickName(Integer.toString(user.getId()));
|
||||
playerManager.setNameColor("F6E1B6");
|
||||
playerManager.setOpenId(openId);
|
||||
playerManager.setLevel(1);
|
||||
playerManager.setExp(0);
|
||||
|
|
|
|||
|
|
@ -8,14 +8,18 @@ public class GuildHelpLog {
|
|||
private String targetName;
|
||||
private int logTime; // time
|
||||
private int type; // 援助类型
|
||||
private int helpPracticeLevel;
|
||||
private int targetPracticeLevel;
|
||||
|
||||
public GuildHelpLog(int helpId, int targetId, String helperName, String targetName, int logTime, int type) {
|
||||
public GuildHelpLog(int helpId, int targetId, String helperName, String targetName, int logTime, int type, int helpPracticeLevel, int targetPracticeLevel) {
|
||||
this.helpId = helpId;
|
||||
this.targetId = targetId;
|
||||
this.helperName = helperName;
|
||||
this.targetName = targetName;
|
||||
this.logTime = logTime;
|
||||
this.type = type;
|
||||
this.helpPracticeLevel = helpPracticeLevel;
|
||||
this.targetPracticeLevel = targetPracticeLevel;
|
||||
}
|
||||
|
||||
public static String getCollectionName() {
|
||||
|
|
@ -45,4 +49,12 @@ public class GuildHelpLog {
|
|||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public int getHelpPracticeLevel() {
|
||||
return helpPracticeLevel;
|
||||
}
|
||||
|
||||
public int getTargetPracticeLevel() {
|
||||
return targetPracticeLevel;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -609,9 +609,12 @@ public class GuildLogic {
|
|||
}
|
||||
|
||||
//notify all change
|
||||
Family.GuildHelpInfoIndication build = builder.setUid(targetUser.getId()).setName(targetUser.getPlayerInfoManager().getNickName()).build();
|
||||
Family.GuildHelpInfoIndication build = builder
|
||||
.setUid(targetUser.getId())
|
||||
.setName(targetUser.getPlayerInfoManager().getNickName())
|
||||
.setPracticeLevel(targetUser.getHeroManager().getPracticeLevel())
|
||||
.build();
|
||||
GuildLogic.sendIndicationToMember(GuilidManager.guildInfoMap.get(guildInfo.getId()), MessageTypeProto.MessageType.GuildHelpInfoIndication,build);
|
||||
// targetUser.getUserMissionManager().onGameEvent(targetUser, GameEvent.JOIN_FAMILY);
|
||||
}finally {
|
||||
RedisUtil.getInstence().releaseDistributedLock(RedisKey.OPERATE_FAMILY_APPLY_JOIN,Integer.toString(applyId), Integer.toString(applyId));
|
||||
}
|
||||
|
|
@ -666,6 +669,7 @@ public class GuildLogic {
|
|||
guildInfo.removeDefendInfo(targetUid);
|
||||
}
|
||||
targetUser.getPlayerInfoManager().setGuildId(0);
|
||||
targetUser.getPlayerInfoManager().setWelfareRedPackets(new HashMap<Integer,Integer>());
|
||||
targetUser.getGuildMyInfo().clearOfLevelGuild();
|
||||
addGuildLog(guildInfo.getId(),GuildDef.Log.KICK,targetUser.getPlayerInfoManager().getNickName());
|
||||
// Family.FamilyKickIndication build = Family.FamilyKickIndication.newBuilder().setType(1).build();
|
||||
|
|
@ -940,6 +944,7 @@ public class GuildLogic {
|
|||
RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE,"",String.valueOf(uid),cache);
|
||||
guildInfo.removeMember(uidType,uid);
|
||||
user.getPlayerInfoManager().setGuildId(0);
|
||||
user.getPlayerInfoManager().setWelfareRedPackets(new HashMap<Integer,Integer>());
|
||||
user.getGuildMyInfo().clearOfLevelGuild();
|
||||
addGuildLog(guildInfo.getId(),GuildDef.Log.LEVEL,user.getPlayerInfoManager().getNickName());
|
||||
MessageUtil.sendMessage(session,1,msgId,null,true);
|
||||
|
|
@ -1377,7 +1382,7 @@ public class GuildLogic {
|
|||
User user = UserManager.getUser(uid);
|
||||
int dailyGet = user.getPlayerInfoManager().getDailyWelfareRedPacket();
|
||||
int maxGet = SSpecialConfig.getIntegerValue(SSpecialConfig.WELFAREREDPACKET_LIMIT);
|
||||
if(dailyGet < maxGet){
|
||||
if(dailyGet <= maxGet){
|
||||
user.getPlayerInfoManager().setDailyWelfareRedPacket(dailyGet+1);
|
||||
}else{
|
||||
throw new ErrorCodeException(ErrorCode.REDPACKET_DAILY_LIMIT);
|
||||
|
|
@ -1418,16 +1423,18 @@ public class GuildLogic {
|
|||
.setItemId(already.getValue().getItemId())
|
||||
.setCount(already.getValue().getCount())
|
||||
.setPosition(already.getValue().getPosition())
|
||||
.setUserTitle(playerInfoManager.getUserTitle());
|
||||
.setUserTitle(playerInfoManager.getUserTitle())
|
||||
.setPracticeLevel(UserManager.getUser(already.getValue().getUid()).getHeroManager().getPracticeLevel());
|
||||
builder.addInfo(detail.build());
|
||||
}
|
||||
}
|
||||
RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(guildId), String.valueOf(redId), RedPackage.class);
|
||||
PlayerManager playerInfoManager = UserManager.getUser(packInfo.getUid()).getPlayerInfoManager();
|
||||
PlayerManager playerInfoManager = UserManager.getUser(session.getUid()).getPlayerInfoManager();
|
||||
builder.setSendName(playerInfoManager.getNickName())
|
||||
.setHead(playerInfoManager.getHead())
|
||||
.setHeadFrame(playerInfoManager.getHeadFrame())
|
||||
.setRemainTime(packInfo.getSendTime()+packInfo.getEffectTime()-(int)(TimeUtils.now()/1000));
|
||||
.setRemainTime(packInfo.getSendTime()+packInfo.getEffectTime()-(int)(TimeUtils.now()/1000))
|
||||
.setPracticeLevel(UserManager.getUser(packInfo.getUid()).getHeroManager().getPracticeLevel());
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);
|
||||
}
|
||||
|
||||
|
|
@ -1616,7 +1623,10 @@ public class GuildLogic {
|
|||
.setHelpername(log.getHelperName())
|
||||
.setTargetname(log.getTargetName())
|
||||
.setTime(log.getLogTime())
|
||||
.setType(log.getType()).build();
|
||||
.setType(log.getType())
|
||||
.setHelpPracticeLevel(log.getHelpPracticeLevel())
|
||||
.setTargetPracticeLevel(log.getTargetPracticeLevel())
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1641,6 +1651,7 @@ public class GuildLogic {
|
|||
for (Map.Entry<Integer, Integer> entry : user.getGuildMyInfo().getGuidHelpInfo().entrySet()) {
|
||||
//通知前端清除公会成员援助信息
|
||||
build.setUid(user.getId());
|
||||
build.setPracticeLevel(user.getHeroManager().getPracticeLevel());
|
||||
build.addGuildHelpInfo(CommonProto.GuildHelpInfo.newBuilder().setType(entry.getKey()).setNum(-1));
|
||||
}
|
||||
GuildLogic.sendIndicationToMember(GuilidManager.guildInfoMap.get(user.getPlayerInfoManager().getGuildId()), MessageTypeProto.MessageType.GuildHelpInfoIndication,build.build());
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class HardStageChapter extends MongoBase {
|
|||
this.chapterId = chapterId;
|
||||
}
|
||||
|
||||
public List<HardStageNode> getNodeList() {
|
||||
public List<HardStageNode> getNodeList() {
|
||||
return nodeList;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import com.ljsd.jieling.network.session.ISession;
|
|||
import com.ljsd.jieling.util.ItemMap;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.sun.codemodel.internal.JForEach;
|
||||
import config.*;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -20,6 +21,7 @@ import rpc.protocols.MessageTypeProto;
|
|||
import rpc.protocols.PlayerInfoProto;
|
||||
import util.StringUtil;
|
||||
|
||||
import javax.swing.text.StyledEditorKit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -330,4 +332,48 @@ public class HardStageLogic {
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gm测试
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
public static void test(User user,int id) throws Exception{
|
||||
user.getHardStageManager().getChapterMap(user);
|
||||
|
||||
for(int i=1;i<=id;i++){
|
||||
SHardStage config = SHardStage.getConfigMap().get(i);
|
||||
if(config != null){
|
||||
user.getHardStageManager().openNewNode(user,config);
|
||||
if(i == id){
|
||||
user.getHardStageManager().setCurChapter(config.getChapter());
|
||||
user.getHardStageManager().setCurNode(config.getSection());
|
||||
}
|
||||
}
|
||||
}
|
||||
//user.getHardStageManager().updateString("hardStageManager", user.getHardStageManager());
|
||||
Map<Integer, HardStageChapter> map = user.getHardStageManager().getChapterMap(user);
|
||||
//Set key = map.keySet();
|
||||
for(Integer key:map.keySet()){
|
||||
HardStageChapter chapter = map.get(key);
|
||||
chapter.getNodeList().stream().forEach(n->
|
||||
{
|
||||
if(!n.isHasPass()){
|
||||
if(n.getType()== 1){
|
||||
n.setState(7);
|
||||
chapter.addStars(3);
|
||||
user.getHardStageManager().updateString("chapterMap." + chapter.getChapterId(), chapter);
|
||||
//user.getHardStageManager().updateString("chapterMap",user.getHardStageManager().getChapterMap());
|
||||
|
||||
}else {
|
||||
n.setState(1);
|
||||
}
|
||||
n.setHasPass(true);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
//user.getHardStageManager().updateString("", user.getHardStageManager());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import com.ljsd.jieling.logic.OnlineUserManager;
|
|||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.activity.event.*;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.HeroFiveStarGetEventHandler;
|
||||
import com.ljsd.jieling.logic.activity.eventhandler.PokemonFiveStarGetEventHandler;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.expedition.ExpeditionLogic;
|
||||
|
|
@ -57,6 +58,7 @@ public class HeroLogic{
|
|||
public HeroLogic(){
|
||||
//英雄事件监听
|
||||
Poster.getPoster().listenEvent(new HeroFiveStarGetEventHandler(), HeroFiveStarGetEvent.class);
|
||||
Poster.getPoster().listenEvent(new PokemonFiveStarGetEventHandler(), PokemonFiveStarGetEvent.class);
|
||||
}
|
||||
|
||||
public static List<Integer> transTemplate = new ArrayList<>();
|
||||
|
|
@ -1164,10 +1166,14 @@ public class HeroLogic{
|
|||
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,baseBuilder.build(),true);
|
||||
// 觉醒飘字
|
||||
if (targetHero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_awaken_hero_content_parm)) {
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_awaken_broadcast_content", new Object[]{user.getPlayerInfoManager().getNickName(), scHero.getReadingName()},new int[]{0,1});
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_awaken_broadcast_content",
|
||||
new Object[]{user.getPlayerInfoManager().getNameColor(), user.getPlayerInfoManager().getNickName(), scHero.getReadingName()},
|
||||
new int[]{0,0,1});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT, String.valueOf(targetHero.getTemplateId()), 0, 0, 0, 0, 0);
|
||||
} else if (targetHero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_rankup_hero_content_parm)) {
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_rankup_hero_content", new Object[]{user.getPlayerInfoManager().getNickName(), scHero.getReadingName(), targetHero.getStar()},new int[]{0,1,0});
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_rankup_hero_content",
|
||||
new Object[]{user.getPlayerInfoManager().getNameColor(), user.getPlayerInfoManager().getNickName(), scHero.getReadingName(), targetHero.getStar()},
|
||||
new int[]{0,0,1,0});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT,String.valueOf(targetHero.getTemplateId()), 0, 0, 0, 0, 0);
|
||||
|
||||
}
|
||||
|
|
@ -2488,7 +2494,7 @@ public class HeroLogic{
|
|||
fiveStarPushByCombine(user,drop.getHero(0).getHeroId(), composeNum);
|
||||
}
|
||||
if(drop.getPokemonList().size()>0){
|
||||
fiveStarPokemonPushByCombine(user,drop.getPokemonList().get(0).getTempId());
|
||||
fiveStarPokemonPushByCombine(user,drop.getPokemonList().get(0).getTempId(),composeNum);
|
||||
}
|
||||
HeroInfoProto.HeroComposeResponse heroComposeResponse = HeroInfoProto.HeroComposeResponse
|
||||
.newBuilder()
|
||||
|
|
@ -3667,7 +3673,10 @@ public class HeroLogic{
|
|||
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
|
||||
}
|
||||
if(animal.getQuality() >= SSpecialConfig.getIntegerValue(SSpecialConfig.ANIMAL_BROADCAST_QUALITY)) { //策划资质改成星级
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_starup_broadcast_content", new Object[]{user.getPlayerInfoManager().getNickName(),animal.getName(),pokemon.getStar()},new int[]{0,1,0});
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_starup_broadcast_content",
|
||||
new Object[]{nameColor, user.getPlayerInfoManager().getNickName(),animal.getName(),pokemon.getStar()},
|
||||
new int[]{0,0,1,0});
|
||||
if (!message.isEmpty()){
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.LUCKY_LUCK,"0",0,0,0,0,0);
|
||||
}
|
||||
|
|
@ -4603,26 +4612,40 @@ public class HeroLogic{
|
|||
public static void fiveStarPokemonPushByRandom(User user,int[][] getHeros) throws Exception{
|
||||
int fiveStarNum = 0;
|
||||
for(int[] i : getHeros){
|
||||
SSpiritAnimal ssa = SSpiritAnimal.mapConfig.get(i);
|
||||
SSpiritAnimal ssa = SSpiritAnimal.mapConfig.get(i[0]);
|
||||
if(ssa != null && ssa.getQuality()==5){
|
||||
fiveStarNum = 1;
|
||||
fiveStarNum++;
|
||||
Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(user.getId(), WelfareRedPacketType.random_pokemon.getType(),1));
|
||||
}
|
||||
}
|
||||
if(fiveStarNum > 0){
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
BuyGoodsNewLogic.openPush(session,user,8,5,fiveStarNum);
|
||||
Poster.getPoster().dispatchEvent(new PokemonFiveStarGetEvent(user.getId(),5,fiveStarNum));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*五星灵兽合成推送
|
||||
*/
|
||||
public static void fiveStarPokemonPushByCombine(User user,int itemId) throws Exception{
|
||||
public static void fiveStarPokemonPushByCombine(User user,int itemId,int num) throws Exception{
|
||||
SSpiritAnimal ssa = SSpiritAnimal.mapConfig.get(itemId);
|
||||
if(ssa != null && ssa.getQuality()==5){
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
BuyGoodsNewLogic.openPush(session,user,8,5,1);
|
||||
Poster.getPoster().dispatchEvent(new PokemonFiveStarGetEvent(user.getId(),5,num));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送紫府神印消息
|
||||
* @param uid
|
||||
* @throws Exception
|
||||
*/
|
||||
public static void sendMessageBySeal(int uid) throws Exception {
|
||||
User user = UserManager.getUser(uid);
|
||||
// 获取神印信息
|
||||
List<CommonProto.PurpleMansionSeal> sealInfo = CBean2Proto.getPurpleMansionSealInfo(user);
|
||||
HeroInfoProto.PurpleMansionSealIndication build2 = HeroInfoProto.PurpleMansionSealIndication.newBuilder().addAllSealList(sealInfo).build();
|
||||
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.PurpleMansionSealIndication_VALUE,build2,true);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -714,7 +714,10 @@ public class ItemLogic {
|
|||
if (hero.getEspecialEquipLevel() % value[1] != 0) {
|
||||
return;
|
||||
}
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_rankup_equiptalisman_content", new Object[]{user.getPlayerInfoManager().getNickName(), sItem.getName(), hero.getEspecialEquipLevel()},new int[]{0,1,0});
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_rankup_equiptalisman_content",
|
||||
new Object[]{nameColor, user.getPlayerInfoManager().getNickName(), sItem.getName(), hero.getEspecialEquipLevel()},
|
||||
new int[]{0,0,1,0});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message, Global.DILIGENT, String.valueOf(sItem.getId()), 0, 0, 0, 0, 0);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -117,5 +117,8 @@ public enum GameEvent {
|
|||
ENDLESS_KILL_MONTER,//无尽杀小怪
|
||||
ENDLESS_KILL_SMALL_BOSS,//无尽杀小boss
|
||||
ENDLESS_KILL_LAST_BOSS,//无尽击杀最终boss
|
||||
ENDLESS_OPEN_MAP//无尽提升探索度
|
||||
ENDLESS_OPEN_MAP,//无尽提升探索度
|
||||
|
||||
HARSTAGE_STARS,//山河社稷图星数
|
||||
HARSTAGE_NODE,//山河社稷图通关章节
|
||||
}
|
||||
|
|
|
|||
|
|
@ -968,6 +968,12 @@ public class MissionLoigc {
|
|||
case EXPEDITION_FLOOR_TIMES:
|
||||
count = cumulationData.expedition_floor_times.get(missionSubType[0]);
|
||||
break;
|
||||
case HARSTAGE_STARS:
|
||||
count = cumulationData.hardstage_stars;
|
||||
break;
|
||||
case HARSTAGE_NODE:
|
||||
count = cumulationData.hardstage_node;
|
||||
break;
|
||||
//100以后类型继承 AbstractDataManager
|
||||
default:
|
||||
count = 0;
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@ public enum MissionType {
|
|||
|
||||
HONGMENG_RESONANCE_LATTICE(119),//鸿蒙阵共鸣格子
|
||||
HONGMENG_TABLET_LEVEL(120),// 鸿蒙碑等级
|
||||
HARSTAGE_STARS(121),//山河社稷图获得总星星数
|
||||
HARSTAGE_NODE(122),//山河社稷图通关章节
|
||||
ENDLESS_MORALE(123),
|
||||
ENDLESS_MONSTER_KILL(124),
|
||||
ENDLESS_BOSS_KILL(125),
|
||||
|
|
|
|||
|
|
@ -152,6 +152,10 @@ public class DataManagerDistributor {
|
|||
judges.put(MissionType.ENDLESS_LAST_BOSS,new EndlessLastBossKillManager());
|
||||
judges.put(MissionType.ENDLESS_OPEN_PERCENT,new EndlessOpenPercentManager());
|
||||
|
||||
//山河社稷图
|
||||
judges.put(MissionType.HARSTAGE_STARS, new HardStageStarsDataManager());
|
||||
judges.put(MissionType.HARSTAGE_NODE, new HardStageNodeDataManager());
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
/**
|
||||
* 山河社稷章节数
|
||||
*/
|
||||
public class HardStageNodeDataManager implements BaseDataManager {
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int nums = (int)parm[0];
|
||||
if(data.getHardstage_node()< nums){
|
||||
data.setHardstage_node(nums);
|
||||
}
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.ljsd.jieling.logic.mission.data;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
|
||||
/**
|
||||
* 山河社稷星数
|
||||
*/
|
||||
public class HardStageStarsDataManager implements BaseDataManager {
|
||||
@Override
|
||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||
int nums = (int)parm[0];
|
||||
data.setHardstage_stars(nums);
|
||||
return new CumulationData.Result(missionType);
|
||||
}
|
||||
}
|
||||
|
|
@ -463,6 +463,16 @@ public class MissionEventDistributor {
|
|||
eventProcessor.put(GameEvent.ENDLESS_OPEN_MAP, new CumulationDataEventProcessor());
|
||||
|
||||
|
||||
//山河社稷图
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.HARSTAGE_STARS);
|
||||
eventEnumListMap.put(GameEvent.HARSTAGE_STARS, typeList);
|
||||
eventProcessor.put(GameEvent.HARSTAGE_STARS, new CumulationDataEventProcessor());
|
||||
|
||||
typeList = new ArrayList<>();
|
||||
typeList.add(MissionType.HARSTAGE_NODE);
|
||||
eventEnumListMap.put(GameEvent.HARSTAGE_NODE, typeList);
|
||||
eventProcessor.put(GameEvent.HARSTAGE_NODE, new CumulationDataEventProcessor());
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ package com.ljsd.jieling.logic.mission.main;
|
|||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.ljsd.jieling.logic.dao.CumulationData;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.MissionState;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
||||
import java.util.BitSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
public abstract class AbstractMissionType {
|
||||
//开启的任务,在可控范围内,使用map存储,利于查找
|
||||
|
|
@ -38,6 +38,33 @@ public abstract class AbstractMissionType {
|
|||
|
||||
public abstract void calCumulationDataResult(User user,CumulationData.Result result,List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception;
|
||||
|
||||
void getAllRewards(List<int[][]> itemAttrs){}
|
||||
/**
|
||||
* 获取全部奖励
|
||||
* @param missionType
|
||||
* @param itemAttrs
|
||||
*/
|
||||
void getAllRewards(AbstractMissionType missionType, List<int[][]> itemAttrs){
|
||||
// 可领取任务
|
||||
Set<Integer> finishMissionIds = missionType.getFinishMissionIds();
|
||||
// 已完成任务
|
||||
BitSet bitSet = missionType.getRewardedMissionIds();
|
||||
if (finishMissionIds == null || finishMissionIds.isEmpty()){
|
||||
return;
|
||||
}
|
||||
// 遍历
|
||||
Iterator<Integer> iterator = finishMissionIds.iterator();
|
||||
while (iterator.hasNext()){
|
||||
Integer next = iterator.next();
|
||||
// 添加奖励
|
||||
itemAttrs.add(reward(next));
|
||||
// 存入已完成
|
||||
bitSet.set(next);
|
||||
//
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkIsNew(int missionId){
|
||||
if(doingMissionIds.contains(missionId)){
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -24,6 +24,11 @@ public class CowFlySkyMissionType extends AbstractMissionType {
|
|||
return arroGantFly.getReward();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAllRewards(List<int[][]> itemAttrs){
|
||||
super.getAllRewards(this, itemAttrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) throws Exception {
|
||||
// 进行中得任务
|
||||
|
|
|
|||
|
|
@ -266,12 +266,20 @@ public class PlayerLogic {
|
|||
playerInfoManager.setVipLevel(vipLevel+1);
|
||||
//特权等级奖励
|
||||
Map<Integer, Integer>rewardMap = user.getUserMissionManager().getVipMissionIdsType().getVipRewardMap();
|
||||
if(!rewardMap.containsKey(playerInfoManager.getVipLevel())){
|
||||
|
||||
for(int i = user.getPlayerInfoManager().getVipLevel();i>=1;i--){
|
||||
if(!rewardMap.containsKey(i) && i!=0){
|
||||
rewardMap.put(i,1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*if(!rewardMap.containsKey(playerInfoManager.getVipLevel())){
|
||||
rewardMap.put(playerInfoManager.getVipLevel(),0);
|
||||
}
|
||||
if(rewardMap.get(playerInfoManager.getVipLevel())==0){
|
||||
rewardMap.put(playerInfoManager.getVipLevel(),1);
|
||||
}
|
||||
}*/
|
||||
user.getUserMissionManager().setVipMissionIdsType(user.getUserMissionManager().getVipMissionIdsType());
|
||||
|
||||
PlayerInfoProto.VipLevelStateResponse.Builder vipLevelStateResponse = PlayerInfoProto.VipLevelStateResponse.newBuilder();
|
||||
|
|
@ -838,6 +846,44 @@ public class PlayerLogic {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
//消耗完所有特权次数
|
||||
public int checkAndConsumeAllPrivilegeTimes(User user, int privilageTypeId){
|
||||
Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
||||
if(privilageTypeId == 0){
|
||||
return 0;
|
||||
}
|
||||
List<SPrivilegeTypeConfig> sPrivilegeTypeConfigs = SPrivilegeTypeConfig.privilegeByType.get(privilageTypeId);
|
||||
List<Integer> typePrivileges = new ArrayList<>();
|
||||
for(SPrivilegeTypeConfig config:sPrivilegeTypeConfigs){
|
||||
if(!vipInfo.containsKey(config.getId())){
|
||||
continue;
|
||||
}
|
||||
typePrivileges.add(config.getId());
|
||||
}
|
||||
if(typePrivileges.isEmpty()){
|
||||
return 0;
|
||||
}
|
||||
int levelUpdateCount = 0;
|
||||
for(Integer privilageId:typePrivileges){
|
||||
VipInfo info = vipInfo.get(privilageId);
|
||||
if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){
|
||||
continue;
|
||||
}
|
||||
int mCount = getMaxCountByPrivilege(user,privilageId);
|
||||
if(mCount==-1){
|
||||
return 0;
|
||||
}
|
||||
if(info.getCount()>= mCount){
|
||||
continue;
|
||||
}
|
||||
if(info.getEffectTime()!=0&&TimeUtils.now()/1000>info.getEffectTime()){
|
||||
continue;
|
||||
}
|
||||
levelUpdateCount+=mCount-info.getCount();
|
||||
user.getPlayerInfoManager().updateVipPrivilage(privilageId, mCount-info.getCount());
|
||||
}
|
||||
return levelUpdateCount;
|
||||
}
|
||||
// private boolean priviliageCheck(User user, int privilageTypeId, int checkNum,boolean isUpdate){
|
||||
// Map<Integer, VipInfo> vipInfo = user.getPlayerInfoManager().getVipInfo();
|
||||
// if(privilageTypeId == 0){
|
||||
|
|
|
|||
|
|
@ -758,6 +758,9 @@ public class BuyGoodsNewLogic {
|
|||
break;
|
||||
}
|
||||
}
|
||||
if(con.getPersonas()[index] > rr){
|
||||
return -1;
|
||||
}
|
||||
return con.getPacks()[index];
|
||||
}
|
||||
|
||||
|
|
@ -856,6 +859,9 @@ public class BuyGoodsNewLogic {
|
|||
if(id == 21 || id == 400 || id == 401 || id == 402 ){
|
||||
return true;
|
||||
}
|
||||
if(id >= 7300 && id <= 7304){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -514,7 +514,9 @@ public class StoreLogic implements IEventHandler {
|
|||
if(sStoreConfig.getOpenPrivilege()!=null){
|
||||
PlayerInfoProto.PrivilegeIndication.Builder indication = PlayerInfoProto.PrivilegeIndication.newBuilder();
|
||||
int[] openPrivilege = sStoreConfig.getOpenPrivilege();
|
||||
for(int privilege:openPrivilege){
|
||||
|
||||
for(int i=0;i<itemNum;i++){
|
||||
for(int privilege:openPrivilege){
|
||||
// int privilegeType = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilege).getPrivilegeType();
|
||||
// if(privilegeType== VipPrivilegeType.ADVENTURE_BASE_REWARD||privilegeType==VipPrivilegeType.FAST_MAP_LIMIT){
|
||||
// CombatLogic.getInstance().getNewAdventureReward(user,true);
|
||||
|
|
@ -522,8 +524,10 @@ public class StoreLogic implements IEventHandler {
|
|||
// user.getPlayerInfoManager().addVipInfo(privilege);
|
||||
// VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(privilege);
|
||||
// indication.addInfos(CommonProto.Privilege.newBuilder().setId(privilege).setUsedTimes(vipInfo.getCount()).setEffectTime(vipInfo.getEffectTime()).build());
|
||||
BuyGoodsNewLogic.addNewPrivilege(user,privilege,indication);
|
||||
}
|
||||
BuyGoodsNewLogic.addNewPrivilege(user,privilege,indication);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
|
||||
MessageUtil.sendIndicationMessage(sessionByUid,1, MessageTypeProto.MessageType.PRIVILLEGE_ADD_INDICATION_VALUE,indication.build(),true);
|
||||
|
|
|
|||
|
|
@ -785,7 +785,7 @@ public class CBean2Proto {
|
|||
return CommonProto.TeamSimpleInfo.newBuilder().setHeroid(pokemon.getId()).setHeroTid(pokemon.getTmpId()).setLevel(pokemon.getLevel()).setStar(pokemon.getStar()).setPosition(position).build();
|
||||
}
|
||||
|
||||
public static CommonProto.HardStagePlayerInfo getHardStagePlayerInfo(ArenaRecord arenaRecord,int type)throws Exception {
|
||||
public static CommonProto.HardStagePlayerInfo getHardStagePlayerInfo(ArenaRecord arenaRecord,int type,User user)throws Exception {
|
||||
CommonProto.FightData fightDataProto = CommonProto.FightData.parseFrom(arenaRecord.getFightData());
|
||||
return CommonProto.HardStagePlayerInfo.newBuilder()
|
||||
.setUid(arenaRecord.getAttackId())
|
||||
|
|
@ -793,7 +793,7 @@ public class CBean2Proto {
|
|||
.setHead(arenaRecord.getHead())
|
||||
.setUserName(arenaRecord.getUserName())
|
||||
.setHeadFrame(arenaRecord.getHeadFrame())
|
||||
.setFightData(fightDataProto).setPower(arenaRecord.getAttackForce()).setType(type).build();
|
||||
.setFightData(fightDataProto).setPower(arenaRecord.getAttackForce()).setType(type).setPracticeLevel(user.getHeroManager().getPracticeLevel()).build();
|
||||
|
||||
}
|
||||
/**
|
||||
|
|
@ -828,28 +828,18 @@ public class CBean2Proto {
|
|||
values.forEach(v->{
|
||||
// 使用中的神印
|
||||
if (v.getState() == 1){
|
||||
CommonProto.PurpleSealShowInfo builder;
|
||||
// 通用神印
|
||||
if (v.getType() == 0){
|
||||
builder = CommonProto.PurpleSealShowInfo.newBuilder()
|
||||
.setId(v.getSealId())
|
||||
.setType(v.getType())
|
||||
.setHeroTId(0)
|
||||
.build();
|
||||
list.add(builder);
|
||||
}
|
||||
// 附身神印需要
|
||||
else if (v.getType() == 1) {
|
||||
if (heroIds.contains(v.getSubId()) && !"".equals(v.getSubId()) && v.getSubId() != null){
|
||||
Hero hero = user.getHeroManager().getHero(v.getSubId());
|
||||
builder = CommonProto.PurpleSealShowInfo.newBuilder()
|
||||
.setId(v.getSealId())
|
||||
.setType(v.getType())
|
||||
.setHeroTId(hero.getTemplateId())
|
||||
.build();
|
||||
list.add(builder);
|
||||
}
|
||||
int heroTid = 0;
|
||||
if (v.getType() == 1){
|
||||
Hero hero = user.getHeroManager().getHero(v.getSubId());
|
||||
heroTid = hero.getTemplateId();
|
||||
}
|
||||
|
||||
CommonProto.PurpleSealShowInfo builder = CommonProto.PurpleSealShowInfo.newBuilder()
|
||||
.setId(v.getSealId())
|
||||
.setType(v.getType())
|
||||
.setHeroTId(heroTid)
|
||||
.build();
|
||||
list.add(builder);
|
||||
}
|
||||
});
|
||||
return list;
|
||||
|
|
|
|||
|
|
@ -1193,7 +1193,10 @@ public class ItemUtil {
|
|||
}
|
||||
if (item.getQuantity() >= SSpecialConfig.getIntegerValue(msgTem+"_parm")) {
|
||||
String nickName = user.getPlayerInfoManager().getNickName();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert(msgTem, new Object[]{nickName, equipQulityNameMap.get(item.getQuantity()), item.getName()},new int[]{0,1,1});
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert(msgTem,
|
||||
new Object[]{nameColor, nickName, equipQulityNameMap.get(item.getQuantity()), item.getName()},
|
||||
new int[]{0,0,1,1});
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.LUCKY_LUCK,String.valueOf(equipId),0,0,0,0,0);
|
||||
|
||||
}
|
||||
|
|
@ -1276,7 +1279,7 @@ public class ItemUtil {
|
|||
heroList.add(CBean2Proto.getHero(hero));
|
||||
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
|
||||
if (scHero.getStar() >= SSpecialConfig.getIntegerValue(SSpecialConfig.lamp_lottery_content_parm)) { //策划资质改成星级
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_lottery_content", new Object[]{playerInfoManager.getNickName(), scHero.getStar(), scHero.getReadingName()},new int[]{0,0,1});
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("lamp_lottery_content", new Object[]{playerInfoManager.getNameColor(), playerInfoManager.getNickName(), scHero.getStar(), scHero.getReadingName()},new int[]{0,0,0,1});
|
||||
if (!message.isEmpty()){
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.LUCKY_LUCK,String.valueOf(hero.getTemplateId()),0,0,0,0,0);
|
||||
}
|
||||
|
|
@ -1664,7 +1667,10 @@ public class ItemUtil {
|
|||
// }
|
||||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_BEAST.getType(),entry.getKey(),animal.getQuality(),reason);
|
||||
if (animal.getQuality() >= SSpecialConfig.getIntegerValue(SSpecialConfig.ANIMAL_BROADCAST_QUALITY)&&reason!=BIReason.COMPOS_HERO_REWARD) { //策划资质改成星级
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_get_broadcast_content", new Object[]{user.getPlayerInfoManager().getNickName(), animal.getName()},new int[]{0,1});
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_get_broadcast_content",
|
||||
new Object[]{nameColor,user.getPlayerInfoManager().getNickName(), animal.getName()},
|
||||
new int[]{0,0,1});
|
||||
if (!message.isEmpty()){
|
||||
ChatLogic.getInstance().sendSysChatMessage(message,Global.LUCKY_LUCK,"0",0,0,0,0,0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public class MonsterUtil {
|
|||
for(int j = 0; j<contents.length;j++){
|
||||
for(int k = 0;k<contents[j].length;k++){
|
||||
SMonsterConfig monster = integerSMonsterConfigMap.get(contents[j][k]);
|
||||
int monsterForce = (int)(monster.getAttack()+(monster.getAttack()*20<monster.getHp()?monster.getAttack()*20*0.15:monster.getHp()*0.15)+monster.getPhysicalDefence()*3+monster.getMagicDefence()*3);
|
||||
int monsterForce = (int)(monster.getAttack()+(monster.getAttack()*20<monster.getHp()?monster.getAttack()*20*0.3:monster.getHp()*0.3)+monster.getPhysicalDefence()*3+monster.getMagicDefence()*3);
|
||||
monsterCount++;
|
||||
totalMonsterForce+=monsterForce;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ public class SHardStage implements BaseConfig {
|
|||
|
||||
private int section;
|
||||
|
||||
private int bigStageNumber;
|
||||
|
||||
private String picture;
|
||||
|
||||
private int repeat;
|
||||
|
|
@ -44,6 +46,7 @@ public class SHardStage implements BaseConfig {
|
|||
private static Map<Integer, SHardStage> configMap;
|
||||
private static Map<Integer, List<SHardStage>> preConfigMap;
|
||||
private static Map<Integer, Map<Integer,SHardStage>> chapterNodeMapConfig;//<章节id,<节点id,数据>>
|
||||
private static Map<Integer, Integer> bigMap;//<表id,第几个大关卡>
|
||||
|
||||
|
||||
|
||||
|
|
@ -52,6 +55,7 @@ public class SHardStage implements BaseConfig {
|
|||
Map<Integer, SHardStage> tempConfig = STableManager.getConfig(SHardStage.class);
|
||||
Map<Integer, List<SHardStage>> tempPreConfigMap = new HashMap<>();
|
||||
Map<Integer, Map<Integer,SHardStage>> chapterNodeMap = new HashMap<Integer, Map<Integer,SHardStage>>();
|
||||
Map<Integer, Integer> bmap = new HashMap<>();
|
||||
for (SHardStage stage : tempConfig.values()) {
|
||||
if (stage.getNextLevel() > 0) {
|
||||
if (tempPreConfigMap.containsKey(stage.getNextLevel())) {
|
||||
|
|
@ -66,11 +70,16 @@ public class SHardStage implements BaseConfig {
|
|||
Map<Integer,SHardStage> chapterMap = chapterNodeMap.computeIfAbsent(stage.getChapter(),k-> new HashMap<Integer,SHardStage>());
|
||||
chapterMap.computeIfAbsent(stage.getSection(),k ->stage);
|
||||
|
||||
if(!bmap.containsKey(stage.getId())&& stage.getBigStageNumber()!=0){
|
||||
bmap.put(stage.getId(),stage.getBigStageNumber());
|
||||
}
|
||||
|
||||
}
|
||||
if (null == configMap) {
|
||||
configMap = tempConfig;
|
||||
preConfigMap = tempPreConfigMap;
|
||||
chapterNodeMapConfig = chapterNodeMap;
|
||||
bigMap = bmap;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -148,7 +157,15 @@ public class SHardStage implements BaseConfig {
|
|||
return preConfigMap.get(id);
|
||||
}
|
||||
|
||||
public static int getStageIdByChapterAndSection(int chapter,int section){
|
||||
public int getBigStageNumber() {
|
||||
return bigStageNumber;
|
||||
}
|
||||
|
||||
public void setBigStageNumber(int bigStageNumber) {
|
||||
this.bigStageNumber = bigStageNumber;
|
||||
}
|
||||
|
||||
public static int getStageIdByChapterAndSection(int chapter, int section){
|
||||
if(chapterNodeMapConfig.containsKey(chapter)){
|
||||
if(chapterNodeMapConfig.get(chapter).containsKey(section)){
|
||||
return chapterNodeMapConfig.get(chapter).get(section).getId();
|
||||
|
|
@ -156,4 +173,10 @@ public class SHardStage implements BaseConfig {
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
public static int getBigStageNumberById(int id){
|
||||
if(bigMap.containsKey(id)){
|
||||
return bigMap.get(id);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -101,6 +101,7 @@ public class SSpecialConfig implements BaseConfig {
|
|||
public static final String FU_XING_STORE = "FuXingStore";//福星高照购买解锁奖励
|
||||
public static final String YIJIANGOUMAI = "YiJianGouMai";//一件购买
|
||||
public static final String WELFAREREDPACKET_LIMIT = "RedPackMaxGainNum";//每日领取红包数量上限
|
||||
public static final String SWEEP_ONEKEY = "floodprivilegeid";//一键扫荡
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ public class SXiuXian implements BaseConfig {
|
|||
|
||||
private int[][] totalPros;
|
||||
|
||||
private String nameFontColor;
|
||||
|
||||
private int needStarNum;
|
||||
|
||||
private int[] teamSkill;
|
||||
|
|
@ -57,5 +59,7 @@ public class SXiuXian implements BaseConfig {
|
|||
return teamSkill;
|
||||
}
|
||||
|
||||
|
||||
public String getNameFontColor() {
|
||||
return nameFontColor;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue