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.&F" );
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 );
}
}