英雄無敵3的傷害算法

無任何特殊技能情況下:

 

攻大於防時:

(1+攻防差*5%)*從傷害範圍中隨機取到的傷害值*[遠程減半]

其中攻防差最大取60,也就是說傷害值最多是:最大傷害值*4

 

防大於攻時:

(1-攻防差*2.5%)*從傷害範圍中隨機取到的傷害值*[遠程減半]

其中攻防差最大取28,也就是說減少70%傷害,所以傷害最小值是:最小傷害*30%

 

按以上情況分析,一個攻很高的英雄帶個低級兵打高級兵,結果是隨機傷害值*4,也造成不了多少傷害.

 

下面是轉的一篇別人寫的文章,太繁瑣了:

 

     (1)若進攻方的攻擊點數大於或是等於捱打方的防禦點數時,單個生物的傷害公式是:

   (1+5%A+J+C+E)*(1-B)*(1-M)*(X-Y+Z)*F

  (2)若進攻方的攻擊點數小於捱打方的防禦點數時,傷害公式又改爲:

  (1-2.5%D)*(1+C+E+J)*(1-B)*(1-M)*(X-Y+Z)*F

  怎麼樣?一頭霧水吧,這也難怪,公式中出現的字母都是我給定義的,又沒和大夥兒商量,真是對不起,我這就把各個字母的含義解釋給大家聽。


  “*”是相乘的意思,很簡單吧。

  “ A”是進攻方的攻擊點數大於捱打方防禦點數的具體數值,在戰場上很容易觀察到雙方部隊的攻防情況,減一下就出來了,如果攻防相等,“A”取0。與“A”相對,“D”就是捱打方的防禦點數大於進攻方攻擊點數的具體數值,至於爲什麼要在“A”和“D”的前面乘上5%與2.5%,原因大家都知道,我就不多說了。另外5%A和2.5%D分別都有最大值,在“A”取60時,5%A最大爲3,2.5%D在“D”取28時,最大爲70%,--攻防高到一定程度就不再對傷害產生影響了。(關於A、D的其它問題也可看最後的注1)


  “J”指的是加大傷害的技能,近身肉搏時攻擊術起作用,遠程射擊當然靠箭術了,需要強調的是人類的騎兵有移動攻擊的特性,所以在騎兵攻擊時,除了需要考慮攻擊術的影響外,還要再加上5%*攻擊時走過的步點數(注2);在寶物中又有幾件加遠程射擊效果的東東,也要留心。至於那兩個有攻擊術特性的蠻族英雄;一個箭術特長的人類騎士,您該不會忘記吧?舉個例子說,13級且有專家攻擊術的Crag Hack在戰場上,其手下的騎兵準備移動8步進行攻擊,這時的“J”就等於30%+30%*5%*13+5%*8=89.5%。可以發現,當“J”中有多個影響因素時,需分別計算最後相加。

  “C”是戰鬥時能出現的加倍因素,常見的是幸運,對於地獄騎士和箭車來說還有奮力一擊與炮術(電腦的預先傷害統計可不會把它們的影響也顯示出來)。這些因素數值都爲1,也可以累加在一起,如同時出現幸運+奮力或幸運+炮術,“C”就是1+1等於2了。爽呀!

  “E”的數值爲50%,但只有在天使VS惡魔、泰坦VS黑龍、火怪VS燈神這三對死敵決戰時才能加上。

  “B”是減少傷害的技能,自然是盔甲術了,專家級的盔甲術是15%,而有三個特長盔甲術的英雄隨着等級的提高也會相應提升這一數值。真可謂水漲船高。

  “M”爲能減少傷害的魔法,近戰時是地系魔法盾,高級可減30%,而空氣護盾自然是對抗遠程傷害的首選了,最多可削弱50%!

  “X”可不是數學中的末知數,它的含義是生物的基本傷害。除了少數幾個傷害固定的傢伙外,多數生物的基本傷害都在一定範圍內變化:長斧兵是2-3,空氣元素則有2-8之多。每次到底取多少,只有電腦說的算,當然你也可以在事後根據屏幕下方的提示,用上面的公式把那個數給算個八八九九,看看電腦是不是給你個不公正待遇。現在放鬆一下,考大家一個IQ題:未日之刃以後,共有六位英雄在率領自己所特長的兵種時會不同程度的加大它們的傷害,您知道他們都是誰嗎?--猜對有獎!


  “Y”、“Z”分別是詛咒和祝福魔法,正常情況下,初級的詛咒和祝福可使傷害變爲最小或最大,而中級和高級的詛咒可使傷害變爲最小再減1!別懷疑,我也很希望它是最小傷害的80%-1,可實戰結果卻是無情的(我的死亡陰影是3.1版本);中級和高級的祝福能出現最大傷害+1的效果。而不正常的情況就是當這個祝福是阿德拉(Adela)的傑作時,加的可不一定是1了。--又一個公式?我的媽啊!

  最後輪到“F”了,它可不簡單,包括了上面沒講到的戰場其它因素,讓我們看看它們都是誰:首先是射擊部隊最麻煩,距離遠了減半,攻城減半,近戰時往往也要減半,真難伺候。這還不算,從末日之後又來了個元素城的精神精靈跟着搗亂,在攻擊非生物系怪物時傷害也要減半(剛剛纔從更新上看到,多謝新任斑竹,使我又漲了幾萬經驗值,注3)!接下來是一些可惡的魔法:致盲後,第一次反擊會減弱,或許就沒有這一次反擊呢;在石化或麻痹狀態所受到的攻擊也要減半--這些情況各有相應的數值,若是同時有多個因素作祟,需分別計算最後相乘,結果是越乘越少!唉?!幸虧H3中有預先統計傷害這一項,如果還象H2那樣……哼哼!可有的瞧了。

  以上說的是單個生物的傷害的計算,如果有N個這樣的生物同時下傢伙,只須單個生物傷害的數值 * N ±修正值(與N有關,在總傷害的1%範圍內)就可以了,爲什麼還有修正值呢,這是因爲實戰發現,同樣條件下,傷害與數量並不是規則的正比例函數。故不能簡單的拿單個傷害與總數相乘……(話末說完,臺下已倒了一大片,接着又是雨點般磚頭飛上來………)


  以下是一點補充說明,不看也罷!

  注1:戰場上部隊的實際攻防與英雄的攻防、生物本身的攻防、英雄是否有相應的兵種特性、地形、魔法影響、是否原地防禦都有關係。在原地防禦時,所增加的點數是生物防禦前的防禦點數除以5,結果只取整數,小數直接捨去,不進行四捨五入;若是除的結果還不到1就取1,如防禦爲1的農民原地防禦也可以增加1點,與防禦爲9的獅鷲原地防禦增加的是一樣的。

  注2:騎兵的移動步數在直來直去的面對面攻擊時很容易數出來,一但要繞到敵人的身後就稍微有點麻煩:因爲騎兵是佔兩格的大塊頭,這就需要它一直走到敵人身後兩格處再轉身攻擊。而我們常常想當然的少算一步,有一次我的8個高級騎兵加了祝福後,算的是走了6步,應該打91點,可實際老是打94?雖說只有3點差異,這也不對啊,反覆計算還是如此,最後恍然大悟:實際走了7步!如果你也是這樣導致算的比不上打的,可千萬別用雞蛋砸我呀!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章