《星海爭霸II》
《星海爭霸 II》更新檔 5.0 說明
一般
- 遊戲開始的倒數計時器
- 現在,對戰模式在所有玩家都載入完成之後、遊戲正式開始之前,會出現倒數計時器。
- 選擇建立大廳的遊戲伺服器
- 現在大廳創建者在建立自訂大廳時可以選擇遊戲伺服器。
- 註記:需要在「語言與地區」選項中開啟相關選項。
- 全新播報員:White-Ra
- 「更勁爆的場面、更華麗的美技」
- 全新播報員:史東
- 過去成謎的自治聯盟幽靈特務。大家只知道他叫做『史東』。
全新劇情戰役成就
- 《自由之翼》、《蟲族之心》、《虛空之遺》和《諾娃特務密令》的每一個任務都新增一個全新的劇情戰役成就。在完成每一個 10 週年劇情戰役成就之後,玩家會獲得全新的 Stone 播報員。
- 註記:進行普通難度以上任何難度的遊戲都能獲得這些成就。這些成就的彈性經過特殊設計,即便是進行殘酷難度也有機會完成(但非常困難)。
自訂劇情戰役
- 為遊樂場地圖新增名為「劇情戰役」的類型
- 在「自訂」中新增名為「劇情戰役」的子選項,並顯示出使用「劇情戰役」類型發布的地圖。
- 《星海爭霸 II》現在支援多人遊戲大廳在兩張地圖之間轉換的功能。
- 但是轉換過程所涉及的兩張地圖必須都是由同一位作者所發布的。
- 新增名為「線上地圖到地圖載入」的新函數,這個函數可以讓作者替全部玩家載入指派型的「地圖欄位」,並指派勝利和失敗給不同的玩家群組。
- 你可以在「管理已發布內容」的視窗中,使用已發布地圖的右鍵內容選單的「指派地圖欄位」區塊來指派「地圖欄位」。
- 每個區域的地圖欄位都必須單獨指派。
- 我們建議你把其他所有地圖所必需的資產相依(Asset Dependency)放到系列地圖的第一張地圖裡面,這樣子可以降低轉換地圖時的載入所需時間。
- 新增新的「劇情戰役」類型,這個類型可以被指派到「遊戲版本」選單中。
合作任務指揮官巔峰系統
- 新增全新的「巔峰」系統,玩家可以再次操控各個指揮官從等級 1 提升至等級 15,並重複三次。每當玩家使用某一位指揮官啟動巔峰時,就能解鎖特殊的巔峰天賦,可以用來變更指揮官的核心打法。
- 每個指揮官最多同時裝備一個巔峰天賦,玩家也可以選擇不要裝備任何的巔峰天賦,但不論如何,指揮官都會擁有標準的配備。
- 以下是其中幾個巔峰天賦的例子:
- 阿巴瑟:無盡進化
- 終極進化的最高次數不受限制。不過,終極進化需要 200 個生物質才能變形,且生物質所給予的效益砍半。
- 亞拉瑞克:靈魂工藝師
- 在侍奴死亡時,會永久提高亞拉瑞克附近一個非英雄機械單位的傷害與攻擊速度。不過,亞拉瑞克的主動技能造成傷害降低 50%。
- 德哈卡:群落兄弟
- 德哈卡獲得一個兄弟。不過,他們兩個的生命值都降低。
- 阿巴瑟:無盡進化
- 18 位指揮官,每一位都有 3 個巔峰天賦,也就是總共有 54 個全新的巔峰天賦等你來嘗鮮體驗。
合作任務
- 異變機制
- 全新異變機制:轟炸機器人
- 無情的機器人會帶著核子彈頭朝你的基地前進。一名玩家必須找出解除武裝的序號,而另一名玩家則必須將其輸入。
- 全新異變機制:轟炸機器人
- 指揮官
- 阿巴瑟
- 獲得雙倍生物質機率大師能力的加成由每點 2% 提高至每點 3%。最大加成由 30% 提高至 45%。
- 亞坦尼斯
- 暴風艦的對空攻擊距離由 6 格提高至 10 格。
- 德哈卡
- 巨型原生蠕蟲冷卻時間大師能力由每點 1.5% 提高至每點 2%。最大加成由 45% 提高至 60%。
- 基因突變大師能力由每點 2% 降低至每點 1%。不過,現在這個大師能力跟基本特性的互動模式是加法而非乘法。有效最大基因突變機率由 32% 提高至 50%。
- 菲尼克斯
- 戰術資料網路現在會提高泰莉絲彈跳旋刃技能的傷害,而非降低其冷卻時間。
- 戰爭使者的淨化砲擊技能傷害由 300 點降低至 150 點。
- 淨化砲擊的冷卻時間由 10 秒降低為 5 秒。
- 戰術資料網路的加成效果現在會提高淨化砲擊的的傷害,而非降低其冷卻時間。
- 摩裘的火力壓制程序技能傷害由 11 點(對重甲 22 點)降低至 6 點(對重甲 12 點)。
- 火力壓制程序的擊暈持續時間從 2 秒降低為 1 秒。
- 火力壓制程序的冷卻時間由 10 秒降低為 5 秒。
- 戰術資料網路現在會提高火力壓制程序的傷害,而非降低其冷卻時間。
- 韓與霍納
- 現在加裝機棚的突擊戰艦擁有耐力訓練技能,可以在離開戰鬥時恢復生命值。
- 惡狼的傷害由 15 點(對重甲 30 點)提高至 15 點(對重甲 40點)。武器升級加成也按此有所調整。
- 野火炸藥的基本搜尋範圍由 3 格提高至 4 格。
- 野火炸藥大師能力的額外搜尋範圍由 4.24 格提高至 5.66 格。
- 凱拉克
- 太陽能效率等級 1 的研發費用由 200 點晶礦 / 200 點高能瓦斯降低至 100 點晶礦 / 100 點高能瓦斯。
- 太陽能效率等級 2 的研發費用由 250 點晶礦 / 250 點高能瓦斯降低至 150 點晶礦 / 150 點高能瓦斯。
- 太陽能效率等級 3 的研發費用由 300 點晶礦 / 300 點高能瓦斯降低至 200 點晶礦 / 200 點高能瓦斯。
- 現在太陽能效率等級 1 每 6 秒會使能量恢復值提高 1 點,自每 6 秒會使能量恢復值提高 2 點下調。
- 現在太陽能效率等級 3 每 6 秒會使能量恢復值提高 3 點,自每 6 秒會使能量恢復值提高 2 點上調。
- 強化鎖定的研發費用由 150 點晶礦/150 點瓦斯降低至 100 點晶礦/100 點瓦斯。
- 軍械改良的研發費用由 150 點晶礦/150 點瓦斯降低至 100 點晶礦/100 點瓦斯。
- 重組再生的研發費用由 150 點晶礦/150 點瓦斯降低至 100 點晶礦/100 點瓦斯。
- 快速充能的研發費用由 150 點晶礦/150 點瓦斯降低至 100 點晶礦/100 點瓦斯。
- 暗影加農砲的研發費用由 150 點晶礦/150 點瓦斯降低至 100 點晶礦/100 點瓦斯。
- 烈焰射線升級不會再降低巨像的武器速度。
- 自動維修機的研發費用由 200 點晶礦/200 點瓦斯降低至 100 點晶礦/100 點瓦斯。
- 新升級:重力子彈射器:費用為 150 點晶礦/150 點瓦斯:使航空母艦更快速地派遣攔截機,並使攔截機的攻擊速度提高 25%。
- 修復光束的治療速度大師能力加成由每點 1% 提高至每點 3%。最大加成由 30% 提高至 90%。
- 超時空波動能量恢復速度大師能力加成由每點 1 點能量提高至每點 3 點能量。最大加成由 30 點能量提高至 90 點能量。
- 蒙斯克
- 現在每單位補給值會使階級 0/1/2/3 的皇家守衛單位提高帝國擁護 1/1.5/2/2.5 點,自 0.5/1/1.5/2 點上調。
- 堅實領域的半徑由 3 格提高至 5 格。
- 堅實領域的裝甲加成由 3 點提高至 5 點。
- 現在任一模式的階級 1+ 空怒戰機都會對巨型目標造成 50 點額外傷害,自 25 點額外傷害上調。
- 諾娃
- 現在每次升級會使車輛和船艦武器升級提高突擊解放者的傷害 13 點,自 5 點上調。
- 斯特曼
- 永遠都是好朋友天賦由等級 5 移動至等級 9。
- 斯特曼無極限天賦由等級 9 移動至等級 15。
- 機械代表作天賦由等級 15 移動至等級 5。
- 斯杜科夫
- 受感染的陸戰隊費用由 25 點降低至 15 點。
- 泰科斯
- 可使用亡命之徒大師能力由每點 2 秒提高至每點 3 秒。最大加成由縮短 60 秒提高至縮短 90 秒。
- 阿巴瑟
全新銀河編輯器變更
- 資料採集
- 資料採集是全新類型的目錄,可以讓使用者進行宣告,並將一系列的資料元素放到同樣的採集群組中。你可以把一個採集群組視為其他任何一種資料,例如:單位、技能或升級。
- 在複製、重新命名或刪除資料採集群組時,編輯器會自動將同樣的動作指令套用至採集群組中的所有資料元素。舉例來說:當使用者複製某個資料採集群組時,會出現相關提示,要求使用者提供新採集群組的名字。緊接著,編輯者會複製該採集群組裡面的每一筆資料,並按照使用者所輸入的內容對每一筆資料進行命名。編輯器也會替所有連結欄位進行設定,使每一筆新的資料都能指向新的對等部分。
- 舉例來說:複製「暴雪」這個採集群組,並將新的資料採集群組的名稱設定為「動視暴雪」。
- 刪除資料採集群組會刪除掉該群組裡面的每一筆資料。
- 變更資料採集群組的 ID 也會同時變更該群組裡面每一筆資料的 ID。
- 資料採集群組內的資料可以被設定為手動填滿或自動填滿。
- 資料採集群組在命名子資料時,會使用新的關鍵字元「@」。資料採集系統可以自動搜尋整個目錄,並尋找 ID 開頭是資料採集群組 ID 且後面加上字元「@」的任何一筆資料。接著,系統便會自動將這些資料加入採集群組中。
- 因為該連結功能的關係,每當技能的效果樹被變更時,相對應的資料採集群組及其內含資料都會自動更新。
- 以下是自動填滿式資料採集群組的樣本資料:
- 沒有遵循這個命名轉換方式的資料雖然不會自動填滿,但可以手動新增到資料採集群組中。
- 選單:資料採集 -> 自動填滿式資料採集群組功能會自動搜尋整個目錄,並尋找 ID 開頭是資料採集群組 ID 且後面加上字元「@」的任何一筆資料。接著,系統便會自動將這些資料加入相對應的採集群組中。
- 選單:資料採集 -> 自動命名資料採集群組功能會依照資料採集群組的名稱,替群組內的資料重新命名。
- 資料採集群組也讓使用者能夠在各筆資料之間新增其他關聯資訊。舉例來說:現在系統可以藉由資料採集群組來辨識「這個單位的主要角色是誰?」等資訊。
- 這次更新所涉及的許多其他功能,都必須仰賴資料採集功能。
- 使用者需要遵守特定的編碼慣例或準則,才能發揮出資料採集功能的全部潛力:
- 所有的資料採集群組都應該盡可能設定為自足式採集群組。
- 舉例來說:「技能採集群組」應該被編寫成能夠添加至任一單位的狀態,而不應該寫死成只能用於某幾個單位或是擁有特定武器的單位。為求保險再舉一例:在舊版的《星海爭霸 II》資料庫中,虛空艦有一個被動技能可以在長時間攻擊後提高傷害。這個被動技能其實是假的,該功能被寫死成只對虛空艦本身的武器有效。如今資料採集的技術已經進入新的時代,我們強烈不建議你透過這種錯誤的方式使用資料。下列的許多新功能都是為了協助達成這個目標而被設計出來的。
- 「簡易模式」資料編輯器
- 「簡易模式」資料編輯器是資料採集的延伸功能。在啟用時,資料編輯器只會顯示出資料採集群組,並將其視作單一的「技能資料」、「單位資料」或「升級資料」等來加以模仿。你可以複製、移除、刪除或重新命名這個資料,就像在處理單一資料物件那樣。
- 這個模式只能在表格檢視畫面中使用。該模式結合了最重要的資料欄位,例如:單位生命值資料或技能傷害資料。
- 在簡易模式中所顯示出來的欄位,都可以針對各個資料採集類型進行全方位的調整。
- 許多《星海爭霸 II》地圖編輯器的創作者都曾經抱怨過,表示複製單位或技能的過程太過繁複。這一點是《魔獸爭霸 III》編輯器遠勝過《星海爭霸 II》編輯器的優勢之所在。
- 不過,藉由結合資料採集群組和簡易模式,我們成功改善了這個問題。
- 往後,我們會以資料採集功能作為基礎來製作更多的資料,方便使用者與資料進行互動。
- 我們鼓勵模組創作者使用資料採集功能來製作自訂模組,以發揮該功能的好處與效益。我們也建議公開模組的模組創作者使用簡易模式檢視畫面來進行定義,方便其他模組創作者變更和修改你的模組。
- 累加器
- 累加器這個新功能可以讓地圖創作者以各種輸入參數為基礎,在資料欄位中設計公式。
- 舉例來說,你可以把技能傷害設定為:
- 施法者的生命值 + 施法者的智力值 * 2 – 75 + 目標損失的生命值;如果施法者擁有香蕉,+(2 * 施法者的傷害護盾所吸收的傷害值)。
- 當然,遊戲中真實的傷害公式不一定都這麼複雜。我們只是用這個公式來說明累加器的功能而已。
- 舉例來說,你可以把技能傷害設定為:
- 累加器可以使用「單位自訂值」和「使用者資料」作為參數。
- 累加器不只支援公式,也支援使用者定義表格。在跟驗證符互相結合之後,累加器還能提供 Case Switch 的功能。
- 舉例來說:當累加器被用於某個等級可變且可用於多個玩家的行為時,累加器會以各個玩家為基礎計算結果。
- 累加器的功能豐富多元,在許多地方都派得上用場。例如:傷害、治療速度、生命值恢復速度、傷害降低幅度、技能花費、護甲加成、角色批次計數、存續計數、行為計數、行為持續時間、傷害分數、攻擊速度、移動速度、活力值恢復、行為機率、活力值修改等。
- 新字串剖析符記:$AccumulatedValue:xxx$
- 這個符記可以被用來計算使用者介面裡的 AccumulatedValue。舉例來說:
- 這個符記可以被用來計算使用者介面裡的 AccumulatedValue,例如:
- 呼叫 "d ref="$AccumulatedValue:Effect,JainaBlizzardPersistent,PeriodCount$"/>" 凍結寒冰碎片波。每一波都會對範圍內的單位造成傷害。
- 這個符記可以被用來計算使用者介面裡的 AccumulatedValue,例如:
- 這個符記可以被用來計算使用者介面裡的 AccumulatedValue。舉例來說:
- 累加器這個新功能可以讓地圖創作者以各種輸入參數為基礎,在資料欄位中設計公式。
- 玩家等級回應
- 「玩家回應」是新的資料目錄,可以讓使用者為指定玩家定義遭遇事件時的回應模式。設計者可以使用觸發器將這些回應模式設定到指定玩家身上,該玩家的單位會對發生的事件做出回應,就好像這些單位會對傷害產生回應行為一樣。
- 使用者可以針對「玩家回應」設定優先順序和通過方法。
- 有了「玩家等級回應」,創作者在設計指揮官時,不再需要針對每個人套用特定的行為,如此將可以大幅改善遊戲的運行效能。此外,你在對應的指揮官產生回應時,也只需要設定回應即可,因此遊戲不再需要每次都針對所有的指令檢查防死資料。
- 玩家回應不再像傷害回應行為那樣受限於「單位受傷」。舉例來說:玩家回應也能夠對玩家生成、單位生成、玩家單位死亡等事件做出回應。
- 不分段狀態條
- 觸發動作:使用者介面 - 覆寫玩家選項現在能讓地圖創作者把預設狀態條變更為較趨向線性和不分段的樣式。這點對於那些需要更精準顯示活力值分數的自動模組來說很有用。
- 《魔獸爭霸 III》素材模組的更新後資料
- 我們在 2015 年 2 月推出了《魔獸爭霸 III》的素材模組。雖然那次的內容只涵蓋了素材,但許多模組狀作者表示自己想要學習如何使用《星海爭霸 II》的編輯器來製作《魔獸爭霸 III》那種充滿 RPG 風格的技能。這次的更新對編輯器做出了大幅度修改,我們想要趁此機會,透過幾個例子來向模組創作者說明這些全新的功能。
- 我們跟設計「Renee 的《魔獸爭霸 III》模組」這個社群模組的創作者合作,使用編輯器的所有新功能重新製作出了這個模組。
- 現在官方版《魔獸爭霸 III》素材模組涵蓋了一整個系列的工作資料,包括:種族、單位、建築和技能。希望這些例子能夠幫助模組創作者掌握最新狀況。
- 如果你想要打造《魔獸爭霸》風格的近戰地圖,強烈建議你不要使用預設的《星海爭霸 II》近戰遊戲選項,因為這樣會使得英雄的能力無法獲取經驗值。我們的做法是,在《魔獸爭霸》的樣本模組中新增自訂的「Use War3 Melee Setting」觸發器動作。這個觸發器動作會依照《魔獸爭霸 III》的近戰設定,針對玩家的英雄限制、起始建築、晝夜時間和中立生物進行設定。
- 陣形移動
- 現在《星海爭霸 II》支援陣形移動功能,每一位玩家都能透過觸發器來開關這個功能。
- 單位可以採正方形的陣形來移動和攻擊,單位彼此之間相隔的距離則可以事先進行設定。
- 以目前來說,陣形移動功能並不會強迫所有單位保持陣形以維持同樣的移動速度,這點跟《魔獸爭霸 III》不同。
- 模組創作者可以透過微調資料的方式來自己設計這個行為。
- 水路尋徑
- 《星海爭霸 II》現在支援水路尋徑的功能了!
- 全新尋徑類型:淺灘和深水區域。
- 全新尋徑模式:漂浮和兩棲。
- 地面 單位可以在地面和淺灘的格子上尋徑。
- 漂浮單位可以在淺灘和深水區域的格子上尋徑。
- 兩棲 單位可以在地面、淺灘和深水區域的格子上尋徑。
- 飛行單位可以在任何格子上尋徑,除非空中有障礙物。
- 這兩種新的尋徑類型目前只能在地形編輯器中以尋徑筆刷進行描繪。
- 多重懸崖層數
- 《星海爭霸 II》現在支援最多 15 層懸崖層數,原先只支援 3 層。
- 針對 4.13 PTR 的修改:現在懸崖尋徑會正確地針對等級 3 以上的懸崖等級進行遷移。
- 升級系統重製
- 這一點對於資料採集系統和全新的指揮官系統來說至關重要。
- 舊版的升級系統無法被設定為自足式系統,這與新的資料採集功能的設計理念相違背。在舊版的升級系統中,升級只能為特定的技能或單位帶來相對應的升級效果。
- 新系統則是能夠讓升級變得更趨向自足式的設計。現在改由單位來宣告自己要使用什麼樣的升級,不再是讓升級來決定要對哪些單位產生效果。舉例來說:升級的實作方式不再是「使陸戰隊的生命值提高 10 點」,而是會改成「使任何使用此升級之單位的生命值提高 10 點」。
- 全新 CUpgrade 欄位:EffectArrayTemplate
- 這個欄位跟舊版的 EffectArray 欄位有點類似,但以下幾點除外:
- 新版欄位支援兩個額外的符記:
- ^ParamId^:使用升級的任何資料採集群組的 ID。
- ^ParamLevel^:升級的當前等級。
- 新版欄位支援資料引用和算術功能。使用括號「{」和「}」並按照使用文字編輯器的方式來設計公式。
- 資料採集功能會鼓勵模組創作者採用特定的命名規則來替所有相關資料進行命名,方便模組創作者針對那些跟單位相關的資料使用 ^ParamId^。
- 舉例來說:
- EffectArrayTemplate Reference="Effect,^ParamId^@Weapon,Amount" Value="{DataCollection,^ParamId^,UpgradeInfoWeapon.DamagePerLevel+3}"/
- 這個升級會使指定單位的武器傷害提高,提高幅度相當於該單位在資料採集群組中的 UpgradeInfoWeapon.DamagePerLevel 的值再加三。
- 你可以在值的欄位中放入固定數字,例如:Value=”4”。
- 新版欄位支援兩個額外的符記:
- 這個欄位跟舊版的 EffectArray 欄位有點類似,但以下幾點除外:
- CUpgrade 的舊欄位依舊存在,功能也維持不變,所以舊版的所有升級都還是能夠運作。你可以繼續依循舊版的模式設計升級,但我們並不建議你這麼做。
- 所有單位升級支援
- 部分升級被設計成對於「(每種類型的)所有單位」都有效,因此,CUpgrade 現在會有一個旗標來列舉所有的資料採集單位。
- 此外,CUpgrade 也新增了兩個篩選欄位(EnumExcludedUserFlags 和 EnumRequiredUserFlags),可以讓升級按照自己的旗標來針對所有的資料採集單位進行篩選。
- 全新升級運算:AddBaseMultiply 和 SubtractBaseMultiply
- 這些運算會依照目標欄位的預設值而非目前值來對其進行修改,這點相較於 Multiply 運算來講通常更有用。舉例來說:如果某個「使單位生命值提高 10%」的升級共有 100 個等級,你應該會比較希望單位的生命值隨著升級等級的提升以固定數字成長,而非每次都以先前等級的生命值來做乘法計算。此外,Add/SubtractBaseMultiply 也支援技術降級,因為這種運算方式隨時都能復原,這是 Multiply 所辦不到的事情。
- 現在升級可以替玩家啟動或關閉單位。
- 全新 CWeapon 欄位:比率乘數
- 預設值為 1。
- 遊戲在判別武器或 CP 效果的週期時,會將這個乘數納入考量。
- 這個機制可以讓你透過百分比來提高武器的速度,而不用直接調整武器週期。
- 圓球系統(外加 Multishot 和 Critical Strike)
- 圓球是傷害修改器,也是 MOBA 類型遊戲所不可或缺的一環。
- 《星海爭霸 II》的傷害回應系統可以用來生成圓球,但「傷害回應」和「攻擊修改器」這兩者其實是完全不同的東西。
- 《星海爭霸 II》舊版「圓球」技能大多數都跟圓球函數的傳統定義不符,因為這些技能都內建在武器裡面,很難透過新增和移除的方式在不同的武器之間互相轉移。因此,如果你想要設計圓球物品的話,就得把圓球物品的效果內建在遊戲內的每一把英雄武器裡面,這樣的做法太過不切實際。
- 這次所更新的圓球系統,是一般 MOBA 圓球系統概念的延伸,包括對於 Multishot 和 Critical Strike 的官方版支援功能。
- 真實的圓球系統需要擁有以下幾種功能:
- 能夠以每次攻擊為基礎,將其效果套用至武器系統。
- 能夠修改投射式飛彈。
- 能夠新增在武器擊中目標時觸發的特殊效果,例如:火焰、冰霜、套用式行為等。也要能夠在擊中目標的之前與之後套用效果。
- 舉例來說:黑蝕箭技能需要透過圓球來對目標施加減益效果,該減益效果會在目標死亡時發動效果(召喚一個骷髏頭)。如果圓球系統只能夠在擊中目標之後才套用效果,那麼該單位可能會直接在被擊中時死亡,導致骷髏頭無法被召喚出來。
- 再另外拿圓球技能「破片彈」舉個例子。這個技能會按照主要攻擊傷害的高低造成額外的範圍性傷害,該技能必須先擊中目標,才有辦法觸發後續的範圍性傷害效果,因為遊戲系統需要先取得數字為隨機的主要傷害量,才能判斷範圍性傷害的多寡。
- 在武器準備發動攻擊時,圓球的攻擊修改器就已經必須先生效,甚至是在攻擊效果發動之前就必須先生效。如此一來,單位就能播放特殊攻擊動畫,例如:致命一擊(Critical Strike)。
- 圓球需要必須要能夠套用前後一致的攻擊傷害加成效果。
- 圓球應該要有辦法驗證自己的效果,例如:重擊和致命一擊技能的效果不會在友方單位身上發動。
- 全新效果旗標:MainImpact
- 在開啟時,這個旗標會替武器效果樹標記出一個主要影響效果,讓攻擊修改器能夠判斷什麼時候該提供修改效果。
- 全新行為類型:CBehaviorAttackModifier
- 在套用時,修改器會在武器開始時生效。它對整個攻擊效果樹都會造成影響。
- Chance 欄位會決定攻擊修改器的機率,以每次攻擊為單位做計算。
- 將多重修改器新增至單位。Unique Id 欄位可以讓使用者決定這些修改器是否能夠同時運作。在《魔獸爭霸 III》裡面,即便某位英雄擁有多個圓球,還是只能發動其中一個圓球的效果。但是,模組創作者應該還是會希望能夠讓多個圓球同時運作。
- Stack Max 欄位會決定傷害加成效果可以堆疊幾層。
- Damage Bonus 欄位會判斷當下是否有常數或變數的加成效果。這些欄位也支援累加器。
- Validator 欄位會決定修改器對於特定的攻擊目標是否有效。舉例來說:當你攻擊到自己的單位時,應該不希望致命一擊的效果發動。
- PreImpactEffect 欄位會在尚未擊中目標之前就先發動效果。
- DamageInheritEffect 欄位會在擊中目標之後發動效果,並繼承對後續效果樹的擊中傷害。這些效果可以讓使用者設計出連鎖閃電效果,或是按照擊中傷害造成範圍性傷害。
- 可以決定攻擊是否會沒有命中。請見「未命中/招架/格擋系統」的段落。
- Hallucination Visual Only 旗標能讓模組創作者決定攻擊修改器在施放者是幻影分身單位時是否會套用圓球效果。如果施放者是幻影分身,你應該不會希望他造成範圍性傷害並將死者復活成骷髏頭。不過,某些模組創作者應該還是會想要這種功能。
- 有了這個旗標,攻擊修改器還是會套用到攻擊樹,所以施放者單位還是可以偽造致命一擊的動畫,並丟出修改後的投射式飛彈。不過,該攻擊在擊中目標時將不會套用真實的圓球效果。
- MultishotEffect 和 MultishotSearchPattern 欄位可以讓使用者在 Chance 回傳為 True 且所有驗證條件都符合的情況下,對搜尋樣式內的每個目標發射多重射擊。如果 MultishotEffect 欄位尚未設定,則效果會後降至原本的攻擊武器效果。
- 你也可以決定 Multishot 的目標是否也能受到擊中效果的影響。
- 你可以透過索引啟動武器,讓擁有圓球物品的近戰型英雄就可以使用隱藏武器來攻擊空中的敵人。
- 在套用於攻擊時,修改器會填入 WeaponStart 事件中的 WeaponModifier 角色項目,讓角色系統能夠按照正在運作中的攻擊修改器來播放不同的攻擊動畫。
- 擁有「IsCritical」旗標。在檢查時,可能會將攻擊標記為「Critical」,並觸發角色的爆擊語音,同時也會將傷害量填入 SetText 和 SetTextlocalized 的訊息中,方便模組創作者設計 Critical Strike 飄浮文字。
- 全新技能類型:CAbilAttackModifier
- CBehaviorAttackModifier 可以處理圓球技能的大多數案例,但是像月之祭司的灼熱之箭等部分技能,圓球法術依舊需要外殼才能夠開關自動施放。
- CBehaviorAttackModifier 是 CBehaviorAttackModifier 的外殼,可以對圓球新增一個自動施放/手動施放外殼。
- 可以替修改器設定 Cost,使圓球技能在施放時會消耗資源或活力值。
- 擁有等級性質,英雄可以透過學習的方式提升技能等級。
- 全新角色類型:CActorActionOverride
- 用來覆寫 CActorAction 的飛彈美術圖、衝擊美術圖、傷害美術圖。
- 擁有 Damage Model、Impact Model 和 Missile Model 欄位,可以設定覆寫模組連結。
- 在 CActorAction 初始化時,會啟動 ActionInitModifier 這個事件。
- CActorActionOverride 可以擷取這個事件,並在 CActorAction 的範圍內建立自己。接著,它可以再使用 ActionOverrideApplyTo 將自己套用至 CActorActions。
- CActorAction 會從 CActorActionOverride 中抓取資料,並覆寫掉它的攻擊模組。
- 動態技能支援
- 現在模組創作者可以使用觸發器替單位新增或移除技能。
- 技能切換
- 全新函數:UnitAbilityChangeLink()
- 使用者可以藉由這個函數,把某個單位所擁有的技能轉移到另一個單位身上,並同時保留該技能原本的使用次數、冷卻時間和等級狀態。
- 這個函數跟 Catalog Replacement 的不同之處在於,它是以每個技能實例為基的函數。
- 我們也針對 Power User Type Behavior 新增了 Ability Replace 這個新欄位,替這個功能提供資料版本。
- 切換技能的時候,新技能與舊技能的 CAbil 類別必須相同。舉例來說,指定技能只能夠被更換成另一個指定技能。
- Ability Swap 的資料版本也會影響英雄所能學習的技能。
- 全新函數:UnitAbilityChangeLink()
- 在觸發器圖形使用者介面中傳遞 Struct Reference
- 現在觸發器函數和動作可以將 Record 類型定義為參數。
- 現在 Record 變數可以作為參數,並以傳址方式傳遞給函數和動作。
- Record 參數可以被讀取和修改。修改內容會在函數以外的範圍對 Record 變數產生影響。
- 全新觸發器 API:資料表實例
- 跟 Data Table 的運作方式相同,差別是你可以設定好幾個實例、計算實例的值,並將這個值複製到其他資料表裡面。
- 舊版的 Data Table 是單一的總體資料表。新增實例版本可以方便設計者管理運行時間資料。
- 你也可以在觸發器編輯器中找到 GUI 版本。
- 覆寫物品/單位的技能提示/物品基礎
- 全新本體:UnitSetInfoButtonTooltip、UnitClearInfoButtonTooltip
- 使用者可以利用它覆寫指令按鈕的提示,藉此自訂單位的物品或是技能提示。
- 你也可以在觸發器編輯器中找到 GUI 版本:
- Unit - Set Unit Info Button - Ability Tooltip
- Unit - Set Unit Info Button - Button Tooltip
- Unit - Set Unit Info Button - Item Tooltip
- Unit - Reset Unit Info Button - Ability Tooltip
- Unit - Reset Unit Info Button - Button Tooltip
- Unit - Reset Unit Info Button - Item Tooltip
- 即便指令面板被覆寫以顯示其他單位的指令面板,也仍然會運作。
- 技能射擊支援
- 現在《星海爭霸 II》支援技能射擊了!
- 全新 Launch Missile Effect 旗標欄位:SearchFlags
- 全新 - Launch Missile Effect Search Flag:DynamicSearchArea
- 讓你能夠使用技能射擊搜尋功能。如果不使用它,則會是普通的飛彈。
- 全新 - Launch Missile Effect Search Flag:ArriveOnSearchHit
- 選擇飛彈的配置是「若命中指定技能射擊則引爆」或「穿透式技能射擊」。請見下方。
- 全新 - Launch Missile Effect Search Flag:DynamicSearchArea
- 全新 Launch Missile Effect 欄位:
- SearchHitArriveEffect
- 只有當 ArriveOnSearchHit 為開啟時才有效。這個效果會在飛彈擊中目標並引爆時執行。
- 註記:這個效果會在飛彈消失之前的最後一個搜尋點運行,而不是在飛彈的目標點運行。這個功能跟終結效果的功能類似。
- SearchEffect
- 飛彈會在每個遊戲迴圈運行其效果,並按照飛彈當下的速度,覆寫掉搜尋區域裡面的 Height 參數。這樣的設計基本上不會在任兩次搜尋之間留有間隙。
- 註記:TVE 作弊會顯示出不正確的預設高度,而不會顯示出覆寫搜尋效果的正確高度。
- SearchMaxCount
- 在飛彈的整個行進期間,引爆最大搜尋計數,而不是引爆每個搜尋各自的最大搜尋計數。飛彈會在找到 SearchMaxCount 目標之後停止搜尋。
- 在達到 SearchMaxCount 且沒有設定 ArriveOnSearchHit 時,飛彈會繼續朝目的地行進,但不會再執行技能射擊搜尋。
- 在達到 SearchMaxCount 且設定好 ArriveOnSearchHit 時,飛彈會引爆,並在最後一個搜尋點運行 SearchHitArriveEffect。請注意,這並不是飛彈目標,因為它不會抵達目標點。
- 若 SearchMaxCount 為 0 且 ArriveOnSearchHit 已被設定好,則飛彈不會縣市搜尋的最大計數。只要其中一個搜尋效果找到目標,飛彈就會引爆,並在最後一個搜尋點運行 SearchHitArriveEffect。
- SearchHitArriveEffect
- 改良版英雄系統
- 全新 CUnit 類別:CUnitHero
- 五個全新欄位(相較於 CUnit):
- MainAttribute:
- 自動套用/取消套用至單位造物/變形的單一行為連結
- 與一般的行為欄位沒有差異。但是,若將其用作單一欄位,將使其更容易透過目錄函數讀取並加以決定英雄的主要屬性。
- MainAttributeDamageBonus
- 這個欄位會決定英雄單位透過每一點 MainAttribute 所獲得的攻擊傷害加成有多少。
- AttributePointsInfoArray:
- 根據英雄的當前等級設定英雄的起始屬性點和升等屬性點。這只會設定 Attribute Point;如果英雄還尚未擁有 Attribute 行為,則不會套用至 Attribute 行為。
- LearnInfoArray:
- 所使用的結構跟 CAbilLearn_LearnInfo 相同。若任一指數有設定技能連結,則它會覆寫掉英雄學習技能的相對應資訊。因此,你將不再需要針對不同的英雄各自建立學習技能。
- 當「Create Default Button」旗標被設定好時,Learn Info 的指令按鈕也能自動生成。
- TierRequirements
- 當技能會用來訓練當前英雄單位,且當前玩家的當前單位已經存在有超過一個 Tech Alias 時,這個欄位會覆寫 CAbilTrain 的技術需求。
- MainAttribute:
- 全新 CAbilityRevive 旗標:Override Alert Icon
- 當玩家使用 Override Alert Icon 為啟動狀態的 CAbilRevive 技能復活英雄時,該技能會將 Alert Icon 設定為 CAbilRevive 的圖示,而不是英雄單位的圖示。
- 新增全新本體:
- TechTreeSetProduceCap
- TechTreeGetProduceCap
- 你可以使用觸發器來呼叫這些函數並根據單位、升級、技能、行為或效果來設定技術限制。
- 你也可以使用它來自訂英雄的訓練限制。
- Base Attribute Points 和 Bonus Attribute Points
- 現在 CHeroUnit 的 Attribute 行為有兩種不同的點數值:Base 和 Bonus。
- 英雄的起始屬性點數和升等屬性點數(在 AttributePointsInfoArray 中進行配置)會視為 Base 值,其他諸如行為加成等點數相關的變動則會視為 Bonus 值。
- 在單位資訊面板中,基本屬性點數會以白色數字顯示,加成屬性點數則會以(+X)綠色數字顯示。
- 由 Base 屬性點數所新增的加成不再以(+X)綠色數字顯示,而是會被新增至基本攻擊傷害/裝甲/武器速度等欄位。
- 由增益效果或物品所新增的屬性仍然會以(+X)綠色數字顯示。
- 全新 CEffectApplyBehavior 旗標:
- SetAttributePoints:當這個旗標被打勾時,該效果會針對屬性行為設定屬性點數。
- SetAttributeBasePoints:當這個旗標被打勾時,它會修改基本點數而不是加成點數。
- 新增全新 CabilTrain 欄位:IgnoreUnitCostRequirements
- 在設定好時,只要符合技術需求,訓練技能就會無視單位花費。
- 這點可以被用來實作特殊遊戲機制,例如:「你的第一個英雄免費」。
- Learn Ability Submenu Improvements
- 全新 Learn Ability 旗標:ClearSubmenuOnPointsSpent
- 在設定好時,使用該技能的單位會花費掉所有的技能點數之後,自動離開子選單的指令欄。
- 全新 Learn Ability 旗標:HideSubmenuOnLearnedAll
- 在設定好時,學習技能的子選單按鈕會在使用該技能的單位學習完所有技能之後被隱藏起來。
- 修正當所有點數都被花費掉的時候,即便單位已經滿足等級需求,學習技能按鈕依然會以紅色文字顯示「需求等級:」的錯誤。
- 修正玩家偶爾能夠使用 Shift 鍵跳過 Learn Ability 等級限制的錯誤。
- 全新 Learn Ability 旗標:ClearSubmenuOnPointsSpent
- 新增全新的需求單位計數狀態:QueuedOrBetterOrRevivable
- 在計算技術單位的數量時,會包括正在復活和可復活的英雄。
- 這點在實作英雄訓練限制時非常有用。舉例來說:如果有「你無法訓練超過 3 名英雄」這樣的限制存在,你大概不會想要只計算存活英雄的數量。
- Hero Level 和 XP Formula
- 全新 CBehaviorVeterancy 欄位:Levels
- 設定英雄的最大等級。
- 這個欄位也是可升級的,模組創作者可以藉此變更運行時間的最大技能等級。
- 這個欄位的預設值是 0,也就是會使等級系統後降至先前的運作方式。
- 全新 CBehaviorVeterancy 欄位:
- MinVeterancyXPBonusPerLevel
- MinVeterancyXPPreviousValueFactor
- MinVeterancyXPLevelFactor
- 如果 VeterancyLevelArray 的大小低於 Levels 欄位的數字,則遊戲會根據這些因子自動生成額外等級的「min XP」。
- 所使用的公式如下,X 是等級、F(X) 則是等級的最小經驗值:
- F(X) = F(X-1) * MinVeterancyXPPreviousValueFactor + MinVeterancyXPLevelFactor * X + MinVeterancyXPBonusPerLevel
- 只有當 Level X 高於 VeterancyLevelArray 的大小時才適用。否則,它會直接透過 VeterancyLevelArray 表抓取最小經驗值。
- 全新 CBehaviorVeterancy 欄位:Levels
- 基於目標類型的 XP Receiving Fraction
- 全新 CBehaviorVeterancy 欄位:XPReceiveFraction
- 這個欄位是 Structure Array,可以讓使用者針對各個陣列規定一個目標篩選方式和一個可累積的分數值。
- 當英雄獲得經驗值時,遊戲會檢查受害者單位的目標篩選方式,如果受害者符合其中任一個篩選方式,則套用經驗值分數。
- 如果將其與累加器相結合,使用者就可以輕鬆建立經驗值公式,例如:「被召喚出來的單位所給予的經驗值減半」或「英雄透過中立生物所獲得的經驗值會依據英雄的當前等級而降低」。
- 全新 CBehaviorVeterancy 欄位:XPReceiveFraction
- 新增全新驗證器:CValidatorUnitCompareAbilSkillPoint
- 檢查單位已經花費的技能點數、尚未花費的技能點數、額外的技能點數或全部的技能點數。
- 物品和物品欄系統升級
- 物品系統對 RPG 遊戲來說至關重要,我們很開心能夠加強編輯器對此一系統的支援功能。
- 物品建造支援
- 現在單位物品欄內的物品可以用來建造建築物。
- 可以把這個物品技能設定成需要英雄保持導引狀態才能施放。或是玩家也可以使用神族建築等來「躍傳」建築物。
- 這個物品類型在建造分基地時可以派上用場。英雄可以購買 Pocket Town Hall 並將其放置在新的分基地;該建築會自動建造完成。
- 顯示物品欄給其他玩家看
- 全新 CInventoryPanel 性質:ShowForAllPlayers
- 為 True 時,玩家可以選擇其他玩家的單位並查看他們的物品欄。但是,玩家無法使用這些物品。
- 全新 CInventoryPanelInventory 性質:UseAlertIcon
- 勾選時,則物品欄裡面的物品會顯示物品的警示版本名稱、圖示和提示。若沒有勾選,則會顯示普通圖示。
- 這點在建立擁有不同敘述的物品(在物品商店中的敘述以及在物品欄中的敘述不同)時很有用。
- 預設為關閉。
- 全新 CInventoryPanel 性質:ShowForAllPlayers
- 在物品欄中施放物品
- 現在 CCommandButton 會顯示出自己的 ButtonOtherUnit 性質。現在使用者可以使用性質連結,將物品單位(物品本身,並非攜帶者)連結至目標框或其他框架。
- 使用者可以藉由這個功能,對物品欄中的物品施放技能(轉移物品或升級物品)。
- 使用者也可以藉由這個功能,連點兩下 Town Portal 自動傳送至最高等級的主堡。
- 總體通用的物品欄面板
- 現在使用者可以覆寫 CInventoryPanel 的 Inventory Unit 性質,以顯示當前尚未選取之單位的物品欄。
- 使用者也可以使用觸發器來建立新的物品欄對話控制。這點可支援各種運算子,例如:《虛空之遺》所推出的指令欄對話控制。
- 使用者只要選擇「Use SetDialogItemUnit」即可對單位進行設定。若設定為空,則會將單位重置回所選擇的引導單位。
- 顯示購買者的物品欄
- 《星海爭霸 II》原先支援《魔獸爭霸 III》那種中立物品商店的功能並不理想。在這次更新以前,使用者在點擊商店單位時,無法看見購買者單位的物品欄。
- 全新 CInventoryPanel 框架布林屬性:ShowAgentInventory
- 如果你勾選這個值,中立商店的物品欄面板就只會顯示「購買者的物品欄」,除非你為了顯示特定單位的物品欄,刻意覆寫物品欄面板。
- CUnit 的使用次數資料
- 針對單位和物品新增使用次數資料,當你販售物品和單位時,單位和物品的資料可以設定自己的預設庫存資訊(例如:商店的起始冷卻時間、商店中的最大庫存量等)。
- 可以藉由標記 CAbilTrain 技能的方式來忽略這些預設設定,並改成使用技能本身的自訂設定。
- 如果旗標沒有被勾選,且技能擁有自己的資料,則兩種使用次數資料的實例會被加總起來。
- 「真實」強化物品
- 全新物品類型:CItemAbilPowerUp
- 現在強化物品可以作為真實物品實作,不需要再模擬某個單位。
- CItemAbilPowerUp 繼承自 CItemAbil。唯一的差別是,它在被撿起來之後會自動使用,而且即便單位的物品欄處於全滿狀態也還是可以撿取它。
- 只有擁有物品欄的單位才能使用 CItemAbilPowerUp。該單位的 CanUseItem 旗標也必須是開啟狀態。
- 這些新的強化物品都是真實物品,所以會遵循物品欄事件的運作方式,而且可以用於戰利品系統。
- CItemAbilPowerUp 會測試施放者能否使用 CItemAbilPowerUp 內的強化技能。如果不行,則它會跳出錯誤訊息,並且不會將使用者移動至物品位置。
- 使用 KillAfterUse 旗標時,在施放者使用了強化物品之後,該物品可以被摧毀。
- 擁有物品欄但沒有開啟 CanUseItem 旗標的一般單位可以撿取強化物品,並將其帶去給英雄。
- 全新 EAbilInventoryFlag 旗標:ItemDropOnDeath
- 這個旗標會強迫單位在死亡時掉落出身上的所有物品,即便該單位可以被復活也一樣。這個設計對於擁有《魔獸爭霸 III》背包技能的一般單位來說可能會很有用。
- 全新 EAbilInventoryFlag 旗標:CanUseItem
- 這個旗標會決定單位能否使用物品。該旗標可協助建立擁有信使物品欄的單位,也就是可以攜帶物品但卻無法使用物品的單位。
- 全新 EAbilInventoryFlag 旗標:CanApplyEquipBehavior
- 這個旗標會決定單位能否獲得物品狀態增益效果的加成,例如:+5 力量。該旗標也可協助建立擁有信使物品欄的單位。
- 全新 CItemAbil 旗標:Transient
- 當這個旗標被打勾時,物品技能會被強制以 Transient 的形式施放,即便物品的原始技能不是 Transient 技能也一樣。
- 修正當物品在半路被摧毀時,物品欄也還是會嘗試撿起物品的錯誤。
- 修正 CAbilSpawn 無法運作的錯誤。
- 修正當你在極限距離存入物品欄中的物品時,可能會失去該物品但卻不會獲得資源的錯誤。
- Abil 角色事件的全新子名稱:PawnSource、PawnTarget。
- 這些名稱會在你存入物品時生效。
- 全新 CAbilInventory 欄位:Requirements
- 在設定好時,物品欄技能會在滿足技術需求之前關閉。
- 物品欄的使用者介面也會在滿足技術需求之前被隱藏起來。
- 全新 CValidatorUnitInventory 欄位:RequireEnabled
- 在打勾時,如果目標物品欄技能為開啟狀態,且技術需求已被滿足,則驗證符只會回傳 e_CmdOK。
- 針對回應 Player Use Effect 的部分,有新的觸發器 API 可以讓使用者擷取用來建立效果與其物品類型的物品(如果存在這樣的物品)。
- 現在 Ability Items 可以選擇使用自己的冷卻時間連結,並覆寫繼承自技能的冷卻時間連結。
- 中立/友方商店支援
- 中立/友方商店是中立/友方的建築物,其他玩家可以藉由 CAbilInteract 技能的幫助與之互動。
- 針對所有技能的部分,現在 Tech Player 欄位有一個額外選項:Caster。
- 只要將 CAbilTrain 的 Tech Player 欄位設定為 Caster,技能就會檢查下達指令之玩家的技術需求。
- 這點在建立「按照購買者的科技樹販售單位/販售物品」技能時很有用。
- 全新 CabilTrain 欄位:AgentUnitValidator
- 在設定好時,技能每次都需要由代理單位來施放,並且會在訓練單位時針對欄位內所設定的驗證符做檢查。
- 有了這個欄位之後,使用者可以輕鬆地在《星海爭霸 II》裡面建立「物品商店」技能。
- 針對物品商店的部分,使用者通常會希望商店購買者單位必須擁有物品欄才能購買物品。
- 《星海爭霸 II》原先並不支援這樣的機制,所以即便購買者單位並沒有物品欄,也還是每次都會建立相關物品。
- 有了 AgentUnitValidator 欄位,使用者可以新增各種驗證符,例如:「單位擁有有效的物品欄」和「物品欄尚未全滿」。因此,如果代理單位沒有物品欄,技能只會跳出錯誤訊息,並不會施放。
- 全新 CAbilTrain 旗標:ChargeCasterPlayer
- 一般來說,中立商店技能會需要購買者玩家和販售者玩家透過「Ally Spending」旗標,與彼此共享資源的花費。如果實際情況並非如此,則購買者會看見「無法花費在這個玩家身上」這個錯誤訊息。
- 在預設中,中立玩家會跟所有玩家共享花費。但如果使用者想要建立友方商店(可供友方玩家購買物品或單位的商店),該使用者應該不會希望這些玩家共享花費。要不然的話,玩家將可以花費盟友的金錢。
- ChargeCasterPlayer 這個新旗標就是被設計來解決這個問題的。在開啟時,售出物品或售出單位的費用會向下達購買指令的玩家收取,即便購買者和販售者沒有共享花費也一樣。
- 如果有其他玩家跟購買者玩家共享花費,且購買者玩家沒有足夠的資源支付費用,則該技能仍然會向那些與購買者共享花費的玩家收取費用。
- 全新 CAbilInteract 旗標:AlwaysShowCommandCard
- 當這個旗標為開啟時,商店單位會顯示出指令欄,所有能夠跟該單位互動的玩家都可以看到這個指令欄(由 CAbilInteract 的 Target Filter 欄位決定),即便玩家在商店附近沒有有效的代理單位也一樣。
- 因此,即便玩家在商店附近沒有有效的代理單位,也還是可以預覽商店所販售的內容。
- 不過,如果該玩家並未控制該商店單位,則該玩家依舊無法使用指令欄。舉例來說:如果該玩家在商店附近沒有代理單位。
- 修正互動技能會在沒有檢查 ValidatorArray 欄位的情況下,不斷嘗試取得單位的錯誤。
- 行為單位追蹤系統
- 全新行為類型:BehaviorUnitTracker
- 這個行為的運作方式與單位清單類似。所有被儲存至這個行為的單位,都能被該行為儲存起來,且該行為擁有驗證符和最大計數欄位。每當清單內的項目不符合所設定的驗證符時,該項目就會被從清單中移除。
- 使用者也可以透過相關旗標將追蹤器轉換為總體清單或玩家取向清單(不需要行為實例也能運作)。
- 全新累加器:CAccumulatorTrackedUnitCount
- 允許使用者按照指定清單中的單位數量多寡來使用累加器。
- 全新效果:CEffectAddTrackedUnit CEffectClearTrackedUnits、CEffectRemoveTrackedUnit
- 允許使用者替清單新增/移除單位。
- 全新效果:CEffectEnumTrackedUnits
- 允許使用者循環選取單位追蹤清單,並按照篩選方式針對各個清單執行效果。
- 全新驗證器:CValidatorCompareTrackedUnitsCount、CValidatorIsUnitTracked
- 可透過行為來計算追蹤中單位的數量,並檢查單位是否屬於指定的追蹤器清單。
- 在嘗試維持單位之間的「一到多」映像時,追蹤器系統非常有用。
- 舉例來說:該系統可透過召喚者單位追蹤其所召喚出來的單位。
- 全新行為類型:BehaviorUnitTracker
- 其他行為系統變更
- 行為堆疊別名
- 這個功能可讓行為按照「Stack ID」進行堆疊,而非 Behavior ID。
- 舉例來說:在《魔獸爭霸 III》中,大法師和各種中立生物都擁有睿智光環的版本。這是兩種不同的增益效果,當你同時擁有這兩種單位類型時,你應該不會希望附近的單位同時獲得這兩組睿智光環。在這種情況中,應該每次都以英雄版本的光環為優先。
- 兩個全新 CBehaviorBuff 欄位:StackAlias(字串)和StackAliasPriority(整數)。
- 如果同一個 StackAlias 的兩個增益效果被套用至相同單位,則這兩個效果會共享 Max Count(以較低的效果為優先)。如果這兩個效果的總數超過共享的最大計數,則遊戲會開始移除堆疊層數(從 StackAliasPriority 最低的增益效果開始,再來是持續時間最短的增益效果)。堆疊層數會不斷被移除,直到堆疊總數符合共享堆疊的最大計數為止。
- 全新角色事件:BehaviorStackAlias
- 允許使用者按照行為的 StackAlias 擷取 Behavior 事件(開啟、關閉、傷害回應等),而不是行為的 Behavior ID。
- 它也會允許擁有相同 StackAliases 的各個 Behavior 共享角色,因為你應該會希望睿智光環增益效果的所有版本都共享相同的美術圖。
- 全新 CEffectRemoveBehavior 欄位:StackAlias
- 允許使用者按照 StackAlias 移除增益效果。
- 全新驗證器:CValidatorUnitBehaviorStackAlias
- 允許使用者藉由 StackAlias 計算行為的堆疊層數。它會將 StackAlias 相符之單位的所有行為都納入計數範圍,也可以只計算已啟用行為的數量。
- 角色傷害回應飄浮文字支援
- 現在,當 CActorMsgBehavior 啟動具有 DamageHandled 子名稱的事件時,在事件啟動後使用 SetTextLocalized 和 SetText 訊息會自動透過修改後的傷害量設定文字。
- 該傷害會取代目標文字中的「%AMOUNT%」符記。
- 這一點在針對傷害回應建立傷害飄浮文字時很有用。
- Behavior On/Off 角色事件的改良版支援
- 現在 Behavior On/Off 事件會針對上一次套用的層數或上一次移除的層數設定效果參數。
- 當你需要針對細節配置行為角色時,這個事件會很有用。使用者原本無法引用 Behavior On/Off 事件中的行為的施放者。
- 全新行為狀態:Cannot Die
- 將單位標記為「無法死亡」,除非該行為被移除。
- 雖然你可以藉由傷害回應達到類似的效果,但死亡回應只能避免掉因為受到傷害所造成的死亡。這個行為狀態能夠避免掉因為任何原因所造成的死亡,例如:生命值被設定為 0 點。
- 這個狀態替觸發器取向的防死系統提供了一個簡易的替代方案。
- 全新行為狀態:Suppress Kill Credit
- 使擊殺單位的玩家無法獲得擊殺數或已擊殺資源數。
- 適合用來建立幻影單位。
- 全新 CBehaviorBuff 欄位:DeathType
- 可以覆寫單位的 DeathType,並且會忽略擊殺傷害效果的死亡類型。
- 這種做法可能無法覆寫「Remove」這個死亡類型。
- 預設值為「Unknown」,意思是「不要覆寫」。
- 全新死亡類型:Reincarnation
- 可以使單位在死亡時不會掉落戰利品和物品。
- 現在,驗證符 CValidatorUnitCompareBehaviorCount 以及效果 CEffectRemoveBehavior 和 CEffectTransferBehavior 都共享以下的詳細配置欄位:
- BehaviorCategories、BehaviorClass、BehaviorAlignment、ExcludeOriginPlayer、ExcludeCasterUnit、RequireOriginPlayer、RequireCasterUnit
- 這些驗證符/效果原本都只擁有一個 CEffectBehavior 欄位,而且這些新的額外欄位原本也都只屬於 CEffectBehavior。
- 使用者可以藉由這些新添加的內容,更自如地計數、移除和轉移行為。
- 舉例來說:現在,由目標單位施放者等玩家所新增的行為層數可以被使用者移除。
- 這點在實作「Smart Dispels」時也很有用,例如:只移除敵方單位所套用的增益效果。
- 全新 CValidatorUnitCompareBehaviorCount、CEffectRemoveBehavior 和 CEffectTransferBehavior 欄位:Matches All
- 當任一配置欄位被滿足時,或是當所有配置欄位都需要被滿足時,決定效果/驗證符是否會被執行。
- 行為堆疊別名
- 改良版屍體支援
- 全新 CEffectModifyUnit_ModifyFlags 旗標:Remove
- 這個旗標會直接將單位從遊戲中移除,並摧毀該單位角色的整個範疇顯示器。
- 之所以新增這個旗標,是因為使用者無法使用 CEffectDamage 的「Remove」效果來移除屍體。
- 全新單位篩選方式:Decaying
- 腐敗中單位的定義是:目前正躺在地面上,而且已經死亡有一段時間的單位。之所以要這樣定義,是為了跟另一種單位做出區隔,也就是:雖然已經被殺死,但還在倒地過程中,尚未正式生成屍體的單位。如果以專業術語來說就是,當 Death Time 為啟動狀態,且 Revive Delay 已結束時,就是腐敗中單位。
- 這個篩選方式的意義在於,以屍體為目標的技能無法對剛剛陣亡、尚未生成屍體的單位使用。
- 如果單位的 Death Time 被設定為 -1,就會直接跳過腐敗階段。舉例來說:《魔獸爭霸 III》的英雄永遠也不會腐敗。
- 全新單位篩選方式:Raiseable
- 現在 CEffectModifyUnit 可以設定屍體是否Unraiseable(無法被復活)。
- 我們可以藉由 Unraiseable 來標記屍體是否已被使用過。
- 舉例來說:當食屍軌正在啃食屍體時,屍體依舊存在,但模組創作者大概不會希望這個屍體被復活成不死族。在這種情況中,模組創作者可以把技能設定成只能復活 Raiseable 的屍體,並將正在被啃食的屍體設定為 Unraiseable。
- 全新旗標:Allow Corpse
- 在這個旗標開啟時,運輸技能可以乘載屍體。
- 全新 CEffectModifyUnit_ModifyFlags 旗標:Remove
- 攻擊類型、傷害類型和裝甲類型系統
- 全新 CWeapon 欄位:Attack Type
- 模組創作者可以在 Game Data 中,變更每一種攻擊類型對各個裝甲類型的傷害乘數。
- 攻擊類型會影響整個武器樹裡面的所有傷害效果,因此模組創作者將可以針對武器等級調整傷害乘數,不用再針對效果樹裡面的所有效果逐個調整傷害因子。
- 全新 CUnit 欄位:Armor Type
- Armor Type 會決定用來攻擊單位的武器的傷害乘數。
- 全新驗證器:CValidatorUnitArmor
- 允許使用者檢查單位的裝甲類型。
- 全新 CEffectDamage 欄位:Damage Type
- 模組創作者可以針對 Game Data 裡面的 Damage Type 變更 Target Filter。
- 對傷害類型進行目標篩選,可讓使用者配置遊戲內的所有傷害效果和範圍性傷害效果。使用者也可以決定特定的傷害效果能否對特定目標造成傷害。
- 舉例來說:只要針對每一種傷害類型篩選掉「友方」目標,就可以避免遊戲內的任何武器對盟友造成噴濺傷害。這個功能在製作合作模式模組時很有用,因為這種模組需要以其他模組作為基礎來製作,而且這些其他模組的範圍性武器和法術都擁有各種友軍誤傷效果。
- 全新 CWeapon 欄位:Attack Type
- 效果未命中機率、格擋和招架
- Behavior Damage Response 結構經過延伸,所能處理的範疇不再侷限於純傷害回應的案例。
- 未命中機率
- 全新 CWeapon 旗標:NeverMiss
- 在預設中,武器會保留舊版行為。
- 攻擊修改器也可以將 NeverMiss 性質新增至武器效果樹。
- 如果武器效果樹宣告武器可以未命中,那麼當武器開火時,效果樹就會檢查攻擊方和防守方的 Missing Chance。緊接著,效果樹會按照驗證符以及回應結構中所設定的機率,標記效果是否會未命中。
- 當地面單位攻擊位於地勢高坡的目標時,未命中機率會有所提升,這個機制可以在 Game Data 中做調整。
- 如果武器的效果樹被標記為「Missed」,武器就不會執行擊中傷害,也不會執行擊中相關的任何圓球效果。
- 當武器未命中時,會將帶有「Missed」的 Actor Weapon 事件作為其子名稱發送出去。如此一來,模組創作者就可以決定是否要擷取這個事件,並在單位身上建立「未命中!」飄浮文字或顯示閃避特效。
- 全新 CWeapon 旗標:NeverMiss
- 格擋機率
- 全新 CEffect 欄位:CanBeBlocked
- 決定效果能否被格擋。預設設定為關閉。
- 每當有效果被執行時,遊戲會查詢擊中單位的回應結構,並檢查該結構的 Block Chance 和其他驗證符。
- 如果成功格擋,效果會被取消且不會執行。緊接著,效果會將帶有 Blocked 的角色 Effect 事件作為其子名稱發送出去,方便使用者設定適當的角色。
- 這個功能在建立法術格擋行為時很有用。
- 全新 CEffect 欄位:CanBeBlocked
- 招架機率
- 全新 CEffect 旗標:ValidateImpactDeflection
- 決定效果能否被招架。預設設定為關閉。
- 招架跟格擋這兩個機制幾乎一模一樣,差別在於招架會複製攻擊效果並將其返還給施放者。
- 被招架效果的施放者和目標性質會被反轉,且會被視為原始目標單位對原始施放者單位所發動的攻擊。反射後效果樹的傷害加成設定仍然會採用原始施放者的傷害加成設定。
- 招架與格擋的另一個不同之處,在於效果樹對於每個招架都只會評估一次。如果效果已經通過 Deflection 的檢查一次,那麼剩餘的效果樹就不會再次檢查招架機率,即便效果樹後續效果的 ValidateImpactDeflection 旗標為勾選狀態也一樣。
- 全新 CEffect 旗標:ValidateImpactDeflection
- 單位變形系統變更
- 變形/取消變形切換
- 全新 CAbilMorph 旗標:Toggle
- 全新 CAbilMorph 欄位:InforArrayUnmorph
- 當 Toogle 為開啟時,可使用變形技能在兩種不同的單位類型鍊之間來回切換。
- 全新 CAbilMorph 指令索引:Unmorph
- 針對可切換變形技能的部分,在單位被變形之後,還是可以下達 Unmorph 指令給技能,此舉會使單位開始進行 InforArrayUnmorph 欄位中所定義的變形過程。
- 針對大部分案例的部分,InforArrayUnmorph 應該被設定成:其最終單位類型即是其普通狀態單位類型。如此一來,就可以使用 Unmorph 指令把該單位變形回原本的狀態。
- 全新 CabilMorph 欄位:ValidatorArrayUnmorph
- 驗證被變形單位可否使用 Unmorph 指令。
- 全新 CabilMorph 旗標:AutoUnmorph
- 決定被變形單位在可行時是否會自動嘗試變形回去。
- 全新 CabilMorph 欄位:BehaviorOn/BehaviorOff
- 在設定好時,當單位處於 Morphed 狀態時,技能會將 BehaviorOn 增益效果套用至單位;當單位處於 Normal 狀態時,技能會將 BehaviorOff 增益效果套用至單位。只有在變形技能被標記為「Toggle」時,這兩個欄位才有效。
- 即便單位被直接建立成 Morphed 單位類型,變形技能依然會將單位視為已經完成變形過程。這些欄位會套用相關行為,並允許你使用 Unmorph 指令。
- 變形技術計數
- 全新 CAbilMorph 旗標:ProvideSourceUnitTech
- 在開啟時,CAbilMorph 將來源單位的單位類型,傳遞給該單位所變形而成的單位。最終單位會自動繼承來源單位的單位連結,並將其作為 Tech Alias。
- 在整個變形鏈中,這個性質都會被繼承。
- 例如:主堡 -> 要塞 -> 城堡
- 城堡同時視為要塞與主堡。即便是直接建立而成的城堡,也同樣視為要塞與主堡(雖然該城堡並非由要塞或主堡變形而來)。
- 那為什麼不乾脆把主堡和要塞新增至城堡的別名就好了呢(將這兩者新增至城堡的 Tech Alias 欄位)?我們之所以採取這種比較迂迴的做法,是因為 ProvideSourceUnitTech 只有在單位處於 Complete 狀態時才會生效。只有當這樣的條件滿足時,它才會被視為技術計數裡面的來源單位。如果我們使用 TechAlias 欄位,別名就會以任何狀態存在,即便是當單位正在變形(InProgress 狀態)的時候也是如此。在這種情況中,當你把要塞變形為城堡時,會陷入很尷尬的間隙狀態:因為你同時擁有一個 Completed 要塞和 InProgress 城堡,因此技術計數系統會以為你擁有 InProgress 要塞,但實則不然。
- 全新 CAbilMorph 旗標:ProvideSourceUnitTech
- 「前往然後變形」支援
- 全新 CAbilMorph 旗標:RequireAcquiredTarget、RequireAcquiredTargetUnmorph
- 全新 CAbilMorph 欄位:Range、TargetSorts
- 當這些欄位被設定好時,單位會搜尋自動施放距離,試著找到位於距離內且符合驗證條件的目標,然後前往該目標的所在位置。單位在抵達目標單位的所在位置之後,會開始變形。Range 欄位代表施放者可以開始變形的最遠距離。
- 變形/取消變形切換
- 資源履行者單位
- 全新單位旗標:NeverThink
- 一般來說,遊戲內的每個單位都會在每個遊戲迴圈(0.0625 遊戲秒)檢查尋徑、敵人掃描、技能獲取和許多其他的邏輯核對項目。有了這個旗標,各單位就不必再檢查這些項目,進而改善自訂地圖的運行效能。NeverThink 單位無法擁有行為和技能,但是 Resource 行為例外。
- 全新單位旗標:NeverThink
- 其他一般單位變更
- 單位最大速度
- 全新 CUnit 欄位:SpeedMaximum
- 規定單位所能達到的最大速度(即便在獲得速度加成的情況下)。
- 全新行為欄位:MoveSpeedBaseMaximumBonus
- 用來變更單位的最大速度。
- 全新 CUnit 欄位:SpeedMaximum
- 全新 CUnit 電腦角色類型:Warcraft
- 現在單位的 Mob 欄位擁有「Warcraft」電腦角色類型可供選擇。
- 觸發器可以藉此區分 Warcraft 單位與 StarCraft 單位。
- 全新 CUnit 欄位:LifeRegenRateNight、EnergyRegenRateNight、ShieldRegenRateNight
- 夜精靈單位可藉此在夜間恢復,且不需要針對每個單位個別設定其行為。
- 全新 CUnit 欄位:BuildTime
- 額外的儲存空間,可存放單位資料的建造時間,並用來配置 CAbilBuild、CAbilTrain 和 CAbilMorph 的建造時間。
- 全新 CAbilBuild 與 CAbilTrain 旗標:IgnoreUnitBuildTime
- 如果沒有勾選,則單位的建造時間會被新增至技能的建造時間中。
- 每個區段的每個階段的全新 CAbilMorph 陣列旗標:UseBuildTimeArray
- 有設定這個旗標的每個階段,其單位的建造時間會被新增至個別階段的持續時間。
- 全新驗證器:CValidatorUnitCompareAbilStage
- 讓使用者能驗證 CAbilEffect 的技能階段。
- 若 Ability 欄位被設定為 None,則會驗證目前正在施放之技能的技能階段。也就是說,現在使用者可以檢查單位是否正在引導所施放的技能。
- 全新目標篩選方式:
- Powerup:當 CUnit_PowerupEffect 欄位值有效時,為 True。
- PowerupOrItem:某個強化物品或一般物品。
- HeroUnit:帶有英雄旗標的單位。這個篩選方式跟「Heroic」不一樣,「Heroic」是屬性。
- 全新 CUnit 欄位:Unit Level
- 當設定為 > 0 時,高亮單位的提示會在單位的名稱下方顯示這個等級。
- 這個欄位可用來指定排序或驗證。也可用於累加器。
- 插件上層行為
- 全新 CUnit 欄位:ParentBehaviorLink
- 當插件被連結至某個上層建築物時,ParentBehaviorLink 的行為會被套用至該上層建築物。這個行為的施放者是插件,不是上層建築物。
- ParentBehaviorLink 行為可藉此按照插件的狀態來控制上層建築物。
- 變形技能可以驗證這個行為,並投放錯誤訊息(時間點是當上層建築物收到升空指令,且附加插件正在搜尋時)。
- 全新 CUnit 欄位:ParentBehaviorLink
- 現在 CUnit_LifeDamageGain 可升級。
- CValidatorUnitState 經過大幅改善,可以檢查最多 100 種不同的單位狀態,原本只能檢查 1 種。
- 舉例來說:Idle、Jumping、Highlighted、ArmorDisabled、Revivable、Dying、ArmySelect 等。
- 全新驗證符「Unit Test Weapon Type」:CValidatorUnitTestWeaponType
- 使用者可以藉此檢查單位的武器是遠程武器還是近戰武器。
- 擁有「Require Enabled」欄位,你可以藉此控制驗證過程是否要自動忽略被關閉的武器。
- 在樣本模組中,《魔獸爭霸 III》所有近戰英雄的對空武器都被隱藏起來,只能透過圓球加以解鎖。在經過這樣的改動之後,像山脈之王這些近戰英雄都不會再被標記為擁有遠程武器的單位。
- 單位最大速度
- 其他技能系統變更
- 為技能自動生成按鈕
- 為了要讓模組創作者能夠輕鬆地將技能套用至任何單位,現在所有按鈕都擁有相關性質,模組創作者可藉此針對指令欄設定自己想要的預設按鈕位置和子選單 ID。
- 不論是什麼技能,模組創作者都能設定所指定的技能指令是否會自動生成技能按鈕(Generate Ability Buttons),使技能在套用至單位之後迅速開始運作。使用者不再需要手動在單位指令欄中設定這些按鈕和圖示。
- 可在運行時間針對單位新增和移除技能的觸發器 API
- 全新觸發器 API 動作:Unit Add Ability、Unit Remove Ability
- 簡易版的等級配置
- 現在大多數的技能類型都擁有 Levels 欄位,可以直接為技能設定最大等級。跟累加器系統互相結合之後,模組創作者將不再需要針對擁有 1000 個等級的技能實作 1000 組技能。
- Levels 欄位也是可升級的,模組創作者可藉此在運行時間變更最大技能等級。
- 當 Level 欄位被設定為 0 時(也就是預設值),技能等級系統會後降至原先的功能。
- 全新 CCharge 欄位 TimeDelay
- 對所有的技能/物品/行為的使用次數都有效。
- 與 TimeStart 的運作方式類似,但只會影響技能、物品或行為的第一個使用次數。
- 當 TimeDelay = 0 時,使用次數系統會按照以往的方式運作。
- 當 TimeDelay > 0 時,TimeStart 會被忽略。
- 當技能開始儲存使用次數時,第一個使用次數的恢復時間會採用 TimeDelay 值,後續的使用次數則皆採用 TimeUse 值。
- 全新旗標:IgnoreTimeDelay
- 技能可以藉此忽略單位的 TimeDelay 設定,並改成使用技能本身的設定。
- 現在的目錄替換(Catalog Replacement)支援物品技能。
- 替換並非基於物品的持有者,而是基於物品的使用者。
- 這可以讓不同的玩家使用同一個物品發動不同的效果。
- 舉例來說:模組創作者可以在有物品被使用時,按照玩家的種族建立不同的單位。
- 現在 SEffectParamsShared 擁有 m_level 構件,可儲存最初啟動效果樹的那個技能等級。
- 效果樹可將其用作快照,並取得相關的等級資料;如此一來,即便技能的等級在效果樹啟動之後出現變化,效果樹也依然會記得技能的原等級。
- 累加器也可將這個資料用作技能資料。
- 現在可以配置 CEffectCreateUnit_SpawnUnit,並按照效果樹的等級建立不同的單位類型。
- 現在 CAbilBheavior 可以針對 Auto Toggle On 和 Auto Toggle Off 設定不同的驗證符,原本是只能針對自動施放設定一個驗證符。
- 全新技能種類與行為種類
- 新增各種全新的技能和增益效果種類。
- 現在增益效果行為可以按種類啟動/關閉技能。
- 新增額外的預設設定至觸發器編輯器的 Behavior 類別列表。現在它符合資料編輯器裡面的 Behavior 類別列表。
- 所有技能的全新欄位:State Behavior
- 這個欄位會在技能建立完成時,建立一個行為。在技能被摧毀時,該欄位也會被摧毀;當技能被關閉/啟動時,該欄位也會被關閉/啟動。
- 為技能自動生成按鈕
- 其他傷害系統變更
- 全新 CEffectDamage 欄位:DamageInheritEffect
- 這個欄位的效果組會在造成主要傷害之後發動。
- 該效果組會繼承主要傷害的傷害量。
- 全新 CEffectDamage 旗標:NoZeroDamageInherit
- 當造成傷害為 0 時,會阻止 DamageInheritEffect 發動效果。
- 全新 CEffectDamage:Fraction
- 額外的分數,會以倍數賦予給所有其他現存分數。
- 這個欄位支援累加器,因此模組創作者可以按照這個分數建立公式。
- 全新 CEffectDamage 欄位:DamageInheritEffect
- 武器前置效果
- 全新武器欄位:PreEffect
- 這是 PreEffectBehavior 的其中一個效果版本,可對目標單位進行驗證,進而決定 PreEffect 是否應該被執行。
- 全新武器欄位:PreEffect
- 均質中斷支援
- 全新 CAbilEffect 旗標:HomogenousInterrupt
- 當這個旗標啟動時,使用者會看見下列行為:如果玩家選擇正在引導法術的單位並對其下達移動指令,則該單位會停止引導並開始移動。如果玩家同時選擇多個單位,且其中至少有一個單位沒有在引導法術,則只有沒有在引導法術的單位會立刻開始移動。在這種情況中,對正在引導法術的所有目標所下達的移動指令都會進入佇列狀態。
- 當這個旗標關閉時,玩家會看見舊版的《星海爭霸 II》行為。
- 全新 CAbilEffect 旗標:HomogenousInterrupt
- 建造系統變更
- 工人會在建造過程中讓路
- 當 CAbilBuild 中的 HomogenousInterrupt 和 Interrupt 旗標都處於啟動狀態、且 CAbilBuild 不會使建築工人在建造過程中跑進建築物裡面時,工人將不會在建造過程中阻擋你放置其他建築物。取而代之的是,工人會先讓路,然後再重新找個更合適的地點繼續蓋建築物。
- 建築物落成動畫時間自動調整
- 現在 CAbilBuildable 會將 Start、Cancel、Complete、Pause 和 Resume 事件發送給角色系統。
- Start 事件也會包括建築物的建造時間資訊。角色會自動把建造動畫的長度設定得跟建造時間的長度一樣。如此一來,建築物就可以在建造完成時,立刻播放落成動畫。
- 工人會在建造過程中讓路
- 地面範圍性攻擊游標支援
- 這個功能包括以下兩個編碼變更:
- 現在 CActorMsgAbil 會攜帶 cmd 資訊,讓模組創作者能夠使用 CActorTermAbilCmd 來回應 CActorMsgAbil。如此一來,角色系統將可以透過 cmdIndex,判斷游標模式是否有被普通攻擊或攻擊地面導引觸發。
- 現在 CAbilAttack 會將 DisplayEffect 作為游標效果傳遞給角色系統。如此一來,角色系統將可以篩選目標並調整範圍性游標的大小。
- 如果單位擁有多個武器,則游標會使用武器的第一個有效 DisplayEffect 來決定視覺效果。
- 這個功能包括以下兩個編碼變更:
- 維持系統
- 全新種族欄位:UpkeepTax
- 模組創作者可藉此按照玩家的食物數量來自訂玩家的資源收益率。
- 全新種族欄位:UpkeepTax
- 在坡道上建造
- 《星海爭霸 II》的玩家原本無法在坡道上建造建築物,因為這個部分被寫死。
- 全新 Terrain Type Data 資料欄位:Ramp No Build
- 讓使用者能夠選擇坡道是否為 Unbuildable 的區域。
- 在關閉時,玩家可以在坡道上建造建築物。
- 採集技能改善
- 全新 CAbilHarvest 欄位:ResourceAmountCapacity
- 預設值為 0。
- 每當工人採集完資源時,會把身上所攜帶的資源數量以及 ResourceAmountCapacity 的值做比較。如果身上所攜帶的數量低於 ResourceAmountCapacity,則工人會嘗試繼續採集資源,直到身上所攜帶的資源數量達到預期值為止,除非有另一個指令正在佇列或是收到了往其他地方移動的指令。
- 即便工人所採集的資源未達預期值,玩家還是可以命令工人停止採集並把目前身上所攜帶的資源帶回來。
- 如果工人在採集資源的過程中收到其他指令,則工人至少會再採集一次,然後才會按照新的指令行動。
- 如果工人想要繼續採集,但是目標資源已經消失,則工人會嘗試找到附近的另一個資源。
- 全新 CabilHavrest 旗標:No Extract
- 在啟動時,採集技能不會使資源節點的資源消失,但還是能獲得資源。
- 全新 CAbilHarvest 欄位:ResourceAmountCapacity
- 晝夜時間系統改善
- 可以擷取白天/夜晚變化的全新觸發器事件:遊戲的白天/夜晚狀態變化
- 以固定值取得/設定晝夜時間的全新觸發器函數:Set Time Of Day (Seconds)、Current Time Of Day (Seconds)
- 可擷取當前白天/夜晚狀態的全新觸發器函數:Current Day/Night State
- 可驗證晝夜時間值的全新驗證符:Game Compare Time Of Day
- 掉落資源的角色支援
- 全新角色訊息:UnitResourceDrop
- 每當有單位把資源放在主堡(或任何資源放置單位)的時候,這個角色事件就會發布。
- 來源名稱欄位是:放置資源之單位的單位角色。
- 子名稱欄位是資源類型。模組創作者可以按照子名稱區分不同的掉落物。
- 在事件發生後使用 SetTextLocalized 和 SetText 訊息會自動將目標文字設定為資源掉落數量。
- 實際的掉落數量會取代目標文字中的「%AMOUNT%」符記。
- 全新角色訊息:UnitResourceDrop
- 建立多個相同角色
- 全新角色類型:CActorBatch
- 這可以解決使用者原本無法重複建立同一角色的問題。
- 這個角色擁有 Count 欄位,可用來建立多個相同的子角色類型。
- 在預設中,被建立出來的角色會使用 CActorBatch 的方位。
- 全新角色類型:CActorBatch
- 角色系統強制迴圈支援
- 現在角色系統支援播放動畫的強制迴圈。
- 全新 EAnimsFlags 旗標:ForceLooping
- 如果這個旗標和 PlayForever 旗標都被設定好,則每當動畫完成時,系統都會播放隨機選擇的動畫改版,不論動畫是否有迴圈設定都一樣。
- 旗標優先順序:AssetDrivenLooping > ForceLooping > NonLooping
- 全新 EAnimBracketStart 旗標:ContentForceLooping
- 當這個旗標開啟且 ContentPlayOnce 旗標關閉時,每當內容動畫完成時,系統都會播放隨機選擇的動畫改版,直到有 AnimBracketStop 訊息被傳送出去為止,不論內容動畫是否有迴圈設定都一樣。
- A.I. 戰術改善
- 全新 CUnit 欄位:AIExecuteAbilTactical
- 這個欄位會運行戰術電腦玩家鉤函數,並採用這些模式:Unit、galaxyFuncName、scanned group、inAbility、inItem。
- 修正戰術資料和戰術函數不一致的情況(戰術函數無法作用於敵對和中立的電腦玩家)。
- 全新 CUnit 欄位:AIExecuteAbilTactical
- A.I.態化氫和自訂資源支援
- 改善 Synapse 電腦玩家,使電腦玩家能夠將態化氫和自訂資源理解成資源類型。現在電腦玩家也能採集這些資源。
- A.I.聖壇復活
- 現在,如果找不到方法訓練特定的英雄類型,電腦玩家可以將 Stock 次序解譯為 Revive 英雄次序。
- 電腦玩家腳本必須透過 AIReqAddSpecialMaker() 暫存 Reviver 建築,就像暫存核彈技能那樣。
- 當電腦玩家嘗試存放英雄但卻無法找到訓練技能時,電腦玩家會搜尋復活清單,並嘗試復活同類型的英雄。
- A.I.庫存替換
- 現在電腦玩家在嘗試建造或訓練時,會以目錄替換為準。
- 舉例來說:如果電腦玩家把陸戰隊替換成狂戰士,則電腦玩家會正確地將陸戰隊訓練技能視為狂戰士訓練技能,並正確地下達訓練指令。
- 這點也會影響合併、建造、搜尋、訓練和躍傳訓練。
- 全新單位旗標:AIPreplacedForceBully
- 當該單位被預先放置到地圖上時,該單位會被電腦視為可替換惡霸,即便電腦目前還無法替換該單位也一樣。如此一來,電腦就可以使用透過 Replace Ability 觸發器動作所獲得的技能來替換惡霸。
- 改良版傳統地圖轉換器
- 經過改良的傳統地圖轉換器。在轉換《魔獸爭霸 III》的地圖時,不會再只轉換地形網目,也會轉換地形材質以及預先放置的單位、裝飾、可破壞物件、鏡頭和區域。
- 資料驅動的戰利品系統
- 新增全新本體至 Galaxy:UnitLootDropUnit、UnitLootDropPoint
- 模組創作者可以在戰利品資料編輯器中配置自己的戰利品,並接著使用這些本體來生成戰利品。戰利品可以是物品、單位、效果甚至是等級 X/物品類別 X 的隨機物品等。
- 全新本體:UnitLootLastCreated、UnitLootLastCreatedGroup
- 模組創作者可以使用這些本體來擷取剛剛透過 UnitLootDropUnit 或 UnitLootDropPoint 生成的戰利品物品。
- 全新物品旗標:IncludeInLootItemPool
- 在打勾時,物品會被包括在 CLootItem 的隨機選取池裡面。模組創作者可藉此將物品標記為「無法隨機掉落」。
- 現在 CLootItem.ClassArray 可升級,且模組創作者可以使用觸發器來隨機化不同類別的物品建立結果。
- 新增全新本體至 Galaxy:UnitLootDropUnit、UnitLootDropPoint
- Ctrl 指令修改器
- 這個修改器預設為關閉。使用觸發器動作 UISetCommandAllowed 來進行開關。
- 當這個修改器為開啟時:當你按住 Ctrl 下達指令時,指令只對當前已高亮子群的單位有效,而不是對全部已選取單位都有效。舉例來說:假設玩家選取了一個陸戰隊和一個狂戰士,請確保被高亮的只有陸戰隊。如果該玩家接著使用右鍵下達移動指令,且依然按住 Ctrl 鍵不放,則只有陸戰隊會收到移動指令。
- 其他使用者介面框架性質變更
- 新增一個性質至 CUnitFrame:UseSelectionLeader
- 讓使用者介面能夠擷取當前選取範圍的當前引導單位(現行子群的第一個單位)。
- 在打勾時,CUnitFrame 會自動將 LocalObservedSelectionLeaderUnit() 設定為自己的單位。它也會更新自己的 UnitTag 性質,使它能夠把性質連結至其他框架。
- 在打勾時,CUnitFrame 會忽略所有將 UnitTag 連結至其他框架的性質連結,因為它應該只反映選取集首。
- 在沒有打勾時,CUnitFrame 的行為模式照舊。
- 修正 CUnitButton 不會更新自身 UnitTag 性質的錯誤。
- 新增一個性質至 CUnitFrame:UseSelectionLeader
- 其他觸發器 API 變更
- 技能階段
- 現在 CAbilRally 可以投放觸發器階段事件:在集結點放置時放置。
- 玩家障礙
- 現在 Player Handicap 可以打破原有的 100% 限制。
- 單位卡槽管理
- 全新 Galaxy API:UnitMagazineAssign
- 新增現存單位至單位卡槽。
- 全新 Galaxy API:UnitMagazineRemove
- 移除單位卡槽的現存單位。
- 全新 Galaxy API:UnitMagazineAssign
- 全新玩家狀態 API:AlwaysShowUnitTooltip
- 當這個狀態開啟時,該玩家的單位會永遠顯示高亮的提示,即便這些單位沒有被標記為 Highlight Tooltipable 也一樣。
- 全新玩家狀態 API:GivesBounty
- 所有玩家的預設皆為開啟。在開啟時,玩家單位在被敵方玩家殺死時,會給予敵方玩家 Kill Resources。
- 全新角色 API:ActorScopeMoveTo
- 將角色範圍移動至指定角色的方位。
- 全新觸發器事件:Player Spent Vital Event
- 在玩家花費活力值時加以擷取。
- 可理解在觸發器事件回應中所花費活力值的種類和數量。
- 技能階段
- 其他資料編輯器變更
- 現在,當使用者選擇一筆預設資料時,資料編輯器可以找到正確的 XML 行。
- 現在 Requirement Links(const CTechRequirementsGraph*)會以 XML 符記替換為準。
- 現在大多數技能都可以藉此使用符記來將各自的 Requirement Link 指向與技能本身相同的 ID。
- 現在 CBehaviorLinkArraynow 會以 XML 符記替換為準。
- 現在角色訊息中的 Animation Props(CAnimProps)會以 XML 符記替換為準。
- 嘗試清除角色身上所不存在的 TintColor 不作用個體時,將不會再投放錯誤訊息。
- 現在 CActorQuad 擁有相關旗標,可以按照它的發射位置和擊中位置自動伸展。
- 全新目標排序類型:CTargetSortValidator
- 按照目標是否滿足指定的驗證條件來為目標進行排序。
- 全新指令旗標:Attack Once
- 現在,在下達攻擊指令時,可以使用指令旗標下達「同時攻擊」指令。
- Order Set Flags 觸發器動作可用來設定這個旗標。
- 現在 CEffectOffset 欄位可透過 Add、Subtract、Multiply 和 Divide 運算來加以升級,運算方式類似 3D 向量。原本只有 Set 這個選項可以使用。
- 全新動能:CKineticDistance
- 會從起始位置開始,朝著動能參數的原始位置的方向,將目標單位投射至指定距離。
- 全新 CWeapon 欄位:DisplayName
- 用來覆寫提示裡面的武器名稱。
- 全新 CEffectModifyUnit 旗標:StartingVitals
- 將單位的生命值、能量和護盾設定為起始活力值。
- 全新 CEffectModifyUnit 旗標:SetVitals
- 直接設定單位的活力值。
- CActorActon 的治療效果
- 現在 CEffectHeal 可以針對 CActorActon 提供 ActionParticipantsMessage 和 ActionCommenceMessage 訊息。治療效果可藉此配置角色動作。
- 修正 CEffectHeal 無法在正確的時間點發動自身的 Stop 效果動作子名稱的錯誤。
- 全新 CValidatorUnitOrderCValidatorUnitOrder 旗標:CheckStateOnly
- 在打勾時,這個驗證符只會評估單位的技能指令是否為關閉狀態,不論該指令是否會因為「法力值不足」等原因而被執行都一樣。
- 全新 CEffectModifyUnit 旗標:ResourceDrop
- 在打勾時,擊中單位會立刻掉落當下所攜帶的資源,不需要跑到主堡的所在位置。所屬玩家會獲得該資源。
- 全新 CEffectEnumArea 旗標:UnCreep
- 在開啟時,搜尋效果會將中立生物排除在搜尋範圍之外。
- 單位隨機種子 API:
- 可設定、取得或重置單位的隨機種子的全新觸發器 API。
- 單位的這個隨機種子會決定單位的隨機名稱和改版等。
- 當你想要建立一模一樣的單位時,這個功能會很有用。
- 修正 CEffectSwitch 偶爾會回傳不正確的錯誤訊息的錯誤。
- 訓練技能的全新旗標:複製生命值百分比
- 決定受訓單位是否會繼承訓練者單位的生命值百分比。
- 訓練技能的全新旗標:略過食物限制
- 允許技能略過食物限制。
- 全新放置建造技能旗標:智慧施放
- 決定技能可否透過右鍵點擊來智慧施放。
- 效果技能的全新旗標:外部獲取乘客
- 允許技能在運輸單位內獲取單位。
- 修正當有單位被心靈控制時,Unit Weapon Range 驗證符總是會失效的錯誤。
- 全新建立治療者效果旗標:Continue When Full
- 決定 Create Healer 效果是否會在治療到滿血之後繼續生效。
- 預設為關閉。
- 修正當 Rally Unit 欄位被設定好時,Create Unit 效果不會直接在集結點建立單位,而是會把單位移動到集結點的錯誤。
- 全新設定效果欄位:RecycleCount
- 允許子效果被重複執行,直到滿足循環計數為止。
- 效果技能的全新旗標:Cancel Reset Auto Cast
- 決定技能的自動施放狀態是否會在玩家手動取消技能導引時被重置。
- 全新熟練度等級驗證符欄位:Result Max Level
- 檢察單位是否已經達到最大英雄等級。
- 修正復活警示訊息不會正確地指向被復活單位也不會播放正確語音的錯誤。
- 全新設定效果旗標:Set Source
- 將其子效果的來源單位/來源點設定為當前目標單位/目標點的目標點/目標單位。
- 新增搜尋框至資料編輯器裡面的 Ability Command 清單對話。
- 自訂種族修正
- 現在遊戲大廳裡面的種族下拉式選單會正確地列出地圖中所設定的自訂種族,而不會總是顯示人類、蟲族和神族。
- 請注意:這個改動暫時不會影響到延伸模組,目前還無法透過延伸模組將自訂種族新增至種族下拉式選單中。
- 修正操作面板造型功能可能會導致擁有自訂種族的地圖當機的錯誤。
- 自訂隊伍名稱支援
- 現在《星海爭霸 II》編輯器支援自動隊伍名稱的功能。
- 按照遊戲模式的不同,自訂隊伍名稱也可以設定成不同的樣子。
- 請前往「地圖/模組」->「遊戲改版」自訂隊伍名稱。
- 消耗 "d time/" 文字標記
- 新增五個全新的 Time Types 至 “time” 文字標記,以利顯示不同的遊戲時間。
- 在傳遞這些類型名稱而不是直接數字時,文字標記會顯示出相應的遊戲內時間。
- 舉例如下:
- 輸入文字
- 固定時間:"d time="9125"/>
- 遊戲時間:"d time="GameTime"/>
- 任務時間:"d time="MissionTime"/>
- 電腦玩家時間:"d time="AITime"/>
- 日期時間:"d time="DateTime"/>
- 晝夜時間:"d time="TimeOfDay"/>
- 顯示文字
- 固定時間:9125 秒
- 遊戲時間:11:50
- 任務時間:11:50
- 電腦玩家時間:11:50
- 日期時間2020:06:12:12:12:23
- 晝夜時間:22:06:34
- 輸入文字
- 其他使用者介面框架性質變更
- 全新 CHeroFrame 性質:HeroTag、Skill Point
- 揭露英雄的單位標記和尚未花費的技能點數。
- 模組創作者可以使用這些性質來任意調整自己的英雄框架。
- 全新 CHeroFrame 性質:HeroTag、Skill Point
- 客製化編輯器提示
- 資料編輯器欄位新增了額外的提示,讓模組創作者更了解某些欄位的功能。
- 我們也開放了權限,讓社群可以自訂這些提示。從更新檔 5.0 開始,模組創作者可以在《星海爭霸 II》的安裝資料夾裡新建一個「編輯器」資料夾。只要使用者把以下的文字檔案移動至這個資料夾,他們就可以加入資料編輯器欄位的提示文件,也可以覆寫資料編輯器客戶端程式的本地字串。
- EditorStrings.txt
- EditorCatalogStrings.txt
- EditorCategoryStrings.txt
- 我們也開放了權限,讓社群可以自訂這些提示。從更新檔 5.0 開始,模組創作者可以在《星海爭霸 II》的安裝資料夾裡新建一個「編輯器」資料夾。只要使用者把以下的文字檔案移動至這個資料夾,他們就可以加入資料編輯器欄位的提示文件,也可以覆寫資料編輯器客戶端程式的本地字串。
- 我們鼓勵社群成員們把自己版本的編輯器提示跟彼此分享。
- 資料編輯器欄位新增了額外的提示,讓模組創作者更了解某些欄位的功能。
- 其他變更
- 地形編輯器的最大 foliageCount 提高至每格 10 個。
- 修正在復活以變形姿態死去的單位時,會出現紅色文字錯誤訊息的錯誤。
- GameUI 資料的全新欄位:Suppress Skins In Replay
- WCS Game Heart 可藉此抑制戰鬥錄影裡面的造型。
錯誤修正
- 一般
- 修正新增或移除擁有大量單位之編隊的單位時,遊戲效能會變得不穩定的錯誤。
- 修正《虛空之遺:滅絕之呢喃》劇情戰役任務的第一波攻擊可能會卡住的錯誤。
- 現在,「人類重製」操作面板造型的指揮中心頭像會正確地置中了。
- 修正一部分的水底裝飾會偶爾閃現到水面上方的錯誤。
- 合作任務
- 凱拉克
- 現在當遊戲內有凱拉克時,新建好的星核會對自己施放超時空加速。
- 相位模式強化者的小隊優先性提高,以符合一般強化者的小隊優先性。
- 蒙斯克
- 修正擁有雙重復甦器升級的帝國禱告者的治療速度比預期快的錯誤。
- 斯特曼
- 修正機甲毒爆蟲的伊崗超能量強化炸藥的傷害無法超過 50 點的錯誤。
- 現在機甲雷獸會正確地使用順劈攻擊。
- 泰科斯
- 修正取消佇列中的惡徒會導致玩家失去惡徒欄位的錯誤。
- 凱拉克
- 對戰
- 修正超時空加速效果作用在空間之門轉換過程時的錯誤。
- 現在,當自動施放開啟時,護盾充能器會正確地聽從非防禦性建築的指令。
- 擁有充能器超載增益效果的護盾充能器不會再替運輸部隊裡面的單位進行護盾充能。
- 銀河編輯器
- 修正 CAbilIcon 框架會忽略指令索引性質的錯誤。
- 修正傳統地圖轉換器會導致遊戲當機的錯誤。
- 修正某個比率乘數陣列修改器無法正確作用在變形技能上的錯誤。
- 修正驗證符「CValidatorUnitTestWeaponType」在要進行驗證的單位不存在時可能會造成當機的錯誤。
- 公開測試伺服器更新檔 5.0 的銀河編輯器的額外錯誤修正
- 修正在某些圓球資料沒有正確設定好的情況下,新的圓球系統可能會造成當機的錯誤。「CAbilAttackModifier」現在會回應自身的限制條件和自動施法設定了。
- 修正熟練度行為可能會有一個空白的熟練度等級陣列欄位的錯誤。現在熟練度行為可以利用等級欄位和「MinVeterancyXPXXXX」欄位來設定英雄的升級資料了。