public override async Task MoveEffect(CombatInstance inst) { List <BasicCard> targets = inst.GetAOERandomRangeEnemyTargets(1); foreach (BasicCard card in targets) { card.CurrentHP = 0; await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Name} swallows {card.Signature} whole. They are lost to the deep..."); } OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <int> rolls = RandomGen.RollDice(4, 20); await MessageHandler.DiceThrow(inst.Location, "4d20", rolls); List <int> rolls2 = RandomGen.RollDice(3, 2); await MessageHandler.DiceThrow(inst.Location, "3d2", rolls2); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); string str = ""; var totalDam = 0; var targetCount = 0; foreach (int roll in rolls2) { targetCount += roll; } List <BasicCard> targets = inst.GetAOERandomRangeEnemyTargets(targetCount); foreach (BasicCard card in targets) { var tempDam = card.TakeDamage(damage); totalDam += tempDam[0]; str += $"\n{card.DamageTakenString(tempDam)}"; } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} sweeps away {targetCount} players!{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage."); inst.GetCardTurn().Actions--; }