Files
Continentis/Assets/Mods/Basic/Cards/Scripts/General/FightingInspiration.cs
SoulliesOfficial 2906206f0c keyword + animation
2025-10-27 07:04:34 -04:00

40 lines
1.4 KiB
C#

using System.Collections.Generic;
using Continentis.MainGame.Card;
using Continentis.MainGame.Character;
using Continentis.MainGame.Commands;
using SLSFramework.General;
using UnityEngine;
namespace Continentis.Mods.Basic.Cards
{
public class FightingInspiration : CardLogicBase
{
protected override void SetUpLogicComponents()
{
AddLogicComponent<CardLogicComponent_GenerateCards>().SetFilter(CardFilter);
}
protected override CommandBase PlayEffect(List<CharacterBase> targetList)
{
base.PlayEffect(targetList);
CommandGroup mainGroup = new CommandGroup(ExecutionMode.Sequential);
mainGroup.AddCommand(new Cmd_PlayAnimation(user.characterView, "Skill"));
mainGroup.AddCommand(new Cmd_Function(() =>
{
List<CardData> filtered = LogicComponent<CardLogicComponent_GenerateCards>().GetFilteredGlobalCardData();
if(filtered.TryGetRandom(out CardData cardData))
{
CardInstance.GenerateCardInstance(cardData, user, "Hand").GenerateHandCardView("Hand");
}
}));
return mainGroup;
}
private bool CardFilter(CardData cardData)
{
return cardData.cardType == CardType.Attack && cardData.HasKeyword("Physics");
}
}
}