public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { int dice = 4; if (inst.GetCardTurn().HasBuff("Firing Position")) { dice++; } List <int> rolls = RandomGen.RollDice(dice, 10); await MessageHandler.DiceThrow(inst.Location, $"{dice}d10", rolls); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} fires an arrow into {card.Signature}! {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { string str = ""; foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(6, 5); await MessageHandler.DiceThrow(inst.Location, "6d5", rolls); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); str += $"{inst.GetCardTurn().Signature} blasts {card.Signature} with a ball of energy! {card.DamageTakenString(damages)}\n"; } await MessageHandler.SendMessage(inst.Location, $"{str}"); inst.GetCardTurn().Actions--; }
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 <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(4, 8); await MessageHandler.DiceThrow(inst.Location, "4d8", rolls); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} prances around {card.Signature}. {card.DamageTakenString(damages)}"); var flip = RandomGen.CoinFlip(); await MessageHandler.CoinFlip(inst.Location, flip); var flip2 = RandomGen.CoinFlip(); await MessageHandler.CoinFlip(inst.Location, flip2); if (flip && flip2) { await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} is hyper! They may use another ability."); inst.GetCardTurn().Actions++; } } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> damRolls = RandomGen.RollDice(8, 6); await MessageHandler.DiceThrow(inst.Location, "8d6", damRolls); List <int> shield = RandomGen.RollDice(1, 2); await MessageHandler.DiceThrow(inst.Location, "1d2", shield); var damage = 0; foreach (int roll in damRolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); inst.GetCardTurn().AddBuff(new BuffDebuff() { Name = $"Poof ({inst.GetCardTurn().Signature})", Buff = true, Description = $"{shield[0]} medium shielding.", ShieldOnly = true, MediumShield = shield[0] }); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} poofs out! They gain {shield[0]} shield and {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { card.AddBuff(new BuffDebuff() { Name = "Deafened", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "15% less defense.", DefensePercentDebuff = 0.15, Strikes = 2 }); List <int> rolls = RandomGen.RollDice(3, 8); await MessageHandler.DiceThrow(inst.Location, "3d8", rolls); var damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} deafens {card.Signature} with a sharp note and strike them with their sword! {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(2, 15); await MessageHandler.DiceThrow(inst.Location, "2d15", rolls); var flip = RandomGen.CoinFlip(); await MessageHandler.CoinFlip(inst.Location, flip); var damage = 0; foreach (int roll in rolls) { damage += roll; } if (flip) { damage += 5; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} smashes {card.Signature} with clenched fists! {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(7, 8); await MessageHandler.DiceThrow(inst.Location, "7d8", rolls); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); card.AddBuff(new BuffDebuff() { Name = "Bleeding", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "3 damage every turn.", DamagePerTurn = 3, DPRAlternateText = " bleeding damage.", Turns = 2 }); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} bites {card.Signature}, causing them to bleed. {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
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--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(15); var flip = RandomGen.CoinFlip(); int damage = rolls[0]; damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.DiceThrow(inst.Location, "1d15", rolls); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} crashes into {card.Signature}. {card.DamageTakenString(damages)}"); await MessageHandler.CoinFlip(inst.Location, flip); if (!flip) { await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} gains a 15% boost on their next attack."); inst.GetCardTurn().AddBuff(new BuffDebuff() { Name = "Crashed", Buff = true, Origin = $"({inst.GetCardTurn().Signature})", Description = "15% increased damage on next attack.", DamagePercentBuff = 0.15, Attacks = 1 }); } } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(5, 5); await MessageHandler.DiceThrow(inst.Location, "5d5", rolls); var damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); card.AddBuff(new BuffDebuff() { Name = "Egged", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "15% decreased damage.", DamagePercentDebuff = 0.15, Attacks = 1 }); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} drops an egg on {card.Signature}'s head! {card.DamageTakenString(damages)} Their next attack is reduced by 15%."); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} plows through {card.Signature}, knocking them down!"); card.AddBuff(new BuffDebuff() { Name = "Knocked Down", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "You are knocked down! You are disabled on your next turn.", TurnSkip = true, Turns = 1 }); var flip = RandomGen.CoinFlip(); await MessageHandler.CoinFlip(inst.Location, flip); if (flip) { List <int> rolls = RandomGen.RollDice(7, 10); await MessageHandler.DiceThrow(inst.Location, "7d10", rolls); var damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{card.Signature} hits the ground hard and takes damage. {card.DamageTakenString(damages)}"); } else { await MessageHandler.SendMessage(inst.Location, $"{card.Signature} is vulnerable! They take 200% more damage on the next hit to them."); card.AddBuff(new BuffDebuff() { Name = "Vulnerable", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "You have been knocked down and are vulnerable! You take 200% more damage on the next hit to you.", DefensePercentDebuff = 2.0, Strikes = 1 }); } } OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <int> rolls = RandomGen.RollDice(4, 20); string str = ""; int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); foreach (Team team in inst.Teams) { if (team.TeamNum != inst.GetTeam(inst.GetCardTurn()).TeamNum) { foreach (UserAccount user in team.Members) { foreach (BasicCard card in user.ActiveCards) { var latchDmg = 1.0; if (card.SearchForMarker(inst.TurnNumber) != null) { latchDmg = 1.5; str = $"\n{inst.GetCardTurn().Signature} dismounts from {card.Signature}, dealing 50% more damage!"; for (int i = card.Markers.Count - 1; i >= 0; i--) { if (card.Markers[i].OriginTurnNum == inst.TurnNumber) { card.Markers.RemoveAt(i); } } } var tempDam = card.TakeDamage((int)(damage * latchDmg)); str += $"\n{card.DamageTakenString(tempDam)}"; } } } } await MessageHandler.DiceThrow(inst.Location, "4d20", rolls); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} hits the enemy team with a powerful gust of wind!{str}"); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(10, 7, true); await MessageHandler.DiceThrow(inst.Location, "10d7!", rolls); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); var finalDamage = damages[0]; await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} shakes their tail at {card.Signature}! Their life was drained from them! {card.DamageTakenString(damages)}"); var heal = finalDamage * 3; heal = inst.GetCardTurn().ApplyHealingBuffs(heal, true); var team = inst.GetTeam(inst.GetCardTurn()).Members; var rem = heal % team.Count; foreach (UserAccount teammate in inst.GetTeam(inst.GetCardTurn()).Members) { foreach (BasicCard teamCard in teammate.ActiveCards) { if (!teamCard.Dead) { var teamheal = (int)Math.Floor((double)heal / team.Count); if (rem > 0) { rem--; teamheal++; } teamCard.Heal(teamheal, true); await MessageHandler.SendMessage(inst.Location, $"{teamCard.Signature} healed for {teamheal} HP."); } } } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} healed the party for a total of {heal} HP!"); } 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 <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(20); int damage = rolls[0]; damage = inst.GetCardTurn().ApplyDamageBuffs(damage); await MessageHandler.DiceThrow(inst.Location, "1d20", rolls); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} punches {card.Signature} with the force of a soldier! {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(12, 4); bool latchState = false; int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); //If any latches are detected, set latchState to true var latches = inst.SearchForMarker(inst.TurnNumber); if (latches.Count > 0 && latches.Contains(card)) { latchState = true; } await MessageHandler.DiceThrow(inst.Location, "12d4", rolls); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} unloads a clip into {card.Signature}. {card.DamageTakenString(damages)}"); if (latchState) { await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} chomps down harder, causing {card.Signature} to bleed!"); card.AddBuff(new BuffDebuff() { Name = "Chomp Wound", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "receive 10 bleed damage on next attack.", BleedAttackDamage = 10, Attacks = 1 }); } } OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <int> rolls = RandomGen.RollDice(20, 3, true); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); await MessageHandler.DiceThrow(inst.Location, "20d3!", rolls); string str = ""; var totalDam = 0; foreach (Team team in inst.Teams) { if (team.TeamNum != inst.GetTeam(inst.GetCardTurn()).TeamNum) { foreach (UserAccount user in team.Members) { foreach (BasicCard card in user.ActiveCards) { var tempDams = card.TakeDamage(damage); totalDam += tempDams[0]; str += $"\n{card.DamageTakenString(tempDams)} Their next attack reduced by 50%"; card.AddBuff(new BuffDebuff() { Name = $"Sticky", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "Sticky syrup got on you! Your next attack is reduced by 50%", DamagePercentDebuff = 0.5, Attacks = 1 }); } } } } await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} unleashes an avalanche of syrup!{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) { string str = ""; foreach (BasicCard card in targets) { if (card.Name == "Achilles") { card.CurrentHP = 0; str += $"{inst.GetCardTurn().Name} strikes Achille's weak point!"; } else { List <int> rolls = RandomGen.RollDice(3, 12, true); await MessageHandler.DiceThrow(inst.Location, "3d12", rolls); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); card.AddBuff(new BuffDebuff() { Name = "Slashed Heel", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "disabled.", TurnSkip = true, Turns = 1 }); str = $"{inst.GetCardTurn().Signature} slashes {card.Signature}'s heel! {card.DamageTakenString(damages)}"; } } await MessageHandler.SendMessage(inst.Location, $"{str}"); 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) { List <int> rolls = RandomGen.RollDice(3, 10); int heal = 0; foreach (int roll in rolls) { heal += roll; } heal = inst.GetCardTurn().ApplyHealingBuffs(heal, true); heal = inst.GetCardTurn().Heal(heal, true); await MessageHandler.DiceThrow(inst.Location, "3d10", rolls); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} takes a moment to rest. They restore {heal} health."); OnCooldown = true; CurrentCooldown = Cooldown; inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(25, 10); await MessageHandler.DiceThrow(inst.Location, "25d10", rolls); var damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} picks up {card.Signature} and crushes them in his fist! {card.DamageTakenString(damages)}"); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst) { List <int> rolls = RandomGen.RollDice(1, 100); await MessageHandler.DiceThrow(inst.Location, "1d100", rolls); double perc = (double)rolls[0] / 100.0; inst.GetCardTurn().AddBuff(new BuffDebuff() { Name = "Reel", Buff = true, Origin = $"({inst.GetCardTurn().Signature})", Description = $"Gain {rolls[0]}% extra damage on your next attack.", DamagePercentBuff = perc, Attacks = 1 }); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} prepares their next attack, gaining a {rolls[0]}% buff to their next attack!"); inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(4, 8); await MessageHandler.DiceThrow(inst.Location, "4d8", rolls); var damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} slashes {card.Signature} with the blade of ares! {card.DamageTakenString(damages)}"); } 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) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(5, 15); await MessageHandler.DiceThrow(inst.Location, "5d15", rolls); var flip = RandomGen.CoinFlip(); await MessageHandler.CoinFlip(inst.Location, flip); var damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} gores {card.Signature}! {card.DamageTakenString(damages)}"); if (flip) { await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} digs into {card.Signature}, causing them to bleed!"); card.AddBuff(new BuffDebuff() { Name = "Gored", Buff = false, Origin = $"({inst.GetCardTurn().Signature})", Description = "5 bleeding every time an attack is made for 2 turns.", BleedAttackDamage = 5, Turns = 2 }); } } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(5, 8); await MessageHandler.DiceThrow(inst.Location, "5d8", rolls); int heal = 0; foreach (int roll in rolls) { heal += roll; } heal = inst.GetCardTurn().ApplyHealingBuffs(heal, true); heal = card.Heal(heal, true); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} gives {card.Signature} a little kiss, healing them for {heal} HP."); } inst.GetCardTurn().Actions--; }
public override async Task MoveEffect(CombatInstance inst, List <BasicCard> targets) { foreach (BasicCard card in targets) { List <int> rolls = RandomGen.RollDice(5, 10); int damage = 0; foreach (int roll in rolls) { damage += roll; } damage = inst.GetCardTurn().ApplyDamageBuffs(damage); var damages = card.TakeDamage(damage); await MessageHandler.DiceThrow(inst.Location, "5d10", rolls); await MessageHandler.SendMessage(inst.Location, $"{inst.GetCardTurn().Signature} hits {card.Signature} with a flurry of attacks! {card.DamageTakenString(damages)}"); } 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--; }
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--; }