Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revenge weapon for shield breaking & overridden by warheads #1411

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

Coronia
Copy link
Contributor

@Coronia Coronia commented Oct 24, 2024

1 - Revenge weapon could be fired when a shield is broken

  • RevengeWeapon, if set, will be fired on whoever dealt the damage that broke the shield. If it's broken by sources other than direct damage dealt by another TechnoType, RevengeWeapon will not be fired.
    • RevengeWeapon.AffectsHouses can be used to filter which houses the damage that broke the shield is allowed to come from to fire the weapon.
    • If RevengeWeapon.AllFire set to true, all RevengeWeapon the TechnoType has will be fired if its RevengeWeapon.CanFire.ShieldBreak set to true, including those on its own or granted by attached effects.
    • Ìf a Warhead has SuppressRevengeWeapons set to true, it will not trigger revenge weapons. SuppressRevengeWeapons.Types can be used to list WeaponTypes affected by this, if none are listed all WeaponTypes are affected.

Warhead can override the above properties if its damage breaks a shield

  • Shield.RevengeWeapon will be fired instead of ShieldType RevengeWeapon if the shield is broken by the Warhead. Shield.RevengeWeapon.AffectsHouses and Shield.RevengeWeapon.AllFire override the RevengeWeapon.AffectsHouses and RevengeWeapon.AllFire respectively for this shield breaking as well, if set.

In rulesmd.ini:

[SOMESHIELDTYPE]                            ; ShieldType name
RevengeWeapon=                              ; WeaponType
RevengeWeapon.AffectsHouses=all             ; list of Affected House Enumeration (none|owner/self|allies/ally|team|enemies/enemy|all)
RevengeWeapon.AllFire=false                 ; boolean

[SOMEWARHEAD]                               ; WarheadType
Shield.RevengeWeapon=                       ; WeaponType
Shield.RevengeWeapon.AffectsHouses=         ; list of Affected House Enumeration (none|owner/self|allies/ally|team|enemies/enemy|all)
Shield.RevengeWeapon.AllFire=               ; boolean

[SOMETECHNO]                                ; TechnoType
RevengeWeapon.CanFire.ShieldBreak=true      ; boolean

[SOMEATTACHEFFECT]                          ; AttachEffectType
RevengeWeapon.CanFire.ShieldBreak=true      ; boolean

2 - Warhead can override revenge weapon properties if it kills a unit

  • If a Warhead has RevengeWeapon set, it will be fired instead of TechnoType RevengeWeapon if it's killed by the Warhead. RevengeWeapon.AffectsHouses and RevengeWeapon.CanFire.ShieldBreak override TechnoType RevengeWeapon.AffectsHouses and RevengeWeapon.CanFire.ShieldBreak respectively for this kill as well, if set. Can't override revenge weapon settings granted by attached effects.

In rulesmd.ini:

[SOMEWARHEAD]                           ; WarheadType
RevengeWeapon=                          ; WeaponType
RevengeWeapon.AffectsHouses=            ; list of Affected House Enumeration (none|owner/self|allies/ally|team|enemies/enemy|all)
RevengeWeapon.CanFire.ShieldBreak=      ; boolean

Copy link

github-actions bot commented Oct 24, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant