feat: specific monster to battle

This commit is contained in:
StopWuyu
2025-06-07 20:00:18 +08:00
parent 4f2cf356d0
commit a7455def9d
2 changed files with 33 additions and 0 deletions

View File

@@ -37,4 +37,36 @@ public class CommandDebug : ICommand
player.BattleManager!.NextBattleStageConfig = stage;
await arg.SendMsg(I18NManager.Translate("Game.Command.Debug.SetStageId"));
}
[CommandMethod("0 monster")]
public async ValueTask AddMonster(CommandArg arg)
{
var player = arg.Target?.Player;
if (player == null)
{
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.PlayerNotFound"));
return;
}
if (arg.BasicArgs.Count == 0)
{
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
return;
}
if (!int.TryParse(arg.BasicArgs[0], out var monsterId))
{
await arg.SendMsg(I18NManager.Translate("Game.Command.Notice.InvalidArguments"));
return;
}
if (!GameData.MonsterConfigData.TryGetValue(monsterId, out _))
{
await arg.SendMsg(I18NManager.Translate("Game.Command.Debug.InvalidStageId"));
return;
}
player.BattleManager!.NextBattleMonsterIds.Add(monsterId);
await arg.SendMsg(I18NManager.Translate("Game.Command.Debug.SetStageId"));
}
}

View File

@@ -18,6 +18,7 @@ namespace EggLink.DanhengServer.GameServer.Game.Battle;
public class BattleManager(PlayerInstance player) : BasePlayerManager(player)
{
public StageConfigExcel? NextBattleStageConfig { get; set; }
public List<int> NextBattleMonsterIds { get; set; } = [];
public async ValueTask<BattleInstance?> StartBattle(BaseGameEntity attackEntity, List<BaseGameEntity> targetEntityList,
bool isSkill)