條件要求(法術)
條件法術(編程法術)為法杖中部分法術是否應該被加入到手牌設置了條件,這取決於條件法術的類型。它們的主要使用目的是在法杖中控制某一法術是否應該釋放出來,儘管這樣會佔用魔杖中大量的空間。
在這些條件法術中,「要求 - 否則」和「要求 - 終點」起到輔助其他條件法術,控制它們的作用域的效果。而其他的條件法術則直接對條件做出要求。
使用技巧
- 完整的一套條件法術形成的是典型的「if-else」語句塊結構,事實上,將條件法術圖標中中出現的符號翻譯為英文會分別得到「if」、「else」和「end」。
- 條件每隔使用的是全局變量,即無論是什麼情況下施放一次都會反轉一次效果。
- 該系列法術配合魔杖刷新可以重複利用魔杖的其中一部分,這在進階配杖中十分常見。
解鎖方式
點擊以顯示/隱藏內容
行為
基礎
如果你有任何編程經驗,簡要地說,這些就像if/else語句一樣
條件邏輯最基本的就是根據世界的狀態來決定做一件事或另一件事。如果你想靈活地自動改變一個過程的結果(魔杖施放),而不是必須決定運行一個或另一個過程(在魔杖之間交換),這就很有用。
這些法術讓你根據一些基本的陳述來施放一個或另一個法術。如果語句為真,你就得到一套法術,如果為假,你就得到另一套。在編程中,這通常表示為 "if...else (如果...否則)" 的語句(條件需求法術上的字形確實轉化為 "if"、"else "和 "end"),但術語並不重要--它們要麼做一件事,要麼根據它們被施放時的遊戲狀態做另一件事。
它們可以被歸為三種類型:
- 如果: 敵人、投射物數量、生命值低下、每隔
- 否則: 否則
- 終點: 終點
這些東西的使用順序很重要--你可以有一個單獨的 "如果"(在這種情況下,它只跳過或施放緊隨其後的一個法術),一個 "如果 "後面有一個 "終點"(它跳過或施放兩者中間的所有法術),或者一個 "如果"、"否則 "和 "終點",它施放第一或第二組封閉的法術,而跳過另一組。
跳過法術的條件如下。
生命值
- 如果剩餘的生命值超過25%,則跳過
這可能是最直接有用的要求。用它來觸發一個治療法術(例如活力之環),使其只在失去大量生命值時自動施放。另一個用途是與緩慢但堅定結合使用,作為危險的、持續施放的魔杖的 "殺戮開關"--如果你的生命值突然下降,條件就會啟動並增加1.5s的延遲。
投射物
- 如果附近的投射物少於20個就跳過
可以用來觸發使用炸藥引爆器, 酸液置換術,黑洞置換術, 保護之環等作為保護,或者在法術變力量魔杖構建中,在產生投射物和消耗投射物之間切換。
敵人
- 如果附近的敵人少於15個就跳過
非常有場景性,例如自動觸發有範圍限制的法術,或者在緊張的情況下自動觸發昂貴的/有限使用的法術。這也可以用於只在附近有大量敵人時啟用精華變力量修正,以保證法力消耗不會過多。
每隔
- 跳過這個要求的第二次施放
"每隔 "有些特殊,因為它的條件取決於它之前被施放了多少次。 由於它可以在一根魔杖內被施放一次以上,因此可以實現一些更高級的行為。
高級
奇特的效果可能由於以下原因而發生
- 條件要求法術抽出下一張牌,這會觸發魔杖的迴繞。
- 多個 "如果 "和 "否則 "法術相互干擾,與編程的預期不一致。
細節: "如果 "法術將掃描魔杖的其餘部分,直到到達另一個 "如果"、"終點 "或魔杖的末端(以先到者為準),同時追蹤沿途最後遇到的 "否則"。
- 如果停止點是另一個 "如果",並且沒有 "否則",那麼"如果 "將丟棄(a)它之後的第一個法術,或者(b)什麼都沒有,然後抽1。
- 如果停止點是另一個 "如果",並且有 "否則",那麼 "如果 "將丟棄(a)它之後的第一個法術直到 "否則",或者(b)"否則 "直到魔杖的末端,然後抽1。
- 如果停止點是一個 "終點",並且有零個或一個 "否則",那麼它將按預期工作,儘管如果 "終點 "是魔杖上的最後一個法術,它可能會迴繞並導致非預期的效果。
- 如果停止點是一個 "終點",並且遇到了多個 "否則",那麼它將根據最後遇到的 "否則 "法術按預期工作。
- 如果停止點是魔杖的末端,並且沒有 "否則",那麼 "如果 "將丟棄(a)它之後的第一個法術,或者(b)什麼都沒有,然後抽1。
- 如果停止點是魔杖的末端,並且有 "否則",那麼它要麼(a)丟棄直到最後一個 "否則 "法術,要麼(b)只丟棄最後一個 "否則 "法術(不棄掉它之後的任何法術),然後抽1。
例子:
這裏,"要求--生命值低下 "會:
- 如果玩家的生命值很低,則丟棄 "否則 "和它之後的所有法術,甚至是 "終點 "之後的第二個巨型核彈,然後抽取第一個火花彈。 請注意,如果巨型分裂彈和火花彈不在魔杖上,"否則 "和第一個死亡十字將被施放。
- 否則,丟棄火花彈和 "否則",抽取第一個死亡十字。"要求--敵人 "將正常運作。
例子:
這裏,"要求--生命值低下 "會:
- 如果玩家的生命值很低,則不丟棄任何法術,並抽取第一個火花彈。
- 如果玩家的生命值不低,則只丟棄第一個火花彈並抽取第二個。
"要求 - 敵人 "將正常運作。
舉例說明用法
每隔: 使兩個不同的有效載荷(交替地)重複利用修正/觸發
這個概念最初是由Priskip設計的。它能使敵人持續生成,包括可能掉落生命值上限的蠕蟲。 (注意:從2021年4月起,不再可能產生怪腿寶箱怪。 從2023年3月起,如果通過殺死一個長腿寶箱怪來解鎖,使其變為可能)。
Priskip和LetsSufferTogether在以下視頻中解釋了更多細節(關於這個魔杖概念的早期版本):
每隔: 將速射魔杖的法力消耗減半
在這個例子中,"每隔 "被用來減少法力的消耗,因為它在一半時間內不施放昂貴的法術。 這在快速發射的魔杖上效果最好,因為它也使你的有效射速減半。
儲存--使用兩個相互矛盾的要求來始終跳過法術
這也適用於 "要求:投射物數量 "和 "要求: 敵人"(但它們必須是相同的)。由於要求條件不能同時為真和假,裏面的法術將永遠不會被施放。 然而,實現上的某些特殊性意味着在第一個 "如果 "之前,或者在第一個 "如果 "和 "否則 "之間,必須有可用的法術來在迴繞中施放,否則不需要的法術就會被施放。 (將法術放在 "終點 "之後並不奏效;如果條件法術得到滿足,"終點 "之後的法術仍然會被丟棄,而魔杖將迴繞並施放你想要存儲的法術)。 這確實比使用魔杖刷新進行存儲需要更多的魔杖槽,但也不需要花費法力,在你獲得多份魔杖刷新之前,這可能是一個有用的選擇。
儲存––資源友好型, 更少施法更易於使用的設計
根據 "每隔 "開關的當前狀態:
- 狀態 A: 第一個 "每隔 "將丟棄掉第二個,然後儲存的法術會施放,下一個循環是狀態 B。
- 狀態 B: 第一個 "每隔 "將不會丟棄任何法術,然後第二個 "每隔 "丟棄存儲的法術,並且它的抽取會導致魔杖迴繞到泡泡火花,下一個循環還是狀態 B。
因此,在將 "每隔 "開關設置為正確狀態後,這跟魔杖會持續執行存儲操作 (狀態 B),除非 "每隔 "是在另一根魔杖中施放過的,這需要將開關重置為正確狀態。要初始化或重置開關到正確的狀態,先在存儲區中使用安全的法術並施放此魔杖。然而,與其他基於條件需求法術的儲存設計一樣,任何額外的抽取數都可能會從存儲區內開始施放法術。
(此設計中泡泡火花也可以移動到末尾。)
|