查看单个帖子
旧 2008-01-31   #1
stome1025
初级会员
级别:1 | 在线时长:10小时 | 升级还需:5小时
 
stome1025 的头像
 
注册: 08年01月14日
帖子: 48
声望力: 0
声望: 10 stome1025 闻道则喜
精华:1
现金:637两梁山币
资产:1678两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
天魔台练妖法代码分析【原创】

小熊泥苑下载的2000年4月代码,目前可能已经有所改动

int do_lian()
{
object me=this_player();
int myspells, myspi, learned, sencost;
if ((int)me->query_temp("mark/无底洞天魔台climbed") != 1)
return notify_fail("只有身在天魔台才可练功\n");
if(( (int)me->query_skill("dao", 1)>50
|| (int)me->query_skill("taiyi",1)>50
|| (int)me->query_skill("gouhunshu", 1)>50
|| (int)me->query_skill("moonshentong", 1)>50
|| (int)me->query_skill("buddhism", 1)>50
|| (int)me->query_skill("dengxian-dafa", 1)>50
|| (int)me->query_skill("baguazhou", 1)>50)
&& !wizardp(me))
////这个就是练习妖法的限制条件,道家仙法,太乙,勾魂术,月宫,大成,登仙,八卦,都不能大于50。这里好像没提到龙宫的法术,昨天有人试了不行。估计已经加上龙宫法术不能大于50的限制了。
return notify_fail("不知为何你的先天灵气不能与天魔台的魔魂交合,也许你现有的法术已学的太深了。\n");
myspells=(int)me->query_skill("spells", 1);
if(me->query_skill("yaofa", 1)>=myspells)
////练习妖法,要求基础法术等级大于妖法等级,等于也不行的哦!
return notify_fail("你的基础法术修为不够高深,难以与天魔台的魔魂交合。\n");
myspi=(int)me->query_spi();
learned=(myspells+myspi)/6;
////每次练习得到的经验点数是,(法力+灵性)/6
if( myspells > 200 ) {
if( (string)me->query("family/family_name")!="陷空山无底洞" ) {
sencost=30+myspells;
}else{
sencost=30+myspells/5;
}
}
else{
if( myspells > 100 ){
sencost = 30+(myspells/10);
}else{
sencost=30;
}
}

if ((int)me->query("sen")<=sencost)
return notify_fail("你神志不清,再练下去会有危险的!\n");
if(me->query("mana")<=(sencost/2))
return notify_fail("你的法力不足,难以领会高深的妖法\n");
////练习妖法的精神和法力要求。

me->delete_temp("spellslevel");
me->delete_temp("d_mana");
me->delete_temp("apply/name");
me->delete_temp("apply/id");
me->delete_temp("apply/short");
me->delete_temp("apply/long");
me->receive_damage("sen", sencost);
me->add("mana", -(sencost/2));
tell_object (me, "你的『妖法』略有进步\n");

//add by bula 7/25/99

if( me->query_skill("yaofa", 1) >=200 ){
me->improve_skill("yaofa", learned, 1);
} else {
me->improve_skill("yaofa",learned);
}
////超过200级,就不能自动升级,需要找老鼠们去切磋了

if (random(100+me->query_kar()*10)<5)
////0-(福缘×5+100)/10 之间取随机数,小于5就晕掉。到红楼梦里去了
//mon 1/23/98. old formula was <1, I changed to <5.
//don't know exactly, but <1 seems impossible.
{
message_vision("$N昏昏地睡了过去。\n", me);
me->delete_temp("mark/无底洞天魔台climbed");
me->move("/d/ourhome/honglou/main");
if (random(40-me->query_kar())<10)
me->set("dream_place", "/d/qujing/wudidong/mishi");
}
return 1;
}

大家看了觉得有帮助就帮忙支持加个精!!
stome1025 当前离线  
回复时引用此帖