Read the bullet points at the bottom for a summation. This issue (set of issues) is murky on what is a “bug” versus what is not a “bug” on areas where the intent is not clear, which is discussed in the following paragraphs, but there are at least a couple instances here that are bugs because the intent has been clearly stated by official sources in the past and will require game changes (as opposed to text) to fix. Or all the way to the bottom to get the gist to show that this is relevant to the issue(s).
Until as recently as a several months ago, Sacrifice’s kill used to be stopped by simple barrier as well as the Invulnerable trait. At the time, it was the only kill ally spell that worked like this for barrier, and I thought I tested everything with Invulnerable as well to similar results. As far as I know, things that kill allies are always supposed to pierce through any immunity, and this is the official stance, so Elspeth and Dullahan are both technically bugged (FYI, both Sacrificial Preist and Widow Queen “correctly” pierce Invulnerable, I just tested that right now, and I also confirmed Elspeth did not kill my doom on my team). But its the spell that pierces immunity, and it is the spell on each that is inconsistent, not the trait.
Actually, technically, the spell and trait are both consistent in the way that they work for either side (not with other versions of things that use the same language), but for them to be working as intended, they actually need to be inconsistent. For example, if the towers this week are going to block Elspeth’s instakill and this is intended even though it comes from an ally but the towers are “special” in a way that player controlled Dooms are not so the player shouldn’t be able to skirt this rule, then there would either need to be a different Elsepeth spell in this weeks invasion or a different invulnerable trait for boss entitites. Otherwise, Elspeth needs to be able to kill both player controlled dooms and AI controlled towers, because both are allies, and thats how ally instakills work, because that is the unwritten rule. With something like Dullahan, in order for it to abide the “kill ally always works” rule, it would have to have the “transcendent” instakill if it targets an ally, but the “normal” instakill if it happens to target the enemy, so an enemy doom would always block it, but an ally one would always get killed. One could argue an exception for Dullahan, because it is random on which side it targets and therefore immunity should apply on both sides). I’m going by the logic that Invulnerable on event bosses is considered sacrosanct, and no instakill should ever work on invulnerable event bosses, so something like Dullahan should not be able to pierce immunity on both sides to be “equal”.
Devour Ally being blocked is a different issue, because I don’t think it was ever explicitly stated that Devour Ally was intended to always land through traits. In fact, it never has pierced traits, historically, and there are only two troops that have it, only one of which is a legacy, whereas instakill ally first appeared on Sacrificial Priest and was allowed to be blocked by barrier for all of a couple hours before being changed to pierce it and has been officially stated that spells like this are intended to always kill. However, there is also a massive inconsistency here when it comes to how this works for the Devour as well - neither troop (vash’dagon or black beast) will pierce traits, but one of them (Vash) does not even dispel his victim before attempting to devour and is blocked by not only traits but Bless OR Barrier. This latter part was confirmed to be unintentional on stream (one of the dev QA streams, when asked the question about giving Vash’Dagon a shadow dispel like Black Beast, Nimhain said something along the lines of “oh, I thought we did, we’ll look into that”), and is therefore a bug that still needs action to fix.
So this may only be tangentially related, but in my opinion, Devour Ally should be made transcendent in the way ally sacrifice instakills are (intended to be) for the sake of consistency and balance. Especially for Vash’Dagon, who can otherwise summon stuff he can’t devour. (If this cannot be directly facilitated due to coding reasons, have the spell dispel then curse the target, then attempt the devour, which would work on anything but the Dooms on the player side).
I’m not sure this will get any attention now that it has been marked [Not a Bug] (maybe edit to [New Info]?). The original issue brought up was to disambiguate ally instakills (sacrifices) from enemy instakills through terminology, but the Elspeth (and possibly Dullahan) thing should be considered a bug that will require some changes to the way the game works to fix. Part of what was brought up in the original post (devour being blocked by immunities) was also completely glossed over in the response, and part of it is a confirmed but still undocumented bug.
BUG: All instakills that target allies are intended to pierce all immunities. Therefore, currently, Elspeth (and possibly Dullahan) are not working as intended because they fall outside this leaving Elspeth (possibly Dullahan) bugged and needing a spell change to fix
UNSURE: Not sure if Towers “Invulernable” are intended to be special in the sense that they are supposed to override the “ally instakills always work” rule mentioned above. If so, they need a different version of the Invulnerable trait than player obtainable dooms. Unclear if “bug” or “intended” EDIT: it appears to be the case that towers are intended to skirt the “ally instakills always work” rule. I’m pretty sure this wasn’t the case during the last invasion to have Elspeth, and the only reason she can’t kill towers now is because she can’t hit through Invulnerable, full stop
FEEDBACK: Not a “bug” per se, but this “ally instakill rule” should be better documented (the original conclusion that was arrived at when this thread was originally marked “not a bug”, ie., looking at changing the language of ally instakills to “sacrifice an ally”, adding a tooltip for “sacrifice” that states it bypasses immunities)
?/FEEDBACK?: Ally Devours (Black Beast, Vash’Dagon) should probably work like this as well for not only consistency but balance and logic reasons, but they are different, they are coded differently, and I haven’t heard an official stance on this either way on the “intent” here behind Ally Devour spells and why they should or should not be treated differently from sacrifice spells. Therefore not sure if “bug” or “feedback request”, but ally devours should function like ally instakills and always work regardless of traits or statuses, including possibly some kind of terminology differentiation BEFORE POSTING EDIT: It is now been stated that things that devour allies will do so through immunities on the player teams, and these very explicity do not, therefore, bug, needs spell change to fix.
BUG: Vash’Dagon is intended to at least not be blocked by status effects that prevent devour, which is a confirmed (on dev QA stream), persisting (as of right before this post) but not documented (on known issues) bug that will require a spell change to fix
Super condensed TL;DR version:
It doesn’t currently work this way, and the spell(s) and/or traits would need to be changed so it does work this way, therefore, this is a bug.
Edit: And heres a clip of Elspeth, casting on and not killing an ally doom on the Player controlled side:
Edit2: Heres one of Vash’Dagon failing to devour an ally with immunity trait on the Player controlled side:
Edit3: Vash’Dagon getting a devour ally blocked by barrier on Player side (consumes barrier, just like any devour attempt would on an enemy)