Files
Continentis/Assets/Mods/Basic/Cards/Scripts/Knight/DivineSmite.cs

43 lines
1.5 KiB
C#
Raw Normal View History

2025-10-31 10:02:30 -04:00
using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Combat;
using Continentis.MainGame.Commands;
using SLSFramework.General;
namespace Continentis.Mods.Basic.Cards
{
public class DivineSmite : CardLogicBase
{
2025-11-15 12:17:34 -05:00
public override void SetUpLogicComponents()
2025-10-31 10:02:30 -04:00
{
AddLogicComponent<CardLogicComponent_Attack>();
AddLogicComponent<CardLogicComponent_Protect>();
}
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-31 10:02:30 -04:00
{
2026-03-20 11:56:50 -04:00
CommandGroup mainGroup = ForEachTarget(targetList, target => Cmd.Parallel(
2025-10-31 10:02:30 -04:00
new Cmd_PlayAnimation(user.characterView, "Attack"),
2026-04-01 12:23:27 -04:00
Cmd.Do(() => AttackTarget(target, GetTargetedFinalDamage(target)))
2026-03-20 11:56:50 -04:00
));
2025-10-31 10:02:30 -04:00
2026-03-20 11:56:50 -04:00
List<CharacterBase> allies = CombatMainManager.Instance.characterController.GetAllAllies(user);
foreach (CharacterBase ally in allies)
2025-10-31 10:02:30 -04:00
{
2026-03-20 11:56:50 -04:00
CharacterBase captured = ally;
mainGroup.AddCommand(Cmd.Do(() =>
LogicComponent<CardLogicComponent_Protect>()
.GenerateProtection(user, captured, GetAttribute("BuffCount_Protecting"))
));
2025-10-31 10:02:30 -04:00
}
2026-03-20 11:56:50 -04:00
return mainGroup;
2025-10-31 10:02:30 -04:00
}
2026-03-20 11:56:50 -04:00
2025-10-31 10:02:30 -04:00
public override void ApplyAttributeChangesByCard()
{
2026-04-08 04:48:35 -04:00
LogicComponent<CardLogicComponent_Attack>().SetDamage_Physics();
2025-10-31 10:02:30 -04:00
}
}
}