Beispiel #1
0
        static void CreateCloneOf(Mobile m)
        {
            var characterClone = new CharacterClone(m);

            foreach (var itemOriginal in m.Items)
            {
                if (itemOriginal.Parent == m && itemOriginal.Layer != Layer.Mount)
                {
                    characterClone.AddItem(new ItemClone(itemOriginal));
                }
            }

            if (m.Mounted)
            {
                var baseMount     = m.Mount as BaseMount;
                var etherealMount = m.Mount as EtherealMount;

                if (baseMount != null)
                {
                    new MountClone(baseMount).Rider = characterClone;
                }
                else if (etherealMount != null)
                {
                    new EtherealMountClone(etherealMount).Rider = characterClone;
                }
            }
        }
        static void CreateCloneOf(Mobile m)
        {
            var characterClone = new CharacterClone(m);

            foreach (var itemOriginal in m.Items)
                if (itemOriginal.Parent == m && itemOriginal.Layer != Layer.Mount)
                    characterClone.AddItem(new ItemClone(itemOriginal));

            if (m.Mounted)
            {
                var baseMount = m.Mount as BaseMount;
                var etherealMount = m.Mount as EtherealMount;

                if (baseMount != null)
                    new MountClone(baseMount).Rider = characterClone;
                else if (etherealMount != null)
                    new EtherealMountClone(etherealMount).Rider = characterClone;
            }
        }