mtgred / netrunner

http://www.jinteki.net
Other
886 stars 388 forks source link

1.1.1.1/cache refresh validation errors #2548

Closed poi2000 closed 7 years ago

poi2000 commented 7 years ago

I was just looking at the cache refresh reminders, somewhat telling you what cards are illegal in the format. My decks are showing Jemison Astronautics and Mind game as illegal, even though they came from the two most recent cycles. Relatively minor issue but something to maybe look at.

Edit: Checked using a stripped down version of one of my decks. Cards from Flashpoint and Red Sand are falsely being marked invalid.

danhut commented 7 years ago

Problem here is that we have future dated packs from the year 4096 in the database so the check for the two newest cycles does not work right:

netrunner.deckbuilder=> (sets-in-two-newest-cycles s)
({:name "Daedalus Complex", :available "2017-02-23", :cycle "Red sand"} {:name "Station One", :available "2017-03-23", :cycle "Red sand"} {:name "Earth's Scion", :available "4096-01-01", :cycle "Red sand"} {:name "Terminal Directive", :available "2017-04-27", :cycle "Terminal directive"} {:name "Blood and Water", :available "4096-01-01", :cycle "Red sand"} {:name "Free Mars", :available "4096-01-01", :cycle "Red sand"} {:name "Crimson Dust", :available "4096-01-01", :cycle "Red sand"})

So the function sets-in-two-newest-cyclesneeds a tweak to drop anything not yet released.

JarekWarsaw commented 7 years ago

Is it possible that npm run fetch wasn't run after release? Terminal Directive should not be included in sets-in-two-newest-cycles results. Function first filters out big boxes, but based on results it failed to do so.

So the function sets-in-two-newest-cycles needs a tweak to drop anything not yet released.

It was intentionally designed to return all sets from newest cycle, even if some of them weren't released yet. We have another checkbox to warn about using not-yet-released cards.

danhut commented 7 years ago

Possible - let me ask on the Slack channel as I am not sure MT is watching here. It took me some time to realise I needed to re-run it on my local machine after that capture above here.

JarekWarsaw commented 7 years ago

sets-in-two-newest-cycles should as a final step map set to setname. Later on group-cards-from-restricted-sets expects list of strings (names of sets), but gets mixed list of strings and objects.

Currently it looks like this:

("Core Set" "Terminal Directive" {:name "23 Seconds", :available "2016-07-14", :cycle "Flashpoint", :bigbox false} {:name "Blood Money", :available "2016-08-11", :cycle "Flashpoint", :bigbox false} {:name "Escalation", :available "2016-10-06", :cycle "Flashpoint", :bigbox false} {:name "Intervention", :available "2016-11-03", :cycle "Flashpoint", :bigbox false} {:name "Martial Law", :available "2016-12-08", :cycle "Flashpoint", :bigbox false} {:name "Quorum", :available "2017-01-12", :cycle "Flashpoint", :bigbox false} {:name "Daedalus Complex", :available "2017-02-23", :cycle "Red sand", :bigbox false} {:name "Station One", :available "2017-03-23", :cycle "Red sand", :bigbox false} {:name "Earth's Scion", :available "4096-01-01", :cycle "Red sand", :bigbox false} {:name "Blood and Water", :available "4096-01-01", :cycle "Red sand", :bigbox false} {:name "Free Mars", :available "4096-01-01", :cycle "Red sand", :bigbox false} {:name "Crimson Dust", :available "4096-01-01", :cycle "Red sand", :bigbox false})