diff --git a/CREDITS.md b/CREDITS.md index 4120d2999a..bf1d3e94c9 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -159,7 +159,7 @@ This page lists all the individual contributions to the project by their author. - Event 606: AttachEffect is attaching to a Techno - Linked superweapons - Unit & infantry auto-conversion on ammo change - - ScriptType action `Play speech` + - Restore the ScriptType action#24 `Play speech` from Tiberian Sun - **Starkku**: - Misc. minor bugfixes & improvements - AI script actions: @@ -438,9 +438,9 @@ This page lists all the individual contributions to the project by their author. - SHP turret vehicles support the use of `*tur.shp` files - Fix a bug where game will crash after loading if a techno with `AlphaImage` converts to a type without it, or an anim with `AlphaImage` changes to a type without it through `Next` - `EVA.Tag` already supports being set for specific countries, and `EVAIndex` is no longer reset after load game - - DeployFire supports buildings - - `OmniFire` supports buildings with `Turret=yes` - - Fixed an issue where setting a production building as `Primary` could cause it to enter an unload state + - `DeployFire` supports buildings + - Fix an issue where `OmniFire` was ineffective on buildings with `Turret=yes` + - Fix an issue where setting a production building as `Primary` could cause it to enter an unload state - **NetsuNegi**: - Forbidding parallel AI queues by type - Jumpjet crash speed fix when crashing onto building diff --git a/docs/AI-Scripting-and-Mapping.md b/docs/AI-Scripting-and-Mapping.md index bfeb5b59b2..6bc9f9a28a 100644 --- a/docs/AI-Scripting-and-Mapping.md +++ b/docs/AI-Scripting-and-Mapping.md @@ -14,6 +14,7 @@ This page describes all AI scripting and mapping related additions and changes i - If a pre-placed building has a `NaturalParticleSystem`, it used to always be created when the game starts. This has been removed. - Superweapons used by AI for script actions `56 Chronoshift to Building`, `57 Chronoshift to a Target Type` and `10104 Chronoshift to Enemy Base` can now be explicitly set via `[General] -> AIChronoSphereSW` & `AIChronoWarpSW` respectively. If `AIChronoSphereSW` is set but `AIChronoWarpSW` is not, game will check former's `SW.PostDependent` for a second superweapon to use. Otherwise if not set, last superweapon listed in `[SuperWeaponTypes]` with `Type=ChronoSphere` or `Type=ChronoWarp` will be used, respectively. - Fixed AI team recruitment inconsistency causing underfilled teams. +- Restored the ScriptType action#24 `Play speech` from Tiberian Sun. ### Dynamic Team Delays @@ -161,19 +162,6 @@ ShowBriefing=true ; boolean ## Script Actions -### Below `10000` - -#### `24` Play speech - -- Restored functionality. -- Given a speech index, the game will play it. Just like action 24 from Tiberian Sun. - -In `aimd.ini`: -```ini -[SOMESCRIPTTYPE] ; ScriptType -x=24,n -``` - ### `10000-10999` Ingame Actions #### `10000-10049` Attack Actions diff --git a/docs/Fixed-or-Improved-Logics.md b/docs/Fixed-or-Improved-Logics.md index 13822e1253..e16c7f64e7 100644 --- a/docs/Fixed-or-Improved-Logics.md +++ b/docs/Fixed-or-Improved-Logics.md @@ -324,6 +324,7 @@ This page describes all ingame logics that are fixed or improved in Phobos witho - Fixed incorrect shadow rendering positions for non-Aircraft units with `Locomotor=Fly`, and for Aircraft units being dragged by warheads with `IsLocomotor=yes`. - Fixed the issue that spawnee or slave would execute some player commands. - Fixed the bug that technos do not reset their link with the linked building when deactivated. +- Fixed an issue where `OmniFire` was ineffective on buildings with `Turret=yes`. - Fixed an issue where setting a production building as `Primary` could cause it to enter an unload state. ## Fixes / interactions with other extensions @@ -379,7 +380,7 @@ This page describes all ingame logics that are fixed or improved in Phobos witho - Allowed adding custom cruise missiles, so that Ares' `Missile.RaiseRate` is no longer meaningless. - Fixed the issue of Ares' EMP not suspending the production of AI factories. - Removed the restriction that prohibits InfantryTypes from using the InitialPayload logic. -- `ProjectileRange` now has weapon range modifiers applied to it if greater than 0 and unless `ProjectileRange.ApplyModifiers` is set to false on the WeaponType +- `ProjectileRange` now has weapon range modifiers applied to it if greater than 0 and unless `ProjectileRange.ApplyModifiers` is set to false on the WeaponType. ## Newly added global settings @@ -424,6 +425,20 @@ In `rulesmd.ini`: AutoRemoveEarliestBeacon=no ; boolean ``` +### Berzerk on allies + +- In vanilla, `Psychedelic` warheads is hardcoded to ignore allies' target. Now you can turn this off. + +In `rulesmd.ini`: +```ini +[CombatDamage] +AllowBerzerkOnAllies=false ; boolean +``` + +```{note} +No per-warhead setting because `AffectsAllies` etc. is respected. +``` + ### Chrono sparkle animation customization & improvements - It is now possible to customize the frame delay between instances of `[General] -> ChronoSparkle1` animations created on objects being warped by setting `[General] -> ChronoSparkleDisplayDelay`. @@ -1305,6 +1320,16 @@ Overpower.ChargeWeapon=1 ; integer, negative values mean that weapons can never Ares' [Battery Super Weapon](https://ares-developers.github.io/Ares-docs/new/superweapons/types/battery.html) won't be affected by this. ``` +### Customize reveal radius of `RevealToAll` + +- In vanilla, `RevealToAll` is hardcoded to reveal area in radius is `Sight`. Now you can customize it. + +In `rulesmd.ini`: +```ini +[SOMEBUILDING] ; BuildingType +RevealToAll.Radius= ; integer, defaults to [BuildingType] -> Sight +``` + ### Customize the initial facing of buildings - In vanilla, buildings always face due north (0). Now you can customize it. @@ -1324,6 +1349,18 @@ StartFacing.Random= ; boolean, defaults to [General] -> BuildingSt Unlike the identically named INI flag in Tiberian Sun, this flag uses a 256-point circle rather than an 8-point circle. ``` +### DeployFire supports buildings + +- Building types now also support using `DeployFire` and `DeployFireWeapon`. + - If a building has other configurations such as `Factory`, `GapGenerator`, or `Passengers`, it will prioritize executing those deployment actions instead. + - `DeployFireDelay` specifies the frame interval at which deployed weapons attempt to fire. If the weapon is unavailable due to `ROF`, `CanTarget`, or other reasons, the deployed weapon will not fire. + +In `rulesmd.ini`: +```ini +[SOMEBUILDING] ; BuildingType, with DeployFire=yes +DeployFireDelay= ; integer, default value ranges from 14 to 16 +``` + ### Disable `DamageSound` - Now you can disable `DamageSound` of a building. @@ -2288,8 +2325,8 @@ RadarInvisibleToHouse= ; Affected House Enumeration (none|owner/se - It is now possible to control the height at which units with subterranean (Tunnel) `Locomotor` travel, globally or per TechnoType. - Subterranean movement speed is now also customizable, both globally and per TechnoType. If per-TechnoType value is negative, global value is used. - - This does not affect the speed at which the unit moves vertically when burrowing which is determined by `Speed` multiplied by `[General] -> TunnelSpeed`. - This speed value uses the same algorithm as `Speed`. The global default value `7.5` in the INI block is an approximation of the converted value of the vanilla internal value `19` (`7.5 ≈ 19 * 100 / 256`). + - This does not affect the speed at which the unit moves vertically when burrowing which is determined by `Speed` multiplied by `[General] -> TunnelSpeed`. In `rulesmd.ini`: ```ini @@ -2579,7 +2616,7 @@ TypeSelectUseIFVMode=true ; boolean ### Customizing crushing tilt and slowdown -- Vehicles with `Crusher=true` and `OmniCrusher=true` / `MovementZone=CrusherAll` were hardcoded to tilt when crushing vehicles / walls respectively. This now obeys `TiltsWhenCrushes` but can be customized individually for these two scenarios using `TiltsWhenCrusher.Vehicles` and `TiltsWhenCrusher.Overlays`, which both default to `TiltsWhenCrushes`. +- Vehicles with `Crusher=true` and `OmniCrusher=true` / `MovementZone=CrusherAll` were hardcoded to tilt when crushing vehicles / walls respectively. This now obeys `TiltsWhenCrushes` but can be customized individually for these two scenarios using `TiltsWhenCrushes.Vehicles` and `TiltsWhenCrushes.Overlays`, which both default to `TiltsWhenCrushes`. - `CrushForwardTiltPerFrame` determines how much the forward tilt is adjusted per frame when crushing overlays or vehicles. Defaults to -0.02 for vehicles using Ship locomotor crushing overlays, -0.050000001 for all other cases. - `CrushOverlayExtraForwardTilt` is additional forward tilt applied after an overlay has been crushed by the vehicle. - It is possible to customize the movement speed slowdown when `MovementZone=CrusherAll` vehicle crushes walls by setting `CrushSlowdownMultiplier`. @@ -2849,20 +2886,6 @@ AllowDamageOnSelf=false ; boolean AllowDamageOnSelf= ; boolean, default to [General] -> AllowDamageOnSelf ``` -### Berzerk on allies - -- In vanilla, `Psychedelic` warheads is hardcoded to ignore allies' target. Now you can turn this off. - -In `rulesmd.ini`: -```ini -[CombatDamage] -AllowBerzerkOnAllies=false ; boolean -``` - -```{note} -No per-warhead setting because `AffectsAllies` etc. is respected. -``` - ### Berzerk (`Psychedelic`) duration stacking customization - By default `Psychedelic` warheads override the current duration of the berzerk effect regardless of if the new duration is higher or lower than the current one. This can now be customized with `Psychedelic.StackingMode`, with both global setting under `[CombatDamage]` and per-Warhead customization. diff --git a/docs/New-or-Enhanced-Logics.md b/docs/New-or-Enhanced-Logics.md index a18296bab9..58091c69e5 100644 --- a/docs/New-or-Enhanced-Logics.md +++ b/docs/New-or-Enhanced-Logics.md @@ -675,28 +675,6 @@ Adjacent.Disallowed.ProhibitDistance=0 ; integer, cell offset NoBuildAreaOnBuildup=false ; boolean ``` -### Customize reveal radius of `RevealToAll` - -- In vanilla, `RevealToAll` is hardcoded to reveal area in radius is `Sight`. Now you can customize it. - -In `rulesmd.ini`: -```ini -[SOMEBUILDING] ; BuildingType -RevealToAll.Radius= ; integer, defaults to [BuildingType] -> Sight -``` - -### DeployFire supports - -- Building types now also support using `DeployFire` and `DeployFireWeapon`. - - If a building has other configurations such as `Factory`, `GapGenerator`, or `Passengers`, it will prioritize executing those deployment actions instead. - - `DeployFireDelay` specifies the frame interval at which deployed weapons attempt to fire. If the weapon is unavailable due to `ROF`, `CanTarget`, or other reasons, the deployed weapon will not fire. - -In `rulesmd.ini`: -```ini -[SOMEBUILDING] ; BuildingType, with DeployFire=yes -DeployFireDelay= ; integer, default value ranges from 14 to 16 -``` - ### Destroyable pathfinding obstacles - It is possible to make buildings be considered pathfinding obstacles that can be destroyed by setting `IsDestroyableBlockage` to true. What this does is make the building be considered impassable and impenetrable pathfinding obstacle to every unit that is not flying or have appropriate `MovementZone` (ones that allow destroyable obstacles to be overcome, e.g `(Infantry|Amphibious)Destroyer`) akin to wall overlays and TerrainTypes. diff --git a/docs/Whats-New.md b/docs/Whats-New.md index 929fbfad66..48cae73404 100644 --- a/docs/Whats-New.md +++ b/docs/Whats-New.md @@ -21,7 +21,7 @@ You can use the migration utility (can be found on [Phobos supplementaries repo] - Translucent RLE SHPs will now be drawn using a more precise and performant algorithm that has no green tint and banding. Can be disabled with `rulesmd.ini -> [General] -> FixTransparencyBlitters=no`. - Iron Curtain status is now preserved by default when converting between TechnoTypes via `DeploysInto` / `UndeploysInto`. This behavior can be turned off per-TechnoType and global basis using `[TechnoType]/[CombatDamage] -> IronCurtain.KeptOnDeploy=no`. - The obsolete `[General] -> WarpIn` has been enabled for the default anim type when technos are warping in. If you want to restore the vanilla behavior, use the same anim type as `[General] -> WarpOut`. -- Vehicles with `Crusher=true` + `OmniCrusher=true` / `MovementZone=CrusherAll` were hardcoded to tilt when crushing vehicles / walls respectively. This now obeys `TiltsWhenCrushes` but can be customized individually for these two scenarios using `TiltsWhenCrusher.Vehicles` and `TiltsWhenCrusher.Overlays`, which both default to `TiltsWhenCrushes`. +- Vehicles with `Crusher=true` + `OmniCrusher=true` / `MovementZone=CrusherAll` were hardcoded to tilt when crushing vehicles / walls respectively. This now obeys `TiltsWhenCrushes` but can be customized individually for these two scenarios using `TiltsWhenCrushes.Vehicles` and `TiltsWhenCrushes.Overlays`, which both default to `TiltsWhenCrushes`. - The default direction for aircraft landing on an airfield will use the direction specified by `[AudioVisual] -> PoseDir=` instead of the building's direction, which can be reverted by setting `AircraftDockingDir.DefaultToPoseDir=false`. ## Breaking changes @@ -645,18 +645,17 @@ HideShakeEffects=false ; boolean - [Change target Owner on warhead impact](New-or-Enhanced-Logics.md#change-target-owner-on-impact) (by Fryone) - [New hotkey to select the units within the current screen that are captured by non-permanent mind-controller](User-Interface.md#select-captured-units) (by TaranDahl) - Separately define the global default values of TerrainTypes' `IsPassable` and `CanBeBuiltOn` based on `SpawnsTiberium` (by Noble_Fish) -- [Customize reveal radius of `RevealToAll`](New-or-Enhanced-Logics.md#customize-reveal-radius-of-revealtoall) (by NetsuNegi) +- [Customize reveal radius of `RevealToAll`](Fixed-or-Improved-Logics.md#customize-reveal-radius-of-revealtoall) (by NetsuNegi) - [Set sidebar tab by selecting factory](User-Interface.md#set-sidebar-tab-by-selecting-factory) (by Fryone) - [Customize whether aircraft is a cargo plane](Fixed-or-Improved-Logics.md#customize-whether-aircraft-is-a-cargo-plane) (by TaranDahl) - Keep Syringe open until the game exits (by 11EJDE11, ported from Vinifera, original by ZivDero & secsome) - [Drop crates on death](New-or-Enhanced-Logics.md#drop-crates-on-death) (by FS-21) - [`600` Configure Drop Crate](AI-Scripting-and-Mapping.md#configure-drop-crate) (by FS-21) -- [DeployFire supports buildings](New-or-Enhanced-Logics.md#deployfire-supports) (By FlyStar) -- `OmniFire` supports buildings with `Turret=yes` (by FlyStar) +- [`DeployFire` supports buildings](Fixed-or-Improved-Logics.md#deployfire-supports-buildings) (By FlyStar) - [Automatic conversion based on health](New-or-Enhanced-Logics.md#automatic-conversion-based-on-health) (by obsidianus) - Add `ammo`, `health`, `mission`, `landtype` and `sequence` conditions to `DiscardOn` (by Noble_Fish) - [Berzerk / `Psychedelic` duration stacking customization](Fixed-or-Improved-Logics.md#berzerk-psychedelic-duration-stacking-customization) (by Starkku) -- ScriptType action `Play speech` (by FS-21) +- Restored the ScriptType action#24 `Play speech` from Tiberian Sun (by FS-21) #### Vanilla fixes: - Fixed sidebar not updating queued unit numbers when adding or removing units when the production is on hold (by CrimRecya) @@ -745,6 +744,7 @@ HideShakeEffects=false ; boolean - Fixed incorrect shadow rendering positions for non-Aircraft units with `Locomotor=Fly`, and for Aircraft units being dragged by warheads with `IsLocomotor=yes` (by NetsuNegi) - Fixed the issue that spawnee or slave would execute some player commands (by TaranDahl) - Fixed the bug that technos do not reset their link with the linked building when deactivated (by NetsuNegi) +- Fixed an issue where `OmniFire` was ineffective on buildings with `Turret=yes` (by FlyStar) - Fixed an issue where setting a production building as `Primary` could cause it to enter an unload state (by FlyStar) #### Phobos fixes: diff --git a/docs/locale/zh_CN/LC_MESSAGES/AI-Scripting-and-Mapping.po b/docs/locale/zh_CN/LC_MESSAGES/AI-Scripting-and-Mapping.po index e3e66e95f1..fce3e06749 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/AI-Scripting-and-Mapping.po +++ b/docs/locale/zh_CN/LC_MESSAGES/AI-Scripting-and-Mapping.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Phobos \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-01 18:48+0800\n" +"POT-Creation-Date: 2026-08-06 23:03+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -98,6 +98,10 @@ msgstr "" msgid "Fixed AI team recruitment inconsistency causing underfilled teams." msgstr "修复了 AI 小队招募数量与生产计划不一致导致不足以建立小队的问题。" +msgid "Restored the ScriptType action#24 `Play speech` from Tiberian Sun." +msgstr "" +"复原了《泰伯利亚之日》中的动作脚本 `24 - 播放语音`。" + msgid "Dynamic Team Delays" msgstr "动态 `TeamDelays`" @@ -1409,32 +1413,25 @@ msgid "Invalid for non-vehicle objects." msgstr "非载具类对象无效。" msgid "`600` Configure Drop Crate" -msgstr "" -"`600` 配置掉落箱子行为" +msgstr "`600` 配置掉落箱子行为" msgid "Set or overwrite the `DropCrate` of the affected objects." -msgstr "" -"设置或覆盖受影响对象的 `DropCrate`。" +msgstr "设置或覆盖受影响对象的 `DropCrate`。" msgid "Only functions when used as attached triggers within objects." -msgstr "" -"仅通过关联标签附加到对象上时生效。" +msgstr "仅通过关联标签附加到对象上时生效。" msgid "*Behaviour*" -msgstr "" -"*行为*" +msgstr "*行为*" msgid "Use default Techno settings" -msgstr "" -"使用单位的默认设置" +msgstr "使用单位的默认设置" msgid "Clear `DropCrate` type" -msgstr "" -"清除 `DropCrate` 类型" +msgstr "清除 `DropCrate` 类型" msgid "Overwrite `DropCrate` type" -msgstr "" -"覆盖 `DropCrate` 类型" +msgstr "覆盖 `DropCrate` 类型" msgid "`606` Edit Hate-Value" msgstr "`606` 编辑仇恨值" diff --git a/docs/locale/zh_CN/LC_MESSAGES/CREDITS.po b/docs/locale/zh_CN/LC_MESSAGES/CREDITS.po index 751fddc91b..9cc25daa8e 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/CREDITS.po +++ b/docs/locale/zh_CN/LC_MESSAGES/CREDITS.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Phobos \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-01 18:48+0800\n" +"POT-Creation-Date: 2026-08-06 23:03+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -459,12 +459,10 @@ msgid "`Pips.HideIfNoStrength` and `SelfHealing.EnabledBy` additions for shields msgstr "护盾新增功能 `Pips.HideIfNoStrength` 与 `SelfHealing.EnabledBy`" msgid "Map Action 600 for overwriting DropCrate behaviour in attached Technos" -msgstr "" -"用于覆盖附着单位 `DropCrate` 行为的触发结果 600" +msgstr "用于覆盖附着单位 `DropCrate` 行为的触发结果 600" msgid "`DropCrate` for setting what crate drop when Techno is destroyed" -msgstr "" -"用于设置单位被摧毁时掉落哪种箱子的 `DropCrate`" +msgstr "用于设置单位被摧毁时掉落哪种箱子的 `DropCrate`" msgid "Warhead activation target health thresholds enhancements" msgstr "目标血量作为弹头生效条件的进一步改进" @@ -478,6 +476,10 @@ msgstr "联动超武" msgid "Unit & infantry auto-conversion on ammo change" msgstr "基于弹药量的自动变形" +msgid "Restore the ScriptType action#24 `Play speech` from Tiberian Sun" +msgstr "" +"复原了《泰伯利亚之日》中的动作脚本 `24 - 播放语音`" + msgid "**Starkku**:" msgstr "**Starkku**:" @@ -907,6 +909,12 @@ msgstr "动画使用气候/地块色盘的开关" msgid "Tank Bunker improvements" msgstr "坦克碉堡改进" +msgid "`ProjectileRange` weapon range modifiers interaction fix" +msgstr "`ProjectileRange` 应用武器射程修正的交互修复" + +msgid "Berzerk duration stacking behaviour customization" +msgstr "狂暴/ `Psychedelic` 持续时间叠加的自定义" + msgid "**Morton (MortonPL)**:" msgstr "**Morton (MortonPL)**:" @@ -1346,6 +1354,19 @@ msgid "" "`EVAIndex` is no longer reset after load game" msgstr "`EVA.Tag` 已经支持在国家层面设置并且 `EVAIndex` 不再在读档后重置" +msgid "`DeployFire` supports buildings" +msgstr "`DeployFire` 支持建筑" + +msgid "" +"Fix an issue where `OmniFire` was ineffective on buildings with " +"`Turret=yes`" +msgstr "修复了 `OmniFire` 在 `Turret=yes` 的建筑上无效的问题" + +msgid "" +"Fix an issue where setting a production building as `Primary` could cause" +" it to enter an unload state" +msgstr "修复了设置一个生产建筑为 `主要` 时可能导致其进入卸载状态的问题" + msgid "**NetsuNegi**:" msgstr "**NetsuNegi**:" @@ -2482,6 +2503,11 @@ msgid "" "InitialPayload logic" msgstr "移除了禁止步兵使用初始载员逻辑的限制" +msgid "" +"Add `ammo`, `health`, `mission`, `landtype` and `sequence` conditions to " +"`DiscardOn`" +msgstr "为 `DiscardOn` 添加 `ammo`、`health`、`mission`、`landtype` 和 `sequence` 条件" + msgid "**Ollerus**:" msgstr "**Ollerus**:" @@ -3134,3 +3160,6 @@ msgid "" "position is clamped to the visible area" msgstr "为 `BannerType` 添加了 `ClampToScreen` 标签以控制横幅位置是否被限制在可视化区域内" +msgid "**obsidianus** - Automatic conversion based on health" +msgstr "**obsidianus** - 自动根据血量变形" + diff --git a/docs/locale/zh_CN/LC_MESSAGES/Fixed-or-Improved-Logics.po b/docs/locale/zh_CN/LC_MESSAGES/Fixed-or-Improved-Logics.po index e5afd3173b..649a18d688 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/Fixed-or-Improved-Logics.po +++ b/docs/locale/zh_CN/LC_MESSAGES/Fixed-or-Improved-Logics.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Phobos \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-31 10:01+0800\n" +"POT-Creation-Date: 2026-08-05 00:16+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1669,6 +1669,16 @@ msgid "" "building when deactivated." msgstr "修复了单位失灵时不会重置其与相链接建筑链接状态的 Bug。" +msgid "" +"Fixed an issue where `OmniFire` was ineffective on buildings with " +"`Turret=yes`." +msgstr "修复了 `OmniFire` 在 `Turret=yes` 的建筑上无效的问题。" + +msgid "" +"Fixed an issue where setting a production building as `Primary` could " +"cause it to enter an unload state." +msgstr "修复了设置一个生产建筑为 `主要` 时可能导致其进入卸载状态的问题。" + msgid "Fixes / interactions with other extensions" msgstr "修复或与其他扩展的交互" @@ -1922,8 +1932,15 @@ msgstr "修复了 Ares 的 EMP 不会使 AI 工厂暂停生产的问题。" msgid "" "Removed the restriction that prohibits InfantryTypes from using the " "InitialPayload logic." +msgstr "移除了禁止步兵使用初始载员逻辑的限制。" + +msgid "" +"`ProjectileRange` now has weapon range modifiers applied to it if greater" +" than 0 and unless `ProjectileRange.ApplyModifiers` is set to false on " +"the WeaponType." msgstr "" -"移除了禁止步兵使用初始载员逻辑的限制。" +"`ProjectileRange` 大于 0 时现在会应用武器射程修正,除非在武器上设置 " +"`ProjectileRange.ApplyModifiers` 为 false。" msgid "Newly added global settings" msgstr "新增的全局设定" @@ -1971,6 +1988,17 @@ msgstr "" msgid "`[General] -> AutoRemoveEarliestBeacon` controls this behavior." msgstr "`[General] -> AutoRemoveEarliestBeacon` 控制此行为。" +msgid "Berzerk on allies" +msgstr "友军狂暴效果" + +msgid "" +"In vanilla, `Psychedelic` warheads is hardcoded to ignore allies' target." +" Now you can turn this off." +msgstr "在原版中,`Psychedelic` 弹头硬编码忽略友军目标。现在你可以关闭这个。" + +msgid "No per-warhead setting because `AffectsAllies` etc. is respected." +msgstr "没有弹头微观语句,因为生效与否仍会遵守 `AffectsAllies` 等设置。" + msgid "Chrono sparkle animation customization & improvements" msgstr "超时空闪光动画的自定义与改进" @@ -3440,6 +3468,14 @@ msgstr "" "Ares 的 [电池超武](https://ares-developers.github.io/Ares-" "docs/new/superweapons/types/battery.html) 不受此影响。" +msgid "Customize reveal radius of `RevealToAll`" +msgstr "自定义 `RevealToAll` 揭示范围" + +msgid "" +"In vanilla, `RevealToAll` is hardcoded to reveal area in radius is " +"`Sight`. Now you can customize it." +msgstr "在原版中,`RevealToAll` 硬编码揭示半径为 `Sight` 的区域。现在你可以自定义了。" + msgid "Customize the initial facing of buildings" msgstr "自定义建筑初始方向" @@ -3451,6 +3487,26 @@ msgid "" "256-point circle rather than an 8-point circle." msgstr "不同于《泰伯利亚之日》中的同名语句,此处语句使用 256 分圆而不是 8 分圆。" +msgid "DeployFire supports buildings" +msgstr "`DeployFire` 支持建筑" + +msgid "Building types now also support using `DeployFire` and `DeployFireWeapon`." +msgstr "现在建筑同样支持使用 `DeployFire` 和 `DeployFireWeapon`。" + +msgid "" +"If a building has other configurations such as `Factory`, `GapGenerator`," +" or `Passengers`, it will prioritize executing those deployment actions " +"instead." +msgstr "如果建筑拥有例如 `Factory`、`GapGenerator` 或 `Passengers` 的其他配置,它将优先执行这些部署动作。" + +msgid "" +"`DeployFireDelay` specifies the frame interval at which deployed weapons " +"attempt to fire. If the weapon is unavailable due to `ROF`, `CanTarget`, " +"or other reasons, the deployed weapon will not fire." +msgstr "" +"`DeployFireDelay` 指定部署武器尝试开火的帧间隔。如果由于 `ROF`、`CanTarget` " +"或其他原因导致武器不可用,部署武器同样不会开火。" + msgid "Disable `DamageSound`" msgstr "禁用 `DamageSound`" @@ -3688,7 +3744,8 @@ msgid "" "map file/editor support, see [Increased Overlay Limit](AI-Scripting-and-" "Mapping.md#increased-overlay-limit)." msgstr "" -"游戏现在支持超过 255 种不同的覆盖物,最多可达 65535 种。有关地图文件/编辑器的支持,见 [更高的覆盖物数量上限](AI-Scripting-and-Mapping.md#increased-overlay-limit)。" +"游戏现在支持超过 255 种不同的覆盖物,最多可达 65535 种。有关地图文件/编辑器的支持,见 [更高的覆盖物数量上限](AI-" +"Scripting-and-Mapping.md#increased-overlay-limit)。" msgid "`ZAdjust` for OverlayTypes" msgstr "覆盖物的 Z 深校正值" @@ -4928,19 +4985,24 @@ msgid "" msgstr "现在可以控制拥有潜地(Tunnel)`Locomotor` 的单位移动的高度,可以在全局和每个科技类型上定义。" msgid "" -"Subterranean movement speed is now also customizable, both globally and per TechnoType. If per-TechnoType value is negative, global value is used." -msgstr "" -"潜地移动速度现在也可以自定义,同样拥有全局和微观标签。如果微观标签的值为负数则使用全局值。" +"Subterranean movement speed is now also customizable, both globally and " +"per TechnoType. If per-TechnoType value is negative, global value is " +"used." +msgstr "潜地移动速度现在也可以自定义,同样拥有全局和微观标签。如果微观标签的值为负数则使用全局值。" msgid "" -"This does not affect the speed at which the unit moves vertically when burrowing which is determined by `Speed` multiplied by `[General] -> TunnelSpeed`." +"This speed value uses the same algorithm as `Speed`. The global default " +"value `7.5` in the INI block is an approximation of the converted value " +"of the vanilla internal value `19` (`7.5 ≈ 19 * 100 / 256`)." msgstr "" -"这不会影响单位在潜地时的垂直移动速度。该速度由 `Speed` * `[General] -> TunnelSpeed` 决定。" +"该速度值使用与 `Speed` 相同的算法,INI 块中的全局默认值 `7.5` 是原版程序内部值 `19` 换算值的近似(`7.5 ≈ 19 *" +" 100 / 256`)。" msgid "" -"This speed value uses the same algorithm as `Speed`. The global default value `7.5` in the INI block is an approximation of the converted value of the vanilla internal value `19` (`7.5 ≈ 19 * 100 / 256`)." -msgstr "" -"该速度值使用与 `Speed` 相同的算法,INI 块中的全局默认值 `7.5` 是原版程序内部值 `19` 换算值的近似(`7.5 ≈ 19 * 100 / 256`)。" +"This does not affect the speed at which the unit moves vertically when " +"burrowing which is determined by `Speed` multiplied by `[General] -> " +"TunnelSpeed`." +msgstr "这不会影响单位在潜地时的垂直移动速度。该速度由 `Speed` * `[General] -> TunnelSpeed` 决定。" msgid "" "`SubterraneanHeight` expects negative values to be used and may behave " @@ -5333,12 +5395,12 @@ msgid "" "`MovementZone=CrusherAll` were hardcoded to tilt when crushing vehicles /" " walls respectively. This now obeys `TiltsWhenCrushes` but can be " "customized individually for these two scenarios using " -"`TiltsWhenCrusher.Vehicles` and `TiltsWhenCrusher.Overlays`, which both " +"`TiltsWhenCrushes.Vehicles` and `TiltsWhenCrushes.Overlays`, which both " "default to `TiltsWhenCrushes`." msgstr "" "拥有 `Crusher=true` 和 `OmniCrusher=true` / `MovementZone=CrusherAll` " "的载具在碾压载具/围墙时原版被硬编码进行倾斜。现在这遵守 `TiltsWhenCrushes`,并且可以对 " -"`TiltsWhenCrusher.Vehicles` 和 `TiltsWhenCrusher.Overlays` " +"`TiltsWhenCrushes.Vehicles` 和 `TiltsWhenCrushes.Overlays` " "对两种情况分别进行定义,它们都默认为 `TiltsWhenCrushes`。" msgid "" @@ -5730,16 +5792,25 @@ msgid "" "belonging to same house as the firer, including itself." msgstr "注意尽管 `Psychedelic=true` 的效果与杀伤相关但由于其不会影响任何包括开火者在内所有与开火者同一所属的对象因此仍然无法生效。" -msgid "Berzerk on allies" -msgstr "友军狂暴效果" +msgid "Berzerk (`Psychedelic`) duration stacking customization" +msgstr "" +"狂暴( `Psychedelic`)持续时间叠加的自定义" msgid "" -"In vanilla, `Psychedelic` warheads is hardcoded to ignore allies' target." -" Now you can turn this off." -msgstr "在原版中,`Psychedelic` 弹头硬编码忽略友军目标。现在你可以关闭这个。" +"By default `Psychedelic` warheads override the current duration of the " +"berzerk effect regardless of if the new duration is higher or lower than " +"the current one. This can now be customized with " +"`Psychedelic.StackingMode`, with both global setting under " +"`[CombatDamage]` and per-Warhead customization." +msgstr "" +"默认情况下 `Psychedelic` 弹头会覆盖狂暴效果的当前持续时间,无论新持续时间比当前值高还是低。现在这可以通过 `Psychedelic.StackingMode` 自定义,既有 `[CombatDamage]` 下的全局设置,也有每个弹头的独立设置。" -msgid "No per-warhead setting because `AffectsAllies` etc. is respected." -msgstr "没有弹头微观语句,因为生效与否仍会遵守 `AffectsAllies` 等设置。" +msgid "" +"`min`/`subtract`/`multiply`/`divide` stacking mode will make berzerk " +"effect can't be applied on the target when there's not an existing one. " +"Pay attention to that when setting them as global default values." +msgstr "" +"`min`/`subtract`/`multiply`/`divide` 叠加模式将导致目标上不存在狂暴效果时无法对其施加狂暴效果。将它们设为全局默认值时请要注意这点。" msgid "Combat light customizations" msgstr "自定义战斗闪光" diff --git a/docs/locale/zh_CN/LC_MESSAGES/New-or-Enhanced-Logics.po b/docs/locale/zh_CN/LC_MESSAGES/New-or-Enhanced-Logics.po index 65d2b46054..63085990f9 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/New-or-Enhanced-Logics.po +++ b/docs/locale/zh_CN/LC_MESSAGES/New-or-Enhanced-Logics.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Phobos \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-02 22:22+0800\n" +"POT-Creation-Date: 2026-08-06 23:03+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -151,6 +151,51 @@ msgstr "" msgid "`invokerdie`: Discard when the invoker of the effect is destroyed." msgstr "`invokerdie`:当 AE 的调用者被摧毁时弃用。" +msgid "" +"`ammo`: Discard when the ammo of the object the effect is attached to is " +"within the interval `[DiscardOn.Ammo.MinimumAmount, " +"DiscardOn.Ammo.MaximumAmount]` (set to `-1` to ignore either bound)." +msgstr "" +"`ammo`:当 AE 所附加对象的弹药处于 `[DiscardOn.Ammo.MinimumAmount, " +"DiscardOn.Ammo.MaximumAmount]` 区间时弃用(被设为 `-1` 的边界会被忽略)。" + +msgid "" +"`health`: Discard when the health percentage of the object the effect is " +"attached to is within the interval `(DiscardOn.Health.AbovePercent, " +"DiscardOn.Health.BelowPercent]` (set to `-1` to ignore either bound)." +msgstr "" +"`health`:当 AE 所附加对象的血量比例处于 `(DiscardOn.Health.AbovePercent, " +"DiscardOn.Health.BelowPercent]` 区间时弃用(被设为 `-1` 的边界会被忽略)。" + +msgid "" +"`mission`: Discard when the current mission of the object the effect is " +"attached to matches any one in the `DiscardOn.Missions` list (or " +"`DiscardOn.AIMissions` for AI-controlled objects, if set)." +msgstr "" +"`mission`:当 AE 所附加对象当前任务与 `DiscardOn.Missions`(对 AI 控制的对象来说是 " +"`DiscardOn.AIMissions`)列表中任意任务匹配时弃用。" + +msgid "" +"`landtype`: Discard when the land type of the cell where the object the " +"effect is attached to is currently located matches any land type in the " +"`DiscardOn.LandTypes` list." +msgstr "`landtype`:当 AE 所附加对象当前所在单元格的土地类型与 `DiscardOn.LandTypes` 列表中任意土地类型匹配时弃用。" + +msgid "" +"`sequence`: Discard when the infantry to which the effect is attached is " +"playing a sequence that matches any one in the `DiscardOn.Sequences` " +"list." +msgstr "`sequence`:当 AE 所附加步兵正在播放的序列与 `DiscardOn.Sequences` 列表中任意序列匹配时弃用。" + +msgid "" +"`DiscardOn.Sequences.Immediate` defines whether the `sequence` discard " +"condition triggers immediately while the infantry is playing a matching " +"sequence, or only when the infantry starts playing its next sequence " +"after finishing that sequence." +msgstr "" +"`DiscardOn.Sequences.Immediate` 定义了 `sequence` " +"丢弃条件是在步兵当前播放的序列与列表中的任意序列匹配时立即触发还是仅在步兵完成该序列后开始播放下一个序列时触发。" + msgid "" "`DiscardOn.MoveBasedOnDestination` defines whether to determine the " "movement state according to the presence or absence of a destination. It " @@ -348,14 +393,12 @@ msgstr "" msgid "" "`ArmorMultiplier.Chance` can be used to set the chance of whether the " "armor multiplier will take effect or not when taking damage." -msgstr "" -"`ArmorMultiplier.Chance` 可用于设置在受伤时护甲倍率生效的概率。" +msgstr "`ArmorMultiplier.Chance` 可用于设置在受伤时护甲倍率生效的概率。" msgid "" "`ArmorMultiplier.AffectsHouse` can be used to set which houses the armor " "multiplier will take effect." -msgstr "" -"`ArmorMultiplier.AffectsHouse` 可用于设置护甲倍率生效概率对哪些所属方生效。" +msgstr "`ArmorMultiplier.AffectsHouse` 可用于设置护甲倍率生效概率对哪些所属方生效。" msgid "" "`ArmorMultiplier.HitAnim` can be used to set the animation that'll be " @@ -364,7 +407,9 @@ msgid "" "`ArmorMultiplier.Chance` or `ArmorMultiplier.AffectsHouse` settings. If " "more than one animation is listed, a random one is selected." msgstr "" -"`ArmorMultiplier.HitAnim` 可用于设置在受伤时播放的动画。如果由于 `ArmorMultiplier.Allow/DisallowWarheads`、`ArmorMultiplier.Chance` 或 `ArmorMultiplier.AffectsHouse` 设置导致护甲倍率未生效则不显示该动画。如果列出了多个动画,则将随机选择一个。" +"`ArmorMultiplier.HitAnim` 可用于设置在受伤时播放的动画。如果由于 " +"`ArmorMultiplier.Allow/DisallowWarheads`、`ArmorMultiplier.Chance` 或 " +"`ArmorMultiplier.AffectsHouse` 设置导致护甲倍率未生效则不显示该动画。如果列出了多个动画,则将随机选择一个。" msgid "" "If `ROFMultiplier.ApplyOnCurrentTimer` is set to true, `ROFMultiplier` is" @@ -1710,14 +1755,6 @@ msgid "" "displaying its buildup animation." msgstr "如果 `NoBuildAreaOnBuildup` 设为 true 则任何建筑类型都不能当其在播放建造动画时在其附近建造。" -msgid "Customize reveal radius of `RevealToAll`" -msgstr "自定义 `RevealToAll` 揭示范围" - -msgid "" -"In vanilla, `RevealToAll` is hardcoded to reveal area in radius is " -"`Sight`. Now you can customize it." -msgstr "在原版中,`RevealToAll` 硬编码揭示半径为 `Sight` 的区域。现在你可以自定义了。" - msgid "Destroyable pathfinding obstacles" msgstr "可摧毁的寻路障碍" @@ -3431,50 +3468,6 @@ msgid "" " select a higher threat target when in attack move mission (Ctrl+Shift)." msgstr "`AttackMove.UpdateTarget` 允许你的单位在执行移动攻击(Ctrl+Shift)任务时自动切换威胁值更高的目标。" -msgid "Attack move - behavior when target acquired" -msgstr "移动攻击 - 获取目标时的行为" - -msgid "" -"Now you can make attack-moving units stop moving when they spot an enemy " -"using `AttackMove.StopWhenTargetAcquired`. This is more like the attack " -"move behavior in Starcraft and Warcraft." -msgstr "" -"现在你可以用 `AttackMove.StopWhenTargetAcquired` " -"来让移动攻击的单位在发现敌人后停止移动,就像《星际》和《魔兽》中那样。" - -msgid "" -"This feature is used to prevent units from charging forward and taking " -"more damage during an attack move command." -msgstr "此功能用于避免单位在执行移动攻击命令时冲锋过猛而暴毙。" - -msgid "" -"You can also make them keep chasing on the spotted target using " -"`AttackMove.PursuitTarget`." -msgstr "你也可以使用 `AttackMove.PursuitTarget` 来让它们继续追击已锁定的单个目标。" - -msgid "This feature should be useful for close range units like ZEP." -msgstr "此功能对于基洛夫空艇这样的近战单位很有用。" - -msgid "" -"Many units would have stopped when they found an enemy during an attack " -"move command already. This behavior is independent from " -"`AttackMove.StopWhenTargetAcquired`." -msgstr "许多单位在执行移动攻击命令时本就有一个发现敌人后停止移动的行为,这与 `AttackMove.StopWhenTargetAcquired` 无关。" - -msgid "" -"Some units (f.ex. jumpjets) will not fire correctly under the vanilla " -"attack move command. The exact reason is not clear, but this feature can " -"fix this problem." -msgstr "一些单位(例如 Jumpjet 类)在原版移动攻击命令下无法正常开火。具体原因不明,但该功能可以解决此问题。" - -msgid "" -"Jumpjets with `AttackMove.StopWhenTargetAcquired=true` will stop " -"immediatly and not scatter to a cell. This is designed for practical " -"reason." -msgstr "" -"设置了 `AttackMove.StopWhenTargetAcquired=true` 的 Jumpjet " -"单位会立即停止并且不会分散到某个单元格上。这是有意如此设计的。" - msgid "Attack move - follow" msgstr "移动攻击 - 跟随" @@ -3630,19 +3623,28 @@ msgid "Automatic conversion based on health" msgstr "自动根据血量变形" msgid "Units can now be converted into another unit by health percentage." -msgstr "单位可以现在可以基于HP变为其他单位" +msgstr "单位可以现在可以基于生命值百分比变为其他单位。" -msgid "`Convert.Health.AbovePercent` determines the minimal health percentage at which a unit converts automatically." -msgstr "`Convert.Health.AbovePercent`决定了触发单位自动变身的最小HP值" +msgid "" +"`Convert.Health.AbovePercent` determines the minimal health percentage at" +" which a unit converts automatically." +msgstr "`Convert.Health.AbovePercent` 决定了触发单位自动变身的最小生命值百分比。" -msgid "`Convert.Health.BelowPercent` determines the maximum health percentage at which a unit converts automatically." -msgstr "`Convert.Health.BelowPercent`决定了触发单位自动变身的最大HP值" +msgid "" +"`Convert.Health.BelowPercent` determines the maximum health percentage at" +" which a unit converts automatically." +msgstr "`Convert.Health.BelowPercent` 决定了触发单位自动变身的最大生命值百分比。" -msgid "`Convert.Health` specify the new techno after the conversion. This unit must be of the same type of the original (infantry -> infantry, vehicle -> vehicle or aircraft -> aircraft)." -msgstr "`Convert.Health` 指定变身后的单位. 类型需要和原单位相同 (步兵 → 步兵, 载具 → 载具 或 飞机 → 飞机)" +msgid "" +"`Convert.Health` specify the new techno after the conversion. This unit " +"must be of the same type of the original (infantry -> infantry, vehicle " +"-> vehicle or aircraft -> aircraft)." +msgstr "`Convert.Health` 指定变形成哪个新单位。该单位必须与原单位同属一类(载具变载具,步兵变步兵,战机变战机)。" -msgid "Setting a negative number will disable the HP check, and when both checks are disabled, conversion will not occur." -msgstr "设置为负值会关闭对应的HP检查,当两项检查都被关闭则不会触发变身." +msgid "" +"Setting a negative number will disable the HP check, and when both checks" +" are disabled, conversion will not occur." +msgstr "设置为负值会关闭对应的生命值检查,当两项检查都被关闭则不会触发变身。" msgid "Automatic passenger deletion" msgstr "自动删除乘客" diff --git a/docs/locale/zh_CN/LC_MESSAGES/Whats-New.po b/docs/locale/zh_CN/LC_MESSAGES/Whats-New.po index 9f29d7f7a5..71c6b7698c 100644 --- a/docs/locale/zh_CN/LC_MESSAGES/Whats-New.po +++ b/docs/locale/zh_CN/LC_MESSAGES/Whats-New.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Phobos \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-02 22:22+0800\n" +"POT-Creation-Date: 2026-08-06 23:07+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -141,12 +141,12 @@ msgid "" "`MovementZone=CrusherAll` were hardcoded to tilt when crushing vehicles /" " walls respectively. This now obeys `TiltsWhenCrushes` but can be " "customized individually for these two scenarios using " -"`TiltsWhenCrusher.Vehicles` and `TiltsWhenCrusher.Overlays`, which both " +"`TiltsWhenCrushes.Vehicles` and `TiltsWhenCrushes.Overlays`, which both " "default to `TiltsWhenCrushes`." msgstr "" "拥有 `Crusher=true` 和 `OmniCrusher=true`/`MovementZone=CrusherAll` " "的载具类型硬编码在其碾压载具/围墙时会掀起而倾斜。现在此行为遵循 `TiltsWhenCrushes` 设置,但可以使用 " -"`TiltsWhenCrusher.Vehicles` 和 `TiltsWhenCrusher.Overlays` " +"`TiltsWhenCrushes.Vehicles` 和 `TiltsWhenCrushes.Overlays` " "分别定义这两种情况,它们都默认为 `TiltsWhenCrushes`。" msgid "" @@ -171,6 +171,14 @@ msgstr "这是一份用于让你只需替换新版本而无需了解你所跳过 msgid "Version TBD (develop branch nightly builds)" msgstr "待定版本(开发分支自动构建版本)" +msgid "" +"`ProjectileRange` (Ares feature) now has weapon range modifiers applied " +"to it if greater than 0 and unless `ProjectileRange.ApplyModifiers` is " +"set to false on the WeaponType." +msgstr "" +"`ProjectileRange`(Ares 功能)大于 0 时现在会应用武器射程修正,除非在武器上设置 " +"`ProjectileRange.ApplyModifiers` 为 false。" + msgid "" "`Splits.TargetCellRange` < 0 now applies special behaviour where the " "projectile does not consider nearby cells as additional targets if there " @@ -384,35 +392,29 @@ msgid "" "correctly set default values. The ones where fixing this issue changes " "behaviour are (old wrong default -> new fixed default):" msgstr "" -"某些 `Interceptor` 和 `PassengerDeletion` 相关语句没有正确默认值。修复该问题导致的行为变更如下(旧有错误默认值→修复后的新默认值):" +"某些 `Interceptor` 和 `PassengerDeletion` " +"相关语句没有正确默认值。修复该问题导致的行为变更如下(旧有错误默认值→修复后的新默认值):" msgid "`Interceptor.CanTargetHouses`: `none` -> `enemies`" -msgstr "" -"`Interceptor.CanTargetHouses`:`none`→`enemies`" +msgstr "`Interceptor.CanTargetHouses`:`none`→`enemies`" msgid "`PassengerDeletion.Rate.SizeMultiply`: `false` -> `true`" -msgstr "" -"`PassengerDeletion.Rate.SizeMultiply`:`false`→`true`" +msgstr "`PassengerDeletion.Rate.SizeMultiply`:`false`→`true`" msgid "`PassengerDeletion.CostMultiplier`: `0.0` -> `1.0`" -msgstr "" -"`PassengerDeletion.CostMultiplier`:`0.0`→`1.0`" +msgstr "`PassengerDeletion.CostMultiplier`:`0.0`→`1.0`" msgid "`PassengerDeletion.AllowedHouses`: `none` -> `all`" -msgstr "" -"`PassengerDeletion.AllowedHouses`:`none`→`all`" +msgstr "`PassengerDeletion.AllowedHouses`:`none`→`all`" msgid "`PassengerDeletion.SoylentMultiplier`: `0.0` -> `1.0`" -msgstr "" -"`PassengerDeletion.SoylentMultiplier`:`0.0`→`1.0`" +msgstr "`PassengerDeletion.SoylentMultiplier`:`0.0`→`1.0`" msgid "`PassengerDeletion.SoylentAllowedHouses`: `none` -> `enemies`" -msgstr "" -"`PassengerDeletion.SoylentAllowedHouses`:`none`→`enemies`" +msgstr "`PassengerDeletion.SoylentAllowedHouses`:`none`→`enemies`" msgid "`PassengerDeletion.DisplaySoylentOffset`: `none` -> `all`" -msgstr "" -"`PassengerDeletion.DisplaySoylentOffset`:`none`→`all`" +msgstr "`PassengerDeletion.DisplaySoylentOffset`:`none`→`all`" msgid "Changes compared to inter-version builds / pre-releases" msgstr "相较于版本间构建/预发布版本的更改" @@ -1335,11 +1337,13 @@ msgid "" msgstr "添加了 `DebrisMinimums` 语句以将碎片数量控制在一定范围内(by CrimRecya)" msgid "" -"[Several attackmove related enhancement](New-or-Enhanced-Logics.md" -"#attack-move-behavior-when-target-acquired) (by TaranDahl)" +"[Attack move - follow](New-or-Enhanced-Logics.md#attack-move-follow) and " +"[attack move - without weapon](New-or-Enhanced-Logics.md#attack-move-" +"without-weapon) (by TaranDahl)" msgstr "" -"[几个移动攻击相关的增强](New-or-Enhanced-Logics.md#attack-move-behavior-when-target-" -"acquired)(by TaranDahl)" +"移动攻击 - 跟随 " +"和 [移动攻击 - 无武器单位](New-or-Enhanced-Logics.md#attack-move-without-weapon) " +"地下单位(by TaranDahl)" msgid "Ground line for select box (by NetsuNegi)" msgstr "为选择框添加了投影线(by NetsuNegi)" @@ -2346,10 +2350,10 @@ msgstr "" "Noble_Fish)" msgid "" -"[Customize reveal radius of `RevealToAll`](New-or-Enhanced-Logics.md" +"[Customize reveal radius of `RevealToAll`](Fixed-or-Improved-Logics.md" "#customize-reveal-radius-of-revealtoall) (by NetsuNegi)" msgstr "" -"[自定义 `RevealToAll` 揭示范围](New-or-Enhanced-Logics.md#customize-reveal-" +"[自定义 `RevealToAll` 揭示范围](Fixed-or-Improved-Logics.md#customize-reveal-" "radius-of-revealtoall)(by NetsuNegi)" msgid "" @@ -2383,6 +2387,41 @@ msgstr "" "[`600` 配置掉落箱子行为](AI-Scripting-and-Mapping.md#configure-drop-crate)(by " "FS-21)" +msgid "" +"[`DeployFire` supports buildings](Fixed-or-Improved-Logics.md#deployfire-" +"supports-buildings) (By FlyStar)" +msgstr "" +"[`DeployFire` 支持建筑](Fixed-or-Improved-Logics.md#deployfire-supports)(By " +"FlyStar)" + +msgid "" +"[Automatic conversion based on health](New-or-Enhanced-Logics.md" +"#automatic-conversion-based-on-health) (by obsidianus)" +msgstr "" +"[自动根据血量变形](New-or-Enhanced-Logics.md#automatic-conversion-based-on-" +"health)(by obsidianus)" + +msgid "" +"Add `ammo`, `health`, `mission`, `landtype` and `sequence` conditions to " +"`DiscardOn` (by Noble_Fish)" +msgstr "" +"为 `DiscardOn` 添加 `ammo`、`health`、`mission`、`landtype` 和 `sequence` 条件(by " +"Noble_Fish)" + +msgid "" +"[Berzerk / `Psychedelic` duration stacking customization](Fixed-or-" +"Improved-Logics.md#berzerk-psychedelic-duration-stacking-customization) " +"(by Starkku)" +msgstr "" +"[狂暴/ `Psychedelic` 持续时间叠加的自定义](Fixed-or-Improved-Logics.md#berzerk-" +"psychedelic-duration-stacking-customization) (by Starkku)" + +msgid "" +"Restored the ScriptType action#24 `Play speech` from Tiberian Sun (by " +"FS-21)" +msgstr "" +"复原了《泰伯利亚之日》中的动作脚本 `24 - 播放语音`(by FS-21)" + msgid "Vanilla fixes:" msgstr "原版问题修复:" @@ -2853,6 +2892,16 @@ msgid "" "building when deactivated (by NetsuNegi)" msgstr "修复了单位失灵时不会重置其与相链接建筑链接状态的 Bug(by NetsuNegi)" +msgid "" +"Fixed an issue where `OmniFire` was ineffective on buildings with " +"`Turret=yes` (by FlyStar)" +msgstr "修复了 `OmniFire` 在 `Turret=yes` 的建筑上无效的问题(by FlyStar)" + +msgid "" +"Fixed an issue where setting a production building as `Primary` could " +"cause it to enter an unload state (by FlyStar)" +msgstr "修复了设置一个生产建筑为 `主要` 时可能导致其进入卸载状态的问题(by FlyStar)" + msgid "Phobos fixes:" msgstr "Phobos 过往版本问题修复:" @@ -3048,8 +3097,7 @@ msgstr "修复降落方向设为超出 256 的值时不能正确换算的 Bug( msgid "" "Fixed a bug with some keys relating to `Interceptor` and " "`PassengerDeletion` not having correct default values (by Starkku)" -msgstr "" -"修复了某些 `Interceptor` 和 `PassengerDeletion` 相关语句没有正确默认值的 Bug(by Starkku)" +msgstr "修复了某些 `Interceptor` 和 `PassengerDeletion` 相关语句没有正确默认值的 Bug(by Starkku)" msgid "Fixes / interactions with other extensions:" msgstr "其他扩展引擎相关的修复/交互:" @@ -3228,6 +3276,14 @@ msgid "" "InitialPayload logic (by Noble_Fish)" msgstr "移除了禁止步兵使用初始载员逻辑的限制(by Noble_Fish)" +msgid "" +"`ProjectileRange` now has weapon range modifiers applied to it if greater" +" than 0 and unless `ProjectileRange.ApplyModifiers` is set to false on " +"the WeaponType (by Starkku)" +msgstr "" +"`ProjectileRange` 大于 0 时现在会应用武器射程修正,除非在武器上设置 " +"`ProjectileRange.ApplyModifiers` 为 false(by Starkku)" + msgid "0.4.0.3" msgstr "0.4.0.3"