Re: [摳頂] 盾擋調整

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2012/08/01 10:58), 編輯推噓0(000)
留言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
文章代碼(AID): #1G69j9Ng (mud_sanc)
文章代碼(AID): #1G69j9Ng (mud_sanc)