You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Fixed-or-Improved-Logics.md
+21-23Lines changed: 21 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -213,17 +213,15 @@ This page describes all ingame logics that are fixed or improved in Phobos witho
213
213
- Fixed an issue that units on the slope tilted at an excessive angle.
214
214
- Fixed an issue that impassable invisible barrier generated by the behavior of infantry continuously entering vehicles.
215
215
- Fixed an issue that teleport units board transport vehicles on the bridge will create an impassable invisible barrier, which may cause the game to freeze or even crash.
216
-
- Fixed an issue that MCV will self-destruct when using trigger 107 to teleport.
217
216
- Fixed an issue that moving MCV with Teleport locomotion will cause reconnection error.
218
217
- Fixed wrong shadow when a vehicle has hover locomotor and is being lifted by `IsLocomotor=yes` warhead.
219
218
- Fixed the bug that a unit can overlap with `Teleport` units after it's been damaged by a fallen unit lifted by `IsLocomotor=yes` warheads.
220
219
- Fixed an issue that game crashes (EIP:7FB178) when infantry are about to enter an occupiable building that has been removed and is not real dead.
221
220
- Fixed an issue that game crashes when spawnee has been removed and is not real dead.
222
221
- Separated the AirstrikeClass pointer between the attacker/aircraft and the target to avoid erroneous overwriting issues.
223
222
- Fixed the bug that buildings will always be tinted as airstrike owner.
224
-
- Fixed the bug that 'AllowAirstrike=no' cannot completely prevent air strikes from being launched against it.
223
+
- Fixed the bug that `AllowAirstrike=no` cannot completely prevent air strikes from being launched against it.
225
224
- Fixed the issue where computer players did not search for new enemies after defeating them or forming alliances with them.
226
-
- Fixed an issue that spawned `Strafe` aircraft on aircraft carriers may not be able to return normally if aircraft carriers moved a short distance when the aircraft is landing.
227
225
228
226
## Fixes / interactions with other extensions
229
227
@@ -703,6 +701,22 @@ BallisticScatter.Max= ; floating point value, distance in cells
703
701
704
702
## Technos
705
703
704
+
### Airstrike target eligibility
705
+
706
+
- By default whether or not a building can be targeted by airstrikes depends on value of `CanC4`, which also affects other things. This can now be changed independently by setting `AllowAirstrike`. If not set, defaults to value of `CanC4`.
707
+
- For non building situations, the default value is true.
708
+
- Now it is possible to designate air strikes against non building targets.
709
+
- The airstrike aircraft will now aim at the target itself rather than the cell beneath its feet.
710
+
711
+
In `rulesmd.ini`:
712
+
```ini
713
+
[SOMETECHNO]; TechnoType
714
+
AllowAirstrike= ; boolean
715
+
716
+
[SOMEWARHEAD]; WarheadType
717
+
AirstrikeTargets=building ; List of Affected Target Enumeration (none|infantry|units|buildings|all)
718
+
```
719
+
706
720
### Alternate FLH customizations
707
721
708
722
-`AlternateFLH.OnTurret` can be used to customize whether or not `AlternateFLHN` used for `OpenTopped` transport firing coordinates, multiple mind control link offsets etc. is calculated relative to the unit's turret if available or body.
- It is now possible to set a global cap for the effects of `InfantryGainSelfHeal` and `UnitsGainSelfHeal` by setting `InfantryGainSelfHealCap` & `UnitsGainSelfHealCap` under `[General]`, respectively.
719
733
- Whether or not `MultiplayPassive=true` houses benefit from these effects can be controlled via `GainSelfHealAllowMultiplayPassive`.
720
-
- It is also possible to change the pip frames displayed from `pips.shp` individually for infantry, units and buildings by setting the frames for infantry & unit self-healing on `Pips.SelfHeal.Infantry/Units/Buildings` under `[AudioVisual]`, respectively.
721
-
-`Pips.SelfHeal.Infantry/Units/Buildings.Offset` can be used to customize the pixel offsets for the displayed pips, individually for infantry, units and buildings.
734
+
- It is also possible to change the pip frames displayed from `pips.shp` individually for infantry, units and buildings by setting the frames for infantry & unit self-healing on `Pips.SelfHeal.(Infantry/Units/Buildings)` under `[AudioVisual]`, respectively.
735
+
-`Pips.SelfHeal.(Infantry/Units/Buildings).Offset` can be used to customize the pixel offsets for the displayed pips, individually for infantry, units and buildings.
722
736
- Whether or not a TechnoType benefits from effects of `InfantryGainSelfHeal` or `UnitsGainSelfHeal` buildings or neither can now be controlled by setting `SelfHealGainType`.
723
737
- If `SelfHealGainType` is not set, InfantryTypes and VehicleTypes with `Organic` set to true gain self-healing from `InfantryGainSelfHeal`, other VehicleTypes from `UnitsGainSelfHeal` and AircraftTypes & BuildingTypes never gain self-healing.
724
738
@@ -744,9 +758,9 @@ SelfHealGainType= ; Self-Heal Gain Type Enumeration (nohea
- It is now possible to customize the frame delay between instances of `[General] -> ChronoSparkle1` animations created on objects being warped by setting `[General] -> ChronoSparkleDisplayDelay`.
747
-
- By default on buildings with `MaxOccupants` higher than 0, chrono sparkle animation would be shown at each of the `MuzzleFlashX` coordinates. This behaviour is now customizable, and supports `MuzzleFlashX` indices higher than 10.
761
+
- By default on buildings with `MaxNumberOccupants` higher than 0, chrono sparkle animation would be shown at each of the `MuzzleFlashX` coordinates. This behaviour is now customizable, and supports `MuzzleFlashX` indices higher than 10.
748
762
-`[General] -> ChronoSparkleBuildingDisplayPositions` can be set to show the sparkle animation on the building (`building`), muzzle flash coordinates of current occupants (`occupants`), muzzle flash coordinates of all occupant slots (`occupantslots`) or any combination of these.
749
-
- If `occupants` or `occupantslots` is listed without `building`, a single chrono sparkle animation is still displayed on building if it doesn't have any occupants or it has `MaxOccupants` value less than 1, respectively.
763
+
- If `occupants` or `occupantslots` is listed without `building`, a single chrono sparkle animation is still displayed on building if it doesn't have any occupants or it has `MaxNumberOccupants` value less than 1, respectively.
750
764
- The chrono sparkle animation that is displayed on building itself is also now displayed at the center of it rather than at center of its topmost cell.
751
765
752
766
In `rulesmd.ini`:
@@ -840,22 +854,6 @@ In `artmd.ini`:
840
854
Image= ; name of the file that will be used as image, without extension
841
855
```
842
856
843
-
### Airstrike target eligibility
844
-
845
-
- By default whether or not a building can be targeted by airstrikes depends on value of `CanC4`, which also affects other things. This can now be changed independently by setting `AllowAirstrike`. If not set, defaults to value of `CanC4`.
846
-
- For non building situations, the default value is true.
847
-
- Now it is possible to designate air strikes against non building targets.
848
-
- The airstrike aircraft will now aim at the target itself rather than the cell beneath its feet.
849
-
850
-
In `rulesmd.ini`:
851
-
```ini
852
-
[SOMETECHNO]
853
-
AllowAirstrike= ; boolean
854
-
855
-
[SOMEWARHEAD]
856
-
AirstrikeTargets=building ; List of Affected Target Enumeration (none|infantry|units|buildings|all)
857
-
```
858
-
859
857
### Customizable veterancy insignias
860
858
861
859
- You can now customize veterancy insignia of TechnoTypes.
Copy file name to clipboardExpand all lines: docs/New-or-Enhanced-Logics.md
+51-52Lines changed: 51 additions & 52 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,6 @@ This page describes all the engine features that are either new and introduced b
50
50
-`AuxWeapon.Retarget.AroundFirer` determines whether the original target or the firer will be the center of the retargeting. `AuxWeapon.Retarget.Range` determines the radius of the retargeting, default to the auxiliary weapon's `Range` if the center is the firer, and 0 if the center is the original target.
51
51
-`AuxWeapon.Retarget.Accuracy` defines the probability that the auxiliary weapon is fired to the original target.
52
52
-`FeedbackWeapon` is fired at the firer.
53
-
-`FireInTransport` setting of the feedback weapon is respected to determine if it can be fired when the original weapon is fired from inside `OpenTopped=true` transport. If feedback weapon is fired, it is fired on the transport. `OpenToppedDamageMultiplier` is not applied on feedback weapons.
54
53
-`Tint.Color` & `Tint.Intensity` can be used to set a color tint effect and additive lighting increase/decrease on the object the effect is attached to, respectively.
55
54
-`Tint.VisibleToHouses` can be used to control which houses can see the tint effect.
56
55
-`FirepowerMultiplier`, `ArmorMultiplier`, `SpeedMultiplier` and `ROFMultiplier` can be used to modify the object's firepower, armor strength, movement speed and weapon reload rate, respectively.
@@ -80,7 +79,7 @@ This page describes all the engine features that are either new and introduced b
80
79
-`AttachEffect.InitialDelays` can be used to set the delays before first creating the effects on TechnoType. Defaults to 0 (immediately). Delay matching the position in `AttachTypes` is used for that type, or the last listed delay if not available.
81
80
-`AttachEffect.RecreationDelays` is used to determine if the effect can be recreated if it is removed completely (e.g `AttachEffect.RemoveTypes`), and if yes, how long this takes. Defaults to -1, meaning no recreation. Delay matching the position in `AttachTypes` is used for that type, or the last listed delay if not available.
82
81
- Note that neither `InitialDelays` or `RecreationDelays` count down if the effect cannot currently be active due to `DiscardOn` condition.
83
-
82
+
84
83
- AttachEffectTypes can be attached to objects via Warheads using `AttachEffect.AttachTypes`.
85
84
-`AttachEffect.DurationOverrides` can be used to override the default durations. Duration matching the position in `AttachTypes` is used for that type, or the last listed duration if not available.
86
85
-`AttachEffect.CumulativeRefreshAll` if set to true makes it so that trying to attach `Cumulative=true` effect to a target that already has `Cumulative.MaxCount` amount of effects will refresh duration of all attached effects of the same type instead of only the one with shortest remaining duration. If `AttachEffect.CumulativeRefreshAll.OnAttach` is also set to true, this refresh applies even if the target does not have maximum allowed amount of effects of same type.
- Now you can let infantry or vehicle passengers quickly enter or leave the transport vehicles without queuing.
1772
-
1773
-
In `rulesmd.ini`:
1774
-
```ini
1775
-
[General]
1776
-
NoQueueUpToEnter=false ; boolean
1777
-
NoQueueUpToUnload=false ; boolean
1778
-
1779
-
[SOMEVEHICLE]; VehicleType
1780
-
NoQueueUpToEnter= ; boolean, default to [General] -> NoQueueUpToEnter
1781
-
NoQueueUpToUnload= ; boolean, default to [General] -> NoQueueUpToUnload
1782
-
```
1784
+
## Terrain
1783
1785
1784
-
### Aggressive attack move mission
1786
+
### Destroy animation & sound
1785
1787
1786
-
-`AttackMove.Aggressive` allows your technos to attack the enemy's unarmed buildings more aggressively when in attack move mission (Ctrl+Shift).
1787
-
-`AttackMove.UpdateTarget` allows your technos to automatically change and select a higher threat target when in attack move mission (Ctrl+Shift).
1788
+
- You can now specify a destroy animation and sound for a TerrainType that are played when it is destroyed.
1788
1789
1789
1790
In `rulesmd.ini`:
1790
1791
```ini
1791
-
[General]
1792
-
AttackMove.Aggressive=false ; boolean
1793
-
AttackMove.UpdateTarget=false ; boolean
1794
-
1795
-
[SOMETECHNO]
1796
-
AttackMove.Aggressive= ; boolean, default to [General] -> AttackMove.Aggressive
1797
-
AttackMove.UpdateTarget= ; boolean, default to [General] -> AttackMove.UpdateTarget
1792
+
[SOMETERRAINTYPE]; TerrainType
1793
+
DestroyAnim= ; AnimationType
1794
+
DestroySound= ; Sound entry
1798
1795
```
1799
1796
1797
+
## Vehicles
1798
+
1800
1799
### Amphibious access vehicle
1801
1800
1802
-
- Now you can let amphibious infantry or vehicle passengers enter or leave amphibious transport vehicles on water surface. Defaults to `[General]->AmphibiousEnter` or `[General]->AmphibiousUnload`.
1801
+
- Now you can let amphibious infantry or vehicle passengers enter or leave amphibious transport vehicles on water surface.
1803
1802
1804
1803
In `rulesmd.ini`:
1805
1804
```ini
1806
1805
[General]
1807
1806
AmphibiousEnter=false ; boolean
1808
1807
AmphibiousUnload=false ; boolean
1809
1808
1810
-
[SOMEVEHICLE]; VehicleType
1811
-
AmphibiousEnter= ; boolean
1812
-
AmphibiousUnload= ; boolean
1813
-
```
1814
-
1815
-
## Terrain
1816
-
1817
-
### Destroy animation & sound
1818
-
1819
-
- You can now specify a destroy animation and sound for a TerrainType that are played when it is destroyed.
1820
-
1821
-
In `rulesmd.ini`:
1822
-
```ini
1823
-
[SOMETERRAINTYPE]; TerrainType
1824
-
DestroyAnim= ; AnimationType
1825
-
DestroySound= ; Sound entry
1809
+
[SOMEVEHICLE]; VehicleType, transport
1810
+
AmphibiousEnter= ; boolean, default to [General] -> AmphibiousEnter
1811
+
AmphibiousUnload= ; boolean, default to [General] -> AmphibiousUnload
1826
1812
```
1827
1813
1828
-
## Vehicles
1829
-
1830
1814
### Damaged unit image changes
1831
1815
1832
1816
- When a unit is damaged (health points percentage is lower than `[AudioVisual] -> ConditionYellow` percentage), it now may use different image set by `Image.ConditionYellow` VehicleType.
Note that the VehicleTypes had to be defined under [VehicleTypes] and use same image type (SHP/VXL) for vanilla/damaged states.
1847
1831
```
1848
1832
1833
+
### Fast access vehicle
1834
+
1835
+
- Now you can let infantry or vehicle passengers quickly enter or leave the transport vehicles without queuing.
1836
+
1837
+
In `rulesmd.ini`:
1838
+
```ini
1839
+
[General]
1840
+
NoQueueUpToEnter=false ; boolean
1841
+
NoQueueUpToUnload=false ; boolean
1842
+
1843
+
[SOMEVEHICLE]; VehicleType, transport
1844
+
NoQueueUpToEnter= ; boolean, default to [General] -> NoQueueUpToEnter
1845
+
NoQueueUpToUnload= ; boolean, default to [General] -> NoQueueUpToUnload
1846
+
```
1847
+
1849
1848
### Jumpjet Tilts While Moving
1850
1849
1851
1850

@@ -2019,7 +2018,7 @@ DamageEnemiesMultiplier= ; floating point value
2019
2018
2020
2019
### Detonate Warhead on all objects on map
2021
2020
2022
-
- Setting `DetonateOnAllMapObjects` to true allows a Warhead that is detonated by a projectile (for an example, this excludes things like animation `Warhead` and Ares' GenericWarhead superweapon but includes `Crit.Warhead` and animation `Weapon`) and consequently any `Airburst/ShrapnelWeapon` that may follow to detonate on each object currently alive and existing on the map regardless of its actual target, with optional filters. Note that this is done immediately prior Warhead detonation so after `PreImpactAnim`*(Ares feature)* has been displayed.
2021
+
- Setting `DetonateOnAllMapObjects` to true allows a Warhead that is detonated by a projectile (for an example, this excludes things like animation `Warhead` and Ares' GenericWarhead superweapon but includes `Crit.Warhead` and animation `Weapon`) and consequently any `AirburstWeapon/ShrapnelWeapon` that may follow to detonate on each object currently alive and existing on the map regardless of its actual target, with optional filters. Note that this is done immediately prior Warhead detonation so after `PreImpactAnim`*(Ares feature)* has been displayed.
2023
2022
-`DetonateOnAllMapObjects.Full` customizes whether or not the Warhead is detonated fully on the targets (as part of a dummy weapon) or simply deals area damage and applies Phobos' Warhead effects.
2024
2023
-`DetonateOnAllMapObjects.AffectTargets` is used to filter which types of targets (TechnoTypes) are considered valid and must be set to a valid value other than `none` for this feature to work. Only `none`, `all`, `aircraft`, `buildings`, `infantry` and `units` are valid values. This is set to `none` by default as inclusion of all object types can be performance-heavy.
2025
2024
-`DetonateOnAllMapObjects.AffectHouses` is used to filter which houses targets can belong to be considered valid and must be set to a valid value other than `none` for this feature to work. Only applicable if the house that fired the projectile is known. This is set to `none` by default as inclusion of all houses can be performance-heavy.
0 commit comments