Ejemplo n.º 1
0
        public override async Task MoveEffect(CombatInstance inst)
        {
            int healing = 15;

            healing = inst.GetCardTurn().ApplyHealingBuffs(healing, true);
            string str       = "";
            var    totalHeal = 0;

            List <BasicCard> targets = inst.GetAOEAllyTargets();

            foreach (BasicCard card in targets)
            {
                if (!card.Name.Contains("Priam"))
                {
                    var tempHeal = card.Heal(healing, true);
                    totalHeal += tempHeal;
                    str       += $"\n{card.Signature} heals {tempHeal} HP!";

                    card.AddBuff(new BuffDebuff()
                    {
                        Name              = "Inspired",
                        Buff              = true,
                        Origin            = $"({inst.GetCardTurn().Signature})",
                        Description       = "10% bonus damage",
                        DamagePercentBuff = 0.10,
                        Attacks           = 1
                    });
                }
            }

            await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} inspires his troops!{str}\n{inst.GetCardTurn().Signature} healed a total of {totalHeal} health.");

            inst.GetCardTurn().Actions--;
        }
Ejemplo n.º 2
0
        public override async Task MoveEffect(CombatInstance inst)
        {
            List <int> rolls = RandomGen.RollDice(4, 10);
            await MessageHandler.DiceThrow(inst.Location, "4d10", rolls);

            int damage = 0;

            foreach (int roll in rolls)
            {
                damage += roll;
            }

            damage = inst.GetCardTurn().ApplyDamageBuffs(damage);
            string str      = "";
            var    totalDam = 0;

            List <BasicCard> targets = inst.GetAOEAllyTargets();

            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} shreds the enemy with their claws!{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage.");

            inst.GetCardTurn().Actions--;
        }
Ejemplo n.º 3
0
        public override async Task MoveEffect(CombatInstance inst)
        {
            List <int> rolls = RandomGen.RollDice(3, 10);
            await MessageHandler.DiceThrow(inst.Location, "3d10", rolls);

            int healing = 0;

            foreach (int roll in rolls)
            {
                healing += roll;
            }

            healing = inst.GetCardTurn().ApplyHealingBuffs(healing, true);
            string str       = "";
            var    totalHeal = 0;

            List <BasicCard> allyTargets = inst.GetAOEAllyTargets();

            foreach (BasicCard card in allyTargets)
            {
                var tempHeal = card.Heal(healing, true);
                totalHeal += tempHeal;
                str       += $"\n{card.Signature} heals {tempHeal} HP!";
            }

            List <BasicCard> targets = inst.GetAOEEnemyTargets();

            foreach (BasicCard card in targets)
            {
                card.AddBuff(new BuffDebuff()
                {
                    Name                = "Drunkard",
                    Buff                = false,
                    Origin              = $"({inst.GetCardTurn().Signature})",
                    Description         = "Drunk! Deal 30% less damage on your next attack.",
                    DamagePercentDebuff = 0.30,
                    Attacks             = 1
                });
            }

            await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} douses the battlefield in wine!{str}\n{inst.GetCardTurn().Signature} healed a total of {totalHeal} health. All enemies have their next attack reduced by 30%.");

            OnCooldown      = true;
            CurrentCooldown = Cooldown;
            inst.GetCardTurn().Actions--;
        }
Ejemplo n.º 4
0
        public override async Task MoveEffect(CombatInstance inst)
        {
            List <BasicCard> targets = inst.GetAOEAllyTargets();

            foreach (BasicCard card in targets)
            {
                card.AddBuff(new BuffDebuff()
                {
                    Name               = "Shield Block",
                    Buff               = true,
                    Origin             = $"({inst.GetCardTurn().Signature})",
                    Description        = "15% less damage.",
                    DefensePercentBuff = 0.15,
                    Rounds             = 1
                });
            }

            await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} raises their shield!");

            inst.GetCardTurn().Actions--;
        }
Ejemplo n.º 5
0
        public override async Task MoveEffect(CombatInstance inst)
        {
            List <BasicCard> targets = inst.GetAOEAllyTargets();

            foreach (BasicCard card in targets)
            {
                card.AddBuff(new BuffDebuff()
                {
                    Name             = "Inspired",
                    Buff             = true,
                    Origin           = $"({inst.GetCardTurn().Signature})",
                    Description      = "10 more damage.",
                    DamageStaticBuff = 10,
                    Attacks          = 1
                });
            }

            await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} lets out a mighty roar, inspiring their team! All allied players deal 10 extra damage on their next attack.");

            OnCooldown      = true;
            CurrentCooldown = Cooldown;
            inst.GetCardTurn().Actions--;
        }
Ejemplo n.º 6
0
        public override async Task MoveEffect(CombatInstance inst)
        {
            List <int> rolls = RandomGen.RollDice(4, 5);
            await MessageHandler.DiceThrow(inst.Location, "4d5", rolls);

            int healing = 0;

            foreach (int roll in rolls)
            {
                healing += roll;
            }

            healing = inst.GetCardTurn().ApplyHealingBuffs(healing, true);
            string str       = "";
            var    totalHeal = 0;

            List <BasicCard> allyTargets = inst.GetAOEAllyTargets();

            foreach (BasicCard card in allyTargets)
            {
                var tempHeal = card.Heal(healing, true);
                totalHeal += tempHeal;
                str       += $"\n{card.Signature} heals {tempHeal} HP!";

                card.AddBuff(new BuffDebuff()
                {
                    Name        = "Lighthearted",
                    Buff        = false,
                    Origin      = $"({inst.GetCardTurn().Signature})",
                    Description = "Light Shield.",
                    LightShield = 1,
                    ShieldOnly  = true
                });

                card.AddBuff(new BuffDebuff()
                {
                    Name              = "Lighthearted",
                    Buff              = false,
                    Origin            = $"({inst.GetCardTurn().Signature})",
                    Description       = "20% increased damage.",
                    DamagePercentBuff = 0.20,
                    Attacks           = 1
                });

                card.AddBuff(new BuffDebuff()
                {
                    Name               = "Lighthearted",
                    Buff               = false,
                    Origin             = $"({inst.GetCardTurn().Signature})",
                    Description        = "10% increased defense.",
                    DefensePercentBuff = 0.10,
                    Strikes            = 1
                });
            }

            await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} plays a happy ditty!{str}\n{inst.GetCardTurn().Signature} healed a total of {totalHeal} health. All allies gained various buffs.");

            OnCooldown      = true;
            CurrentCooldown = Cooldown;
            inst.GetCardTurn().Actions--;
        }