예제 #1
0
        public static bool CheckFlyingAllowed(Mobile mob, bool message)
        {
            if (mob.Region != null && !mob.Region.AllowFlying(mob))
            {
                mob.SendMessage("You may not fly here.");
                return(false);
            }

            BlockMountType type = BaseMount.GetMountPrevention(mob);

            if (type == BlockMountType.None)
            {
                return(true);
            }

            if (message)
            {
                switch (type)
                {
                case BlockMountType.Dazed:
                {
                    mob.SendLocalizedMessage(1112457);                                       // You are still too dazed to fly.
                    break;
                }

                case BlockMountType.BolaRecovery:
                {
                    mob.SendLocalizedMessage(1112455);                                       // You cannot fly while recovering from a bola throw.
                    break;
                }

                case BlockMountType.DismountRecovery:
                {
                    mob.SendLocalizedMessage(1112456);                                       // You cannot fly while recovering from a dismount maneuver.
                    break;
                }
                }
            }

            return(false);
        }