The 5 non-piercing active attack modifier:

1. Drow' Frost Arrows
2. Huskar's Burning Spears
3. Outworld Devourer's Arcane Orb
4. Silencer's Glaives of Wisdom
5. Viper's Poison Attack

They all properly check for spell immunity upon projectile launch and projectile impact.

However, Frost Arrows, Arcane Orb and Poison Attack also make one check upon attack begin, and this check makes them not launch modifier attacks if the target was spell immune upon attack begin, but not spell immune upon projectile launch.


Repro:
1. Pick Drow/OD/Viper and level up their attack modifier and put them on auto-cast
2. Create an enemy Enchantress, max out Untouchable and give her a Black King Bar
3. Use the Black King Bar
4. On the las second of Black King Bar's duration, order your hero to attack Enchantress
4.1. Time it so that the attack begins while Ench is spell immune, but reaches attack point after the spell immunity expired

Result: Frost Arrows, Arcane Orbs or Poison Attacks are not launched, despite the target not being spell immune upon reaching the attack point.

Expected: If the target is not spell immune on launch, the attack should get modified by the active attack modifier.

This works currently fine for Burning Spears and Glaives of Wisdom.


So there should be 2 checks in total:

1. Check for spell immunity projectile launch: If spell immune, launch regular attack, if not, apply modifier. If this check is done, it shouldn't be needed to check for spell immunity on attack begin.
2. Check for spell immunity on projectile impact: In case of the target turning spell immune after launch


Currently, all 5 of them do those 2 checks. Just the 3 of them have that additional, unnecessary check on attack begin.