From 38837bb05abf857d628e06d7221486265358084b Mon Sep 17 00:00:00 2001 From: INSANEMODE Date: Thu, 19 Nov 2020 09:52:41 -0600 Subject: [PATCH] add !ResetRank command --- ClanTag.cs | 5 ++-- Commands/ResetRankCommand.cs | 49 ++++++++++++++++++++++++++++++++++++ Commands/SetRankCommand.cs | 10 +------- Plugin.cs | 1 - 4 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 Commands/ResetRankCommand.cs diff --git a/ClanTag.cs b/ClanTag.cs index 7aa9f36..063c128 100644 --- a/ClanTag.cs +++ b/ClanTag.cs @@ -1,7 +1,6 @@ -using SharedLibraryCore; + using SharedLibraryCore.Database.Models; -using System.Linq; -using System.Threading.Tasks; + namespace ClanTagRankApi { diff --git a/Commands/ResetRankCommand.cs b/Commands/ResetRankCommand.cs new file mode 100644 index 0000000..91efb20 --- /dev/null +++ b/Commands/ResetRankCommand.cs @@ -0,0 +1,49 @@ +using SharedLibraryCore; +using SharedLibraryCore.Commands; +using SharedLibraryCore.Configuration; +using SharedLibraryCore.Database.Models; +using SharedLibraryCore.Interfaces; +using System.Threading.Tasks; + + + +namespace ClanTagRankApi.Commands +{ + /// + /// Example script command + /// + public class ResetRankCommand : Command + { + readonly string rank = "rank"; + string rank_string; + private readonly IMetaService _metaService; + + public ResetRankCommand(CommandConfiguration config, ITranslationLookup lookup, IMetaService metaService) : base(config, lookup) + { + _metaService = metaService; + Name = "ResetRank"; + Description = "set a user's clan tag Rank (does not give permissions)"; + Alias = "rr"; + Permission = EFClient.Permission.Administrator; + RequiresTarget = true; + Arguments = new[] + { + new CommandArgument() + { + //Name = "rank", + //Required = false + } + }; + } + + public override async Task ExecuteAsync(GameEvent E) + { + //var S = E.Owner; + rank_string = "none"; + await _metaService.AddPersistentMeta(rank, rank_string, E.Target); + rank_string = E.Target.Level.ClanTag(); + E.Origin.Tell(E.Target.Name + "'s rank has been reset to: " + rank_string); + await E.Owner.ExecuteCommandAsync("setrank" + " " + E.Target.ClientNumber + " " + rank_string); + } + } +} diff --git a/Commands/SetRankCommand.cs b/Commands/SetRankCommand.cs index 3d2a1cc..9c32e63 100644 --- a/Commands/SetRankCommand.cs +++ b/Commands/SetRankCommand.cs @@ -71,17 +71,9 @@ namespace ClanTagRankApi.Commands } else { - //rank_player_var = await _metaService.GetPersistentMeta(rank, E.Target); - E.Origin.Tell($"invalid rank length (between 1-8 characters), set rank to none to reset"); + E.Origin.Tell($"invalid rank length (between 1-8 characters), set rank to none, or use !ResetRank to reset"); } - //var cmd = new ScriptCommand() - //{ - - // CommandName = "setrank", - // ClientNumber = E.Target.ClientNumber, - // CommandArguments = new[] {rank_string } - //}; await E.Owner.ExecuteCommandAsync("setrank" + " " + E.Target.ClientNumber + " " + rank_string); } diff --git a/Plugin.cs b/Plugin.cs index fe5acdc..25e8c0a 100644 --- a/Plugin.cs +++ b/Plugin.cs @@ -1,6 +1,5 @@ using SharedLibraryCore; using SharedLibraryCore.Interfaces; -using System.Diagnostics.Tracing; using System.Threading.Tasks; using System.Threading; using SharedLibraryCore.Database.Models;