mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
Refactor Command & Format Code
This commit is contained in:
@@ -11,7 +11,7 @@ public class CommandAccount : ICommand
|
||||
{
|
||||
if (arg.Args.Count < 2)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,30 +21,30 @@ public class CommandAccount : ICommand
|
||||
if (arg.Args.Count > 2)
|
||||
if (!int.TryParse(arg.Args[2], out uid))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Account.InvalidUid"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Account.InvalidUid"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (AccountData.GetAccountByUserName(account) != null)
|
||||
{
|
||||
await arg.SendMsg(string.Format(I18nManager.Translate("Game.Command.Account.DuplicateAccount"), account));
|
||||
await arg.SendMsg(string.Format(I18NManager.Translate("Game.Command.Account.DuplicateAccount"), account));
|
||||
return;
|
||||
}
|
||||
|
||||
if (uid != 0 && AccountData.GetAccountByUid(uid) != null)
|
||||
{
|
||||
await arg.SendMsg(string.Format(I18nManager.Translate("Game.Command.Account.DuplicateUID"), uid));
|
||||
await arg.SendMsg(string.Format(I18NManager.Translate("Game.Command.Account.DuplicateUID"), uid));
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
AccountHelper.CreateAccount(account, uid);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Account.CreateSuccess", account));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Account.CreateSuccess", account));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Account.CreateError", ex.Message));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Account.CreateError", ex.Message));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("avatar", "Game.Command.Avatar.Desc", "Game.Command.Avatar.Usage")]
|
||||
[CommandInfo("avatar", "Game.Command.Avatar.Desc", "Game.Command.Avatar.Usage", ["av", "ava"])]
|
||||
public class CommandAvatar : ICommand
|
||||
{
|
||||
[CommandMethod("talent")]
|
||||
@@ -15,23 +15,23 @@ public class CommandAvatar : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 2)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
// change basic type
|
||||
var avatarId = arg.GetInt(0);
|
||||
var level = arg.GetInt(1);
|
||||
if (level < 0 || level > 10)
|
||||
if (level is < 0 or > 10)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.InvalidLevel",
|
||||
I18nManager.Translate("Word.Talent")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.InvalidLevel",
|
||||
I18NManager.Translate("Word.Talent")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -55,8 +55,8 @@ public class CommandAvatar : ICommand
|
||||
});
|
||||
}
|
||||
});
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AllAvatarsLevelSet",
|
||||
I18nManager.Translate("Word.Talent"), level.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AllAvatarsLevelSet",
|
||||
I18NManager.Translate("Word.Talent"), level.ToString()));
|
||||
|
||||
// sync
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(player.AvatarManager.AvatarData.Avatars));
|
||||
@@ -67,7 +67,7 @@ public class CommandAvatar : ICommand
|
||||
var avatar = player.AvatarManager!.GetAvatar(avatarId);
|
||||
if (avatar == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -79,9 +79,9 @@ public class CommandAvatar : ICommand
|
||||
// sync
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(avatar));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarLevelSet",
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarLevelSet",
|
||||
avatar.Excel?.Name?.Replace("{NICKNAME}", player.Data.Name) ?? avatarId.ToString(),
|
||||
I18nManager.Translate("Word.Talent"), level.ToString()));
|
||||
I18NManager.Translate("Word.Talent"), level.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("get")]
|
||||
@@ -89,22 +89,22 @@ public class CommandAvatar : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1) await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
if (arg.BasicArgs.Count < 1) await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
|
||||
var id = arg.GetInt(0);
|
||||
var excel = await arg.Target.Player!.AvatarManager!.AddAvatar(id);
|
||||
|
||||
if (excel == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarFailedGet", id.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarFailedGet", id.ToString()));
|
||||
return;
|
||||
}
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarGet", excel.Name ?? id.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarGet", excel.Name ?? id.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("rank")]
|
||||
@@ -112,18 +112,18 @@ public class CommandAvatar : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 2) await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
if (arg.BasicArgs.Count < 2) await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
|
||||
var id = arg.GetInt(0);
|
||||
var rank = arg.GetInt(1);
|
||||
if (rank < 0 || rank > 6)
|
||||
if (rank is < 0 or > 6)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.InvalidLevel",
|
||||
I18nManager.Translate("Word.Rank")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.InvalidLevel",
|
||||
I18NManager.Translate("Word.Rank")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -133,8 +133,8 @@ public class CommandAvatar : ICommand
|
||||
{
|
||||
foreach (var path in avatar.PathInfoes.Values) path.Rank = Math.Min(rank, 6);
|
||||
});
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AllAvatarsLevelSet",
|
||||
I18nManager.Translate("Word.Rank"), rank.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AllAvatarsLevelSet",
|
||||
I18NManager.Translate("Word.Rank"), rank.ToString()));
|
||||
|
||||
// sync
|
||||
await arg.Target.SendPacket(
|
||||
@@ -145,7 +145,7 @@ public class CommandAvatar : ICommand
|
||||
var avatar = arg.Target.Player!.AvatarManager!.GetAvatar(id);
|
||||
if (avatar == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -154,9 +154,9 @@ public class CommandAvatar : ICommand
|
||||
// sync
|
||||
await arg.Target.SendPacket(new PacketPlayerSyncScNotify(avatar));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarLevelSet",
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarLevelSet",
|
||||
avatar.Excel?.Name?.Replace("{NICKNAME}", arg.Target.Player!.Data.Name) ?? id.ToString(),
|
||||
I18nManager.Translate("Word.Rank"), rank.ToString()));
|
||||
I18NManager.Translate("Word.Rank"), rank.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,22 +165,22 @@ public class CommandAvatar : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 2)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
var id = arg.GetInt(0);
|
||||
var level = arg.GetInt(1);
|
||||
if (level < 1 || level > 80)
|
||||
if (level is < 1 or > 80)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.InvalidLevel",
|
||||
I18nManager.Translate("Word.Avatar")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.InvalidLevel",
|
||||
I18NManager.Translate("Word.Avatar")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -191,8 +191,8 @@ public class CommandAvatar : ICommand
|
||||
avatar.Level = Math.Min(level, 80);
|
||||
avatar.Promotion = GameData.GetMinPromotionForLevel(avatar.Level);
|
||||
});
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AllAvatarsLevelSet",
|
||||
I18nManager.Translate("Word.Avatar"), level.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AllAvatarsLevelSet",
|
||||
I18NManager.Translate("Word.Avatar"), level.ToString()));
|
||||
|
||||
// sync
|
||||
await arg.Target.SendPacket(
|
||||
@@ -203,7 +203,7 @@ public class CommandAvatar : ICommand
|
||||
var avatar = arg.Target.Player!.AvatarManager!.GetAvatar(id);
|
||||
if (avatar == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -213,9 +213,9 @@ public class CommandAvatar : ICommand
|
||||
// sync
|
||||
await arg.Target.SendPacket(new PacketPlayerSyncScNotify(avatar));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarLevelSet",
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarLevelSet",
|
||||
avatar.Excel?.Name?.Replace("{NICKNAME}", arg.Target.Player!.Data.Name) ?? id.ToString(),
|
||||
I18nManager.Translate("Word.Avatar"), level.ToString()));
|
||||
I18NManager.Translate("Word.Avatar"), level.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,13 +224,13 @@ public class CommandAvatar : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 2)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -240,13 +240,13 @@ public class CommandAvatar : ICommand
|
||||
var avatar = arg.Target.Player!.AvatarManager!.GetAvatar(avatarId);
|
||||
if (avatar == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!GameData.MultiplePathAvatarConfigData.ContainsKey(pathId))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Avatar.AvatarNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using EggLink.DanhengServer.Internationalization;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("give", "Game.Command.Give.Desc", "Game.Command.Give.Usage")]
|
||||
[CommandInfo("give", "Game.Command.Give.Desc", "Game.Command.Give.Usage", ["g"])]
|
||||
public class CommandGive : ICommand
|
||||
{
|
||||
[CommandDefault]
|
||||
@@ -12,20 +12,20 @@ public class CommandGive : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count == 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
GameData.ItemConfigData.TryGetValue(arg.GetInt(0), out var itemData);
|
||||
if (itemData == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Give.ItemNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Give.ItemNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -38,14 +38,14 @@ public class CommandGive : ICommand
|
||||
if (!int.TryParse(str, out var amount) || !int.TryParse(levelStr, out var level) ||
|
||||
!int.TryParse(rankStr, out var rank))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
await player.InventoryManager!.AddItem(arg.GetInt(0), amount, rank: Math.Min(rank, 5),
|
||||
level: Math.Max(Math.Min(level, 80), 1));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Give.GiveItem", player.Uid.ToString(), amount.ToString(),
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Give.GiveItem", player.Uid.ToString(), amount.ToString(),
|
||||
itemData.Name ?? itemData.ID.ToString()));
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ using EggLink.DanhengServer.Internationalization;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("giveall", "Game.Command.GiveAll.Desc", "Game.Command.GiveAll.Usage")]
|
||||
[CommandInfo("giveall", "Game.Command.GiveAll.Desc", "Game.Command.GiveAll.Usage", ["ga"])]
|
||||
public class CommandGiveall : ICommand
|
||||
{
|
||||
[CommandMethod("0 avatar")]
|
||||
@@ -16,7 +16,7 @@ public class CommandGiveall : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public class CommandGiveall : ICommand
|
||||
levelStr ??= "1";
|
||||
if (!int.TryParse(rankStr, out var rank) || !int.TryParse(levelStr, out var level))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -59,8 +59,8 @@ public class CommandGiveall : ICommand
|
||||
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(player.AvatarManager!.AvatarData.Avatars));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18nManager.Translate("Word.Avatar"), "1"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18NManager.Translate("Word.Avatar"), "1"));
|
||||
}
|
||||
|
||||
[CommandMethod("0 equipment")]
|
||||
@@ -69,7 +69,7 @@ public class CommandGiveall : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ public class CommandGiveall : ICommand
|
||||
if (!int.TryParse(rankStr, out var rank) || !int.TryParse(levelStr, out var level) ||
|
||||
!int.TryParse(amountStr, out var amount))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -101,8 +101,8 @@ public class CommandGiveall : ICommand
|
||||
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(items));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18nManager.Translate("Word.Equipment"), amount.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18NManager.Translate("Word.Equipment"), amount.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 material")]
|
||||
@@ -111,7 +111,7 @@ public class CommandGiveall : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ public class CommandGiveall : ICommand
|
||||
amountStr ??= "1";
|
||||
if (!int.TryParse(amountStr, out var amount))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -134,8 +134,8 @@ public class CommandGiveall : ICommand
|
||||
});
|
||||
|
||||
await player.InventoryManager!.AddItems(items, false);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18nManager.Translate("Word.Material"), amount.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18NManager.Translate("Word.Material"), amount.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 relic")]
|
||||
@@ -144,7 +144,7 @@ public class CommandGiveall : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ public class CommandGiveall : ICommand
|
||||
levelStr ??= "1";
|
||||
if (!int.TryParse(levelStr, out var level))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ public class CommandGiveall : ICommand
|
||||
amountStr ??= "1";
|
||||
if (!int.TryParse(amountStr, out var amount))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -179,8 +179,8 @@ public class CommandGiveall : ICommand
|
||||
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(items));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18nManager.Translate("Word.Relic"), amount.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18NManager.Translate("Word.Relic"), amount.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 unlock")]
|
||||
@@ -189,7 +189,7 @@ public class CommandGiveall : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -201,8 +201,8 @@ public class CommandGiveall : ICommand
|
||||
material.ItemSubType == ItemSubTypeEnum.ChatBubble)
|
||||
await player.InventoryManager!.AddItem(material.ID, 1, false);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18nManager.Translate("Word.Unlock"), "1"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18NManager.Translate("Word.Unlock"), "1"));
|
||||
}
|
||||
|
||||
[CommandMethod("0 path")]
|
||||
@@ -211,7 +211,7 @@ public class CommandGiveall : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -236,8 +236,8 @@ public class CommandGiveall : ICommand
|
||||
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(player.AvatarManager!.AvatarData.Avatars));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18nManager.Translate("Word.Avatar"),
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems",
|
||||
I18NManager.Translate("Word.Avatar"),
|
||||
"1"));
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
using EggLink.DanhengServer.Internationalization;
|
||||
using EggLink.DanhengServer.Util;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("help", "Game.Command.Help.Desc", "Game.Command.Help.Usage")]
|
||||
[CommandInfo("help", "Game.Command.Help.Desc", "Game.Command.Help.Usage", ["h"])]
|
||||
public class CommandHelp : ICommand
|
||||
{
|
||||
[CommandDefault]
|
||||
@@ -14,28 +15,35 @@ public class CommandHelp : ICommand
|
||||
var cmd = arg.Args[0];
|
||||
if (commands == null || !commands.TryGetValue(cmd, out var command))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Help.CommandNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Help.CommandNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var msg =
|
||||
$"/{command.Name} - {I18nManager.Translate(command.Description)}\n\n{I18nManager.Translate(command.Usage)}";
|
||||
$"/{command.Name} - {I18NManager.Translate(command.Description)}\n\n{I18NManager.Translate(command.Usage)}";
|
||||
if (command.Alias.Length > 0)
|
||||
msg +=
|
||||
$"\n\n{I18NManager.Translate("Game.Command.Help.CommandAlias")} {command.Alias.ToList().ToArrayString()}";
|
||||
if (command.Permission != "")
|
||||
msg += $"\n\n{I18nManager.Translate("Game.Command.Help.CommandPermission")} {command.Permission}";
|
||||
msg += $"\n\n{I18NManager.Translate("Game.Command.Help.CommandPermission")} {command.Permission}";
|
||||
|
||||
await arg.SendMsg(msg);
|
||||
return;
|
||||
}
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Help.Commands"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Help.Commands"));
|
||||
if (commands == null) return;
|
||||
|
||||
foreach (var command in commands.Values)
|
||||
{
|
||||
var msg =
|
||||
$"/{command.Name} - {I18nManager.Translate(command.Description)}\n\n{I18nManager.Translate(command.Usage)}";
|
||||
$"/{command.Name} - {I18NManager.Translate(command.Description)}\n\n{I18NManager.Translate(command.Usage)}";
|
||||
if (command.Alias.Length > 0)
|
||||
msg +=
|
||||
$"\n\n{I18NManager.Translate("Game.Command.Help.CommandAlias")} {command.Alias.ToList().ToArrayString()}";
|
||||
|
||||
if (command.Permission != "")
|
||||
msg += $"\n\n{I18nManager.Translate("Game.Command.Help.CommandPermission")} {command.Permission}";
|
||||
msg += $"\n\n{I18NManager.Translate("Game.Command.Help.CommandPermission")} {command.Permission}";
|
||||
await arg.SendMsg(msg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,20 +13,20 @@ public class CommandHero : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
var gender = (Gender)arg.GetInt(0);
|
||||
if (gender == Gender.None)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Hero.GenderNotSpecified"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Hero.GenderNotSpecified"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public class CommandHero : ICommand
|
||||
await player.ChangeAvatarPathType(8001, MultiPathAvatarTypeEnum.Warrior);
|
||||
await player.SendPacket(new PacketGetMultiPathAvatarInfoScRsp(player));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Hero.GenderChanged"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Hero.GenderChanged"));
|
||||
}
|
||||
|
||||
[CommandMethod("0 type")]
|
||||
@@ -43,26 +43,26 @@ public class CommandHero : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
var gender = (MultiPathAvatarTypeEnum)arg.GetInt(0);
|
||||
if (gender == 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Hero.HeroTypeNotSpecified"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Hero.HeroTypeNotSpecified"));
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target!.Player!;
|
||||
await player.ChangeAvatarPathType(8001, gender);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Hero.HeroTypeChanged"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Hero.HeroTypeChanged"));
|
||||
}
|
||||
}
|
||||
@@ -11,12 +11,12 @@ public class CommandKick : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
await arg.Target.SendPacket(new PacketPlayerKickOutScNotify());
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Kick.PlayerKicked", arg.Target.Player!.Data.Name!));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Kick.PlayerKicked", arg.Target.Player!.Data.Name!));
|
||||
arg.Target.Stop();
|
||||
}
|
||||
}
|
||||
@@ -11,13 +11,13 @@ public class CommandLineup : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var count = arg.GetInt(0);
|
||||
await arg.Target.Player!.LineupManager!.GainMp(count == 0 ? 2 : count);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Lineup.PlayerGainedMp", Math.Min(count, 2).ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Lineup.PlayerGainedMp", count.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 heal")]
|
||||
@@ -25,13 +25,13 @@ public class CommandLineup : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target.Player!;
|
||||
foreach (var avatar in player.LineupManager!.GetCurLineup()!.AvatarData!.Avatars) avatar.CurrentHp = 10000;
|
||||
await player.SendPacket(new PacketSyncLineupNotify(player.LineupManager.GetCurLineup()!));
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Lineup.HealedAllAvatars"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Lineup.HealedAllAvatars"));
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("mail", "Game.Command.Mail.Desc", "Game.Command.Mail.Usage", permission: "")]
|
||||
[CommandInfo("mail", "Game.Command.Mail.Desc", "Game.Command.Mail.Usage", permission: "egglink.manage")]
|
||||
public class CommandMail : ICommand
|
||||
{
|
||||
[CommandDefault]
|
||||
@@ -10,19 +10,19 @@ public class CommandMail : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.Args.Count < 7)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(arg.Args.Contains("_TITLE") && arg.Args.Contains("_CONTENT")))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -37,16 +37,14 @@ public class CommandMail : ICommand
|
||||
var flagContent = false;
|
||||
foreach (var text in arg.Args)
|
||||
{
|
||||
if (text == "_TITLE")
|
||||
switch (text)
|
||||
{
|
||||
flagTitle = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (text == "_CONTENT")
|
||||
{
|
||||
flagContent = true;
|
||||
continue;
|
||||
case "_TITLE":
|
||||
flagTitle = true;
|
||||
continue;
|
||||
case "_CONTENT":
|
||||
flagContent = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (flagTitle && !flagContent) title += text + " ";
|
||||
@@ -60,6 +58,6 @@ public class CommandMail : ICommand
|
||||
|
||||
await arg.Target.Player!.MailManager!.SendMail(sender, title, content, templateId, expiredDay);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mail.MailSent"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mail.MailSent"));
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ using EggLink.DanhengServer.Internationalization;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("mission", "Game.Command.Mission.Desc", "Game.Command.Mission.Usage")]
|
||||
[CommandInfo("mission", "Game.Command.Mission.Desc", "Game.Command.Mission.Usage", ["m"])]
|
||||
public class CommandMission : ICommand
|
||||
{
|
||||
[CommandMethod("0 pass")]
|
||||
@@ -12,14 +12,14 @@ public class CommandMission : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
var count = mission.GetRunningSubMissionIdList().Count;
|
||||
foreach (var id in mission.GetRunningSubMissionIdList()) await mission.FinishSubMission(id);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.AllRunningMissionsFinished", count.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.AllRunningMissionsFinished", count.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 finish")]
|
||||
@@ -27,25 +27,25 @@ public class CommandMission : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(arg.BasicArgs[0], out var missionId))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.InvalidMissionId"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.InvalidMissionId"));
|
||||
return;
|
||||
}
|
||||
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
await mission.FinishSubMission(missionId);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.MissionFinished", missionId.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.MissionFinished", missionId.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 running")]
|
||||
@@ -53,7 +53,7 @@ public class CommandMission : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -61,11 +61,11 @@ public class CommandMission : ICommand
|
||||
var runningMissions = mission.GetRunningSubMissionList();
|
||||
if (runningMissions.Count == 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.NoRunningMissions"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.NoRunningMissions"));
|
||||
return;
|
||||
}
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.RunningMissions"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.RunningMissions"));
|
||||
Dictionary<int, List<int>> missionMap = [];
|
||||
|
||||
foreach (var m in runningMissions)
|
||||
@@ -84,7 +84,7 @@ public class CommandMission : ICommand
|
||||
|
||||
foreach (var list in missionMap)
|
||||
{
|
||||
await arg.SendMsg($"{I18nManager.Translate("Game.Command.Mission.MainMission")} {list.Key}:");
|
||||
await arg.SendMsg($"{I18NManager.Translate("Game.Command.Mission.MainMission")} {list.Key}:");
|
||||
var sb = new StringBuilder();
|
||||
foreach (var id in list.Value)
|
||||
{
|
||||
@@ -104,7 +104,7 @@ public class CommandMission : ICommand
|
||||
|
||||
if (morePossibleStuckIds.Count > 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.PossibleStuckMissions"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.PossibleStuckMissions"));
|
||||
|
||||
var sb = new StringBuilder();
|
||||
foreach (var id in morePossibleStuckIds) sb.Append($"{id}、");
|
||||
@@ -115,7 +115,7 @@ public class CommandMission : ICommand
|
||||
}
|
||||
else if (possibleStuckIds.Count > 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.PossibleStuckMissions"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.PossibleStuckMissions"));
|
||||
|
||||
var sb = new StringBuilder();
|
||||
foreach (var id in possibleStuckIds) sb.Append($"{id}、");
|
||||
@@ -133,25 +133,25 @@ public class CommandMission : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(arg.BasicArgs[0], out var missionId))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.InvalidMissionId"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.InvalidMissionId"));
|
||||
return;
|
||||
}
|
||||
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
await mission.ReAcceptMainMission(missionId);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.MissionReAccepted", missionId.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.MissionReAccepted", missionId.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 finishmain")]
|
||||
@@ -159,24 +159,24 @@ public class CommandMission : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(arg.BasicArgs[0], out var missionId))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.InvalidMissionId"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.InvalidMissionId"));
|
||||
return;
|
||||
}
|
||||
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
await mission.FinishMainMission(missionId);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Mission.MissionFinished", missionId.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Mission.MissionFinished", missionId.ToString()));
|
||||
}
|
||||
}
|
||||
@@ -10,12 +10,12 @@ public class CommandRaid : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
await arg.Target.Player!.RaidManager!.LeaveRaid(false);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Raid.Leaved"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Raid.Leaved"));
|
||||
}
|
||||
}
|
||||
@@ -14,13 +14,13 @@ public class CommandRelic : ICommand
|
||||
var player = arg.Target?.Player;
|
||||
if (player == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 3)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public class CommandRelic : ICommand
|
||||
levelStr ??= "1";
|
||||
if (!int.TryParse(str, out var amount) || !int.TryParse(levelStr, out var level))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public class CommandRelic : ICommand
|
||||
GameData.ItemConfigData.TryGetValue(int.Parse(arg.BasicArgs[0]), out var itemConfigExcel);
|
||||
if (itemConfig == null || itemConfigExcel == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Relic.RelicNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Relic.RelicNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public class CommandRelic : ICommand
|
||||
GameData.RelicMainAffixData.TryGetValue(itemConfig.MainAffixGroup, out var mainAffixConfig);
|
||||
if (subAffixConfig == null || mainAffixConfig == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Relic.RelicNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Relic.RelicNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class CommandRelic : ICommand
|
||||
mainAffixId = int.Parse(arg.BasicArgs[1]);
|
||||
if (!mainAffixConfig.ContainsKey(mainAffixId))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Relic.InvalidMainAffixId"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Relic.InvalidMainAffixId"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -77,13 +77,13 @@ public class CommandRelic : ICommand
|
||||
if (subAffix.Length != 2 || !int.TryParse(subAffix[0], out var subId) ||
|
||||
!int.TryParse(subAffix[1], out var subLevel))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!subAffixConfig.ContainsKey(subId))
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Relic.InvalidSubAffixId"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Relic.InvalidSubAffixId"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ public class CommandRelic : ICommand
|
||||
|
||||
for (var i = 0; i < amount; i++) await player.InventoryManager!.AddItem(itemData, false);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Relic.RelicGiven", player.Uid.ToString(),
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Relic.RelicGiven", player.Uid.ToString(),
|
||||
amount.ToString(), itemConfigExcel.Name ?? itemData.ItemId.ToString(), itemData.MainAffix.ToString()));
|
||||
}
|
||||
}
|
||||
@@ -13,8 +13,8 @@ public class CommandReload : ICommand
|
||||
// Reload the banners
|
||||
GameData.BannersConfig =
|
||||
ResourceManager.LoadCustomFile<BannersConfig>("Banner", "Banners") ?? new BannersConfig();
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Reload.ConfigReloaded",
|
||||
I18nManager.Translate("Word.Banner")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Reload.ConfigReloaded",
|
||||
I18NManager.Translate("Word.Banner")));
|
||||
}
|
||||
|
||||
[CommandMethod("0 activity")]
|
||||
@@ -23,7 +23,7 @@ public class CommandReload : ICommand
|
||||
// Reload the activities
|
||||
GameData.ActivityConfig = ResourceManager.LoadCustomFile<ActivityConfig>("Activity", "ActivityConfig") ??
|
||||
new ActivityConfig();
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Reload.ConfigReloaded",
|
||||
I18nManager.Translate("Word.Activity")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Reload.ConfigReloaded",
|
||||
I18NManager.Translate("Word.Activity")));
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,10 @@
|
||||
using EggLink.DanhengServer.Data;
|
||||
using EggLink.DanhengServer.Data.Excel;
|
||||
using EggLink.DanhengServer.GameServer.Game.Rogue.Scene.Entity;
|
||||
using EggLink.DanhengServer.Internationalization;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("rogue", "Game.Command.Rogue.Desc", "Game.Command.Rogue.Usage")]
|
||||
[CommandInfo("rogue", "Game.Command.Rogue.Desc", "Game.Command.Rogue.Usage", ["r"])]
|
||||
public class CommandRogue : ICommand
|
||||
{
|
||||
[CommandMethod("0 money")]
|
||||
@@ -13,7 +12,7 @@ public class CommandRogue : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,12 +20,12 @@ public class CommandRogue : ICommand
|
||||
var instance = arg.Target.Player!.RogueManager?.GetRogueInstance();
|
||||
if (instance == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
return;
|
||||
}
|
||||
|
||||
await instance.GainMoney(count);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerGainedMoney", count.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerGainedMoney", count.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 buff")]
|
||||
@@ -34,14 +33,14 @@ public class CommandRogue : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var instance = arg.Target.Player!.RogueManager?.GetRogueInstance();
|
||||
if (instance == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -49,32 +48,28 @@ public class CommandRogue : ICommand
|
||||
|
||||
if (id == -1)
|
||||
{
|
||||
var buffList = new List<RogueBuffExcel>();
|
||||
foreach (var buff in GameData.RogueBuffData.Values)
|
||||
{
|
||||
if (buff.IsAeonBuff || buff.MazeBuffLevel == 2) continue;
|
||||
buffList.Add(buff);
|
||||
}
|
||||
var buffList = GameData.RogueBuffData.Values.Where(buff => !buff.IsAeonBuff && buff.MazeBuffLevel != 2)
|
||||
.ToList();
|
||||
|
||||
await instance.AddBuffList(buffList);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerGainedAllItems",
|
||||
I18nManager.Translate("Word.Buff")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerGainedAllItems",
|
||||
I18NManager.Translate("Word.Buff")));
|
||||
}
|
||||
else
|
||||
{
|
||||
GameData.RogueMazeBuffData.TryGetValue(id, out var buff);
|
||||
if (buff == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.ItemNotFound",
|
||||
I18nManager.Translate("Word.Buff")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.ItemNotFound",
|
||||
I18NManager.Translate("Word.Buff")));
|
||||
return;
|
||||
}
|
||||
|
||||
await instance.AddBuff(buff.ID, buff.Lv);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerGainedItem",
|
||||
I18nManager.Translate("Word.Buff"), buff.Name ?? id.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerGainedItem",
|
||||
I18NManager.Translate("Word.Buff"), buff.Name ?? id.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,14 +78,14 @@ public class CommandRogue : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var instance = arg.Target.Player!.RogueManager?.GetRogueInstance();
|
||||
if (instance == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -99,14 +94,14 @@ public class CommandRogue : ICommand
|
||||
GameData.RogueMiracleData.TryGetValue(id, out var miracle);
|
||||
if (miracle == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.ItemNotFound",
|
||||
I18nManager.Translate("Word.Miracle")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.ItemNotFound",
|
||||
I18NManager.Translate("Word.Miracle")));
|
||||
return;
|
||||
}
|
||||
|
||||
await instance.AddMiracle(id);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerGainedItem",
|
||||
I18nManager.Translate("Word.Miracle"), miracle.Name ?? id.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerGainedItem",
|
||||
I18NManager.Translate("Word.Miracle"), miracle.Name ?? id.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 enhance")]
|
||||
@@ -114,14 +109,14 @@ public class CommandRogue : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var instance = arg.Target.Player!.RogueManager?.GetRogueInstance();
|
||||
if (instance == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerNotInRogue"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -129,21 +124,21 @@ public class CommandRogue : ICommand
|
||||
if (id == -1)
|
||||
{
|
||||
foreach (var enhance in GameData.RogueBuffData.Values) await instance.EnhanceBuff(enhance.MazeBuffID);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerEnhancedAllBuffs"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerEnhancedAllBuffs"));
|
||||
}
|
||||
else
|
||||
{
|
||||
GameData.RogueMazeBuffData.TryGetValue(id, out var buff);
|
||||
if (buff == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.ItemNotFound",
|
||||
I18nManager.Translate("Word.Buff")));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.ItemNotFound",
|
||||
I18NManager.Translate("Word.Buff")));
|
||||
return;
|
||||
}
|
||||
|
||||
await instance.EnhanceBuff(buff.ID);
|
||||
await arg.SendMsg(
|
||||
I18nManager.Translate("Game.Command.Rogue.PlayerEnhancedBuff", buff.Name ?? id.ToString()));
|
||||
I18NManager.Translate("Game.Command.Rogue.PlayerEnhancedBuff", buff.Name ?? id.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,15 +147,15 @@ public class CommandRogue : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target.Player!;
|
||||
foreach (var npc in player.SceneInstance!.Entities.Values)
|
||||
if (npc is RogueNpc rNpc && rNpc.RogueNpcId > 0)
|
||||
if (npc is RogueNpc { RogueNpcId: > 0 } rNpc)
|
||||
await player.SceneInstance!.RemoveEntity(rNpc);
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Rogue.PlayerUnstuck"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Rogue.PlayerUnstuck"));
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ public class CommandScene : ICommand
|
||||
foreach (var group in scene.Entities)
|
||||
if (!loadedGroup.Contains(group.Value.GroupID))
|
||||
loadedGroup.Add(group.Value.GroupID);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.LoadedGroups", string.Join(", ", loadedGroup)));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.LoadedGroups", string.Join(", ", loadedGroup)));
|
||||
}
|
||||
|
||||
[CommandMethod("0 prop")]
|
||||
@@ -29,7 +29,7 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -44,12 +44,12 @@ public class CommandScene : ICommand
|
||||
|
||||
if (prop == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.PropNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.PropNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
await prop.SetState((PropStateEnum)arg.GetInt(2));
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.PropStateChanged", prop.PropInfo.ID.ToString(),
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.PropStateChanged", prop.PropInfo.ID.ToString(),
|
||||
prop.State.ToString()));
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -66,12 +66,12 @@ public class CommandScene : ICommand
|
||||
scene.Entities.TryGetValue(arg.GetInt(0), out var entity);
|
||||
if (entity == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.EntityNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.EntityNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
await scene.RemoveEntity(entity);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.EntityRemoved", entity.EntityID.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.EntityRemoved", entity.EntityID.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 unlockall")]
|
||||
@@ -79,7 +79,7 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ public class CommandScene : ICommand
|
||||
if (entity is EntityProp prop)
|
||||
if (prop.Excel.PropStateList.Contains(PropStateEnum.Open))
|
||||
await prop.SetState(PropStateEnum.Open);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.AllPropsUnlocked"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.AllPropsUnlocked"));
|
||||
}
|
||||
|
||||
[CommandMethod("0 change")]
|
||||
@@ -96,19 +96,19 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.GetInt(0) == 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target!.Player!;
|
||||
await player.EnterScene(arg.GetInt(0), 0, true);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.SceneChanged", arg.GetInt(0).ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.SceneChanged", arg.GetInt(0).ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 reload")]
|
||||
@@ -116,13 +116,13 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target!.Player!;
|
||||
await player.EnterScene(player.Data.EntryId, 0, true);
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.SceneReloaded"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.SceneReloaded"));
|
||||
}
|
||||
|
||||
[CommandMethod("0 reset")]
|
||||
@@ -130,14 +130,14 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var floorId = arg.GetInt(0);
|
||||
if (floorId == 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ public class CommandScene : ICommand
|
||||
if (player.SceneData?.FloorSavedData.TryGetValue(floorId, out _) == true)
|
||||
player.SceneData.FloorSavedData[floorId] = [];
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.SceneReset", floorId.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.SceneReset", floorId.ToString()));
|
||||
}
|
||||
|
||||
[CommandMethod("0 cur")]
|
||||
@@ -156,11 +156,12 @@ public class CommandScene : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target!.Player!;
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Scene.CurrentScene", player.Data.EntryId.ToString(), player.Data.PlaneId.ToString(), player.Data.FloorId.ToString()));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Scene.CurrentScene", player.Data.EntryId.ToString(),
|
||||
player.Data.PlaneId.ToString(), player.Data.FloorId.ToString()));
|
||||
}
|
||||
}
|
||||
@@ -13,13 +13,13 @@ public class CommandSetlevel : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.Args.Count < 1)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,6 @@ public class CommandSetlevel : ICommand
|
||||
player.Data.Exp = GameData.GetPlayerExpRequired(level);
|
||||
await player.SendPacket(new PacketPlayerSyncScNotify(player.ToProto()));
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Setlevel.SetlevelSuccess"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Setlevel.SetlevelSuccess"));
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ using EggLink.DanhengServer.Proto;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Command.Cmd;
|
||||
|
||||
[CommandInfo("unlockall", "Game.Command.UnlockAll.Desc", "Game.Command.UnlockAll.Usage")]
|
||||
[CommandInfo("unlockall", "Game.Command.UnlockAll.Desc", "Game.Command.UnlockAll.Usage", ["ua"])]
|
||||
public class CommandUnlockAll : ICommand
|
||||
{
|
||||
[CommandMethod("0 mission")]
|
||||
@@ -14,7 +14,7 @@ public class CommandUnlockAll : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class CommandUnlockAll : ICommand
|
||||
player.AvatarManager!.GetHero()!.PathId = 8002;
|
||||
}
|
||||
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.UnlockAll.AllMissionsUnlocked"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.UnlockAll.AllMissionsUnlocked"));
|
||||
await arg.Target!.Player!.SendPacket(new PacketPlayerKickOutScNotify());
|
||||
arg.Target!.Stop();
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@ public class CommandUnstuck : ICommand
|
||||
{
|
||||
if (arg.Target != null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Unstuck.PlayerIsOnline"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Unstuck.PlayerIsOnline"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count == 0)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -32,11 +32,11 @@ public class CommandUnstuck : ICommand
|
||||
playerData.PlaneId = 20001;
|
||||
playerData.FloorId = 20001001;
|
||||
playerData.EntryId = 2000101;
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Unstuck.UnstuckSuccess"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Unstuck.UnstuckSuccess"));
|
||||
}
|
||||
else
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Unstuck.UidNotExist"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Unstuck.UidNotExist"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ public class CommandWindy : ICommand
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
await arg.SendMsg(I18nManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@ public class CommandArg
|
||||
if (con != null) Target = con;
|
||||
|
||||
CharacterArgs.TryGetValue("@", out var target);
|
||||
if (target != null)
|
||||
if (DanhengListener.Connections.Values.ToList()
|
||||
.Find(item => (item as Connection)?.Player?.Uid.ToString() == target) is Connection connection)
|
||||
Target = connection;
|
||||
if (target == null) return;
|
||||
if (DanhengListener.Connections.Values.ToList()
|
||||
.Find(item => (item as Connection)?.Player?.Uid.ToString() == target) is Connection connection)
|
||||
Target = connection;
|
||||
}
|
||||
|
||||
public string Raw { get; }
|
||||
|
||||
@@ -15,7 +15,8 @@ public class CommandManager
|
||||
private int _historyIndex = -1;
|
||||
public static CommandManager? Instance { get; private set; }
|
||||
public Dictionary<string, ICommand> Commands { get; } = [];
|
||||
public Dictionary<string, CommandInfo> CommandInfo { get; } = [];
|
||||
public Dictionary<string, CommandInfoAttribute> CommandInfo { get; } = [];
|
||||
public Dictionary<string, string> CommandAlias { get; } = []; // alias -> command
|
||||
public Logger Logger { get; } = new("CommandManager");
|
||||
public Connection? Target { get; set; }
|
||||
|
||||
@@ -24,20 +25,20 @@ public class CommandManager
|
||||
Instance = this;
|
||||
foreach (var type in Assembly.GetExecutingAssembly().GetTypes())
|
||||
{
|
||||
var attr = type.GetCustomAttribute<CommandInfo>();
|
||||
if (attr != null)
|
||||
{
|
||||
var instance = Activator.CreateInstance(type);
|
||||
if (instance is ICommand command)
|
||||
{
|
||||
Commands.Add(attr.Name, command);
|
||||
CommandInfo.Add(attr.Name, attr);
|
||||
}
|
||||
}
|
||||
var attr = type.GetCustomAttribute<CommandInfoAttribute>();
|
||||
if (attr == null) continue;
|
||||
var instance = Activator.CreateInstance(type);
|
||||
if (instance is not ICommand command) continue;
|
||||
Commands.Add(attr.Name, command);
|
||||
CommandInfo.Add(attr.Name, attr);
|
||||
|
||||
// register alias
|
||||
foreach (var alias in attr.Alias) // add alias
|
||||
CommandAlias.Add(alias, attr.Name);
|
||||
}
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.RegisterItem", Commands.Count.ToString(),
|
||||
I18nManager.Translate("Word.Command")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.RegisterItem", Commands.Count.ToString(),
|
||||
I18NManager.Translate("Word.Command")));
|
||||
}
|
||||
|
||||
public void Start()
|
||||
@@ -49,7 +50,7 @@ public class CommandManager
|
||||
|
||||
if (string.IsNullOrEmpty(input)) continue;
|
||||
|
||||
if (input.StartsWith("/")) input = input.Substring(1);
|
||||
if (input.StartsWith("/")) input = input[1..];
|
||||
|
||||
if (_commandHistory.Count >= MaxCommandHistory) _commandHistory.RemoveAt(0);
|
||||
|
||||
@@ -59,19 +60,19 @@ public class CommandManager
|
||||
}
|
||||
catch
|
||||
{
|
||||
Logger.Error(I18nManager.Translate("Game.Command.Notice.InternalError"));
|
||||
Logger.Error(I18NManager.Translate("Game.Command.Notice.InternalError"));
|
||||
}
|
||||
// ReSharper disable once FunctionNeverReturns
|
||||
}
|
||||
|
||||
private string ReadCommand()
|
||||
{
|
||||
var input = new List<char>();
|
||||
ConsoleKeyInfo keyInfo;
|
||||
|
||||
AnsiConsole.Markup("[yellow]> [/]");
|
||||
while (true)
|
||||
{
|
||||
keyInfo = Console.ReadKey(true);
|
||||
var keyInfo = Console.ReadKey(true);
|
||||
|
||||
if (keyInfo.Key == ConsoleKey.Enter)
|
||||
{
|
||||
@@ -79,46 +80,54 @@ public class CommandManager
|
||||
break;
|
||||
}
|
||||
|
||||
if (keyInfo.Key == ConsoleKey.Backspace)
|
||||
switch (keyInfo.Key)
|
||||
{
|
||||
if (input.Count > 0)
|
||||
case ConsoleKey.Backspace:
|
||||
{
|
||||
input.RemoveAt(input.Count - 1);
|
||||
Console.Write("\b \b");
|
||||
if (input.Count > 0)
|
||||
{
|
||||
input.RemoveAt(input.Count - 1);
|
||||
Console.Write("\b \b");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (keyInfo.Key == ConsoleKey.UpArrow)
|
||||
{
|
||||
if (_historyIndex > 0)
|
||||
case ConsoleKey.UpArrow:
|
||||
{
|
||||
_historyIndex--;
|
||||
ReplaceInput(input, _commandHistory[_historyIndex]);
|
||||
if (_historyIndex > 0)
|
||||
{
|
||||
_historyIndex--;
|
||||
ReplaceInput(input, _commandHistory[_historyIndex]);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (keyInfo.Key == ConsoleKey.DownArrow)
|
||||
{
|
||||
if (_historyIndex < _commandHistory.Count - 1)
|
||||
{
|
||||
case ConsoleKey.DownArrow when _historyIndex < _commandHistory.Count - 1:
|
||||
_historyIndex++;
|
||||
ReplaceInput(input, _commandHistory[_historyIndex]);
|
||||
}
|
||||
else if (_historyIndex == _commandHistory.Count - 1)
|
||||
break;
|
||||
case ConsoleKey.DownArrow:
|
||||
{
|
||||
_historyIndex++;
|
||||
ReplaceInput(input, string.Empty);
|
||||
if (_historyIndex == _commandHistory.Count - 1)
|
||||
{
|
||||
_historyIndex++;
|
||||
ReplaceInput(input, string.Empty);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
else // known issue: Ctrl + (Any Key but C) or other control key will cause display error
|
||||
{
|
||||
input.Add(keyInfo.KeyChar);
|
||||
Console.Write(keyInfo.KeyChar);
|
||||
// known issue: Ctrl + (Any Key but C) or other control key will cause display error
|
||||
default:
|
||||
input.Add(keyInfo.KeyChar);
|
||||
Console.Write(keyInfo.KeyChar);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return new string(input.ToArray());
|
||||
}
|
||||
|
||||
private void ReplaceInput(List<char> input, string newText)
|
||||
private static void ReplaceInput(List<char> input, string newText)
|
||||
{
|
||||
while (input.Count > 0)
|
||||
{
|
||||
@@ -146,13 +155,13 @@ public class CommandManager
|
||||
.Find(item => (item as Connection)?.Player?.Uid.ToString() == target) is Connection con)
|
||||
{
|
||||
Target = con;
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.TargetFound", target,
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.TargetFound", target,
|
||||
con.Player!.Data.Name!));
|
||||
}
|
||||
else
|
||||
{
|
||||
// offline or not exist
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.TargetNotFound", target));
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.TargetNotFound", target));
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -164,19 +173,22 @@ public class CommandManager
|
||||
tempTarget = Listener.GetActiveConnection(sender.GetSender());
|
||||
if (tempTarget == null)
|
||||
{
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.TargetNotFound",
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.TargetNotFound",
|
||||
sender.GetSender().ToString()));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (tempTarget != null && !tempTarget.IsOnline)
|
||||
if (tempTarget is { IsOnline: false })
|
||||
{
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.TargetOffline",
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.TargetOffline",
|
||||
tempTarget.Player!.Uid.ToString(), tempTarget.Player!.Data.Name!));
|
||||
tempTarget = null;
|
||||
}
|
||||
|
||||
// find the command
|
||||
if (CommandAlias.TryGetValue(cmd, out var realCmd)) cmd = realCmd;
|
||||
|
||||
if (Commands.TryGetValue(cmd, out var command))
|
||||
{
|
||||
var split = input.Split(' ').ToList();
|
||||
@@ -187,81 +199,66 @@ public class CommandManager
|
||||
// judge permission
|
||||
if (arg.Target?.Player?.Uid != sender.GetSender() && !sender.HasPermission("command.others"))
|
||||
{
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.NoPermission"));
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.NoPermission"));
|
||||
return;
|
||||
}
|
||||
|
||||
// find the proper method with attribute CommandMethod
|
||||
// find the proper method with attribute CommandMethodAttribute
|
||||
var isFound = false;
|
||||
var info = CommandInfo[cmd];
|
||||
|
||||
if (!sender.HasPermission(info.Permission))
|
||||
{
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.NoPermission"));
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.NoPermission"));
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var method in command.GetType().GetMethods())
|
||||
{
|
||||
var attr = method.GetCustomAttribute<CommandMethod>();
|
||||
if (attr != null)
|
||||
var attr = method.GetCustomAttribute<CommandMethodAttribute>();
|
||||
if (attr == null) continue;
|
||||
var canRun = true;
|
||||
foreach (var condition in attr.Conditions)
|
||||
{
|
||||
var canRun = true;
|
||||
foreach (var condition in attr.Conditions)
|
||||
if (split.Count <= condition.Index)
|
||||
{
|
||||
if (split.Count <= condition.Index)
|
||||
{
|
||||
canRun = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!split[condition.Index].Equals(condition.ShouldBe))
|
||||
{
|
||||
canRun = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (canRun)
|
||||
{
|
||||
isFound = true;
|
||||
method.Invoke(command, [arg]);
|
||||
canRun = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (split[condition.Index].Equals(condition.ShouldBe)) continue;
|
||||
canRun = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!canRun) continue;
|
||||
isFound = true;
|
||||
method.Invoke(command, [arg]);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!isFound)
|
||||
if (isFound) return;
|
||||
// find the default method with attribute CommandDefaultAttribute
|
||||
foreach (var method in command.GetType().GetMethods())
|
||||
{
|
||||
// find the default method with attribute CommandDefault
|
||||
foreach (var method in command.GetType().GetMethods())
|
||||
{
|
||||
var attr = method.GetCustomAttribute<CommandDefault>();
|
||||
if (attr != null)
|
||||
{
|
||||
isFound = true;
|
||||
method.Invoke(command, [arg]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isFound)
|
||||
{
|
||||
if (info != null)
|
||||
sender.SendMsg(I18nManager.Translate(info.Usage));
|
||||
else
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.CommandNotFound"));
|
||||
}
|
||||
var attr = method.GetCustomAttribute<CommandDefaultAttribute>();
|
||||
if (attr == null) continue;
|
||||
isFound = true;
|
||||
method.Invoke(command, [arg]);
|
||||
break;
|
||||
}
|
||||
|
||||
if (isFound) return;
|
||||
sender.SendMsg(I18NManager.Translate(info.Usage));
|
||||
}
|
||||
else
|
||||
{
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.CommandNotFound"));
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.CommandNotFound"));
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
sender.SendMsg(I18nManager.Translate("Game.Command.Notice.InternalError"));
|
||||
sender.SendMsg(I18NManager.Translate("Game.Command.Notice.InternalError"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,15 @@
|
||||
namespace EggLink.DanhengServer.Command;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class)]
|
||||
public class CommandInfo(string name, string description, string usage, string keyword = "", string permission = "")
|
||||
public class CommandInfoAttribute(
|
||||
string name,
|
||||
string description,
|
||||
string usage,
|
||||
string keyword = "",
|
||||
string permission = "")
|
||||
: Attribute
|
||||
{
|
||||
public CommandInfo(string name, string description, string usage, string[] alias, string keyword = "",
|
||||
public CommandInfoAttribute(string name, string description, string usage, string[] alias, string keyword = "",
|
||||
string permission = "") : this(name, description, usage, keyword, permission)
|
||||
{
|
||||
Alias = alias;
|
||||
@@ -19,23 +24,23 @@ public class CommandInfo(string name, string description, string usage, string k
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public class CommandMethod(CommandCondition conditions) : Attribute
|
||||
public class CommandMethodAttribute(CommandCondition conditions) : Attribute
|
||||
{
|
||||
public CommandMethod(string condition) : this(new CommandCondition())
|
||||
public CommandMethodAttribute(string condition) : this(new CommandCondition())
|
||||
{
|
||||
var index = 0;
|
||||
var conditions = condition.Split(' ');
|
||||
foreach (var c in conditions)
|
||||
if (int.TryParse(c, out var i))
|
||||
Conditions[index].Index = i;
|
||||
else if (c is string s) Conditions[index++].ShouldBe = s;
|
||||
else Conditions[index++].ShouldBe = c;
|
||||
}
|
||||
|
||||
public List<CommandCondition> Conditions { get; } = [conditions];
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public class CommandDefault : Attribute
|
||||
public class CommandDefaultAttribute : Attribute
|
||||
{
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
namespace EggLink.DanhengServer.Command;
|
||||
|
||||
public interface ICommand
|
||||
{
|
||||
}
|
||||
public interface ICommand;
|
||||
@@ -17,7 +17,7 @@
|
||||
<PackageReference Include="Spectre.Console" Version="0.48.0" />
|
||||
<PackageReference Include="SQLitePCLRaw.core" Version="2.1.8" />
|
||||
<PackageReference Include="SQLitePCLRaw.provider.e_sqlite3" Version="2.1.8" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.143" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.167" />
|
||||
<PackageReference Include="System.Management" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ public class RogueDialogueBaseConfigInfo
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,8 +54,8 @@ public class RogueDialogueBaseConfigInfo
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public class RogueTournAreaExcel : ExcelResource
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public RogueTournDifficultyTypeEnum Difficulty { get; set; }
|
||||
|
||||
public int ExpScoreID { get; set; }
|
||||
public int UnlockID { get; set; }
|
||||
public int AreaID { get; set; }
|
||||
|
||||
@@ -10,8 +10,10 @@ public class RogueTournBuffExcel : ExcelResource
|
||||
public int MazeBuffID { get; set; }
|
||||
public int MazeBuffLevel { get; set; }
|
||||
public int RogueBuffType { get; set; }
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public RogueBuffCategoryEnum RogueBuffCategory { get; set; }
|
||||
|
||||
public int RogueBuffTag { get; set; }
|
||||
|
||||
public bool IsInHandbook { get; set; }
|
||||
|
||||
@@ -15,4 +15,4 @@ public class RogueTournDifficultyCompExcel : ExcelResource
|
||||
{
|
||||
GameData.RogueTournDifficultyCompData.TryAdd(DifficultyCompID, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ namespace EggLink.DanhengServer.Data.Excel;
|
||||
[ResourceEntity("RogueTournFormula.json")]
|
||||
public class RogueTournFormulaExcel : ExcelResource
|
||||
{
|
||||
public string FormulaIcon{ get; set; }
|
||||
public string FormulaIcon { get; set; }
|
||||
public string UltraFormulaIcon { get; set; }
|
||||
public string FormulaSubIcon { get; set; }
|
||||
public string FormulaStoryJson { get; set; }
|
||||
@@ -16,10 +16,12 @@ public class RogueTournFormulaExcel : ExcelResource
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public RogueTournModeEnum TournMode { get; set; }
|
||||
|
||||
public int UnlockDisplayID { get; set; }
|
||||
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public RogueFormulaCategoryEnum FormulaCategory { get; set; }
|
||||
|
||||
public bool IsInHandbook { get; set; }
|
||||
public int MainBuffTypeID { get; set; }
|
||||
public int FormulaDisplayID { get; set; }
|
||||
|
||||
@@ -213,11 +213,23 @@ public static class GameData
|
||||
public static Dictionary<int, RogueTournBuffExcel> RogueTournBuffData { get; private set; } = [];
|
||||
public static Dictionary<int, RogueTournFormulaExcel> RogueTournFormulaData { get; private set; } = [];
|
||||
public static Dictionary<int, RogueTournBuffGroupExcel> RogueTournBuffGroupData { get; private set; } = [];
|
||||
public static Dictionary<int, RogueTournHexAvatarBaseTypeExcel> RogueTournHexAvatarBaseTypeData { get; private set; } = [];
|
||||
|
||||
public static Dictionary<int, RogueTournHexAvatarBaseTypeExcel> RogueTournHexAvatarBaseTypeData
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
} = [];
|
||||
|
||||
public static Dictionary<int, RogueTournHandBookEventExcel> RogueTournHandBookEventData { get; private set; } = [];
|
||||
public static Dictionary<int, RogueTournHandbookMiracleExcel> RogueTournHandbookMiracleData { get; private set; } = [];
|
||||
public static Dictionary<int, RogueTournDifficultyCompExcel> RogueTournDifficultyCompData { get; private set; } = [];
|
||||
public static Dictionary<int, RogueTournPermanentTalentExcel> RogueTournPermanentTalentData { get; private set; } = [];
|
||||
|
||||
public static Dictionary<int, RogueTournHandbookMiracleExcel> RogueTournHandbookMiracleData { get; private set; } =
|
||||
[];
|
||||
|
||||
public static Dictionary<int, RogueTournDifficultyCompExcel> RogueTournDifficultyCompData { get; private set; } =
|
||||
[];
|
||||
|
||||
public static Dictionary<int, RogueTournPermanentTalentExcel> RogueTournPermanentTalentData { get; private set; } =
|
||||
[];
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ public class ResourceManager
|
||||
var file = new FileInfo(path);
|
||||
if (!file.Exists)
|
||||
{
|
||||
Logger.Error(I18nManager.Translate("Server.ServerInfo.FailedToReadItem", fileName,
|
||||
I18nManager.Translate("Word.NotFound")));
|
||||
Logger.Error(I18NManager.Translate("Server.ServerInfo.FailedToReadItem", fileName,
|
||||
I18NManager.Translate("Word.NotFound")));
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -121,11 +121,11 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", fileName,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", fileName,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(), cls.Name));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(), cls.Name));
|
||||
}
|
||||
|
||||
foreach (var cls in resList) cls.AfterAllDone();
|
||||
@@ -133,16 +133,16 @@ public class ResourceManager
|
||||
|
||||
public static void LoadFloorInfo()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.FloorInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.FloorInfo")));
|
||||
DirectoryInfo directory = new(ConfigManager.Config.Path.ResourcePath + "/Config/LevelOutput/RuntimeFloor/");
|
||||
var missingGroupInfos = false;
|
||||
|
||||
if (!directory.Exists)
|
||||
{
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.FloorInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.FloorInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/LevelOutput/RuntimeFloor",
|
||||
I18nManager.Translate("Word.FloorMissingResult")));
|
||||
I18NManager.Translate("Word.FloorMissingResult")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -160,8 +160,8 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
|
||||
foreach (var info in GameData.FloorInfoData.Values)
|
||||
@@ -200,8 +200,8 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
|
||||
if (info.Groups.Count == 0) missingGroupInfos = true;
|
||||
@@ -211,25 +211,25 @@ public class ResourceManager
|
||||
}
|
||||
|
||||
if (missingGroupInfos)
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.FloorGroupInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.FloorGroupInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/LevelOutput/SharedRuntimeGroup",
|
||||
I18nManager.Translate("Word.FloorGroupMissingResult")));
|
||||
I18NManager.Translate("Word.FloorGroupMissingResult")));
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", GameData.FloorInfoData.Count.ToString(),
|
||||
I18nManager.Translate("Word.FloorInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", GameData.FloorInfoData.Count.ToString(),
|
||||
I18NManager.Translate("Word.FloorInfo")));
|
||||
}
|
||||
|
||||
public static void LoadMissionInfo()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.MissionInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.MissionInfo")));
|
||||
DirectoryInfo directory = new(ConfigManager.Config.Path.ResourcePath + "/Config/Level/Mission");
|
||||
if (!directory.Exists)
|
||||
{
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.MissionInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.MissionInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/Level/Mission",
|
||||
I18nManager.Translate("Word.Mission")));
|
||||
I18NManager.Translate("Word.Mission")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -259,22 +259,22 @@ public class ResourceManager
|
||||
}
|
||||
|
||||
if (missingMissionInfos)
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.MissionInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.MissionInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/Level/Mission",
|
||||
I18nManager.Translate("Word.Mission")));
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.MissionInfo")));
|
||||
I18NManager.Translate("Word.Mission")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.MissionInfo")));
|
||||
}
|
||||
|
||||
public static T? LoadCustomFile<T>(string filetype, string filename)
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", filetype));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", filetype));
|
||||
FileInfo file = new(ConfigManager.Config.Path.ConfigPath + $"/{filename}.json");
|
||||
T? customFile = default;
|
||||
if (!file.Exists)
|
||||
{
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing", filetype,
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing", filetype,
|
||||
$"{ConfigManager.Config.Path.ConfigPath}/{filename}.json", filetype));
|
||||
return customFile;
|
||||
}
|
||||
@@ -295,23 +295,25 @@ public class ResourceManager
|
||||
switch (customFile)
|
||||
{
|
||||
case Dictionary<int, int> d:
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", d.Count.ToString(), filetype));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", d.Count.ToString(), filetype));
|
||||
break;
|
||||
case Dictionary<int, List<int>> di:
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", di.Count.ToString(), filetype));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", di.Count.ToString(), filetype));
|
||||
break;
|
||||
case BannersConfig c:
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", c.Banners.Count.ToString(), filetype));
|
||||
Logger.Info(
|
||||
I18NManager.Translate("Server.ServerInfo.LoadedItems", c.Banners.Count.ToString(), filetype));
|
||||
break;
|
||||
case RogueMiracleEffectConfig r:
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", r.Miracles.Count.ToString(), filetype));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", r.Miracles.Count.ToString(),
|
||||
filetype));
|
||||
break;
|
||||
case ActivityConfig a:
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", a.ScheduleData.Count.ToString(),
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", a.ScheduleData.Count.ToString(),
|
||||
filetype));
|
||||
break;
|
||||
default:
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItem", filetype));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItem", filetype));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -320,8 +322,8 @@ public class ResourceManager
|
||||
|
||||
public static void LoadMazeSkill()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18nManager.Translate("Word.MazeSkillInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18NManager.Translate("Word.MazeSkillInfo")));
|
||||
var count = 0;
|
||||
foreach (var adventure in GameData.AdventurePlayerData.Values)
|
||||
{
|
||||
@@ -343,24 +345,24 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", adventurePath,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", adventurePath,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
if (count < GameData.AdventurePlayerData.Count)
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.MazeSkillInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.MazeSkillInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/Level/AdventureAbility",
|
||||
I18nManager.Translate("Word.MazeSkill")));
|
||||
I18NManager.Translate("Word.MazeSkill")));
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.MazeSkillInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.MazeSkillInfo")));
|
||||
}
|
||||
|
||||
public static void LoadDialogueInfo()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.DialogueInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.DialogueInfo")));
|
||||
var count = 0;
|
||||
foreach (var dialogue in GameData.RogueNPCData)
|
||||
{
|
||||
@@ -383,25 +385,25 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
if (count < GameData.RogueNPCData.Count)
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.DialogueInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.DialogueInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/Level/Rogue/Dialogue",
|
||||
I18nManager.Translate("Word.Dialogue")));
|
||||
I18NManager.Translate("Word.Dialogue")));
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.DialogueInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.DialogueInfo")));
|
||||
}
|
||||
|
||||
public static void LoadPerformanceInfo()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18nManager.Translate("Word.PerformanceInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18NManager.Translate("Word.PerformanceInfo")));
|
||||
var count = 0;
|
||||
foreach (var performance in GameData.PerformanceEData.Values)
|
||||
{
|
||||
@@ -427,8 +429,8 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -456,8 +458,8 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -467,14 +469,14 @@ public class ResourceManager
|
||||
//Logger.Warn("Performance infos are missing, please check your resources folder: " + ConfigManager.Config.Path.ResourcePath + "/Config/Level/Mission/*/Act. Performances may not work!");
|
||||
}
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.PerformanceInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.PerformanceInfo")));
|
||||
}
|
||||
|
||||
public static void LoadSubMissionInfo()
|
||||
{
|
||||
Logger.Info(
|
||||
I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.SubMissionInfo")));
|
||||
I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.SubMissionInfo")));
|
||||
var count = 0;
|
||||
foreach (var subMission in GameData.SubMissionData.Values)
|
||||
{
|
||||
@@ -496,8 +498,8 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -506,14 +508,14 @@ public class ResourceManager
|
||||
//Logger.Warn("Performance infos are missing, please check your resources folder: " + ConfigManager.Config.Path.ResourcePath + "/Config/Level/Mission/*/Act. Performances may not work!");
|
||||
}
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.SubMissionInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.SubMissionInfo")));
|
||||
}
|
||||
|
||||
public static void LoadRogueChestMapInfo()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18nManager.Translate("Word.RogueChestMapInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18NManager.Translate("Word.RogueChestMapInfo")));
|
||||
var count = 0;
|
||||
var boardList = new List<RogueDLCChessBoardExcel>();
|
||||
foreach (var nousMap in GameData.RogueNousChessBoardData.Values) boardList.AddRange(nousMap);
|
||||
@@ -547,35 +549,35 @@ public class ResourceManager
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18nManager.Translate("Word.Error")), ex);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToReadItem", file.Name,
|
||||
I18NManager.Translate("Word.Error")), ex);
|
||||
}
|
||||
}
|
||||
|
||||
if (count < boardList.Count)
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.RogueChestMapInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.RogueChestMapInfo"),
|
||||
$"{ConfigManager.Config.Path.ResourcePath}/Config/Gameplays/RogueDLC",
|
||||
I18nManager.Translate("Word.RogueChestMap")));
|
||||
I18NManager.Translate("Word.RogueChestMap")));
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.RogueChestMapInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.RogueChestMapInfo")));
|
||||
}
|
||||
|
||||
public static void LoadChessRogueRoomData()
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18nManager.Translate("Word.ChessRogueRoomInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem",
|
||||
I18NManager.Translate("Word.ChessRogueRoomInfo")));
|
||||
var count = 0;
|
||||
|
||||
FileInfo file = new(ConfigManager.Config.Path.ConfigPath + "/ChessRogueRoomGen.json");
|
||||
List<ChessRogueRoomConfig>? customFile;
|
||||
if (!file.Exists)
|
||||
{
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18nManager.Translate("Word.ChessRogueRoomInfo"),
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.ConfigMissing",
|
||||
I18NManager.Translate("Word.ChessRogueRoomInfo"),
|
||||
$"{ConfigManager.Config.Path.ConfigPath}/ChessRogueRoomGen.json",
|
||||
I18nManager.Translate("Word.ChessRogueRoom")));
|
||||
I18NManager.Translate("Word.ChessRogueRoom")));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -627,8 +629,8 @@ public class ResourceManager
|
||||
Logger.Error("Error in reading " + file.Name, ex);
|
||||
}
|
||||
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18nManager.Translate("Word.ChessRogueRoomInfo")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", count.ToString(),
|
||||
I18NManager.Translate("Word.ChessRogueRoomInfo")));
|
||||
}
|
||||
|
||||
public static void AddRoomToGameData(RogueDLCBlockTypeEnum type, ChessRogueRoomConfig room)
|
||||
|
||||
@@ -23,7 +23,7 @@ public class DatabaseHelper
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.Database")));
|
||||
logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.Database")));
|
||||
var config = ConfigManager.Config;
|
||||
DbType type;
|
||||
string connectionString;
|
||||
@@ -271,7 +271,7 @@ public class DatabaseHelper
|
||||
}
|
||||
}
|
||||
|
||||
logger.Info(I18nManager.Translate("Server.ServerInfo.SaveDatabase",
|
||||
logger.Info(I18NManager.Translate("Server.ServerInfo.SaveDatabase",
|
||||
(DateTime.Now - prev).TotalSeconds.ToString()[..4]));
|
||||
|
||||
ToSaveUidList.Clear();
|
||||
|
||||
@@ -3,7 +3,7 @@ using EggLink.DanhengServer.Util;
|
||||
|
||||
namespace EggLink.DanhengServer.Internationalization;
|
||||
|
||||
public static class I18nManager
|
||||
public static class I18NManager
|
||||
{
|
||||
public static Logger Logger = new("I18nManager");
|
||||
|
||||
|
||||
@@ -264,6 +264,7 @@ public class HelpTextCHS
|
||||
public string Usage => "用法:/help\n\n用法:/help [命令]";
|
||||
public string Commands => "命令:";
|
||||
public string CommandPermission => "所需权限: ";
|
||||
public string CommandAlias => "命令别名:";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -264,6 +264,7 @@ public class HelpTextCHT
|
||||
public string Usage => "用法:/help\n\n用法:/help [命令]";
|
||||
public string Commands => "命令:";
|
||||
public string CommandPermission => "所需權限: ";
|
||||
public string CommandAlias => "命令彆名:";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -272,6 +272,7 @@ public class HelpTextEN
|
||||
public string Commands => "Commands:";
|
||||
public string CommandUsage => "Usage: ";
|
||||
public string CommandPermission => "Need Permission: ";
|
||||
public string CommandAlias => "Command Alias:";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -52,12 +52,12 @@ public static class Extensions
|
||||
return DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
|
||||
}
|
||||
|
||||
public static string ToArrayString(this List<string> list)
|
||||
public static string ToArrayString<T>(this List<T> list)
|
||||
{
|
||||
return list.JoinFormat(", ", "");
|
||||
}
|
||||
|
||||
public static string ToJsonString(this Dictionary<string, string> dic)
|
||||
public static string ToJsonString<TK, TV>(this Dictionary<TK, TV> dic) where TK : notnull
|
||||
{
|
||||
return JsonConvert.SerializeObject(dic);
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ public class DanhengListener
|
||||
if (UDPListener == null) return;
|
||||
KCPTransport = KcpSocketTransport.CreateMultiplexConnection(UDPClient, 1400);
|
||||
KCPTransport.Start();
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.ServerRunning", I18nManager.Translate("Word.Game"),
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.ServerRunning", I18NManager.Translate("Word.Game"),
|
||||
ConfigManager.Config.GameServer.GetDisplayAddress()));
|
||||
}
|
||||
|
||||
|
||||
@@ -68,12 +68,12 @@ public class LineupManager : BasePlayerManager
|
||||
var avatarStorage = DatabaseHelper.Instance?.GetInstance<AvatarData>(avatar.AssistUid);
|
||||
avatarType = AvatarType.AvatarAssistType;
|
||||
if (avatarStorage == null) continue;
|
||||
foreach (var avatarData in avatarStorage.Avatars!)
|
||||
if (avatarData.AvatarId == avatar.BaseAvatarId)
|
||||
{
|
||||
avatarInfo = avatarData;
|
||||
break;
|
||||
}
|
||||
foreach (var avatarData in avatarStorage.Avatars.Where(avatarData =>
|
||||
avatarData.AvatarId == avatar.BaseAvatarId))
|
||||
{
|
||||
avatarInfo = avatarData;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -307,10 +307,10 @@ public class LineupManager : BasePlayerManager
|
||||
LineupInfo lineup;
|
||||
if (LineupData.CurExtraLineup != -1)
|
||||
lineup = LineupData.Lineups[LineupData.CurExtraLineup]; // Extra lineup
|
||||
else if (lineupIndex < 0 || !LineupData.Lineups.ContainsKey(lineupIndex))
|
||||
else if (lineupIndex < 0 || !LineupData.Lineups.TryGetValue(lineupIndex, out var dataLineup))
|
||||
return;
|
||||
else
|
||||
lineup = LineupData.Lineups[lineupIndex];
|
||||
lineup = dataLineup;
|
||||
lineup.BaseAvatars = [];
|
||||
var index = lineup.LineupType == 0 ? lineupIndex : LineupData.GetCurLineupIndex();
|
||||
foreach (var avatar in lineupSlotList) await AddAvatar(index, avatar, false);
|
||||
@@ -330,7 +330,7 @@ public class LineupManager : BasePlayerManager
|
||||
LineupInfo lineup;
|
||||
if (LineupData.CurExtraLineup != -1)
|
||||
lineup = LineupData.Lineups[LineupData.CurExtraLineup]; // Extra lineup
|
||||
else if (req.Index < 0 || !LineupData.Lineups.ContainsKey((int)req.Index))
|
||||
else if (!LineupData.Lineups.ContainsKey((int)req.Index))
|
||||
return;
|
||||
else
|
||||
lineup = LineupData.Lineups[(int)req.Index];
|
||||
|
||||
@@ -45,11 +45,14 @@ public class RogueTournManager(PlayerInstance player) : BasePlayerManager(player
|
||||
{
|
||||
TalentInfoList = new RogueTalentInfoList
|
||||
{
|
||||
TalentInfo = { GameData.RogueTournPermanentTalentData.Values.Select(x => new RogueTalentInfo
|
||||
TalentInfo =
|
||||
{
|
||||
TalentId = (uint)x.TalentID,
|
||||
Status = RogueTalentStatus.Enable
|
||||
}) }
|
||||
GameData.RogueTournPermanentTalentData.Values.Select(x => new RogueTalentInfo
|
||||
{
|
||||
TalentId = (uint)x.TalentID,
|
||||
Status = RogueTalentStatus.Enable
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -99,30 +102,18 @@ public class RogueTournManager(PlayerInstance player) : BasePlayerManager(player
|
||||
};
|
||||
|
||||
foreach (var hexAvatar in GameData.RogueTournHexAvatarBaseTypeData.Keys)
|
||||
{
|
||||
proto.HandbookAvatarBaseList.Add((uint)hexAvatar);
|
||||
}
|
||||
|
||||
foreach (var buff in GameData.RogueTournBuffData.Values)
|
||||
{
|
||||
if (buff.IsInHandbook)
|
||||
proto.HandbookBuffList.Add((uint)buff.MazeBuffID);
|
||||
}
|
||||
|
||||
foreach (var formulaId in GameData.RogueTournFormulaData.Keys)
|
||||
{
|
||||
proto.HandbookFormulaList.Add((uint)formulaId);
|
||||
}
|
||||
foreach (var formulaId in GameData.RogueTournFormulaData.Keys) proto.HandbookFormulaList.Add((uint)formulaId);
|
||||
|
||||
foreach (var miracleId in GameData.RogueTournHandbookMiracleData.Keys)
|
||||
{
|
||||
proto.HandbookMiracleList.Add((uint)miracleId);
|
||||
}
|
||||
|
||||
foreach (var eventId in GameData.RogueTournHandBookEventData.Keys)
|
||||
{
|
||||
proto.HandbookEventList.Add((uint)eventId);
|
||||
}
|
||||
foreach (var eventId in GameData.RogueTournHandBookEventData.Keys) proto.HandbookEventList.Add((uint)eventId);
|
||||
|
||||
return proto;
|
||||
}
|
||||
|
||||
@@ -21,10 +21,10 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
if (dimInfo == null) return;
|
||||
LoadGroups.AddRange(dimInfo.GroupIDList);
|
||||
|
||||
foreach (var group in from @group in Scene.FloorInfo?.Groups.Values! where @group.LoadSide != GroupLoadSideEnum.Client where !@group.GroupName.Contains("TrainVisitor") select @group)
|
||||
{
|
||||
await LoadGroup(group);
|
||||
}
|
||||
foreach (var group in from @group in Scene.FloorInfo?.Groups.Values!
|
||||
where @group.LoadSide != GroupLoadSideEnum.Client
|
||||
where !@group.GroupName.Contains("TrainVisitor")
|
||||
select @group) await LoadGroup(group);
|
||||
|
||||
Scene.IsLoaded = true;
|
||||
}
|
||||
@@ -39,8 +39,8 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
var removeList = new List<IGameEntity>();
|
||||
var addList = new List<IGameEntity>();
|
||||
|
||||
foreach (var group in Scene.FloorInfo!.Groups.Values.Where(group => group.LoadSide != GroupLoadSideEnum.Client).Where(group => !group.GroupName.Contains("TrainVisitor")))
|
||||
{
|
||||
foreach (var group in Scene.FloorInfo!.Groups.Values.Where(group => group.LoadSide != GroupLoadSideEnum.Client)
|
||||
.Where(group => !group.GroupName.Contains("TrainVisitor")))
|
||||
if (oldGroupId.Contains(group.Id)) // check if it should be unloaded
|
||||
{
|
||||
if (group.ForceUnloadCondition.IsTrue(Scene.Player.MissionManager!.Data, false) ||
|
||||
@@ -75,7 +75,6 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
refreshed = groupList != null || refreshed;
|
||||
addList.AddRange(groupList ?? []);
|
||||
}
|
||||
}
|
||||
|
||||
if (refreshed && (addList.Count > 0 || removeList.Count > 0))
|
||||
await Scene.Player.SendPacket(new PacketSceneGroupRefreshScNotify(addList, removeList));
|
||||
@@ -109,11 +108,9 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
break;
|
||||
}
|
||||
|
||||
if (info.SystemUnlockCondition.Operation == OperationEnum.Not && part)
|
||||
{
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
if (info.SystemUnlockCondition.Operation != OperationEnum.Not || !part) continue;
|
||||
result = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!result) return null;
|
||||
@@ -142,28 +139,31 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
foreach (var npc in info.NPCList)
|
||||
try
|
||||
{
|
||||
if (await LoadNpc(npc, info) is EntityNpc entity) entityList.Add(entity);
|
||||
if (await LoadNpc(npc, info) is { } entity) entityList.Add(entity);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
foreach (var monster in info.MonsterList)
|
||||
try
|
||||
{
|
||||
if (await LoadMonster(monster, info) is EntityMonster entity) entityList.Add(entity);
|
||||
if (await LoadMonster(monster, info) is { } entity) entityList.Add(entity);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
foreach (var prop in info.PropList)
|
||||
try
|
||||
{
|
||||
if (await LoadProp(prop, info) is EntityProp entity) entityList.Add(entity);
|
||||
if (await LoadProp(prop, info) is { } entity) entityList.Add(entity);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
return entityList;
|
||||
@@ -175,7 +175,7 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
if (group == null) return null;
|
||||
var entities = await LoadGroup(group, true);
|
||||
|
||||
if (sendPacket && entities != null && entities.Count > 0)
|
||||
if (sendPacket && entities is { Count: > 0 })
|
||||
await Scene.Player.SendPacket(new PacketSceneGroupRefreshScNotify(entities));
|
||||
|
||||
return entities;
|
||||
@@ -252,17 +252,10 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
else
|
||||
{
|
||||
if (Scene.Excel.PlaneType == PlaneTypeEnum.Raid)
|
||||
{
|
||||
prop.State = info.State;
|
||||
}
|
||||
else
|
||||
{
|
||||
// elevator
|
||||
if (prop.Excel.PropType == PropTypeEnum.PROP_ELEVATOR)
|
||||
prop.State = PropStateEnum.Elevator1;
|
||||
else
|
||||
prop.State = info.State;
|
||||
}
|
||||
prop.State = prop.Excel.PropType == PropTypeEnum.PROP_ELEVATOR ? PropStateEnum.Elevator1 : info.State;
|
||||
}
|
||||
|
||||
if (group.GroupName.Contains("Machine"))
|
||||
@@ -277,11 +270,9 @@ public class SceneEntityLoader(SceneInstance scene)
|
||||
|
||||
if (prop.PropInfo.PropID == 1003)
|
||||
{
|
||||
if (prop.PropInfo.MappingInfoID == 2220)
|
||||
{
|
||||
await prop.SetState(PropStateEnum.Open);
|
||||
await Scene.AddEntity(prop, sendPacket);
|
||||
}
|
||||
if (prop.PropInfo.MappingInfoID != 2220) return prop;
|
||||
await prop.SetState(PropStateEnum.Open);
|
||||
await Scene.AddEntity(prop, sendPacket);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -37,14 +37,4 @@
|
||||
<Folder Include="Server\Packet\Send\TalkEvent\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="McMaster.NETCore.Plugins" Version="1.4.0" />
|
||||
<PackageReference Include="McMaster.NETCore.Plugins.Mvc" Version="1.4.0" />
|
||||
<PackageReference Include="Spectre.Console" Version="0.48.0" />
|
||||
<PackageReference Include="SQLitePCLRaw.core" Version="2.1.8" />
|
||||
<PackageReference Include="SQLitePCLRaw.provider.e_sqlite3" Version="2.1.8" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.143" />
|
||||
<PackageReference Include="System.Management" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using EggLink.DanhengServer.GameServer.Plugin.Constructor;
|
||||
using EggLink.DanhengServer.Internationalization;
|
||||
using EggLink.DanhengServer.Util;
|
||||
using McMaster.NETCore.Plugins;
|
||||
|
||||
namespace EggLink.DanhengServer.GameServer.Plugin;
|
||||
|
||||
@@ -127,7 +126,7 @@ public class PluginManager
|
||||
{
|
||||
foreach (var plugin in Plugins.Keys) UnloadPlugin(plugin);
|
||||
|
||||
logger.Info(I18nManager.Translate("Server.ServerInfo.UnloadedItems", I18nManager.Translate("Word.Plugin")));
|
||||
logger.Info(I18NManager.Translate("Server.ServerInfo.UnloadedItems", I18NManager.Translate("Word.Plugin")));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -151,8 +151,8 @@ public class Connection : DanhengConnection
|
||||
var packetName = LogMap.GetValueOrDefault(opcode);
|
||||
if (packetName == null) return false;
|
||||
|
||||
var respName = packetName.Replace("Cs", "Sc").Replace("Req", "Rsp"); // Get the response packet name
|
||||
var respOpcode = LogMap.FirstOrDefault(x => x.Value == respName).Key; // Get the response opcode
|
||||
var respName = packetName.Replace("Cs", "Sc").Replace("Req", "Rsp"); // Get the response packet name
|
||||
var respOpcode = LogMap.FirstOrDefault(x => x.Value == respName).Key; // Get the response opcode
|
||||
|
||||
// Send Rsp
|
||||
await SendPacket(respOpcode);
|
||||
|
||||
@@ -17,8 +17,8 @@ public static class HandbookGenerator
|
||||
var textMapPath = config.Path.ResourcePath + "/TextMap/TextMap" + config.ServerOption.Language + ".json";
|
||||
if (!File.Exists(textMapPath))
|
||||
{
|
||||
Logger.GetByClassName().Error(I18nManager.Translate("Server.ServerInfo.FailedToReadItem", textMapPath,
|
||||
I18nManager.Translate("Word.NotFound")));
|
||||
Logger.GetByClassName().Error(I18NManager.Translate("Server.ServerInfo.FailedToReadItem", textMapPath,
|
||||
I18NManager.Translate("Word.NotFound")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@ public static class HandbookGenerator
|
||||
|
||||
if (textMap == null)
|
||||
{
|
||||
Logger.GetByClassName().Error(I18nManager.Translate("Server.ServerInfo.FailedToReadItem", textMapPath,
|
||||
I18nManager.Translate("Word.Error")));
|
||||
Logger.GetByClassName().Error(I18NManager.Translate("Server.ServerInfo.FailedToReadItem", textMapPath,
|
||||
I18NManager.Translate("Word.Error")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ public static class HandbookGenerator
|
||||
WriteToFile(builder.ToString());
|
||||
|
||||
Logger.GetByClassName()
|
||||
.Info(I18nManager.Translate("Server.ServerInfo.GeneratedItem", I18nManager.Translate("Word.Handbook")));
|
||||
.Info(I18NManager.Translate("Server.ServerInfo.GeneratedItem", I18NManager.Translate("Word.Handbook")));
|
||||
}
|
||||
|
||||
public static void GenerateCmd(StringBuilder builder)
|
||||
@@ -87,7 +87,7 @@ public static class HandbookGenerator
|
||||
foreach (var cmd in EntryPoint.CommandManager.CommandInfo)
|
||||
{
|
||||
builder.Append("\t" + cmd.Key);
|
||||
var desc = I18nManager.Translate(cmd.Value.Description).Replace("\n", "\n\t\t");
|
||||
var desc = I18NManager.Translate(cmd.Value.Description).Replace("\n", "\n\t\t");
|
||||
builder.AppendLine(": " + desc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,12 +29,12 @@ public class EntryPoint
|
||||
{
|
||||
AppDomain.CurrentDomain.ProcessExit += (_, _) =>
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.Shutdown"));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.Shutdown"));
|
||||
PerformCleanup();
|
||||
};
|
||||
Console.CancelKeyPress += (_, eventArgs) =>
|
||||
{
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.CancelKeyPressed"));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.CancelKeyPressed"));
|
||||
eventArgs.Cancel = true;
|
||||
Environment.Exit(0);
|
||||
};
|
||||
@@ -52,10 +52,10 @@ public class EntryPoint
|
||||
|
||||
Logger.SetLogFile(file);
|
||||
// Starting the server
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.StartingServer"));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.StartingServer"));
|
||||
|
||||
// Load the config
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.Config")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.Config")));
|
||||
try
|
||||
{
|
||||
ConfigManager.LoadConfig();
|
||||
@@ -63,27 +63,27 @@ public class EntryPoint
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToLoadItem", I18nManager.Translate("Word.Config")), e);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToLoadItem", I18NManager.Translate("Word.Config")), e);
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
|
||||
// Load the language
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.Language")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.Language")));
|
||||
try
|
||||
{
|
||||
I18nManager.LoadLanguage();
|
||||
I18NManager.LoadLanguage();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToLoadItem", I18nManager.Translate("Word.Language")), e);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToLoadItem", I18NManager.Translate("Word.Language")), e);
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
|
||||
// Load the game data
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.GameData")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.GameData")));
|
||||
try
|
||||
{
|
||||
ResourceManager.LoadGameData();
|
||||
@@ -91,7 +91,7 @@ public class EntryPoint
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToLoadItem", I18nManager.Translate("Word.GameData")), e);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToLoadItem", I18NManager.Translate("Word.GameData")), e);
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
@@ -108,7 +108,7 @@ public class EntryPoint
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToLoadItem", I18nManager.Translate("Word.Database")), e);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToLoadItem", I18NManager.Translate("Word.Database")), e);
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
@@ -121,14 +121,14 @@ public class EntryPoint
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToInitializeItem",
|
||||
I18nManager.Translate("Word.Command")), e);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToInitializeItem",
|
||||
I18NManager.Translate("Word.Command")), e);
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
|
||||
// Load the plugins
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.LoadingItem", I18nManager.Translate("Word.Plugin")));
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadingItem", I18NManager.Translate("Word.Plugin")));
|
||||
try
|
||||
{
|
||||
PluginManager.LoadPlugins();
|
||||
@@ -136,7 +136,7 @@ public class EntryPoint
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error(
|
||||
I18nManager.Translate("Server.ServerInfo.FailedToLoadItem", I18nManager.Translate("Word.Plugin")), e);
|
||||
I18NManager.Translate("Server.ServerInfo.FailedToLoadItem", I18NManager.Translate("Word.Plugin")), e);
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
@@ -203,20 +203,20 @@ public class EntryPoint
|
||||
HandlerManager.Init();
|
||||
|
||||
WebProgram.Main([], GetConfig().HttpServer.Port, GetConfig().HttpServer.GetBindDisplayAddress());
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.ServerRunning", I18nManager.Translate("Word.Dispatch"),
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.ServerRunning", I18NManager.Translate("Word.Dispatch"),
|
||||
GetConfig().HttpServer.GetDisplayAddress()));
|
||||
|
||||
DanhengListener.BaseConnection = typeof(Connection);
|
||||
DanhengListener.StartListener();
|
||||
|
||||
var elapsed = DateTime.Now - time;
|
||||
Logger.Info(I18nManager.Translate("Server.ServerInfo.ServerStarted",
|
||||
Logger.Info(I18NManager.Translate("Server.ServerInfo.ServerStarted",
|
||||
elapsed.TotalSeconds.ToString(CultureInfo.InvariantCulture)[..4]));
|
||||
|
||||
GenerateLogMap();
|
||||
|
||||
if (GetConfig().ServerOption.EnableMission)
|
||||
Logger.Warn(I18nManager.Translate("Server.ServerInfo.MissionEnabled"));
|
||||
Logger.Warn(I18NManager.Translate("Server.ServerInfo.MissionEnabled"));
|
||||
CommandManager.Start();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user