魔法抗性的組成
第一部分:考慮法術攻擊類型對該單位護甲類型的係數。
在標準的魔獸爭霸對戰中,在遊戲平衡常數里,法術攻擊對除了神聖護甲類型和英雄護甲類型以外的各種護甲類型(輕甲、中甲、重甲、無甲、加強甲或稱城甲)的係數都是1,對英雄護甲類型的係數是0.70,對神聖護甲類型的係數是0.05。舉個例子,假設給出標定100點法術攻擊魔法傷害(魔法傷害不計算護甲數值)作用到一個目標上,如果這個目標的護甲類型是英雄護甲,那么該目標實際減掉100*0.70=70點血量;如果這個目標的護甲類型是神聖護甲,那么該目標實際減掉100*0.05=5點血量;如果這個目標的護甲類型是其他的比如重甲,那么該目標實際減掉100*1=100點血量。從結果直觀的看,英雄護甲類型和神聖護甲類型對法術攻擊類型有一定的抵抗能力,這個抵抗能力就是魔抗,具體的說英雄護甲類型的單位有30%的魔抗,神聖護甲類型的單位有95%的魔抗。
當然,在魔獸爭霸1.15版本之前,法術攻擊類型對英雄護甲類型的係數是0.75,出於平衡性修正,暴雪的魔獸爭霸1.15版本補丁更改了這個係數為現在的0.70。1.15版本的changelog相關原文如下:“- Hero spell resistance increased to 30% reduction from 25% reduction.”也就是說英雄的魔法抗性從25%增加到30%,簡單的說這個更改的效果就是在標準對戰里同樣的法術對敵人英雄單位的傷害變低了。
在DotA裡面,因為其作者icefrog對遊戲平衡常數做了一些修改,和標準對戰的並不相同。目前DotA版本的攻擊類型對護甲類型的係數表格如下:
DotA攻擊類型對護甲類型係數表(6.60版本以後)
DotA攻防係數表 | 中甲 | 重甲 | 加強甲 | 英雄甲 | 無甲 | 虛無態修正 |
普通攻擊 | 1.5 | 1.25 | 0.7 | 0.75 | 1 | 1.44 |
穿刺攻擊 | 0.75 | 0.75 | 0.35 | 0.5 | 1.5 | 1 |
攻城攻擊 | 0.5 | 1.25 | 1.5 | 0.75 | 1 | 1 |
混亂攻擊 | 1 | 1 | 0.4 | 1 | 1 | 1 |
英雄攻擊 | 1 | 1 | 0.5 | 1 | 1 | 1 |
法術攻擊 | 1 | 1 | 1 | 0.75 | 1 | 1.44 |
魔法攻擊 | 0.75 | 2 | 0.35 | 0.75 | 1 | 1 |
從表中可以看出,法術攻擊類型對英雄護甲類型的係數為0.75,所以正常英雄的魔抗為25%第二部分:
考慮該單位自身魔抗類技能。
在魔獸爭霸標準對戰中,有的單位自身技能能夠對法術攻擊類型產生抵抗,這個就是魔抗的第二個組成部分。這種技能包括1.17版本重做後的防禦(Adef:Defend)和1.10版本加入的艾露尼的恩賜(Aegr:Elune's Grace )。雖然“防禦”在地圖編輯器里有可以被修改抵抗法術攻擊的屬性,但標準對戰地圖裡這個係數設為1,也就是沒有產生抵抗能力。艾露尼的恩賜的係數是0.8,換句話說擁有這個被動技能的暗夜弓箭手具有20%的魔抗,也就是一個245血的弓箭手不會被一個標定300法術攻擊魔法傷害的3級死亡纏繞殺死。
在DotA中,屠夫、冥界亞龍、幻影長矛手、敵法師等英雄具有自身魔抗類技能,這些英雄技能的基礎技能是地圖編輯器中的AIdd:防禦(物品)。死靈龍的怨靈(一級33%、二級33%、三級70%)、謎團的惡魔精神體(50%)、死靈書的死靈戰士和死靈射手(40%)和roshan(75%)等單位也具有自身魔抗類技能,這些技能的基礎技能是地圖編輯器中的AIsr:魔法傷害減少。
考慮該單位帶有魔抗類技能的物品。
在魔獸爭霸標準對戰中,神秘腰帶(brac)這個物品能讓持有者對法術攻擊類型產生抵抗,這個就是魔抗的第三個組成部分。神秘腰帶這個物品的技能是AIsr:魔法傷害減少。而在DotA中,流浪法師斗篷、挑戰頭巾、卡嘉之洞察長笛等物品同樣擁有不同數據的AIsr技能,可以讓持有的單位產生魔抗。這些擁有不同數據的AIsr技能物品之間效果不會疊加,後獲得的物品的魔抗效用會覆蓋先獲得物品的魔抗效用。
魔法抗性的計算
一個單位的魔法抗性由前述三種來源組成,最終魔法抗性數據計算按如下公式:
魔法抗性 = (1 - (1 - S1) * (1 - S2) * (1 - S3))
其中S1、S2、S3分別代表前述三種來源的數據。
在魔獸爭霸標準對戰裡面,不會出現同時存在魔抗三種來源的情況,一般是一個英雄帶一個神秘腰帶,那么其魔法抗性 = (1-(1-30%)*(1-33%)*(1-0))= 53.1%;在DotA裡面,有可能出現同時存在魔抗三種來源的情況,根據其標定數據代入上公式計算即可得出最後魔法抗性。
例如:帶有流浪法師斗篷並且升級滿腐蝕外表的冥界亞龍
S1 = 法術攻擊類型對英雄護甲類型係數 = 25% ; S2 = 流浪法師斗篷提供的魔抗 = 15% ; S3 = 腐蝕外表提供的魔抗 = 20%
那么魔法抗性 = (1 - (1 - 25%) * (1 - 15%) * (1 - 20%)) = 49%
魔法抗性和魔法免疫等術語的區別
對魔獸爭霸不是很熟悉的人容易混淆魔法抗性和魔法免疫這兩個詞語,比如錯誤地認為魔法免疫即是100%魔法抗性。事實上魔法抗性(Spell Resistance)和魔法免疫(Magic Immune)是單位的兩個不同的屬性。從英文單詞可以看出來,雖然這兩個詞前半部分中文都翻譯為“魔法”,但一個是Spell,一個是Magic,也就是說這前半部分的兩個“魔法”並不相同。這裡不恰當的翻譯引起理解上的誤導,事實上魔法抗性(Spell Resistance)應該翻譯為法術抗性,這樣既可以一目了然地符合文首的定義——法術抗性 “指的是某單位對敵人的法術攻擊(Attack Type: Spelll )的抵抗係數”,又不會和其他常見帶“魔法”前綴的術語比如魔法免疫、魔法傷害、魔法攻擊、魔法值、魔法(技能)等等混淆。
如上文所說,由於歷史原因,法術抗性被譯成了魔法抗性並廣泛使用,可能引起誤解,那么使用的時候就應該特別和其他帶“魔法”前綴的術語區分開來。下面簡單介紹一下這些術語。
魔法免疫(Magic Immune)——根據具體語境可以理解為一個被動技能或者是具有一種被動技能的狀態,在這個被動技能下,該單位具有特性:不受攻擊類型為魔法攻擊或者傷害類型為魔法類傷害的傷害影響;不受非大招、非特殊指定可對魔免作用的英雄技能作用;對回復性技能、光環和某些特殊的物理性技能無效。
魔法攻擊(ATTACK_TYPE_MAGIC)——攻擊類型的一種。標準對戰里的各種族法師的攻擊類型都是魔法攻擊。魔法攻擊對重型護甲和輕型護甲造成額外傷害,對中型護甲,加強型護甲和英雄護甲造成較少傷害。攻擊類型為魔法攻擊的單位可以攻擊虛無態單位。攻擊類型為魔法攻擊的單位不能攻擊魔法免疫態單位。在DotA里也是這個規律,參見上面的DotA攻擊類型對護甲類型係數表,不過DotA里魔法攻擊非常罕見,可以不考慮這個術語的影響。
魔法傷害(DAMAGE_TYPE_MAGIC)——傷害類型的一種。標準對戰里基本上所有英雄的直接帶傷害的非大招主動技能,都是法術攻擊魔法傷害。傷害類型為魔法傷害的技能對魔法免疫沒有傷害。傷害類型為魔法傷害的技能在受影響單位計算傷害時不考慮這些單位的護甲數值。在DotA里,大概三分之二的英雄的帶傷害的技能,屬於法術攻擊魔法類傷害。這裡的魔法類傷害,包括魔法傷害(DAMAGE_TYPE_MAGIC)、火焰傷害(DAMAGE_TYPE_FIRE)、冰凍傷害(DAMAGE_TYPE_COLD)、神聖傷害(DAMAGE_TYPE_DIVINE)等等,在DotA裡面效果沒有差別,所以可以一致簡單等價為魔法傷害(DAMAGE_TYPE_MAGIC)。
魔法值(Mana Point)——魔法能量點數。大多數單位釋放技能需要消耗一定的魔法值。在DotA里甚至使用大多數物品也需要消耗魔法值。
法術攻擊(ATTACK_TYPE_NORMAL)——攻擊類型的一種。標準對戰里基本上英雄的直接帶傷害的主動技能,攻擊類型都是法術攻擊,也就是說受影響的單位計算傷害時候要計算魔法抗性。在DotA里,大概三分之二的英雄的帶傷害的技能,屬於法術攻擊魔法類傷害,以及另外的一小部分英雄技能,屬於法術攻擊普通傷害。也就是說這些技能影響的單位計算傷害時候都需要考慮單位的魔法抗性。
普通傷害(DAMAGE_TYPE_NORMAL)——傷害類型的一種。標準對戰里基本上所有單位正常攻擊時候輸出的傷害,其傷害類型都為普通傷害。DotA里許多帶法球單位正常攻擊時候輸出的傷害可以混有其他傷害類型。DotA里一部分技能的傷害類型也是普通傷害。傷害類型為普通傷害的技能在受影響單位計算傷害時需要計算這些單位的護甲數值帶來的衰減。
攻擊類型(Attack Type)、傷害類型(Damage Type)——當某進攻單位通過技能或者正常攻擊對某接受單位造成損傷,該攻有兩個必須的屬性,就是攻擊類型和傷害類型。而該受也有兩個主要屬性,護甲類型和護甲數值。攻擊者的攻擊類型直接對應接受者的護甲類型,其關係例如前面給出的攻擊類型對護甲類型係數表(不同的魔獸rpg地圖這個關係由地圖作者自己修改)。攻擊者的傷害類型直接對應接受者的護甲數值,簡單說就是魔法類傷害類型和某些特殊類傷害類型不考慮護甲數值,而普通傷害類型需要考慮護甲數值帶來的衰減。除此之外,接受者還有一些其他屬性,比如單位類型(古樹、機械、守衛、樹木等等)、是否魔法免疫態,是否虛無態,是否無敵態,是否空中單位等等。