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/New-or-Enhanced-Logics.md
+8Lines changed: 8 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@ This page describes all the engine features that are either new and introduced b
8
8
9
9
- Similar (but not identical) to [Ares' AttachEffect](https://ares-developers.github.io/Ares-docs/new/attacheffect.html), but with some differences and new features. The largest difference is that here attached effects are explicitly defined types.
10
10
-`Duration` determines how long the effect lasts for. It can be overriden by `DurationOverrides` on TechnoTypes and Warheads.
11
+
-`Duration.ApplyVersus.Warhead` can multiply the duration by the set warhead's versus against the target's armor type if it's not negative. Can't reduce duration to below 0 by a negative versus.
11
12
- If `Duration.ApplyFirepowerMult` set to true, the duration will multiply the invoker's firepower multipliers if it's not negative. Can't reduce duration to below 0 by a negative firepower multiplier.
12
13
- If `Duration.ApplyArmorMultOnTarget` set to true, the duration will divide the target's armor multipliers if it's not negative. This'll also include `ArmorMultiplier` from its own and ignore `ArmorMultiplier.Allow/DisallowWarheads`. Can't reduce duration to below 0 by a negative armor multiplier.
13
14
-`Cumulative`, if set to true, allows the same type of effect to be applied on same object multiple times, up to `Cumulative.MaxCount` number or with no limit if `Cumulative.MaxCount` is a negative number. If the target already has `Cumulative.MaxCount` number of the same effect applied on it, trying to attach another will refresh duration of the attached instance with shortest remaining duration.
@@ -20,6 +21,8 @@ This page describes all the engine features that are either new and introduced b
20
21
-`inrange`: Discard if within weapon range from current target. Distance can be overridden via `DiscardOn.RangeOverride`.
21
22
-`outofrange`: Discard if outside weapon range from current target. Distance can be overridden via `DiscardOn.RangeOverride`.
22
23
-`firing`: Discard when firing a weapon. This counts special weapons that are not actually fired such as ones with `Spawner=true` or `DrainWeapon=true`.
24
+
- If `DiscardOn.AbovePercent` or `DiscardOn.BelowPercent` is set, the effect is discarded when the object's health percentage is above/below that value.
25
+
- If `AffectAbovePercent` or `AffectBelowPercent` is set, the effect can be applied only when the object's health percentage is above/below that value.
23
26
- If `PenetratesIronCurtain` is not set to true, the effect is not applied on currently invulnerable objects.
24
27
-`PenetratesForceShield` can be used to set this separately for Force Shielded objects, defaults to value of `PenetratesIronCurtain`.
25
28
-`Animation` defines animation to play in an indefinite loop for as long as the effect is active on the object it is attached to.
@@ -84,12 +87,17 @@ In `rulesmd.ini`:
84
87
85
88
[SOMEATTACHEFFECT]; AttachEffectType
86
89
Duration=0 ; integer - game frames or negative value for indefinite duration
90
+
Duration.ApplyVersus.Warhead= ; WarheadType
87
91
Duration.ApplyFirepowerMult=false ; boolean
88
92
Duration.ApplyArmorMultOnTarget=false ; boolean
89
93
Cumulative=false ; boolean
90
94
Cumulative.MaxCount=-1 ; integer
91
95
Powered=false ; boolean
92
96
DiscardOn=none ; List of discard condition enumeration (none|entry|move|stationary|drain|inrange|outofrange)
97
+
DiscardOn.AbovePercent= ; floating point value, percents or absolute (0.0-1.0)
98
+
DiscardOn.BelowPercent= ; floating point value, percents or absolute (0.0-1.0)
99
+
AffectAbovePercent= ; floating point value, percents or absolute (0.0-1.0)
100
+
AffectBelowPercent= ; floating point value, percents or absolute (0.0-1.0)
93
101
DiscardOn.RangeOverride= ; floating point value, distance in cells
0 commit comments