Ejemplo n.º 1
0
        private static void PossessHandler(Player player, Command cmd)
        {
            string targetName = cmd.Next();

            if (targetName == null)
            {
                CdPossess.PrintUsage(player);
                return;
            }
            Player target = Server.FindPlayerOrPrintMatches(player, targetName, false, true);

            if (target == null)
            {
                return;
            }
            if (target.Immortal)
            {
                player.Message("You cannot possess {0}&S, they are immortal", target.ClassyName);
                return;
            }
            if (target == player)
            {
                player.Message("You cannot possess yourself.");
                return;
            }

            if (!player.Can(Permission.Possess, target.Info.Rank))
            {
                player.Message("You may only possess players ranked {0}&S or lower.",
                               player.Info.Rank.GetLimit(Permission.Possess).ClassyName);
                player.Message("{0}&S is ranked {1}",
                               target.ClassyName, target.Info.Rank.ClassyName);
                return;
            }

            if (!player.Possess(target))
            {
                player.Message("Already possessing {0}", target.ClassyName);
            }
        }
Ejemplo n.º 2
0
        static void PossessHandler( Player player, Command cmd )
        {
            string targetName = cmd.Next();
            if ( targetName == null ) {
                CdPossess.PrintUsage( player );
                return;
            }
            Player target = Server.FindPlayerOrPrintMatches( player, targetName, false, true );
            if ( target == null ) return;
            if ( target.Immortal ) {
                player.Message( "You cannot possess {0}&S, they are immortal", target.ClassyName );
                return;
            }
            if ( target == player ) {
                player.Message( "You cannot possess yourself." );
                return;
            }

            if ( !player.Can( Permission.Possess, target.Info.Rank ) ) {
                player.Message( "You may only possess players ranked {0}&S or lower.",
                player.Info.Rank.GetLimit( Permission.Possess ).ClassyName );
                player.Message( "{0}&S is ranked {1}",
                                target.ClassyName, target.Info.Rank.ClassyName );
                return;
            }

            if ( !player.Possess( target ) ) {
                player.Message( "Already possessing {0}", target.ClassyName );
            }
        }