Re: [問題] armor spell的作用還有送醫&生命水晶

作者: laechan (揮淚斬馬雲)   2014-12-16 10:31:09
※ 引述《kevin82222 (慶)》之銘言:
: 用到現在 一直不知道護甲術(armor spell)的用途
: cast之後 被打到好像也不會有什麼防禦作用
: 護甲防禦力好像也沒有減少
: 不知道這個作用是啥
: 或者wiz能show一段code看看他在什麼地方才有效果
: 謝謝~~~
: 順便問一下 為什麼有時後明明沒看到損血 我就死了
: 還有既然生命水晶是花經驗來換 送醫是花錢
: 那感覺都沒有多大損失 這兩者是只差在等待時間嗎?
: 爆水晶直接回recall再去換就好
: 送醫院要等不知幾秒鐘這樣
: 還是這兩個還有什麼別的影響
: 謝謝
armor spell 會在玩家的 temp 資料區新增三項資料
heal_time/armor spell 剩餘多少時間
ap 剩餘護甲值
ap_src 護甲原始值
護甲值主要寫在 /std/user/attack.c 的 receive_damage 函數
裡頭,也就是玩家的「損血函數」,段落是
if(query_temp("heal_time/armor spell"))
{
x=(int)temp_data["ap"]-dam; // 先得到 x = 剩餘護甲值 - 傷害值
if(x<0) // 如果該值 < 0 (護甲值 < 傷害值的意思)
{
temp_data["ap"]=0; // 護甲值歸零
data["hp"]+=x; // hp 損失 x 值
}
else // 若該值 >= 0
temp_data["ap"]=x; // 剩餘護甲值 = x
}
else
data["hp"]-=dam;
這段的意思就是,玩家可以想成自己的血量相當於 hp + 護甲值
,而當損血的情況發生時,會先扣護甲值,扣完才開始後 hp。
上面有個缺陷就是「x<0」時沒有出現訊息,這是因為護甲可以補
,所以即便護甲值已經歸零了但因為護甲術效果還在,所以若玩
家持續損血,在有訊息的情況下該訊息就會一直出現,所以才沒
有設定訊息。可行的解法是
1.不管, 訊息還是給 => 玩家可能會被該訊息洗畫面
2.護甲歸 0 時護甲術效果直接消失 => 那訊息短時間內只會出現一次
我評估看看。

Links booklink

Contact Us: admin [ a t ] ucptt.com