public override async Task MoveEffect(CombatInstance inst) { List <int> rolls = RandomGen.RollDice(4, 15, true); await MessageHandler.DiceThrow(inst.Location, "4d15!", 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.GetAOEEnemyTargets(); 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} fires a magical arrow!{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage."); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <int> hitRoll = RandomGen.RollDice(1, 4); await MessageHandler.DiceThrow(inst.Location, "1d4", hitRoll); if (hitRoll[0] == 4) { List <int> rolls = RandomGen.RollDice(6, 10); await MessageHandler.DiceThrow(inst.Location, "6d10", 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.GetAOEEnemyTargets(); foreach (BasicCard card in targets) { var tempDam = card.TakeDamage(damage); totalDam += tempDam[0]; str += $"\n{card.DamageTakenString(tempDam)}"; card.AddBuff(new BuffDebuff() { Name = "Prone", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "disabled.", TurnSkip = true, Turns = 1 }); } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} hits the party with a swing of his arm!{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage."); } else { await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} missed!"); } OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
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--; }
public override async Task MoveEffect(CombatInstance inst) { int damage = 40; damage = inst.GetCardTurn().ApplyDamageBuffs(damage); string str = ""; var totalDam = 0; List <BasicCard> targets = inst.GetAOEEnemyTargets(); foreach (BasicCard card in targets) { var tempDam = card.TakeDamage(damage); totalDam += tempDam[0]; str += $"\n{card.DamageTakenString(tempDam)}"; card.AddBuff(new BuffDebuff() { Name = "Crushed", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "Disabled.", TurnSkip = true, BleedAttackDamage = 10, Turns = 1 }); card.AddBuff(new BuffDebuff() { Name = "Crushed", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "Bleeding for 10 damage.", TurnSkip = true, BleedAttackDamage = 10, Attacks = 1 }); } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} crushes the enemy team with sharpened teeth!{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage and disabled all enemy players for 1 turn."); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { int healing = 10; healing = inst.GetCardTurn().ApplyHealingBuffs(healing, true); string str = ""; var totalHeal = 0; List <BasicCard> targets = inst.GetAOEEnemyTargets(); foreach (BasicCard card in targets) { var tempHeal = card.Heal(healing, true); totalHeal += tempHeal; str += $"\n{card.Signature} heals {tempHeal} HP!"; } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} lets out a cute little squeal!{str}\n{inst.GetCardTurn().Signature} healed a total of {totalHeal} health."); inst.GetCardTurn().Actions--; }
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> targets = inst.GetAOEEnemyTargets(); foreach (BasicCard card in targets) { var tempHeal = card.Heal(healing, true); totalHeal += tempHeal; str += $"\n{card.Signature} heals {tempHeal} HP!"; card.AddBuff(new BuffDebuff() { Name = "Birdsong", Buff = true, Origin = $"({inst.GetCardTurn().Signature})", Description = "20% increased damage.", DamagePercentBuff = 0.20, Attacks = 1 }); } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} chirps up a storm!{str}\n{inst.GetCardTurn().Signature} healed a total of {totalHeal} health and all allies gain 20% increased damage on their next attack."); inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <BasicCard> targets = inst.GetAOEEnemyTargets(); int damage = targets.Count * 5; damage = inst.GetCardTurn().ApplyDamageBuffs(damage); string str = ""; var totalDam = 0; 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} starts a torrent.{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage."); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <BasicCard> targets = inst.GetAOEEnemyTargets(); foreach (BasicCard card in targets) { card.AddBuff(new BuffDebuff() { Name = "Ringing Ears", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "Silenced.", Silenced = true, Turns = 1 }); } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} lets out an ungodly screech, silencing the enemy team."); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <int> rolls = RandomGen.RollDice(6, 6); await MessageHandler.DiceThrow(inst.Location, "6d6", rolls); var flip = RandomGen.CoinFlip(); await MessageHandler.CoinFlip(inst.Location, flip); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); string str = ""; var totalDam = 0; List <BasicCard> targets = inst.GetAOEEnemyTargets(); 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} calls upon Artemis to barrage the enemy!{str}\n{inst.GetCardTurn().Signature} dealt a total of {totalDam} damage."); if (!flip) { OnCooldown = true; CurrentCooldown = Cooldown; } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <BasicCard> targets = inst.GetAOEEnemyTargets(); foreach (BasicCard card in targets) { card.AddBuff(new BuffDebuff() { Name = "Burning", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "8 damage each round.", DamagePerRound = 8, DPRAlternateText = "burning damage.", Rounds = 3 }); } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} sets the enemy team aflame!"); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }