Stendhal
司湯達的戰鬥公式是什麼?
我想準確了解MMORPG司湯達戰鬥中不同因素(裝備、攻防、等級)的影響。我沒有找到計算生命值的公式,它在某處可用嗎?
**編輯:**如回答,公式相當複雜;一些我不確定的事情可以通過查看程式碼來確認:
- DEF 和物品提供的防御之間的 x 不會產生誤導:這兩個統計數據相乘(類似於 ATK);
- 實際防禦值是上述乘積與等級的幾何平均值(乘積的平方根);
- 和 2. 都被加法和乘法常數所減輕,因此在低級別時,級別並不算多。
不過,程式碼中有一些奇怪的東西。例如,用於計算最大防禦的級別的權重由乘法常數給出。但是在幾何平均數內,正確的加權方式應該是使用 level提升到一個恆定的冪。這通過使解釋複雜化的加法常數 NEWBIE_DEF 得到緩解,但該公式對我來說仍然沒有什麼意義。
答案不能放在一個公式中,但您可以查看程式碼以了解傷害計算的工作原理。
基本上有兩種有趣的方法,因為戰鬥分兩步進行:
- 首先決定是否命中
public boolean canHit(最終 RPEntity 防御者)
- 如果受到打擊,則計算傷害(仍然可以為 0)
int damageDone(RPEntity 防御者, 雙重攻擊武器值, 自然傷害類型, boolean isRanged, int maxRange)