protected override void DoCopyMembers(BaseEffect Copy)
        {
            BarrierEffect NewEffect = (BarrierEffect)Copy;

            _BarrierType     = NewEffect._BarrierType;
            _ENCost          = NewEffect._ENCost;
            _NumberType      = NewEffect._NumberType;
            _DamageReduction = NewEffect._DamageReduction;
            _BreakingDamage  = NewEffect._BreakingDamage;

            ListEffectiveAttack = new List <string>(NewEffect.ListEffectiveAttack.Count);
            for (int i = NewEffect.ListEffectiveAttack.Count - 1; i >= 0; --i)
            {
                ListEffectiveAttack.Add(NewEffect.ListEffectiveAttack[i]);
            }

            ListBreakingAttack = new List <string>(NewEffect.ListBreakingAttack.Count);
            for (int i = NewEffect.ListBreakingAttack.Count - 1; i >= 0; --i)
            {
                ListBreakingAttack.Add(NewEffect.ListBreakingAttack[i]);
            }

            ListBreakingSkill = new List <string>(NewEffect.ListBreakingSkill.Count);
            for (int i = NewEffect.ListBreakingSkill.Count - 1; i >= 0; --i)
            {
                ListBreakingSkill.Add(NewEffect.ListBreakingSkill[i]);
            }
        }
        protected override BaseEffect DoCopy()
        {
            BarrierEffect NewEffect = new BarrierEffect(Params);

            NewEffect._BarrierType     = _BarrierType;
            NewEffect._ENCost          = _ENCost;
            NewEffect._NumberType      = _NumberType;
            NewEffect._DamageReduction = _DamageReduction;
            NewEffect._BreakingDamage  = _BreakingDamage;

            NewEffect.ListEffectiveAttack = new List <string>(ListEffectiveAttack.Count);
            for (int i = ListEffectiveAttack.Count - 1; i >= 0; --i)
            {
                NewEffect.ListEffectiveAttack.Add(ListEffectiveAttack[i]);
            }

            NewEffect.ListBreakingAttack = new List <string>(ListBreakingAttack.Count);
            for (int i = ListBreakingAttack.Count - 1; i >= 0; --i)
            {
                NewEffect.ListBreakingAttack.Add(ListBreakingAttack[i]);
            }

            NewEffect.ListBreakingSkill = new List <string>(ListBreakingSkill.Count);
            for (int i = ListBreakingSkill.Count - 1; i >= 0; --i)
            {
                NewEffect.ListBreakingSkill.Add(ListBreakingSkill[i]);
            }

            return(NewEffect);
        }