using System.Collections.Generic; using Continentis.MainGame.Card; using Continentis.MainGame.Character; using Continentis.MainGame.Commands; using SLSFramework.General; namespace Continentis.Mods.Basic.Cards.Assassin { public class Backstab : CardLogicBase { private int _sharpnessCount = 0; public override void SetUpLogicComponents() { AddLogicComponent(); } public override CommandGroup PlayEffect(List targetList) { return ForEachTarget(targetList, target => Cmd.Parallel( new Cmd_PlayAnimation(user.characterView, "Attack"), new Cmd_PlaySFX("SFX_Basic_SwordStrike"), new Cmd_SpawnVFX("VFX_Basic_RedImpact"), Cmd.Sequential( Cmd.Do(() => { _sharpnessCount = 0; if (user.combatBuffSubmodule.HasBuff()) _sharpnessCount = user.combatBuffSubmodule.GetBuff().unitedStackSubmodule.stackAmount; user.Attack(target, GetTargetedFinalDamage(target)); }), Cmd.Do(() => CreateCharacterBuff(_sharpnessCount).Apply(user, user, this) ) ) )); } public override void ApplyAttributeChangesByCard() { LogicComponent().SetDamage_Default(); } } }