跳至內容
RA2DIY-WIKI 当前处于维护模式:页面上的内容随时可能发生更改且不会事先告知。

2.單位屬性rules詞典/Locomotor

出自RA2DIY

運動模式 與單位類型無對應關係 只是通常用法

別名 CLSID 對應的 SpeedType 默認值1
Levitate {3DC0B295-6546-11D3-80B0-00902792494C} Hover(?)
漂浮運動模式,僅用於 火線風暴


具有多個硬編碼特性:

  • 除非收到特定的移動或攻擊指令否則單位只會定期向隨機方向移動,類似於器官獸。
  • 單位會像泰伯利亞水母 2 一樣移動,並不斷創建 [GasPuffSys] 粒子系統來創造一種不斷噴射向前推進的效果。
  • 該單位武器上的 ROFSpeedRange 都將被忽略。單位始終會嘗試靠近目標,然後每隔一定周期對目標造成武器 Damage 決定的殺傷。它在向主要目標移動的同時還會攻擊其路徑上鎖遇到的任何敵對目標。
Drive {4A582741-9839-11d1-B709-00A024DDAFD1} Crusher=yes 則 Track 否則為 Wheel。
駕駛運動模式,用於絕大多數地面載具。


如果由步兵使用且使用了一個極低的 Speed 那麼在第一次接近目標單元格時會直接停下並永遠完成不了移動動作也無法用新指令覆蓋這一動作。

Hover {4A582742-9839-11d1-B709-00A024DDAFD1} Hover
懸浮運動模式,例如原版氣墊船和玩具坦克。


相關參數於全局 [General]hover vehicle characteristics 部分定義。
紅色警戒 2 中該運動模式不應使用過快的速度(Speed≥31),否則運動軌道會非常飄逸,並且可能導致很難抵達目的地,同時也很難被來襲的 Arcing 類拋射體命中。
該運動模式會導致 IsTrain=yes 的載具無法碾碎懸浮車廂,並且無法正確轉向,除非先停車——那就很不像火車了。
由於遙控邏輯/EMP/泰伯利亞之日 中的離子風暴等會癱瘓並落到地面,如果為水面將會餵魚。
如果 SpeedType≠Hover 那麼雖然可以按 D 鍵正常釋放乘客但光標卻會一直顯示為 NoDeploy 樣式。

  • 除非你用 IsSimpleDeployer 等語句玩用硬編碼碾硬編碼,但對大多語句了解不深不會處理其他語句引入的特性就是另一個事故了。

Ares 引入了一個該運動模式的單位有時在 IsSimpleDeployer=yesDeployToLand=yes 的情況下部署會卡住並不斷播放移動音效的 Bug。

  • Phobos [Build#44|Version 0.4] 已修復。
Tunnel {4A582743-9839-11d1-B709-00A024DDAFD1} 同 Drive 規則3
潛地運動模式,泰伯利亞之日 中的惡魔之舌、《兵臨城下》中的 CN 採礦車。


相關參數於全局 [General]subterrainean vehicle characteristics 部分定義(實際上就一句TunnelSpeed= (int))。
當單位到目標單元格前最遠的 AllowBurrowing=no 地塊間隔超過 11 個單元格時會轉為鑽地,否則與 Locomotor=Drive 基本相同。

  • 下潛速度由全局 [General] -> TunnelSpeed= (int) * [TechnoType] -> Speed= (int) 指定。
  • 下潛動畫由全局 [AudioVisual] -> Dig= (Animation) 指定。
  • 穿地音效由全局 [AudioVisual] -> DigSound= (Sound entry) 指定。
    • 但由於 Westwood紅色警戒 2 開發過程中認為這玩意反正他們用不到了加上趕工於是索性給核彈發射警報也用的這個語句。
      • Ares 中你可以通過 [SuperWeaponType] -> SW.ActivationSound= (Sound entry) 單獨指定。
        • Ares 也拓展了鑽地動畫與音效的定義,並允許分離定義鑽入與鑽出時的音效。
  • 地上常規運動速度遵循 [TechnoType] -> Speed= (int) 設定。
  • 地下水平運動速度硬編碼為 19Phobos [Build#45|Version 0.4] 已允許自定義。
  • 地下水平運動高度硬編碼為 -256Phobos [Build#44|Version 0.4] 已允許自定義。
  • 潛地運動模式單位的影子繪製位置並不正確,Phobos [Build#44|Version 0.4] 已修復。
Walk {4A582744-9839-11d1-B709-00A024DDAFD1} 同 Drive 規則
徒步運動方式,用於絕大多數地面步兵


硬編碼僅在當前位置距離目標位置間的距離小於 17 leptons 時才視為抵達,因此 Speed≥14 的步兵可能會在移動時卡住。但在一些略微妙地能讓步兵每次都卡在判定界限的值仍然可用。

  • Phobos [Build#44|Version 0.4] 已解除該硬編碼限制。

[InfantryImage] -> Sequence= (String - Sequence) 中的參數決定水中的圖像。
處於空中的步兵始終使用 infshdw.shp 作為影子繪製在正下方。
降落傘由全局 [General] -> Parachute= (Animation) 指定。
如果是空降倉投放的,那麼在空中時會使用 pod.shp 附加在單位圖像上。

  • 使用該運動模式的步兵如果速度過低那麼在向 SW/NE 方向移動時會總是中途想要向正 S/N 方向走兩步再轉回去。
DropPod {4A582745-9839-11d1-B709-00A024DDAFD1} Hover(?)(根本不需要)
空降倉運動模式,空降倉專用。


相關參數在全局 [General]droppod flight characteristics 部分定義。
DropPod 實際上是一個「臨時」的運動模式,例如使用 Type=DropPod 的超級武器時被投放的單位在落地前會使用這個運動模式,但落地後清除它並換用自己原本的運動模式。

  • 因此在 尤里的復仇 中通過 [Warhead] -> IsLocomotor=yes 的彈頭為目標賦予 DropPod 運動模式是完全可行的。
    • 雖然 Phobos [Build?|Version?] 破壞了這一點導致使用必定導致 Fatal Error
  • 對應的,如果一個單位直接書寫 Locomotor=DropPod,那麼在地面上它會立即失去運動模式這一基本屬性,然後品嘗 Internal Error 的快樂。
Fly4 {4A582746-9839-11d1-B709-00A024DDAFD1} Winged
飛行運動模式,用於原版所有戰機


如果一個載具使用了這一運動模式:

  • 如果由一個 WeaponsFactory=yes 的戰車工廠建造,那麼會卡在門口。
  • 即便是 Voxel 載具其影子也會繪製在單位身上而不是正下方的地面上。
  • 無法正常使用部署功能,也無法作為礦車。
  • 當攻擊目標超出 [WeaponType] -> Range= (float) 設置的範圍且自身當前處於空中時不會靠近目標。

不過也有一些好處:

  • 不會總想着回機場,並且不需要用 SlowdownDistance=0 之類副作用巨大的語句。
  • 主動尋敵。
  • 原版下可以對空。
  • 由於戰機類的車體就是炮塔,所以如果添加了 TurretSpins=yes 那麼該載具的車體和炮塔一樣保持旋轉。

儘管這樣的單位運動過程始終在空中因此不受地面地形的影響,但程序硬編碼使用 SpeedType=TrackMovementZone=Normal 來尋路。

  • 這就是原版中無法乾爽地通過點擊水面來讓戰機移動到水上的原因。


僅在戰機類型使用該運動模式時可以執行吊運行為,因為吊運語句僅限戰機類型,所以原版雌鹿直升機不能使用。

  • Kratos 已擴展至載具類型。

最好不要用於步兵類型,極不穩定。
如果擁有 [AircraftType] -> Carryall=yes 則降落時播放名為 [CARYLAND] 的動畫。
如果擁有 [TechnoType] -> IsDropship=yes 則降落時播放名為 [DROPLAND] 的動畫。
在遇到 泰伯利亞之日 中的離子風暴且處於空中時會直接暴斃。
根據 [TechnoType] -> Fighter= (bool) 決定是轟炸還是在拋射體 ROT>1 的情況下根據 [General] -> CurleyShuffle= (bool) 決定定點/換點連射
如果單位擁有 [AircraftType] -> FlyBy=yes 則無視全局降落方向定義,飛回來的時候用什麼方向落下就什麼方向,例如《世界軸承》中遠東陣營的工頭直升機。
由於 [AircraftType] -> Landable= (bool) 默認為 no,因此你需要手動設為 yes 來讓戰機可以着陸。
如果 [TechnoType] -> IsDropship= (bool) 未設為 yes 那麼單位移動中會有一個硬編碼的上下浮動效果。
該運動模式硬編碼攀升速度僅與當前高度與 FlightLevel 之間的高度差有關且最大值為 20/幀。

Teleport {4A582747-9839-11d1-B709-00A024DDAFD1} 同 Drive 規則
超時空運動模式,也是默認運動模式。


由全局 [General] -> WarpOut= (Animation) 定義移動時的動畫,

  • 全局 [General] -> WarpIn= (Animation) 本用於定義超時空移動「來」的動畫,但最終廢棄,來去都用上句。

由全局 [General] -> ChronoSparkle1= (Animation) 定義移動後僵直的動畫。
超時空運動模式原本有一個藍色版本的移動光標,但最終沒有使用,廢棄在 mouse.sha 中,Ares 將其作為吊運光標。
如果載具擁有 Teleporter 那麼平時會使用 Drive 運動模式,僅在移動目標為其 Dock= (List of BuildingTypes 中的建築時才會使用該運動模式(例如原版 [CMIN]

  • 在超時空移動時會踢出寄生單位。
  • 從重工出產的載具會使用 Drive 移動到集結點,然後才開始超時空移動。
    • Naval=yes 的重工出產的載具會直接超時空到集結點。
Mech {55D141B8-DB94-11d1-AC98-006008055BB5} 同 Drive 規則
機甲運動模式,例如 泰伯利亞之日 中的 猛獁 MK.II。


硬編碼僅在當前位置距離目標位置間的距離小於 16 leptons 時才視為抵達,因此 Speed≥14 的機甲可能會在移動時卡住。但在一些略微妙地能讓步兵每次都卡在判定界限的值仍然可用。

  • Phobos [Build#44|Version 0.4] 已解除該硬編碼限制。

硬編碼經過固定的 [距離/Speed] 值後更改一次單位朝向,原用於 泰伯利亞之日 中 猛獁 MK.II 步行震動。(很多時候不如直接用 Drive 了)
忽略加速度,瞬間慢速或停止。
硬編碼不會傾斜(包括沉船)。
根據 IsPowered= (bool) 在斷電時癱瘓的效果於 紅色警戒 2 並不存在,請用 尤里的復仇 加入的 [TechnoType] -> PoweredUnit= (bool)

Ship {2BEA74E1-7CCA-11d3-BE14-00104B62A16C} Float
艦船運動模式,和 Drive 基本相同,用於 AI 識別。


但如果塞進坦克碉堡會得到一個快樂的 Internal Error

Jumpjet {92612C46-F71F-11d1-AC9F-006008055BB5} Hover
垂推運動方式,泰伯利亞之日 過場中指揮官麥克尼爾整天開着他那艘垂直起降的科迪亞克號奧卡指揮艦全球跑。


對於載具來說無需多言,原版 [ZEP][SHAD][DISK] 等都是典例。
對於戰機則會導致其墜落到地面後占格且始終顯示為剩餘一絲血卻永遠不死,也無法被攻擊。

  • 若只考慮被攻擊致死可以簡單地使用 [TechnoType] -> Crashable=no 來解決,Ares0.4 已經將此擴展至戰機類型。
    • 但除此以外還硬編碼彈藥情況時無視該句墜毀,只能通過 Ammo=-1 或確保最後一發之前暴斃來避免。

僅在 Jumpjet 或/和 BalloonHover 至少一句為 yes 的情況下生成後就立即嘗試升空而無需等待指令。

  • 這一特性也可以與Teleporter=yes結合使用來做出DriveLocomotor的單位生成後先移動一下的效果。
    • 例如使用 AresDeliver 超武搭配一個空降倉落地動畫來假擬軌道投送單位那麼可以用這個特性來做內部載具類單位着陸後立即開出空降區域的效果。

對於步兵類型,在判定某個格子能否移動上去時硬編碼視為 SpeedType=Hover 的情況來處理,也因此 Locomotor=Jumpjet 的步兵類型無法停留在建築和懸崖上。
原版部分Jumpjet單位的標籤中第二個J的大小寫可能是錯誤的導致它們實際上讀取的是全局默認值。

Rocket {B7B49766-E576-11d3-9BD9-00104B972FE8} Winged
導彈運動模式,例如原版 V3 火箭、無畏導彈、雷鳴導彈


載具當然也能用,移動的結果就是以頭搶地爆掉

  • Ares 破壞了這一行為,導致載具類只要使用該運動模式就會立即引發 Fatal Error

擁有 Teleporter=yes 且使用該運動模式的載具被摧毀會導致 Internal Error
原版僅限三種導彈子機運動模式數據,新增需要 Ares,如何新增應當仔細閱讀 Ares 說明書,避免出現人造 [General] -> EmislEliteWarhead= (WarheadType) 這種令人啼笑皆非的操作。

注釋

對於 Locomotor=Teleport|Tunnel|Fly 的單位其無法正常傾斜,該問題在 Phobos 引擎中已被修復。

註冊名為 [COW] 的單位無論運動模式始終會隨機移動,不限制類型。Ares0.1 已允許自由定義該效果。

註冊名為 [DESO] 的單位強制根據腳下輻射殘留量決定能否釋放武器。Ares……Ares 嘗試過自由定義。

腳註

1 步兵類型始終默認 SpeedType=Foot 無論 Locomotor= (CLSID) 為何。

2 該運動模式與 火線風暴 中的 Jellyfish 語句協同工作,單位的一些功能僅在該語句啟用時才能正常工作。此外 [LEVITATION] 中的運動和行為參數也同樣適用。

3 在一些古老教程中曾有過默認為 SpeedType=Underground 的誤導,這是 DeeZire《指南》中遺留下來的錯誤,可能是他扒程序的時候把附近 Layer 語句的可用值當成 SpeedType 的了。

4 戰機類型在黃血時每幀有 10%、紅血時每幀有 80% 的概率生成名為 SGRYSMK1 的動畫作為殘損煙霧效果與 Locomotor 無關。


參見