[wizs] show 函數
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)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章