fCraft.ModerationCommands.KillHandler C# (CSharp) Method

KillHandler() static private method

static private KillHandler ( Player player, Command cmd ) : void
player Player
cmd Command
return void
        internal static void KillHandler( Player player, Command cmd )
        {
            string name = cmd.Next();
            string OReason = cmd.NextAll();
            if ( name == null ) {
                player.Message( "Please enter a name" );
                return;
            }

            Player target = Server.FindPlayerOrPrintMatches( player, name, false, true );
            if ( target == null )
                return;
            if ( target.Immortal ) {
                player.Message( "&SYou failed to kill {0}&S, they are immortal", target.ClassyName );
                return;
            }

            if ( target == player ) {
                player.Message( "You suicidal bro?" );
                return;
            }
            double time = ( DateTime.UtcNow - player.Info.LastUsedKill ).TotalSeconds;
            if ( time < 10 ) {
                player.Message( "&WYou can use /Kill again in " + Math.Round( 10 - time ) + " seconds." );
                return;
            }
            if ( target == null ) {
                player.Message( "You need to enter a player name to Kill" );
                return;
            } else {
                if ( player.Can( Permission.Kill, target.Info.Rank ) ) {
                    target.TeleportTo( player.World.Map.Spawn );
                    player.Info.LastUsedKill = DateTime.UtcNow;
                    if ( !string.IsNullOrWhiteSpace( OReason ) ) {
                        Server.Players.CanSee( target ).Union( target ).Message( "{0}&C was &4Killed&C by {1}&W: {2}", target.ClassyName, player.ClassyName, OReason );
                    } else {
                        Server.Players.CanSee( target ).Union( target ).Message( "{0}&C was &4Killed&C by {1}", target.ClassyName, player.ClassyName );
                    }
                    return;
                } else {
                    player.Message( "You can only Kill players ranked {0}&S or lower",
                                    player.Info.Rank.GetLimit( Permission.Kill ).ClassyName );
                    player.Message( "{0}&S is ranked {1}", target.ClassyName, target.Info.Rank.ClassyName );
                }
            }
        }