Esempio n. 1
0
        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--;
        }
Esempio n. 2
0
        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--;
        }