From bca982c1c14efc59e9fc54db0942ddc60b26eeb5 Mon Sep 17 00:00:00 2001 From: Kyle873 Date: Wed, 7 Jun 2023 23:14:11 -0400 Subject: [PATCH] checking and conversion of casing for commands to hopefully make them easier to use --- GameServer/Commands/AbyssCommand.cs | 9 ++---- GameServer/Commands/AvatarCommand.cs | 44 +++++++++++++++++++++++----- GameServer/Commands/GiveCommand.cs | 2 +- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/GameServer/Commands/AbyssCommand.cs b/GameServer/Commands/AbyssCommand.cs index 7c504d3..b06ec1b 100644 --- a/GameServer/Commands/AbyssCommand.cs +++ b/GameServer/Commands/AbyssCommand.cs @@ -1,7 +1,4 @@ -using Common.Database; -using Common.Resources.Proto; -using Common.Utils.ExcelReader; -using PemukulPaku.GameServer.Game; +using PemukulPaku.GameServer.Game; namespace PemukulPaku.GameServer.Commands { @@ -12,14 +9,14 @@ namespace PemukulPaku.GameServer.Commands { Run(session.Player, args); - //session.ProcessPacket(Packet.FromProto(new UltraEndlessGetMainDataReq() { }, CmdId.UltraEndlessGetMainDataReq)); + // session.ProcessPacket(Packet.FromProto(new UltraEndlessGetMainDataReq() { }, CmdId.UltraEndlessGetMainDataReq)); } public override void Run(Player player, string[] args) { string action = args[0]; uint value = args[1] is not null ? uint.Parse(args[1]) : 0; - switch (action) + switch (action.ToLower()) { case "temp": player.User.AbyssDynamicHard = value; diff --git a/GameServer/Commands/AvatarCommand.cs b/GameServer/Commands/AvatarCommand.cs index 729adfc..4dd460a 100644 --- a/GameServer/Commands/AvatarCommand.cs +++ b/GameServer/Commands/AvatarCommand.cs @@ -2,6 +2,7 @@ using Common.Resources.Proto; using Common.Utils.ExcelReader; using PemukulPaku.GameServer.Game; +using System.Globalization; namespace PemukulPaku.GameServer.Commands { @@ -25,10 +26,10 @@ namespace PemukulPaku.GameServer.Commands session.ProcessPacket(Packet.FromProto(new GetAvatarDataReq() { AvatarIdLists = new uint[] { (uint)avatarId } }, CmdId.GetAvatarDataReq)); } - if (action == "modify") + if (action.ToLower() == "modify") { List updatedAvatars = new(); - + if (avatarId == -1) { foreach (AvatarScheme av in session.Player.AvatarList) @@ -61,15 +62,16 @@ namespace PemukulPaku.GameServer.Commands value = int.Parse(args[3]); } AvatarScheme? avatar = null; + TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; - switch (action) + switch (action.ToLower()) { case "add": if (avatarId == -1) { foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All) { - if (avatarData.AvatarId >= 9000 || avatarData.AvatarId == 316 ) continue; // Avoid APHO avatars + if (avatarData.AvatarId >= 9000 || avatarData.AvatarId == 316) continue; // Avoid APHO avatars and scuffed 316 avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment); player.AvatarList = player.AvatarList.Append(avatar).ToArray(); @@ -85,9 +87,9 @@ namespace PemukulPaku.GameServer.Commands case "modify": if (avatarId == -1) { - foreach (var av in player.AvatarList) + foreach (AvatarScheme av in player.AvatarList) { - av.GetType()?.GetProperty(modType)?.SetValue(av, (uint)value, null); + av.GetType()?.GetProperty(textInfo.ToTitleCase(modType))?.SetValue(av, (uint)value, null); av.Save(); } } @@ -96,13 +98,41 @@ namespace PemukulPaku.GameServer.Commands avatar = player.AvatarList.FirstOrDefault(av => av.AvatarId == avatarId); if (avatar is not null) { - avatar.GetType()?.GetProperty(modType)?.SetValue(avatar, (uint)value, null); + avatar.GetType()?.GetProperty(textInfo.ToTitleCase(modType))?.SetValue(avatar, (uint)value, null); avatar.Save(); } else throw new ArgumentException("Avatar not found"); } break; + /* broken experiment for an all skills cmd + case "allskills": + if (avatarId == -1) + { + foreach (AvatarScheme av in player.AvatarList) + { + foreach (AvatarSubSkillDataExcel subSkillData in AvatarSubSkillData.GetInstance().All) + { + av.LevelUpSkill((uint)subSkillData.AvatarSubSkillId, true); + } + } + } + else + { + avatar = player.AvatarList.FirstOrDefault(av => av.AvatarId == avatarId); + if (avatar is not null) + { + avatar.SkillLists.Clear(); + foreach (AvatarScheme.AvatarSkill skill in avatar.SkillLists) + { + avatar.LevelUpSkill(skill.SkillId, true); + } + } + else + throw new ArgumentException("Avatar not found"); + } + break; + */ default: throw new ArgumentException("Unrecognized action"); } diff --git a/GameServer/Commands/GiveCommand.cs b/GameServer/Commands/GiveCommand.cs index c10fd2b..653d8a9 100644 --- a/GameServer/Commands/GiveCommand.cs +++ b/GameServer/Commands/GiveCommand.cs @@ -21,7 +21,7 @@ namespace PemukulPaku.GameServer.Commands string action = args[0]; uint value = (args.Length > 1 && args[1] is not null) ? uint.Parse(args[1]) : 0; - switch (action) + switch (action.ToLower()) { case "avatars": case "characters":