作者hlead (希多)
看板mud_sanc
标题[问题] 闪躲设定。
时间Sat Jul 16 17:08:48 2011
我发现角色的 TEMP DATA 里面完全没 "sneak" 耶!
莫名失效 or 设不上去?
改完/adm/daemons/fight_d.c看起来没啥问题阿orz
可是好像就是不会执行到sneak_defance()的样子。
以下是程式段:
if(!userp(tar))
u=1;
if(u)
{
msg=dodge_defance(tar,me,hitr,u,type,damage);
if(msg=="ERROR") msg=shield_defance(tar,me,hitr,u,type);
if(msg=="ERROR") msg=parry_defance(tar,me,hitr,u,type,damage);
}
else
{
switch(guild)
{
case "thief":
{
msg=sneak_defance(tar,me,(hitr/2),u,type);
然後:
// 盗贼闪躲,新增残影效果 by Norr in 2011/07/16
string sneak_defance(object tar,object me,int hitr,int u,string type)
{
mixed mod;
int sk_waver;
//sneak mod {(固定值,random用值,上限值,必定成功闪躲率});
if(!mod=tar->query_temp("sneak"))
{
BASE_DEF->sneak(tar);
return "ERROR";
}
if(sk_waver=tar->query("skill/waver"))
if(sk_waver > 99 && mod[3] > random(500))
return ",但是$O的身影瞬间逃至10里之外,而眼前的身形渐渐模糊!";
if(mod[0]+random(mod[1]) > (hitr/2+random(hitr)))
return ",但是被$O用盗贼的独特步伐避开了!";
return "ERROR"; // 完全失败
}
我call /d/skill/basesk.c;sneak;norr会设置上去。
可是不知道上面为啥会有问题。...
--
Norr@Sanc
风,吹散了一切烦恼,只留下平静的思考。
雨,淋落了一切纷乱,只剩下无比的快乐。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.46.189
※ 编辑: hlead 来自: 122.117.46.189 (07/16 17:12)
1F:→ laechan :某些怪物没有 temp_data 07/16 20:44
2F:→ laechan :不给的原因是1)节省mapping 2)怪物不太需要用到 07/16 20:44
3F:→ hlead :是玩家都没有...avert..还是玩家档案是另一个? 07/16 20:55
4F:→ laechan :grep /adm/daemons 下的 basesk 看看 07/16 21:02
5F:→ hlead :#define BASE_DEF "/d/skill/basesk.c" 07/16 21:05
6F:→ hlead :这有改过了@@重点是好像没啥用..根本不会执行。 07/16 21:05
7F:→ hlead :new_defance()在哪阿? 07/16 22:51
8F:→ laechan :/adm/simul_efun/new_defance.c 07/17 10:05
9F:→ hlead :痾...好吧..又没权限 07/17 10:27
10F:→ hlead :所以这档案能改吗?... 07/17 10:30