Files
Continentis/Assets/Mods/Basic/Cards/Scripts/General/Attack/Cleave.cs

42 lines
1.3 KiB
C#
Raw Normal View History

2025-10-23 00:49:44 -04:00
using System.Collections.Generic;
2026-04-08 04:48:35 -04:00
using Continentis.MainGame;
2025-10-23 00:49:44 -04:00
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
2026-04-17 12:01:50 -04:00
using SLSUtilities.General;
2025-10-23 00:49:44 -04:00
namespace Continentis.Mods.Basic.Cards
{
2026-04-01 12:23:27 -04:00
/// <summary>
2026-04-08 04:48:35 -04:00
/// 顺劈斩:对全体敌人造成物理伤害。
/// AOE 范围由卡牌数据的目标配置决定targetCount = -1
2026-04-01 12:23:27 -04:00
/// </summary>
public class Cleave : CardLogicBase
2025-10-23 00:49:44 -04:00
{
2026-04-08 04:48:35 -04:00
private AttackContext PhysicsCtx => AttackContext.Default(card)
.WithDamageKeywords(CardKeywords.Physics);
2025-11-15 12:17:34 -05:00
public override void SetUpLogicComponents()
2025-10-23 00:49:44 -04:00
{
AddLogicComponent<CardLogicComponent_Attack>();
}
2025-11-15 12:17:34 -05:00
2026-03-20 11:56:50 -04:00
public override CommandGroup PlayEffect(List<CharacterBase> targetList)
2025-10-23 00:49:44 -04:00
{
2026-04-01 12:23:27 -04:00
return Cmd.Sequential(
2025-10-23 00:49:44 -04:00
new Cmd_PlayAnimation(user.characterView, "Attack"),
2026-04-08 04:48:35 -04:00
ForEachTarget(targetList, target => Cmd.Do(() =>
{
AttackContext ctx = PhysicsCtx;
AttackTarget(target, GetTargetedFinalDamage(target, ctx), ctx);
}))
2026-04-01 12:23:27 -04:00
);
2025-10-23 00:49:44 -04:00
}
2026-03-20 11:56:50 -04:00
2025-10-23 00:49:44 -04:00
public override void ApplyAttributeChangesByCard()
{
2026-04-08 04:48:35 -04:00
LogicComponent<CardLogicComponent_Attack>().SetDamage_Physics();
2025-10-23 00:49:44 -04:00
}
}
2026-04-01 12:23:27 -04:00
}