Re: [情報] holybell實測(資料由mishaer提供)
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間18年前 (2008/01/29 07:43)推噓3(3推 0噓 2→)留言5則, 3人參與討論串2/6 (看更多)
int receive_damage(int damage)
{
object frog=this_object();
frog->delete_temp("time_record");
if(kk<1)
{
this_object()->set_temp("shield2",({500000,1,frog,frog}));
return 1;
}
kk=0;
::receive_damage(damage);
return 1;
}
這隻怪最後執行到要真正扣血的部份時,它會判斷自己身上的一個值
kk,若 kk<1 則...
一、補盾
二、中止扣血
若 kk 不小於 1 時,讓 kk 重新歸 0 而且造成傷害,所以下一輪攻
擊它又會中止扣血。
這隻怪一開始的 kk 是 0。
mixed shield(object me,object tar,int dam,string type)
{
dam = dam / 4;
if(dam < 7777 ) dam = 0;
if(dam > 77777 ) dam = 0;
return ({kk=dam,"但是都擦身而過,被閃開了!"});
}
這是它護盾格擋的執行部份。理論上被 holybell 過的怪物不會執行
護盾格擋,所以該怪物的 kk 永遠是 0 = 永遠不會實際上損血。
以上。
解決方法:
我可以讓 holybell 不跳過所謂的護盾格擋,而是在護盾格擋後才判
斷 holybell 是否存在。
但是這樣 wiz 仍舊可以在自訂的 shield 函數以及 receive_damage
中動手腳,結果是一樣的。
但是上述設定違反「holybell 放下去不能對玩家造成負影響」的最
優先原則,所以修改方式有三...
一、holybell 取消放下去後會解除怪物防禦狀態的功能,單純用來
解身上的不良狀態。
二、怪物身上有 holybell 參數時,不呼叫 receive_damage 函數,
而是呼叫另一函數來執行扣血。
三、deus 將該隻怪物修改為 selfshield2 型的怪物,取消自定的
receive_damage 函數或修改該函數的判斷。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 220.134.34.90 (01/29 07:44)
→
01/29 10:17, , 1F
01/29 10:17, 1F
推
01/29 12:33, , 2F
01/29 12:33, 2F
→
01/29 12:34, , 3F
01/29 12:34, 3F
推
01/29 13:46, , 4F
01/29 13:46, 4F
推
01/29 13:51, , 5F
01/29 13:51, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 6 篇):
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章