Skip to content
Open
7 changes: 6 additions & 1 deletion CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,12 @@ This page lists all the individual contributions to the project by their author.
- Add `ClampToScreen` tag for `BannerType` to control whether banner position is clamped to the visible area
- **obsidianus** - Automatic conversion based on health
- **Nuke** - Reload speed adjustment on promotion
- **frg2089 (舰队的偶像-岛风酱!)** - Fix `Slaved.OwnerWhenMasterKilled` not being respected when the master is sold or self-destructed
- **frg2089 (舰队的偶像-岛风酱!)**:
- Fix `Slaved.OwnerWhenMasterKilled` not being respected when the master is sold or self-destructed
- Convert TechnoType into any other type, including to and from `BuildingType`s
- Infantry walk to the centre of their cell before converting into another type
- Carry over health percentage, veteran status, attribute multipliers and slave manager on conversion
- Global default value for `Convert.ShowBuildup`, `Convert.ShowBuildupFrom` and `Convert.ShowBuildupTo`
- **weiyongxuan** - Extended `CanTargetHouses` to allow targeting neutral houses
- **dh381-1**:
- Detonate ivan bomb on impact
Expand Down
1 change: 1 addition & 0 deletions docs/Fixed-or-Improved-Logics.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ This page describes all ingame logics that are fixed or improved in Phobos witho
- Fixed an issue where vehicles affected by warheads with `IsLocomotor=yes` would have their effects interrupted when deactivated or reactivated.
- Fixed crashes when restarting missions that use TerrainTypes with cached SHP images.
- Fixed the bug that units keep attacking ground after target wall has been destroyed by adjacent damage/crush/wave damage.
- Vanilla `DeploysInto`, `UndeploysInto` and selling now also carry over the health percentage, veteran status, armor / firepower / speed multipliers and slave manager of the source techno to the new one, in addition to the mind control, shields, invulnerability and attached effects that were already transferred.

## Fixes / interactions with other extensions

Expand Down
56 changes: 46 additions & 10 deletions docs/New-or-Enhanced-Logics.md
Original file line number Diff line number Diff line change
Expand Up @@ -872,12 +872,14 @@ SpyEffect.InfiltratorSuperWeapon= ; SuperWeaponType

- Now infantry can perform type conversion immediately after the `Deploy` or `Undeploy` sequence action has been executed.
- If a deployable infantry has no deploy sequence, it will immediately execute `Convert.Deploy` after a deploy order is issued, just like deployable vehicles.
- The new type does not have to be an infantry type (see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type)). If it is not, the infantry first walks to the centre of the cell it is occupying.
- If the new type is a `BuildingType`, the deploy order is only carried out when the building can be placed on the spot the infantry stands on. Otherwise the `NoDeploy` cursor is shown and the *Cannot deploy here* EVA is played.

In `rulesmd.ini`:
```ini
[SOMEINFANTRY] ; InfantryType
Convert.Deploy= ; InfantryType
Convert.Undeploy= ; InfantryType
Convert.Deploy= ; TechnoType
Convert.Undeploy= ; TechnoType
```

### Customizable FLH when infantry is prone or deployed
Expand Down Expand Up @@ -1394,7 +1396,7 @@ SW.TechLevel=0 ; integer

### Convert TechnoType

- Warheads can now change TechnoTypes of affected units to other Types in the same category (infantry to infantry, vehicles to vehicles, aircraft to aircraft).
- Warheads can now change TechnoTypes of affected units to any other TechnoType, no matter which category it belongs to, including `BuildingType`s.
- `ConvertN.From` (where N is 0, 1, 2...) specifies which TechnoTypes are valid for conversion. This entry can have many types listed, meanging that many types will be converted at once. When no types are included, conversion will affect all valid targets.
- `ConvertN.To` specifies the TechnoType which is the result of conversion.
- `ConvertN.AffectsHouse` specifies whose units can be converted.
Expand Down Expand Up @@ -1423,7 +1425,7 @@ Convert.AffectsHouse=owner ; List of Affected House Enumeration (none|owner
```

```{warning}
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html). This feature does not support BuildingTypes.
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html) when converting between TechnoTypes of the same category. Conversions to or from `BuildingType`s are handled by Phobos itself, see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type).
```

```{warning}
Expand Down Expand Up @@ -1693,7 +1695,7 @@ AutoTargetAI.NoThreatBuildings=true ; boolean
- Units can now be converted into another unit by ammo count.
- `Ammo.AutoConvertMinimumAmount` determines the minimal number of ammo at which a unit converts automatically after the ammo update.
- `Ammo.AutoConvertMaximumAmount` determines the maximum number of ammo at which a unit converts automatically after the ammo update.
- `Ammo.AutoConvertType` 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).
- `Ammo.AutoConvertType` specify the new techno after the conversion. The new techno can be of any TechnoType, no matter which category it belongs to, including a `BuildingType` (see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type)).
- Setting a negative number will disable the ammo count check, and when both checks are disabled, conversion will not occur.

In `rulesmd.ini`:
Expand All @@ -1705,7 +1707,7 @@ Ammo.AutoConvertType= ; TechnoType, after conversion
```

```{warning}
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html). This feature does not support BuildingTypes.
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html) when converting between TechnoTypes of the same category. Conversions to or from `BuildingType`s are handled by Phobos itself, see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type).
```

```{warning}
Expand All @@ -1717,7 +1719,8 @@ This feature requires Ares 3.0 or higher to function! When Ares 3.0+ is not dete
- Units can now be converted into another unit by health percentage.
- `Convert.Health.AbovePercent` determines the minimal health percentage at which a unit converts automatically.
- `Convert.Health.BelowPercent` determines the maximum health percentage at which a unit converts automatically.
- `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).
- `Convert.Health` specify the new techno after the conversion. The new techno can be of any TechnoType, no matter which category it belongs to, including a `BuildingType` (see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type)).
- `Convert.Health.AfterBuildup`, if set to true, delays the conversion of a `BuildingType` until its buildup has finished.
- Setting a negative number will disable the HP check, and when both checks are disabled, conversion will not occur.

In `rulesmd.ini`:
Expand All @@ -1726,10 +1729,13 @@ In `rulesmd.ini`:
Convert.Health.AbovePercent=-1.0 ; floating point value, percents or absolute
Convert.Health.BelowPercent=-1.0 ; floating point value, percents or absolute
Convert.Health= ; TechnoType, after conversion

[SOMEBUILDING] ; BuildingType
Convert.Health.AfterBuildup=false ; boolean
```

```{warning}
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html). This feature does not support BuildingTypes.
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html) when converting between TechnoTypes of the same category. Conversions to or from `BuildingType`s are handled by Phobos itself, see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type).
```

```{warning}
Expand Down Expand Up @@ -1860,9 +1866,39 @@ DecloakAnims= ; List of Animation, default to [AudioVisual] -> D
Cloak.KickOutParasite= ; boolean, default to [General] -> Cloak.KickOutParasite
```

### Convert TechnoType into any other type

- Now any TechnoType can be converted into any other TechnoType, no matter which category it belongs to, including to and from `BuildingType`s.
- This applies to every form of type conversion: warhead and superweapon `Convert` pairs, `Convert.Deploy`, `Convert.Undeploy`, `Convert.Health`, `Ammo.AutoConvertType`, `Convert.HumanToComputer` / `Convert.ComputerToHuman` and Ares' type conversion.
- If the new type is a `BuildingType`, it is placed on the spot the source techno stands on, as long as its whole foundation fits there. If it does not fit, the conversion does not happen; a deploy order for `Convert.Deploy` is refused with the `NoDeploy` cursor and the *Cannot deploy here* EVA.
- Infantry that deploy or undeploy into a type other than an infantry type first walk to the centre of the cell they are occupying, so the conversion animation is played in the middle of the cell.
- The new techno inherits the health percentage, veteran status, mind control, shields, invulnerability, attached effects, armor / firepower / speed multipliers and slave manager of the source techno. This also applies to vanilla `DeploysInto`, `UndeploysInto` and selling.
- `Convert.Direction` determines the direction the new techno faces when converting from a `BuildingType`. If not set, the new techno keeps the facing of the source.
- The building animations played while converting to or from a building are customizable with the following tags. Each of them can also be set in `[General]` to define its global default value.
- `Convert.ShowBuildupFrom` makes the building being converted play its sell animation instead of disappearing immediately. Requires the building to be sellable.
- `Convert.ShowBuildupTo` makes the newly created building play its buildup animation and plays `[AudioVisual] -> BuildingSlam` at its location instead of appearing finished right away. Requires `Buildup=` (the name of an SHP file) to be set for the new building type in `artmd.ini`.
- `Convert.ShowBuildup` enables both of the above at once.

In `rulesmd.ini`:
```ini
[General]
Convert.ShowBuildup=false ; boolean
Convert.ShowBuildupFrom=false ; boolean
Convert.ShowBuildupTo=false ; boolean

[SOMETECHNO] ; TechnoType
Convert.ShowBuildup= ; boolean, default to [General] -> Convert.ShowBuildup
Convert.ShowBuildupFrom= ; boolean, default to [General] -> Convert.ShowBuildupFrom
Convert.ShowBuildupTo= ; boolean, default to [General] -> Convert.ShowBuildupTo

[SOMEBUILDING] ; BuildingType
Convert.Direction= ; Direction type (integers from 0-255)
```

### Convert TechnoType on owner house change

- You can now change a unit's type when changing ownership from human to computer or from computer to human.
- This also works for `BuildingType`s (see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type)).

In `rulesmd.ini`:
```ini
Expand Down Expand Up @@ -3114,7 +3150,7 @@ ChangeOwner.MindControlAnim= ; Animation
![image](_static/images/convertwh.gif)
*Vehicle version of Genetic Converter in [NanoStorm](https://www.bilibili.com/opus/896077937747427433)*

- Warheads can now change TechnoTypes of affected units to other Types in the same category (infantry to infantry, vehicles to vehicles, aircraft to aircraft).
- Warheads can now change TechnoTypes of affected units to any other TechnoType, no matter which category it belongs to, including `BuildingType`s.
- `ConvertN.From` (where N is 0, 1, 2...) specifies which TechnoTypes are valid for conversion. This entry can have many types listed, meanging that many types will be converted at once. When no types are included, conversion will affect all valid targets.
- `ConvertN.To` specifies the TechnoType which is the result of conversion.
- `ConvertN.AffectsHouse` specifies whose units can be converted.
Expand Down Expand Up @@ -3142,7 +3178,7 @@ Convert.AffectsHouse=all ; List of Affected House Enumeration (none|owner
```

```{warning}
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html). This feature does not support BuildingTypes.
This feature has the same limitations as [Ares' Type Conversion](https://ares-developers.github.io/Ares-docs/new/typeconversion.html) when converting between TechnoTypes of the same category. Conversions to or from `BuildingType`s are handled by Phobos itself, see [Convert TechnoType into any other type](#convert-technotype-into-any-other-type).
```

```{warning}
Expand Down
4 changes: 4 additions & 0 deletions docs/Whats-New.md
Original file line number Diff line number Diff line change
Expand Up @@ -2053,6 +2053,10 @@ HideShakeEffects=false ; boolean
- Customize turn rate when jumpjet vehicle crashing (by NetsuNegi)
- Customize insignias palette (by Flactine & NetsuNegi)
- Allowed deployable infantry without a deploy sequence to directly execute `Convert.Deploy` like deployable vehicles (by Noble_Fish)
- [Convert TechnoType into any other type](New-or-Enhanced-Logics.md#convert-technotype-into-any-other-type) (by frg2089)
- [Infantry deploying or undeploying into a type other than an infantry type now walk to the centre of their cell first](New-or-Enhanced-Logics.md#allow-infantry-to-perform-type-conversion-when-deploying-and-undeploying) (by frg2089)
- Vanilla `DeploysInto`, `UndeploysInto` and selling now also carry over health percentage, veteran status, attribute multipliers and slave manager of the source techno (by frg2089)
- Global default value for `Convert.ShowBuildup`, `Convert.ShowBuildupFrom` and `Convert.ShowBuildupTo` (by frg2089)

#### Vanilla fixes:
- Fixed the bug where a building with `Factory=BuildingType` owned by the AI did not play `ProductionAnim` when placing a produced building (by Noble_Fish)
Expand Down
23 changes: 17 additions & 6 deletions docs/locale/zh_CN/LC_MESSAGES/CREDITS.po
Original file line number Diff line number Diff line change
Expand Up @@ -3430,12 +3430,23 @@ msgstr "**obsidianus** - 自动根据血量变形"
msgid "**Nuke** - Reload speed adjustment on promotion"
msgstr "**Nuke** - 升级时调整装填速率"

msgid ""
"**frg2089 (舰队的偶像-岛风酱!)** - Fix `Slaved.OwnerWhenMasterKilled` not being "
"respected when the master is sold or self-destructed"
msgstr ""
"**frg2089 (舰队的偶像-岛风酱!)** - 修复了奴隶矿场被出售或自毁时 `Slaved.OwnerWhenMasterKilled` "
"不被遵守的问题"
msgid "**frg2089 (舰队的偶像-岛风酱!)**:"
msgstr "**frg2089 (舰队的偶像-岛风酱!)**:"

msgid "Fix `Slaved.OwnerWhenMasterKilled` not being respected when the master is sold or self-destructed"
msgstr "修复了奴隶矿场被出售或自毁时 `Slaved.OwnerWhenMasterKilled` 不被遵守的问题"

msgid "Convert TechnoType into any other type, including to and from `BuildingType`s"
msgstr "允许任意科技类型转换为任意其他科技类型,包括与 `BuildingType` 之间的相互转换"

msgid "Infantry walk to the centre of their cell before converting into another type"
msgstr "步兵在转换为其他类型前会先走到所在单元格的中央"

msgid "Carry over health percentage, veteran status, attribute multipliers and slave manager on conversion"
msgstr "转换时继承生命值百分比、老兵等级、属性倍增器与奴隶管理器"

msgid "Global default value for `Convert.ShowBuildup`, `Convert.ShowBuildupFrom` and `Convert.ShowBuildupTo`"
msgstr "`Convert.ShowBuildup`、`Convert.ShowBuildupFrom` 和 `Convert.ShowBuildupTo` 的全局默认值"

msgid ""
"**weiyongxuan** - Extended `CanTargetHouses` to allow targeting neutral "
Expand Down
3 changes: 3 additions & 0 deletions docs/locale/zh_CN/LC_MESSAGES/Fixed-or-Improved-Logics.po
Original file line number Diff line number Diff line change
Expand Up @@ -1754,6 +1754,9 @@ msgid ""
msgstr ""
"修复了目标墙壁被相邻伤害/碾压/声波伤害摧毁后单位仍持续攻击地面的 Bug。"

msgid "Vanilla `DeploysInto`, `UndeploysInto` and selling now also carry over the health percentage, veteran status, armor / firepower / speed multipliers and slave manager of the source techno to the new one, in addition to the mind control, shields, invulnerability and attached effects that were already transferred."
msgstr "原版的 `DeploysInto`、`UndeploysInto` 与出售现在除了原本就会传递的精神控制、护盾、无敌效果与附加效果之外,还会将源单位的生命值百分比、老兵等级、护甲/火力/速度倍增器与奴隶管理器传递给新单位。"

msgid "Fixes / interactions with other extensions"
msgstr "修复或与其他扩展的交互"

Expand Down
Loading