public Deck GetDeckFor(DungeonMaster DM, Character user, Position posTarget, Character charTarget) { Deck deck = new Deck(); foreach (var ingredient in DeckRecipe) { var source = ingredient.Key; int num = ResolveSource(source, DM, user, posTarget, charTarget); var card = ingredient.Value; deck.AddCards(card, num); } user.AddModifiers(deck, DM, user, charTarget, this, false); if (charTarget != null) { charTarget.AddModifiers(deck, DM, user, null, this, true); } DM.AddSituationalModifiers(deck, this, user, posTarget, charTarget); deck.Consolidate(); return(deck); }