作者laechan (小太保)
看板mud_sanc
标题[wizs] show 函数
时间Wed Aug 29 12:32:07 2012
void show(object me,object tar,string msg,int dam)
{
string wp_name2,wp_name,tmp,tname,mname,con,s1,s2;
mixed obs;
int u,t; // ,dam2;
object wp,env; // ,env2;
env=environment(me);
if(env!=environment(tar)) return ;
//
当 me 是玩家时 u = 1
u=userp(me);
t=userp(tar);
if(u && t)
dam=dam/15;
if(strsrch(msg,"$W")>0)
{
if(wp=(object)me->query("weapon1"))
{
// belldandy@sanc add in 2011/05/31
// 增加 enchant 判断
if(me->query_temp("heal_time/enchant_weapon1")>0)
{
msg=substr(msg,"$W",NOR+MAG"附加魔力的"NOR+wp->query("name")+NOR);
dam=dam+100*(int)me->query_temp("heal_time/enchant_weapon1");
}
else
msg=substr(msg,"$W",""+wp->query("name")+NOR);
}
else
msg=substr(msg,"$W", "拳脚");
}
tname=tar->query("chi_name");
mname=me->query("chi_name");
// tmp 的来源就是 msg
tmp=msg+"\n";
if(me->query_temp("illusion spell")>0)
{
wp_name=substr(msg,"$N","$N的幻影");
tmp+=wp_name+"\n";
}
// 显示给房间除了自己及对象以外的人看
// 这时假若自己有幻影术,讯息增量
s2=substr(tmp,"$N",mname); // 将 $N 的substr 从上段移到这里
s2=substr(s2,"$O",tname);
obs=all_inventory(env);
foreach(wp in obs)
if(wp && wp!=me && wp!=tar && !wp->query("record_data/no_environment_msg"))
tell_object(wp,s2);
// me: belldandy, tar: windman
// s1:
// [9 连击] 你用砂锅大的拳头击向像风一样的男子, (3198)
// 「像风一样的男子受了点伤,但没大碍。」
// s2:
// [9 连击] 蓓儿丹娣用砂锅大的拳头击向你, (3198)
// 「你受了点伤,但没大碍。」
// belldandy 看到的
// 当 u=1 = me是玩家时
if(u)
{
// s1 就是给 me 看的讯息, 来源为 tmp
s1=substr(tmp,"$N",me->query("sex_name"));
s1=substr(s1,"$O",tname);
wp_name=tname;
}
// windman 看到的
if(t && tar!=me)
{
s2=substr(tmp,"$N",mname);
s2=substr(s2,"$O",tar->query("sex_name"));
wp_name2=tar->query("sex_name");
}
// 当 dam<1 时主要 show 讯息的部份在这里, 而且到这里就中止
if(dam<1)
{
if(u)
tell_object(me,s1);
if(t && tar!=me)
tell_object(tar,s2);
return ;
}
// 有 dam 时才执行伤害
tar->receive_damage(dam);
// for 幻影术部份实装底下程式段 by Laechan@Sanc 2010/03/22
if(me && me->query_temp("illusion spell")>0 && tar)
{
dam=(dam/100)*((int)me->query("skill/illusion spell")/100);
tar->receive_damage(dam);
}
if(tar)
{
con=Condit(tar,dam);
if(u)
tell_object(me,s1+"「"HIM+wp_name+HIM+con+NOR"」\n"); //C no colo
if(t && tar!=me)
tell_object(tar,s2+"「"HIR+wp_name2+con+NOR"」\n");
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53
※ 编辑: laechan 来自: 210.61.157.53 (08/29 12:49)