using Continentis.MainGame.Card; using Continentis.MainGame.Character; using Continentis.MainGame.Commands; using SLSFramework.General; using System.Collections.Generic; namespace Continentis.Mods.Basic.Cards { public class ExtremePain : CardLogicBase { protected override List PlayEffect(List targetList) { CommandGroup mainGroup = TargetListCommandGroup(targetList, new Cmd_PlayAnimation(user.characterView, "Attack"), new Cmd_PlaySFX("SFX_Basic_SwordStrike"), new Cmd_SpawnVFX("VFX_Basic_RedImpact"), new Cmd_ParamFunction(target => { var extraDamage = 0; if (target.combatBuffSubmodule.HasBuff()) { extraDamage = target.combatBuffSubmodule.GetBuff().unitedStackSubmodule.stackAmount; } user.Attack(target, GetFinalDamage(target)); })); return new List { mainGroup }; } public override int GetFinalDamage(CharacterBase target, List elementalTags = null) { var baseDamage = base.GetFinalDamage(target, elementalTags); var extraDamage = 0; if (target.combatBuffSubmodule.HasBuff()) { extraDamage = target.combatBuffSubmodule.GetBuff().unitedStackSubmodule.stackAmount; } return baseDamage + extraDamage; } } }