Jump to content
  • 0

[3.0] Consecrated Ground triggers Eyestrike from Elryn's Jacket


Wolken3156

Question

Whenever my Chanter's Shod-In-Faith boots activates Consecrated Ground, if the spell hits my Cipher who is equipped with Elryn's Jacket, it activates the jacket causing my Chanter to be hit with Eyestrike. This doesn't happen with any buff spells or other healing spells, so I assume this is a bug.

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Bumping this, as the issue still seems to occur in 3.03.

 

Also this seems to also occur not just with armor effects, but buff spells as well. It happened on my Priest when she used Dire Blessing on my Cipher.

post-102367-0-08891300-1472555548_thumb.jpg

post-102367-0-02955400-1472555859_thumb.jpg

Edited by Wolken3156
Link to comment
Share on other sites

  • 0

Hey Wolken,

 

I've been trying to reproduce this issue with no luck :(. We did get a fix in for this issue though it was a design fix so it wouldn't have been retroactive. If your save is old enough the bug will still be present. Let me know if you experience this in a new play through.

 

I got your back

-Sking

Link to comment
Share on other sites

  • 0

I've been able to reproduce it with both Deleterious Alacrity and Restore Endurance spells, also on a freshly started game. It can take a while to trigger it due to the 10% trigger chance, but chain-casting Alacrity with Dexterity set to 500 and console-resting mid-combat to replenish spells gets you there fairly quickly still. I also encountered a different issue with it actually, with enemies that were attacking me (but missing due to my towering Resolve) also getting hit by the Eyestrike triggered by my own Deleterious Alacrity. This is quite similar to the Consecrated Ground + Knockdown (and similar) effect (see https://forums.obsidian.net/topic/88371-303-issue-with-knock-down-and-necrotic-lance/), though I can't be sure it's exactly the same mechanism. In any case, that's a different issue than in this thread.

 

Anyway, the actual resolution of the effect is initiated by the ItemModComponent.HandleHealthOnDamaged() function which is itself tied to an OnDamaged event handler. The 'damaged' part of that is actually very broadly defined, it essentially gets tripped by anything that intantiates an AttackBase (or derived) object (unless they have their FakeAttack flag set). This includes for example Consecrated Ground and Restore Endurance spells as well, which use an AttackAOE to get their healing done.

 

The ItemModComponent.HandleHealthOnDamaged() function handles three trigger ItemMod trigger types: trigger on hit/crit, trigger on crit, and stamina below a given percentage. The TargetMode can be set to either Self or Enemy, with the Elryn's Jacket effect obviously being set to Enemy. However, the function simply grabs the first GameObject from the GameEventArgs passed as argument to the function, but doesn't actually check whether this is an enemy or an ally (or self). Since many beneficial effects will trip this event handler as well, this isn't guaranteed to be the case. 

 

The most straightforward solution would be to do a faction check in this function on the alleged enemy when the TargetMode is set to Enemy, to stop it triggering on allies/self. Obviously this would affect more than just Elryn's Jacket, though likely not that many and probably all effects that are not supposed to hit allies either anyway (TargetMode is 'Enemy', after all). With access to the game database, should be easy to check what ItemMods have this combination of TriggerType and TargetMode (but a lot harder from the prefab files, can't easily search through them).

 

A side effect of this would of course also be that these effects won't trigger on friendly fire like Fan of Flames either, but I'd say that's preferable to them triggering on buffs and such. A possible workaround for that might be to (additionally) check the IsHostile flags on for example the DamageInfo, ie. suppress the trigger for with 'Enemy' targetmode only on detecting an ally *and* the DamageInfo.AttackIsHostile() being set to false. I'm not sure how reliably the AttackIsHostile() is set at that point though, so some stuff might still end up being incorrectly flagged as hostile or not. More likely the latter though, I'd expect, so that might be better than not triggering on allied hostile effects at all; though I'd probably suppress triggering also on hostile effects originating from the character him/herself, that would get a bit weird otherwise (and Deleterious Alacrity might well be flagged as hostile, considering it damages you as well).

  • Like 3
Link to comment
Share on other sites

  • 0
I've been trying to reproduce this issue with no luck :(. We did get a fix in for this issue though it was a design fix so it wouldn't have been retroactive. If your save is old enough the bug will still be present. Let me know if you experience this in a new play through.

Unfortunately this save was created after 3.03 came out.

 

I was also to reproduce this on a brand new save file.

 

EDIT: Save File and Output Log

post-102367-0-13076900-1472974313_thumb.jpg

Edited by Wolken3156
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...