Jump to content
View in the app

A better way to browse. Learn more.

Obsidian Forum Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

How do I create a wizard ability that make allies immune to aoe spells cast by the wizard?

I have done the following:

  1. Created an aura ability with Ally as ValidTargetTypes
  2. Created a status effect with 999 AOEDefense
  3. Added Class Wizard, Source Spell, Target Type AOE as AttackFilter in the status effect (not sure if correct)?

I think I need to use ApplicationPrerequisites instead of AttackFilter but I do not know which condition to use.

Anyone can point out the correct setup?

Edited by Cmushi

  • Author

Tried different setups with no luck:

  1. Replaced AOEDefense with Immunity
  2. Set TriggerAdjustment on OnApply and ValidateWithAttackFilter True
  3. Removed Aura and set StatusEffect with AllAccuracy -999 

None of them are preventing hitting allies and I still do not how to limit to allies only.

It's not the most elegant solution as far as comparability with other mods but one thing you try is to change all the desired spells' attacks to have an AffectedTargetCondtional that checks for a specific status effect that caster has applied with the ability.
Something like:

not HasStatusEffectFromSource(Target, ignore_friendly_damage, Owner)

This should apply the effect of the spell but only on condition that the Target hasn't been given the status effect from the Caster (owner). I think... I haven't really tested this beyond a single ability.

Edited by Kvellen

  • Author
On 7/31/2024 at 2:37 PM, Kvellen said:

It's not the most elegant solution as far as comparability with other mods but one thing you try is to change all the desired spells' attacks to have an AffectedTargetCondtional that checks for a specific status effect that caster has applied with the ability.
Something like:

not HasStatusEffectFromSource(Target, ignore_friendly_damage, Owner)

This should apply the effect of the spell but only on condition that the Target hasn't been given the status effect from the Caster (owner). I think... I haven't really tested this beyond a single ability.

Thank you for the suggestion. I am currently in the process of creating copies of the spells and adjusting them to be foe-only, which requires a similar amount of time as tweaking the spell attacks.

  • Author

I noticed that the Paladin ability, Aegis of Loyalty, grants intellect immunity to an ally which is similar to what I am trying to achieve.

I copied the implementation, as it triggers an effect when hitting allies but it still did not work.

Ability:

image.thumb.png.539b22155ffd8ebef9f0e5977f20630a.png

ApplyOnEvent SE:

image.thumb.png.0063a8c0d9184c4390f98040c0eec187.png

Immunity SE:

image.thumb.png.c138d180864f8bde932e607d11aa4958.png

I tested Immunity SE by calling it directly via the ability (and skipping ApplyOnEvent SE). "Immunity" appeared in the log after casting Chill Fog on self. This never happened when Chill Fog hit allies while the ability was active.

I then tested ApplyOnEvent SE by replacing the Immunity SE with Restore_SE_Heal. Heal only appeared on one ally and not the rest.

What I can conclude is the ApplyOnEvent SE is being triggered once and combined with the Immunity SE is preventing from not triggering at all.

Are there any changes that can resolve this issue?

 

I think your conclusions here are correct. The "ApplyStatusEffectToEnemyOnEvent" only ever applied to a single target with each AoE attack. Though from what I am seeing when does apply it, it's done after the attacks damage is done. ie. enemy is Grazed/Hit/Crit -> Damage -> Status Effect applied to enemy. I'd assume this works for Aegis of Loyalty since it is a Single-Target attack that's applying a brief Immunity to the Intellect Afflictions.

Going back to your earlier posts, Aura Abilities seem to be a bit finicky when used as activated spells. On my end it only seemed to activate briefly and effect just the caster. Switching over to applying the Status Effect with an AoE ability had more reliable results. Maybe something like a self targeted AoE or Pulsing AoE could be used to mimic the behaviour of an aura instead?
For the Status Effect itself, an "AttackResistance" (set to a Value of "1") or "Immunity" Status Effect with Attack Filters of "Class" = "Wizard" and "TargetType" = "AoE" seemed to work. Though the main caveat there was there is nothing in the AttackFilter that's filtering out only the attacks made by the specific Wizard.

Something I was thinking, though couldn't really see anyway to do, was maybe it's possible to attach a temporary Keyword to the character's attacks somehow? If that's possible it at least gives the Resistance/Immunity an additional layer of specificity to apply to filtering out attacks.

Create an account or sign in to comment

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.