2026-04-01 12:23:27 -04:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using Continentis.MainGame;
|
|
|
|
|
|
using Continentis.MainGame.Card;
|
|
|
|
|
|
using Continentis.MainGame.Character;
|
|
|
|
|
|
using Continentis.MainGame.Commands;
|
2026-04-17 12:01:50 -04:00
|
|
|
|
using SLSUtilities.General;
|
2026-04-01 12:23:27 -04:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Continentis.Mods.Basic.Cards
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 初级净化术:对目标施加弱驱散(Basic),移除所有可被弱驱散驱散的负面Buff。
|
|
|
|
|
|
/// 友方目标时驱散负面Buff;敌方目标时驱散正面Buff(由 Dispel 内部判定)。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class BasicPurification : CardLogicBase
|
|
|
|
|
|
{
|
|
|
|
|
|
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
|
|
|
|
|
|
{
|
|
|
|
|
|
return ForEachTarget(targetList, target => Cmd.Parallel(
|
|
|
|
|
|
new Cmd_PlayAnimation(user.characterView, "Action"),
|
|
|
|
|
|
Cmd.Do(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
List<CharacterCombatBuffBase> dispelled = target.combatBuffSubmodule.Dispel(BuffDispelLevel.Basic, user);
|
|
|
|
|
|
Debug.Log($"[BasicPurification] 对 {target.data.displayName} 执行弱驱散,移除了 {dispelled.Count} 个Buff。");
|
|
|
|
|
|
})
|
|
|
|
|
|
));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|