# 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)", }, # µÈ¼¶³É³¤ÊôÐÔ¹«Ê½ {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"], ], 1: [ ["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"], ["Def","ReAtk*AtkCoefficient/10000.0"], ["MinAtk","(((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)*max((1-max(strengthenLV-350,0)/10*0.03),0.75)/60.0"], ["MaxAtk","(((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)*max((1-max(strengthenLV-350,0)/10*0.03),0.75)/60.0"], ["FireAtk","0"], ["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)*max((1-max(strengthenLV-350,0)/10*0.03),0.75)"], ], }, # µØÍ¼ÈËÊý¶ÔÓ¦ÊôÐÔ¶îÍâ³É³¤ÏµÊý {mapID:{"ÊôÐÔÃû":{×é¶Ó½øÈëÈËÊý:ϵÊý, ...}, ...}, ...} »ò {mapID:{"ÊôÐÔÃû":"ÈËÊý³É³¤ÏµÊý¹«Ê½", ...}, ...} # keyÖ§³ÖÁ½¸ö¸ñʽ£º1-Ö±½ÓÅ䣬2-·¶Î§ÓÃСÀ¨ºÅ£¨min£¬max£©; ¹«Ê½ÈËÊý²ÎÊýÃû: strengthenPlayerCnt { # æ´»ÊÒż£ 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:{"ÊôÐÔÃû":{ÈËÊý:ϵÊý, ...}, ...}, ...}, ÓÅÏȼ¶´óÓÚµØÍ¼ÈËÊýϵÊý »ò {npcID:{"ÊôÐÔÃû":"ÈËÊý³É³¤ÏµÊý¹«Ê½", ...}, ...} # keyÖ§³ÖÁ½¸ö¸ñʽ£º1-Ö±½ÓÅ䣬2-·¶Î§ÓÃСÀ¨ºÅ£¨min£¬max£©; ¹«Ê½ ÈËÊý²ÎÊýÃû: strengthenPlayerCnt£¬ ³É³¤µÈ¼¶:strengthenLV µÈ¼¶Óɳɳ¤±íÅäÖõÄÀàÐ;ö¶¨ { #Æï³èboss 50103001:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, 50103002:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, 50103003:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, 50103004:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, 50103005:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, 50103006:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, 50103007:{"MaxHP":"(1+(min(max(strengthenPlayerCnt-10,0),50)*0.09)+min(max(strengthenPlayerCnt-60,0),40)*0.07+min(max(strengthenPlayerCnt-100,0),40)*0.04+min(max(strengthenPlayerCnt-110,0),99999)*0.01)*min(max(strengthenLV-200,0.6),1)"}, }, # ¶¯Ì¬µÈ¼¶µÄµØÍ¼IDÁÐ±í£¬Ä¬ÈÏÒÑˢгöÀ´µÄNPCµÈ¼¶²»»áÔÙ±ä¸ü£¬Ï´ÎË¢³öÀ´µÄ¹ÖÎïµÈ¼¶±ä¸ü [µØÍ¼ID, ...] [31160,31170,31080], # ¶¯Ì¬ÈËÊýϵÊýµÄµØÍ¼ID {µØÍ¼ID:ÊÇ·ñÂíÉÏË¢ÐÂÊôÐÔ, ...} {31170:1, 51010:1, 31210:1}, ] )