Okay, I *think* I figured out how to alter the FlameAtronachEffectScript so conjured atros don't leave an explosion on death (as their form has been pulled back into Oblivion and there's nothing left in the Mundus to explode).
Working from the USKP script source with the silenced debug traces, fixed logged errors, and FXes inappropriately sticking to the player.
Scriptname FlameAtronachEffectScript extends ActiveMagicEffect {This is a temp script to get the art working right for the flame atronach.};===============================================import utilityimport form;===============================================Actor selfRefVisualEffect Property AtronachFlameTrail AutoArmor Property AtronachFlameDeadSkin Auto EffectShader Property AtronachFlameDeathFXS AutoEffectShader Property AtronachUnsummonDeathFXS Autoexplosion property AtronachFlameDeathExplosion autoFormList Property SummonAtroDeathFXExclusionList Autoint atronachHealth EVENT OnEffectStart(Actor Target, Actor Caster) selfRef = caster ;USKP 2.0.1 - Stop this from attaching to the player. if( selfRef == Game.GetPlayer() ) Return EndIf ;USKP 2.0.3 - 3D check, shaders, etc if( selfRef.Is3DLoaded() ) AtronachFlameTrail.Play(selfRef, -1) EndIf ENDEVENT Event OnEffectFinish(Actor akTarget, Actor akCaster) AtronachFlameTrail.Stop(selfRef) ENDEVENT EVENT onDying(actor myKiller) atronachHealth = selfRef.GetAV("Health") as int if atronachHealth > 0; debug.trace("flame health > 0") AtronachFlameTrail.Stop(selfRef) AtronachUnsummonDeathFXS.Play(selfRef) elseIf atronachHealth <= 0 wait(3.0); debug.trace("flame health <= 0") AtronachFlameDeathFXS.Play(selfRef) wait(0.5) ;Conditional to prevent summoned atros that got banished back to Oblivion due to bodily ruination from leaving an explosion if SummonAtroDeathFXExclusionList.HasForm(selfRef) == 0 selfRef.placeAtMe(AtronachFlameDeathExplosion) endif wait(0.1) AtronachFlameTrail.Stop(selfRef) selfRef.EquipItem(AtronachFlameDeadSkin) wait(1) AtronachFlameDeathFXS.Stop(selfRef) endif ENDEVENT
Lines in question are 49-52:
;Conditional to prevent summoned atros that got banished back to Oblivion due to bodily ruination from leaving an explosion if SummonAtroDeathFXExclusionList.HasForm(selfRef) == 0 selfRef.placeAtMe(AtronachFlameDeathExplosion) endif
Will "HasForm" work on the actual ref that is in the game space? The formlist in question contains the summoned atro NPC, the potent variant, the thrall, and the potent thrall. It compiled without error, but I am unsure of it actually working...