diff --git a/Common/Internationalization/Message/LanguageCHS.cs b/Common/Internationalization/Message/LanguageCHS.cs index 36db113..fa28529 100644 --- a/Common/Internationalization/Message/LanguageCHS.cs +++ b/Common/Internationalization/Message/LanguageCHS.cs @@ -227,12 +227,14 @@ public class GirlTextCHS public string Usage => "用法: /girl add -p -l -s\n" + "用法: /girl level \n" + - "用法: /girl neuronic "; + "用法: /girl neuronic \n" + + "用法: /girl break "; public string NotFound => "角色不存在!"; public string Added => "已为玩家添加 {0} 个角色!"; public string UpdateLevel => "已将 {1} 个角色等级设置为 {0}!"; public string UpdateNeuronicLevel => "已将 {1} 个角色的神经元等级设置为 {0}!"; + public string UpdateBreakLevel => "已将 {1} 个角色的天启/武格等级设置为 {0}!"; } /// diff --git a/Common/Internationalization/Message/LanguageCHT.cs b/Common/Internationalization/Message/LanguageCHT.cs index 4a956d9..ac39b25 100644 --- a/Common/Internationalization/Message/LanguageCHT.cs +++ b/Common/Internationalization/Message/LanguageCHT.cs @@ -227,12 +227,14 @@ public class GirlTextCHT public string Usage => "用法: /girl add -p -l -s\n" + "用法: /girl level \n" + - "用法: /girl neuronic "; + "用法: /girl neuronic \n" + + "用法: /girl break "; public string NotFound => "角色不存在!"; public string Added => "已為玩家新增 {0} 個角色!"; public string UpdateLevel => "已將 {1} 個角色等級設為 {0}!"; public string UpdateNeuronicLevel => "已將 {1} 個角色的神經元等級設置為 {0}!"; + public string UpdateBreakLevel => "已将 {1} 个角色的天啟/武格等级设置为 {0}!"; } /// diff --git a/Common/Internationalization/Message/LanguageEN.cs b/Common/Internationalization/Message/LanguageEN.cs index 6e25631..e218531 100644 --- a/Common/Internationalization/Message/LanguageEN.cs +++ b/Common/Internationalization/Message/LanguageEN.cs @@ -193,12 +193,14 @@ public class GirlTextEN public string Usage => "Usage: /girl add -p -l -s\n" + "Usage: /girl level \n" + - "Usage: /girl neuronic "; + "Usage: /girl neuronic \n" + + "Usage: /girl break "; 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}!"; + public string UpdateBreakLevel => "Set {1} character(s) Manifestation to level {0}!"; } /// diff --git a/GameServer/Command/Commands/CommandGirl.cs b/GameServer/Command/Commands/CommandGirl.cs index afeff25..60c4a8c 100644 --- a/GameServer/Command/Commands/CommandGirl.cs +++ b/GameServer/Command/Commands/CommandGirl.cs @@ -129,4 +129,41 @@ public class CommandGirl : ICommands level.ToString(), girls.Count.ToString())); } + + [CommandMethod("break")] + public async ValueTask UpdateBreakLevel(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, 45); + var player = arg.Target!.Player!; + List girls = []; + + if (guid == -1) + { + foreach (var girl in player.CharacterManager.CharacterData.Characters) + { + girl.Break = (uint)level; + 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.Break = (uint)level; + girls.Add(girl); + } + + if (girls.Count > 0) await player.SendPacket(new PacketNtfCallScript(girls)); + await arg.SendMsg(I18NManager.Translate("Game.Command.Girl.UpdateBreakLevel", + level.ToString(), + girls.Count.ToString())); + } } \ No newline at end of file