Cmushi Posted July 26 Posted July 26 (edited) How do I create a wizard ability that make allies immune to aoe spells cast by the wizard? I have done the following: Created an aura ability with Ally as ValidTargetTypes Created a status effect with 999 AOEDefense 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 July 26 by Cmushi
Cmushi Posted July 28 Author Posted July 28 Tried different setups with no luck: Replaced AOEDefense with Immunity Set TriggerAdjustment on OnApply and ValidateWithAttackFilter True 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.
Kvellen Posted July 31 Posted July 31 (edited) 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 July 31 by Kvellen
Cmushi Posted August 1 Author Posted August 1 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.
Cmushi Posted August 3 Author Posted August 3 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: ApplyOnEvent SE: Immunity SE: 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?
Kvellen Posted August 6 Posted August 6 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. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now