using System.Collections.Generic; using Continentis.MainGame; using Continentis.MainGame.Card; using Continentis.MainGame.Character; using Continentis.MainGame.Commands; using SLSUtilities.General; namespace Continentis.Mods.Basic.Cards.General.Skills { public class Cohesion : CardLogicBase { public override void SetUpLogicComponents() { AddLogicComponent().SetCondition(SelectCondition).SetEffect(SelectEffect); } public override CommandGroup PlayEffect(List targetList) { base.PlayEffect(targetList); CommandGroup mainGroup = Cmd.Sequential(new Cmd_PlayAnimation(user.characterView, "Skill")); LogicComponent() .AddSelectionCommands(ref mainGroup, "Card_Basic_Cohesion_SelectionCommandTitle".Localize(), 1); return mainGroup; } private bool SelectCondition(CardInstance card) { CardType type = card.contentSubmodule.cardType; return type != CardType.Status && type != CardType.Curse; } private void SelectEffect(CardInstance card) { card.ModifyAttribute("StaminaCost", -1); card.contentSubmodule.keywords.Add("Retain"); card.contentSubmodule.originalFunctionText += " + $Keyword(\"Retain\")"; card.contentSubmodule.dirtyMark = true; } } }