![]() |
cast juanbi分析笔记
写在前面,最近灭妖比较多,在长期的杀怪过程中,发现怪的juanbi是当前对我威胁最大的cast了。截至当前,总计被挂两次,打晕若干。所以翻阅了一些资料,结合自身技能分布,开始分析juanbi对我的威胁机理。
|
回复: cast juanbi分析笔记
首先,在spls论坛的巫师园地,我找到了前辈高手留下的文章,“cast juanbi分析”,从中节录了重点的计算公式,感兴趣的同学可以自己查阅全文。
参数说明: ap为妖怪的dengxian-dafa等级+法术等级/2,即其法术有效等级。 dp为我的法术有效等级 (不计物品提升,如coat,tianyi)。 dg为我的轻功有效等级 (不计技能提升,如wuxue,bianfu,jingxin等;不计坐骑提升)。 计算公式: juanbi的成功率主要决定于妖怪的有效法术等级,自己的有效法术等级和目标的有效轻功等级,计算公式如下: dp=100*ap/dp/3+random(100*ap/dp)/2 dg=100*ap/dg/3+random(100*ap/dg)/2 条件分析: dp<30, 怪会被我抓住鼻子,他死定了 dp在30和60之间,被我挡开,他自己busy 1到3 dg小于50,被我躲开,怪busy 1到3,我busy 0到3 其他, juanbi打中我,怪自己busy 0到2,我busy 1到4 小结: 所以,当 dp >= 60 并且 dg >= 50 时,我肯定被怪的juanbi打中。 后边主要分析的,也就是这种情况。 |
回复: cast juanbi分析笔记
对于newkill所能给的最bt的怪,它的skills是我的1.3倍,即ap/dp=1.3,ap/dg=1.3,当然,这种理想情况是我的法术有效等级和轻功有效等级持平的时候,而事实上……我们后边再说,:D
ok,带入公式中: dp=(100*1.3)/3+random(100*1.3)/2>=60 可以得到:random(130)>=33.3,相当于random(100)>=25.6,所以大约75%的概率。由于dg的计算公式一样,那么75%*75%=56%,差不多一半的成功率。 这也是为什么很多人说,法术等级升上去可以防怪的juanbi了。 然而,由于特殊法术需要4倍切磋,在最高等级过了300以后,就很难保证法术有效等级和其他有效等级持平了,那么如果最高等级400,特殊法术等级300,有效等级500,怪等级为600*1.3,此时ap/dp=1.56,让我们再次计算一下。 dp=(100*1.56)/3+random(100*1.56)/2>=60 random(156)>=16,相当于random(100)>=10,此时有90%*75%=67.5%。 看起来,只提高了10多个百分点,问题不大,然而如果我来假定xyj中的random函数是标准正态分布函数,而不是平常假设的平均分布,那么大于60%,就接近100%的命中了。实际灭妖过程中的体验也基本吻合。 |
回复: cast juanbi分析笔记
所以,除非要去pk了,为了灭怪,即使是4倍的切,也要skills平衡。
|
回复: cast juanbi分析笔记
还有,等级高的时候中了juanbi还是赶紧逃吧,做escape的seal,burn seal比较安全,不然太容易挂了。
|
回复: cast juanbi分析笔记
分析的太好了!看来要在机器中加一条burn seal的触发了!
|
回复: cast juanbi分析笔记
分析的太好了,我也经常被怪juanbi,比较好!
|
回复: cast juanbi分析笔记
收益非浅,谢谢楼主的文章
|
回复: cast juanbi分析笔记
专业人士呀
* good |
回复: cast juanbi分析笔记
居然快到50了,
让我灌水一下 |
回复: cast juanbi分析笔记
楼主实在是太强大了,拜一下
|
回复: cast juanbi分析笔记
原来如此
现在等级低还用不到呢哦 |
回复: cast juanbi分析笔记
提醒一下,杀怪的时候千万不要用juanbi,被怪抓住鼻子80%都要挂的!
|
回复: cast juanbi分析笔记
不错,好帖不顶对不起良心!
|
回复: cast juanbi分析笔记
好贴啊,
dp为我的法术有效等级 (不计物品提升,如coat,tianyi)。 dg为我的轻功有效等级 (不计技能提升,如wuxue,bianfu,jingxin等;不计坐骑提升)。 是怎么得出来的?经过测试了吗? |
回复: cast juanbi分析笔记
//扭转乾坤
#include <ansi.h> inherit SSERVER; int cast(object me, object target) { string msg; string tar_spells,tar_dodge; int ap,dp,dg,damage; if( !target ) target = offensive_target(me); if( !target || !target->is_character() || target->is_corpse() || target==me) return notify_fail("你要对谁用扭转乾坤?\n"); if (!target->is_fighting(me)) return notify_fail("只有在战斗中才能使用扭转乾坤!\n"); if((int)me->query("kee") < 100 ) return notify_fail("你体力不足,用不了扭转乾坤!\n"); if((int)me->query("force") < 100 ) return notify_fail("你须运足内力才能使用扭转乾坤!\n"); if((int)me->query_skill("dengxian-dafa", 1) < 40 ) return notify_fail("你的登仙大法还不够纯熟。\n"); if((int)me->query("mana") < 300 ) return notify_fail("你的法力不足以变作神象伤敌!\n"); msg = HIW"\n$N趁$n不备,怒吼一声,转瞬间化作一只黄牙老象," +"伸出蛟龙般的鼻子向$n卷去!\n" NOR; ap=(int)me->query_skill("dengxian-dafa", 1) +(int)me->query_skill("spells", 1)/2; tar_spells=target->query_skill_mapped("spells"); if (! tar_spells) dp=(int)target->query_skill("spells", 1)/2; else dp=(int)target->query_skill("spells", 1)/2 +(int)target->query_skill(tar_spells, 1); tar_dodge=target->query_skill_mapped("dodge"); if (! tar_dodge) dg=(int)target->query_skill("dodge", 1)/2; else dg=(int)target->query_skill("dodge", 1)/2 +(int)target->query_skill(tar_dodge, 1); if (dp!=0) dp=100*ap/dp/3+random(100*ap/dp)/2; else dp=100; if (dg!=0) dg=100*ap/dg/3+random(100*ap/dg)/2; else dg=100; //printf("dp=%5d dg=%5d",dp,dg); damage=me->query("max_mana")/20+1; damage=(me->query("mana_factor")+me->query("str")+random(damage))*2; if (dp<30) { msg += HIW "不料$n早有准备,扭转身形轻舒猿臂一把抓住了$N的鼻子!\n" +"$N疼得一声闷哼,身不由己的被$n拖了过去!\n"NOR; message_vision(msg, me, target); me->add("kee", me->query("str")*2); me->start_busy(30-dp+random(10)); } else if (dp<60 && dp>30) { msg += HIW "$n连忙扭转身形运转神功将$N的长鼻荡开。\n"NOR; message_vision(msg, me, target); me->start_busy(1+random(2)); } else if (dg<50) { msg += HIW "$n纵身向后一跃,闪过了这一击。\n"NOR; message_vision(msg, me, target); me->start_busy(1+random(2)); target->start_busy(random(3)); } else { msg += HIW "$n促不击防,被$N的长鼻高高卷起,$N用力一甩," +"$n如断了线的风筝般飞了出去!\n"NOR; message_vision(msg, me, target); target->receive_damage("kee",damage,me); me->start_busy(random(2)); target->start_busy(1+random(3)); COMBAT_D->report_status(target); } me->add("force", -30); me->add("mana", -30); target->kill_ob(me); // message_vision(msg, me, target); return 1; } |
| 所有时间均为格林尼治时间 +9, 现在的时间是 11:09. |
Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号
站长 fengyue