Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # How Many Lands Should I Use In My EDH Deck?
- # Script in Python written by Gabriel G.S.
- # This script calculates a baseline number of lands you should run in your EDH deck based on your deck's converted mana cost.
- # I use an equation derived from the work of Mr. Frank Karsten for 60-card decks and apply it for 99-card decks:
- # y = 4.6071x + 24.3465, where x is the converted mana cost of the deck and y yields the number of lands the deck should use.
- # Step 1: Calculate the average converted mana cost of your deck (including your commander) and type it in the next row:
- avg_cmc = 3.03 # This example is from my Sidisi, Brood Tyrant deck @ 2020.03.01
- # Step 2: Type the converted mana cost of your commander in the next row:
- comm_cmc = 5 # This example is from my Sidisi, Brood Tyrant deck @ 2020.03.01
- # This formula calculates the average converted mana cost of your deck without your commander
- deck_avg_cmc = ( avg_cmc * 100 - comm_cmc ) / 99
- # Step 3: The commander's converted mana cost has to be accounted for in calculating the number of lands/cheap mana rocks/cheap land fetch spells you should use.
- # The next formula calculates the adjusted average converted mana cost of your deck by applying the following weights:
- deck_weight = 7/8
- comm_weight = 1/8
- adj_avg_cmc = deck_weight * deck_avg_cmc + comm_weight * comm_cmc
- # The assumption is that the commander is the 8th card in your hand, so I chose to apply the 1/8 weight to the commander's converted mana cost.
- # Step 4: Apply the equation with the deck's variables:
- m = 4.6071
- b = 24.3465
- x = adj_avg_cmc
- y = m * x + b
- # The recommended number of lands is rounded to the nearest integer.
- lands = int(round(y,0))
- # Step 5: Print the results.
- print("The deck's average converted mana cost is " + str(round(avg_cmc,2)))
- print("The commander's converted mana cost is " + str(comm_cmc))
- print("The adjusted average converted mana cost is " + str(round(adj_avg_cmc,2)))
- print("The recommended number of lands for this deck is " + str(lands))
- # Script last updated on 2020.03.03
- # =^.^= Happy Cat MTG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement