Re: [摳頂] 盾擋調整
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間13年前 (2012/08/01 10:58)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
接著是後續的部份。事實上以上面的公式來看它其實並不
利於降低系統的負擔。
理想的做法應該是..
if(n > random(100))
完全格擋;
else
傷害減傷;
(以前則沒有減傷的部份)
然後 n 的計算要盡量簡單,減傷的部份也要盡量的單純。
再依程式來看,底下幾個數值是一定會讀取的..
skill=me->query("skill/shield"); // 盾牌技能值
s1=shield->query("mass"); // 盾牌重量(同義於盾牌大小)
s2=shield->query("armor"); // 盾牌防御值(同義於盾牌抵擋能力)
str=me->query("stat/str"); // 玩家力量值
而減傷則有兩種,一種是減%,一種是直接扣減值,我剛
剛看了 watershield 它是用減%,所以一般盾擋就用直接
扣減值的方式,目前最簡易的做法是...
扣減值 = s1 x s2 x 某值
比方以八卦鏡為例,重量 450、防御值 600,相乘為 27
萬,那麼就有一個問題,就是新手 VS 老手,拿八卦鏡都
能得到相同的減傷值嗎?答案是否定的,那麼,影響其防
御值的因素為何?就是 skill。
那簡單的公式就是扣減值 = s1 x s2 x (skill / 4000)
= ((s1 x s2) / 100) x (skill / 40)
(實際公式不會照上面,但是會很類似)
若減傷公式 follow 上面,則格擋機率的計算部份我就傾
向使用 skill 及 str 兩個,公式大抵是..
格擋機率 = skill x 某值 + str x 某值
然後 skill 會佔較大的比重,例如 skill/100 為盾牌技
能影響的格擋機率(以後最大 40%),然後 str/200 為額外
的機率,例如 str 5000 的人額外增加 25%。
==================================================
這樣設就有幾個好處..
一、力量高、盾牌技能值高的人,不管拿什麼盾,完全格
擋機率都很高(即盾牌本身不再影響格擋機率)。
二、力量低、盾牌技能值低的人,幾乎無格擋機率,但是
因為有盾牌扣減傷害,所以此時拿盾就可以減傷,甚
至達到完全減傷的效果。
三、但實際上還要再讀取兩個值
lv1 = me->query("level");
lv2 = tar->query("level");
然後在格擋機率部份再加上 lv1、lv2 的相互影響,
比方說若我們承認當你跟怪物的等級差距 < 30 時,
你的盾牌格擋機率是直接再加上某值的,那麼理想的
公式是..
a = lv1+30 - lv2
if(a>0)
格擋機率 = a + 盾牌技能值影響 + str 影響
else
格擋機率 = 盾牌技能值影響 + str 影響
這樣就可以確保你在對抗等級跟你差不多的敵人時有
良好的格擋率。
以上看今天有沒有辦法實裝。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章