예제 #1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            MirrorImages = new List <LockeColeMirrorImagePortal>();
            switch (version)
            {
            case 1:
            {
                var count = reader.ReadInt();

                if (count > 0)
                {
                    for (int i = 0; i < count; i++)
                    {
                        LockeColeMirrorImagePortal mi = reader.ReadMobile <LockeColeMirrorImagePortal>();
                        if (mi != null)
                        {
                            MirrorImages.Add(mi);
                        }
                    }
                }
            }
                goto case 0;

            case 0:
            {}
            break;
            }
        }
예제 #2
0
        public void MirrorImage_Callback()
        {
            HideEffect();
            Hidden = true;
            CantWalk = true;
            Blessed = true;
            var mob1 = new LockeColeMirrorImagePortal();
            var mob2 = new LockeColeMirrorImagePortal();
            var mob3 = new LockeColeMirrorImagePortal();
            var mob4 = new LockeColeMirrorImagePortal();

            mob1.Hidden = true;
            mob1.CantWalk = true;
            mob1.Blessed = true;
            mob2.Hidden = true;
            mob2.CantWalk = true;
            mob2.Blessed = true;
            mob3.Hidden = true;
            mob3.CantWalk = true;
            mob3.Blessed = true;
            mob4.Hidden = true;
            mob4.CantWalk = true;
            mob4.Blessed = true;

            MirrorImages.Add(mob1);
            MirrorImages.Add(mob2);
            MirrorImages.Add(mob3);
            MirrorImages.Add(mob4);

            SetHits(Hits);

            Timer.DelayCall(TimeSpan.FromSeconds(2), () =>
            {
                mob1.MoveToWorld(Location, Map);
                mob2.MoveToWorld(Location, Map);
                mob3.MoveToWorld(Location, Map);
                mob4.MoveToWorld(Location, Map);

                mob1.SetHits(MirrorImageHealth);
                mob2.SetHits(MirrorImageHealth);
                mob3.SetHits(MirrorImageHealth);
                mob4.SetHits(MirrorImageHealth);

                HideEffect();
                mob1.HideEffect();
                mob2.HideEffect();
                mob3.HideEffect();
                mob4.HideEffect();

                Hidden = false;
                CantWalk = false;
                Blessed = false;

                mob1.Hidden = false;
                mob1.CantWalk = false;
                mob1.Blessed = false;
                mob2.Hidden = false;
                mob2.CantWalk = false;
                mob2.Blessed = false;
                mob3.Hidden = false;
                mob3.CantWalk = false;
                mob3.Blessed = false;
                mob4.Hidden = false;
                mob4.CantWalk = false;
                mob4.Blessed = false;

                CurrentSpell.Clear();
            });
        }
예제 #3
0
        public void MirrorImage_Callback()
        {
            HideEffect();
            Hidden   = true;
            CantWalk = true;
            Blessed  = true;
            var mob1 = new LockeColeMirrorImagePortal();
            var mob2 = new LockeColeMirrorImagePortal();
            var mob3 = new LockeColeMirrorImagePortal();
            var mob4 = new LockeColeMirrorImagePortal();

            mob1.Hidden   = true;
            mob1.CantWalk = true;
            mob1.Blessed  = true;
            mob2.Hidden   = true;
            mob2.CantWalk = true;
            mob2.Blessed  = true;
            mob3.Hidden   = true;
            mob3.CantWalk = true;
            mob3.Blessed  = true;
            mob4.Hidden   = true;
            mob4.CantWalk = true;
            mob4.Blessed  = true;

            MirrorImages.Add(mob1);
            MirrorImages.Add(mob2);
            MirrorImages.Add(mob3);
            MirrorImages.Add(mob4);

            SetHits(Hits);

            Timer.DelayCall(TimeSpan.FromSeconds(2), () =>
            {
                mob1.MoveToWorld(Location, Map);
                mob2.MoveToWorld(Location, Map);
                mob3.MoveToWorld(Location, Map);
                mob4.MoveToWorld(Location, Map);

                mob1.SetHits(MirrorImageHealth);
                mob2.SetHits(MirrorImageHealth);
                mob3.SetHits(MirrorImageHealth);
                mob4.SetHits(MirrorImageHealth);

                HideEffect();
                mob1.HideEffect();
                mob2.HideEffect();
                mob3.HideEffect();
                mob4.HideEffect();

                Hidden   = false;
                CantWalk = false;
                Blessed  = false;

                mob1.Hidden   = false;
                mob1.CantWalk = false;
                mob1.Blessed  = false;
                mob2.Hidden   = false;
                mob2.CantWalk = false;
                mob2.Blessed  = false;
                mob3.Hidden   = false;
                mob3.CantWalk = false;
                mob3.Blessed  = false;
                mob4.Hidden   = false;
                mob4.CantWalk = false;
                mob4.Blessed  = false;

                CurrentSpell.Clear();
            });
        }