作者laechan (小太保)
看板mud_sanc
標題[摳頂] 盾擋調整
時間Mon Jul 30 10:32:40 2012
原程式碼:
if((object)tar->query("shield"))
if(mod=tar->query_temp("shield"))
if((int)mod[0]+random(mod[1])+(int)tar->query_temp("temp_skill/shield")>(hit/2+random(hit)))
return ({0,",但是被$O用盾擋開了!"});
「但是被$O用盾擋開了!」這一句會保留。
新程式碼:
(備份檔為 new_defance.20120730)
msg2="";
if(shield=(object)tar->query("shield"))
{
//
符合盾擋機率時才進行減傷
s=(int)tar->query("skill/shield");
if(s/100+(int)shield->query("mass")/10 > random(100))
{
//
盾防必須跟盾重相配才有意義
d=((int)shield->query("
armor")*(int)shield->query("
mass"))/10;
p=d+(s*(int)tar->query("stat/str"))/200;
//
完全格擋的情況(傷害值<格擋值)
if(damage<=p)
return ({0,",但是被$O用盾擋開了!"});
else
{
msg2=shield->query("short");
d=strsrch(msg2,"(");
msg2="被你用"+msg2[0..d-1]+"減輕了傷害, ";
damage=damage-p;
}
}
}
不過實測時給我的感覺怪怪的,原因來自於..
一、並沒有判斷怪物(攻擊方)的能力,這導致自己等級低、
力量低、技能低時拿盾是無意義的。這點絕對會再列入
考慮,目前先調高整體格擋機率。
二、因為盾牌技能值同時影響格擋跟減傷,造成技能值低時
實際上格擋也不會啟動,而盾牌值高時又因為減傷超多
就造成實際上「都是被用盾擋開」的敘述。
這兩點會再調整。如果調整到後來覺得贅碼過多,不排除就
將所有調整取消回歸原狀,並以聖殿不適合做這樣的調整做
結。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 210.61.157.53 (07/30 11:41)
※ 編輯: laechan 來自: 210.61.157.53 (07/30 11:43)