diff --git a/Common/Internationalization/Message/LanguageCHS.cs b/Common/Internationalization/Message/LanguageCHS.cs index adf2c19..1827e27 100644 --- a/Common/Internationalization/Message/LanguageCHS.cs +++ b/Common/Internationalization/Message/LanguageCHS.cs @@ -218,11 +218,13 @@ public class GirlTextCHS public string Usage => "用法: /girl add -p -l -s\n" + - "用法: /girl level "; + "用法: /girl level \n" + + "用法: /girl neuronic "; public string NotFound => "角色不存在!"; public string Added => "已为玩家添加 {0} 个角色!"; public string UpdateLevel => "已将 {1} 个角色等级设置为 {0}!"; + public string UpdateNeuronicLevel => "已将 {1} 个角色的神经元等级设置为 {0}!"; } /// diff --git a/Common/Internationalization/Message/LanguageCHT.cs b/Common/Internationalization/Message/LanguageCHT.cs index 2851943..9900eb5 100644 --- a/Common/Internationalization/Message/LanguageCHT.cs +++ b/Common/Internationalization/Message/LanguageCHT.cs @@ -218,11 +218,13 @@ public class GirlTextCHT public string Usage => "用法: /girl add -p -l -s\n" + - "用法: /girl level "; + "用法: /girl level \n" + + "用法: /girl neuronic "; public string NotFound => "角色不存在!"; public string Added => "已為玩家新增 {0} 個角色!"; public string UpdateLevel => "已將 {1} 個角色等級設為 {0}!"; + public string UpdateNeuronicLevel => "已將 {1} 個角色的神經元等級設置為 {0}!"; } /// diff --git a/Common/Internationalization/Message/LanguageEN.cs b/Common/Internationalization/Message/LanguageEN.cs index 8dcffd9..c6af2a9 100644 --- a/Common/Internationalization/Message/LanguageEN.cs +++ b/Common/Internationalization/Message/LanguageEN.cs @@ -187,11 +187,13 @@ public class GirlTextEN public string Usage => "Usage: /girl add -p -l -s\n" + - "Usage: /girl level "; + "Usage: /girl level \n" + + "Usage: /girl neuronic "; public string NotFound => "Character not found!"; public string Added => "Granted {0} character(s) to player!"; public string UpdateLevel => "Set {1} character(s) to level {0}!"; + public string UpdateNeuronicLevel => "Set {1} character(s) Neuronic to level {0}!"; } /// diff --git a/GameServer/Command/Commands/CommandGirl.cs b/GameServer/Command/Commands/CommandGirl.cs index 3341ecf..afeff25 100644 --- a/GameServer/Command/Commands/CommandGirl.cs +++ b/GameServer/Command/Commands/CommandGirl.cs @@ -84,4 +84,49 @@ public class CommandGirl : ICommands level.ToString(), girls.Count.ToString())); } + + [CommandMethod("neuronic")] + public async ValueTask UpdateNeuronicLevel(CommandArg arg) + { + if (!await arg.CheckOnlineTarget()) return; + if (!await arg.CheckArgCnt(2)) return; + + var guid = arg.GetInt(0); + var level = Math.Clamp(arg.GetInt(1), 0, 6); + var player = arg.Target!.Player!; + List girls = []; + + List spines = new List(); + for (int i = 0; i < 6; i++) + spines.Add(i < level ? 511u : 0u); + + uint proLevel = (uint)(spines.Count(x => x == 511) / 2); + + if (guid == -1) + { + foreach (var girl in player.CharacterManager.CharacterData.Characters) + { + girl.Spines = spines; + girl.ProLevel = proLevel; + girls.Add(girl); + } + } + else + { + var girl = player.CharacterManager.GetCharacterByGUID((uint)guid); + if (girl == null) + { + await arg.SendMsg(I18NManager.Translate("Game.Command.Girl.NotFound")); + return; + } + girl.Spines = spines; + girl.ProLevel = proLevel; + girls.Add(girl); + } + + if (girls.Count > 0) await player.SendPacket(new PacketNtfCallScript(girls)); + await arg.SendMsg(I18NManager.Translate("Game.Command.Girl.UpdateNeuronicLevel", + level.ToString(), + girls.Count.ToString())); + } } \ No newline at end of file