Phobos icon indicating copy to clipboard operation
Phobos copied to clipboard

AE Bonus & Bound for received damage and speed

Open Coronia opened this issue 1 year ago • 1 comments

  • FirepowerBonus, ArmorBonus, SpeedBonus and ROFBonus can also be used to modify the object's stats, but in the way of increasing/decreasing a fixed value to them. Will be calculated after all sort of multipliers.
    • FirepowerBonus and SpeedBonus add a value to the object's firepower and speed, respectively.
    • ArmorBonus can be set on both techno, shield and attached effect. It decreases the damage taken by a fixed value. This is applied before armor type.
    • ROFBonus decreases weapon reload rate by a fixed value. Can't be reduced to value below 1.
  • ReceivedDamage.Minimum and ReceivedDamage.Maximum control the minimum and maximum amount of damage that can be dealt to object in a single hit. This is applied after armor type.
    • If the object has ReceivedDamage.Minimum by itself or is affected by multiple attached effects with ReceivedDamage.Minimum, the maximum amount of these would be used.
    • If the object has ReceivedDamage.Maximum by itself or is affected by multiple attached effects with ReceivedDamage.Maximum, the minimum amount of these would be used.
  • Speed.Minimum and Speed.Maximum control the minimum and maximum speed that the object could have.
    • If the object has Speed.Minimum by itself or is affected by multiple attached effects with Speed.Minimum, the maximum amount of these would be used.
    • If the object has Speed.Maximum by itself or is affected by multiple attached effects with Speed.Maximum, the minimum amount of these would be used.

In rulesmd.ini:

[SOMEATTACHEFFECT]                             ; AttachEffectType
FirepowerBonus=0                               ; integer
ArmorBonus=0                                   ; integer
SpeedBonus=0.0                                 ; floating point value
ROFBonus=0                                     ; integer
ReceivedDamage.Minimum=-2147483648             ; integer
ReceivedDamage.Maximum=2147483647              ; integer
Speed.Minimum=0.0                              ; floating point value
Speed.Maximum=2147483647.0                     ; floating point value

[SOMETECHNO]                                   ; TechnoType
ArmorBonus=0                                   ; integer
ReceivedDamage.Minimum=-2147483648             ; integer
ReceivedDamage.Maximum=2147483647              ; integer
Speed.Minimum=0.0                              ; floating point value
Speed.Maximum=2147483647.0                     ; floating point value

[SOMESHIELDTYPE]                               ; ShieldType name
ArmorBonus=0                                   ; integer

Coronia avatar Sep 01 '24 04:09 Coronia

Nightly build for this pull request:

This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build.

github-actions[bot] avatar Sep 01 '24 05:09 github-actions[bot]

The cost (more perf tax for AE) doesn't really march what it can provide. 'Bonus' has rather limited usage and can be replaced by proper 'Multiplier' setting in many times. It would also be chaotic when AEs with different 'bound' apply together, the maximum/minimum rule is unintuitive and doesn't fit some certain demand

Though, if someone has the need to make ReceiveDamage/Speed bounds for Techno, I could make a smaller PR for that

Coronia avatar Mar 12 '25 11:03 Coronia