diff --git a/luafight/Modules/Battle/Config/Data/HardStage.lua b/luafight/Modules/Battle/Config/Data/HardStage.lua index bfdcceb65..2c3ae6012 100644 --- a/luafight/Modules/Battle/Config/Data/HardStage.lua +++ b/luafight/Modules/Battle/Config/Data/HardStage.lua @@ -1,13 +1,13 @@ local HardStage = { -__count = 76, -__indexs = {1.91,82,1.81,2.1,2.1}, -__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'}, +__count = 475, +__indexs = {1.91,82,1.81,2.1,4.1,8.1,16.1,16.1}, +__values = {-719,-2.2,3,10,5,10,4,6,3,5,16,2,5,-6.2,36,1,10,29,8,41,39,3,17,3,9,3,1,3,1,5,1,-2.2,4,-2.2,7,2,1,4,1,3,3.1,1,9.4,12,1,4,2,7,1,5,30.3,2,13,1,9,3,7,2,12,4,6,1,7,2,6,22.3,4,3,4,2,6,8,5,6,1,5,2,58.3,2,5,53.3,3,1,14,-2.2,49.3,6,1,2,4,1.5,4,7,3,1,11,5,8,1,3,1.2,4,3,8,12,4,7,-4.2,2,10,1,9,13,40.3,1.152,6,3,4,-3.2,2,6,1.3,5,4,1,2,1.2,7,1.4,4.2,-2.5,4,1,6,37.2,2,7,6,7,57.3,5,10,1,6,-4.3,1.2,-2.4,1.2,23.2,82.3,2,8,5.3,4,6,10,4,3,21,7,3,-2.6,1.2,158.2,1.2,6,51.3,1.3,10,4,14,13,3,12,2,1.4,-2.6,82,1.4,-2.7,3.1,82,-2.9,81,1,-2.5,1.8,6.2,2.1,4.1,8.1,12.11,-2.8,1288,6295,1.42,2,1.9,82.3,1.5,27,60.2,1,2,1,2,3911,237.5,987,1,2,999,4,994,1.5,5,22989,-5000.2,-10000.2,20000,30000,10006,-2.2,996,4,2.1,4996,-2.2,12990,-30000.2,20000,7000,3000,6000,-4000.2,3000,4000,3000,8000,3000,7000,13000,9000,1000,1.973,621,-2.9,1,2.1,4.1,8.1,16.1,8.7,40.1,40.1,11621,10000,-20000.3,139.2,70000,-40000.2,60000,50000,60000,10000,20000,-30000.3,10000,50000,30000,60000,140000,100000,-50000.4,20000,-30000.2,-20000.2,13.2,-50000.2,40000,4.2,30000,-50000.3,30000,20000,10000,-20000.2,100000,-50000.2,9.2,6.2,-40000.3,20.2,30000,-60000.3,-30000.3,-15000.2,36.2,5000,15000,5000,25000,-50000.3,20000,4.2,10000,40000,-80000.3,-40000.2,50000,16.2,-15000.4,2.1,4.3,-15000.2,30000,120000,60000,180000,20000,160000,48000,42000,90000,180000,104000,136000,20000,300000,256000,359000,25000,128000,192000,30000,300000,260000,190000,150000,90000,135000,209000,161000,355000,130000,42000,258000,88000,582000,194000,291000,615000,19210001,-100.51,8500,2.1,4.1,8.1,16.1,18.71,14748504,1.3,-2.2,8,10,20,100,-50.3,100,200,-100.11,200,100,-200.2,-100.3,4.2,300,-100.2,400}, +__exVals = {325,nil,-183.56,-685.71,-552.79,-664.62,-450.46,-443.08,-400.88,-310.15,-37.98,-92.84,130.81,217.32,417.76,352.35,409.32,620.31,607.65,450.46,-630.1,-645.7,-722.6,605.54,262.68,7.38,-366.07,-119.21,-341.80,123.43,368.18,289.05,48.53,-401.93,-79.12,-425.14,-197.27,13.71,297.49,213.10,340.75,169.85,-152.97,86.5,-77.2,-184.4,-237.3,-298.9,458.9,29.54,-262.68,-7.38,366.07,119.21,-341.8,-123.43,-368.18,-289.05,-48.53,401.93,79.12,425.14,197.27,-13.71,-297.49,213.1,-340.75,-169.85,152.97,-86.5,77.2,184.4,237.3,298.9,-458.9,-29.54,'1-1','1-2','1-3','1-4','1-5','1-6','1-7','1-8','1-9','2-1','2-2','2-3','2-4','2-5','2-6','2-7','2-8','2-9','3-1','3-2','3-3','3-4','3-5','3-6','3-7','3-8','3-9','4-1','4-2','4-3','4-4','4-5','4-6','4-7','4-8','4-9','5-1','5-2','5-3','5-4','5-5','5-6','5-7','5-8','5-9','6-1','6-2','6-3','6-4','6-5','6-6','6-7','6-8','6-9','7-1','7-2','7-3','7-4','7-5','7-6','7-7','7-8','7-9','8-1','8-2','8-3','8-4','8-5','8-6','8-7','8-8','8-9','9-1','9-2','9-3','9-4','9-5','9-6','9-7','9-8','9-9','10-1','10-2','10-3','10-4','10-5','10-6','10-7','10-8','10-9','11-1','11-2','11-3','11-4','11-5','11-6','11-7','11-8','11-9','12-1','12-2','12-3','12-4','12-5','12-6','12-7','12-8','12-9','13-1','13-2','13-3','13-4','13-5','13-6','13-7','13-8','13-9','14-1','14-2','14-3','14-4','14-5','14-6','14-7','14-8','14-9','15-1','15-2','15-3','15-4','15-5','15-6','15-7','15-8','15-9','16-1','16-2','16-3','16-4','16-5','16-6','16-7','16-8','16-9','17-1','17-2','17-3','17-4','17-5','17-6','17-7','17-8','17-9','18-1','18-2','18-3','18-4','18-5','18-6','18-7','18-8','18-9','19-1','19-2','19-3','19-4','19-5','19-6','19-7','19-8','19-9','20-1','20-2','20-3','20-4','20-5','20-6','20-7','20-8','20-9','21-1','21-2','21-3','21-4','21-5','21-6','21-7','21-8','21-9','22-1','22-2','22-3','22-4','22-5','22-6','22-7','22-8','22-9','23-1','23-2','23-3','23-4','23-5','23-6','23-7','23-8','23-9','24-1','24-2','24-3','24-4','24-5','24-6','24-7','24-8','24-9','25-1','25-2','25-3','25-4','25-5','25-6','25-7','25-8','25-9','1-10','2-10','3-10','4-10','5-10','6-10','7-10','8-10','9-10','10-10','11-10','12-10','13-10','14-10','15-10','16-10','17-10','18-10','19-10','20-10','21-10','22-10','23-10','24-10','25-10'}, __fields = { 'Id', 'Chapter', 'Section', - 'Picture', + 'BigStageNumber', 'Name', 'LevelPointPosition', 'UselessPoint', @@ -35,10 +35,10 @@ __defaults = { nil, nil, nil, - 6, - 1, nil, - 1, + 143, + nil, + 143, nil, nil, nil, @@ -47,25 +47,25 @@ __defaults = { nil }, __refs = { - {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}, + {144,.81,1,2.1,4.1,8.1,16.1,18.71}, + {144,1.81,-18,2.1,4.1,8.1,16.1,18.71}, + {144,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,10,1,-11,12,-12,13,-13,14,-14,15,-15,16,-16,17,-17,18,-18,19,-19,20,1,-21,22,-22,23,-23,24,-24,25,-25,26,-26,27,-27,28,-28,29,-29,30,1,-31,32,-32,33,-33,34,-34,35,-35,36,-36,37,-37,38,-38,39,-39,40,1,-41,42,-42,43,-43,44,-44,45,-45,46,-46,47,-47,48,-48,49,-49,50,1,-51,52,-52,53,-53,54,-54,55,-55,56,-56,57,-57,58,-58,59,-59,60,1,-61,62,-62,63,-63,64,-64,65,-65,66,-66,67,-67,68,-68,69,-69,70,1,-71,72,-72,73,-73,74,-74,75,-75,76,-76,77,-77,78,-78,79,-79,80,1,-81,82,-82,83,-83,84,-84,85,-85,86,-86,87,-87,88,-88,89,-89,90,1,-91,92,-92,93,-93,94,-94,95,-95,96,-96,97,-97,98,-98,99,-99,100,1,-101,102,-102,103,-103,104,-104,105,-105,106,-106,107,-107,108,-108,109,-109,110,1,-111,112,-112,113,-113,114,-114,115,-115,116,-116,117,-117,118,-118,119,-119,120,1,-121,122,-122,123,-123,124,-124,125,-125,126,-126,127,-127,128,-128,129,-129,130,1,-131,132,-132,133,-133,134,-134,135,-135,136,-136,137,-137,138,-138,139,-139,140,1,-141,142,-142,143,-143,144,-144,145,-145,146,-146,147,-147,148,-148,149,-149,150,1,-151,152,-152,153,-153,154,-154,155,-155,156,-156,157,-157,158,-158,159,-159,160,1,-161,162,-162,163,-163,164,-164,165,-165,166,-166,167,-167,168,-168,169,-169,170,1,-171,172,-172,173,-173,174,-174,175,-175,176,-176,177,-177,178,-178,179,-179,180,1,-181,182,-182,183,-183,184,-184,185,-185,186,-186,187,-187,188,-188,189,-189,190,1,-191,192,-192,193,-193,194,-194,195,-195,196,-196,197,-197,198,-198,199,-199,200,1,-201,202,-202,203,-203,204,-204,205,-205,206,-206,207,-207,208,-208,209,-209,210,1,-211,212,-212,213,-213,214,-214,215,-215,216,-216,217,-217,218,-218,219,-219,220,1,-221,222,-222,223,-223,224,-224,225,-225,226,-226,227,-227,228,-228,229,-229,230,1,-231,232,-232,233,-233,234,-234,235,-235,236,-236,237,-237,238,-238,239,-239,240,1,-241,242,-242,243,-243,244,-244,245,-245,246,-246,247,-247,248,-248,249,-249,250}, + {2456,0,1,0,1,4.1,8.1,0,217,-216,19.71,209,-208,19.71,201,-200,19.71,193,-192,19.71,185,-184,19.71,177,-176,19.71,169,-168,19.71,161,-160,19.71,153,-152,19.71,145,-144,19.71,137,-136,19.71,129,-128,19.71,121,-120,19.71,113,-112,19.71,105,-104,19.71,97,-96,19.71,89,-88,19.71,81,-80,19.71,73,-72,19.71,65,-64,19.71,57,-56,19.71,49,-48,19.71,41,-40,19.71,33,-32,19.71,25}, + {{{1},{2404,1.2,-20,21,2,1.3,-2308,2309,1.5,2,1.2,8,1.2,-33,34,11.2,-2136,2137,11.3,-44,22.1,44.1,88.1,44.23,-2365,69,152,165,-43,-244,-68,-61,56,112,231,-168,-133,189,126,-88,-218,-61,-32,2389,41.1,41.12}},{{2},{2383,1.2,2,21,-20,1.3,-2269,2260,10,1.3,24,-23,1.2,-15,13.2,47,-46,13.5,50,-49,13.4,26.1,52.1,104.1,52.63,-2387,1,4,3,20,19,-6,26,54,-20,23,141,112,37,36,35,-4,-24,-52,1967,45.1,45.52}}}, + {{{1,1},{361,2063,-2388,7,88,216,102,-108,-203,-57,-25,44,-54,71,121,196,-29,-170,-149,2364,-1998,-11,-239,-112,-52,54,73,221,46,-111,118,-172,-144,-70,17,54,237,36.1,72.1,144.1,72.35,-159,66,211,110,-142,-195,-57,-18,58,182,112,-217,-47,258,30,-185,-131,-46,21,54.1,54.53},{1,-19.42}},{{1,2},{2,2399,-2394,20,10,-6,29,58,-14,-6,2284,-2137,98,87,-36,-55,99,56,-492,18.1,36.1,72.1,144.1,54.35,-490,692,-688,10,11,4,1,46,35,-13,97,65,99,45,51,24,-19,-29,-433,54.1,54.53},{1,-19.42}},{{2,1},{338,-222,-90,31,82,257,2003,-2103,-167,-58,-7,21,-31,74,152,164,-43,2028,-2335,180,188,-31,-279,-76,2310,-2280,112,186,19,-57,67,-207,-113,-73,33,2382,-2117,36.1,72.1,144.1,72.35,-2338,106,201,57,-185,-158,-51,-2,62,237,19,-238,63,220,-15,-228,-83,-41,39,54.1,54.53},{1,-19.42}},{{2,2},{10,-1,5,25,-10,9,29,46,-8,-18,32,156,119,22,-48,9,80,1946,-2393,18.1,36.1,72.1,144.1,54.35,-2402,-4.2,12,14,-5,15,46,12,7,31,139,104,40,43,12,-19,-38,-412,53.1,53.53},{1,-19.42}},{{3,1},{290,2135,-2401,44,117,234,2009,-2176,-190,12,-2,-8,72,193,127,-60,-259,-30,2344,-1986,-53,-277,-69,2388,-2334,309,-30,3,21,-248,-78,-65,44,98,116,34.1,68.1,136.1,68.05,284,15,-392,24,65,187,-213,40.1,40.33},{1,9,10,2.1,4.1,8.1,16.1,6.1,1.2,3,1,4,2,1.7,10.1,10.3}},{{3,2},{15,-9,11,30,-22,23,33,27,-26,48,156,126,-3,-69,66,59,30,-480,17.1,34.1,68.1,136.1,51.05,-482,9,32,47,-2,77,-161,40.1,40.33},{1,9,10,2.1,4.1,8.1,16.1,6.1,1.2,3,1,4,2,1.7,10.1,10.3}},{{4,1},{2423,3,-2403,56,379,-369,-26,12,299,21,-268,2322,3,-1986,-73,-365,321,79,-30,-314,-7,152,2194,22.1,44.1,88.1,88.67},{1,5,1,2,1.2,4,2,3,7.1,14.1,28.1,56.1,21.1,1.91,15.1,15.31}},{{4,2},{2400,-2397,17,29,46,45,148,139,-102,149,19,1907,11.1,22.1,44.1,88.1,77.67},{1,5,1,2,1.2,4,2,3,7.1,14.1,28.1,56.1,21.1,1.91,15.1,15.31}},{{5,1},{2427,-2334,344,-329,274,2071,-2113,-290,239,-207,2345,10.1,20.1,40.1,40.43},{3,2,3,4,6,4,5.1,10.1,20.1,40.1,15.41,23,10.1,10.9}},{{5,2},{2402,-2360,72,59,318,1911,5.1,10.1,20.1,40.1,35.43},{3,2,3,4,6,4,5.1,10.1,20.1,40.1,15.41,23,10.1,10.9}}}, + {742,0,1,-1,-21,21,-31,31,-13,13,-1,1,-33,33,2,-2,-5,5,-32,0,32,-7,7,-43,43,-19,19,-35,35,-26,26,-9,9,-42,42,-40,40,-36,17,19,-37,37,4,-4,-23,23,38.2,-4,4,46.2,-5,5,-18,18,-29,-11,40,34.2,-11,11,-39,39,-41,41,-32,32,42.2,-20,20,-22,22,-13,-13,26,-17,17,-30,30,17.2,4.2,-24,24,44.2,23.2,-7,7,-42,4,38,-29,29,53.2,89.2,53.2,27.2,4,-4,-36,36,-15,15,-30,-1,31,-27,27,83.2,-16,16,93.2,36.2,57.2,55.2,-5,5,-31,-2,33,4,-4,-6,6,-28,28,-44,44,59.2,105.2,25.2,40.2,-39,36,3,93.2,123.2,15.2,-38,38,8.2,93.2,69.4,-18,11,7,91.2,51.2,17.2,-34,34,-5,5,44.2,-7,7,-3,3,-36,-6,42,15.2,135.2,190.2,95.2,25.2,61.2,181.2,57.2,-17,4,13,-5,5,-7,7,99.2,97.4,-5,5,-9,9,67.2,-11,-17,28,74.2,127.2,-7,7,-5,5,175.2,34.2,4,-4,-4,4,-23,-18,41,6,-6,106.2,-25,25,-10,10,61.2,169.2,93.2,6,-6,-3,-21,180.3,87.2,-6,6,57.2,222.2,48.2,-3,3,5,-5,-21,-21,42,36.2,-5,5,30.2,101.2,129.2,57.2,-2,2,86.2,-25,-6,31,28.2,-8,8,220.4,59.2,25.2,50.2,122.2,-30,20,10,28.2,123.2,-6,6,245.2,-14,14,207.2,12.2,-4,4,-7,-19,26,106.2,-2,2,55.2,34.2,63.4,230.2,133.2,-26,-13,39,49.2,-5,5,47.2,38.2,76.2,25.2,211.2,-3,3,-37,2,35,-6,6,182.2,76.2,-5,5,72.2,34.2,137.2,8.2,-30,4,26,114.2,3,-3,186.2,-12,12,4.2,76.2,7,-7,371.3,-29,42,114.2,36.2,224.4,-7,7,6,-6,12.2,90.2,-23,-19,42,-7,-7.2,-7,31.2,20.2,39.2,4.2,-6,6,30.2,-31,5,26,86.2,9.2,86.2,69.2,39.2,66.2,8.2,218.2,-38}, + {144,-1,1,2.1,4.1,8.1,2.1,0,19.1,38.1,76.1,152.1,171.071}, + {143,1,0,2,0,2,4.1,8.1,0,2,82,19.1,19.81,48,7.5,63.4,1,6.3,4.1,1,20,13.11,27.7,15,30.01,44.8,17,9.5,55.11,0,1.2,16.51,18.1,18.4,14.21,6.5,33.21,149.7,36.71,56.91,18.1,36.1,72.1,90.1}, + {161,.73,4,.81,2.1,4.1,8.1,16.1,14.1}, nil, - 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}}} + {1942,1.2,-1801,1802,1.4,-1806,1807,1.4,-1811,1812,1.5,-1817,1818,1.4,-1822,1823,1.4,-1827,1828,1.5,-1833,1834,1.4,-1838,1839,1.4,-1843,1844,1.5,-1849,1850,1.4,-1854,1855,1.4,-1859,1860,1.5,-1865,1866,1.4,-1870,1871,1.4,-1875,1876,1.5,-1881,1882,1.4,-1886,1887,1.4,-1891,1892,1.5,-1897,1898,1.4,-1902,1903,1.4,-1907,1908,1.5,-1913,1914,1.4,-1918,1919,1.4,-1923,1924,1.5,-1929,1930,1.4,-1934,1935,1.4,-1939,1940,1.5,-1945,1946,1.4,-1950,1951,1.4,-1955,1956,1.5,-1961,1962,1.4,-1966,1967,1.4,-1971,1972,1.5,-1977,1978,1.4,-1982,1983,1.4,-1987,1988,1.5,-1993,1994,1.4,-1998,1999,1.4,-2003,2004,1.5,-2009,2010,1.4,-2014,2015,1.4,-2019,2020,1.5,-2025,2026,1.4,-2030,2031,1.4,-2035,2036,1.5,-2041,2042,1.4,-2046,2047,1.4,-2051,2052,1.5,-2057,2058,1.4,-2062,2063,1.4,-2067,2068,1.5,-2073,2074,1.4,-2078,2079,1.4,-2083,2084,1.5,-2089,2090,1.4,-2094,2095,1.4,-2099,2100,1.5,-2105,2106,1.4,-2110,2111,1.4,-2115,2116,1.5,-2121,2122,1.4,-2126,2127,1.4,-2131,2132,1.5,-2137,2138,1.4,-2142,2143,1.4,-2147,2148,1.5,-2153,2154,1.4,-2158,2159,1.4,-2163,2164,1.5,-2169,2170,1.4,-2174,2175,1.4,-2179,2180,1.5,-2185,2186,1.4,-2190,2191,1.4,-2195,2196,1.2}, + {698,5,-152,-3,150,-148,147,-145,146,0,5,-148,144,-146,146,-148,-1,4,-5,149,2,-152,153,1,-4,6,-6,7,1.3,.2,-5,5,2.1,5.1,10.1,5.1,7,-7,-5,10,-10,5,3,-3,-5,14,-14,5,8,-8,12.4,1,-1,-5,12,-12,-5.2,-5,-5,8,-8,17.4,7,-7,29.4,23.2,17.3,13,-13,5,-159,159,-5,-152,152,5,-158,158,-5,-155,155,17.2,-156,157,5,-6,2,-2,-155,145,17,-7,6,-6,-154,159,-14,9,8,-8,-153,156,-13,10,-160,160,-156,165,-4}, + {768,0,1,-626,627,0,1,0,1,-629,630,6.3,11,-642,643,0,1.2,0,1,-646,647,18.4,-649,650,6.4,-652,653,18.4,-656,657,12.3,981,-1639,1640,18.4,-1642,1643,18.2,.2,-1645,1646,11.4,-1648,1649,6.4,-1651,1653,0,2,-3,0,2,-1654,1655,13.4,-1657,1658,6.4,-1660,1661,0,1,.3,-1662,1664,0,-1,0,2,-1665,6.2,17.3,-1666,1665,0,2,-1,0,1,-1667,1669,19.3,3,-1671,1670,19.3,2,-1673,1672,0,2,.2,1,-1675,1676,18.4,-1678,1677,18.4,-1680,1679,37.5,-1681,1683,19.4,-1685,6.2,1,0,3,-1687,1686,0,2,-5,0,5,-1688,1690,19.3,4,-1693,1691,19.4,-1695,1694,0,2,-2,0,1,-1695,1698,38.4,-1700,1699,94.4,-1701,1701,130.5,-1702,1705,19.4,-1707,1706,19.4,-1708,1708,0,3,38.3,-1710,1713,57.4,-1716,1714,0,2,0,1,-1717,1717,0,2,-4,0,3,-1718,1721,19.4,-1724,1722,19.4,-1725,1725,19.5,-1726,1729,57.4,-1731,1730,57.4,-1732,1732,57.5,-1734,1737,19.4,-1739,1738,19.4,-1740,1740,114.5,-1741,1744,19.4,-1746,1745,19.4,-1747,1747,19.5,-1748,1751,19.4,-1753,1752,19.4,-1754,1754,19.5,-1755,1758,19.4,-1760,1759,19.4,-1761,1761,0,1,-8,0,4,-1758,1765,19.3,5,-1769,1767,114.4,-1770,1770,19.4,3,-1766,1772,0,-6,0,8,-1774,1766,19.3,6,-1774,1771,0,7,-5,0,2,-1775,1779,0,-4,0,5,-1780,1775,57.3,4,-1780,1778,0,6,-7,0,4,-1781,1785,19.3,6,-1787,1781,19.3,5,-1787,1784,19.4,3,-1786,1792,57.3,7,-1793,1786,57.3,5,-1793,1790,0,5,-6,0,2,-1791,1796,0,-5,0,6,-1797,1791,0,3,0,3,-1797,1795,4.2}, + {{{1},{802,1.973,-18,1.81,2.1,4.1,2.1}}}, + {144,2,-2,1,-1,4.2,6.1,6.1,0,19.1,38.1,76.1,152.1,171.071}, + {146,-3,3,2.1,4.1,8.1,2.1,0,19.1,38.1,76.1,152.1,171.071}, + {{{1},{243,.2,104,65,-169,104,151,-151,0,-104,9.2,1,-105,105,-1,0,5.2,241,-137,1,-1,151,-148,-2,-1,.2,162,-11,-151,152,-1,3.2,-152,151,-255,170,-66,.2,2002,-1826,-176,163,-12,-255,104,-104,237,31,-164,.4,-104,7.2,104,161,-33,-128,.3,8.4,0,141,-141,8.5,162,-25,15,-152,.2,9.4,153,-12,17.6,8.1,153,-20,-133,8.6,-25,49.6,153,-16,-137,32.1,32.71,428,-428,-104,520,-263,278,-431,.2,413,2,-10,-509,17.2,267,-353,-67,409,-5,27,-431,409,-409,153,282,-368,-67,0,436,-1,-435,-104,521,-264,280,-366,352,1610,-1611,15,-433,407,-407,153,255,-341,20.2,411},{-2.9,3,-2.8,2.1,4.1,8.1,16.1,16.1}},{{2},{347,151,-151,151,1844,-1866,1869,-1856,9,12,-162,-1,0,66,.2,1933,-1934,1935,-1837,-162,151,9,-95,87,-86,1934,-1935,0,86,23,-1,-39,17,-85,-1,95,-94,1936,-1937,-67,1,161,12,-21,-153,175,-34,36,10,-187,2005,-1940,2,0,1,85,-87,73,1868,-2007,2007,-1942,3,-1,0,86,-87,78,1864,-2008,2008,-1943,3,85,-86,73,-74,87,1856,-2009,10.3,-1,0,144,-145,10.6,95,-96,30.2,87,1857,-2010,2010,-1945,10.6,1858,-2011,10.8,1859,-2012,2011,-1946,10.6,1861,-2014,2013,-1948,10.6,1862,-2015,2014,-1949,10.6,1864,-2017,2016,-1951,10.6,1867,-2020,2018,-1953,10.6,1868,-2021,2020,-1955,10.6,1866,-2019,2022,-1957,10.6,1873,-2026,2024,-1959,3,95,1861,-1871,10.2,1876,-2029,409,-344,3,95,1864,-1874,10.2,1878,-2031,20.2,350,-253,1865,10.3,1879,-1628,1621,-1960,3,96,1863,10.3,1880,-2033,2027,-1962,3,97,1863,-1875,20.3,-2032,2029,-1964,354,-256,1867,-1877,10.2,1881},{-2.9,3,-2.8,2.1,4.1,8.1,16.1,16.1}},{{3},{481,4,-72,0,96,1833,-1930,1932,-1931,86,1844,-1929,1931,0,-1836,1837,-1934,110,-109,86,1849,-1791,-77,1868,-1837,-23,-4,14,0,22,-21,-153,2003,-1841,-161,161,-95,110,-25,11,-96,85,-18,1870,-1870,20,0,-2,2,-87,0,86,-149,2002,-1854,1,-23,21,1.2,-86,9.2,149,-152,2007,-1874,17,2,0,10.4,-24,1880,-1856,-2,-21,23,20.6,0,-1857,-15,17,10.4,23,1834,-1879,20,-11,13,10.4,21,1836,-1848,-11,60,-58,10.4,22,1836,-1849,10.7,23,1836,-1850,10.7,24,1836,-1851,10.7,21,1840,-1852,40.8,1842,-1855,40.8,1843,-1857,40.8,1844,-1859,40.8,1849,-1861,40.8,-108,95,10.9,340,13,-9,-258,50.5,-109,364,-280,20.5,412,-242,-107,366,-282,279,-277,43,-43,60.3,-110,368,-284,20.2,260,-260,40.4,371,-287,-83,85},{-2.9,3,-2.8,2.1,4.1,8.1,16.1,16.1}}}, + {{{1},{1182,1.991,-9,1.9,2.1,4.1,2.1},{-2.9,3,-2.8,2.1,4.1,8.1,16.1,16.1}},{{2},{1382,1.991,-9,1.9,2.1,4.1,2.1},{-2.9,3,-2.8,2.1,4.1,8.1,16.1,16.1}},{{3},{1582,1.991,-9,1.9,2.1,4.1,2.1},{-2.9,3,-2.8,2.1,4.1,8.1,16.1,16.1}}} }, __refPoss = { nil, @@ -80,7 +80,7 @@ __refPoss = { nil, nil, nil, - {2,4,2.1,2,4,3,6.1,12.11}, + {2,4,2.1,2,4,3,6.1,12.1,24.1,48.1,54.35}, nil, nil, nil, diff --git a/luafight/Modules/Battle/Config/Data/HardStageCondition.lua b/luafight/Modules/Battle/Config/Data/HardStageCondition.lua index ebf056a66..4f02a1dd4 100644 --- a/luafight/Modules/Battle/Config/Data/HardStageCondition.lua +++ b/luafight/Modules/Battle/Config/Data/HardStageCondition.lua @@ -1,8 +1,8 @@ local HardStageCondition = { -__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万伤害'}, +__count = 506, +__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,12897,1.71,983,1.11,989,1.81,982,1.53,112965,1.91,981,2.1,1.91,4981,1.91,44862985,1.3,-2.6,10,20,30,20,-50.6,-100.232}, +__values = {0,1.02,49980,-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,-1000000.232}, +__exVals = {506,'通过关卡','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个人','不上阵输出神将通过关卡','不上阵辅助神将通过关卡','不上阵肉盾神将通过关卡','不上阵控制神将通过关卡','不上阵人系神将通过关卡','不上阵佛系神将通过关卡','不上阵妖系神将通过关卡','不上阵道系神将通过关卡','佩戴舍身济世魂印通过关卡','佩戴辟邪守护魂印通过关卡','佩戴破军魂印通过关卡','佩戴妲己魂印通过关卡','佩戴猪八戒魂印通过关卡','佩戴精卫魂印通过关卡','佩戴百花仙子魂印通过关卡','佩戴唐僧魂印通过关卡','佩戴孙悟空魂印通过关卡','佩戴降龙罗汉魂印通过关卡','佩戴孔雀明王魂印通过关卡','佩戴燃灯魂印通过关卡','佩戴月光菩萨魂印通过关卡','佩戴女儿国王魂印通过关卡','佩戴九命猫魂印通过关卡','佩戴娥皇魂印通过关卡','佩戴冥毒邪宴魂印通过关卡','佩戴太阴星君魂印通过关卡','佩戴通天教主魂印通过关卡','佩戴罗刹魂印通过关卡','佩戴夜叉魂印通过关卡','佩戴瘟癀疫病魂印通过关卡','佩戴蚀骨火毒魂印通过关卡','佩戴神女庇佑魂印通过关卡','佩戴姑获鸟魂印通过关卡','佩戴敖丙魂印通过关卡','佩戴义结金兰魂印通过关卡','佩戴青鸟传信魂印通过关卡','佩戴火烧连城魂印通过关卡','佩戴破邪怒斩魂印通过关卡','佩戴狂噬戮兽魂印通过关卡','佩戴哪吒魂印通过关卡','佩戴失心暴怒魂印通过关卡','佩戴起死回生魂印通过关卡','佩戴破阵穿心魂印通过关卡','佩戴饕餮吞鲸魂印通过关卡','佩戴羲农之佑魂印通过关卡','佩戴除妖斩魔魂印通过关卡','佩戴历战之躯魂印通过关卡','不使用灵兽通过关卡','全部上阵输出职业神将通过关卡','全部上阵辅助职业神将通过关卡','全部上阵肉盾职业神将通过关卡','全部上阵控制职业神将通过关卡','持续伤害击杀1个人','持续伤害击杀2个人','持续伤害击杀3个人','持续伤害击杀4个人','持续伤害击杀5个人','持续伤害击杀6个人','灼烧击杀1个人','灼烧击杀2个人','灼烧击杀3个人','灼烧击杀4个人','灼烧击杀5个人','灼烧击杀6个人','中毒击杀1个人','中毒击杀2个人','中毒击杀3个人','中毒击杀4个人','中毒击杀5个人','中毒击杀6个人','追击击杀1个敌人','追击击杀2个敌人','追击击杀3个敌人','追击击杀4个敌人','追击击杀5个敌人','追击击杀6个敌人','追击击杀1号位敌人','追击击杀2号位敌人','追击击杀3号位敌人','追击击杀4号位敌人','追击击杀5号位敌人','追击击杀6号位敌人','回复血量2次','回复血量3次','回复血量4次','回复血量5次','回复血量6次','回复血量7次','回复血量8次','回复血量9次','回复血量10次','回复血量11次','回复血量12次','回复血量13次','回复血量14次','回复血量15次','回复血量16次','回复血量17次','回复血量18次','回复血量19次','回复血量20次','第1个击杀敌方1号位','第1个击杀敌方2号位','第1个击杀敌方3号位','第1个击杀敌方4号位','第1个击杀敌方5号位','第1个击杀敌方6号位','第2个击杀敌方1号位','第2个击杀敌方2号位','第2个击杀敌方3号位','第2个击杀敌方4号位','第2个击杀敌方5号位','第2个击杀敌方6号位','第3个击杀敌方1号位','第3个击杀敌方2号位','第3个击杀敌方3号位','第3个击杀敌方4号位','第3个击杀敌方5号位','第3个击杀敌方6号位','第4个击杀敌方1号位','第4个击杀敌方2号位','第4个击杀敌方3号位','第4个击杀敌方4号位','第4个击杀敌方5号位','第4个击杀敌方6号位','第5个击杀敌方1号位','第5个击杀敌方2号位','第5个击杀敌方3号位','第5个击杀敌方4号位','第5个击杀敌方5号位','第5个击杀敌方6号位','最后击杀敌方1号位','最后击杀敌方2号位','最后击杀敌方3号位','最后击杀敌方4号位','最后击杀敌方5号位','最后击杀敌方6号位','控制目标1次','控制目标2次','控制目标3次','控制目标4次','控制目标5次','控制目标6次','控制目标7次','控制目标8次','控制目标9次','控制目标10次','控制目标11次','控制目标12次','控制目标13次','控制目标14次','控制目标15次','控制目标16次','控制目标17次','控制目标18次','控制目标19次','控制目标20次','眩晕目标1次','眩晕目标2次','眩晕目标3次','眩晕目标4次','眩晕目标5次','眩晕目标6次','眩晕目标7次','眩晕目标8次','眩晕目标9次','眩晕目标10次','眩晕目标11次','眩晕目标12次','眩晕目标13次','眩晕目标14次','眩晕目标15次','眩晕目标16次','眩晕目标17次','眩晕目标18次','眩晕目标19次','眩晕目标20次','沉默目标1次','沉默目标2次','沉默目标3次','沉默目标4次','沉默目标5次','沉默目标6次','沉默目标7次','沉默目标8次','沉默目标9次','沉默目标10次','沉默目标11次','沉默目标12次','沉默目标13次','沉默目标14次','沉默目标15次','沉默目标16次','沉默目标17次','沉默目标18次','沉默目标19次','沉默目标20次','麻痹目标1次','麻痹目标2次','麻痹目标3次','麻痹目标4次','麻痹目标5次','麻痹目标6次','麻痹目标7次','麻痹目标8次','麻痹目标9次','麻痹目标10次','麻痹目标11次','麻痹目标12次','麻痹目标13次','麻痹目标14次','麻痹目标15次','麻痹目标16次','麻痹目标17次','麻痹目标18次','麻痹目标19次','麻痹目标20次','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万伤害','5回合内造成500万伤害','5回合内造成600万伤害','5回合内造成700万伤害','5回合内造成800万伤害','5回合内造成900万伤害','5回合内造成1000万伤害','5回合内造成1100万伤害','5回合内造成1200万伤害','5回合内造成1300万伤害','5回合内造成1400万伤害','5回合内造成1500万伤害','5回合内造成1600万伤害','5回合内造成1700万伤害','5回合内造成1800万伤害','5回合内造成1900万伤害','5回合内造成2000万伤害','5回合内造成2100万伤害','5回合内造成2200万伤害','5回合内造成2300万伤害','5回合内造成2400万伤害','5回合内造成2500万伤害','5回合内造成2600万伤害','5回合内造成2700万伤害','5回合内造成2800万伤害','5回合内造成2900万伤害','5回合内造成3000万伤害','5回合内造成3100万伤害','5回合内造成3200万伤害','5回合内造成3300万伤害','5回合内造成3400万伤害','5回合内造成3500万伤害','5回合内造成3600万伤害','5回合内造成3700万伤害','5回合内造成3800万伤害','5回合内造成3900万伤害','5回合内造成4000万伤害','5回合内造成4100万伤害','5回合内造成4200万伤害','5回合内造成4300万伤害','5回合内造成4400万伤害','5回合内造成4500万伤害','5回合内造成4600万伤害','5回合内造成4700万伤害','5回合内造成4800万伤害','5回合内造成4900万伤害','5回合内造成5000万伤害','5回合内造成5100万伤害','5回合内造成5200万伤害','5回合内造成5300万伤害','5回合内造成5400万伤害','5回合内造成5500万伤害','5回合内造成5600万伤害','5回合内造成5700万伤害','5回合内造成5800万伤害','5回合内造成5900万伤害','5回合内造成6000万伤害','5回合内造成6100万伤害','5回合内造成6200万伤害','5回合内造成6300万伤害','5回合内造成6400万伤害','5回合内造成6500万伤害','5回合内造成6600万伤害','5回合内造成6700万伤害','5回合内造成6800万伤害','5回合内造成6900万伤害','5回合内造成7000万伤害','5回合内造成7100万伤害','5回合内造成7200万伤害','5回合内造成7300万伤害','5回合内造成7400万伤害','5回合内造成7500万伤害','5回合内造成7600万伤害','5回合内造成7700万伤害','5回合内造成7800万伤害','5回合内造成7900万伤害','5回合内造成8000万伤害','5回合内造成8100万伤害','5回合内造成8200万伤害','5回合内造成8300万伤害','5回合内造成8400万伤害','5回合内造成8500万伤害','5回合内造成8600万伤害','5回合内造成8700万伤害','5回合内造成8800万伤害','5回合内造成8900万伤害','5回合内造成9000万伤害','5回合内造成9100万伤害','5回合内造成9200万伤害','5回合内造成9300万伤害','5回合内造成9400万伤害','5回合内造成9500万伤害','5回合内造成9600万伤害','5回合内造成9700万伤害','5回合内造成9800万伤害','5回合内造成9900万伤害','5回合内造成10000万伤害','5回合内造成10100万伤害','5回合内造成10200万伤害','5回合内造成10300万伤害','5回合内造成10400万伤害','5回合内造成10500万伤害','5回合内造成10600万伤害','5回合内造成10700万伤害','5回合内造成10800万伤害','5回合内造成10900万伤害','5回合内造成11000万伤害','5回合内造成11100万伤害','5回合内造成11200万伤害','5回合内造成11300万伤害','5回合内造成11400万伤害','5回合内造成11500万伤害','5回合内造成11600万伤害','5回合内造成11700万伤害','5回合内造成11800万伤害','5回合内造成11900万伤害','5回合内造成12000万伤害','5回合内造成12100万伤害','5回合内造成12200万伤害','5回合内造成12300万伤害','5回合内造成12400万伤害','5回合内造成12500万伤害','5回合内造成12600万伤害','5回合内造成12700万伤害','5回合内造成12800万伤害','5回合内造成12900万伤害','5回合内造成13000万伤害','5回合内造成13100万伤害','5回合内造成13200万伤害','5回合内造成13300万伤害','5回合内造成13400万伤害','5回合内造成13500万伤害','5回合内造成13600万伤害','5回合内造成13700万伤害','5回合内造成13800万伤害','5回合内造成13900万伤害','5回合内造成14000万伤害','5回合内造成14100万伤害','5回合内造成14200万伤害','5回合内造成14300万伤害','5回合内造成14400万伤害','5回合内造成14500万伤害','5回合内造成14600万伤害','5回合内造成14700万伤害','5回合内造成14800万伤害','5回合内造成14900万伤害','5回合内造成15000万伤害','5回合内造成15100万伤害','5回合内造成15200万伤害','5回合内造成15300万伤害','5回合内造成15400万伤害','5回合内造成15500万伤害','5回合内造成15600万伤害','5回合内造成15700万伤害','5回合内造成15800万伤害','5回合内造成15900万伤害','5回合内造成16000万伤害','5回合内造成16100万伤害','5回合内造成16200万伤害','5回合内造成16300万伤害','5回合内造成16400万伤害','5回合内造成16500万伤害','5回合内造成16600万伤害','5回合内造成16700万伤害','5回合内造成16800万伤害','5回合内造成16900万伤害','5回合内造成17000万伤害','5回合内造成17100万伤害','5回合内造成17200万伤害','5回合内造成17300万伤害','5回合内造成17400万伤害','5回合内造成17500万伤害','5回合内造成17600万伤害','5回合内造成17700万伤害','5回合内造成17800万伤害','5回合内造成17900万伤害','5回合内造成18000万伤害','5回合内造成18100万伤害','5回合内造成18200万伤害','5回合内造成18300万伤害','5回合内造成18400万伤害','5回合内造成18500万伤害','5回合内造成18600万伤害','5回合内造成18700万伤害','5回合内造成18800万伤害','5回合内造成18900万伤害','5回合内造成19000万伤害','5回合内造成19100万伤害','5回合内造成19200万伤害','5回合内造成19300万伤害','5回合内造成19400万伤害','5回合内造成19500万伤害','5回合内造成19600万伤害','5回合内造成19700万伤害','5回合内造成19800万伤害','5回合内造成19900万伤害','5回合内造成20000万伤害','5回合内造成20100万伤害','5回合内造成20200万伤害','5回合内造成20300万伤害','5回合内造成20400万伤害','5回合内造成20500万伤害','5回合内造成20600万伤害','5回合内造成20700万伤害','5回合内造成20800万伤害','5回合内造成20900万伤害','5回合内造成21000万伤害','5回合内造成21100万伤害','5回合内造成21200万伤害','5回合内造成21300万伤害','5回合内造成21400万伤害','5回合内造成21500万伤害','5回合内造成21600万伤害','5回合内造成21700万伤害','5回合内造成21800万伤害','5回合内造成21900万伤害','5回合内造成22000万伤害','5回合内造成22100万伤害','5回合内造成22200万伤害','5回合内造成22300万伤害','5回合内造成22400万伤害','5回合内造成22500万伤害','5回合内造成22600万伤害','5回合内造成22700万伤害','5回合内造成22800万伤害','5回合内造成22900万伤害','5回合内造成23000万伤害','5回合内造成23100万伤害','5回合内造成23200万伤害','5回合内造成23300万伤害','5回合内造成23400万伤害','5回合内造成23500万伤害','5回合内造成23600万伤害'}, __fields = { 'Id', 'ConditionType', @@ -15,9 +15,9 @@ __defaults = { nil }, __refs = { - {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} + {2,1,.8,1,.4,2,.51,1,.5,1,.3,2.1,1,.83,1.2,.3,3,.71,1,.11,1,.81,1,.53,-4,.97,-9,.152}, + {{{1},{2,1.9,-9,1.4,-4,.3,1,2.1,4.3,-3,1.5,-4,2,-3,2,-2,1.3,69,-6,-1,-31,1.03,3,1.4,-72,-2.2,-3,2,-3,.5,1,2.1,.5,-1,1.5,-5,.5,1.91,-19,11.5,4.1,2.1,-6,.91,1,2.1,.91,5,.91,-2,.152}},{{2},{3,1.3,-3,2.1,4.3,-4,1.5,-5,2.1,4.1,8.1,4.1,1.91,-19,2.1,2.1,1.33,40,1.732},{1.51,17,1.75,19,1.5,7,1.81}}}, + {313,1.505} }, __refPoss = { nil, diff --git a/luafight/Modules/Battle/Config/Data/PassiveSkillLogicConfig.lua b/luafight/Modules/Battle/Config/Data/PassiveSkillLogicConfig.lua index 83ec7a8db..bd9fd2c9c 100644 --- a/luafight/Modules/Battle/Config/Data/PassiveSkillLogicConfig.lua +++ b/luafight/Modules/Battle/Config/Data/PassiveSkillLogicConfig.lua @@ -1,8 +1,8 @@ local PassiveSkillLogicConfig = { -__count = 2760, -__indexs = {1.7,94,1,899,1.42,8976,1.7,13,2.1,4.1,2.1,1.6,14,2.1,4.1,2.1,1.5,15,2.1,4.1,4.3,89695,1100,1.01,90,1.41,886,4.1,8.1,16.1,1.9,91,4.1,8.1,28.41,1.11,89,52.02,1.51,885,52.81,20.2,56.61,60.61,104.82,156.34,57786,1.2,99998,1.3,90097,100,1.4,96,1.5,95,1,9699,300,600,1.6,194,1,199,5.2,994,2.1,1.6,294,1.3,97,9.2,394,4600,1.8,9992,1.3,9997,1.2,298,9800,300,1,49699,33.2,1.6,94,1.2,98,1,99,6.2,58.2,1.11,1789,800,1.5,195,52.2,900,16.2,5500,200,1.51,85,1.4,196,400,1.01,190,1.3,197,1.4,596,1.01,990,2.1,1.01,290,33.2,600,1.01,390,4600,1.01,9990,1.9,9991,1.8,292,57.2,200,449400,1.27,-2.2,1.2,2,1.9,2,1.7,2,1,19,41.2,1.4,396,54.2,1.4,296,6.3,8.4,2.1,4.1,20.2,2.1,596,1.4,896,6.3,6585,-10.6,1,9,-10.3,1,9899,-10.9,1,9,5.2,11.3,-10.2,8.3,19899,13.5,-10.01,19900,15.7,59899,23.8,8.3,1,9,10,28.31,51.8,8.1,69899,78.6,-10.01,17.5,19.4,29899,25.6,9900,24.5,49899,74.11,54.5,105.3,26.6,18.2,1.2,8,72.8,14.2,114.7,478890,1.8,1031093,10,90,2.1,1,9,1.2,88,8.3,5.2,32.3,89,4.3,389,21.1,42.14,965289,1.42,999976,1.63,64,1.14,59,1.24,5000538,30,1.2,8,1.3,17,1,29,50,1,19,56160,1.5,995,2.1,4.1,8.1,16.51,18995,1.31,87,539.5,907785,1.9,999992,1.01,999989,1.12,28000103,200,-400.2,-200.2,300,-100.2,300,59908686,-10.5,11,1,8,10,4.2,9,1.3,9896,-10.8,236.4}, -__values = {0,1.23,2,1.91,2,1.2,3,2,1.3,2.1,2.1,3,12,1,7.3,1.51,2,1.9,-2.2,1.01,2,1.7,2,1.71,2,1,2,1.31,2,1.02,14.2,2,1.32,2,1.5,2,1,4,1.52,2,1.11,12.3,1.41,90,1.4,5,-10.2,60,11,5.4,200,100,60,40,1.52,75,100,150,50,-100.2,-200.3,-300.2,-200.2,-300.2,200,1.4,96,1,3,8,2,29,1,10,249,97,1,3,496,1.7,18,8,2,1,9,1,55,69.3,6,21.5,98,3,2,494,3600,401,1.7,3,-2.2,3,1.01,5,8,1.7,13,2.1,2.1,1.6,14,2.1,4.1,2.1,1.5,15,2.1,4.1,4.3,91801,3000,1000,10000,14000,2000,8000,6.2,255893,600084,8,50978,10000,350000,1,29,70.3,19959,11568931,1.7}, -__exVals = {72,.05,.1,.2,.5,.4,.08,.3,.15,.25,.12,.06,.6,nil,.8,.35,.16,.03,.04,.18,.14,.36,.32,.7,.24,.10,.09,.20,.30,.07,.02,.45,.13,.48,.01,.72,.75,.9,2.5,.95,.26,.64,.65,.55,3.2,3.6,.17,.34,.015,1.2,.21,.23,.29,1.6,.50,.40,1.75,.96,1.5,2.8,4.8,.11,2.1,2.4,2.7,4.5,2.9,4.3,5.4,.28,.42,.85,.075}, +__count = 2992, +__indexs = {1.7,94,1,899,1.42,8976,1.7,13,2.1,4.1,2.1,1.6,14,2.1,4.1,2.1,1.5,15,2.1,4.1,4.3,89695,1100,1.01,90,1.41,886,4.1,8.1,16.1,1.9,91,4.1,8.1,28.41,1.11,89,52.02,1.51,885,52.81,20.2,56.61,60.61,104.82,156.34,57786,1.2,99998,1.3,90097,100,1.4,96,1.5,95,1,9699,300,600,1.6,194,1,199,5.2,994,2.1,1.6,294,1.3,97,9.2,394,4600,1.8,9992,1.3,9997,1.2,298,9800,300,1,49699,33.2,1.6,94,1.2,98,1,99,6.2,58.2,1.11,1789,800,1.5,195,52.2,900,16.2,5500,200,1.51,85,1.4,196,400,1.01,190,1.3,197,1.4,596,1.01,990,2.1,1.01,290,33.2,600,1.01,390,4600,1.01,9990,1.9,9991,1.8,292,57.2,200,449400,1.27,-2.2,1.2,2,1.9,2,1.7,2,1,19,41.2,1.4,396,54.2,1.4,296,6.3,8.4,2.1,4.1,20.2,2.1,596,1.4,896,6.3,6585,-10.6,1,9,-10.3,1,9899,-10.9,1,9,5.2,11.3,-10.2,8.4,13.5,5.1,-10.01,9900,20.6,7.1,1,18898,1.05,5,1,30945,39.8,8.1,16.11,1,9,10,55.21,36.12,8.4,49899,94.3,36.4,-10.3,1.2,9898,128.6,-10.01,63.7,29.2,35.8,9,9890,52.41,47.5,57.2,21.8,-10.5,11,89.41,81.8,203.8,1.2,8,31.8,19.3,59.21,478890,1.31,1031088,10,90,2.1,1,9,1.2,88,8.3,5.2,38.3,89,4.3,389,21.1,42.14,965289,1.42,999976,1.63,64,1.14,59,1.24,5000538,30,1.2,8,1.3,17,1,29,50,1,19,56160,1.5,995,2.1,4.1,8.1,16.51,18995,1.31,87,625.5,907785,1.9,999992,1.01,999989,1.72,999973,1.5,27000119,200,-400.2,-200.2,300,-100.2,300,59908686,218.2,1,8,10,4.2,9,1.3,9896,-10.8,263.4}, +__values = {0,1.23,2,1.32,3,2,1.3,2.1,2.1,3,12,1,7.3,1.51,2,1.9,-2.2,1.01,2,1.7,2,1.71,2,1,2,1.31,2,1.02,14.2,32.2,2,1.5,2,1,4,1.83,10.6,23,51,1.4,5,-10.2,60,11,5.4,200,100,60,40,1.52,75,100,150,50,-100.2,-200.3,-300.2,-200.2,-300.2,200,1.4,96,1,3,8,2,29,1,10,249,97,1,3,496,1.7,18,8,2,1,9,1,55,70.3,6,21.5,98,3,2,494,3600,401,1.7,3,-2.2,3,1.01,5,8,1.7,13,2.1,2.1,1.6,14,2.1,4.1,2.1,1.5,15,2.1,4.1,4.3,91801,3000,1000,10000,16000,8000,5.2,56214,199679,600084,8,50978,10000,350000,1,29,70.3,19959,10000,11558931,1.7,999993,1.4,85999995}, +__exVals = {75,.05,.1,.2,.5,.08,.4,.3,.12,.15,.25,.6,.06,.8,nil,.35,.16,.03,.18,.04,.14,.24,.36,.7,.32,.09,.10,.07,.20,.30,.72,.02,.45,.48,.9,.64,.13,.01,.75,2.5,1.2,.95,.26,1.6,.55,.96,3.2,3.6,.17,.34,.33,.015,.21,.23,.29,.50,.40,1.75,1.5,2.8,4.8,.11,2.1,2.4,2.7,4.5,2.9,4.3,5.4,1.1,3.5,.28,.42,.65,.85,.075}, __fields = { 'Id', 'Type', @@ -21,19 +21,19 @@ __defaults = { nil }, __refs = { - {45,.2,5,1.2,-7,-6,8,.4,1,-1,.4,-23,15,8,.9,-8,6,0,-5,.93,-1,.6,-5,.6,-19,.31,9,.6,5,.5,-7,.5,22,.5,-27,.5,-2,.11,54,2,.5,142,-139,-3,1,3,-4,.3,140,-140,.51,6,-3,-3,7,-1,-6,.3,3,-3,.51,1,2,-3,10,27,-37,.3,4,-4,.51,12,-9,-3,3,10,-13,20.4,14,-11,-3,15,-1,-14,.3,2,-2,.51,16,-13,-3,0,16,-16,.3,17,-17,.51,15,-12,-3,9,-3,50.2,15,-15,10.4,18,-9,-9,.3,19,-19,.51,20,-17,-3,11,-11,.3,1,-1,.51,21,-18,-3,144,-144,.3,142,-142,.51,22,-19,-3,145,-145,.3,24,-24,.51,13,-10,67.2,-15,.3,106,-106,36.2,14,-34,142,-117,-25,.3,149,-149,.51,26,-23,19.2,-5,-10,.3,41.2,76.5,131,-140,.3,18,-18,.51,27,-24,-3,28,-26,1,-3,.3,27,-27,.51,29,-26,-3,0,30,-30,.02,3,0,-3,31,-28,17.2,134.3,10.3,106,-103,10.2,13,-13,104.4,1,145,-146,96.4,68,-65,-3,32,110,-142,.12,10,-7,-3,5,-5,74.4,190.3,22,-22,.3,71,-71,.51,28,-25,-3,79.2,.3,9,-9,.51,33,-30,9.4,167.3,68,-34,121.2,-107,-35,43.4,36,-32,-4,.3,38,-38,.51,39,-36,-3,40,-25,148.2,41,-41,.31,67,-67,42,-39,-3,43,-37,-6,.3,191,-191,.51,44,-41,-3,45,1,-43,-3,.3,44,-44,113.4,183.2,4.2,.3,70,-70,.51,47,-44,-3,48,21,-69,.3,47,-47,.51,53,-50,-3,142,-93,-49,.3,50,-50,182.4,51,-11,-40,.3,39,-39,74.5,9.2,73.2,.51,50,-47,230.4,147,-147,38.4,9.3,10,-10,127.4,9.3,33,-33,18.4,52,92,276.2,54,-54,.51,55,-52,-3,33,-15,147.2,55,-55,.51,24,-21,-3,18,-8,258.2,148,-148,.51,2,1,96.2,9,-57,.3,58,-58,.51,59,-56,-3,0,59,-59,.3,60,-60,.51,18,-15,-3,13,5,187.5,69.3,3,58,-61,318.4,116.3,1,17,216.5,62,-59,-3,63,-45,10.2,126.3,365.3,226.3,69.3,89.3,.5,46.6,28,-28,333.4,45.3,62,-62,9.4,278.3,64,1,-65,.3,66,-66,.9,-37,5,-2.2,-1,-8,5,0,-37,9,4,-4,4,29,.2,-26,.2,-8,3,21,-31,-1,25,-24,44,.3,-32,0,-6,28,-35,27,18,.3,-42,9,-5,38,0,1,-1,-15,-7,-4,26,.3,211.2,-1,3,-4,1,41,.3,-41,3,2,1,12,16,-1,-1,9,1,-27,1,25,1,-4,4,0,-4,-10,-31,0,36,1,.4,-38,70.4,2,0,16,3,2,-28,14,-3,4,1,21,.2,1,-25,14,0,8,.3,1,.2,-38,4,10,.2,7,0,1,0,5,.2,12,-3,-39,14,0,12,0,-11,27,.3,-24,24,0,-15,13,-11,24.2,116.2,-14,1,.2,14,25.2,.2,-28,0,24,1,14,-1,-39,2,-1,44,112.3,.4,-32,0,-13,0,7,4,-4,5,0,9,-21,28,17,.2,1,-1,.3,-45,12,-12,45,25.3,11.3,-15,-6,-5,26,18.4,143.2,37,-25,30,-43,-4,5,1,39,49.4,149.9,.2,1,-28,1.2,23,0,1.2,7.2,-4,3,4.2,.4,155.3,38,30,72,.2,-72,.3,73,1,31,37,-67,1,-76,0,72,5,-5,1,0,5,-6,-72,79,1.2,-81,79,3,1,-83,84,1,99,-98,1.2,-9,10,1.2,-6,7,1.5,8,-7,-98,99,1,-100,101,1.3,-32,0,-72,0,185,8,-108,-15,-35,-22,-1,-6,-6,194,-176,0,27,8,-11,43,-49,-9,5,59,-61,-21,-9,16,-2,45,-2,106,-102,-52,45,86,-140,194,-207,.4,2,.4,-1,.4,8,.4,-37,.4,34,.4,-3,.4,-4,.4,5,.4,-33,.4,27,.4,9,.2,-64,0,44,.2,-44,0,67,.2,-67,0,62,.2,-62,0,65,.2,-65,0,70,856.2,-105,-34,857.3,197,-201,.5,855.4,165,1.2,-174,.5,1,149,-147,-3,10,141,-114,122,-159,.5,843.4,173,-174,175,-189,.5,842.6,.5,15,137,-149,-3,18,138,-147,152,-161,.5,26,0,784.3,172,-177,141,-151,.5,27,170,-194,0,-3,28,170,-196,197,-199,.5,170,-167,-3,0,171,-171,.5,3,-3,2.1,106,63,-166,165,-168,.5,20,2,850.2,1,95,50,3,-149,.5,68,83,-148,-3,32,123,-13,-131,-11,.5,39,12,-48,714.3,152,-167,.3,712.7,180,-186,.5,44,120,-161,0,-3,165,-119,120,-166,.5,53,43,-93,689.2,2,-95,-49,.5,15,139,-151,-3,158,-118,122,-162,18.2,-38,536.2,52,-29,121,56,-200,.5,24,129,-150,-3,18,139,-147,115.3,640.4,142,-133,-57,.5,59,117,-173,639.3,117,-176,.5,33,-18,13,834.2,3,31,27,114,-175,57.2,148,-160,629.3,142,-160,.5,1,4,-2,-3,64,138,-137,139,1.7,-196,-39,0,-8,0,-18,-11,11,-11,17,-14,0,34,.3,-6,157.3,9,-33,739.2,33,21.1,42.14,-13,.42,177,0,1.2,2.1,3,2,-117,118,2,1.4,0,2,1.3,-152,.4,153,1.4,.3,2,1.2,-30,21.81,3,1,-25,6,21,-15,10,4,-31,27.21,1.2,-151,27.21,-25,2,50,-122,-1,1,8,107,-118,0,157,-170,3,-16,0,43,-57,.101,143,-140,-3,56,126,-4,1.2,-180,.3,10,167,-177,785.4,196,-41,-155,.3,194,-194,.9,-34,175,54,.5,-40,40,-195,.01,203,-203,.7,195,.3,-107,107,14,-209,16,84,-49,-50,56,-70,2,-1,-29,26,8,-11,8,-4,5,9,.5,181,-38,58.6,3,-183,.5,55.3,3,193,-4,-37}, - {{{1},{1,.2,3,537,-1,-536,0,3,-5,8,0,-8,11,-6,-1,-4,8,-5,-3,0,5,1,3,-6,3,7,-7,-2,-4,3,-3,-1,0,1,.7,2.1,4.1,2.1,5,.2,-2,0,-3,0,295,1,2,26,1.2,2,208,.2,-1,.2,8,-7,5.4,-536,.6,536,0,-8,.2,11,-546,0,-1,2.1,-1,535,0,5,0,-4,.3,6,0,-5,0,2,28.2,0,33.4,0,8,-470,-77,6,-6,11,-3,7,-14,545,-546,542,-541,-1,99.3,536,-540,5,6,-7,11,-15,5.1,7,4.2,0,4,525,6,-532,526,36,-576,26.3,538,-542,26.01,82.2,-3,7,529,-3,-535,-6,551,-551,150.4,0,25.01,14,-14,11,-4,8,-15,541,-536,533,-538,0,26.3,534,-538,26.01,11,-11,2.1,15,536,-10,-533,-8,559,-559,26.3,540,-544,26.31,-5,9,524,2,-528,-2,538,-549,78.51,129.3,-5,9,-15,536,-522,-13,541,-542,26.51,181.3,104.3,536,-531,-5,.2,25.81,-3,7,25.2,-536,538,-538,102.51,179.4,-6,532,179.2,152.4,49.21,8,-8,100.5,-528,534,99.4,-2,-2,254.51,125.3,-14,50.61,99.6,2,-2,1,538,-539,26.3,-3,-1,100.41,-15,561,-555,-5,-1,51.91,-4,8,356.2,-541,-5,540,-540,26.51,253.3,3,1,530,-4,-530,-11,544,-3,-541,27.3,550,-554,129.31,-6,10,129.3,-3,-11,79.4,9,-13,358.51,523,-2,254.2,230.5,358.21,181.5,26.2,181.2,26.5,281.02,544,-535,-9,26.51,182.4,522,4,-535,531,-537,103.4,7,-11,25.01,0,52.8,539,233.4,309.71,529,-8,-528,-8,51.4,537,-541,408.91,258.61,459.8,334.71,126.5,-536,5,-6,1,638.4,126.11,-6,-9,334.7,-4,-2,385.22,546,-546,540,-539,52.4,545,-549,281.31,530,-526,639.2,-534,-7,542,561.61,462.6,541,-527,-14,0,541,360.4,692.71,523,3,-536,334.2,3,27.61,615.52,156.5,541,590.2,639.42,457.2,716.61,26.8,549,25.4,535,-539,75.81,665.42,356.5,331.14,-15,545,-539,536,-542,50.12,551,-20,-532,-14,175.4,554,-558,50.41,-13,559,-555,199.5,713.61,479.2,-525,-11,24.4,533,-537,299.31,659.3,541,-530,2,-12,378.4,352.81,149.3,456.5,26.02,524,1043.5,350.02,539,-544,26.4,2,-6,301.51,-14,535,633.3,26.4,154.21,278.5,-6,527,278.81,77.5,534,-13,-531,0,-5,303.54,377.2,-5,177.61,24.4,539,-9,-539,538,-6,835.4,254.11,62,-77,565,-564,536,-368,-169,4,563,-24,-3,3,-3,-2,.2,-538,1.2,538,27,-265,238,0,7,-9,895.2,3,-2,538,0,-6,-529,531,7,-538,-6,5,-8,1,536,0,-531,7,-2,-6,533,1,-539,6,-3,1,-4,544,.2,-4,2,-2,-537,539,-542,10,-2,-5,539,-2,0,-2,-538,4,-4,0,4,7,-11,-2.2,7,529,-529,0,526,-239,242,0,-536,-4,1.4,534,0,9,-9,9,-10,0,-537,19,-10,538,-536,-10,546,-7,-540,1.2,9,538,-540,10,-20,.3,1.3,545,-5,-541,-2.2,535,18,-9,1,-541,10,-5,-11,540,-534,-1,1,2.1,533,-534,1.2,3,527,-536,7.2,-539,333,218,-10,10,-550,1.2,540,-542,1.2,-2,2.1,1.2,545,.3,-7,-1,0,1,2,-535,6,-2,3,-14,137.3,541,-7,3,0,-1,-4,-2.2,.2,5,-5,18.2,-9,136.3,5,-8,539,8,-547,84.2,3,-8,148.5,-536,4,6,-8,6,-5,152.3,540,7,-7,7,-10,-534,534,29,-27,10,-7,-535,-1,5,58.2,160.3,563,-19,0,115.2,3,-4,0,7,56.3,527,-537,1,-3,.2,8,9.3,1525.2,5.3,.4,526,-235,245,-5,-533,-9,11,-10,13,-6,-4,1,-4,541,3,-545,554,24,-564,1,-15,556,-545,-11,6,31.2,7,-9,537,-538,6,-4,-1,1,7,-7,0,515,-516,0,545,-545,0,12,542,-554,6,551,-557,0,442.2,554,-555,16,524,1,350.2,1161.2,547,-545,.3,-2,.2,170.2,1,-1,4,-4,.2,5.2,.2,2,557,-22,13,-550,0,4,535,12,-551,1,907.2,5,-6,547,-539,162.2,.4,1,-1,8,24,1,-572,.4,537,8,10,26,-43,.3,4,0,13,-4,3,5,4,34,1.2,-19,20,-51,.3,814.2,61.2,538,.2,-8,1,-2,6,319.3,2,-2,7,-546,1,2,538,6.2,-8,.2,-539,.3,548.6,550,-10,-541,568,-567,558,-559,613.5,561,-35,-527,526,-540,-1,3,-2,702.5,-5,1311.2,33.2,540,-549,-2,1656.5,560,-38,-529,-8,0,582,-580,13.4,-5,9,534,-12,-524,-2,-11,1244.4,637.3,6,555,-556,-5,.6,520.4,0,824.2,-5,0,-1,45.4,1424.4,96.2,-526,34.2,544,-543,-1,1411.5,542,7,-550,-3,0,-11,1370.6,-532,558,-550,-14,1,537,-539,1,974.6,0,561,-561,544,-5,-530,-5,-4,1220.5,-526,526,-531,1347.3,544,-544,27.7,220.2,571,-570,-1,0,817.3,526,-522,-15,537,-530,1169.3,0,777.6,0,537,0,-523,-14,.5,35.4,529.2,162.2,198.6,46.4,550,-1,-549,.3,11.4,1,550,-545,534,-3,562.2,-539,923.5,1,542,-539,-6,3,-3,148.2,13.4,525,24,-553,158.3,82.4,899.3,70.2,-526,2,-12,0,160.4,83.3,.2,564,-550,524,-535,-3,.2,210.6,542,22,-559,535,-540,6,978.3,-3,7,541,14,-19,-545,418.2,591.2,397.3,0,1,-1,537,509.2,.3,-2,565.2,542,-543,537,621.2,0,8,1,527,-517,533,-533,-14,-5,5,534,-534,21.1,42.14,267.2,667.4,573,-36,13,102.2,528,.2,1,13,0,-542,527,-6.2,-543,-2,-1,4,1,-8,-1,3,-1,-1,4.3,217.2,581,-583,35.6,-32,62,-593,35.4,6,0,1642.2,8,-11,-532,36.21,0,563,-565,546,-9,0,5,-2,-540,41.6,-35,1,797.2,41.2,1.2,0,-530,528,0,39.41,550,-551,536,6,0,-4,10,-549,2,14.2,.2,-1,551,-1,0,-11,18,-556,559,23,-581,261.4,993.3,267.6,12.1,1345.6,278.6,12.1,6.1,1022.5,11.1,5.1,39.6,11.1,415.5,522,8,727.2,7,-7,.3,1063.4,385.2,1189.51,539,-9,-545,5,1773.61,-16,1,-3.5,2,-17,6,-6,5,1.3,4,-4,69.2,4,0,528,-543,.7,4,-5.2,2,544,-551,-9,15,-15,572,-572,302,-301,542,4,-547,542,-3,-1,35,-572,548,-540,-9,66.5,527,9,0,-551,95.3,.4,13.5,541,-18,-538,1296.2,6,-11},{1924,1,4,1,4,4.1,1,421,1.42}},{{2},{1.3,536,1,-539,361,179,-2,-1,0,1,.4,-1,-472,476,-371,393,-2,3,-481,478,2,-2,2,-24,-456,207,-288,-1,302,27,-2.2,1.4,-35,4.1,8.1,4.3,2,1.3,6,9,3,-360,.31,538,48,-11,12,-30,-7,-10,-4,5,4,6,-13,0,-2,1,8,-2,-5,6,-541,.5,-2,.11,1,.5,46,212,281,-281,79,198,-536,5,532,-537,297,89,149,0,-536,536,.3,3.1,-536,260,20.3,204,-542,4,540,-247,19.3,-528,528,19.9,202,-540,0,-1,537,-537,298,21.2,.5,18.5,286,-286,18.4,10,526,18.4,39.21,206,-544,11,-1,526,-525,286,21.3,-535,535,60.11,41.2,5,-244,59.31,4,116.2,76.41,5,531,75.5,133.8,20.6,545,-543,290,74.61,133.2,-239,56.31,538,-535,533,17.3,56.21,131.2,93.2,19.4,3,-3,75.11,536,14,-550,228.4,-537,537,20.6,277,-277,248.3,536,-537,545,229.3,76.6,265.6,539,-545,2,296,18.11,226.3,550,-550,1,18.9,73.5,-1,5,532,5,3,284.4,95.31,-1,14,523,-533,294,266.11,135.6,0,532,1,-527,287,230.41,545,135.4,97.21,208.2,-529,228.4,1,-1,57.5,536,-276,39.71,362.6,3,533,2,-241,287.71,531,250.51,343.4,286.9,227.5,0,536,8,-6,56.4,95.7,553,-293,22.5,-1,545,-545,439.51,20.3,6,532,-538,385.51,-339,1,537,-527,526,20,-259,21.3,21,-21,215.11,2,-2,536,2,-537,277.3,0,-533,533,258.21,1,536,-529,-6,299.51,6,531,12,-251,601.41,432.3,-539,241.6,13,-13,489.31,-1,-550,510.71,-1,6,545,-551,21.21,63.5,548,-549,512.4,381.41,515.6,605.31,16.9,285,-285,220.3,116.2,241.6,2,-2,241.21,5,739.5,94.8,281.6,0,530.31,376.3,6,544,-12,376.71,10,540,20.5,78.8,627.01,131.9,16.4,-537,3,295,169.61,5,531,-536,873.21,230.8,666.5,21.31,3,209.51,330.3,-538,299,227.42,791.7,848.01,506.6,485.2,223.4,420.7,19,29,-47,32,305,-337,-1,1,-1,2,-2,1.2,846.2,6,1,-542,535,9.2,0,-1,117.2,0,11,-2,-8,541,-523,27,-42,533,-368,-168,10,-7,5,528,-528,-7,540,-542,4,42,-37,528,-537,.5,64,-64,537,-528,-5,42,-46,.3,540,-251,-120,367,-527,16.2,542,-533,528,-534,534,0,-534,535,0,-178,-23,.4,-336,71.4,4.2,535,-537,0,543,-542,-1,.2,543,0,-5,0,-538,9,5,-13,1.3,538,-542,537,7,-4,-2,12,-7,-3,4,0,-4,-500,-32,555,-3,2,-2,29,-29,30,-27,0,-563,562,0,-555,-7,0,1.2,541,.2,61.2,.2,-7,.5,3,0,-2,-538,552,-500,-45,542,324.2,519,-519,2.1,-10,0,-9,.3,11,533,-544,1.2,-2,2,548,-541,10,0,519,-509,53,-73,529,146.2,3,533,.2,25.2,31.3,-17,139.2,9,21.3,-529,73,-63,519,-538,.3,3,37,-37,-3,5,-5,134.2,0,529,55.4,73,-82,1,.2,546,-215,-43,247,-532,15,32.2,-538,539,-538,-1,4,8.3,-535,1,5.3,.4,-535,539,-6,-528,47,-53,539,148.3,34,-569,224.3,538,-538,26,-26,150,418,2,-25,1015.2,2,3,-5,2,0,-9,-538,591,-588,589,-592,543,-543,1.2,-1,549,-549,553,-12,-542,558,-556,6,69,183,277,19,-556,66.2,542,-539,535,-1,-538,0,9,529,-538,543,-531,527,-536,-3,538,-536,540,-538,-4,.4,596,-29,-24,-5,6,-2,8,-10,0,-1,3,.4,-541,.4,572,28,-22,23,1,-54,.2,-549,0,540,-1,8,.2,-544,.2,1,0,-4,.2,-1,6.2,.2,11,.2,527,4,-3,-239,237,-236,87,157,-544,-1,6,553,-558,0,299,11.3,193,-580,4,550,-555,300,9.3,149,389.4,-2,-543,536,-236,12.3,167,-554,11,-1,534,325.2,-240,23.5,10,534,-6,-239,241,-240,32.4,5,176.2,-539,538,-238,245,-244,64.3,536,9,-546,555,-555,543,-243,33.6,-10,1,1181.2,0,-1,300,37.6,4,540,-6,15,-254,11.3,68.2,4,532,-532,540,-7,-537,10,-11,25.6,543,-538,613.2,0,-2,301,106.6,541,-542,545,-537,-4,0,296,139.6,550,-544,553,-559,36.4,-388,962.3,534,12,-557,11.4,61.2,2,-3,1.2,543,-6,0,-539,154.6,282.2,155.2,-537,252,281,71.4,1018.4,.2,300,243,-242,35.3,809.2,551,-551,11,94.2,144.5,486.3,144.2,537,-237,94.6,6,531,16,-15,179.6,538,-528,527,11,-7,-242,142.6,540,-545,545,-542,-4,301,23.5,5,539,49.2,56.6,.2,55.2,-554,76,462,1,3,-156,-44,-343,542,-542,113.2,5,-4,4,1,-5,1,-2,-1,1,-537,536,343.2,21.1,42.14,543,0,-542,1.2,8,532,-543,546,-3,2,0,-544,539,-529,-11,551,255.2,.4,7,-15,-526,532,9,.3,-547,538,-532,527,0,-537,28.2,587.2,561,-17,7,0,-550,546,-536,-11,559,-546,541,.4,-18,7,-532,533,-8,.3,8,-533,-7,0,-4,544,0,500.2,8,539,-550,543,7,-12,39.2,-1,225.2,556,-12,.4,-3,3,-533,539,-9,.3,9,-539,29.3,537,1.2,18,-19,19,-7,-550,.2,11,20,-19,0,527,-417,430,-430,210,221,-552,121,6.3,209,-540,6.4,12.1,12.6,204,-535,12.1,12.7,431,-431,12.1,12.4,6.3,36.9,12.11,259,1148.5,8,-9,360.2,1169.4,9,-9,1169.11,0,-1,551,-552,5,1605.4,-532,532,22.5,77,-77,.5,4,-4,546,-5,5,7,-7,4.2,1011.2,-338,-1,521,15,2,6,.2,-4,-1,450.2,.3,3,-3,3,166,-169,1,-1,11,546,-18,694.2,584,-37,-247,500.5,8,-9,538,-527,-11,301,242,454.2,11.2,0,-1,272.2,-7,608,-603},{5,77,1.6,65,4,22,3,1,25,6,21,25,23,4,5,17,3.1,3,23,25,3,5,20,22,3,2.1,26,1,5,17,9,17,3,7,46,32,24.3,21,23,8,42,20.3,5,20,24,4,-26.2,25,27,7,20,26,23,54,25,45.3,5,56.2,1,2.1,5,20,23,70.4,5,17,26,4,26,36.3,25,24.3,17,8,20,1,16,2,3,16,63,35,1.2,20,10,22,85,5,15,2,12,14,4,-3.2,1,3,1.2,4,3,4,1,5,8,-2.2,9.2,5,2,4,-2.2,12,1.4,6,1.4,39,1,4,1,4,4.1,1,7,5,8,3,2,1,8,3,13,1,9,4,7,4,14,2,8,5,35,6,14,13,1,11,26,1,8,14,5,12,2,11,9,5,8,1.2,13,1,4,12,1.7,2,18,2,21,2.1,4.3,6,1.42,9,10,1,26,3.2,17,3,1,-10.2,1,16,3,1,13,110,2,88.2,39,37,1,5,3,2,10,6,1.3}},{{3},{2,1,-1,0,1,0,4.3,-1,.9,3.2,537,6,-5,6,-2,8,-11,-2,7.6,26,-13,1,-7,-5,0,2,12.5,4,6.1,6.5,-501,-38,.6,1,-1,.3,-1,2,-1,59.4,5.3,.5,3.2,.7,8.4,13.5,.2,27.3,3.2,.4,16.9,26.5,15.01,31.3,8.3,2,-1,3.2,-2,39.3,52.31,5.1,18.7,.9,544,-544,13.1,65.01,.8,78.51,109.31,.41,537,-536,149.12,.7,4,-3,93.11,54.4,17.3,55.01,97.31,84.5,.2,140.21,207.51,87.01,100.3,26.3,42.01,156.3,102.41,536,-535,36.2,3,-2,18.8,5.3,313.4,174.01,376.3,11.7,.31,544,-543,11.9,66.41,-531,-5,3,-3,.3,68.01,62.3,3.1,71.3,144.8,187.2,70.3,.3,74.01,.6,11.5,101.01,164.3,540,-539,18.4,577,-576,196.01,496.5,36.01,.51,253.41,0,-1,539,-539,82.11,214.3,22.3,556,-555,63.9,556,-556,115.41,53.7,293.31,119.3,208.12,93.6,539,-538,123.22,543,-542,477.41,13.3,.4,324.3,184.11,31.01,98.3,263.01,13.3,47.6,117.8,538,-537,54.9,547,-547,1,587,-588,192.11,145.01,125.01,165.51,-1,566,-566,670.61,.4,82.01,0,7,535,.4,2,.2,-535,.2,-6,-2,-1,21.2,.2,32.2,542,0,-6,2,-538,.2,1,6,531,8,-546,49.7,543,.2,24,-31,3,-536,533,653.2,.2,537,5,-4,0,57.4,1,63,-63,0,535,-536,1,538,.6,-532,532,-2,-532,537,-4,-537,.3,6,532,-520,19,-24,-14,536,-529,.4,-7,.3,19,-19,0,540,.2,-529,.2,536,-540,.8,-7,1,-1,542,-542,68.3,71.6,539,0,1,0,-3,-536,546,-8,0,-530,533,-542,133.3,3.2,17.2,29,-568,112.3,149.7,16.3,.2,29,-28,-534,529,2,-2,33,-569,49.6,538,4,.2,-541,26.6,81,-82,4.2,314.2,-537,.91,2,-2,26.3,.2,6,-3,-3,0,558,-558,.6,3,6.2,1.2,-2,0,593,-593,5,-5,0,549,-549,.2,594,-15,1,15,-590,6,.4,529,-1,8,24,1,-570,.4,-2,.4,1,572,-571,.2,-3,.2,10,.2,530,.2,-539,678.6,104.5,8.3,144.6,947.4,3.2,566.7,630.3,577.4,4,1,-4,585.6,.2,5,-5,501.4,666.5,0,801.6,764.4,0,543,-543,.6,42.4,439.3,1010.5,416.3,540,-540,14.3,521.7,133.2,449.4,687.6,6.2,161.2,513.4,13,423.2,82.3,41.3,73.4,7.3,.2,1,3,-1,-3,856.6,204.3,3,0,-3,1,.3,23.2,537,-537,2.1,12.1,24.32,-532,-1,534,77.3,-538,0,4,1,538,341.3,-2,.5,546,-546,7,1,6,-8,-6,11,-10,4,440.2,94.3,20.2,4,1,539,-543,8.2,.6,561,-561,24.4,5,-10,45.3,4,-1,535,5,0,-5,-539,26.3,545,-549,0,-1,.5,545,-545,26.9,490.2,397.3,0,2,95.3,-5,.01,1,-1,3.1,.13,6.5,163.3,6.3,.61,785.4,7,-6,681.11,544,-545,653.01,0,4,.5,536,-536,1153.5,.4,550,-549,.7,3,.4,-4,0,302,236,-527,529,-537,-3,2,-2,229.3,584,-574,-11,.5,1,.2,553},{1.8,12,1,11,1.65,15,1.81,32,3,1,22,3.1,3,1,5,17,4,25,6,4.2,7.3,3.2,3,23,8,4.2,5,20,22,3,24.4,20,27.3,9,17,3,1,29.3,25,32,8.3,5,21,23,3,5,17,25,28.3,5,20,24,4,26,20,6,34.3,26,7,4.2,25,23,54,5,20,60.3,5,21,25,1,2.1,69.4,74.4,88.4,70.3,26,46.3,25,28.3,17,89.3,1,16,1.2,2,1.3,14,12,2,2.1,21,1.2,4,1,7,3,1.5,12,1,8,1.9,2,1.6,11,8,1.2,21,1,23,20,2,19,13,1.2,6,1.5,15,2,10,1.4,4,8,4,3,1,2,44.2,1.6,4.2,8.3,3,7,12.3,3,2.1,-2.2,1,3.1,11,1.4,6,1.9,21,1.9,4,1.6,4,1,4.2,7,1,22.2,7,3,2,1,8.3,1.3,10,1,9,4,8.3,1,13,1.3,7,1,4,2,8,4,21,4,1.3,8,5,13,1,5,6,4.2,9,3,1,8,1,13,4,1.2,11,27.2,10.4,4,1,7,1.2,5,8,59.4,1,3,1.9,2,7.2,2,9,2,8,5.1,10.9,6,1.42,7.2,5,25.2,8,17,6.5,63.3,9,9.4,7,9.3,-2.2,25.2,109,1.4,5,18,3,17,1,33,139.2,2,3,2,1,2,10,6,86.2,82.2}},{{4},{14,-11,.6,1,.6,2,0,2,.2,2,-8,.71,38,-37,0,-2,1,6,-7,4,533,-535,2,-3,543,6,-11,1,-539,1,.2,-2,2,1,-2,1,-1,2,-2,9,.2,-6,.2,-3,2,-1,1,-2,0,12,-12,1.2,-2,4,-4,4,0,-3,0,11,0,-9,9,0,-7,-5,31.4,.2,1,.2,11,-5,-7,.2,2,0,7,40.3,-2,.5,2,.2,1,49,-41,64.2,-1,2.1,11,-11,0,11,.2,-12,1.3,4,-7,5,-1,-3,3,8,-8,-2,17.2,0,-8,8,.4,43.2,537,0,6,0,-7,2,-534,3,.3,533,.4,-538,.4,538,.4,-533,.2,-5,4,0,-6,6,-6,0,1,2,125.2,0,10,-5,9.3,0,2,-3,1,536,-534,-2,0,2,3.1,6.5,-1,0,5,-1,1,-4,0,3,0,-3,-1,.4,544,-543,582,-583,15.11,1,564,-19,-9,-535,-2,17.21,551,-15,6,-541,-2,11,-9,-2,3,538,-542,538,10,2,-549,.3,-1,585,-61,17,18,-9,-549,77,-76,3,536,-538,538,45,-586},{14,75,1.31,20,1.42,265,8,25,18,25,134,49,3,52,72,1,29,6,123,9,21,25,126,49,113,46,146,5,1.01,5,1,6,1,3,6,5,9,1.4,2,1,5,2,5,2,4,1.4,10,1.9,9,24,1.5,12,1.5,2,1.8,3,4,5,6,1.3,7,-5.2,2,3,4,8,5,1.9,4,6,2,5,4,10,1,4,1.5,60,7,1,8,7,2,15,1.5,26,1.41,26,1.2,31,61,1,19,2,22,3,8,13,4,1,10,15,2,27,11,13,10,19,26,2,34,10,8,2,13,3.1,6.5,30,87.2,7,2,1,10,-2.2,1.11,7.6,86.2,1,3,4.2,11.3,9,11.5,2,4,1.2,8,116,21,5,13,1.7,12,9,1.3,2,5,3,7,1.2,12,17}},{{5},{539,-532,0,2,.2,2,0,-4,6.5,-8,.5,3,8.4,-3,0,2,0,19.5,6.3,-6,-3,9,-8,8,-8,.2,8,0,528,-528,.3,-9,536,1,0,-537,537,0,-536,-1,19.3,.2,20,-21,530,-538,1,.2,537,-529,0,529,.3,-529,.3,-8,2,535,-538,536,2,0,-538,538,.4,-537,-1,0,3,1,.2,5,0,-5,3,-6,2,538,-535,532,-538,-1,.7,538,52.2,.2,4,539,-543,543,0,-543,.2,544,-544,5,0,533,38.2,.2,550,-550,33.3,541,-3,-538,19,.6,520,-520,.4,-10},{14,75,1.31,20,1.32,528,824,1.6,15,1,14,9,1.3,11,5,2,4,1.4,11,1.5,2,1,9,24,17,1.2,25,6,1,14,10,4,8,5,1.4,2,7,8,5,4,10,1,4,1.5,60,7,18,51,1.4,64,83,-25.2,26,2,38,42,80,2,21,2.1,4.3,30,1.4,30,1.7,30,1,2,1,56.2,29,6.3,5,4,2,8,155,64.2,12,75.2,2,16}},{{6},{3,-1,.6,1,.6,-1,.5,1,.5,-1,1,2.1,0,4.2,.3,6.2,535,-535,0,5.2,.5,1,25.2,544,-5,.4,-540,7.2,.7,7,1,-8,0,1,6,5.2,1,-1,0,11.3,6.3,2,523,15},{14,75,1.31,32,1.11,1353,2,18,1,14,28,2,4,2,1,13,2,5,9,68,6,1,14,10,4,8,18,13,4,10,5,1.4,68,69,1.4,64,199,122,2,21,2.1,4.3,30,1,33,1.4,33,1,2,1,4,1,32,6.3,11,182,30}},{{7},{3,-1,1,550,-551,.9,540,-539,8,-9,0,1,4.1,8,549},{1561,29,151,228,321,2,21,2.1,4.3,30,1,33,1.4,33,1,7,1,32,1,196}},{{8},{11,-5,5,-8,1,.7,6,514},{1561,29,151,228,321,2,21,2.1,4.3,64,275}},{{9},{2,558},{2425,275}},{{10},{526},{2700}},{{11},{560},{2700}},{{12},{528},{2700}},{{13},{538},{2700}},{{14},{530},{2700}},{{15},{545},{2700}},{{16},{531},{2700}},{{17},{544},{2700}},{{18},{532},{2700}},{{19},{552},{2700}},{{20},{533},{2700}},{{21},{607},{2700}},{{22},{534},{2700}},{{23},{580},{2700}},{{24},{535},{2700}},{{25},{579},{2700}},{{26},{536},{2700}},{{27},{608},{2700}},{{28},{537},{2700}}}, - {305,1.42,62,1.7,7,1.7,2,1.49,-328,.2,91,.3,75,1,.4,1,.5,1,0,2,1,-69,.6,70,0,1,-70,.6,1,2.1,.6,69,.2,-344,345,15.3,-69,.8,1,.3,1,.2,68,2,30.3,.5,23.3,.2,1,0,6.3,.9,1,.11,1.2,.5,1,.4,1.2,.2,1.3,.51,58.3,-87,.01,88,.3,7.2,-88,.01,1,2.1,.01,87,.2,-371,371,2.1,19.4,3.2,39.3,.8,86,1.3,3,.4,2,.4,4,.4,39.3,8.3,2.1,8.4,12.5,.2,2.1,4.1,2.1,-133,107,2,4,2,1.5,3}, - {79,.531,430,1.8,-438,.082,442,1,7,-10,1,0,-441}, - {2,.813}, - {2,.541,1,.4,-1,0,2,-1,4.2,1,.3,-1,3.1,6.4,17.9,1,-1,17.51,34.31,1,-2,34.23,0,14.8,34.52,119.81,16.1,32.1,98.05,34.81,4.2,184.71,.8,14.7,2,0,32.2,31.3,232.01,17.7,100.33,65.6,.5,212.17,78.21,209.82,3.2,.2,226.43,195.5,4.2,313.66,428.611,611.94,679.4,217.221,.182,1,.7,-1,.5,1,-1,2.1,2.1,.2,1,0,4.3,3.1,-1,.12,591.3,28.3,.13,7.2,.08,49.3,434.4,.2,57.7,.3,16.7,8.4,16.8,230.6,24.01,8.1,8.2,456.3,33.21,236.3,491.4,-2,44.12,100.4,542.6,108.4,60.5,9.6,8.1,16.01,133.61,24.7,0,215.3,9.2,.3,102.3,0,-2,10.4,51.21,.462,8.3,3.1,6.1,12.1,24.1,91.7,.4,148.3,301.8,315.61,.81,300.4,.7,-1,.22,99.7,.5,463.8,.2} + {45,.2,5,1.2,-7,-6,8,.4,1,-1,.4,-23,15,8,.9,-8,6,0,-5,.93,-1,.6,-5,.6,-19,.31,9,.6,5,.5,-7,.5,22,.5,-27,.5,-2,.11,55,2,.5,142,-139,-3,1,3,-4,.3,140,-140,.51,6,-3,-3,7,-1,-6,.3,3,-3,.51,1,2,-3,10,27,-37,.3,4,-4,.51,12,-9,-3,3,10,-13,20.4,14,-11,-3,15,-1,-14,.3,2,-2,.51,16,-13,-3,0,16,-16,.3,17,-17,.51,15,-12,-3,9,-3,50.2,15,-15,10.4,18,-9,-9,.3,19,-19,.51,20,-17,-3,11,-11,.3,1,-1,.51,21,-18,-3,144,-144,.3,142,-142,.51,22,-19,-3,145,-145,.3,24,-24,.51,13,-10,67.2,-15,.3,106,-106,36.2,14,-34,142,-117,-25,.3,149,-149,.51,26,-23,19.2,-5,-10,.3,41.2,76.5,131,-140,.3,18,-18,.51,27,-24,-3,28,-26,1,-3,.3,27,-27,.51,29,-26,-3,0,30,-30,.02,3,0,-3,31,-28,17.2,134.3,10.3,106,-103,10.2,13,-13,104.4,1,145,-146,96.4,68,-65,-3,32,110,-142,.12,10,-7,-3,5,-5,74.4,190.3,22,-22,.3,71,-71,.51,28,-25,-3,79.2,.3,9,-9,.51,33,-30,9.4,167.3,68,-34,121.2,-107,-35,43.4,36,-32,-4,.3,38,-38,.51,39,-36,-3,40,-25,148.2,41,-41,.31,67,-67,42,-39,-3,43,-37,-6,.3,192,-192,.51,44,-41,-3,45,1,-43,-3,.3,44,-44,113.4,183.2,4.2,.3,70,-70,.51,47,-44,-3,48,21,-69,.3,47,-47,.51,53,-50,-3,142,-93,-49,.3,50,-50,182.4,51,-11,-40,.3,39,-39,74.5,9.2,73.2,.51,50,-47,230.4,147,-147,38.4,9.3,10,-10,127.4,9.3,33,-33,18.4,52,92,276.2,54,-54,.51,55,-52,-3,33,-15,147.2,55,-55,.51,24,-21,-3,18,-8,258.2,148,-148,.51,2,1,96.2,9,-57,.3,58,-58,.51,59,-56,-3,0,59,-59,.3,60,-60,.51,18,-15,-3,13,5,187.5,69.3,3,58,-61,318.4,116.3,1,17,216.5,62,-59,-3,63,-45,10.2,126.3,365.3,226.3,69.3,89.3,.5,46.6,28,-28,333.4,45.3,62,-62,9.4,278.3,64,1,-65,.3,66,-66,.9,-38,5,-2.2,-1,-8,5,0,-37,9,4,-4,4,29,.2,-26,.2,-8,3,21,-31,-1,25,-24,44,.3,-32,0,-6,28,-35,27,18,.3,-42,9,-5,38,0,1,-1,-15,-7,-4,26,.3,211.2,-1,3,-4,1,41,.3,-41,3,2,1,12,16,-1,-1,9,1,-27,1,25,1,-4,4,0,-4,-10,-31,0,36,1,.4,-38,70.4,2,0,16,3,2,-28,14,-3,4,1,21,.2,1,-25,14,0,8,.3,1,.2,-38,4,10,.2,7,0,1,0,5,.2,12,-3,-39,14,0,12,0,-11,27,.3,-24,24,0,-15,13,-11,24.2,116.2,-14,1,.2,14,25.2,.2,-28,0,24,1,14,-1,-39,2,-1,44,112.3,.4,-32,0,-13,0,7,4,-4,5,0,9,-21,28,17,.2,1,-1,.3,-45,12,-12,45,25.3,11.3,-15,-6,-5,26,18.4,143.2,37,-25,30,-43,-4,5,1,39,49.4,149.9,.2,1,-28,1.2,23,0,1.2,7.2,-4,3,4.2,.4,155.3,38,31,72,.2,-72,.3,73,1,31,37,-67,1,-76,0,72,5,-5,1,0,5,-6,-72,79,1.2,-81,79,3,1,-83,84,1,100,-99,1.2,-9,10,1.2,-6,7,1.5,8,-7,-98,99,1,-100,101,1.3,-32,0,-72,0,186,8,-109,-15,-35,-22,-1,-6,-6,195,-177,0,27,8,-11,43,-49,-9,5,59,-61,-21,-9,16,-2,45,-2,106,-102,-52,45,86,-140,195,-208,.4,2,.4,-1,.4,8,245.2,.4,35,.4,-3,.4,-4,.4,5,.4,-34,.4,28,.4,9,.2,-65,0,44,.2,-44,0,68,.2,-68,0,63,.2,-63,0,66,.2,-66,0,71,856.2,-105,-34,857.3,198,-202,.5,855.4,165,1.2,-174,.5,1,149,-147,-3,10,141,-114,122,-159,.5,853.4,172,-162,158,-171,.5,852.4,174,-175,176,-190,.5,851.6,.5,15,58,-70,-3,9,174,-177,-6,9.2,137,-149,-3,18,138,-147,152,-88,193.14,82,8,-194,.5,20,-20,34,735.2,85,-202,-41,16,.5,26,0,856.3,173,-178,141,-151,74.2,141,-153,-3,9,46,85,76,-216,.5,27,171,-195,0,-3,28,171,-197,198,-200,.5,170,-167,-3,0,171,127.2,-3.2,-3,-3,31,-24,-4,172,-175,.5,3,-3,2.1,106,63,-166,165,-168,67.2,2,941.2,1,95,50,3,-149,.5,68,83,-148,-3,32,123,-13,-131,-11,.5,32,2,86.2,73,-180,-35,.5,10,18,848.2,823.2,-3,212,-213,.5,39,12,-48,823.3,152,-167,.3,821.7,181,-187,.5,44,120,-161,0,-3,165,-119,120,-166,.5,3,.2,-3,13,163,-173,215,-215,-3,.5,47,167,-211,-3,48,166,-145,-23,-46,.5,53,43,-93,818.2,2,-95,-49,.5,15,139,-151,-3,158,-118,122,-162,18.2,-38,665.2,52,-29,121,57,-201,.5,156,161.2,33,184,-199,142,-160,.5,24,129,-150,-3,18,139,-147,181.3,778.4,143,-134,-57,.5,59,118,-174,777.3,118,-177,.5,775.4,163,-158,5.2,.5,33,-18,13,133.2,3,31,27,115,-176,75.2,148,-160,776.3,56.3,62,-47,75.2,775.2,-17,-1,.5,1,4,-2,-3,64,139,-138,140,1.7,14,-211,210,-3,1.2,-249,0,-8,0,-18,-11,11,-11,17,-14,0,34,.3,-6,226.3,9,-33,899.2,33,21.1,42.14,-13,.42,178,0,1.2,2.1,3,2,-117,118,2,1.4,0,2,1.3,-153,.4,154,1.4,.3,2,1.2,-30,21.81,3,1,-25,6,21,-15,10,4,-31,27.21,1.2,-152,27.21,-25,2,50,-122,-1,1,8,107,-118,0,523.2,3,-16,0,43,-57,.101,143,-140,-3,56,127,-4,1.2,-181,.3,10,168,-178,945.4,197,-42,-155,.3,195,-195,.9,-35,176,55,.5,-41,41,-196,.01,204,-204,.7,196,.3,-108,108,14,-210,16,84,-49,-50,56,162,88.2,-68,20,31,-204,.4,-13,2,-1,-30,27,8,-12,9,-4,5,9,.5,182,-39,66.6,3,-184,.5,63.3,3,194,-4,-38}, + {{{1},{1,.2,3,562,-1,-561,0,3,-5,8,0,-8,11,-6,-1,-4,8,-5,-3,0,5,1,3,-6,3,7,-7,-2,-4,3,-3,-1,0,1,.7,2.1,4.1,2.1,5,.2,-2,0,-3,0,313,1,2,26,1.2,2,216,12.2,.2,7,-5,5.4,-560,.6,560,0,-7,.2,11,-571,0,-1,2.1,-1,11.2,4,0,-3,.3,7,0,-6,0,3,45.3,33.4,0,7,-493,-78,6,-6,11,-3,7,-14,571,-572,567,-566,-1,99.3,562,-566,5,6,-7,11,-15,5.1,7,4.2,0,4,551,6,-558,552,29,-595,26.3,563,-567,26.01,82.2,-3,7,555,-5,-559,-6,576,-576,150.4,0,25.01,14,-14,11,-4,8,-15,565,-560,558,-563,0,26.3,559,-563,26.01,11,-11,2.1,15,561,-11,-557,-8,581,-581,26.3,566,-570,26.31,-5,9,549,1,-552,-2,562,-573,78.51,129.3,-5,9,-15,561,-547,-13,566,-567,26.51,181.3,104.3,561,-556,-5,.2,25.81,-3,7,25.2,-561,563,-563,102.51,179.4,-6,556,179.2,152.4,49.21,8,-8,100.5,-553,559,99.4,-2,-2,254.51,125.3,-14,50.61,99.6,2,-2,1,563,-564,26.3,-3,-1,100.41,-15,585,-579,-5,-1,51.91,-4,8,356.2,-567,-5,566,-566,26.51,253.3,3,1,553,-3,-554,-11,570,-5,-565,27.3,574,-578,129.31,-6,10,129.3,-3,-11,79.4,9,-13,358.51,548,-2,254.2,230.5,358.21,181.5,26.2,181.2,26.5,281.02,570,-561,-9,26.51,182.4,547,3,-559,556,-562,103.4,7,-11,25.01,0,52.8,564,233.4,309.71,555,-9,-553,-8,51.4,561,-565,408.91,258.61,459.8,334.71,126.5,-561,5,-6,1,638.4,126.11,-6,-9,334.7,-4,-2,385.22,572,-572,566,-565,52.4,569,-573,281.31,554,-550,639.2,-558,-7,567,561.61,462.6,565,-551,-14,0,565,360.4,692.71,548,2,-560,334.2,2,27.61,615.52,156.5,565,590.2,639.42,457.2,716.61,26.8,573,25.4,560,-564,75.81,665.42,356.5,331.14,-15,568,-562,561,-567,50.12,577,-20,-558,-14,175.4,579,-583,50.41,-13,583,-579,199.5,713.61,479.2,-550,-11,24.4,558,-562,299.31,659.3,565,-554,2,-12,378.4,352.81,149.3,456.5,26.02,549,1043.5,350.02,565,-570,26.4,2,-6,301.51,-14,560,633.3,26.4,154.21,278.5,-6,552,278.81,77.5,558,-12,-556,0,-5,303.54,377.2,-5,177.61,24.4,563,-10,-562,564,-7,835.4,254.11,63,-78,591,-590,561,-392,-170,4,592,-27,-3,3,-3,-3,.2,-563,1.2,564,30,-276,246,0,5,-8,895.2,3,-2,564,0,-7,-554,557,5,-562,-6,5,-8,1,561,0,-556,7,-2,-6,558,1,-564,6,-3,1,-4,570,.2,-4,1,-1,-563,564,-567,10,-2,-5,564,-1,0,-3,-563,4,-4,0,4,7,-11,-2.2,7,555,-555,0,551,-246,250,0,-562,-4,1.4,559,0,8,-8,8,-9,10.2,19,-10,562,-560,-10,570,-5,-566,1.2,9,562,-564,10,-20,.3,1.3,569,-4,-566,-2.2,561,17,-10,2,-566,10,-5,-11,566,-560,-1,1,2.1,558,-559,1.2,3,553,-562,7.2,-564,351,225,-9,9,-575,1.2,565,-567,1.2,-2,2.1,1.2,569,.3,-5,-2,0,2,1,-560,6,-2,3,-14,137.3,565,-5,3,0,1563.3,1,.2,4,-4,19.2,-9,137.3,5,-8,564,7,-571,85.2,3,-8,149.5,-561,4,6,-8,6,-5,153.3,566,5,-5,5,-9,-559,559,30,-28,9,-6,93.2,5,59.2,161.3,589,-21,0,116.2,3,-4,0,7,56.3,552,104.2,-3,.2,8,9.3,1552.2,5.3,.4,551,-242,251,-4,-558,-9,11,-10,13,-6,-4,59.3,1,-568,578,26,-590,1,-15,582,-571,-11,6,564,-568,7,-9,562,-563,6,-4,-1,1,7,-7,0,533,-534,0,568,-568,0,12,566,-578,6,578,-584,0,443.2,578,-579,16,549,2,-561,1188.3,571,-569,.3,-2,.2,171.2,1,-1,4,-4,.2,5.2,.2,2,579,-19,13,-575,0,4,560,12,-576,1,1295.2,5,-6,571,-563,162.2,.4,2,-2,7,27,-4,-594,.4,562,6,12,28,-45,.3,4,0,13,-4,2,3,8,33,1.2,-17,18,-52,.3,815.2,61.2,562,.2,-7,2,-3,7,-3,0,262.3,5,-570,1,2,563,6.2,-7,.2,-564,.3,549.6,575,-11,-565,593,-592,580,-581,614.5,580,-30,-551,552,1734.2,3,-2,703.5,-6,1312.2,33.2,565,-574,-2,1683.6,562,-557,312.2,1,1668.4,1670.3,587,-40,-554,-8,0,609,-607,-2,1657.5,558,-11,-549,-2,-11,0,549.6,1,586,-573,-13,0,592,-593,664.6,6,579,-580,-5,.3,1,570,10,-580,581,47,-615,1,-15,590,-579,-11,6,524.2,7,-9,1524.2,237.8,-533,-1,1738.2,0,12,570,-582,6,589,-594,-1,.2,582,-583,16,-15,573,-568,1503.3,.4,1000.6,9,-7,239.3,564,-2,-562,612.5,0,916.2,-5,0,-1,110.2,1542.6,-1,1822.2,524.2,471.2,0,1530.6,-6,.2,-551,-11,0,570,-569,-1,1517.5,569,3,-573,-3,0,-11,1168.6,4,20,-582,-5,567,-4,180.2,1490.6,-557,581,-573,-14,1,537.2,1,94.6,0,585,-585,570,-6,-555,-5,-4,1340.5,-551,551,-556,1467.3,570,-570,1353.8,9,-8,-1,118.8,-4,-2,578,-14,176.2,51.6,1271.2,598,-597,-1,0,92.3,551,-547,269.2,-555,1313.3,244.4,921.3,0,562,0,-548,-14,.3,116.6,-1,0,-557,-5,0,432.2,562,-562,258.6,0,583,-578,-5,3,-3,.4,63.4,203.2,333.2,369.6,74.4,575,-2,-573,.3,11.4,1,575,-570,560,-4,809.2,-564,318.6,1373.3,.6,1104.4,1,565,776.2,3,-3,223.2,134.4,551,21,-576,370.3,119.4,1080.3,0,562,-551,2,-12,0,235.4,1419.7,1,561,338.2,13.5,.2,587,-573,549,-560,-3,.2,119.6,567,250.2,561,630.2,-6,479.6,-1,235.2,1330.2,578,-578,76.4,567,8,-14,-570,624.2,564,314.2,1349.2,1,0,-1,167.2,79.2,-562,5.2,5,.3,-2,566,-568,568,-569,562,833.2,0,8,1,552,-542,558,1252.2,-5,5,559,-559,21.1,42.14,359.2,879.4,600,-38,13,-565,0,553,.2,2,13,0,-568,552,7,5,-568,-2,-1,4,1,-8,-1,3,-1,-1,4.3,317.2,609,-611,36.6,-34,64,-620,36.4,6,0,-561,556,8,2268.2,36.21,0,589,-591,572,-10,0,5,-1,-566,41.6,-37,2,-555,41.4,-1,0,-554,553,357.2,40.31,575,-576,561,7,0,-5,9,-573,2,14.2,.2,-1,576,-2,0,-10,19,-582,581,28,-608,294.4,340.3,287.6,12.1,1559.6,298.6,12.1,6.1,506.5,11.1,5.1,39.6,11.1,347.5,547,6,940.2,7,-7,.3,1277.4,418.2,1403.51,1279.2,-568,5,1987.61,-16,1,-3.5,2,-17,6,-6,5,1.3,4,-4,69.2,4,0,554,-569,.7,4,-5.2,2,570,-577,-9,15,-15,594,-594,320,-319,-1,2318.3,3,-4,568,-567,.4,569,2,-571,567,-3,-1,36,-598,572,-564,-9,75.5,552,9,0,-576,104.3,792.6,567,-19,-563,1519.2,6,-11},{1924,1,4,1,4,4.1,1,641,1.42}},{{2},{1.3,561,1,-564,379,186,-2,-1,0,1,.4,-1,-496,501,-396,418,-2,3,-506,503,2,-2,2,-25,-480,224,-306,-1,320,27,-2.2,1.4,-35,4.1,8.1,4.3,2,1.3,6,9,3,-378,.31,563,50,-11,12,-30,-9,-9,-5,4,3,8,-13,0,-2,1,6,1,-6,7,-567,.5,-2,.11,1,.5,46,214,303,-303,95,205,-561,5,557,-562,315,89,156,0,-561,561,.3,3.1,-561,262,20.3,212,-568,4,563,-252,19.3,-553,553,19.9,208,-564,0,-1,562,-562,316,21.2,.5,18.5,310,-310,18.4,10,551,18.4,39.21,211,-567,11,-1,551,-550,304,21.3,-560,560,60.11,41.2,5,-251,59.31,4,116.2,76.41,5,556,75.5,133.8,20.6,570,-568,308,74.61,133.2,-246,56.31,563,-560,558,17.3,56.21,131.2,93.2,19.4,3,-3,75.11,561,14,-575,228.4,-562,562,20.6,300,-300,248.3,561,-562,568,229.3,76.6,265.6,562,-568,2,314,18.11,226.3,575,-575,1,18.9,73.5,-1,5,557,5,1,284.4,95.31,-1,14,548,-558,312,266.11,135.6,0,557,1,-552,305,230.41,570,135.4,97.21,208.2,-554,228.4,1,-1,57.5,561,-299,39.71,362.6,3,558,2,-248,287.71,556,250.51,343.4,286.9,227.5,0,561,6,-4,56.4,95.7,579,-317,22.5,-1,568,-568,439.51,20.3,6,557,-563,385.51,-357,1,562,-552,551,22,-268,21.3,23,-23,215.11,2,-2,561,2,-562,277.3,0,-558,558,258.21,1,561,-554,-6,299.51,6,556,11,-257,601.41,432.3,-564,241.6,12,-12,489.31,-1,-575,510.71,-1,6,570,-576,21.21,63.5,572,-573,512.4,381.41,515.6,605.31,16.9,306,-306,220.3,116.2,241.6,2,-2,241.21,5,739.5,94.8,281.6,0,530.31,376.3,6,569,-12,376.71,10,565,20.5,78.8,627.01,131.9,16.4,-562,3,313,169.61,5,556,-561,873.21,230.8,666.5,21.31,3,209.51,330.3,-563,317,227.42,791.7,848.01,506.6,485.2,223.4,420.7,19,29,-47,32,323,-355,-1,1,-1,2,-2,1.2,846.2,7,1,-568,560,9.2,0,-1,117.2,0,11,-2,-8,566,-548,27,-42,558,-392,-169,10,-7,5,553,-553,-7,565,186.2,42,-37,553,-562,.5,65,-65,562,-553,-5,42,-46,.3,566,-259,-137,391,-552,16.2,567,-558,553,-559,559,0,-559,560,0,-185,-23,.4,-354,71.4,4.2,560,-562,0,569,-568,-1,.2,569,0,-6,0,-563,9,5,-13,1.3,563,-567,562,8,-4,-3,12,-6,-3,4,0,-4,-526,-32,581,-3,2,-2,29,-29,30,-27,0,-589,588,0,-581,-7,0,1.2,567,.2,-560,561,.2,-8,.5,4,0,-3,-563,577,-524,-46,566,324.2,544,-544,2.1,-10,0,-9,.3,11,559,-570,1.2,-2,2,573,-566,10,0,544,-534,54,-74,554,146.2,3,558,.2,25.2,31.3,-17,139.2,9,21.3,-554,74,-64,544,-563,.3,3,37,-37,-3,5,-5,134.2,0,554,55.4,74,-83,1,.2,570,-221,-43,254,-557,15,32.2,-563,564,-563,-1,4,8.3,-560,1,5.3,.4,-560,564,-6,-553,48,-54,563,0,-4,0,29,-589,224.3,563,-563,26,-26,151,442,-3,-22,1090.2,3,4,-7,3,0,-8,-563,617,-614,602,-605,569,-569,1.2,-1,574,-574,577,-11,-567,583,-581,6,70,184,300,20,-582,66.2,568,-565,560,-1,-563,0,9,554,-563,569,-557,552,-561,-3,563,-561,565,-563,-4,.4,621,-25,-27,-6,7,-3,8,-9,0,-2,3,.4,-566,.4,598,27,-20,21,1,-55,.2,-573,0,566,-2,7,.2,-568,.2,1,0,-4,.2,-1,6.2,.2,11,.2,552,4,-3,-246,244,-243,87,162,-567,-1,6,575,-580,0,317,11.3,202,-607,4,10.2,318,9.3,156,389.4,1,-569,561,-243,247,-246,12.4,10,557,-568,2,565,-249,24.3,174,-579,11,-1,557,-556,554,-248,35.5,22.2,-4,-246,32.5,568,712.2,-568,0,318,43.6,5,562,-4,14.2,-563,1,194.3,566,-565,51,-52,298,307,-605,581,-564,564,-581,575,-7,3,29,-34,-565,629,-627,-3,1,566,-567,194.2,582,-580,579,-11,-571,583,-20,27,-272,50.5,566,1,-5,-562,317,250,-249,135.3,561,10,-572,580,-580,569,-251,147.5,609,-604,574,147.2,2,-1,149.4,105.3,-10,1,1265.2,0,-1,98.7,4,563,-4,14,-260,11.5,-1,14,554,-564,-3,317,11.3,151.2,4,557,-557,563,72.2,10,-11,36.6,569,-564,708.2,0,-2,319,201.6,115.2,568,-560,-4,0,314,99.5,3,564,12,-579,563,-246,11.5,-1,0,576,-576,1,84.2,257.6,575,-569,575,-581,59.4,-406,1080.3,557,16,-584,11.4,84.2,2,-3,1.2,566,-4,0,-564,83.6,-1,4,-3,567,-569,9,-6,316,13.6,0,6,1392.2,573,-9,318.4,13.2,238.2,299.2,-560,254,303,24.5,1162.3,.2,318,251,-250,61.3,953.2,95.2,11,143.2,205.6,-605,575,-578,-2,318,118.6,1,-1,228.2,562,-244,154.6,6,556,15,-14,322.6,563,-553,552,10,-6,-249,202.6,563,-569,5,314,10.7,-568,478.2,-4,319,33.5,5,562,59.2,137.7,6,220.3,305.6,.2,76.3,-1,564,6,-569,833.2,566,3,-164,-44,-361,567,-567,569,-7,5,-4,4,2,-6,1,-2,-1,1,-562,561,346.2,21.1,42.14,569,0,-568,1.2,8,558,-569,572,-3,-1,0,-567,565,-555,-11,576,-563,555,.4,9,-15,-551,558,8,.3,-572,564,-558,552,0,-562,28.2,767.2,585,-15,6,0,-575,570,-560,-11,581,-568,565,.4,-17,8,-558,559,-9,.3,9,-559,-7,0,-4,570,0,680.2,8,564,-575,569,6,-12,39.2,-1,261.2,582,-12,.4,-5,5,-559,564,-10,.3,10,-564,29.3,562,1.2,20,-21,21,-9,-575,.2,11,20,-19,0,552,-441,454,-454,227,229,-578,122,6.3,215,-564,6.4,12.1,12.6,211,-560,12.1,12.7,456,-456,12.1,12.4,6.3,36.9,12.11,261,1328.5,8,-9,396.2,1349.4,7,-7,1349.11,0,-1,576,-577,5,1785.4,-557,557,22.5,78,-78,.5,4,-4,572,-7,-7.2,-7,-7,7,1190.2,-356,-1,539,22,2,7,.2,-4,-2,511.2,.3,3,-3,3,167,-170,1,-1,0,1,554,7,1,0,1,0,-553,573,-20,881.2,600,-29,-253,474.5,8,-9,563,-552,-11,319,250,497.2,11.2,0,-1,563,-557,-7,636,-631},{5,77,1.6,65,4,22,3,1,25,6,21,25,23,4,5,17,3.1,3,23,25,3,5,20,22,3,2.1,26,1,5,17,9,17,3,7,46,32,24.3,21,23,8,42,20.3,5,20,24,4,-26.2,25,27,7,20,26,23,54,25,45.3,5,56.2,1,2.1,5,20,23,70.4,5,17,26,4,26,36.3,25,24.3,17,8,20,1,16,2,3,16,63,35,1.2,20,10,22,85,5,15,2,12,14,4,-3.2,1,3,1.2,4,3,4,1,5,8,-2.2,9.2,5,2,4,-2.2,12,1.4,6,1.4,39,1,4,1,4,4.1,1,7,5,8,3,2,1,8,3,15,11,1,9,4,7,6,7,4,7,51.11,9,4,1,2,11,2,8,14,5,105.3,23,6,14,11,9,5,14,1,11,26,3,86.2,1,20.3,11,2,12,2,18.3,63.3,8,1.2,13,1,4,9,4,12,1.7,2,7,16,2,21,2.1,4.3,6,1.42,9,10,1,26,3.2,17,3,1,-10.2,1,16,3,1,13,110,2,1.2,5,39,37,1,4,1,-2.2,49.3,10,6,1.3}},{{3},{2,1,-1,0,1,0,4.3,-1,.9,3.2,562,7,-6,7,-3,8,-11,-2,7.6,27,-14,2,-7,-7,0,4,12.5,5,6.1,6.5,-526,-38,.6,1,-1,.3,-1,2,-1,59.4,5.3,.5,3.2,.7,8.4,13.5,.2,27.3,3.2,.4,16.9,26.5,15.01,31.3,8.3,2,-1,3.2,-2,39.3,52.31,5.1,18.7,.9,570,-570,13.1,65.01,.8,78.51,109.31,.41,562,-561,149.12,.7,4,-3,93.11,54.4,17.3,55.01,97.31,84.5,.2,140.21,207.51,87.01,100.3,26.3,42.01,156.3,102.41,561,-560,36.2,3,-2,18.8,5.3,313.4,174.01,376.3,11.7,.31,570,-569,11.9,66.41,-556,-5,3,-3,.3,68.01,62.3,3.1,71.3,144.8,187.2,70.3,.3,74.01,.6,11.5,101.01,164.3,566,-565,18.4,98.01,.7,496.6,36.01,.51,253.41,0,-1,564,-564,82.11,214.3,22.3,582,-581,63.9,582,-582,115.41,53.7,293.31,119.3,208.12,93.6,564,-563,123.22,569,-568,477.41,13.3,.4,324.3,184.11,31.01,98.3,263.01,13.3,47.6,117.8,563,-562,54.9,571,-571,1,602,-603,192.11,145.01,125.01,165.51,-1,592,-592,670.61,.4,82.01,0,7,560,.4,3,.2,-561,.2,-6,-2,-1,21.2,.2,32.2,567,0,-6,2,-563,.2,1,6,556,9,-572,49.7,569,.2,23,-31,4,-562,558,653.2,.2,562,5,-4,0,57.4,1,64,-64,0,560,-561,1,563,.6,-557,557,-2,-557,562,-4,-562,.3,6,557,-545,19,-24,-14,561,-554,.4,-7,.3,19,-19,0,566,.2,-555,.2,560,-564,.8,-7,1,-1,567,-567,68.3,71.6,564,0,2,0,-4,-561,570,-7,0,-555,558,-567,133.3,3.2,565,0,31,-596,112.3,149.7,16.3,.2,31,-32,-558,554,2,-2,36,-597,49.6,563,4,.2,-566,26.6,82,-83,4.2,314.2,-562,.91,2,-2,26.3,.2,6,-3,-3,0,583,-583,.6,3,6.2,1.2,-2,0,618,-618,5,-5,0,573,-573,.2,619,-13,1,13,-615,6,.4,555,-2,7,27,-4,-592,.4,-2,.4,1,598,-597,.2,-3,.2,10,.2,555,.2,-564,678.6,104.5,8.3,752.4,3,-2,-2,953.9,3.2,572.7,.8,636.2,639.3,.11,100.9,.21,853.3,859.4,1,-4,27.4,0,578,-578,842.5,5,-5,528.7,10.3,699.5,0,834.6,797.4,0,569,-569,60.3,.4,5,740.3,107.6,55.3,485.4,1056.5,462.3,566,-566,46.8,141.3,.6,181.2,766.5,0,-1,9.2,506.4,744.6,6.2,218.2,930.3,571.2,13,481.2,76.4,98.6,7.3,.2,821.3,198.5,3,-1,-3,.31,516.5,99.5,0,-1,3,93.2,266.3,3,0,-3,1,.3,40.2,562,-562,2.1,12.1,24.32,-557,-1,559,94.3,-563,0,4,1,564,-568,0,1,-2,.5,572,-572,7,1,6,-8,-6,11,-10,4,515.2,2,0,-2,436.2,4,1,565,203.2,-1,.6,585,-585,24.4,5,-10,45.3,4,-1,560,6,0,-6,-564,26.3,570,-574,0,-1,.5,568,-568,26.9,565.2,1,0,-3,0,2,95.3,-5,.01,1,-1,3.1,.13,6.5,180.3,6.3,.61,860.4,7,-6,756.11,567,-568,728.01,0,4,.5,142.2,1228.5,.4,575,-574,.7,3,.3,-4,.2,320,-317,-3,846.2,163.2,-552,555,-563,-3,2,-2,251.3,611,-601,-11,.5,1,.2,577},{1.8,12,1,11,1.65,15,1.81,32,3,1,22,3.1,3,1,5,17,4,25,6,4.2,7.3,3.2,3,23,8,4.2,5,20,22,3,24.4,20,27.3,9,17,3,1,29.3,25,32,8.3,5,21,23,3,5,17,25,28.3,5,20,24,4,26,20,6,34.3,26,7,4.2,25,23,54,5,20,60.3,5,21,25,1,2.1,69.4,74.4,88.4,70.3,26,46.3,25,28.3,17,89.3,1,16,1.2,2,1.3,14,12,2,2.1,21,1.2,4,1,7,3,1.5,12,1,8,1.9,2,1.6,11,8,1.2,21,1,23,20,2,19,13,1.2,6,1.5,15,2,10,1.4,4,8,4,3,1,2,44.2,1.6,4.2,8.3,3,7,12.3,3,2.1,-2.2,1,3.1,11,1.4,6,1.9,21,1.9,4,1.6,4,1,4.2,7,1,22.2,7,3,2,1,8.3,1.3,12,11,1,9,4,7,5,12.4,1,4,65.61,9,4,1.3,11,1.3,7,1,13,1,4,2,8,4,8,3,1,23,16.2,8,5,11,1,8,1,4,1.2,12,1,5,6,13,1,12,3,12,2,1,25.3,8,1,13,19.2,83.4,47.3,14.4,165.4,2,8,1.2,5,8,106.3,8,13.3,1,3,1.9,7,10.2,2,9,20.3,5.1,10.8,6,1.42,37.3,35.3,17,6.5,9,3,1,9,9.4,7,9.3,-2.2,25.2,109,1.4,5,18,3,17,1,33,189.2,2.1,15.2,2,1,2,10,6,94.2,77.2}},{{4},{14,-11,.6,1,.6,2,0,2,.2,2,-8,.71,38,-37,0,-2,1,6,-7,4,558,-560,2,-3,569,4,-10,1,-564,1,.2,-2,2,1,-2,1,-1,2,-2,9,.2,-6,.2,-3,2,-1,1,-2,0,12,-12,1.2,-2,4,-4,4,0,-3,0,11,0,-9,9,0,-7,-5,31.4,.2,1,.2,11,-5,-7,.2,2,0,7,40.3,-2,.5,2,.2,1,50,-42,-11,1,-1,2.1,11,-11,0,11,.2,-12,1.3,4,-7,5,-1,-3,3,8,-8,-2,17.2,0,-8,8,.4,43.2,562,0,7,9.2,2,-559,3,.3,559,.4,-564,.4,564,.4,-559,.2,-5,-2,2,-2,563,0,-563,6,0,527,-533,6,67.2,1,2,132.2,560,-561,581,-580,10,-5,-6,563,-563,.3,1,0,2,-3,0,1,156.3,0,3,-2,0,2,3.1,6.5,-1,0,5,-1,1,-4,0,3,0,-3,-1,.4,570,-569,610,-611,15.11,1,590,-19,-10,-560,-2,17.21,576,-15,7,-567,-2,11,-9,-2,3,562,-566,563,9,2,-573,.3,-1,601,-59,25,17,-10,-573,560,-559,555,-552,562,-564,564,46,-613},{14,75,1.31,20,1.42,265,8,25,18,25,134,49,3,52,72,1,29,6,123,9,21,25,126,49,113,46,146,5,1.01,5,1,6,1,3,6,5,9,1.4,2,1,5,2,5,2,4,1.4,10,1.9,9,24,1.5,12,1.5,2,1.8,3,4,5,6,1.3,7,-5.2,2,3,4,8,5,1.9,4,6,2,5,4,10,1,4,1.5,60,7,1,8,7,2,15,1.5,26,1.41,26,1.2,31,27,2,100,3,1,9,12,1,18,15,2,25,11,3,8,13,4,1,9,1,15,11,15,2,26,42.3,8.2,13,23,19,24,15,2,24,23,-2.2,11,8,2,13,3.1,6.5,30,1.4,2,7,2,1,10,-2.2,1.11,7.6,1.5,2,1,3,4.2,11.3,9,11.5,2,4,1.2,8,116,21,5,13,1.7,12,9,1.3,2,5,9,6,7,1.2,12,17}},{{5},{564,-557,0,2,.2,2,0,-4,6.5,-8,.5,3,8.4,-3,0,2,0,19.5,6.3,-6,-3,9,-8,8,-8,.2,8,0,553,-553,.3,-9,561,1,0,-562,562,0,-561,-1,19.3,.2,20,-21,555,-563,1,.2,562,-554,0,554,.3,-554,.3,-8,2,560,-563,561,2,0,-563,563,.4,-562,-1,0,3,1,.2,5,0,-5,564,-568,0,7,561,-567,2,5,557,-559,3,-9,0,563,43.2,-1,-1,.7,563,62.2,.2,4,565,-569,569,0,-569,.2,570,-570,5,0,558,48.2,.2,575,-575,43.3,565,-2,-563,19,.6,545,-545,.4,564,-574},{14,75,1.31,20,1.32,528,824,1.6,15,1,14,9,1.3,11,5,2,4,1.4,11,1.5,2,1,9,24,17,1.2,25,6,1,14,10,4,8,5,1.4,2,7,8,5,4,10,1,4,1.5,60,7,18,51,1.4,64,27,102,3,58,25,14,25,10,42,2,26,11,4,26,55,24,68,19,2,21,2.1,4.3,30,1.4,30,1.7,30,1,2,1,67.2,29,6.3,5,4,2,8,155,75.2,12,86.2,2,-14.2}},{{6},{3,-1,.6,1,.6,-1,.5,1,.5,-1,1,2.1,0,4.2,.3,6.2,560,-560,0,5.2,.5,1,25.2,567,-2,.4,-566,19,562,-562,-19,1,-1,.7,7,1,-8,0,1,6,5.2,1,-1,0,11.3,6.3,2,541,14,9},{14,75,1.31,32,1.11,1353,2,18,1,14,28,2,4,2,1,13,2,5,9,68,6,1,14,10,4,8,18,13,4,10,5,1.4,68,69,1.4,64,27,105,83,49,111,166,2,21,2.1,4.3,30,1,33,1.4,33,1,2,1,4,1,32,6.3,11,182,28,14}},{{7},{3,-1,1,575,-15,-561,.9,566,-565,8,-9,0,1,4.1,8,574,-10},{1561,29,151,228,264,277,2,21,2.1,4.3,30,1,33,1.4,33,1,7,1,32,1,196,28}},{{8},{11,-5,5,-8,1,.7,6,532,18},{1561,29,151,228,541,2,21,2.1,4.3,64,275,28}},{{9},{2,583,11},{2645,275,28}},{{10},{544,17},{2920,28}},{{11},{585},{2920}},{{12},{546},{2920}},{{13},{563},{2920}},{{14},{549},{2920}},{{15},{571},{2920}},{{16},{550},{2920}},{{17},{569},{2920}},{{18},{551},{2920}},{{19},{577},{2920}},{{20},{552},{2920}},{{21},{634},{2920}},{{22},{553},{2920}},{{23},{606},{2920}},{{24},{554},{2920}},{{25},{635},{2920}},{{26},{555},{2920}},{{27},{636},{2920}},{{28},{556},{2920}}}, + {323,1.42,62,1.7,7,1.7,2,1.49,-345,.2,92,.3,91,1,.4,1,.5,1,0,2,1,-69,.6,70,0,1,-70,.6,1,2.1,.6,69,.2,-362,363,15.3,-69,.8,1,.3,1,.2,68,2,30.3,.5,23.3,.2,1,0,6.3,.9,1,.11,1.2,.5,1,.4,1.2,.2,1.3,.51,58.3,-87,.01,88,.3,7.2,-88,.01,1,2.1,.01,87,.2,-389,389,2.1,19.4,3.2,39.3,.8,86,1.3,3,.4,2,.4,4,.4,39.3,8.3,2.1,8.4,12.5,.2,2.1,4.1,2.1,-133,107,2,4,2,1.5,3}, + {80,.531,447,1.7,-454,.082,459,1,7,1,-11,1,0,-458}, + {2,.383}, + {2,.541,1,.4,-1,0,2,-1,4.2,1,.3,-1,3.1,6.4,17.9,1,-1,17.51,34.31,1,-2,34.23,0,14.8,34.52,119.81,16.1,32.1,98.05,34.81,4.2,184.71,.8,14.7,2,0,32.2,31.3,232.01,17.7,100.33,65.6,.5,212.17,78.21,209.82,3.2,.2,226.43,195.5,4.2,313.66,428.611,611.94,679.4,217.221,.182,1,.7,-1,.5,1,-1,2.1,2.1,.2,1,0,4.3,3.1,-1,.12,591.3,28.3,.13,7.2,.08,49.3,434.4,.2,57.7,.3,16.7,8.4,188.5,25.21,239.6,49.01,8.4,.9,92.91,.5,69.11,8.1,16.01,509.3,77.21,2,-2,544.5,-2,11.4,73.3,11.7,55.61,131.4,115.8,24.8,.2,622.7,24.6,87.3,9.4,2,.2,67.5,2,-1,44.61,183.41,84.8,100.32,0,322.3,17.7,74.4,.3,154.3,0,-2,19.4,76.02,.962,8.3,3.1,6.1,12.1,24.1,91.7,.4,192.3,425.8,439.61,.81,332.4,.7,-1,.91,25.3,.9,103.7,342.4,403.6} }, __refPoss = { nil, nil, - {10,1.531,1343,1.082,98,1.75,3,1.2,2.1,4.1,736,43,1.9}, - {10,1.531,38,78,26,262,363,53,204,73,26,220,1.082,229,12,213,300,2,1,154}, - {153,3,1,22,3.1,6.1,12.1,3,2.1,4.1,20.21,23,35.41,23,35.01,26.21,12.3,15.11,70.81,105.62,364,2,1,5,1.2,3,1,2,1,2,1.5,3,89,1,3,1.2,7,3,1.3,7,1,4.3,3.1,3,1,10.5,4.1,1,4,15.41,8.5,44.3,3.2,1,4,4.3,8.4,4.1,60.8,15.6,87.2,38.6,4.3,249,1.8,2,1.3,103,3,1.4,164.3,54,3,1,17,1,3,1.5,7,55.2}, + {10,1.531,1343,1.082,98,1.75,3,1.2,2.1,4.1,956,55,1.9}, + {10,1.531,38,78,26,262,416,204,73,26,220,1.082,242,12,389,13,318,2,1,154}, + {153,3,1,22,3.1,6.1,12.1,3,2.1,4.1,20.21,23,35.41,23,35.01,26.21,12.3,15.11,70.81,105.62,364,2,1,5,1.2,3,1,2,1,2,1.5,3,89,1,3,1.2,7,3,1.3,7,1,4.3,3.1,6.4,1,13.3,20.2,17.3,60,21.4,4.1,8.5,4,27.7,19.11,46.4,42.5,50.5,11.4,4,15.5,8,19.8,73.7,97.9,18.6,10.3,1.2,33.31,1.2,254,1.8,2,1.3,103,3,1.4,208.3,54,3,1,29,1,3,1.5,7,73.2}, nil }, } diff --git a/luafight/Modules/Battle/Logic/Base/Buff.lua b/luafight/Modules/Battle/Logic/Base/Buff.lua index 1966d8743..66ca401ff 100644 --- a/luafight/Modules/Battle/Logic/Base/Buff.lua +++ b/luafight/Modules/Battle/Logic/Base/Buff.lua @@ -218,7 +218,11 @@ function BuffManager:GetAllBuffByFunc(checkFunc) end -function BuffManager:HasBuff(target, type, checkFunc) +function BuffManager:HasBuff(target, type, checkFunc,caster,dotType) + --如果当前是判断燃烧buff and 当前目标是攻击的主目标则直接返回true + if type== BuffName.DOT and caster and dotType and dotType==1 and caster.curMainTarget==target then + return true + end if self.buffDic.kvList[type] then local buffList = self.buffDic.kvList[type] for i=1, buffList.size do @@ -242,15 +246,16 @@ function BuffManager:ClearBuff(target, func) while idx <= list.size do local buff = list.buffer[idx] if buff.target == target and (not func or (func and buff.clear and func(buff))) then - if func and func(buff) then + if not buff.target:IsRealDead() then if buff.type== BuffName.Shield then buff.target.Event:DispatchEvent(BattleEventName.ShowHintText, BattleArtFontType.Shield) - elseif buff.type== BuffName.DOT or buff.type==BuffName.Control or buff.type==BuffName.Immune then + elseif buff.type== BuffName.DOT or buff.type==BuffName.Control then buff.target.Event:DispatchEvent(BattleEventName.ShowHintText, BattleArtFontType.clear) end end buff:OnEnd() buff.target.Event:DispatchEvent(BattleEventName.BuffEnd, buff) + BattleLogic.Event:DispatchEvent(BattleEventName.BuffEnd, buff) putBuff(buff) list:Remove(idx) else @@ -319,6 +324,7 @@ function BuffManager:Update() buffList:Add(buff) buff:OnStart() buff.target.Event:DispatchEvent(BattleEventName.BuffStart, buff) + BattleLogic.Event:DispatchEvent(BattleEventName.BuffStart, buff) end -- 清除过期buff @@ -331,6 +337,7 @@ function BuffManager:Update() if buff.disperse then buff:OnEnd() buff.target.Event:DispatchEvent(BattleEventName.BuffEnd, buff) + BattleLogic.Event:DispatchEvent(BattleEventName.BuffEnd, buff) putBuff(buff) buffList:Remove(index) else diff --git a/luafight/Modules/Battle/Logic/Base/Effect.lua b/luafight/Modules/Battle/Logic/Base/Effect.lua index b58f7ff01..3e200bc1f 100644 --- a/luafight/Modules/Battle/Logic/Base/Effect.lua +++ b/luafight/Modules/Battle/Logic/Base/Effect.lua @@ -391,7 +391,7 @@ local effectList = { local f3 = args[6] BattleLogic.WaitForTrigger(interval, function () BattleUtil.CalDamage(skill, caster, target, dt, f1) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,caster,dot) then BattleUtil.RandomControl(f1, ct, caster, target, f3) end end) @@ -404,7 +404,7 @@ local effectList = { local dot = args[3] local f2 = args[4] BattleLogic.WaitForTrigger(interval, function () - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,caster,dot) then f1 = f1*(1+f2) end BattleUtil.CalDamage(skill, caster, target, dt, f1) @@ -445,7 +445,7 @@ local effectList = { local trigger = function(defRole, damageFunc, damage) if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot - end) then + end,caster,dot) then damage = damage + floor(damage * f1) end damageFunc(damage) @@ -486,7 +486,7 @@ local effectList = { local f2 = args[4] caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) BattleLogic.WaitForTrigger(interval, function () - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,caster,dot) then f1 = f1*(1+f2) end BattleUtil.CalDamage(skill, caster, target, dt, f1) @@ -2027,7 +2027,7 @@ local effectList = { caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) BattleLogic.WaitForTrigger(interval, function () local OnPassiveDamaging = function(damagingFunc, defRole, damage) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,caster,dot) then if damagingFunc then damagingFunc(-floor(damage * f2)) end @@ -2072,7 +2072,7 @@ local effectList = { caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) BattleLogic.WaitForTrigger(interval, function () local isSecKill = false - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,caster,dot) then -- 检测被动技能对秒杀参数得影响 f2, f3 = BattleUtil.CheckSeckill(f2, f3, caster, target) -- @@ -2204,7 +2204,7 @@ local effectList = { -- caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) BattleLogic.WaitForTrigger(interval, function () BattleUtil.CalDamage(skill, caster, target, dt, f1) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,caster,dot) then BattleUtil.RandomControl(f2, ct, caster, target, f3) end end) @@ -2220,7 +2220,7 @@ local effectList = { caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, skill, target) BattleLogic.WaitForTrigger(interval, function () local index, tran - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,caster,dot) then index, tran = caster:AddPropertyTransfer(RoleDataName.Crit, f2, RoleDataName.Crit, 1) end BattleUtil.CalDamage(skill, caster, target, dt, f1) diff --git a/luafight/Modules/Battle/Logic/Base/EffectCaster.lua b/luafight/Modules/Battle/Logic/Base/EffectCaster.lua index 752c80730..cf225257b 100644 --- a/luafight/Modules/Battle/Logic/Base/EffectCaster.lua +++ b/luafight/Modules/Battle/Logic/Base/EffectCaster.lua @@ -125,6 +125,9 @@ function EffectCaster:Cast() if count == 0 then count = #arr end + table.sort(arr, function(a, b) + return a.position < b.position + end) -- ȫͬʱЧ for j=1, count do if arr[j] and not arr[j]:IsRealDead() then diff --git a/luafight/Modules/Battle/Logic/Base/Passivity.lua b/luafight/Modules/Battle/Logic/Base/Passivity.lua index 377cc03b5..af5111787 100644 --- a/luafight/Modules/Battle/Logic/Base/Passivity.lua +++ b/luafight/Modules/Battle/Logic/Base/Passivity.lua @@ -1019,21 +1019,23 @@ local passivityList = { end role.Event:AddEvent(BattleEventName.RoleHit, OnDamage,nil,nil,role) end, - --造成暴击时,额外造成目标最大生命值[a]%的伤害。(目标最大生命值伤害总上限为施法者2.5倍攻击) + --技能造成暴击时,额外造成目标最大生命值[a]%的伤害。 --a[float] [56] = function(role, args,id,judge) local f1 = args[1] local lastTrigger = 0 local OnRoleCrit = function(defRole, damage, bCrit, finalDmg, damageType, skill) - lastTrigger = lastTrigger + 1 - if lastTrigger > 1 then --加入限定避免循环触发 - return + -- lastTrigger = lastTrigger + 1 + -- if lastTrigger > 1 then --加入限定避免循环触发 + -- return + -- end + if skill and (skill.type==BattleSkillType.Special or skill.type==BattleSkillType.Extra or skill.type==BattleSkillType.DeadSkill ) then + local ar1 = floor(BattleUtil.FP_Mul(defRole:GetRoleData(RoleDataName.MaxHp), f1)) + --local ar2 = BattleUtil.FP_Mul(role:GetRoleData(RoleDataName.Attack), 2.5) + BattleUtil.FinalDamage(nil, role, defRole, ar1) + --lastTrigger = 0 end - local ar1 = BattleUtil.FP_Mul(defRole:GetRoleData(RoleDataName.MaxHp), f1) - local ar2 = BattleUtil.FP_Mul(role:GetRoleData(RoleDataName.Attack), 2.5) - BattleUtil.ApplyDamage(nil, role, defRole, floor(min(ar1, ar2))) - lastTrigger = 0 end role.Event:AddEvent(BattleEventName.RoleCrit, OnRoleCrit,nil,nil,role) end, @@ -1839,11 +1841,12 @@ local passivityList = { - -- 释放技能后给除自己外己方生命最少的[a]名武将附加无敌盾持续[b]回合(只剩自己则不加) - -- a[int] b[int] + -- 释放技能后给除自己外己方生命最少的[a]名武将附加无敌盾持续[b]回合(只剩自己则不加)无敌盾目标额外添加 [c]点怒气(c不填/填0 不会触发) + -- a[int] b[int] c[int] [104] = function(role, args,id,judge) local i1 = args[1] local num = args[2] + local rageNum = args[3] -- 释放技能后 local onSkillEnd = function(skill) if skill and not skill.isTriggerJudge and judge==1 then @@ -1865,6 +1868,9 @@ local passivityList = { for i = 1, i1 do if heros[i] then heros[i]:AddBuff(Buff.Create(role, BuffName.Shield, num, ShieldTypeName.AllReduce, 0, 0)) + if rageNum and rageNum~=0 then + BattleUtil.CalRage(role,heros[i],rageNum,CountTypeName.Add) + end end end end @@ -1917,24 +1923,34 @@ local passivityList = { role.Event:AddEvent(BattleEventName.RoleBeHit, onBeHit,nil,nil,role) end, - -- 释放技能后自身回[a]点怒气,回怒概率[b]%(不填为100%) - -- a[int],b[float] + -- 释放技能后自身回[a]点怒气,回怒概率[b]%(不填为100%),阵营限制为[c](不填/填0为不限制阵营),[d]为技能类型(不填默认只有绝技) + -- a[int],b[float],c[int 阵营id],d[int 1:绝技.额外技能 ] [107] = function(role, args,id,judge) local i1 = args[1] local p1 = args[2] + local ele= args[3] + local type=args[4] if not p1 then p1=1 end + -- 释放技能后 local onSkillEnd = function(skill) if skill and not skill.isTriggerJudge and judge==1 then return end - if skill.type == BattleSkillType.Special then + if ele and ele~=0 and role.element~=ele then + return + end + if not type and skill.type~= BattleSkillType.Special then + return + end + if type==1 and skill.type~=BattleSkillType.Special and skill.type~=BattleSkillType.Extra then + return + end BattleUtil.RandomAction(p1, function () BattleUtil.CalRage(role, role, i1, CountTypeName.Add) end) - end end role.Event:AddEvent(BattleEventName.SkillCastEnd, onSkillEnd,nil,nil,role) end, @@ -1944,6 +1960,10 @@ local passivityList = { [108] = function(role, args) local f1 = args[1] local onBeHit = function(caster, damage, bCrit, finalDmg, damageType, skill) + --damagetype为3 是 舍身济世分摊伤害 + if damageType==3 then + return + end --如果角色死亡就不会反弹伤害 if role:IsDead() then return @@ -2250,16 +2270,20 @@ local passivityList = { role.Event:AddEvent(BattleEventName.RoleBeHit, onBeHit,nil,nil,role) end, - -- 普攻后回复[a]点怒气 - -- a[int] + -- 普攻后回复[a]点怒气,普攻类型为[b](b不填默认为所有普攻) + -- a[int],b[int 1:追加的普攻 ] [121] = function(role, args,id,judge) local i1 = args[1] + local type =args[2] -- 释放技能后 local onSkillEnd = function(skill) if skill and not skill.isTriggerJudge and judge==1 then return end if skill.type == BattleSkillType.Normal then + if type and type==1 and not skill.isAdd then + return + end BattleUtil.CalRage(role, role, i1, CountTypeName.Add) end end @@ -2349,14 +2373,16 @@ local passivityList = { role.Event:AddEvent(BattleEventName.RoleHit, onRoleHit,nil,nil,role) end, - -- 战斗中生命每减少[c]%,[d]就[e]改变[f]% - -- c[float]d[属性]e[改变类型]f[float] + -- 战斗中生命每减少[a]%,[b]就[c]改变[d]%,[e]属性[f]改变[g]% (e f g 不填就不会加) + -- a[float],b[属性],c[改变类型],d[float],e[int],f[int],g[float] [126] = function(role, args) local f1 = args[1] local pro = args[2] local dt = args[3] local f2 = args[4] - + local pro2 = args[5] + local dt2 = args[6] + local f3 = args[7] local curLevel = 0 -- 释放技能后 local onRoleBeDamaged = function(caster, damage) @@ -2369,6 +2395,10 @@ local passivityList = { local buff = Buff.Create(role, BuffName.PropertyChange, 0, BattlePropList[pro], f2, dt) buff.cover = true role:AddBuff(buff) + if pro2 and dt2 and f3 then + local buff = Buff.Create(role, BuffName.PropertyChange, 0, BattlePropList[pro2], f3, dt2) + role:AddBuff(buff) + end end curLevel = level end @@ -2403,7 +2433,7 @@ local passivityList = { - -- TODO + -- TODO 后端用被动 会在战前显示 -- 全体蜀国武将增加[a]%[b] -- a[float]b[属性] -- [129] = {}, @@ -2476,7 +2506,7 @@ local passivityList = { end end end - BattleLogic.Event:AddEvent(BattleEventName.BattleRoleDead, OnDead,nil,nil,role) + BattleLogic.Event:AddEvent(BattleEventName.RoleRealDead, OnDead,nil,nil,role) -- local passivityDamaging = function(func, caster, damage, skill) -- if skill and not skill.isTriggerJudge and judge==1 then @@ -2556,7 +2586,7 @@ local passivityList = { local index, tran local OnRoleDamageBefore = function(target,factorFunc,damageType,skill) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then index, tran = role:AddPropertyTransfer(BattlePropList[pro], f1, BattlePropList[pro], ct) end end @@ -2737,7 +2767,7 @@ local passivityList = { local f1 = args[3] local onPassiveBeDamaging = function(func, caster, damage) - if BattleLogic.BuffMgr:HasBuff(caster, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(caster, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then local dmgDeduction = damage - floor(BattleUtil.ErrorCorrection(BattleUtil.CountValue(damage, f1, ct))) if func then func(dmgDeduction) end end @@ -2780,7 +2810,7 @@ local passivityList = { if not skill then return end - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then --吸血修改 finaldamage 改为 damage by:往王振兴 2020/08/17 BattleUtil.ApplyTreat(role, role, floor(BattleUtil.ErrorCorrection(damage * f1))) end @@ -2817,7 +2847,7 @@ local passivityList = { local onSkillControl = function(func, ctrl2, target) if ctrl2 == ctrl then - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(b) return b.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(b) return b.damageType == dot end,role,dot) then if func then func(f1, ct) end end end @@ -2872,7 +2902,7 @@ local passivityList = { return end if skill and skill.type == BattleSkillType.Special and - BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then index, tran = role:AddPropertyTransfer(BattlePropList[pro], f1, BattlePropList[pro], ct) end end @@ -2896,7 +2926,7 @@ local passivityList = { local ct = args[3] local onPassiveDamaging = function(damagingFunc, defRole, damage) - if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then if damagingFunc then local dd = BattleUtil.CountValue(damage, f1, ct) - damage damagingFunc(-floor(BattleUtil.ErrorCorrection(dd))) @@ -2960,7 +2990,7 @@ local passivityList = { role.Event:RemoveEvent(BattleEventName.RoleHit, onHit) end local onDamaging = function(func, target,damage,skill) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then role.Event:AddEvent(BattleEventName.RoleHit, onHit,nil,nil,role) end end @@ -2996,7 +3026,7 @@ local passivityList = { end if attor[target.position] and skill and skill.type == BattleSkillType.Special and func then local df = f1 - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then df = f2 end local dd = BattleUtil.CountValue(damage, df, ct) - damage @@ -3015,7 +3045,7 @@ local passivityList = { local ct = args[3] local onPassiveDamaging = function(damagingFunc, defRole, damage) - if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then if damagingFunc then local dd = BattleUtil.CountValue(damage, f1, ct) - damage damagingFunc(-floor(BattleUtil.ErrorCorrection(dd))) @@ -3052,7 +3082,7 @@ local passivityList = { -- local onRoleHit = function(defRole, damage, bCrit, finalDmg, damageType, skill) if skill and skill.type == BattleSkillType.Normal and not defRole:IsDead() then - if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function (buff) return dot == 0 or buff.damageType == dot end,role,dot) then local isBoss=BattleUtil.CheckIsBoss(defRole) if isBoss then return @@ -3072,23 +3102,30 @@ local passivityList = { role.Event:AddEvent(BattleEventName.RoleHit, onRoleHit,nil,nil,role) end, - -- 释放技能有[a]%概率附加[b]效果持续[c]回合 - -- a[float]b[控制状态]c[int] + -- 释放技能有[a]%概率附加[b]效果持续[c]回合,查找目标条件[d](填技能查找目标逻辑,不填按照技能目标查找) + -- a[float]b[控制状态]c[int],d[int] [152] = function(role, args,id,judge) local f1 = args[1] local ctrl = args[2] local i1 = args[3] - + local con = args[4] -- 技能后后 local onSkillCastEnd = function(skill) if skill and not skill.isTriggerJudge and judge==1 then return end - if skill.type == BattleSkillType.Special then - local targets = skill:GetDirectTargetsNoMiss() - if targets then - for _, r in ipairs(targets) do - BattleUtil.RandomControl(f1, ctrl, role, r, i1) + if skill.type == BattleSkillType.Special or skill.type == BattleSkillType.Extra then + if con then + local arr=BattleUtil.ChooseTarget(role,con) + for i = 1, #arr do + BattleUtil.RandomControl(f1, ctrl, role, arr[i], i1) + end + else + local targets = skill:GetDirectTargetsNoMiss() + if targets then + for _, r in ipairs(targets) do + BattleUtil.RandomControl(f1, ctrl, role, r, i1) + end end end end @@ -3361,7 +3398,6 @@ local passivityList = { end end BattleLogic.Event:AddEvent(BattleEventName.PassiveDamaging, onPassiveDamaging,nil,nil,role) - end, -- 爆伤减免增加[a]%,[b]改变 @@ -3410,7 +3446,7 @@ local passivityList = { local dot = args[1] local f1 = args[2] local onHit = function(target, damage, bCrit, finalDmg) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then --吸血修改 finaldamage 改为 damage by:往王振兴 2020/08/17 BattleUtil.ApplyTreat(role, role, floor(BattleUtil.ErrorCorrection(damage * f1))) end @@ -3528,7 +3564,7 @@ local passivityList = { end, -- 攻击目标越少[a]对每个目标提升概率越高,提升概率为[b]%除以被击者的总数,提升为[c]改变 - -- a[控制状态]b[float]c[改变类型] + -- a[控制状态],b[float],c[改变类型] [172] = function(role, args,id,judge) local ctrl = args[1] local f1 = args[2] @@ -3866,58 +3902,60 @@ local passivityList = { if not skill then return end - -- 伤害降低 - local finalDamage = BattleUtil.CountValue(damage, f1, ct) - local curHp = role:GetRoleData(RoleDataName.Hp) - --如果敌方忽略分摊就只减伤 - local ignoreShara=atkRole.ignoreShara - --特殊处理 白骨精附加的普攻不会忽略分摊 - if atkRole.roleId==10091 and skill and skill.type==BattleSkillType.Normal and skill.isAdd then - ignoreShara=false - end - if ignoreShara then - local dd = damage - finalDamage - damagingFunc(floor(BattleUtil.ErrorCorrection(dd))) - return - end - -- 不是致死伤害 - if finalDamage < curHp then - -- 找到除自身外的血量最高的两人 - local list = RoleManager.Query(function(v) - return v.camp == role.camp and v.position ~= role.position - end) - local ff = 1 -- 分摊比 - -- 检测被动对分摊比的影响 - local cl = {} - local function _CallBack(v, ct) - if v then - table.insert(cl, {v, ct}) + --BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime,function() + -- 伤害降低 + local finalDamage = BattleUtil.CountValue(damage, f1, ct) + local curHp = role:GetRoleData(RoleDataName.Hp) + --如果敌方忽略分摊就只减伤 + local ignoreShara=atkRole.ignoreShara + --特殊处理 白骨精附加的普攻不会忽略分摊 + if atkRole.roleId==10091 and skill and skill.type==BattleSkillType.Normal and skill.isAdd then + ignoreShara=false + end + if ignoreShara then + local dd = damage - finalDamage + damagingFunc(floor(BattleUtil.ErrorCorrection(dd))) + return + end + -- 不是致死伤害 + if finalDamage < curHp then + -- 找到除自身外的血量最高的两人 + local list = RoleManager.Query(function(v) + return v.camp == role.camp and v.position ~= role.position + end) + local ff = 1 -- 分摊比 + -- 检测被动对分摊比的影响 + local cl = {} + local function _CallBack(v, ct) + if v then + table.insert(cl, {v, ct}) + end + end + role.Event:DispatchEvent(BattleEventName.PassiveDamageShare, _CallBack,skill) + atkRole.Event:DispatchEvent(BattleEventName.PassiveDamageBeShare, _CallBack,skill) + ff = BattleUtil.CountChangeList(ff, cl) + + -- 计算分摊伤害 + local fenDamage = finalDamage * ff -- 需要分摊的总伤害 + --根据血量百分比排序 + BattleUtil.SortByHpFactor(list, 0) + local targets = {role, list[1], list[2]} + local fd = floor(BattleUtil.ErrorCorrection(fenDamage/#targets)) -- 每个人需要分摊的伤害 + + -- 自身伤害 + if damagingFunc then + local unFenDamage = floor(BattleUtil.ErrorCorrection(finalDamage * (1 - ff))) -- 不被分摊的伤害 + damagingFunc(floor(BattleUtil.ErrorCorrection(damage - (unFenDamage + fd)))) + end + -- 平分给别人 + if fd > 0 then + for i = 2, #targets do + --不触发被动 + BattleUtil.FinalDamage(nil, atkRole, targets[i], fd, nil, 0, dotType) + end end end - role.Event:DispatchEvent(BattleEventName.PassiveDamageShare, _CallBack,skill) - atkRole.Event:DispatchEvent(BattleEventName.PassiveDamageBeShare, _CallBack,skill) - ff = BattleUtil.CountChangeList(ff, cl) - - -- 计算分摊伤害 - local fenDamage = finalDamage * ff -- 需要分摊的总伤害 - --根据血量百分比排序 - BattleUtil.SortByHpFactor(list, 0) - local targets = {role, list[1], list[2]} - local fd = floor(BattleUtil.ErrorCorrection(fenDamage/#targets)) -- 每个人需要分摊的伤害 - - -- 自身伤害 - if damagingFunc then - local unFenDamage = floor(BattleUtil.ErrorCorrection(finalDamage * (1 - ff))) -- 不被分摊的伤害 - damagingFunc(floor(BattleUtil.ErrorCorrection(damage - (unFenDamage + fd)))) - end - -- 平分给别人 - if fd > 0 then - for i = 2, #targets do - --不触发被动 - BattleUtil.FinalDamage(nil, atkRole, targets[i], fd, nil, 0, dotType) - end - end - end + --end) end role.Event:AddEvent(BattleEventName.FinalBeDamage, onFinalBeDamage,nil,nil,role) @@ -3968,12 +4006,15 @@ local passivityList = { end role.Event:AddEvent(BattleEventName.RoleHit, onHit,nil,nil,role) end, - -- 武将怒气小于[a]点时不会释放技能,释放技能消耗当前所有怒气超过4怒气部分每额外消耗1点怒气技能伤害增加[b]% + -- 武将怒气小于[a]点时不会释放技能,释放技能消耗当前所有 怒气超过[c]怒气部分每额外消耗1点怒气技能伤害增加[b]%(c不填默认为4) -- a[int]b[float] [192] = function(role, args) local i1 = args[1] local f1 = args[2] - + local num = args[3] + if not num then + num=4 + end -- 提高技能释放怒气值 role.SuperSkillRage = i1 @@ -3992,7 +4033,7 @@ local passivityList = { -- 释放技能后 local onPassiveDamaging = function(damagingFunc, defRole, damage, skill, dotType) if skill and skill.type == BattleSkillType.Special then - local deltaRage = allRage - 4 + local deltaRage = allRage - num if deltaRage > 0 then local dd = BattleUtil.CountValue(damage, f1 * deltaRage, 2) - damage damagingFunc(-floor(BattleUtil.ErrorCorrection(dd))) @@ -4193,8 +4234,11 @@ local passivityList = { -- 同阵营武将受到直接伤害时该伤害[a]%转移给有此锦囊的武将转移伤害属于直接伤害(无法触发任何特性) -- a[float] [200] = function(role, args) + if PassiveManager.passiveCountList[role.camp][200] and PassiveManager.passiveCountList[role.camp][200] > 0 then + return + end + PassiveManager.passiveCountList[role.camp][200] = 1 local f1 = args[1] - local onFinalDamage = function(damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit, damageType) local ignoreShara=atkRole.ignoreShara --特殊处理 白骨精附加的普攻不会忽略分摊 @@ -4223,7 +4267,7 @@ local passivityList = { damagingFunc(shareDamage) end -- 分担伤害 - BattleUtil.ApplyDamage(skill, atkRole, role, shareDamage,false,damageType,dotType,true) + BattleUtil.ApplyDamage(skill, atkRole, role, shareDamage,false,3,dotType,true) end end BattleLogic.Event:AddEvent(BattleEventName.FinalDamage, onFinalDamage,nil,nil,role) @@ -4235,8 +4279,7 @@ local passivityList = { [201] = function(role, args) local i1 = args[1] local f1 = args[2] - role:AddRage(i1, CountTypeName.Add) - + BattleUtil.CalRage(role,role,i1,CountTypeName.Add) local function onPassiveSeckill(func) local isBoss=BattleUtil.CheckIsBoss(defRole) if isBoss then @@ -4265,7 +4308,7 @@ local passivityList = { -- 直接伤害概率无法复活 local function onRoleHit(target,damage,bCrit,finalDmg,damageType,skill) if target:IsDead() then - if not BattleLogic.BuffMgr:HasBuff(role, BuffName.DOT, function (buff) return buff.damageType == dot or dot == 0 end) then + if not BattleLogic.BuffMgr:HasBuff(role, BuffName.DOT, function (buff) return buff.damageType == dot or dot == 0 end,role,dot) then BattleUtil.RandomAction(f2, function() target:SetReliveFilter(false) end) @@ -4291,8 +4334,7 @@ local passivityList = { local f1 = args[2] local i2 = args[3] -- 初始怒气增加 - role:AddRage(i1, CountTypeName.Add) - + BattleUtil.CalRage(role,role,i1,CountTypeName.Add) -- 死亡数量 local onRoleTurnEnd = function(target) if not target:IsDead() and BattleLogic.BuffMgr:HasBuff(target, BuffName.Curse, function(buff) return buff.curseType == CurseTypeName.ShareDamage end) then @@ -5107,7 +5149,6 @@ local passivityList = { -- 紫+橙 local num = OutDataManager.GetOutData(role.camp, id) - --LogError("笔使用次数:"..num) num = min(maxNum, num) BattleUtil.AddProp(role, pro1, f1 * num, ct1) end, @@ -5397,7 +5438,7 @@ local passivityList = { role.Event:RemoveEvent(BattleEventName.RoleHit, onHit) end local onDamaging = function(func, target) - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then role.Event:AddEvent(BattleEventName.RoleHit, onHit,nil,nil,role) end end @@ -5631,7 +5672,7 @@ local passivityList = { role.Event:AddEvent(BattleEventName.PassiveDamaging, onPassiveDamaging,nil,nil,role) end, --本次技能中如果有[a]目标,额外回复[b]点怒气 - -- a[持续伤害状态]b[int] + -- a[持续伤害状态],b[int] [261]=function(role,args,id,judge) local dot=args[1] local i1 = args[2]--defRole, damage, bCrit, finalDmg, damageType, skill @@ -5649,7 +5690,7 @@ local passivityList = { end local num=0 for key, value in pairs(list) do - local isHave=BattleLogic.BuffMgr:HasBuff(value, BuffName.DOT, function(buff) return buff.damageType == dot and buff.caster==role and buff.startRound == BattleLogic.GetCurRound() end) + local isHave=BattleLogic.BuffMgr:HasBuff(value, BuffName.DOT, function(buff) return buff.damageType == dot and buff.caster==role and buff.startRound == BattleLogic.GetCurRound() end,role,dot) if isHave then num=num+1 end @@ -5704,8 +5745,9 @@ local passivityList = { if defRole and defRole.camp~=role.camp and skill.owner==role and (skill.type==BattleSkillType.Special or skill.type==BattleSkillType.Extra) then BattleUtil.RandomAction(pro, function() BattleLogic.BuffMgr:ClearBuff(defRole, function(buff) - if buff.type == BuffName.Immune and (buff.immuneType == 4 or buff.immuneType == 2) then - -- buff.target.Event:DispatchEvent(BattleEventName.ShowHintText, BattleArtFontType.clear) + --之前写的 buff.immuneType == 2 不知道为什么清除免疫燃烧 改成==1 了 by:王振兴 2021/06/09 + if buff.type == BuffName.Immune and (buff.immuneType == 4 or buff.immuneType == 1) then + buff.target.Event:DispatchEvent(BattleEventName.ShowHintText, BattleArtFontType.clear) return true end return false @@ -5750,7 +5792,7 @@ local passivityList = { -- table.insert(list,defRole) for i=1, #list do --如果目标身上没有灼烧效果 - if not BattleLogic.BuffMgr:HasBuff(list[i], BuffName.DOT, function (buff) return buff.type== BuffName.DOT and buff.damageType==state1 end) then + if not BattleLogic.BuffMgr:HasBuff(list[i], BuffName.DOT, function (buff) return buff.type== BuffName.DOT and buff.damageType==state1 end,role,state1) then local damage = BattleUtil.ErrorCorrection(v1 * role:GetRoleData(BattlePropList[pro1])) BattleUtil.RandomDot(1, state2, role, list[i], time, 1, floor(damage)) end @@ -5806,7 +5848,7 @@ local passivityList = { end local num=0 for key, value in pairs(list) do - local isHave=BattleLogic.BuffMgr:HasBuff(value, BuffName.Control, function(buff) return buff.ctrlType == dot and buff.caster==role and buff.startRound == BattleLogic.GetCurRound() end) + local isHave=BattleLogic.BuffMgr:HasBuff(value, BuffName.Control, function(buff) return buff.ctrlType == dot end) if isHave then BattleUtil.CalRage(role, value, i1, CountTypeName.Sub) end @@ -5864,7 +5906,7 @@ local passivityList = { local curBuff=nil local onRoleDamageBefore=function(atkRole, factorFunc, damageType, skill) - if atkRole.camp~= role.camp and BattleLogic.BuffMgr:HasBuff(skill.owner, BuffName.DOT, function (buff) return buff.damageType == sta1 end) then + if atkRole.camp~= role.camp and BattleLogic.BuffMgr:HasBuff(skill.owner, BuffName.DOT, function (buff) return buff.damageType == sta1 end,role,sta1) then --curBuff=Buff.Create(role, BuffName.Immune, 1,4,immune) -- role:AddBuff(curBuff) role.buffFilter:Add(immune) @@ -5918,7 +5960,7 @@ local passivityList = { if caster and caster.camp==role.camp then return end - if BattleLogic.BuffMgr:HasBuff(caster, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(caster, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then BattleUtil.CalRage(role, role, f1, ct) end end @@ -5959,7 +6001,7 @@ local passivityList = { if target and target.camp==role.camp then return end - if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end) then + if BattleLogic.BuffMgr:HasBuff(target, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then local list = RoleManager.GetNeighbor(role, 1) if list then for key, value in pairs(list) do @@ -6007,7 +6049,7 @@ local passivityList = { local curBuff=nil local immuneState=false local onRoleDamageBefore=function(atkRole, factorFunc, damageType, skill) - if atkRole.camp~= role.camp and BattleLogic.BuffMgr:HasBuff(skill.owner, BuffName.DOT, function (buff) return buff.damageType == sta1 end) then + if atkRole.camp~= role.camp and BattleLogic.BuffMgr:HasBuff(skill.owner, BuffName.DOT, function (buff) return buff.damageType == sta1 end,role,sta1) then --curBuff=Buff.Create(role, BuffName.Immune, 1,4,immune) -- role:AddBuff(curBuff) role.buffFilter:Add(immune) @@ -6118,13 +6160,26 @@ local passivityList = { end role.Event:AddEvent(BattleEventName.SkillEffectBefore, onSkillEffectBefore,nil,nil,role) end, - --为己方神将附加的护盾消失后,回复被保护的神将[a][b]%的血量 - --a[int 属性id] b[flaot] + --为己方神将附加的护盾消失后,回复被保护的神将[a][b]%的血量,盾的类型为[c],己方神将为[d]阵营 (不填c,默认为所有盾;不填d,默认所有阵营) + --a[int 属性id] b[flaot] c[int] d[int] [278]=function(role,args) local pro=args[1] local v1=args[2] + local shieldType = args[3] + local ele =args[4] local OnBuffEnd=function(buff) - if buff and not buff.target:IsDead() and buff.caster==role and buff.type==BuffName.Shield then + + if buff.caster~=role then + return + end + if ele and buff.target.element~=ele then + return + end + if shieldType and buff and buff.type==BuffName.Shield and buff.shieldType~=shieldType then + return + end + + if buff and not buff.target:IsDead() and buff.type==BuffName.Shield then local val = floor(BattleUtil.FP_Mul(v1, buff.target:GetRoleData(BattlePropList[pro]))) BattleUtil.CalTreat(role,buff.target, val) end @@ -6188,7 +6243,7 @@ local passivityList = { if num>=0 then --精卫转移怒气不算减怒 role.Rage=role.Rage-lessRage - caster:AddRage(lessRage, CountTypeName.Add) + BattleUtil.CalRage(role,caster,lessRage,CountTypeName.Add) -- 用于记录统计 BattleLogic.Event:DispatchEvent(BattleEventName.RecordTransRage, role, caster, lessRage) end @@ -6228,14 +6283,20 @@ local passivityList = { end BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, OnRoundChange,nil,nil,role) end, - --释放技能后,额外[a]改变[b]方怒气最少的[c]阵营目标[d]点怒气 - --a[int 改变类型],b[int 0:己方 1:敌方],c[int],d[int] + --释放技能后,额外[a]改变[b]方怒气最少的[c]阵营目标[d]点怒气,目标人数[e](e 不填默认为 1人 填10为敌方燃烧数 ) + --a[int 改变类型],b[int 0:己方 1:敌方],c[int],d[int],e[int] [283]=function(role,args,id,judge) local ct=args[1] local camp=args[2] local ele=args[3] local v1=args[4] + local num= args[5] + if not num then + num=1 + end + local onSkillCastEnd=function(skill) + local fireNum=0 if skill and not skill.isTriggerJudge and judge==1 then return end @@ -6244,13 +6305,30 @@ local passivityList = { if camp==0 then list= RoleManager.Query(function(v) return v.camp == role.camp and v.element==ele end) elseif camp==1 then - list= RoleManager.Query(function(v) return v.camp ~= role.camp and v.element==ele end) + list= RoleManager.Query(function(v) return v.camp ~= role.camp and v.element==ele end) end if not list or #list ==0 then return end + --查找敌方燃烧数量 + if num==10 then + fireNum=0 + local arr=skill:GetDirectTargets() + -- local arr=RoleManager.Query(function (v) return v.camp~=role.camp end) + for i = 1, #arr do + local aaa=BattleLogic.BuffMgr:HasBuff(arr[i], BuffName.DOT, function (buff) return buff.damageType==1 end,role,1) + if aaa then + fireNum=fireNum+1 + end + end + end list=BattleUtil.SortByRage(list,0) - BattleUtil.CalRage(role, list[1], v1, ct) + + for i = 1, #list do + if i<=fireNum then + BattleUtil.CalRage(role, list[i], v1, ct) + end + end end end role.Event:AddEvent(BattleEventName.SkillCastEnd, onSkillCastEnd,nil,nil,role) @@ -6408,7 +6486,18 @@ local passivityList = { local targets = args[1] local f1 = args[2] local f2=args[3] + local isTurn=false local onRoleHit = function(target, damage, bCrit, finalDmg, damageType, skill) + if not skill then + return + end + --改为一次行动只触发一次,不管这次行动追加多少次技能,击杀多少次,都只触发一次 by:wangzhenxing dengdan 2021/7/16 + if not isTurn then + return + end + if skill.isNotLoop then + return + end --如果是技能并且这个被动已经被触发过 return if skill and BattleUtil.ChecklistIsContainValue(skill.triggerPassivityId,id) then return @@ -6420,13 +6509,26 @@ local passivityList = { if target:IsDead() and not BattleUtil.CheckIsNoDead(target) and not role:IsDead() then --role:InsertExtraSkill(f1,f2) local effectData={role.superSkill[1],role.superSkill[2],role.superSkill[3],role.superSkill[4],{targets,{1,f1,f2}}} - SkillManager.InsertSkill(role, effectData,BattleSkillType.Extra, nil, true, false) + SkillManager.InsertSkill(role, effectData,BattleSkillType.Extra, nil, true, false,false,true) + isTurn=false if skill then table.insert(skill.triggerPassivityId,id) end end end role.Event:AddEvent(BattleEventName.RoleHit, onRoleHit,nil,nil,role) + + + local onRoleTurnStart=function() + isTurn=true + end + role.Event:AddEvent(BattleEventName.RoleTurnStart,onRoleTurnStart,nil,nil,role) + + -- local onRoleTurnEnd=function() + -- isTurn=false + -- end + -- role.Event:AddEvent(BattleEventName.RoleTurnEnd,onRoleTurnEnd,nil,nil,role) + end, --魂印[a]改变控制概率[b]% ,减员[c]改变控制概率[d]%,减员[e]改变伤害[f]%(只作用于主动技能效果120) --a[改变类型]b[float] c[改变类型] d[int] e[改变类型] f[flaot] @@ -6437,6 +6539,7 @@ local passivityList = { local f2 = args[4] local ct3 = args[5] local f3 = args[6] + local onSkillEffectBefore = function(skill, e, func) if skill.type == BattleSkillType.Special then if e.type == 120 then -- 当前只对技能效果103生效 @@ -6453,6 +6556,7 @@ local passivityList = { end end role.Event:AddEvent(BattleEventName.SkillEffectBefore, onSkillEffectBefore,nil,nil,role) + end, --如果被持续治疗的神将是[a]系神将,持续治疗效果[b]改变[c]回合,并添加免疫[d]的效果,并且移除[e]效果(e 不填不会移除) --a[int,角色职业] b[int,改变类型] c[int] d[int,控制类型] e[int 控制类型] @@ -6539,7 +6643,7 @@ local passivityList = { local onRoundChange=function() if aa>=time then local ange= floor(aa/time) - role:AddRage(ange*num, CountTypeName.Add) + BattleUtil.CalRage(role,role,ange*num,CountTypeName.Add) aa=0 end end @@ -6565,7 +6669,7 @@ local passivityList = { end end if isHave then - role:AddRage(num, CountTypeName.Add) + BattleUtil.CalRage(role,role,num,CountTypeName.Add) end end end @@ -6576,41 +6680,45 @@ local passivityList = { -- 技能,普攻治疗治疗的目标为[a]阵营,资料量额外提升[b]%,并解除[c]效果 -- a[int], b[flaot], c[持续伤害type类型] [298] = function(role, args,id,judge) - local ele = args[1] - local v1 = args[2] - local type = args[3] - local curSkill = nil - local passiveTreating = function(func,target) - if curSkill and curSkill.isTriggerJudge==false and judge==1 then - return - end - if target and target.roleData.element ==ele then - BattleLogic.BuffMgr:ClearBuff(target, function (buff) - return buff.type == BuffName.DOT and buff.damageType==type - end) - if func then func(v1, CountTypeName.AddPencent) end - end - end - local disposeCtrlNoHeal = function(caster,target) - if caster==role and target.ctrl_noheal and target.roleData.element==ele then - BattleLogic.BuffMgr:ClearBuff(target, function (buff) - return buff.type == BuffName.Control and buff.ctrlType==4 - end) + local ele = args[1] + local v1 = args[2] + local type = args[3] + local curSkill = nil + local passiveTreating = function(func,target) + if curSkill and curSkill.isTriggerJudge==false and judge==1 then + return + end + if target and target.roleData.element ==ele then + if type then + BattleLogic.BuffMgr:ClearBuff(target, function (buff) + return buff.type == BuffName.DOT and buff.damageType==type + end) + end + if func then func(v1, CountTypeName.AddPencent) end + end + end + local disposeCtrlNoHeal = function(caster,target) + if caster==role and target.ctrl_noheal and target.roleData.element==ele then + if type then + BattleLogic.BuffMgr:ClearBuff(target, function (buff) + return buff.type == BuffName.Control and buff.ctrlType==4 + end) end - end - local OnSkillCast = function(skill) - curSkill=skill - role.Event:AddEvent(BattleEventName.PassiveTreatingFactor, passiveTreating,nil,nil,role) - BattleLogic.Event:AddEvent(BattleEventName.DisposeRoleCtrl_noheal,disposeCtrlNoHeal,nil,nil,role) - end - local OnSkillCastEnd = function(skill) - curSkill=nil - role.Event:RemoveEvent(BattleEventName.PassiveTreatingFactor, passiveTreating) - BattleLogic.Event:RemoveEvent(BattleEventName.DisposeRoleCtrl_noheal,disposeCtrlNoHeal) - end - role.Event:AddEvent(BattleEventName.SkillCast, OnSkillCast,nil,nil,role) - role.Event:AddEvent(BattleEventName.SkillCastEnd, OnSkillCastEnd,nil,nil,role) - end, + end + end + local OnSkillCast = function(skill) + curSkill=skill + role.Event:AddEvent(BattleEventName.PassiveTreatingFactor, passiveTreating) + BattleLogic.Event:AddEvent(BattleEventName.DisposeRoleCtrl_noheal,disposeCtrlNoHeal) + end + local OnSkillCastEnd = function(skill) + curSkill=nil + role.Event:RemoveEvent(BattleEventName.PassiveTreatingFactor, passiveTreating) + BattleLogic.Event:RemoveEvent(BattleEventName.DisposeRoleCtrl_noheal,disposeCtrlNoHeal) + end + role.Event:AddEvent(BattleEventName.SkillCast, OnSkillCast) + role.Event:AddEvent(BattleEventName.SkillCastEnd, OnSkillCastEnd) + end, --死亡时,立即回复己方全体自身[a]*[b]的血量。 --a[属性],b[float] @@ -6840,6 +6948,184 @@ local passivityList = { end role.Event:AddEvent(BattleEventName.BuffCaster, OnBuffCaster,nil,nil,role) end, + -- 受到技能伤害时,会为血量属性最低的神将额外回复自身[a]%的[b] + -- 回复a[float] b[int 属性id] + [307] = function(role, args) + local f1 = args[1] + local pro=args[2] + local onBeSkillHit = function(caster, damage, bCrit, finalDmg, damageType, skill) + --如果角色死亡就不会触发 + if role:IsDead() then + return + end + -- if skill and not skill.isTriggerJudge and judge==1 then + -- return + -- end + -- LogYellow("307 1") + if skill and (skill.type==BattleSkillType.Special or skill.type== BattleSkillType.Extra or skill.type== BattleSkillType.Monster) then --技能造成的直接伤害 + local list = RoleManager.Query(function(v) return v.camp == role.camp end) + BattleUtil.SortByHpFactor(list, 1) + -- LogYellow("307 2") + if list[1] then + -- LogYellow("307 3") + local val = floor(BattleUtil.FP_Mul(f1, list[1]:GetRoleData(BattlePropList[pro]))) + BattleUtil.CalTreat(role, list[1], val) + end + end + end + role.Event:AddEvent(BattleEventName.RoleBeHit, onBeSkillHit,nil,nil,role) + end, + -- 普攻后目标附加1个免疫控制的效果[a][b][c](眩晕、沉默、麻痹)的护盾,持续[d]]回合 + -- 免疫控制的效果a[int]b[int]c[int] d[int,回合] + [308] = function(role, args,id,judge) + local ctrl = args[1] + local ctr2 = args[2] + local ctr3 = args[3] + local round = args[4] + local ctrls={} + if ctrl then + table.insert(ctrls,ctrl) + end + if ctr2 then + table.insert(ctrls,ctr2) + end + if ctr3 then + table.insert(ctrls,ctr3) + end + local immune = function(buff) + return buff.type == BuffName.Control and (BattleUtil.ChecklistIsContainValue(ctrls,buff.ctrlType)) + end + -- 释放技能后 + local onSkillEnd = function(skill) + -- if skill and not skill.isTriggerJudge and judge==1 then + -- return + -- end + -- LogYellow("308 1") + if skill.type == BattleSkillType.Normal then + local targets = skill:GetDirectTargetsNoMiss() + -- LogYellow("308 2") + if targets then + -- LogYellow("308 3: "..#targets) + local curBuff=nil + for _, r in ipairs(targets) do + curBuff=Buff.Create(r, BuffName.Immune, round,4,immune) + r:AddBuff(curBuff) + end + end + end + end + role.Event:AddEvent(BattleEventName.SkillCastEnd, onSkillEnd,nil,nil,role) + end, + --释放技能时,如果当前血量最少的神将为[a]系神将,清除控制效果(眩晕、沉默、麻痹、混乱) + --a[int,角色职业] 控制效果b[int]c[int]d[int]e[int] + [309] = function(role, args) + local ele = args[1] + local ctrl = args[2] + local ctr2 = args[3] + local ctr3 = args[4] + local ctr4 = args[5] + local SkillCast = function(damagingFunc, defRole, damage, skill) + local list = RoleManager.Query(function(v) return v.camp == role.camp end) + BattleUtil.SortByHpFactor(list, 1) + local target = nil + -- LogYellow("309 1: "..#list) + for i = 1, #list do + if not list[i]:IsRealDead() then + target = list[i] + break + end + end + if target and target.roleData.element==ele then + -- LogYellow("309 2") + BattleLogic.BuffMgr:ClearBuff(target, function(buff) + -- LogYellow("309 3: "..buff.type.." "..buff.ctrlType) + return buff.type == BuffName.Control and (buff.ctrlType == ctrl or buff.immuneType == ctr2 or buff.immuneType == ctr3 or buff.immuneType == ctr4) + end) + end + end + role.Event:AddEvent(BattleEventName.SkillCast,SkillCast,nil,nil,role) + end, + -- 敌方暴毙时,将会对周围的目标造成[a]%的[b]属性伤害 + -- a[float] b[int,属性id] + [310] = function(role, args,id,judge) + local f1 = args[1] + local pro =args[2] + local onRoleHit = function(target, damage, bCrit, finalDmg) + -- --屏蔽相同阵应 + -- if target and target.camp==role.camp then + -- return + -- end + -- LogYellow("310 1 "..target.position) + if target:IsDead() then + local list = RoleManager.GetNeighbor(target, 1) + if list then + for key, value in pairs(list) do + if value and value ~= target then + -- LogYellow("310 2 周围的目标造成[a]%的[b]属性伤害 value:"..value.position) + local val = floor(BattleUtil.FP_Mul(f1, role:GetRoleData(BattlePropList[pro]))) + -- LogYellow("310 end pro: "..pro.." val: "..val) + BattleUtil.FinalDamage(role, value, val) + end + end + end + end + end + role.Event:AddEvent(BattleEventName.RoleHit, onRoleHit,nil,nil,role) + end, + -- 触发追击技能时,该追击技能的伤害[a]% 提高[b]改变类型 + -- a[float] b[int,改变类型] + [311] = function(role, args) + local f1 = args[1] + local ct = args[2] + local OnPassiveDamaging = function(damagingFunc, defRole, damage, skill) + -- LogYellow("311 1 ") + -- if skill then + -- LogYellow("311 2 "..skill.type.." "..tostring(skill.isAdd)) + -- end + if skill and skill.type == BattleSkillType.Extra and skill.isAdd then + local dd = BattleUtil.CountValue(damage, f1, ct) - damage + -- LogYellow("311 3 end f1: "..f1.." ct: "..ct.." dd "..dd) + damagingFunc(-floor(BattleUtil.ErrorCorrection(dd))) + end + end + role.Event:AddEvent(BattleEventName.PassiveDamaging, OnPassiveDamaging,nil,nil,role) + end, + + -- 敌方处于链接符状态的目标如果受到回怒效果,阎罗王也同时受到回怒效果,每回合回复不超过[a]点怒气。 + -- a[int] + [312] = function(role, args) + local n1 = args[1] + local curRoundAddValue = 0--当前回合加的所有怒气点数 + local onRecordRageChange = function(caster, target, deltaRage,countType,value) + -- LogYellow("312 1") + if countType == CountTypeName.Add then + -- LogYellow("312 2") + local list=BattleLogic.BuffMgr:GetBuff(target) + for i = 1, #list do + local buff=list[i] + -- 有连接符 + if BattleLogic.BuffMgr:HasBuff(target, BuffName.Curse, function(buff) return buff.curseType == CurseTypeName.ShareDamage end) then + -- LogYellow("312 3") + if curRoundAddValue <= n1 then + local endAddNum = value + if (curRoundAddValue + endAddNum) > n1 then + endAddNum = n1 - curRoundAddValue + end + -- LogYellow("312 4 endAddNum: "..endAddNum) + curRoundAddValue = curRoundAddValue + endAddNum + BattleUtil.CalRage(role,role,endAddNum,CountTypeName.Add) + return + end + end + end + end + end + BattleLogic.Event:AddEvent(BattleEventName.RecordRageChange, onRecordRageChange,nil,nil,role) + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, function(curRound) + -- LogYellow("312 5 curRoundAddValue = 0") + curRoundAddValue = 0 + end,nil,nil,role) + end, -- 根据生命百分比添加被动 血量百分比[a],被动id[b],...(后面没有的不配) -- a[float],b[int],c[float],d[int],e[float],f[int],g[float],h[int] [313] = function(role, args,id,judge) @@ -6956,26 +7242,33 @@ local passivityList = { [318] = function(role, args) local f1 = args[1] local ctrlNum=0 - local isCtrl=false - -- 死亡数量 - local onRoleAddBuffMiss = function(buff) - if buff then - if buff.type==BuffName.Control and buff.caster==role then - isCtrl=true - ctrlNum=ctrlNum+1 - end + + local onBuffCaster = function(buff) + if buff.type == BuffName.Control then + ctrlNum = ctrlNum + 1 end end - BattleLogic.Event:AddEvent(BattleEventName.RoleAddBuffFail, onRoleAddBuffMiss,nil,nil,role) + + local onSkillCastStart= function(skill) + if skill.owner == role then + ctrlNum = 0 + role.Event:AddEvent(BattleEventName.BuffCaster, onBuffCaster,nil,nil,role) + end + end + local onSkillCastEnd= function(skill) - local maxNum=#skill:GetDirectTargets() - if isCtrl and ctrlNum>=maxNum then - BattleUtil.CalRage(role, role,f1, CountTypeName.Add) + if skill.owner == role then + if ctrlNum == 0 then + if skill.type == BattleSkillType.Special or skill.type==BattleSkillType.Extra then + BattleUtil.CalRage(role, role,f1, CountTypeName.Add) + end + end + role.Event:RemoveEvent(BattleEventName.BuffCaster, onBuffCaster,nil,nil,role) end - isCtrl=false - ctrlNum=0 end - role.Event:AddEvent(BattleEventName.SkillCastEnd,onSkillCastEnd,nil,nil,role) + -- 这里使用BattleLogic.Event,因为有的技能效果是在人物技能释放完成后生效的 + BattleLogic.Event:AddEvent(BattleEventName.SkillCast,onSkillCastStart,nil,nil,role) + BattleLogic.Event:AddEvent(BattleEventName.SkillCastEnd,onSkillCastEnd,nil,nil,role) end, --死亡时,按剩余怒气乘[a]平均分给存活队友,每人至少[b]点,按站位优先 --a[int],b[int] @@ -6984,21 +7277,27 @@ local passivityList = { local v2 = args[2] local OnDead = function(atkRole,skill) - local arr=RoleManager.Query(function(v) return v.camp==role.camp and v~=role end) - local len=#arr - local rage1=role.Rage*v1 - if rage10 then + local list = skill:GetDirectTargets() + list = BattleUtil.SortByHpFactor(list,type) + if list then + for i = 1, #list do + if list[i] and not list[i]:IsDead() then + BattleUtil.FinalDamage(nil,role,list[i],allDamage) + allDamage=0 + break + end + end + end + end + end + + + role.Event:AddEvent(BattleEventName.SkillCastEnd,onSkillCastEnd,nil,nil,role) + end, + --[a]攻击时,如果目标处于持续伤害[b]状态,则有[c]%的概率使目标[d][e]回合 + --a[int 攻击类型 1:普攻 4:死亡技能] + [323]=function(role,args,id,judge) + local st = args[1] + local dt = args[2] + local p1 = args[3] + local ct = args[4] + local round=args[5] + local onRoleBeDamage=function (defRole, atkRole, damage, bCrit, finalDmg, damageType, dotType, skill) + if atkRole and atkRole~=role then + return + end + if not skill or skill.type~=st then + return + end + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT, function(buff) return buff.damageType == dt end,role,dt) then + BattleUtil.RandomControl(p1,ct,role,defRole,round) + end + end + BattleLogic.Event:AddEvent(BattleEventName.RoleBeDamaged,onRoleBeDamage,nil,nil,role) + end, + --释放技能怒气不足时,损失自身([a]-我方活着的[b]系神将数)%生命*不足怒气数 后释放技能 + --a[int],b[int] + [324]=function(role,args) + local max=args[1] + local ele=args[2] + local onRoleCastSkillBrfore=function(caster) + if caster~=role then + return + end + --释放者死亡或释放着被沉默 + if caster:IsRealDead() or caster.ctrl_slient then + return + end + local num=role.SuperSkillRage-role.Rage + local list = RoleManager.Query(function(v) return v.camp == role.camp and v.element==ele and v~=role end) + local curHp=role:GetRoleData(RoleDataName.Hp) + local aaa=(max-#list)/100*num + local removeHp= floor(role:GetRoleData(RoleDataName.MaxHp)*aaa) + --如果血量不足抵扣就只剩1点血 + if removeHp>=curHp then + removeHp=curHp-1 + end + BattleUtil.CalRage(role,role,num,CountTypeName.Add) + BattleUtil.FinalDamage(nil,role,role,removeHp) + end + BattleLogic.Event:AddEvent(BattleEventName.RoleCastSkillBefore, onRoleCastSkillBrfore,nil,nil,role) + end, + -- 被自身控制[a]的敌方目标,己方[b]阵营神将对其造成伤害增加[c]% + -- a[int 控制状态] b[int] c[float] + [325] = function(role, args) + local f1 = args[1] + local ele = args[2] + local f2 = args[3] + + local function onPassiveDamaging(damagingFunc, atkRole, defRole, damage,skill,skilldotType, bCrit,damageType, dotType,isDirect) + --不是真实伤害 + if not skill and not isDirect then + return + end + if atkRole.camp==role.camp and atkRole.element==ele and BattleLogic.BuffMgr:HasBuff(defRole, BuffName.Control, function (buff) return buff.ctrlType == f1 and buff.caster==role end) then + local dd = BattleUtil.CountValue(damage, f2, CountTypeName.AddPencent) - damage + damagingFunc(-floor(BattleUtil.ErrorCorrection(dd))) + end + end + BattleLogic.Event:AddEvent(BattleEventName.PassiveDamaging, onPassiveDamaging,nil,nil,role) + end, + --自身添加的控制[a]结束时,被控制的目标改变[b][c]点怒气 + --a[int], b[int], c[int] + [326]=function(role,args) + local ctrl=args[1] + local ct =args[2] + local num =args[3] + local OnBuffEnd=function(buff) + if buff.caster~=role or buff.type~= BuffName.Control or buff.ctrlType~=ctrl then + return + end + BattleUtil.CalRage(role,buff.target,num,ct) + end + BattleLogic.Event:AddEvent(BattleEventName.BuffEnd, OnBuffEnd,nil,nil,role) + end, + --释放技能后,我方怒气最少的[a]阵营目标行动一回合(释放一次技能) + --a[int] + [327]=function(role,args,id,judge) + local ele=args[1] + + local onSkillCastEnd=function(skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if skill and (skill.type== BattleSkillType.Special or skill.type==BattleSkillType.Extra ) then + local list= RoleManager.Query(function(v) return v.camp == role.camp and v.element==ele and v~=role end) + if not list or #list ==0 then + return + end + list=BattleUtil.SortByRage(list,0) + -- list[1]:CastSkill() + BattleLogic.InsertSkillRole(list[1]) + end + end + role.Event:AddEvent(BattleEventName.SkillCastEnd, onSkillCastEnd,nil,nil,role) + end, + --[a]排敌人获取无法消除的无敌盾,无敌盾击杀全部另外一排后消失 + --a[int 1:前排 2:后排] + [328]=function(role,args,id,judge) + local pos=args[1] + local buff=nil + --给我方前/后排上无敌盾 + if pos==BattleUtil.GetRolePosType(role.position) then + --无敌盾 + buff=Buff.Create(role, BuffName.Shield, 0, ShieldTypeName.AllReduce, 0, 0) + buff.clear=false + role:AddBuff(buff) + end + + local onBattleRoleDead = function(defRole) + --如果死的是敌方 or 死亡的是有无敌盾的那排 + if defRole.camp~=role.camp or pos==BattleUtil.GetRolePosType(defRole.position) then + return + end + local list = RoleManager.Query(function(v) return v.camp == role.camp and pos~=BattleUtil.GetRolePosType(v.position) end) + BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime*3, function ()--加个延时,防止击杀的角色复活计算不准确 + if #list>0 then + return + end + if BattleLogic.BuffMgr:HasBuff(role, BuffName.Shield, function(buff1) return buff1==buff end) then + buff.disperse=true + end + end) + end + BattleLogic.Event:AddEvent(BattleEventName.RoleRealDead, onBattleRoleDead,nil,nil,role) + end, + --死亡后有[a]%概率[b]%血量复活,并回复[c]点怒气 + --a[float],b[float],c[int] + [329]=function (role,args,id,judge) + local p1=args[1] + local p2=args[2] + local num=args[3] + local onRoleRealDead = function(deadRole) + --如果死亡的不是自身 + if deadRole~=role then + return + end + BattleUtil.RandomAction(p1, function () + deadRole:SetRelive(p2) + BattleUtil.CalRage(role, role,num,CountTypeName.Add) + end) + end + BattleLogic.Event:AddEvent(BattleEventName.RoleRealDead, onRoleRealDead,nil,nil,role) + end, + --死亡后有[a]%概率随机击杀敌方一个神将 + --a[float] + [330]=function (role,args,id,judge) + local p1=args[1] + local onRoleRealDead = function(deadRole) + --如果死亡的不是自身 + if deadRole~=role then + return + end + BattleUtil.RandomAction(p1, function () + local list = RoleManager.Query(function(r) + return r.camp ~= role.camp + end) + if #list < 1 then return end + local index = Random.RangeInt(1, #list) + local target = list[index] + BattleUtil.Seckill(nil,role,target) + end) + end + BattleLogic.Event:AddEvent(BattleEventName.RoleRealDead, onRoleRealDead,nil,nil,role) + end, + --行动后,每剩余1点怒气对[a]自己造成伤害[b][c]%的伤害 + --a[int 1:自己],b[int],c[float] + [331]=function (role,args,id,judge) + local v1=args[1] + local v2=args[2] + local v3=args[3] + local onRoleRealDead = function(caster) + if caster~=role then + return + end + local target=nil + if v1==1 then + target=role + end + local damage=floor(BattleUtil.ErrorCorrection(target:GetRoleData(BattlePropList[v2]) * v3))*target.Rage + BattleUtil.FinalDamage(nil,role,target,damage) + end + BattleLogic.Event:AddEvent(BattleEventName.RoleTurnStart, onRoleRealDead,nil,nil,role) + end, + --技能击中受到[a,持续伤害]的目标,会有[b]%概率[c]改变[d]点怒气(概率随人数增加),阵营限制为[e]阵营(e不填则没有限制) + -- a[int 持续伤害],b[float],c[int],d[int],e[int] + [332]=function(role,args,id,judge) + local dot=args[1] + local p1 = args[2] + local ct=args[3] + local num=args[4] + local ele=args[5] + local burnList={} + local OnRoleHit = function(skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if not skill then + return + end + if ele and ele~=role.element then + return + end + local list=skill:GetDirectTargetsNoMiss() + if not list then + return + end + for key, value in pairs(list) do + local isHave=BattleLogic.BuffMgr:HasBuff(value, BuffName.DOT, function(buff) return buff.damageType == dot and buff.caster==role end,role,dot) + if isHave then + if not BattleUtil.ChecklistIsContainValue(burnList,value.position) then + table.insert(burnList,value.position) + end + end + end + BattleUtil.RandomAction(p1*#burnList,function() + BattleUtil.CalRage(role,role,num,ct) + end) + burnList={} + end + local onSkillCast=function(skill,defRole) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if not skill then + return + end + if not BattleUtil.ChecklistIsContainValue(burnList,defRole.position) then + table.insert(burnList,defRole.position) + end + end + role.Event:AddEvent(BattleEventName.HitRoleInBurn,onSkillCast,nil,nil,role) + role.Event:AddEvent(BattleEventName.SkillCastEnd, OnRoleHit,nil,nil,role) + end, + --技能攻击使目标怒气清零时,[a]%概率恢复[b]点怒气(概率随人数增加),阵营限制[c](c不填不做限制) + --a[float],c[float],d[伤害类型],e[int] + [333] = function(role, args,id,judge) + local p1 = args[1] + local v1 = args[2] + local ele = args[3] + --被爆击的人数 + local count=0 + + local OnRoleCrit = function(caster, target, deltaRage,countType,value,lastRage) + if ele and ele~=role.element then + return + end + if target.camp==role.camp then + return + end + if countType==CountTypeName.Sub and target.Rage==0 and lastRage~=0 then + count=count+1 + end + end + + -- 技能后后 + local onSkillCastEnd = function(skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if skill.owner~=role then + return + end + BattleUtil.RandomAction(p1*count,function() + BattleUtil.CalRage(role, role,v1, CountTypeName.Add) + end) + end + + local onSkillCast = function(skill) + count=0 + end + + role.Event:AddEvent(BattleEventName.SkillCast, onSkillCast,nil,nil,role) + BattleLogic.Event:AddEvent(BattleEventName.RecordRageChange, OnRoleCrit,nil,nil,role) + BattleLogic.Event:AddEvent(BattleEventName.SkillCastEnd, onSkillCastEnd,nil,nil,role) + end, + + --获取当前技能的主目标 + [334]=function(role, args,id,judge) + local onSkillCast = function(skill) + if not skill then + return + end + if skill and not skill.isTriggerJudge and judge==1 then + return + end + local list=skill:GetDirectTargets() + local target=RoleManager.GetAggroHero(role,list) + if target and BattleUtil.LengthOfTable(target)>0 then + role.curMainTarget=target[1] + end + end + role.Event:AddEvent(BattleEventName.SkillCastBefore, onSkillCast,nil,nil,role) + end, + --造成的伤害暴击后,[a]%概率恢复[b]点怒气,阵营限制[c](c不填不做限制) + --a[float],b[int],c[int] + [335] = function(role, args,id,judge) + local p1 = args[1] + local v1 = args[2] + local ele = args[3] + --被爆击的人数 + local num=0 + local OnRoleCrit = function(defRole, damage, bCrit, finalDmg, damageType, skill) + if ele and ele~=role.element then + return + end + num=num+1 + end + + local onSkillCast = function(skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + role.Event:AddEvent(BattleEventName.RoleCrit, OnRoleCrit,nil,nil,role) + end + + -- 技能后后 + local onSkillCastEnd = function(skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + role.Event:RemoveEvent(BattleEventName.RoleCrit, OnRoleCrit,nil,nil,role) + BattleUtil.RandomAction(p1*num,function() + BattleUtil.CalRage(role, role,v1, CountTypeName.Add) + end) + num=0 + end + role.Event:AddEvent(BattleEventName.SkillCast, onSkillCast,nil,nil,role) + role.Event:AddEvent(BattleEventName.SkillCastEnd, onSkillCastEnd,nil,nil,role) + end, + -- 武将怒气为[a]点时即可释放技能,释放技能消耗当前所有怒气 超过[c]点的怒气部分 每消耗1点怒气技能伤害为[b]%(c不填默认为4) + -- a[int]b[float],c[int] + [336] = function(role, args) + local i1 = args[1] + local f1 = args[2] + local num = args[3] + if not num then + num=4 + end + -- 提高技能释放怒气值 + role.SuperSkillRage = i1 + + -- + local allRage = 0 + local function onRoleRageCost(rage, rate, func) + allRage = role.Rage + local deltaRage = allRage - role.SuperSkillRage + if func then + func(0, deltaRage) + end + end + role.Event:AddEvent(BattleEventName.RoleRageCost, onRoleRageCost,nil,nil,role) + + + -- 释放技能后 + local onPassiveDamaging = function(damagingFunc, defRole, damage, skill, dotType) + if skill and skill.type == BattleSkillType.Special then + local deltaRage = allRage - num + if deltaRage > 0 then + local dd = damage-(damage*f1 * deltaRage) + damagingFunc(floor(BattleUtil.ErrorCorrection(dd))) + end + end + end + role.Event:AddEvent(BattleEventName.PassiveDamaging, onPassiveDamaging,nil,nil,role) + + end, + -- 直接伤害击杀目标后下回合必定暴击 + -- a[int] + [337] = function(role, args,id,judge) + + local currRound = 1 + local isKill=false + local isRoundCrit=false + -- 释放技能后 + local onRoleHit = function(target,damage, bCrit, finalDmg, damageType, skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + --如果是技能并且这个被动已经被触发过 return + if skill and BattleUtil.ChecklistIsContainValue(skill.triggerPassivityId,id) then + return + end + if target:IsDead() and not BattleUtil.CheckIsNoDead(target) then + currRound = BattleLogic.GetCurRound() + isKill=true + if skill then + table.insert(skill.triggerPassivityId,id) + end + end + end + role.Event:AddEvent(BattleEventName.RoleHit, onRoleHit,nil,nil,role) + + local function onRoleDamageAfter(skill) + if isRoundCrit then + role.mustCrit = false + role.Event:RemoveEvent(BattleEventName.SkillCastEnd, onRoleDamageAfter) + end + end + local function onRoleDamageBefore(skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + --最加的普攻不触发这个被动 + if skill.type==BattleSkillType.Normal and skill.isAdd then + return + end + if isRoundCrit then + role.mustCrit = true + role.Event:AddEvent(BattleEventName.SkillCastEnd, onRoleDamageAfter,nil,nil,role) + end + end + role.Event:AddEvent(BattleEventName.SkillCast, onRoleDamageBefore,nil,nil,role) + + + local onRoundChange=function(round2) + if round2==currRound+1 and isKill then + isRoundCrit=true + else + isRoundCrit=false + isKill=false + end + currRound=round2 + end + + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onRoundChange,nil,nil,role) + + + local onRoundStart=function(round2) + isKill=false + end + + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundStart, onRoundStart,nil,nil,role) + + + end, } return passivityList diff --git a/luafight/Modules/Battle/Logic/Base/Random.lua b/luafight/Modules/Battle/Logic/Base/Random.lua index 7ca007333..48ebb4055 100644 --- a/luafight/Modules/Battle/Logic/Base/Random.lua +++ b/luafight/Modules/Battle/Logic/Base/Random.lua @@ -28,7 +28,7 @@ local function random() return r end function Random.SetSeed(sd) - seed = sd + seed = tonumber(tostring(sd):reverse():sub(1, 6)) end function Random.GetSeed() diff --git a/luafight/Modules/Battle/Logic/BattleLogic.lua b/luafight/Modules/Battle/Logic/BattleLogic.lua index d5a2e72be..e541652f4 100644 --- a/luafight/Modules/Battle/Logic/BattleLogic.lua +++ b/luafight/Modules/Battle/Logic/BattleLogic.lua @@ -27,6 +27,7 @@ local allEnemyDamage=0 --关卡星级记录 local levelStarRecord local hardStageId =0 +local insertSkillRole=nil --是否开启战斗日志 BattleLogic.IsOpenBattleRecord = false --逻辑帧频 @@ -53,6 +54,7 @@ function BattleLogic.Init(data, _userData, maxRound) fightData = data userData = _userData hardStageId=data.nodeId + insertSkillRole=nil BattleLogic.CurOrder = 0 BattleLogic.TotalOrder = #data.enemyData BattleLogic.Clear() @@ -195,6 +197,8 @@ function BattleLogic.GetCurTurn() return CurCamp, CurSkillPos[CurCamp] end + + -- 设置是否是debug function BattleLogic.SetIsDebug(isDebug) _IsDebug = isDebug @@ -267,7 +271,9 @@ function BattleLogic.TurnRound(debugTurn) --轮数变化后延时0.2秒用于初始化监听回合数被动的初始化 BattleLogic.WaitForTrigger(0.2,function() -- 切换阵营 - CurCamp = (CurCamp + 1) % 2 + if not insertSkillRole then + CurCamp = (CurCamp + 1) % 2 + end BattleLogic.CheckBattleLogic() end) end) @@ -284,29 +290,51 @@ function BattleLogic.CheckBattleLogic() "Camp Change", "camp", CurCamp ) - -- 当前阵营下一释放技能的位置 - local cpos = CurSkillPos[CurCamp] + 1 + -- 找到下一个释放技能的人 local SkillRole - for p = cpos, 6 do - -- 保存当前位置 - CurSkillPos[CurCamp] = p - -- 自己阵营中的位置 + 自己阵营的ID * 6 = 自己在PosList中的位置 - local role = RoleManager.GetRole(CurCamp, p) --PosList[p + (CurCamp * 6)] - --角色如果被放逐不能行动 by:wangzhenxing 2020/12/23 11:35 - if role and not role:IsRealDead() and not role.isExile then - SkillRole = role - break - end - - -- 如果当前位置不能释放技能也需要走buff轮转 - BattleLogic.BuffMgr:TurnUpdate(1) -- 计算恢复血量 - BattleLogic.BuffMgr:TurnUpdate(2) -- 计算持续伤害(除去流血) - BattleLogic.BuffMgr:TurnUpdate(3) -- 计算持续伤害(流血) - BattleLogic.BuffMgr:TurnUpdate(4) -- 计算其他buff - BattleLogic.BuffMgr:PassUpdate() -- 计算buff轮数 - BattleLogic.BuffMgr:PassUpdateNoDead() -- 计算buff不灭 + local lastPos + --如果有插入行动的英雄,就先让插入的英雄行动 + if insertSkillRole then + SkillRole =insertSkillRole + insertSkillRole=nil + --记录下正常执行行动的英雄的位置,插入英雄行动完,再按照正常顺序执行 + lastPos=CurSkillPos[CurCamp] + CurSkillPos[CurCamp]=SkillRole.position + -- 如果当前位置不能释放技能也需要走buff轮转 + BattleLogic.BuffMgr:TurnUpdate(1) -- 计算恢复血量 + BattleLogic.BuffMgr:TurnUpdate(2) -- 计算持续伤害(除去流血) + BattleLogic.BuffMgr:TurnUpdate(3) -- 计算持续伤害(流血) + BattleLogic.BuffMgr:TurnUpdate(4) -- 计算其他buff + BattleLogic.BuffMgr:PassUpdate() -- 计算buff轮数 + BattleLogic.BuffMgr:PassUpdateNoDead() -- 计算buff不灭 + CurSkillPos[CurCamp]=lastPos end + if not SkillRole then + -- 当前阵营下一释放技能的位置 + local cpos = CurSkillPos[CurCamp] + 1 + for p = cpos, 6 do + -- 保存当前位置 + CurSkillPos[CurCamp] = p + -- 自己阵营中的位置 + 自己阵营的ID * 6 = 自己在PosList中的位置 + local role = RoleManager.GetRole(CurCamp, p) --PosList[p + (CurCamp * 6)] + + --角色如果被放逐不能行动 by:wangzhenxing 2020/12/23 11:35 + if role and not role:IsRealDead() and not role.isExile then + SkillRole = role + break + end + + -- 如果当前位置不能释放技能也需要走buff轮转 + BattleLogic.BuffMgr:TurnUpdate(1) -- 计算恢复血量 + BattleLogic.BuffMgr:TurnUpdate(2) -- 计算持续伤害(除去流血) + BattleLogic.BuffMgr:TurnUpdate(3) -- 计算持续伤害(流血) + BattleLogic.BuffMgr:TurnUpdate(4) -- 计算其他buff + BattleLogic.BuffMgr:PassUpdate() -- 计算buff轮数 + BattleLogic.BuffMgr:PassUpdateNoDead() -- 计算buff不灭 + end + end + -- 如果找不到下一个人,直接交换阵营 if not SkillRole then BattleLogManager.Log( "No Skill Position" ) @@ -363,6 +391,9 @@ function BattleLogic.WaitForTrigger(delayTime, action) tbActionList:Add(item) end +function BattleLogic.InsertSkillRole(role) + insertSkillRole=role +end function BattleLogic.CurFrame() return curFrame @@ -452,17 +483,17 @@ function BattleLogic.BattleEnd(result) BattleLogic.Event:DispatchEvent(BattleEventName.BattleEnd, result) if hardStageId and hardStageId~=0 then --获取精英副本 星级信息 - local hardStageConfig=ConfigManager.GetConfigData(ConfigName.HardStage,hardStageId) - if hardStageConfig then - if hardStageConfig.ConditionValue then - for i = 1, #hardStageConfig.ConditionValue do - local harConfig = ConfigManager.GetConfigData(ConfigName.HardStageCondition,hardStageConfig.ConditionValue[i]) - local v1=HardStageCondition.CheckCondition(harConfig.ConditionType,harConfig.ConditionValue) - table.insert(levelStarRecord,hardStageConfig.ConditionValue[i]) - table.insert(levelStarRecord,v1) - end + local hardStageConfig=ConfigManager.GetConfigData(ConfigName.HardStage,hardStageId) + if hardStageConfig then + if hardStageConfig.ConditionValue then + for i = 1, #hardStageConfig.ConditionValue do + local harConfig = ConfigManager.GetConfigData(ConfigName.HardStageCondition,hardStageConfig.ConditionValue[i]) + local v1 = HardStageCondition.CheckCondition(harConfig.ConditionType,harConfig.ConditionValue) + table.insert(levelStarRecord,hardStageConfig.ConditionValue[i]) + table.insert(levelStarRecord,v1) + end + end end - end end -- 打印结果 diff --git a/luafight/Modules/Battle/Logic/Buff/Immune.lua b/luafight/Modules/Battle/Logic/Buff/Immune.lua index f1f3061e0..da5f2e820 100644 --- a/luafight/Modules/Battle/Logic/Buff/Immune.lua +++ b/luafight/Modules/Battle/Logic/Buff/Immune.lua @@ -13,13 +13,11 @@ end local immune3 = function(buff) return buff.type == BuffName.Shield and buff.shieldType == ShieldTypeName.AllReduce end ---自定义免疫 -local immune4=nil --初始化Buff,通过传入一些自定义参数控制成长相关的数值 function Immune:SetData(type,func) - self.immuneType =type - immune4=func + self.immuneType = type + self.immune4 = func self.isBuff = true -- 刷新排序等级 @@ -38,8 +36,8 @@ function Immune:OnStart() elseif self.immuneType == 3 then --免疫无敌盾 self.target.buffFilter:Add(immune3) elseif self.immuneType==4 then--自定义免疫 - if immune4 then - self.target.buffFilter:Add(immune4) + if self.immune4 then + self.target.buffFilter:Add(self.immune4) end end if condition then @@ -66,8 +64,7 @@ function Immune:OnEnd() elseif self.immuneType == 3 then --免疫无敌盾 immune = immune3 elseif self.immuneType == 4 then--自定义免疫 - immune=immune4 - immune4=nil + immune = self.immune4 end for i = 1, self.target.buffFilter.size do if self.target.buffFilter.buffer[i] == immune then diff --git a/luafight/Modules/Battle/Logic/Buff/NoDead.lua b/luafight/Modules/Battle/Logic/Buff/NoDead.lua index 8a79ef42d..c9392bbde 100644 --- a/luafight/Modules/Battle/Logic/Buff/NoDead.lua +++ b/luafight/Modules/Battle/Logic/Buff/NoDead.lua @@ -8,13 +8,29 @@ function NoDead:SetData(...) self.cover = true --控制效果可被覆盖 -- 刷新排序等级 self.sort = 4 + self.recordDamage=0 end -- 伤害降低 function NoDead:onPassiveDamaging(func, target, damage, skill) if skill and skill.type == BattleSkillType.Special then local dd = BattleUtil.CountValue(damage, self.damageFactor, self.factorCT) - damage - if func then func(-math.floor(BattleUtil.ErrorCorrection(dd))) end + if func then + func(-math.floor(BattleUtil.ErrorCorrection(dd))-self.recordDamage) + end + end +end + +-- 记录承受伤害 +function NoDead:OnRoleBeHit(atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect) + if skill and (skill.type == BattleSkillType.Special or skill.type==BattleSkillType.Extra or skill.type==BattleSkillType.DeadSkill ) and atkRole.camp~=self.target.camp then + self.recordDamage=self.recordDamage+math.floor(damage*0.1) + end +end + +function NoDead:OnSkillCastEnd(skill) + if skill and (skill.type == BattleSkillType.Special or skill.type==BattleSkillType.Extra ) then + self.recordDamage=0 end end @@ -22,6 +38,10 @@ end function NoDead:OnStart() -- self.target.Event:AddEvent(BattleEventName.PassiveDamaging, self.onPassiveDamaging, self) + self.target.Event:AddEvent(BattleEventName.SkillCastEnd,self.OnSkillCastEnd,self) + if self.target.star>=11 then + self.target.Event:AddEvent(BattleEventName.RoleBeHit,self.OnRoleBeHit,self) + end self.target:SetDeadFilter(false) self.target:SetReliveFilter(self.isCanRelive) @@ -36,7 +56,12 @@ end --效果结束时调用一次 function NoDead:OnEnd() - self.target.Event:AddEvent(BattleEventName.PassiveDamaging, self.onPassiveDamaging, self) + self.target.Event:RemoveEvent(BattleEventName.PassiveDamaging, self.onPassiveDamaging, self) + self.target.Event:RemoveEvent(BattleEventName.SkillCastEnd,self.OnSkillCastEnd,self) + if self.target.star>=11 then + self.target.Event:RemoveEvent(BattleEventName.RoleBeHit,self.OnRoleBeHit,self) + end + --self.target.Event self.target:SetDeadFilter(true) -- self.target:SetIsCanAddSkill(false) diff --git a/luafight/Modules/Battle/Logic/HardStageCondition.lua b/luafight/Modules/Battle/Logic/HardStageCondition.lua index 0a50d89f8..0d264df8d 100644 --- a/luafight/Modules/Battle/Logic/HardStageCondition.lua +++ b/luafight/Modules/Battle/Logic/HardStageCondition.lua @@ -31,13 +31,15 @@ local _ConditionConfig = { [4]=function(condition) local v1 = condition[1] local v2 = condition[2] - local record=HardStageEventManager.GetRoundDamageRecord() + local record = HardStageEventManager.GetRoundDamageRecord() if record then - for key, value in pairs(record) do - if key<=v1 and value[2]>=v2 then - return 1 - end - end + if record then + for key, value in pairs(record) do + if key<=v1 and value>=v2 then + return 1 + end + end + end end return 0 end, @@ -86,7 +88,7 @@ local _ConditionConfig = { return 0 end for i = 1, #list do - local isHave=list[i]:CheckHavePassive(v1) + local isHave=list[i]:CheckHavePassiveId(v1) if isHave then return 1 end @@ -124,15 +126,95 @@ local _ConditionConfig = { [13]=function(condition) local v1 = condition[1] local v2 = condition[2] + local list=HardStageEventManager.GetCtrlNumList() - if list and list[v1] then - if list[v1]>=v2 then - return 1 - end + if list then + if v1==0 then + local num=0 + for key, value in pairs(list) do + num=num+value + end + if num>=v2 then + return 1 + end + else + if list[v1] and list[v1]>=v2 then + return 1 + end + end + end + return 0 + end, + --持续伤害[a]杀死[b]人 + --a[int 0:所有 1:燃烧 2:毒死] + [14]=function(condition) + local v1 = condition[1] + local v2 = condition[2] + local firing,poison=HardStageEventManager.GetDotDieNum() + if v1==0 then + if firing+poison>=v2 then + return 1 + end + end + if v1==1 then + if firing>=v2 then + return 1 + end + elseif v1==2 then + if poison>=v2 then + return 1 + end + end + return 0 + end, + --追击击杀[a]人,击杀[b]号位敌方(填b 就不会判断 a) + --a[int] b[int] + [15]=function(condition) + local v1 = condition[1] + local v2 = condition[2] + local list=HardStageEventManager.GetAddSkillDieList() + if v2 then + local isHave=BattleUtil.ChecklistIsContainValue(list,v2) + if isHave then + return 1 + else + return 0 + end + else + local num=BattleUtil.LengthOfTable(list) + if num>=v1 then + return 1 + end + end + return 0 + end, + --回复血量[a]次 + [16]=function(condition) + local v1=condition[1] + local time=HardStageEventManager.GetAllTreatTime() + if time>=v1 then + return 1 + end + return 0 + end, + --第[a]个击杀敌方[b]号位 + --a[int 0:是最后],b[int] + [17]=function(condition) + local v1=condition[1] + local v2=condition[2] + local list=HardStageEventManager.GetDeadSortList() + local isHave=BattleUtil.ChecklistIsContainValue(list,v2) + if not isHave then + return 0 + end + if v1==0 then + v1=#list + end + if list[v1]==v2 then + return 1 end return 0 end, - } diff --git a/luafight/Modules/Battle/Logic/HardStageEventManager.lua b/luafight/Modules/Battle/Logic/HardStageEventManager.lua index 42d274399..0a9818a85 100644 --- a/luafight/Modules/Battle/Logic/HardStageEventManager.lua +++ b/luafight/Modules/Battle/Logic/HardStageEventManager.lua @@ -12,18 +12,35 @@ local recordAddKill local seckKillNum=0 --控制次数集合 local ctrlNumList +--毒死的人数 +local poisonDieNum=0 +--烧死的人数 +local firingDieNum=0 +local allTreatTime=0 +--追击技能击杀任务集合 +local addSkillDieList +--死亡顺序集合 +local deadSortList function this.Init() recordRound=1 roundDamage=0 seckKillNum=0 CurRound=0 + poisonDieNum=0 + firingDieNum=0 + allTreatTime=0 recordRoundDamage={} recordAddKill={} ctrlNumList={} + addSkillDieList={} + deadSortList={} BattleLogic.Event:AddEvent(BattleEventName.RecordDamage,this.OnRecordDamage) BattleLogic.Event:AddEvent(BattleEventName.Seckill,this.OnSeckill) BattleLogic.Event:AddEvent(BattleEventName.BuffRoundChange,this.OnRoundChange) BattleLogic.Event:AddEvent(BattleEventName.RecordBuff,this.OnBuffAdd) + BattleLogic.Event:AddEvent(BattleEventName.BattleRoleDead,this.OnRoleDead) + BattleLogic.Event:AddEvent(BattleEventName.BuffStart,this.OnBuffStar) + BattleLogic.Event:AddEvent(BattleEventName.RecordTreat,this.OnRecordTreat) end function this.ClearEvent() @@ -31,6 +48,65 @@ function this.ClearEvent() BattleLogic.Event:RemoveEvent(BattleEventName.Seckill,this.OnSeckill) BattleLogic.Event:RemoveEvent(BattleEventName.BuffRoundChange,this.OnRoundChange) BattleLogic.Event:RemoveEvent(BattleEventName.RecordBuff,this.OnBuffAdd) + BattleLogic.Event:RemoveEvent(BattleEventName.BattleRoleDead,this.OnRoleDead) + BattleLogic.Event:RemoveEvent(BattleEventName.BuffStart,this.OnBuffStar) + BattleLogic.Event:AddEvent(BattleEventName.RecordTreat,this.OnRecordTreat) +end + +--记录治疗 +function this.OnRecordTreat(castRole,targetRole,baseTreat) + if targetRole.camp~=0 then + return + end + allTreatTime=allTreatTime+1 +end + +function this.GetAllTreatTime() + return allTreatTime +end + + +--buff被添加 +function this.OnBuffStar(buff) + if not buff then + return + end + +end + + +--某人死亡 +function this.OnRoleDead(defRole, atkRole,skill,damageType) + if defRole.camp==0 then + return + end + table.insert(deadSortList,defRole.position) + --追击击杀敌方数据 + if skill and skill.isAdd then + table.insert(addSkillDieList,defRole.position) + end + + if defRole.camp==1 and damageType and damageType~=0 then + if damageType==1 then + firingDieNum=firingDieNum+1 + elseif damageType==2 then + poisonDieNum=poisonDieNum+1 + end + end +end + +--获取死亡顺序集合 +function this.GetDeadSortList() + return deadSortList +end +--获取追加技能击杀的敌方集合 +function this.GetAddSkillDieList() + return addSkillDieList +end + +--获取持续伤害死亡的人数 +function this.GetDotDieNum() + return firingDieNum,poisonDieNum end --buff添加成功 @@ -41,7 +117,7 @@ function this.OnBuffAdd(caster,target,buff) if ctrlNumList[type] then ctrlNumList[type]=ctrlNumList[type]+1 else - table.insert(ctrlNumList,type) + --table.insert(ctrlNumList,type) ctrlNumList[type]=1 end end @@ -79,23 +155,15 @@ end function this.OnRecordDamage(atkRole,defRole,damage) if not atkRole or atkRole.camp==1 then return - end - local curRound,maxRound=BattleLogic.GetCurRound() - CurRound=curRound - --如果进入下一回合,记录上一回合的伤害 - if CurRound==recordRound+1 then - table.insert(recordRoundDamage,{recordRound,roundDamage}) - recordRound=CurRound - end - roundDamage=roundDamage+damage + end + local curRound,maxRound=BattleLogic.GetCurRound() + CurRound=curRound + roundDamage=roundDamage+damage + recordRoundDamage[CurRound] = roundDamage end --获取回合伤害记录 function this.GetRoundDamageRecord() - --如果一回合就结束战斗了,就直接把记录的回合数伤害加进去 - if CurRound==1 then - table.insert(recordRoundDamage,{recordRound,roundDamage}) - end return recordRoundDamage end diff --git a/luafight/Modules/Battle/Logic/Misc/BattleDefine.lua b/luafight/Modules/Battle/Logic/Misc/BattleDefine.lua index fcab34505..712759327 100644 --- a/luafight/Modules/Battle/Logic/Misc/BattleDefine.lua +++ b/luafight/Modules/Battle/Logic/Misc/BattleDefine.lua @@ -81,7 +81,7 @@ BattleEventName = { BeHitMiss = indexAdd(), CritDamageReduceFactor = indexAdd(), -- 暴击伤害减免系数 - + SkillCastBefore = indexAdd(), -- 技能攻击前再往前 SkillCast = indexAdd(), -- 技能攻击前 SkillCastEnd = indexAdd(), -- 技能攻击结束 BeSkillCast = indexAdd(), -- 被技能攻击前 @@ -167,6 +167,9 @@ BattleEventName = { RoleBeExile = indexAdd(),--角色被放逐 RoleExileEnd = indexAdd(),--角色放逐结束 RoleAddBuffFail = indexAdd(),--角色添加buff失败 + RecordRageChange = indexAdd(), -- 怒气改变时 + ActionOperateAngerAfter =indexAdd(),--角色行动操作怒气后 + HitRoleInBurn = indexAdd(), --击中在燃烧状态得敌人 } BattleMaxFrame = 1000000 diff --git a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua index 2516232a6..87b5d7024 100644 --- a/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/luafight/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -327,7 +327,7 @@ function BattleUtil.ChooseTarget(role, chooseId) elseif chooseLimit == 4 then -- 处于灼烧状态 local tempArr = {} for i = 1, #arr do - if BattleLogic.BuffMgr:HasBuff(arr[i], BuffName.DOT, function (buff) return buff.damageType == DotType.Burn end) then + if BattleLogic.BuffMgr:HasBuff(arr[i], BuffName.DOT, function (buff) return buff.damageType == DotType.Burn end,role,1) then table.insert(tempArr, arr[i]) end end @@ -515,7 +515,7 @@ function BattleUtil.Seckill(skill, atkRole, defRole) local finalDmg = defRole.data:SubValue(RoleDataName.Hp, damage) if finalDmg >= 0 then if defRole:GetRoleData(RoleDataName.Hp) <= 0 and not defRole:IsDead() then - defRole:SetDead() + defRole:SetDead(damage) defRole.Event:DispatchEvent(BattleEventName.RoleDead, atkRole,skill) atkRole.Event:DispatchEvent(BattleEventName.RoleKill, defRole,skill) BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoleDead, defRole, atkRole) @@ -547,7 +547,7 @@ function BattleUtil.SeckillHP(skill, atkRole, defRole, pro) local finalDmg = defRole.data:SubValue(RoleDataName.Hp, damage) if finalDmg >= 0 then if defRole:GetRoleData(RoleDataName.Hp) <= 0 and not defRole:IsDead() then - defRole:SetDead() + defRole:SetDead(damage) defRole.Event:DispatchEvent(BattleEventName.RoleDead, atkRole) atkRole.Event:DispatchEvent(BattleEventName.RoleKill, defRole,skill) BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoleDead, defRole, atkRole) @@ -592,9 +592,9 @@ function BattleUtil.ApplyDamage(skill, atkRole, defRole, damage, bCrit, damageTy local damagingFunc = function(dmgDeduction) damage = damage - dmgDeduction end - atkRole.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, defRole, damage, skill, dotType, bCrit) + atkRole.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect) defRole.Event:DispatchEvent(BattleEventName.PassiveBeDamaging, damagingFunc, atkRole, damage, skill, dotType, bCrit) - BattleLogic.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit) + BattleLogic.Event:DispatchEvent(BattleEventName.PassiveDamaging, damagingFunc, atkRole, defRole, damage, skill, dotType, bCrit,damageType, dotType,isDirect) -- 计算护盾减伤 @@ -624,9 +624,10 @@ function BattleUtil.CalRage(caster, target, value, countType) then return end - + local lastRage=target.Rage -- 操作怒气 local deltaRage = target:AddRage(value, countType) + BattleLogic.Event:DispatchEvent(BattleEventName.RecordRageChange, caster, target, deltaRage,countType,value,lastRage) -- 用于记录统计 BattleLogic.Event:DispatchEvent(BattleEventName.RecordRage, caster, target, deltaRage) end @@ -678,10 +679,10 @@ function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageTy local finalDmg = defRole.data:SubValue(RoleDataName.Hp, damage) if finalDmg >= 0 then if defRole:GetRoleData(RoleDataName.Hp) <= 0 and not defRole:IsDead() then - defRole:SetDead() + defRole:SetDead(damage) defRole.Event:DispatchEvent(BattleEventName.RoleDead, atkRole) atkRole.Event:DispatchEvent(BattleEventName.RoleKill, defRole,skill) - BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoleDead, defRole, atkRole,skill) + BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoleDead, defRole, atkRole,skill,dotType) end atkRole.Event:DispatchEvent(BattleEventName.RoleDamage, defRole, damage, bCrit, finalDmg, damageType, dotType, skill) @@ -695,6 +696,10 @@ function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageTy if skill then atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType, skill,isDirect) defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect) + --如果目标是主燃烧目标 or 目标身上有燃烧效果 + if atkRole.curMainTarget==defRole or BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT,function(buff) return buff.damageType == 1 end) then + atkRole.Event:DispatchEvent(BattleEventName.HitRoleInBurn,skill,defRole) + end end --如果不是技能带的伤害,并且是直接伤害就,,,,, --用于处理不触发特性并且是直接伤害的伤害 isDirect 暂时先为bool值,后期可根据需求做修改扩展 by:王振兴 2020/10/12 16:18 @@ -702,6 +707,7 @@ function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageTy atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType, skill,isDirect) defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect) end + end -- 战斗记录用 @@ -794,7 +800,6 @@ function BattleUtil.CalDamage(skill, atkRole, defRole, damageType, baseFactor, i -- 计算额外暴击伤害 critDamageFactor = 1.3 + atkRole:GetRoleData(RoleDataName.CritDamageFactor) - critDamageReduceFactor - --加入被动效果 触发暴击被动 local critFunc = function(critEx) critDamageFactor = critEx end atkRole.Event:DispatchEvent(BattleEventName.PassiveCriting, critFunc,skill) @@ -933,6 +938,9 @@ end --获取table的长度 function BattleUtil.LengthOfTable(table) + if not table then + return 0 + end local length = 0 for i, v in pairs(table) do length = length + 1 diff --git a/luafight/Modules/Battle/Logic/Role/RoleLogic.lua b/luafight/Modules/Battle/Logic/Role/RoleLogic.lua index 765d30b65..0cfdc3ed6 100644 --- a/luafight/Modules/Battle/Logic/Role/RoleLogic.lua +++ b/luafight/Modules/Battle/Logic/Role/RoleLogic.lua @@ -28,7 +28,7 @@ function RoleLogic:Init(uid, data, position) self.data:Init(self, data.property) self.isDead = self:GetRoleData(RoleDataName.Hp) <= 0 self.isRealDead = self.isDead - + self.killDamage = 0 --致死伤害 self.camp = data.camp --阵营 0:我方 1:敌方 self.name = data.name self.element = data.element @@ -83,6 +83,7 @@ function RoleLogic:Init(uid, data, position) self.ignoreShara = false --忽略敌方分摊 self.type = BattleUnitType.Role self.isNormalAttackAddRage=true --普攻是否回复怒气 + self.curMainTarget=nil --当前主目标 self.passiveList = {} if data.passivity and #data.passivity > 0 then table.sort(data.passivity,function(a,b)return a[1] < b[1] end) @@ -144,7 +145,7 @@ function RoleLogic:CanCastSkill() return self.sp >= self.spPass and not self.IsDebug end ---检测是否有某被动 +--检测是否有某被动类型 function RoleLogic:CheckHavePassive(id) if self.passiveList then for index, value in ipairs(self.passiveList) do @@ -157,6 +158,19 @@ function RoleLogic:CheckHavePassive(id) return false end +--检测是否有某被动 +function RoleLogic:CheckHavePassiveId(id) + if self.passiveList then + for index, value in ipairs(self.passiveList) do + if value and value[3] and value[3]==id then + return true + end + end + return false + end + return false +end + -- 废弃的方法 function RoleLogic:GetSkillCD() return max(self.spPass - self.sp, 0) @@ -201,7 +215,7 @@ function RoleLogic:AddRage(value, type) elseif type == 4 then --乘减算(百分比属性减算) delta = -floor(value * self.SuperSkillRage) end - self.Event:DispatchEvent(BattleEventName.RoleRageChange, delta) + self.Event:DispatchEvent(BattleEventName.RoleRageChange, delta,self.Rage) --怒气值不可为负值 self.Rage = max(self.Rage + delta, 0) @@ -295,7 +309,11 @@ end -- 判断角色是否可以释放技能 -function RoleLogic:IsAvailable() +function RoleLogic:IsAvailable(skill) + --角色没有真正死亡 在 被眩晕/沉默的 情况下 任然能释放死亡技能 + if (self.ctrl_dizzy or self.ctrl_slient) and self:IsDead() and skill and skill.type==BattleSkillType.DeadSkill then + return true + end -- 眩晕 -- 死亡 if self.ctrl_dizzy or self:IsRealDead() then return false @@ -321,7 +339,8 @@ function RoleLogic:SkillCast(skill, func) end -- 角色不可用直接结束技能释放 - if not skill or not self:IsAvailable() then + if not skill or not self:IsAvailable(skill) then + self.Event:DispatchEvent(BattleEventName.ActionOperateAngerAfter,self) _CastDone() return end @@ -342,17 +361,19 @@ function RoleLogic:SkillCast(skill, func) self.Rage = self.Rage + grow end -- 释放完成 + self.Event:DispatchEvent(BattleEventName.ActionOperateAngerAfter,self) _CastDone() end -- 释放普技 skill:Cast(_CheckRage) -- 没有沉默,释放大技能 - elseif (skill.type == BattleSkillType.Special or skill.type==BattleSkillType.Extra or skill.type==BattleSkillType.DeadSkill) and not self.ctrl_slient then + elseif (skill.type == BattleSkillType.Special or skill.type==BattleSkillType.Extra or skill.type==BattleSkillType.DeadSkill) and (not self.ctrl_slient or skill.type==BattleSkillType.DeadSkill) then -- 先消耗怒气 if skill.isRage then if self.Rage < self.SuperSkillRage then -- 怒气值不足不能释放技能 + self.Event:DispatchEvent(BattleEventName.ActionOperateAngerAfter,self) _CastDone() return end @@ -372,12 +393,13 @@ function RoleLogic:SkillCast(skill, func) self.Rage = self.Rage - costRage end) end - + self.Event:DispatchEvent(BattleEventName.ActionOperateAngerAfter,self) -- 释放绝技 skill:Cast(_CastDone) -- 没有符合条件的技能直接进入下一个技能检测 else + self.Event:DispatchEvent(BattleEventName.ActionOperateAngerAfter,self) _CastDone() end @@ -420,12 +442,14 @@ function RoleLogic:InsertExtraSkill(id,type) if effectData then local skillType=BattleSkillType.Extra --如果type为1则按绝技处理,不为1的话按额外技能处理(额外技能因为被动判断会判断是否是绝技类型,所以不会触发) + local isTrigger=true if type==1 then skillType=BattleSkillType.Special + else + isTrigger=false end - --和老史,佳琦确认果 附加技能算绝技 被沉默无法释放 可以套娃 递归触发 by:王振兴 - SkillManager.InsertSkill(self, effectData, skillType, nil, true, false,true) + SkillManager.InsertSkill(self, effectData, skillType, nil, true, false,isTrigger) BattleLogManager.Log( "Insert Extra Skill", "camp", self.camp, @@ -470,7 +494,7 @@ function RoleLogic:CastSkill(func) end --如果当前怒气不足以释放绝技 if self.Rage= self.SuperSkillRage then @@ -528,6 +552,7 @@ function RoleLogic:GoDead() if self:IsCanDead() then self.isRealDead = true self.Rage = 0 + self.curMainTarget=nil BattleLogic.BuffMgr:ClearBuff(self) self.Event:DispatchEvent(BattleEventName.RoleRealDead, self) BattleLogic.Event:DispatchEvent(BattleEventName.RoleRealDead, self) @@ -541,8 +566,9 @@ function RoleLogic:SetDeadFilter(filter) self.deadFilter = filter end -- 要死了 -function RoleLogic:SetDead() +function RoleLogic:SetDead(damage) self.isDead = true + self.killDamage=damage RoleManager.AddDeadRole(self) end -- 判断是否死亡 diff --git a/luafight/Modules/Battle/Logic/Role/Skill.lua b/luafight/Modules/Battle/Logic/Role/Skill.lua index 641b0233f..dde4102de 100644 --- a/luafight/Modules/Battle/Logic/Role/Skill.lua +++ b/luafight/Modules/Battle/Logic/Role/Skill.lua @@ -23,6 +23,7 @@ function Skill:Init(role, effectData, type, targets, isAdd, isRage,isTriggerJudg self.isKill = false --是否技能击杀目标 self.isAdd = isAdd self.isRage = isRage + self.isNotLoop= false if isTriggerJudge~=nil then self.isTriggerJudge=isTriggerJudge else @@ -76,7 +77,7 @@ function Skill:Cast(func) --end self.effectCaster:Cast() end - + self.owner.Event:DispatchEvent(BattleEventName.SkillCastBefore, self) -- 释放技能开始 self.owner.Event:DispatchEvent(BattleEventName.SkillCast, self) BattleLogic.Event:DispatchEvent(BattleEventName.SkillCast, self) @@ -87,7 +88,11 @@ function Skill:Cast(func) --技能的施法时间计算,根据当前目标id关联的持续时间,取其中时间最长的一个 local duration = self.hitTime + self.continueTime -- 结算时间向后延长0.2秒,避免在效果结算完成前就结束了技能释放 - BattleLogic.WaitForTrigger(duration + 0.8, function() + local time=0.8 + if self.id==1282 then + time=2.5 + end + BattleLogic.WaitForTrigger(duration + time, function() self.owner.Event:DispatchEvent(BattleEventName.SkillCastEnd, self) BattleLogic.Event:DispatchEvent(BattleEventName.SkillCastEnd, self) diff --git a/luafight/Modules/Battle/Logic/SkillManager.lua b/luafight/Modules/Battle/Logic/SkillManager.lua index b908fd755..243949d49 100644 --- a/luafight/Modules/Battle/Logic/SkillManager.lua +++ b/luafight/Modules/Battle/Logic/SkillManager.lua @@ -59,21 +59,25 @@ function this.AddSkill(caster, effectData, type, targets, isAdd, isRage,isTrigge return skill end -- 插入技能到技能列表首位 -function this.InsertSkill(caster, effectData, type, targets, isAdd, isRage,isTriggerJudge) +function this.InsertSkill(caster, effectData, type, targets, isAdd, isRage,isTriggerJudge,isLoop) -- 如果超出最大限制则不再追加技能 if not this.CheckMaxCount() then return end local skill = skillPool:Get() + --角色被混乱后 - isTriggerJudge=true + if isTriggerJudge==nil then + isTriggerJudge=true + end if caster.ctrl_chaos and type~=BattleSkillType.DeadSkill then type=BattleSkillType.ChaosNormal --混乱普攻使用普攻特效 effectData={caster.skill[1],caster.skill[2],caster.skill[3],caster.skill[4],{100001,{1,1,1}}} isTriggerJudge=false end - skill:Init(caster, effectData, type, targets, isAdd, isRage) + skill:Init(caster, effectData, type, targets, isAdd, isRage,isTriggerJudge) + skill.isNotLoop=isLoop if type == BattleSkillType.DeadSkill then -- 死亡技能加入单独的对列 table.insert(this.DeadSkillList, 1, skill) else diff --git a/luafight/Modules/Battle/Readme.txt b/luafight/Modules/Battle/Readme.txt index 44a78b2c6..bb51aa4a5 100644 --- a/luafight/Modules/Battle/Readme.txt +++ b/luafight/Modules/Battle/Readme.txt @@ -1,3 +1,54 @@ +master_zh_test同步数据表2021_08_02_19_27_29 +v1.0.53 + 1. 随机种子修改 +master_zh_test同步数据表2021_07_31_17_55_16 +master_zh_test同步数据表2021_07_31_17_54_20 +v1.0.52 + 1. 死亡技能不会被控制 + 2.追加技能是否触发特性修改 +master_zh_test同步数据表2021_07_26_11_10_56 +v1.0.51 + 1. 被动292 修改 +v1.0.50 + 1. 被动292 319修改 + +master_zh_test同步数据表2021_07_13_18_19_09 +master_zh_test同步数据表2021_07_10_20_33_05 +v1.0.49 + 1. 同步客户端逻辑 +v1.0.48 + 1. 新增紫府神印被动效果 +v1.0.47 + 1. 新增英雄觉醒被动 及 困难副本被动 效果 + +master_zh_test同步数据表2021_06_30_07_33_23 +master_zh_test同步数据表2021_06_28_13_40_30 +v1.0.46 + 1、同步数据表 +v1.0.45 + 1. 【战斗】修改免疫控制效果清除提示 +v1.0.44 + 1. 【战斗】修复群体性的免疫效果不会正常消失的问题 +v1.0.43 + 1. 被动200修改 +v1.0.42 + 1. 困难副本关卡表修改 +v1.0.41 + 1. 同步客户端战斗消息号 + 2. 同步苦难关卡数据 +v1.0.40 + 1、回滚v1.0.39 +v1.0.39 + 1、删除LogGreen方法 +v1.0.38 + 1. 同步客户端困难关卡表逻辑 +v1.0.37 + 1. 通关星级条件检测逻辑4修改 +v1.0.36 + 1. 同步表数据 +v1.0.35 + 1. rolelogic添加查找被动id接口 + 2.通关星级条件检测逻辑9修改 v1.0.34 1. 战斗去除log v1.0.33 @@ -122,4 +173,4 @@ v1.0.1 v1.0.0 1、创建战斗版本文件 - 2、灵兽技能加入 \ No newline at end of file + 2、灵兽技能加入