I want to host some limited this week/weekend. I have a MMA updated pauper cube and a lot of boxes. I'd like to do something Ravnica block with those boxes. Either sealed (2 of each RTR, GTC, DGM) or a draft (1 each). Another option being an inventory draft thing that I mentioned in the other thread. Let me know what you want to do and when you want to get together.

Hi there, I have been actively trading for some standard cards this week and only have a few pieces left to find:

  • Omniscience x2

  • Steam Vents x3

  • Chromatic Lantern x2

78

(21 replies, posted in Rochester NY MTG)

I too pulled Bob.

79

(21 replies, posted in Rochester NY MTG)

Paul_K wrote:

Good luck with the pulls!

Can I bring the packs by your place to get some "jazz hands" luck?

80

(21 replies, posted in Rochester NY MTG)

I made it through Massdrop's hectic lottery and acquired 6 packs. I'm going to put on my lucky underpants, open them, and then put everything up on the tradelist.

81

(11 replies, posted in Rochester NY MTG)

Thanks for the help everyone! Yes, I was picturing this behaving like a cube draft only your entire collection is the card pool. I'm not opposed to letting my friends keep what they draft but that would suck if my beta Timewalk got drafted away wink. I love the idea of setting a value limit. Sounds like a great way to host extremely cheap drafts and get rid of cards for a couple candy bar's worth of change.

This already works with your tradelist as well. You feed it the file you export from Deckbox. Go to either your inventory or tradelist, hover over "View" and select Export. Be sure to include the Rarity and Image URL columns. (PSA - It's a good idea to do this from time to time to back up your virtual collection in case Deckbox ever goes down again).

I still have to develop the user interface for it. Right now you have to run it from a command prompt. Once I wrap it up, I'll share it with everyone who would like a copy.

82

(11 replies, posted in Rochester NY MTG)

vanko wrote:

...I think mythics should be the same rarity as a real pack (I think it's like 1/12 or something?).

That's the kind of information I am looking for. Is it guaranteed 1 pack out of 12 has a mythic? Or should I weigh the probability so that mythics are less likely?

83

(11 replies, posted in Rochester NY MTG)

Inventory Draft is a JavaScript program you can copy and run in your browser.

EDIT: Visual guide: http://imgur.com/a/dbNaz#0
EDIT: You can now generate pauper drafts!
EDIT: You can now generate rares-only drafts!
EDIT: You can now specify how many of each rarity you want per pack!

How to "install"

  • Copy all of the code below

  • Open your favorite text editor (e.g. Notepad, Wordpad, GEdit, etc.)

  • Paste the code you copied into the editor

  • Save the file as "InventoryDraft.html" wherever you want on your computer

  • Open the file in your browser (e.g. right-click -> Open with Chrome)

  • In Deckbox, click inventory, hover over View and Hit Export

http://i.imgur.com/jaUBCQt.png

  • Make sure you select Rarity and Image URL options

http://i.imgur.com/AiGo1WO.png

How to run

  • Choose the number of players you want to generate packs for. There are 15 cards per pack and 3 packs per player.

  • Upload your CSV file you saved from Deckbox.

  • As soon as the file is chosen, the packs are created and displayed.

  • If you do not like what was picked, refresh the page and repeat the steps.

How to save

  • Once you have found a configuration you like, you may wish to save the file because it was randomly generated and cannot be reproduced

  • Right-click the page in your browser and select "Save As"

  • Name the file whatever you wish but make sure the file extension is ".html"

Here's the code:

<!DOCTYPE HTML>
<html>
    <head>
        <title>Inventory Draft</title>
        <script src="InventoryDraft.js" ></script>
    </head>
    <body>
        <p><a href="http://deckbox.org/forum/viewtopic.php?id=9790">More detailed instructions here</a></p>
        <p><b>Number of players (3 packs per player):</b> <input type="number" id="numPlayers" min="1" max="8" value="1" /></p>
        <p><b>Commons:</b><input type="number" id="numcommons" min="0" max="15" value="11" />
        <b>Uncommons:</b><input type="number" id="numuncommons" min="0" max="15" value="3" />
        <b>Rares:</b><input type="number" id="numrares" min="0" max="15" value="1" /></p>
        <p><b>Upload your Inventory CSV file here:</b> <input type="file" id="files" name="files[]" /></p>
        <output id="out"></output>

        <script>

    function CSVToArray(strData) {
        strDelimiter = ",";
        var objPattern = new RegExp(
            (
                "(\\" + strDelimiter + "|\\r?\\n|\\r|^)" +
                "(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|" +
                "([^\"\\" + strDelimiter + "\\r\\n]*))"
            ),
            "gi"
            );
        var arrData = [[]];
        var arrMatches = null;
        while (arrMatches = objPattern.exec( strData )){
            var strMatchedDelimiter = arrMatches[ 1 ];
            if (
                strMatchedDelimiter.length &&
                (strMatchedDelimiter != strDelimiter)
                ){
                arrData.push( [] );
            }
            if (arrMatches[ 2 ]){
                var strMatchedValue = arrMatches[ 2 ].replace(
                    new RegExp( "\"\"", "g" ),
                    "\""
                    );
            } else {
                var strMatchedValue = arrMatches[ 3 ];
            }
            arrData[ arrData.length - 1 ].push( strMatchedValue );
        }
        return( arrData );
    }

  function handleFileSelect(opt_startByte, opt_stopByte) {

    var commons = [];
    var uncommons = [];
    var rares = [];
    var mythics = [];
    var commonsi = [];
    var uncommonsi = [];
    var raresi = [];
    var mythicsi = [];

    var numUn = document.getElementById('numuncommons').value;
    var numC = document.getElementById('numcommons').value;
    var numR = document.getElementById('numrares').value;
    var nameCol = "Name";
    var rarityCol = "Rarity";
    var imageURLCol = "Image URL";
    var common = "Common";
    var uncommon = "Uncommon";
    var rare = "Rare";
    var mythic = "MythicRare";
    var nameIndex, rarityIndex, imageURLIndex;
    var numPlayers = document.getElementById('numPlayers').value;

    var files = document.getElementById('files').files;
    if (!files.length) {
      alert('Please select a file!');
      return;
    }

    var file = files[0];

    var start = 0;
    var stop = file.size - 1;

    var reader = new FileReader();

    reader.onload = function(evt) {
        var contents = evt.target.result;
        var lines = CSVToArray(contents);
        var header = lines[0];
                
        nameIndex = header.indexOf(nameCol);
        rarityIndex = header.indexOf(rarityCol);
        imageURLIndex = header.indexOf(imageURLCol);

        for (var i = 1; i < lines.length; i++) {
            var line = lines[i];
            
            if (line[rarityIndex] == common) {
                commons.push(line[nameIndex]);
                commonsi.push(line[imageURLIndex]);
            } else if (line[rarityIndex] == uncommon) {
                uncommons.push(line[nameIndex]);
                uncommonsi.push(line[imageURLIndex]);
            } else if (line[rarityIndex] == rare) {
                rares.push(line[nameIndex]);
                raresi.push(line[imageURLIndex]);
            } else if (line[rarityIndex] == mythic) {
                mythics.push(line[nameIndex]);
                mythicsi.push(line[imageURLIndex]);
            } else {
            }
        }

        var output = [];
        var chosenc = [];
        var chosenu = [];
        var chosenr = [];
        var chosenm = [];
        var rand = 0;
        var count = 0;

        output.push('<p><i>', commons.length, ' - Number of commons<br>',
            uncommons.length, ' - Number of uncommons<br>',
            rares.length, ' - Number of rares<br>',
            mythics.length, ' - Number of mythics</i></p>');

        for (var j = 1; j <= numPlayers; j++) {
            for (var k = 1; k <=3; k++) {
                count = 0;
                output.push('<p><strong>Player ', j, ', Pack ', k, '</strong></p>',
                    '<table><tr>');
                
                for(var l = 0; l < numC; l++) {
                    while(true) {
                        rand = Math.floor(Math.random()*commons.length);
                        if (chosenc.indexOf(rand) == -1) {
                            chosenc.push(rand);
                            break;
                        }
                    }

                    output.push('<td><a target="_blank" href="http://deckbox.org/mtg/', 
                    commons[rand].replace(" ", "%20"), '"><img src="',
                    commonsi[rand],'"></a></td>');
                    count = count + 1;
                    if (count % 5 == 0) { output.push('</tr><tr>'); }
                }

                for (var m = 0; m < numUn; m++) {
                    while(true) {
                        rand = Math.floor(Math.random()*uncommons.length);
                        if (chosenu.indexOf(rand) == -1) {
                            chosenu.push(rand);
                            break;
                        }
                    }

                    output.push('<td><a target="_blank" href="http://deckbox.org/mtg/', 
                    uncommons[rand].replace(" ", "%20"), '"><img src="',
                    uncommonsi[rand],'"></a></td>');

                    count = count + 1;
                    if (count % 5 == 0) { output.push('</tr><tr>'); }
                }

                for (var n = 0; n < numR; n++) {
                    if (Math.floor(Math.random()*8 != 1)) {
                        while(true) {
                            rand = Math.floor(Math.random()*rares.length);
                            if (chosenr.indexOf(rand) == -1) {
                                chosenr.push(rand);
                                break;
                            }
                        }

                        output.push('<td><a target="_blank" href="http://deckbox.org/mtg/', 
                        rares[rand].replace(" ", "%20"), '"><img src="',
                        raresi[rand],'"></a></td>');
                    } else {
                        while(true) {
                            rand = Math.floor(Math.random()*mythics.length);
                            if (chosenm.indexOf(rand) == -1) {
                                chosenm.push(rand);
                                break;
                            }
                        }

                        output.push('<td><a target="_blank" href="http://deckbox.org/mtg/', 
                        mythics[rand].replace(" ", "%20"), '"><img src="',
                        mythicsi[rand],'"></a></td>');
                    }

                    count = count + 1;
                    if (count % 5 == 0) { output.push('</tr><tr>'); }
                }

                output.push('</tr></table>');
            }
        }

        document.getElementById('out').innerHTML = output.join('');
    };

    reader.readAsText(file);
  }
  
  document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
    </body>
</html>

84

(2 replies, posted in Reddit MTG Trades)

Hey all, trying out pauper edh with planechase but can't find any sites that have the planes. Does anybody know a good site?

I bought a case of these for my cubes and sleeve most of my decks with them. To quote a guy from Boldo's, "Those are nice sleeves," so that means they are the best. I'd sleeve my children with them if that were a thing.

Does that mean I can play a planeswalker's ability twice in a turn? For example, I have Garruk, Primal Hunter at loyalty 4 and I draw off the -3 thing. Then, I decide he's too weak so I cast another Garruk, Primal Hunter. Can my new one get a 3/3 Beast and become loyalty 4?

87

(3 replies, posted in Rochester NY MTG)

What time?

Crossroads is free to reserve a table. They have two big ones in the back so I usually call a day or two in advance and ask for one of those. I didn't mean to rule out any other locations though. If you have a table at UoR or wherever, that would work too. Unfortunately, I can't play until next week.

Yes.

Edit: I'm the one who pointed you here from Reddit. Feel free to suggest some times/locations and people will (usually) show up. We play at http://www.xroadscoffeehouse.com/ or each other's homes. I know some non-deckbox users who exclusively EDH so if you need to fill seats, let me know.

90

(10 replies, posted in Rochester NY MTG)

http://mtgprice.com/
deckbox.org

91

(7 replies, posted in Rochester NY MTG)

drnaturalist wrote:

As long as I am not matched against alex in round 1 im in!

That's up to the dice.

92

(7 replies, posted in Rochester NY MTG)

Winner always gets half the prize pool but in a way that their prize is larger than 2nd.

4 player
1st - $3
2nd - $1

5 player
1st - $3
2nd - $2

6 player
1st - $3
2nd - $2
3rd - $1

7 player
1st - $4
2nd - $2
3rd - $1

8 player
1st - $4
2nd - $3
3rd - $1

EDIT: Guess I didn't make this clear; Ante can either be cash or $1 worth of cards. Usually something like 2 cheap rares or a stack of commons. Just an incentive to win.

93

(7 replies, posted in Rochester NY MTG)

I have a box of M13 that needs to be drafted. Three packs for $7 plus a $1 ante.

When is a good time this week for everyone (that isn't Thursday)? Since the weather is getting nicer, I'd also like to avoid weekend mornings/afternoons.

94

(13 replies, posted in Rochester NY MTG)

The trading tool thing can now search for users that want cards you would like to trade away. This isn't particularly useful for valuable cards. Everyone who plays magic wants your original dual lands so you won't getting anything useful out of that search. I like to use it to see who wants one of my 240 Naturalize cards. I can, at the very least, find people interested in swapping piles of commons/uncommons to increase our unique card counts.

95

(13 replies, posted in Rochester NY MTG)

Paul, that's exactly what it should do. Looks like Decbox's feature request page is enormous so it's unlikely we'll see this any time soon. sad

96

(13 replies, posted in Rochester NY MTG)

Yeah, what we need is almost there. (This is going to look terrible)

Paul_KUnited States - Rochester    134    457
Nick    United States - Rochester    103    0
Faisal Rakun    United States - Buffalo    95    1
Shane Kenyon    United States - Canandaigua    89    24
Chelsea    United States - Rochester    43    0
Skuloth    United States - Rochester    36    2
Chris    United States - Rochester    33    0
woodmster123    United States - Rochester    32    0
Ryan    United States - Buffalo    30    2
fairportmagic    United States - Fairport    28    3

Here's what is on all of our home pages more-or-less. It's sorted by how many cards you can get. Paul is at the top of my list because he has 134 cards in his tradelist that are also in my wishlist. Awesome! That's good data I want to see. Nick has 103 cards I want. But I don't have anything he wants so there's nothing really to gain from this information. What am I going to do? Offer him sexual favors? This list should be sorted by the minimum of the two numbers. On my homepage, Paul would receive a rating of 134, the minimum number of cards we both want/have. Nick would get a rating of 0. My collection doesn't interest him. Shane has a rating of 24. etc. The list should be sorted by that number.

Of course, this still sucks because we can only view people that we share groups with like Reddit and Rochester.

It also sucks because in reality, the rating between Paul and I is 0. Paul wants editions of cards I don't have. But that's an entirely different issue. smile

97

(13 replies, posted in Rochester NY MTG)

skyth wrote:

The problem I'm running into doing trading is that most people that have cards I want don't want anything that I have and people who want cards that I have don't have anything that I want. sad

I wish there was a way to just get a list of people that do mail trades, have been on recently, and where there are possibilities of a mutual trade from both people.  Heck, setting a min and a max for the dollar value of the best trade that could happen would be great too smile

The only solution I can come up with off the top of my head would be to create something that crawled through ~32,000 accounts listed here: http://deckbox.org/users. You would have to recreate the entire Deckbox database so that you could run useful queries on it. It would need a computer running 24/7 to keep it up to date, and it's own website for you to use. At that point, you've pretty much recreated Deckbox but made it better.

What is frustrating is that Deckbox already has this database and doesn't let us do useful searches to find the best available trades. It's hit or miss.

Too Nerd; Didn't Read: We'll have to wait for Deckbox to upgrade their trade system.

98

(13 replies, posted in Rochester NY MTG)

I added the ability to filter out local traders. This feature has an interesting drawback: The tool is very slow now. This is because instead of viewing 1 page per 7 traders found for a card, it now has to visit each trader's profile page to check their "Will trade cards" attribute. That's 8 page viewings per 7 traders found and therefore 8 times slower. I could divide these tasks in to separate threads but that would have a chance of taking Deckbox down.

I'm hesitant to distribute this since I don't want anyone to get in trouble with Deckbox. As more people use the tool, the amount of page views hitting Deckbox rises exponentially.

So, my solution is to add one extra level of annoyance. After you get a table of traders back, you'll be able to click a username you're interested in and it will give you some quick information about them such as when they were last online, what their feedback is, and where they will trade their cards. This slows traffic to Deckbox, and gets the information to you quickly so you can then decide if you want to block them or check out their profile.

TLDR: I'm a noob and still learning how to manipulate internets.

PS: Tested on Windows and Linux and everything works great. Message me if you want this thing.

99

(13 replies, posted in Rochester NY MTG)

jambarama wrote:

Biggest problem I have with the tradelist thing is that most of the users on there are inactive on deckbox or don't trade (and have zero trades).  Any chance the tool could filter out that type of individual?

Yes, that was my original intent when creating this thing. I thought it would be a piece of cake to grab a user's "Last online" date and dump the inactive accounts but it turns out that text isn't a simple grab. When you go to my profile right now, you'll see:

Last seen online:01 Apr 2013, 10:32 AM

But when I pointed the tool towards it, it sees:

<dt>Last seen online:</dt><dd><span id="time_16180"></span><script type="text/javascript">Tcg.utils.userDate('time_16180', 1364826721, '%d %b %Y, %I:%M %p')</script>

Which is a javascript call to get a user's last online date. Right now the tool doesn't speak javascript but I'm sure there is a way to do it. I just don't know enough about it at this time.

In other words, when you see a user's last online date, you see a nice easy-to-read date but my tool sees unfamiliar code.

I can easily filter out local traders, and users without 100% feedback though. Thanks for the suggestion! I'm a bit busy this week but I think I can have those filter options in by this weekend.

100

(9 replies, posted in Rochester NY MTG)

M13 for $78.

AVR/RTR/M13 draft anyone?