예제 #1
0
        private static void OnLogin(LoginEventArgs e)
        {
            Mobile m = e.Mobile;

            if (m.AccessLevel > AccessLevel.GameMaster)
            {
                return;
            }

            ShadowguardInstance inst = GetInstance(m.Location, m.Map);

            if (inst != null)
            {
                ShadowguardEncounter encounter = inst.Encounter;

                if (encounter == null)
                {
                    ShadowguardEncounter.MovePlayer(m, Instance.KickLocation, true);
                }
                else if (m != encounter.PartyLeader)
                {
                    Party p = Party.Get(encounter.PartyLeader);

                    if (p == null || !p.Contains(m))
                    {
                        ShadowguardEncounter.MovePlayer(m, Instance.KickLocation, true);
                    }
                }
            }
        }
예제 #2
0
파일: ExitEntry.cs 프로젝트: zmazza/ServUO
        public override void OnClick()
        {
            ShadowguardInstance instance = ShadowguardController.GetInstance(_From.Location, _From.Map);

            if (instance != null && instance.Region.Contains(_From.Location))
            {
                ShadowguardEncounter.MovePlayer(_From, ShadowguardController.Instance.KickLocation);

                if (instance.Encounter != null)
                {
                    instance.Encounter.CheckPlayerStatus(_From);
                }
            }
        }
예제 #3
0
        private static void OnLogin(LoginEventArgs e)
        {
            Mobile m = e.Mobile;

            if (m.AccessLevel > AccessLevel.GameMaster)
            {
                return;
            }

            ShadowguardInstance inst = GetInstance(m.Location, m.Map);

            if (inst != null)
            {
                ShadowguardEncounter encounter = inst.Encounter;

                if (encounter == null)
                {
                    Timer.DelayCall(TimeSpan.FromSeconds(1), mob =>
                    {
                        ShadowguardEncounter.MovePlayer(mob, Instance.KickLocation, true);

                        /*StormLevelGump menu = new StormLevelGump(mob);
                         * menu.BeginClose();
                         * mob.SendGump(menu);*/
                    }, m);
                }
                else if (m != encounter.PartyLeader)
                {
                    Party p = Party.Get(encounter.PartyLeader);

                    if (m is PlayerMobile && !encounter.Participants.Contains((PlayerMobile)m))
                    {
                        Timer.DelayCall(TimeSpan.FromSeconds(1), mob =>
                        {
                            ShadowguardEncounter.MovePlayer(mob, Instance.KickLocation, true);

                            /*StormLevelGump menu = new StormLevelGump(mob);
                             * menu.BeginClose();
                             * mob.SendGump(menu);*/
                        }, m);
                    }
                }
            }
        }