Merge branch 'master' of 60.1.1.230:backend/jieling_server
commit
41e7d9ce30
|
@ -662,93 +662,93 @@ int mut,float#float,2 mut,int#int,2 mut,float#float,2 float
|
|||
500108 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 1.0
|
||||
500109 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 1.0
|
||||
500110 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 1.0
|
||||
500201 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500202 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500203 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500204 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500205 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500206 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500207 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500208 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500209 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500210 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2
|
||||
500301 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500302 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500303 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500304 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500305 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500306 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500307 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500308 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500309 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500310 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3
|
||||
500401 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500402 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500403 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500404 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500405 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500406 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500407 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500408 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500409 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500410 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4
|
||||
500501 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500502 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500503 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500504 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500505 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500506 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500507 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500508 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500509 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500510 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5
|
||||
500601 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500602 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500603 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500604 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500605 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500606 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500607 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500608 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500609 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500610 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6
|
||||
500701 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500702 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500703 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500704 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500705 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500706 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500707 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500708 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500709 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500710 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7
|
||||
500801 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500802 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500803 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500804 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500805 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500806 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500807 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500808 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500809 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500810 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8
|
||||
500901 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500902 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500903 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500904 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500905 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500906 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500907 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500908 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500909 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
500910 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9
|
||||
501001 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501002 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501003 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501004 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501005 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501006 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501007 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501008 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501009 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
501010 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10
|
||||
500201 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500202 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500203 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500204 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500205 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500206 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500207 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500208 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500209 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500210 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 2.0
|
||||
500301 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500302 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500303 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500304 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500305 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500306 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500307 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500308 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500309 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500310 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 3.0
|
||||
500401 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500402 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500403 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500404 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500405 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500406 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500407 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500408 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500409 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500410 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 4.0
|
||||
500501 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500502 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500503 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500504 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500505 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500506 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500507 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500508 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500509 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500510 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 5.0
|
||||
500601 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500602 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500603 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500604 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500605 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500606 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500607 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500608 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500609 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500610 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 6.0
|
||||
500701 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500702 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500703 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500704 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500705 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500706 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500707 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500708 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500709 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500710 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 7.0
|
||||
500801 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500802 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500803 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500804 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500805 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500806 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500807 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500808 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500809 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500810 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 8.0
|
||||
500901 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500902 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500903 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500904 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500905 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500906 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500907 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500908 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500909 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
500910 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 9.0
|
||||
501001 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501002 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501003 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501004 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501005 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501006 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501007 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501008 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501009 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
501010 20012#0.7|10014#0.7 26#27|25 600|100#4|2#0.1#4 10.0
|
||||
|
|
|
@ -513,6 +513,37 @@ local effectList = {
|
|||
end)
|
||||
end
|
||||
end,
|
||||
--造成[a]%的[b]伤害,若为[c],则无视敌人[d]%的防御
|
||||
--a[float],b[伤害类型,]c[控制状态],d[float]
|
||||
[30] = function(caster, target, args, interval)
|
||||
local f1 = args[1]
|
||||
local dt = args[2]
|
||||
local ct = args[3]
|
||||
local f2 = args[4]
|
||||
caster.Event:DispatchEvent(BattleEventName.RoleViewBullet, interval)
|
||||
if caster.camp == 0 and target.camp == 1 then
|
||||
BattleLogic.Event:DispatchEvent(BattleEventName.ZoomChange, target, interval)
|
||||
end
|
||||
BattleLogic.WaitForTrigger(interval, function ()
|
||||
if target.BuffMgr:HasBuff(BuffName.Control, function (buff) return ct == 0 or buff.ctrlType == ct end) then
|
||||
BattleUtil.CalDamage(caster, target, dt, f1, f2)
|
||||
else
|
||||
BattleUtil.CalDamage(caster, target, dt, f1)
|
||||
end
|
||||
end)
|
||||
end,
|
||||
--[a]%概率[b],持续[c]秒
|
||||
--a[float],b[免疫buff],c[int]
|
||||
[31] = function(caster, target, args, interval)
|
||||
local f1 = args[1] * (1 + caster:GetRoleData(RoleDataName.Hit) / (1 + target:GetRoleData(RoleDataName.Dodge)))
|
||||
local ib1 = args[2]
|
||||
local f2 = args[3]
|
||||
BattleLogic.WaitForTrigger(interval, function ()
|
||||
BattleUtil.RandomAction(f1, function ()
|
||||
target:AddBuff(Buff.Create(caster, BuffName.Immune, f2, ib1))
|
||||
end)
|
||||
end)
|
||||
end,
|
||||
}
|
||||
|
||||
return effectList
|
|
@ -4,8 +4,7 @@ Aura = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function Aura:SetData(...)
|
||||
--log("Aura:SetData")
|
||||
local args = {...}
|
||||
self.action = args[1]
|
||||
self.action = ...
|
||||
end
|
||||
|
||||
--初始化后调用一次
|
||||
|
|
|
@ -4,8 +4,7 @@ Brand = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function Brand:SetData(...)
|
||||
--log("Brand:SetData")
|
||||
local args = {...}
|
||||
self.flag = args[1]
|
||||
self.flag = ...
|
||||
self.cover = true
|
||||
self.layer = 1
|
||||
end
|
||||
|
|
|
@ -4,8 +4,7 @@ Control = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function Control:SetData(...)
|
||||
--log("Control:SetData")
|
||||
local args = {...}
|
||||
self.ctrlType = args[1]
|
||||
self.ctrlType = ...
|
||||
end
|
||||
|
||||
--初始化后调用一次
|
||||
|
|
|
@ -4,11 +4,10 @@ DOT = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function DOT:SetData(...)
|
||||
--log("DOT:SetData")
|
||||
local args = {...}
|
||||
self.interval = args[1]
|
||||
self.damageType = args[2] --1 燃烧 2 中毒 3 流血
|
||||
self.damagePro = args[3] --1 物理 2 魔法
|
||||
self.damageFactor = args[4] --伤害系数
|
||||
self.interval,
|
||||
self.damageType, --1 燃烧 2 中毒 3 流血
|
||||
self.damagePro, --1 物理 2 魔法
|
||||
self.damageFactor = ... --伤害系数
|
||||
self.isDeBuff = true
|
||||
end
|
||||
|
||||
|
|
|
@ -4,9 +4,8 @@ HOT = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function HOT:SetData(...)
|
||||
--log("HOT:SetData")
|
||||
local args = {...}
|
||||
self.interval = args[1]
|
||||
self.healValue = args[2]
|
||||
self.interval,
|
||||
self.healValue = ...
|
||||
self.isBuff = true
|
||||
end
|
||||
|
||||
|
|
|
@ -4,10 +4,9 @@ PropertyChange = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function PropertyChange:SetData(...)
|
||||
--log("PropertyChange:SetData")
|
||||
local args = {...}
|
||||
self.propertyName = args[1]
|
||||
self.Value = args[2]
|
||||
self.changeType = args[3]
|
||||
self.propertyName,
|
||||
self.Value,
|
||||
self.changeType = ...
|
||||
end
|
||||
|
||||
--初始化后调用一次
|
||||
|
|
|
@ -4,9 +4,8 @@ Shield = Buff:New()
|
|||
--初始化Buff,通过传入一些自定义参数控制成长相关的数值
|
||||
function Shield:SetData(...)
|
||||
--log("Shield:SetData")
|
||||
local args = {...}
|
||||
self.shieldValue = args[1] --护盾值
|
||||
self.dmgReboundFactor = args[2] --伤害反弹系数
|
||||
self.shieldValue, --护盾值
|
||||
self.dmgReboundFactor = ... --伤害反弹系数
|
||||
self.damageSum = 0 --记录承受的伤害
|
||||
end
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ BuffName = {
|
|||
Aura = "Aura",
|
||||
Brand = "Brand",
|
||||
Shield = "Shield",
|
||||
Immune = "Immune",
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -27,22 +27,6 @@ function BattleUtil.CreateBuffId(skill, index)
|
|||
return id
|
||||
end
|
||||
|
||||
function BattleUtil.CalBaseDamage(atkRole, defRole, baseDamage, baseFactor)
|
||||
local atkData, defData = atkRole.data, defRole.data
|
||||
if not baseFactor then baseFactor = 1 end
|
||||
|
||||
--伤害 =(基础伤害*(1+己伤害加成-目标伤害减免)*(1+己方属性伤害加成-目标属性伤害减免),10%*己攻)
|
||||
local damage = baseDamage * baseFactor *
|
||||
(1 + atkData:GetData(RoleDataName.DamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DamageReduceFactor)) *
|
||||
(1 + atkData:GetData(RoleDataName.FireDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.FireDamageReduceFactor)) * --火系
|
||||
(1 + atkData:GetData(RoleDataName.WindDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.WindDamageReduceFactor)) * --风系
|
||||
(1 + atkData:GetData(RoleDataName.IceDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.IceDamageReduceFactor)) * --冰系
|
||||
(1 + atkData:GetData(RoleDataName.LandDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LandDamageReduceFactor)) * --地系
|
||||
(1 + atkData:GetData(RoleDataName.LightDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LightDamageReduceFactor)) * --光系
|
||||
(1 + atkData:GetData(RoleDataName.DarkDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DarkDamageReduceFactor)) --暗系
|
||||
return damage
|
||||
end
|
||||
|
||||
function BattleUtil.CalHit(atkRole, defRole)
|
||||
--命中率 = clamp(自身命中率-敌方闪避率,0,1)
|
||||
local hit = atkRole:GetRoleData(RoleDataName.Hit)
|
||||
|
@ -106,12 +90,14 @@ function BattleUtil.ApplyDamage(atkRole, defRole, damage, bCrit)
|
|||
end
|
||||
|
||||
--执行完整的命中,伤害,暴击计算,返回命中,暴击
|
||||
function BattleUtil.CalDamage(atkRole, defRole, damageType, baseFactor)
|
||||
function BattleUtil.CalDamage(atkRole, defRole, damageType, baseFactor, ignoreDef)
|
||||
if atkRole.isTeam and not defRole.isDead then
|
||||
return BattleUtil.ApplyDamage(atkRole, defRole, damageType), false
|
||||
end
|
||||
local bCrit = false
|
||||
local baseDamage
|
||||
baseFactor = baseFactor or 1
|
||||
ignoreDef = 1 - (ignoreDef or 0)
|
||||
bCrit = BattleUtil.CalCrit(atkRole, defRole)
|
||||
local defence = 0
|
||||
if damageType == 1 then --1 物理 2 魔法
|
||||
|
@ -128,11 +114,20 @@ function BattleUtil.CalDamage(atkRole, defRole, damageType, baseFactor)
|
|||
--计算暴击
|
||||
if bCrit or defRole.isFlagCrit then
|
||||
local critDamageFactor = atkRole:GetRoleData(RoleDataName.CritDamageFactor)
|
||||
baseDamage = attack * critDamageFactor - 0.5 * defence
|
||||
baseDamage = max(attack * critDamageFactor - 0.5 * defence * ignoreDef, 0)
|
||||
else
|
||||
baseDamage = attack - 0.5 * defence
|
||||
baseDamage = max(attack - 0.5 * defence * ignoreDef, 0)
|
||||
end
|
||||
baseDamage = BattleUtil.CalBaseDamage(atkRole, defRole, baseDamage, baseFactor)
|
||||
local atkData, defData = atkRole.data, defRole.data
|
||||
--伤害 =(基础伤害*(1+己伤害加成-目标伤害减免)*(1+己方属性伤害加成-目标属性伤害减免),10%*己攻)
|
||||
baseDamage = baseDamage * baseFactor *
|
||||
(1 + atkData:GetData(RoleDataName.DamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DamageReduceFactor)) *
|
||||
(1 + atkData:GetData(RoleDataName.FireDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.FireDamageReduceFactor)) * --火系
|
||||
(1 + atkData:GetData(RoleDataName.WindDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.WindDamageReduceFactor)) * --风系
|
||||
(1 + atkData:GetData(RoleDataName.IceDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.IceDamageReduceFactor)) * --冰系
|
||||
(1 + atkData:GetData(RoleDataName.LandDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LandDamageReduceFactor)) * --地系
|
||||
(1 + atkData:GetData(RoleDataName.LightDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.LightDamageReduceFactor)) * --光系
|
||||
(1 + atkData:GetData(RoleDataName.DarkDamageBocusFactor)) * (1 - defData:GetData(RoleDataName.DarkDamageReduceFactor)) --暗系
|
||||
baseDamage = max(baseDamage, 0.1 * attack)
|
||||
|
||||
local func
|
||||
|
|
|
@ -13,7 +13,10 @@ local skillPool = BattleObjectPool.New(function ()
|
|||
end)
|
||||
|
||||
function RoleLogic.New()
|
||||
local instance = {uid=0,roleData=0,data=RoleData.New(),camp=0,name=0,roleType=0,shield=BattleList.New(),exCalDmgList=BattleList.New(),
|
||||
local instance = {uid=0,roleData=0,data=RoleData.New(),camp=0,name=0,roleType=0,
|
||||
shield=BattleList.New(),
|
||||
exCalDmgList=BattleList.New(),
|
||||
buffFilter=BattleList.New(),
|
||||
BuffMgr=BuffManager.New(),Event=BattleEvent:New(),passiveList=0,isDead=false,Auto=false,IsDebug=false,enable=false}
|
||||
setmetatable(instance, RoleLogic)
|
||||
return instance
|
||||
|
@ -31,6 +34,7 @@ function RoleLogic:Init(uid, data)
|
|||
|
||||
self.shield:Clear() --护盾列表
|
||||
self.exCalDmgList:Clear() --额外计算伤害列表
|
||||
self.buffFilter:Clear() --buff屏蔽列表
|
||||
|
||||
self.BuffMgr:Init(self)
|
||||
self.Event:ClearEvent()
|
||||
|
@ -67,6 +71,11 @@ function RoleLogic:GetRoleData(property)
|
|||
end
|
||||
|
||||
function RoleLogic:AddBuff(buff)
|
||||
for i=1, self.buffFilter.size do
|
||||
if self.buffFilter.buffer[i](buff) then
|
||||
return
|
||||
end
|
||||
end
|
||||
self.BuffMgr:AddBuff(buff)
|
||||
end
|
||||
|
||||
|
|
|
@ -10,19 +10,19 @@ public class CrossMapCell {
|
|||
// missionId 存在某个地图的任务
|
||||
private Set<Integer> missionIds = new HashSet<>();
|
||||
// 每日刷新
|
||||
private Set<Integer> dayRefreshs = new HashSet<>();
|
||||
private Map<Integer, Integer> dayRefreshs = new ConcurrentHashMap<>();
|
||||
// 一次性事件
|
||||
private Set<Integer> permanents = new HashSet<>();
|
||||
private Map<Integer, Integer> permanents = new ConcurrentHashMap<>();
|
||||
|
||||
public Set<Integer> getMissionIds() {
|
||||
return missionIds;
|
||||
}
|
||||
|
||||
public Set<Integer> getDayRefreshs() {
|
||||
public Map<Integer, Integer> getDayRefreshs() {
|
||||
return dayRefreshs;
|
||||
}
|
||||
|
||||
public Set<Integer> getPermanents() {
|
||||
public Map<Integer, Integer> getPermanents() {
|
||||
return permanents;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -193,11 +193,22 @@ public class MapLogic {
|
|||
LOGGER.info("====initMap()====mapPointConfig == null======>{}", scMap1.getEvent());
|
||||
continue;
|
||||
}
|
||||
if (crossMapCell != null && crossMapCell.getDayRefreshs().contains(mapPointConfig.getId())) {
|
||||
continue;
|
||||
int initialEventId = mapPointConfig.getInitialEventId();
|
||||
if (crossMapCell != null && crossMapCell.getDayRefreshs().containsKey(mapPointConfig.getId())) {
|
||||
int eventId = crossMapCell.getDayRefreshs().get(mapPointConfig.getId());
|
||||
if (eventId == -1) {
|
||||
continue;
|
||||
} else {
|
||||
initialEventId = eventId;
|
||||
}
|
||||
}
|
||||
if (crossMapCell != null && crossMapCell.getPermanents().contains(mapPointConfig.getId())) {
|
||||
continue;
|
||||
if (crossMapCell != null && crossMapCell.getPermanents().containsKey(mapPointConfig.getId())) {
|
||||
int eventId = crossMapCell.getPermanents().get(mapPointConfig.getId());
|
||||
if (eventId == -1) {
|
||||
continue;
|
||||
} else {
|
||||
initialEventId = eventId;
|
||||
}
|
||||
}
|
||||
for (Mission mission : missions) {
|
||||
if (mission.getMapPoints().containsKey(mapPointConfig.getId())) {
|
||||
|
@ -209,7 +220,7 @@ public class MapLogic {
|
|||
break;
|
||||
}
|
||||
}
|
||||
Cell cellValue = new Cell(xy, mapPointConfig.getInitialEventId(), mapPointConfig.getId());
|
||||
Cell cellValue = new Cell(xy, initialEventId, mapPointConfig.getId());
|
||||
if (mapPointConfig.getStyle() == EventType.enter) {
|
||||
mapManager.setCurXY(xy);
|
||||
}
|
||||
|
@ -466,10 +477,37 @@ public class MapLogic {
|
|||
}
|
||||
// LOGGER.info("updateEvent =====>success<====== xy=>{}, getPointId=>{} eventId={}, mission=>{}, nextEventId=>{}, eventBehaviorCommon=>{}", mapManager.getCurXY(), cell == null ? 0 : cell.getPointId(),
|
||||
// cell == null ? 0 : cell.getEventId(), eventUpdateResponse.getMissionList(), nextEventId, eventBehaviorCommon);
|
||||
saveRefreshInfo(optionId, mapManager, mapPointConfig, nextEventId);
|
||||
updateMapMission(mapManager,EventType.updateEvent,eventId,0);
|
||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), eventUpdateResponse.build(), true);
|
||||
}
|
||||
|
||||
public void saveRefreshInfo(int optionId, MapManager mapManager, MapPointConfig mapPointConfig, int nextEventId) throws Exception {
|
||||
CrossMapCell crossMapCell = mapManager.getCrossMapInfos().get(mapManager.getCurMapId());
|
||||
if (crossMapCell == null) {
|
||||
crossMapCell = new CrossMapCell();
|
||||
}
|
||||
if (mapPointConfig.getRefresh() == 1) {
|
||||
if (crossMapCell.getDayRefreshs().containsKey(optionId)) {
|
||||
int saveEventId = crossMapCell.getDayRefreshs().get(optionId);
|
||||
if (saveEventId == -1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
crossMapCell.getDayRefreshs().put(optionId, nextEventId);
|
||||
}
|
||||
if (mapPointConfig.getRefresh() == 3) {
|
||||
if (crossMapCell.getPermanents().containsKey(optionId)) {
|
||||
int saveEventId = crossMapCell.getPermanents().get(optionId);
|
||||
if (saveEventId == -1) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
crossMapCell.getPermanents().put(optionId, nextEventId);
|
||||
}
|
||||
mapManager.updateCrossMapInfos(mapManager.getCurMapId(), crossMapCell);
|
||||
}
|
||||
|
||||
private int getNextPoint(User user, MapManager mapManager, int[][] jumpTypeValues, SOptionAddCondition sOptionAddConditions) {
|
||||
int nextEventId = 0;
|
||||
switch (sOptionAddConditions.getType()) {
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
package com.ljsd.jieling.handler.map.behavior;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.googlecode.protobuf.format.JsonFormat;
|
||||
import com.ljsd.jieling.config.MapPointConfig;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.map.Cell;
|
||||
|
@ -13,19 +11,14 @@ import com.ljsd.jieling.handler.map.MapManager;
|
|||
import com.ljsd.jieling.handler.mission.CheckMissionReturn;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.FightInfoProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
import com.ljsd.jieling.util.MonsterUtil;
|
||||
import org.json.JSONArray;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -66,10 +59,10 @@ public class BehaviorUtil {
|
|||
crossMapCell = new CrossMapCell();
|
||||
}
|
||||
if (mapPointConfig.getRefresh() == 1) {
|
||||
crossMapCell.getDayRefreshs().add(needDistoryPointId);
|
||||
crossMapCell.getDayRefreshs().put(needDistoryPointId, -1);
|
||||
}
|
||||
if (mapPointConfig.getRefresh() == 3) {
|
||||
crossMapCell.getPermanents().add(needDistoryPointId);
|
||||
crossMapCell.getPermanents().put(needDistoryPointId, -1);
|
||||
}
|
||||
mapManager.updateCrossMapInfos(mapManager.getCurMapId(), crossMapCell);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ public class FightAndDestroyPointBehavior extends BaseBehavior {
|
|||
public boolean process(User user, int[][] behaviorTypeValues, MapInfoProto.EventUpdateResponse.Builder eventUpdateResponse) throws Exception {
|
||||
BehaviorUtil.updateMission(user, behaviorTypeValues[0][0], eventUpdateResponse);
|
||||
BehaviorUtil.fightReady(user.getId(), behaviorTypeValues[0][1]);
|
||||
BehaviorUtil.distoryPoint(user, behaviorTypeValues[0][2]);
|
||||
// BehaviorUtil.distoryPoint(user, behaviorTypeValues[0][2]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue