《全面戰(zhàn)爭:戰(zhàn)錘3》詳解(5):整體規(guī)則篇

目錄
1,抗性規(guī)則
2,疲勞規(guī)則
3,地形影響(戰(zhàn)斗)
4,坡度影響
5,撕裂傷害
6,升級規(guī)則
7,森林偵測
8,回血限制
9,小數(shù)點后的傷害計算規(guī)則
10,擊倒規(guī)則
11,擊倒/擊退抗性
12,濺射擊飛力度
13,體型等級
14,倒地傷害免疫
15,保持陣型狀態(tài)
16,墜落傷害
1,抗性規(guī)則:抗性能夠按照百分比降低單位受到的特定類型傷害,同一次傷害可能吃多種抗性,在這種情況下,不同抗性值之間用加法直接線性相加。
各種抗性能夠抵消的傷害包括:
殺傷抗性:減少所有傷害
物理抗性:減少所有性質(zhì)為物理的傷害,包括普通近戰(zhàn)與普通遠程射擊物理傷害,以及傷害性質(zhì)為物理的魔法與技能
法術(shù)抗性:減少所有消耗魔法之風(fēng)的魔法帶來的魔法傷害,所有直接傷害和部分人物,軍隊技能的魔法傷害。
(不要問我部分是哪部分,每個技能都是獨立設(shè)置的,只能說物理技能傷害完全不吃法抗,魔法技能傷害有些吃法抗有些不吃)
火焰抗性:減少所有帶火焰?zhèn)πЧ?/span>的物理或者魔法傷害,包括近戰(zhàn)與遠程的物理火焰或者魔法火焰?zhèn)?,以及傷害性質(zhì)為物理火焰或者魔法火焰的魔法(
遠程抗性:減少所有在projectiles表格和projectiles_explosion表格中注冊過的傷害,包括普通遠程射擊,普通遠程射擊所帶的爆炸,魔法射擊,轟擊,吐息,法術(shù)失誤爆炸的傷害
懼怕火焰:增加所有帶火焰?zhèn)πЧ?/span>的物理或者魔法傷害。包括增加近戰(zhàn)與遠程的物理火焰或者魔法火焰?zhèn)?,以及傷害性質(zhì)為物理火焰或者魔法火焰的魔法,最高100%,可以將敵人受到的火焰?zhèn)Ψ丁?/p>
此外還有幾條規(guī)則:
1,一個傷害有可能受多種抗性的減免,此時直接加法計算這些抗性的和即可。比如你有20殺傷抗性,20物理抗性,你受到物理近戰(zhàn)武器的減傷就是40%,但同一個傷害來自抗性的減傷不得超過90%,超出部分直接忽略不計
2,5種抗性無法小于0,如果對面本身就沒有對應(yīng)抗性,你減對面抗性就沒有效果,能加深傷害的只有面對火焰?zhèn)r的懼怕火焰。
3,懼怕火焰和抗性結(jié)算是一起的,并早于抗性上限結(jié)算,也就是說,如果你有110殺傷抗性和20懼怕火焰,你還是可以獲得90%的傷害減免。
4,但懼怕火焰上限(懼怕火焰最高100)的結(jié)算是早于抗性結(jié)算的,所以溢出的懼怕火焰無法抵消抗性
結(jié)論依據(jù):data.pack/db/_kv_rules_tables/ward_save_max_value和ward_save_min_value決定抗性上下限,單位基礎(chǔ)抗性在data.pack/db/land_units_tables/Damage Mod Flame,Damage Mod Magic,Damage Mod Physical,Damage Mod Missile,Damage Mod All五個值中修改
2,疲勞規(guī)則:單位工作時會積累“疲勞值”,當(dāng)疲勞值超過一定量時,單位的疲勞等級就會上升,影響士兵的戰(zhàn)斗效率。
游戲中共有19個影響疲勞值的行為。

當(dāng)疲勞積累至一定量時,會對士兵產(chǎn)生如下影響:

同時,疲勞值按模組為單位計算,一個兵牌總疲勞值為所有士兵疲勞值的平均值。
并且一個兵牌中的士兵不共享行動狀態(tài),我前面那個兵在爬城墻每0.1秒+10000疲勞并不影響我在看風(fēng)景并緩慢恢復(fù)體力,而且疲勞值上限30000,沒有減疲勞的話一個模組爬0.3秒已經(jīng)滿疲勞了,但只要0疲勞的模組夠多,兵牌整體依然顯示精神飽滿。
比如一隊奴隸鼠爬墻,全爬完也就18000疲勞,因為先爬上去的都在休息,爬到最后一點,上面休息的太多了甚至整體還在回體力(但這并不代表多模組更適合爬城墻,給兩邊的時間相等單體疲勞值肯定更低,只是因為奴隸鼠人多所以花的時間長,休息時間相對也就多)
另外肉搏時,你在原地固守待待敵的話,只要沒有達到全軍迎擊條件(接戰(zhàn)模組數(shù)>目前模組總數(shù)的25%或是迎擊高威脅單位),那就只有在肉搏的士兵才會漲疲勞,如果接戰(zhàn)的模組夠少甚至幾乎不掉體力。
附1:疲勞的屬性影響計算幾乎晚于所有其他計算,所以假設(shè)一個100護甲的單位因為技能提高了100護甲,又處于筋疲力盡狀態(tài),實際護甲就是(100+100)*0.75=150.
結(jié)論依據(jù):data.pack/db/_kv_fatigue_tables和db/unit_fatigue_effects_tables.
bug提示:在現(xiàn)版本中,射擊,爆炸,漩渦這三張表格中的傷害沒法享受到疲勞帶來的護甲變化效果,也就是說筋疲力盡的200護甲單位依然不會受到任何非破甲的射擊,爆炸,漩渦傷害
3,地形影響(戰(zhàn)斗)
地形會影響士兵的戰(zhàn)斗效率,通常來說,大型單位不適合森林戰(zhàn)斗,林地會降低他們的近戰(zhàn)攻擊和移動速度。
小型單位不適合淺灘戰(zhàn)斗,同樣也會獲得速度和移動懲罰

但一些特殊技能,比如森林挺進者,可以強化單位在特定地形的戰(zhàn)斗力。

地形影響全表格如下

印度詞條中的“地形適應(yīng)”跟技能:地形適應(yīng)沒有任何關(guān)系,兩個印度詞條更多的像是某種.....廢案,技能地形適應(yīng)的效果實際上已經(jīng)覆蓋了他們的效果。
比如吸血鬼的怨靈,既是“靈體”又有地形適應(yīng),但就算它是小型單位也沒有任何區(qū)別,因為技能地形適應(yīng)會把淺灘的負面效果無視掉,原版只有極少單位有印度詞條,而這些單位都有地形適應(yīng),所以都和正常標(biāo)小型單位或者大型單位沒有區(qū)別。
附1:這個地形影響的大型小型和實際體積等級沒半毛錢,兩者獨立設(shè)置,完全可以設(shè)置一個兵牌上標(biāo)著大型,實際是小型單位地形影響的巨人。同時地形影響在兵牌上是隱藏的,land_unit配置了代碼就有效果,兵牌上的說明是為了便于玩家了解獨立設(shè)置的,和技能是否生效沒有關(guān)系。
附2:單位所處的地形狀態(tài)是以模組而不是兵牌為單位計算的,也就是說如果有一隊騎兵一半在林子里一半在林子外面,只有在林子中的一半才會吃到debuff。
結(jié)論依據(jù):data.pack/db/ground_type_to_stat_effects_tables和data.pack/db/ground_type_stat_effect_groups_tables管理地形影響代碼和實際效果,最后在data.pack/db/land_units_tables/Ground Stat Effect Group中配置給單位。
4,坡度影響:游戲中單位在移動時會考慮“坡度”屬性,坡度為單位在水平移動一米時豎直方向改變的距離(比如“坡度0.2”就是指在這個斜面上水平移動一米時縱向會上升0.2米,具體定義詳見百度百科)上坡時坡度大于0,下坡時坡度小于0。
坡度會帶來兩方面的影響:
1,移動速度影響:單位在移動時會考慮目前所在斜面的坡度并依此獲得移動速度,沖鋒速度的懲罰或獎勵,計算公式如下:
坡度影響后的速度=速度*(1-坡度),且坡度帶來的速度懲罰或獎勵最高為50%。
也就是在坡度為-0.26的下坡上,一個單位大約能獲得26%的速度加成
2,疲勞速度影響:單位在進行上坡移動時會消耗更多的體力,根據(jù)相關(guān)表格數(shù)據(jù):
當(dāng)坡度大于0.05時,疲勞值積累速率上升50%;
當(dāng)坡度大于0.1時,疲勞值積累速率上升100%;
當(dāng)坡度大于0.2時,疲勞值積累速率上升200%;
但在實際測試中,坡度目測都大于1了還是沒有對“跑步”動作產(chǎn)生任何影響,懷疑為bug。
結(jié)論依據(jù):全面戰(zhàn)爭官網(wǎng)(www.total.com)2023年5月15日專欄以及實驗,其中移動速度方面無法找到數(shù)據(jù)包依據(jù),疲勞速度方面能找到數(shù)據(jù)包依據(jù),為data.pack/db/kv_fatigue表格gradient_shallow_movement_multiplier,gradient_steep_movement_multiplier以及gradient_very_steep_movement_multiplier三個屬性,但實際測試表明這三個值沒有發(fā)揮設(shè)計預(yù)期效果。
5,撕裂傷害:戰(zhàn)錘中的極少數(shù)傷害會帶“撕裂打擊”特性,撕裂打擊會對生命值低下的單位造成額外傷害。受傷的單位當(dāng)前生命值占最大生命值的百分比越低,額外傷害也就越高。

撕裂傷害有兩個主要參數(shù)
最高傷害倍率:該撕裂傷害能到達的最高傷害倍率
最低生命值百分比要求:當(dāng)受傷者的當(dāng)前生命小于等于這個百分比時,額外傷害到達最大值,通常為0.01,即1%,受傷者血量≤1%時,撕裂傷害到達最大值。
實際傷害倍率=(1-當(dāng)前生命值百分比)÷(1-最低生命值百分比要求)×(最大倍率-1)+1
寫作版本中,倍率最高的撕裂傷害為馬庫斯.沃法特的技能:致命射擊以及戰(zhàn)役中的升級版:行刑者,最高可以造成400%傷害

普通攻擊造成撕裂傷害的單位有兩個:精英辜爾獸:瘋血巨獸和死亡大師斯尼克,這兩個單位普通攻擊能造成撕裂傷害,但相比只能用三次技能來說倍率較低,最高僅為150%傷害。
結(jié)論依據(jù):data.pack/db/projectiles_scaling_damages_tables中的數(shù)據(jù)
6,升級規(guī)則:單位升級的時候會獲得屬性提高,具體值如下表/公式所示

結(jié)論依據(jù):db/unit_experience_bonuses_tables
7,森林偵測:“森林偵測距離”決定了單位對隱藏在森林中的單位的偵測能力,絕大部分單位的森林偵測距離為60米,即可以發(fā)現(xiàn)60米內(nèi)隱藏在森林中的單位。
部分蜥蜴人的基礎(chǔ)“森林偵測距離”很長,為160米,意味著他們能在一個非常安全的距離就發(fā)現(xiàn)森林中埋伏的敵人。

一些技能,比如震旦天舟,天燈的龍之眼等,可以增強單位的森林偵測能力

木精靈倒是出人意料的沒有森林偵測加成,本身就是樹的單位也沒,只有馬云有一個加成森林偵測的技能點

結(jié)論依據(jù):data.pack/db/land_units_tables/Spot Dist Tree。
8,回血限制:一些技能和魔法能為士兵恢復(fù)血量,但這種恢復(fù)不是無限的,在沒有技能提高的提高的情況下,同一個兵牌在同一場戰(zhàn)斗中最多恢復(fù)相當(dāng)于最大生命值75%的血量,當(dāng)剩余的可回復(fù)量已不足以將血量回滿時,血槽上會出現(xiàn)一條豎杠標(biāo)明目前的受傷情況下血量可以恢復(fù)到的最大值。

復(fù)生能力:還有剩余的可回血量并不代表你可以把你部隊的血量完全恢復(fù),普通的治療術(shù)只能為存活的模組回血,對已經(jīng)死亡的士兵則無能為力。
比如一隊天庭龍衛(wèi)100人,如果10個模組已徑因為戰(zhàn)斗死亡,治療術(shù)最多只能將這支部隊恢復(fù)到最大血量的90%,即使還有剩余的可回復(fù)量。
但有一些治療術(shù)(死靈術(shù))具有“復(fù)活模組”能力,比如蜥蜴人的復(fù)活水晶,吸血鬼伯爵的尼科之咒等等,當(dāng)受這些技能治療的單位,存活模組的血量已經(jīng)全部回滿時,這些技能就會開始復(fù)活已經(jīng)死去的士兵。
這通常是一個亡靈種族才有的能力,并且比如尼科之咒只能對亡靈釋放,對活體單位釋放沒有效果
有復(fù)活模組能力,并且還有剩余的可回復(fù)量也并不代表一定能復(fù)活模組,同一個兵牌戰(zhàn)斗中的模組數(shù)無法超過戰(zhàn)斗開始時的數(shù)量。
比如一隊死靈士兵入場100個模組,跳出勝利時還剩90個,你可以選擇把剩下10個模型復(fù)活再結(jié)束戰(zhàn)斗。
但是如果你以90模組結(jié)束戰(zhàn)斗,下一場戰(zhàn)斗這隊士兵以人數(shù)不滿的90個模組進場的話,那在這第2場戰(zhàn)斗中,你最多只能將這隊兵復(fù)活至90人,無法復(fù)活至更高的人數(shù)。
結(jié)論依據(jù):data.pack/db/_kv_unit_ability_scaling_rules_tables
9,小數(shù)點后傷害計算規(guī)則:戰(zhàn)錘沒有保底傷害這個規(guī)則。
當(dāng)傷害開始計算減傷時,會分為六類分別計算減傷,出現(xiàn)小數(shù)點時,就會進行四舍五入,小于0.5的全部舍棄,大于0.5的算作1,四舍五入后再將整數(shù)匯總,匯總之后就是實際造成傷害。

所以當(dāng)一個0護甲,90抗性的單位受到一次4基礎(chǔ)傷害,4破甲傷害的近戰(zhàn)攻擊時,實際不會受傷,因為輸出了兩個0.4,四舍五入全舍掉了,同理收到4遠程基礎(chǔ)殺傷,4遠程破甲殺傷,4爆炸破甲殺傷,4基礎(chǔ)爆炸殺傷的射擊也不會受到傷害,四點破甲和五點破甲是分水嶺:前者可能被完全防御,后者不可能。
寫作版本群鴉盛宴就比較搞,單次2~5傷害,但根據(jù)概率論兩邊極限是取不到的,0抗性時5點傷害實際是從4.5~4.999....五入上去的,一旦變成90抗,稅后最高傷害實際為0.49999.....所以一舍就全變成0了。
結(jié)論依據(jù):觀察與實驗
10,擊倒規(guī)則:擊倒分為模型碰撞摔倒和平A擊倒。
模型碰撞擊倒:指雙方的模型底盤發(fā)生碰撞,(被平a擊中并不代表模型底盤發(fā)生碰撞!很多單位的武器是伸出底盤的)受雙方的質(zhì)量,體型等級(詳見體型等級)影響,雙方的質(zhì)量差距越大,體型等級差距越大,小質(zhì)量,小體型的單位就越有可能被推開,原地摔倒,甚至撞飛(如果有動畫的話)。
沖鋒抗性也會降低模組被模型碰撞擊退,擊倒的可能性(至少上百效果才明顯),模組側(cè)面和背面受到撞擊則會提高這個可能性
我是實在弄不懂為啥要和體型等級掛鉤
平A擊倒:平A擊倒主要與被攻擊的模組的數(shù)據(jù)(質(zhì)量,擊倒抗性)有關(guān),如果你是一個140mass普通步兵,一個1質(zhì)量的小兵都能一巴掌把你扇飛,如果你有5000質(zhì)量,1萬質(zhì)量的單位都很難把你扇倒。
濺射威力提高屬性可以提高該單位平A擊倒敵人的概率
那為啥現(xiàn)在步兵對砍的時候沒有出現(xiàn)大規(guī)?;ハ鄵舻沟那闆r?因為平a擊倒的能力是需要賦予的,只有擁有平A濺射體積的單位才擁有擊倒能力,而絕大部分步兵是沒有的。
現(xiàn)版本只有極少步兵,比如野心冠軍勇士擁有濺射體積,但沒有濺射個數(shù):這使得他們沒有實際的濺射能力,但是他們擁有平a擊倒的能力,什么神選碎鐵,一刀下去滿天飛,甚至還有可能一刀把隊友野心冠軍打飛出去。
結(jié)論依據(jù):觀察與實驗
11,擊倒/擊退抗性:有一些單位的步伐穩(wěn)健,非常難以被擊倒,entity中有擊倒和擊退抗性,在0~100的區(qū)間,適用于那些質(zhì)量不方便設(shè)太高,CA又不想讓他們被踢皮球的單位,比如泰哥,屠夫王,鐵皮等等,盡管質(zhì)量不高,但這些單位兩種抗性都高達80%左右,即使面對一些質(zhì)量頂級還帶濺射威力提高的單位(比如柯烈克),依然很難被擊倒。
結(jié)論依據(jù):data.pack/db/battle_entities_tables/Hit Reactions Ignore Chance和Knock Interruption?Ignore Chance.
12,濺射擊飛力度:每個單位都有自己的擊飛力度倍率,決定平a擊退和擊倒敵人的概率,默認為1,通常在0.9~1.1倍之間。
也有一些超過這個范圍的,比如騎兵通常只有0.25左右,巨人默認值則高達1.75,英雄或者人物可以依靠這個詞條的技能提高擊退,擊倒能力。比如艾查恩的殺君者可以提高50%的濺射擊飛力度,但也就是個印度特性而已,真想靠反復(fù)把敵人拍倒來改變戰(zhàn)局加個1000%才夠看
結(jié)論依據(jù):data.pack/db/melee_weapons_tables/Splash Attack Power Multiplier。
13,體型等級:游戲中可以查到的體型只有兩個等級:小型和大型,但實際游戲有5個等級:
very small(極少,比如小蜘蛛)/small(步兵,狗)/medium(騎兵)/large(怪獸步兵,蝠狼等巨獸)/very large(巨獸)。
前兩個為游戲中的小型單位,后三個為大型單位。
這個體型等級會影響近戰(zhàn)是否會受到特定的濺射,沖鋒過程中能對多大的敵人造成沖擊傷害,發(fā)生模型碰撞時撞倒敵人的能力,以及對被炮彈擊穿的抵御能力等屬性
結(jié)論依據(jù):體型數(shù)據(jù)在data.pack/db/battle_entities_tables/size中
14,倒地傷害免疫:如果一個模組被擊倒,在他重新站穩(wěn)腳跟之前,在動畫的一些特定時間段內(nèi),他是不會受到特定傷害的。
被近戰(zhàn)/射擊/魔法判定擊倒之后,大致可以分為三個階段
1,倒地動作
2,趴地狀態(tài)
3,起身動作
對于近戰(zhàn)傷害來說,倒地動作的過程中可以正常造成近戰(zhàn)傷害,但是趴地狀態(tài)下模組的碰撞體積會被虛化,所以趴地狀態(tài)下既無法近戰(zhàn)攻擊倒地模組,也無法通過碰撞攻擊觸發(fā)碰撞傷害,起身動作中單位會恢復(fù)碰撞體積,但是起身狀態(tài)完全無敵,不會受到任何傷害
對于其他所有類型傷害來說(射擊,漩渦,直接傷害),倒地動作和趴地狀態(tài)中都能正常造傷。但是起身動作中完全無敵,單位無法受到任何傷害,無論是無數(shù)射彈釘在那個正在起身的單位身上,那個單位正在一個傷害性的漩渦中起身,又或者身上還掛著一個靈魂榨取的debuff都沒有關(guān)系。只要傷害是在起身動畫過程中結(jié)算的,全部都不會造成實際傷害。

結(jié)論依據(jù):實驗
15,保持陣型狀態(tài):閑置單位可能會處于保持陣型或者非保持陣型狀態(tài),兩者定義如下:
一個兵牌有模組接戰(zhàn)后,未進入近戰(zhàn)反應(yīng)距離的模組固守原位的狀態(tài)為保持陣形,多模組單位在閑置時默認保持陣型。
一個兵牌有模組接戰(zhàn)后,未進入近戰(zhàn)反應(yīng)距離的模組全沖上去敲人的狀態(tài)為非保持陣形。
當(dāng)保持陣型的兵牌超過25%的模組陷入近戰(zhàn),或者受data.pack/main_unit_table/Is High Threat這一列的數(shù)值為1的單位的近戰(zhàn)攻擊時,單位就會進入非保持陣型狀態(tài)。
上述數(shù)值標(biāo)1的主要是領(lǐng)主和英雄單位,這些單位特別是在步行時靠本身的搏斗基本上不太可能把25%的敵方模組拖入戰(zhàn)斗而達到破陣效果,所以ca為他們增加了接觸即破陣的能力。
那保持陣形有什么優(yōu)勢呢?
當(dāng)扛線單位保持陣型時,未進入近戰(zhàn)反應(yīng)距離的模組會固守原位繼續(xù)扛線,防御潛在的后續(xù)敵人。
當(dāng)扛線單位不保持陣型時,它們會全部一窩蜂的沖上去攻擊發(fā)生沖突的敵方兵牌模組,然后在下一個敵方兵牌沖鋒時直接白給。
當(dāng)射擊單位保持陣形時,未進入近戰(zhàn)反應(yīng)距離的模組會繼續(xù)射擊。
當(dāng)射擊單位不保持陣形時,所有的模組都會強制?;饹_上去砍人。
對追求近戰(zhàn)輸出的單位來說,保持陣型意義不大,甚至不應(yīng)該保持陣型。
附1:所有單位都有的防御模式無法保護陣型,但震旦近戰(zhàn)步兵的“保持陣形”狀態(tài)啟動時可以無視Is High Threat=1單位的接觸破陣效果(震旦NB)
附2:可以拋棄戰(zhàn)爭機噐的炮兵部隊同樣無視Is High Threat=1單位的接觸破陣效果,并且只有25%的炮手模組接戰(zhàn)時才會全員強制近戰(zhàn),炮架不計算在內(nèi)。
結(jié)論依據(jù):data.pack/db/main_units_tables/Is High Threat及其注釋
16,墜落傷害:當(dāng)一個可以被擊飛的模組下墜距離超過一定的高度閾值時,觸碰到落點時就會受到墜落傷害。
墜落傷害為固定200點,不受抗性或護甲減免,換而言之就是只能通過魔屏規(guī)避傷害。
觸發(fā)閾值無法在數(shù)據(jù)包中找到來源,但據(jù)從城墻上被擊落會觸發(fā)判斷,該高度應(yīng)該小于15米,在一些山坡上將小模組擊飛也可以觸發(fā)墜落將對方步兵直接秒殺。
城墻倒塌可為一種特殊的墜落情況:在城墻倒塌時,所有站在該段城墻上,但無擊飛墜落動畫的模組(比如飛龍)會被立即秒殺;有擊飛墜落動畫的模組(比如步兵)會從半空墜落到地面然后無視血量秒殺;該秒殺效果不被視為造傷,所以不會調(diào)用魔屏減傷(假設(shè)你有120個模組,1200魔屏,40個因為城墻倒塌被秒殺了,魔屏上限會因為掉血下降至800,但還是100%滿魔屏狀態(tài))
附1:如果在城墻上因為非城墻倒塌(因為模型碰撞或者擊飛)而墜落,吃的是200點固定傷害而非秒殺,野心冠軍或者有魔屏的步兵可能能從這種墜落中生還。
結(jié)論依據(jù):實驗