| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 | | # NPCÊôÐÔÔöÇ¿¹«Ê½ÅäÖà  |  | # ¿ÉÓòÎÊý:  |  | # ²Î¿¼Íæ¼ÒÊôÐÔ²ÎÊý  |  | #    ReMaxHP                    ×î´óÉúÃüÖµ  |  | #    ReAtk                    ¹¥»÷£¨×îС¡¢×î´ó¹¥»÷£©  |  | #    ReDef                    ·ÀÓù  |  | #    ReHit                    ÃüÖÐ  |  | #    ReMiss                    ÉÁ±Ü  |  | #    ReAtkSpeed                ¹¥»÷ËÙ¶È  |  | #    ReSkillAtkRate            ¼¼ÄÜÉ˺¦±ÈÀý  |  | #    ReDamagePer                Ôö¼ÓÉ˺¦  |  | #    ReDamReduce                ¼õÉÙÉ˺¦  |  | #    ReIgnoreDefRate            ÎÞÊÓ·ÀÓù±ÈÀý  |  | #    ReLuckyHitRate            »áÐÄÒ»»÷ÂÊ  |  | #    ReLuckyHit                »áÐÄÒ»»÷É˺¦  |  | #    ReBleedDamage            Á÷ѪÉ˺¦Ôö¼Ó  |  | #    ReIceAtk                ÕæÊµÉ˺¦  |  | #    ReIceDef                ÕæÊµµÖÓù  |  | #    RePetAtk                Áé³è¹¥»÷  |  | #    RePetSkillAtkRate        Áé³è¼¼ÄÜ  |  | #    RePetDamPer                Áé³èÉ˺¦Ôö¼Ó  |  | #   ReFinalHurt                ¹Ì¶¨É˺¦Ôö¼Ó  |  | #    ReFinalHurtReduce        ¹Ì¶¨É˺¦¼õÉÙ  |  | #    RePotionReply            ÑªÆ¿»Ö¸´Á¿  |  | #    RePotionCD                ÑªÆ¿CD  |  | #  |  | # ¹Ì¶¨²ÎÊý  |  | #    HitTime                    ¹ÖÎïÊÜ»÷´ÎÊý  |  | #    DefCoefficient            ÈËÎï·ÀÓùϵÊý  |  | #    AtkCoefficient            ÈËÎï¹¥»÷ϵÊý  |  | #    AdjustCoefficient        µ÷ÕûϵÊý±ÈÀý  |  |   |  | (  |  |   |  | [  |  |   |  | # ¹ý³Ì²ÎÊý¹«Ê½  |  | {  |  |     # ¹ÖÎï¹¥»÷»Ø¸´µ÷ÕûÖµ  |  |     "AtkReplyCoefficient":"(RePotionReply/(RePotionCD*1.0)+(0 if MaxEnduranceTime==0 else ReMaxHP/(MaxEnduranceTime*1.0)))/(MonterNum*1.0)*AtkInterval/(1+SkillAtkRate/10000.0)/(1-ReDamReduce/10000.0)*AdjustCoefficient/10000.0",  |  |   |  |     # ¹ÖÎï¹Ì¶¨É˺¦ ÔÝʱûÓà  |  |     "MonterHurt":"100",  |  |   |  |     # Íæ¼ÒÿÃëµôѪÁ¿  |  |     "LostHPPerSecond":"0 if MaxEnduranceTime==0 else ReMaxHP/(MaxEnduranceTime*1.0)",  |  | },  |  |   |  | # µÈ¼¶³É³¤ÊôÐÔ¹«Ê½  |  | [  |  |     ["Hit","0.95*ReMiss/(1-HitRate/10000.0)-ReMiss"],  |  |     ["Miss","ReHit*MissRate/10000.0/(0.95-MissRate/10000.0)"],  |  |     ["IceAtk","IceAtkCoefficient/10000.0*ReIceAtk"],  |  |     ["IceDef","IceDefCoefficient/10000.0*ReIceDef"],  |  |     ["MinAtk","DefCoefficient/10000.0*ReDef+AtkReplyCoefficient"],  |  |     ["MaxAtk","DefCoefficient/10000.0*ReDef+AtkReplyCoefficient"],  |  |     ["Def","ReAtk*AtkCoefficient/10000.0"],  |  |     ["FireAtk","(RePotionReply/(RePotionCD*1.0)+LostHPPerSecond)/(MonterNum*1.0)*(1-AdjustCoefficient/10000.0)*AtkInterval/(1+SkillAtkRate/10000.0)+ReFinalHurtReduce/(MonterNum*1.0)*AtkInterval"],  |  |     ["MaxHP","((ReAtk-Def*(1-ReIgnoreDefRate/10000.0))*ReSkillAtkRate/10000.0*(1+ReDamagePer/10000.0)*(1-ReLuckyHitRate/10000.0+ReLuckyHitRate/10000.0*(1.2+ReLuckyHit/10000.0))+max((RePetAtk-Def)*(1+RePetDamPer/10000.0)*RePetSkillAtkRate/10000.0,0)+max((ReIceAtk-IceDef)*ReSkillAtkRate/10000.0*(1+ReDamagePer/10000.0)*(1-ReLuckyHitRate/10000.0+ReLuckyHitRate/10000.0*(1.2+ReLuckyHit/10000.0)),0)+ReFinalHurt)*HitTime/100.0*math.sqrt((ReAtkSpeed+10000)/10000.0)+(ReAtk-Def*(1-ReIgnoreDefRate/10000.0))*ReBleedDamage/10000.0*(1+ReDamagePer/10000.0)*(1-ReLuckyHitRate/10000.0+ReLuckyHitRate/10000.0*(1.2+ReLuckyHit/10000.0))*HitTime/100.0"],  |  |   |  | ],  |  |   |  | # µØÍ¼ÈËÊý¶ÔÓ¦ÊôÐÔ¶îÍâ³É³¤ÏµÊý {mapID:{"ÊôÐÔÃû":{×é¶Ó½øÈëÈËÊý:ϵÊý, ...}, ...}, ...}  |  | # keyÖ§³ÖÁ½¸ö¸ñʽ£º1-Ö±½ÓÅ䣬2-·¶Î§ÓÃСÀ¨ºÅ£¨min£¬max£©  |  | {  |  |     # æ´»ÊÒż£  |  |     51010:{"MaxHP":{1:1, 2:1.4, 3:1.8, 4:2}, "Def":{4:1, 3:1, 2:1, 1:1}},  |  |       |  |     # »ìÂÒÑýÓò  |  |     31180:{"MaxHP":{1:1, 2:1.3, 3:1.5, 4:1.6}, "Def":{4:1, 3:1, 2:1, 1:1}},  |  |       |  |     #ÊØÎÀÈË»Ê  |  |     31170:{"MaxHP":{1:1, 2:1.9, 3:2.7, 4:3.4, 5:4, 6:4.5, 7:4.9,(8,100):5.5}, "Def":{(1,10):1, (11,100):1}},  |  |   |  |     # ÏÉÃËboss  |  |     31210:{"MaxHP":{1:1, 2:1.8, 3:2.4, 4:2.8, 5:3, 6:3.3, 7:3.5,(8,100):4}, "Def":{(1,10):1, (11,100):1}},  |  |       |  |     #×ÚÃÅÊÔÁ¶  |  |     60010:{"MaxHP":{1:1, 2:1.4, 3:1.8, 4:2}, "Def":{4:1, 3:1, 2:1, 1:1}},  |  |       |  |     #´ó¾³½ç¶É½Ù  |  |     31110:{"MaxHP":{1:1, 2:1.2, 3:1.2, 4:1.2}, "Def":{4:1, 3:1, 2:1, 1:1}},  |  |       |  | },  |  |   |  | # NPCÌØÊâ³É³¤ÈËÊý¶ÔÓ¦ÊôÐÔ¶îÍâ³É³¤ÏµÊý {npcID:{"ÊôÐÔÃû":{ÈËÊý:ϵÊý, ...}, ...}, ...}, ÓÅÏȼ¶´óÓÚµØÍ¼ÈËÊýϵÊý  |  | # keyÖ§³ÖÁ½¸ö¸ñʽ£º1-Ö±½ÓÅ䣬2-·¶Î§ÓÃСÀ¨ºÅ£¨min£¬max£©  |  | {  |  |     #Æï³èboss  |  |     50103001:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  |     50103002:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  |     50103003:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  |     50103004:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  |     50103005:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  |     50103006:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  |     50103007:{"MaxHP":{(0,30):1, (31,40):1.1, (41,99999):1.2}, "Def":{(1,99999):1}},  |  | },  |  |   |  | # ¶¯Ì¬µÈ¼¶µÄµØÍ¼IDÁÐ±í£¬Ä¬ÈÏÒÑˢгöÀ´µÄNPCµÈ¼¶²»»áÔÙ±ä¸ü£¬Ï´ÎË¢³öÀ´µÄ¹ÖÎïµÈ¼¶±ä¸ü [µØÍ¼ID, ...]  |  | [31170],  |  |   |  | # ¶¯Ì¬ÈËÊýϵÊýµÄµØÍ¼ID {µØÍ¼ID:ÊÇ·ñÂíÉÏË¢ÐÂÊôÐÔ, ...}  |  | {31170:1, 51010:1, 31210:1},  |  |   |  | ]  |  |   |  | ) | 
 |