From 489dbd528692bc20c49821c2dbe2c64a348055fe Mon Sep 17 00:00:00 2001 From: letheriver2007 Date: Mon, 21 Apr 2025 22:11:41 +0800 Subject: [PATCH] fix: some avatars cannot enter battle --- .../Game/Task/AvatarTask/AbilityLevelTask.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/GameServer/Game/Task/AvatarTask/AbilityLevelTask.cs b/GameServer/Game/Task/AvatarTask/AbilityLevelTask.cs index 11403e20..2ccaddb3 100644 --- a/GameServer/Game/Task/AvatarTask/AbilityLevelTask.cs +++ b/GameServer/Game/Task/AvatarTask/AbilityLevelTask.cs @@ -25,13 +25,12 @@ public class AbilityLevelTask(PlayerInstance player) { if (selector is TargetAlias target) { - if (target.Alias == "AllEnemy") return targetEntities; - - if (target.Alias == "Caster") return [casterEntity]; - - if (target.Alias == "AbilityTargetEntity") return targetEntities; - - if (target.Alias == "ParamEntity") return targetEntities; + return target.Alias switch + { + "Caster" or "ModifierOwnerEntity" => [casterEntity], + "ParamEntity" or "AllEnemy" or "AbilityTargetEntity" => targetEntities, + _ => targetEntities, + }; } return []; @@ -121,7 +120,7 @@ public class AbilityLevelTask(PlayerInstance player) } else { - foreach (var task in predicateTaskList.FailedTaskList) + foreach (var task in predicateTaskList.SuccessTaskList) { var result = await TriggerTask(param with { Act = task }); if (result.BattleInfos != null) battleInfos.AddRange(result.BattleInfos); @@ -367,6 +366,11 @@ public class AbilityLevelTask(PlayerInstance player) return false; } + public bool AdventureByInMotionState(AbilityLevelParam param) + { + return true; + } + #endregion }