同步本地战斗
parent
0d7dde1926
commit
3867ce735c
|
@ -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,
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
||||
-- 打印结果
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.RoleCastSkillBefore,self)
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.RoleCastSkillBefore,self)
|
||||
end
|
||||
-- 没有沉默
|
||||
if not self.ctrl_slient and 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
|
||||
-- 判断是否死亡
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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、灵兽技能加入
|
||||
2、灵兽技能加入
|
||||
|
|
Loading…
Reference in New Issue