protected override IEnumerable <Guid> GetActionTraits(ArtifactAction action)
        {
            ArtifactAction[] actions = GetActions().ToArray();

            if (action.Equals(actions[0]))
            {
                yield return(Traits.Instances.Divination.ID);

                yield return(Traits.Instances.Scrying.ID);
            }

            if (action.Equals(actions[1]))
            {
                yield return(Traits.Instances.Conjuration.ID);

                yield return(Traits.Instances.Teleportation.ID);
            }

            if (action.Equals(actions[2]))
            {
                yield return(Traits.Instances.Death.ID);

                yield return(Traits.Instances.Healing.ID);

                yield return(Traits.Instances.Necromancy.ID);
            }
        }
        protected override IEnumerable <Guid> GetActionTraits(ArtifactAction action)
        {
            ArtifactAction[] actions = GetActions().ToArray();

            if (action.Equals(actions[0]))
            {
                yield return(Traits.Instances.Emotion.ID);

                yield return(Traits.Instances.Enchantment.ID);

                yield return(Traits.Instances.Incapacitation.ID);

                yield return(Traits.Instances.Visual.ID);
            }

            if (action.Equals(actions[1]))
            {
                yield return(Traits.Instances.Emotion.ID);

                yield return(Traits.Instances.Enchantment.ID);

                yield return(Traits.Instances.Incapacitation.ID);
            }
        }
 protected virtual IEnumerable <Guid> GetActionTraits(ArtifactAction action)
 {
     yield break;
 }