Re: [情報] holybell實測(資料由mishaer提供)

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間18年前 (2008/01/29 07:43), 編輯推噓3(302)
留言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
我想先參考 deus 的決定.
01/29 10:17, 1F

01/29 12:33, , 2F
推二;若選三治標不治本,且要玩家打過怪才知道,再告知wiz修
01/29 12:33, 2F

01/29 12:34, , 3F
改的話..時間上部份會感覺比較沒效率..
01/29 12:34, 3F

01/29 13:46, , 4F
3沒意義,這樣新怪出來玩家還是不敢放
01/29 13:46, 4F

01/29 13:51, , 5F
推1吧,至少不用跟作者玩心理戰
01/29 13:51, 5F
文章代碼(AID): #17dcYo0X (mud_sanc)
文章代碼(AID): #17dcYo0X (mud_sanc)