2008-02-29 | #1 |
初级会员
注册: 08年01月14日
帖子: 48
声望力: 0
声望:
10
精华:1
现金:637两梁山币
资产:1678两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
【原创】迷魂源码分析
2000.4月的代码: if((int)me->query_skill("spells") < 100 || (int)me->query_skill("moonshentong",1) < 60) return notify_fail("你还没学会迷魂术。。。\n"); //////////////////有效法力大于100,月宫仙法大于60级才能用迷魂 if( !target || !target->is_character() || target->is_corpse() || target==me) return notify_fail("你想迷谁的魂?\n"); if(target->query_temp("no_move")) return notify_fail(target->query("name")+"已经魂不守舍,呆若木鸡了!\n"); if((int)me->query("mana") < 200 ) return notify_fail("你的法力不够!\n"); if((int)me->query("sen") < 10 ) return notify_fail("你无法集中精神!\n"); me->add("mana", -200); ////////////////迷魂消耗法力200 me->receive_damage("sen", 10); ////////////////消耗10点精神 msg = HIC "$N低头轻声念了句咒文又抬起头来朝$n妩媚的一笑!\n" NOR; success = 1; ap = me->query_skill("spells"); ap = ap * ap * ap /12 ; ap += (int)me->query("daoxing"); dp = target->query("daoxing"); ////////////////有效法力的3次方除以12+dh ap2 = (int)me->query_per(); ////////////////施法者容貌 dp2 = (int)target->query_per(); ////////////////目标容貌 ap3 = (int)me->query("mana"); ////////////////施法者当前法力值 dp3 = (int)target->query("mana"); ////////////////目标当前法力值 ap = ap + 5000*ap2+200*ap3; ////////////////所以这里应该是 施法者有效法力3次方/12+施法者dh+施法者容貌×5000+施法者当前法力×200 dp = dp+5000*dp2+200*dp3; ////////////////所以这里应该是 施法者dh+施法者容貌×5000+施法者当前法力×200 xk=SPELL_D->check_xiangke(me, target); if(xk==1) { dp/=5; } else if(xk==-1) { ap/=5; } ////////////////判断法术是否相克 if( random(ap+dp)<dp) success = 0; ////////////////随机从0-(施法者有效法力3次方/12+施法者dh+施法者容貌×5000+施法者当前法力×200 +施法者dh+施法者容貌×5000+施法者当前法力×200)之间取一个随机数,如果这个数字小于施法者dh+施法者容貌×5000+施法者当前法力×200,迷魂失败,否则迷魂成功。 //here we compare current mana. this is important. you need recover to try again. if(success == 1 ){ msg += HIR "$神不守舍地看着$N,怜香惜玉之心油然而起,竟然忘了自己在战斗之中。\n" NOR; target->set_temp("no_move", 1); ////////////////////目标被busy1秒 howlong = random((me->query_skill("spells") -100))/3+4; ////////////////////作用时间是(0-(施法者有效法力-100)随机值)/3+4 if(howlong>60) howlong=60; ////////////////////最长不超过60秒 call_out("free", howlong, target); } else { msg += HIR "$n鄙夷的看了$一眼,毫不为所动!\n" NOR; me->start_busy(random(2)); if( living(target) ) target->kill_ob(me); } message_vision(msg, me, target); return 3+random(5); 法术相克关系如下: baguazhou 克 dengxian-dafa buddhism 克 pingtian-dafa dao 克 yaofa和tianmo taiyi 克 moonshentong dengxian-dafa 克 moonshentong pingtian-dafa 克 seashentong tianmo 克 buddhism yaofa 克 gouhunshu gouhunshu 克 baguazhou moonshentong 克 tianmo和dao seashentong 克 taiyi 成功率分析: 初期,假设法术有效等级100,容貌30,法力1000,dh 100年(dh在代码里面表示为n年×1000) 一个怪,一般能力比你低15% 假设怪的法术有效等级85,容貌30,法力850,dh 85年 1-( (100×100×100)/12+100×1000+30×5000+1000×200 + 85×1000+30×5000+850×200)/(85×1000+30×5000+850×200) = 56.9% 最后一个怪,一般能力比你高20% 假设怪的法术有效等级120,容貌30,法力1200,dh 120年 1-( 100×100×100/12+100×1000+30×5000+1000×200 + 120×1000+30×5000+1200×200)/(120×1000+30×5000+1200×200) = 51.12% 所以初期灭怪用迷魂没什么太大的优势 后期, 假设法术有效等级300,容貌40,法力3000,dh 1000年 假设第一个怪的法术有效等级255,容貌30,法力2550,dh 850年 成功率为73.85% 假设最后怪的法术有效等级360,容貌30,法力3600,dh 1200年 成功率为67.18% 越到后期,迷魂的成功率越稳定,另外,迷魂的时,最好把法力练到接近最大法力×2这样成功率会高一些。初期把法力练满再用迷魂成功率提升效果会更明显一些 |
|
2008-03-01 | #2 |
初级会员
注册: 08年01月14日
帖子: 48
声望力: 0
声望:
10
精华:1
现金:637两梁山币
资产:1678两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【原创】迷魂源码分析
在实际的灭妖过程中,最有效提高灭妖命中率的方法是提高有效法术等级,比如,带个玉佩,穿个僧袍之类的。法术有效等级对命中率影响呈3次方关系。 其次是提高容貌和法力,最没用是提高dh,因为怪的dh是根据你的dh设定的,在dh和wx差不多时,dh对命中影响最小 怪的dh设定公式: guai_dh=your_wx/2+your_dh/3 |
|
2008-06-01 | #3 |
中级会员
注册: 06年06月21日
帖子: 178
声望力: 19
声望:
10
现金:423两梁山币
资产:423两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【原创】迷魂源码分析
学习
|
|
添加到书签 |
|
|
相似的主题 | ||||
主题 | 主题作者 | 论坛 | 回复 | 最后发表 |
天衣 (原创) | zfor | 『 泥巴原创 』 | 22 | 2009-09-27 20:43 |
【总站】【原创】 | 1080tianliang | 『 机器人制作及下载 』 | 2 | 2009-02-12 02:01 |
【水泊梁山】 【总站】【原创】 | zxxzh | 『 帮派传说 』 | 3 | 2005-08-24 10:43 |
【北京站】【原创】 | things | 『 西游记2000 - 北京站 』 | 3 | 2005-02-26 16:10 |
【马帮】 【原创】 | caoer | 『 帮派传说 』 | 10 | 2004-09-14 00:38 |