void main()
{
    object   oTarget   = OBJECT_SELF;

//-- reset routine to string anims
//-- note, will remove all vfx!
SetCommandable(TRUE, oTarget);
AssignCommand(oTarget, ClearAllActions());

    effect eFX = GetFirstEffect(oTarget);

  while (GetIsEffectValid(eFX))
  {
     if(GetEffectType(eFX) == EFFECT_TYPE_VISUALEFFECT)
    {
     RemoveEffect(oTarget, eFX);
    }
        eFX = GetNextEffect(oTarget);
  }

//-- anim started and frozen. target frozen (not commandable)

    effect eFreeze = EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION);

AssignCommand(oTarget, ClearAllActions());
AssignCommand(oTarget, PlayAnimation(ANIMATION_LOOPING_WORSHIP, 2.0, 6.0));

DelayCommand(2.8, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eFreeze, oTarget));
//DelayCommand(3.3, SetCommandable(FALSE, oTarget));


}