public void BasicHealthAuraTest2() { var game = new Game(new GameConfig { StartPlayer = 1, FillDecks = true }); game.StartGame(); game.Player1.BaseMana = 10; var minion1 = Generic.DrawCard(game.Player1, Cards.FromName("Murloc Raider")); var minion2 = Generic.DrawCard(game.Player1, Cards.FromName("Ironbeak Owl")); var spell1 = Generic.DrawCard(game.Player1, Cards.FromName("Power Word: Shield")); game.Process(PlayCardTask.Minion(game.CurrentPlayer, minion1)); game.Process(PlayCardTask.SpellTarget(game.CurrentPlayer, spell1, minion1)); Assert.Equal(3, ((ICharacter)minion1).Health); game.Process(PlayCardTask.MinionTarget(game.CurrentPlayer, minion2, minion1)); Assert.Equal(1, ((ICharacter)minion1).Health); game.Process(EndTurnTask.Any(game.CurrentPlayer)); game.Process(EndTurnTask.Any(game.CurrentPlayer)); var minion3 = Generic.DrawCard(game.Player1, Cards.FromName("Bloodfen Raptor")); var minion4 = Generic.DrawCard(game.Player1, Cards.FromName("Ironbeak Owl")); var spell2 = Generic.DrawCard(game.Player1, Cards.FromName("Power Word: Shield")); game.Process(PlayCardTask.Minion(game.CurrentPlayer, minion3)); game.Process(PlayCardTask.SpellTarget(game.CurrentPlayer, spell2, minion3)); Assert.Equal(4, ((ICharacter)minion3).Health); ((Minion)minion3).Damage = 3; game.Process(PlayCardTask.MinionTarget(game.CurrentPlayer, minion4, minion3)); Assert.Equal(1, ((ICharacter)minion3).Health); }
public void BlackwingCorruptor_BRM_034() { var game = new Game(new GameConfig { StartPlayer = 1, Player1HeroClass = CardClass.PRIEST, Player1Deck = new List <Card>() { Cards.FromName("Azure Drake"), Cards.FromName("Blackwing Corruptor"), Cards.FromName("Stonetusk Boar"), Cards.FromName("Stonetusk Boar"), Cards.FromName("Bloodfen Raptor"), Cards.FromName("Bloodfen Raptor") }, Player2HeroClass = CardClass.PRIEST, Player2Deck = new List <Card>() { Cards.FromName("Blackwing Corruptor"), Cards.FromName("Stonetusk Boar"), Cards.FromName("Stonetusk Boar"), Cards.FromName("Bloodfen Raptor"), Cards.FromName("Bloodfen Raptor") }, FillDecks = false, Shuffle = false }); game.StartGame(); game.Player1.BaseMana = 10; game.Player2.BaseMana = 10; var testCard1 = Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Blackwing Corruptor")); game.Process(PlayCardTask.MinionTarget(game.CurrentPlayer, testCard1, game.CurrentOpponent.Hero)); game.Process(EndTurnTask.Any(game.CurrentPlayer)); var testCard2 = Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Blackwing Corruptor")); game.Process(PlayCardTask.Minion(game.CurrentPlayer, testCard2)); Assert.Equal(1, game.Player1.BoardZone.Count); Assert.Equal(1, game.Player2.BoardZone.Count); Assert.Equal(30, game.Player1.Hero.Health); Assert.Equal(27, game.Player2.Hero.Health); }
public void BasicHealthAuraTest1() { var game = new Game(new GameConfig { StartPlayer = 1, Player1HeroClass = CardClass.PALADIN, Player2HeroClass = CardClass.MAGE, FillDecks = true, FillDecksPredictably = true }); game.Player1.BaseMana = 10; game.Player2.BaseMana = 10; game.StartGame(); var minion1 = (Minion)Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Stormwind Champion")); var minion2 = (Minion)Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Stormwind Champion")); var minion3 = (Minion)Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Shattered Sun Cleric")); game.Process(PlayCardTask.Minion(game.CurrentPlayer, minion1)); // 6/6 game.CurrentPlayer.UsedMana = 0; game.Process(PlayCardTask.Minion(game.CurrentPlayer, minion2)); // 7/7 game.CurrentPlayer.UsedMana = 0; game.Process(PlayCardTask.MinionTarget(game.CurrentPlayer, minion3, minion2)); game.CurrentPlayer.UsedMana = 0; Assert.Equal(7, minion1.AttackDamage); Assert.Equal(7, minion1.Health); Assert.Equal(8, minion2.AttackDamage); Assert.Equal(8, minion2.Health); Assert.Equal(5, minion3.AttackDamage); Assert.Equal(4, minion3.Health); game.Process(EndTurnTask.Any(game.CurrentPlayer)); // (7/7), (8/8), (5/4) IPlayable spell1 = Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Flamestrike")); game.Process(PlayCardTask.Spell(game.CurrentPlayer, spell1)); // (7/3), (8/4) game.CurrentPlayer.UsedMana = 0; IPlayable spell2 = Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Arcane Explosion")); game.Process(PlayCardTask.Spell(game.CurrentPlayer, spell2)); IPlayable spell3 = Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Arcane Explosion")); game.Process(PlayCardTask.Spell(game.CurrentPlayer, spell3)); Assert.Equal(2, ((ICharacter)minion2).Health); // (7/1), (8/2) IPlayable spell4 = Generic.DrawCard(game.CurrentPlayer, Cards.FromName("Arcane Explosion")); game.Process(PlayCardTask.Spell(game.CurrentPlayer, spell4)); Assert.Equal(1, ((ICharacter)minion2).Health); // (7/1) Assert.Equal(Zone.PLAY, ((ICharacter)minion2).Zone.Type); }