Skip to content

Commit

Permalink
Merge pull request #281 from hymccord/laby-zokor-script
Browse files Browse the repository at this point in the history
Add Labyrinth + Zokor pop scripts
  • Loading branch information
logicalup authored Jan 28, 2024
2 parents 258e8f5 + b94a626 commit 94e54a4
Show file tree
Hide file tree
Showing 9 changed files with 668 additions and 473 deletions.
2 changes: 2 additions & 0 deletions build/process-population.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"data/pop-csv/iceberg.csv",
"data/pop-csv/jungle-of-dread.csv",
"data/pop-csv/laboratory.csv",
"data/pop-csv/labyrinth.csv",
"data/pop-csv/living-garden.csv",
"data/pop-csv/lost-city.csv",
"data/pop-csv/mountain.csv",
Expand All @@ -38,6 +39,7 @@
"data/pop-csv/town-of-gnawnia.csv",
"data/pop-csv/toxic-spill.csv",
"data/pop-csv/valour-rift.csv",
"data/pop-csv/zokor.csv",
"data/pop-csv/windmill.csv"
];

Expand Down
204 changes: 204 additions & 0 deletions data/pop-csv/labyrinth.csv

Large diffs are not rendered by default.

181 changes: 181 additions & 0 deletions data/pop-csv/zokor.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
"Location","Phase","Cheese","Charm","Attraction Rate","Mouse","Sample Size"
"Zokor","Fealty 15+","Glowing Gruyere","-","36.89%","Masked Pikeman",2109
"Zokor","Fealty 15+","Glowing Gruyere","-","33.10%","Drudge",2109
"Zokor","Fealty 15+","Glowing Gruyere","-","20.39%","Reanimated Carver",2109
"Zokor","Fealty 15+","Glowing Gruyere","-","9.63%","Battle Cleric",2109
"Zokor","Fealty 15+","SB+/Gouda/Brie","-","30.30%","Masked Pikeman",2436
"Zokor","Fealty 15+","SB+/Gouda/Brie","-","27.34%","Drudge",2436
"Zokor","Fealty 15+","SB+/Gouda/Brie","-","20.44%","Shadow Stalker",2436
"Zokor","Fealty 15+","SB+/Gouda/Brie","-","15.39%","Reanimated Carver",2436
"Zokor","Fealty 15+","SB+/Gouda/Brie","-","6.53%","Battle Cleric",2436
"Zokor","Fealty 50+","Glowing Gruyere","-","34.30%","Battle Cleric",3927
"Zokor","Fealty 50+","Glowing Gruyere","-","30.30%","Sir Fleekio",3927
"Zokor","Fealty 50+","Glowing Gruyere","-","16.65%","Reanimated Carver",3927
"Zokor","Fealty 50+","Glowing Gruyere","-","10.06%","Mind Tearer",3927
"Zokor","Fealty 50+","Glowing Gruyere","-","6.01%","Solemn Soldier",3927
"Zokor","Fealty 50+","Glowing Gruyere","-","1.35%","Masked Pikeman",3927
"Zokor","Fealty 50+","Glowing Gruyere","-","1.32%","Drudge",3927
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","28.33%","Battle Cleric",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","23.36%","Sir Fleekio",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","21.65%","Shadow Stalker",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","12.94%","Reanimated Carver",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","7.12%","Mind Tearer",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","5.33%","Solemn Soldier",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","0.69%","Drudge",2457
"Zokor","Fealty 50+","SB+/Gouda/Brie","-","0.57%","Masked Pikeman",2457
"Zokor","Fealty 80+","Glowing Gruyere","-","32.24%","Battle Cleric",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","28.99%","Sir Fleekio",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","12.63%","Reanimated Carver",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","8.77%","Mind Tearer",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","7.77%","Dark Templar",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","5.78%","Solemn Soldier",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","1.85%","Paladin Weapon Master",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","1.00%","Drudge",104680
"Zokor","Fealty 80+","Glowing Gruyere","-","0.96%","Masked Pikeman",104680
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","26.29%","Battle Cleric",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","24.33%","Sir Fleekio",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","19.42%","Shadow Stalker",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","9.34%","Reanimated Carver",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","7.23%","Mind Tearer",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","5.90%","Dark Templar",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","4.89%","Solemn Soldier",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","0.95%","Drudge",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","0.85%","Paladin Weapon Master",10696
"Zokor","Fealty 80+","SB+/Gouda/Brie","-","0.80%","Masked Pikeman",10696
"Zokor","Scholar 15+","Glowing Gruyere","-","35.91%","Sanguinarian",1760
"Zokor","Scholar 15+","Glowing Gruyere","-","35.06%","Summoning Scholar",1760
"Zokor","Scholar 15+","Glowing Gruyere","-","19.72%","Reanimated Carver",1760
"Zokor","Scholar 15+","Glowing Gruyere","-","9.32%","Ethereal Guardian",1760
"Zokor","Scholar 15+","SB+/Gouda/Brie","-","27.51%","Sanguinarian",2243
"Zokor","Scholar 15+","SB+/Gouda/Brie","-","27.33%","Summoning Scholar",2243
"Zokor","Scholar 15+","SB+/Gouda/Brie","-","20.29%","Shadow Stalker",2243
"Zokor","Scholar 15+","SB+/Gouda/Brie","-","17.74%","Reanimated Carver",2243
"Zokor","Scholar 15+","SB+/Gouda/Brie","-","7.13%","Ethereal Guardian",2243
"Zokor","Scholar 50+","Glowing Gruyere","-","33.59%","Ethereal Guardian",3507
"Zokor","Scholar 50+","Glowing Gruyere","-","31.00%","Ancient Scribe",3507
"Zokor","Scholar 50+","Glowing Gruyere","-","17.56%","Reanimated Carver",3507
"Zokor","Scholar 50+","Glowing Gruyere","-","9.32%","Mystic Herald",3507
"Zokor","Scholar 50+","Glowing Gruyere","-","6.39%","Mystic Guardian",3507
"Zokor","Scholar 50+","Glowing Gruyere","-","1.11%","Summoning Scholar",3507
"Zokor","Scholar 50+","Glowing Gruyere","-","1.03%","Sanguinarian",3507
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","26.21%","Ethereal Guardian",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","26.04%","Ancient Scribe",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","21.40%","Shadow Stalker",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","12.05%","Reanimated Carver",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","7.11%","Mystic Herald",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","5.83%","Mystic Guardian",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","0.71%","Sanguinarian",2266
"Zokor","Scholar 50+","SB+/Gouda/Brie","-","0.66%","Summoning Scholar",2266
"Zokor","Scholar 80+","Glowing Gruyere","-","32.17%","Ethereal Guardian",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","29.19%","Ancient Scribe",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","12.50%","Reanimated Carver",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","8.83%","Mystic Herald",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","7.72%","Mystic Scholar",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","5.79%","Mystic Guardian",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","1.78%","Soul Binder",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","1.02%","Summoning Scholar",106744
"Zokor","Scholar 80+","Glowing Gruyere","-","1.01%","Sanguinarian",106744
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","25.97%","Ethereal Guardian",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","23.18%","Ancient Scribe",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","20.15%","Shadow Stalker",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","9.67%","Reanimated Carver",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","7.31%","Mystic Herald",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","6.50%","Mystic Scholar",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","4.91%","Mystic Guardian",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","0.95%","Soul Binder",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","0.69%","Sanguinarian",11005
"Zokor","Scholar 80+","SB+/Gouda/Brie","-","0.68%","Summoning Scholar",11005
"Zokor","Tech 15+","Glowing Gruyere","-","34.60%","Ash Golem",1685
"Zokor","Tech 15+","Glowing Gruyere","-","34.48%","RR-8",1685
"Zokor","Tech 15+","Glowing Gruyere","-","21.01%","Reanimated Carver",1685
"Zokor","Tech 15+","Glowing Gruyere","-","9.91%","Exo-Tech",1685
"Zokor","Tech 15+","SB+/Gouda/Brie","-","30.25%","Ash Golem",2030
"Zokor","Tech 15+","SB+/Gouda/Brie","-","26.70%","RR-8",2030
"Zokor","Tech 15+","SB+/Gouda/Brie","-","19.36%","Shadow Stalker",2030
"Zokor","Tech 15+","SB+/Gouda/Brie","-","16.26%","Reanimated Carver",2030
"Zokor","Tech 15+","SB+/Gouda/Brie","-","7.44%","Exo-Tech",2030
"Zokor","Tech 50+","Glowing Gruyere","-","31.75%","Exo-Tech",3468
"Zokor","Tech 50+","Glowing Gruyere","-","29.30%","Matron of Machinery",3468
"Zokor","Tech 50+","Glowing Gruyere","-","16.64%","Reanimated Carver",3468
"Zokor","Tech 50+","Glowing Gruyere","-","13.09%","Automated Stone Sentry",3468
"Zokor","Tech 50+","Glowing Gruyere","-","5.39%","Tech Golem",3468
"Zokor","Tech 50+","Glowing Gruyere","-","1.96%","Ash Golem",3468
"Zokor","Tech 50+","Glowing Gruyere","-","1.87%","RR-8",3468
"Zokor","Tech 50+","SB+/Gouda/Brie","-","26.02%","Exo-Tech",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","24.28%","Matron of Machinery",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","21.19%","Shadow Stalker",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","11.73%","Reanimated Carver",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","9.63%","Automated Stone Sentry",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","3.79%","Tech Golem",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","1.92%","Ash Golem",2294
"Zokor","Tech 50+","SB+/Gouda/Brie","-","1.44%","RR-8",2294
"Zokor","Tech 80+","Glowing Gruyere","-","32.34%","Exo-Tech",106437
"Zokor","Tech 80+","Glowing Gruyere","-","29.04%","Matron of Machinery",106437
"Zokor","Tech 80+","Glowing Gruyere","-","12.60%","Reanimated Carver",106437
"Zokor","Tech 80+","Glowing Gruyere","-","8.67%","Automated Stone Sentry",106437
"Zokor","Tech 80+","Glowing Gruyere","-","7.77%","Fungal Technomorph",106437
"Zokor","Tech 80+","Glowing Gruyere","-","5.81%","Tech Golem",106437
"Zokor","Tech 80+","Glowing Gruyere","-","1.82%","Manaforge Smith",106437
"Zokor","Tech 80+","Glowing Gruyere","-","1.01%","Ash Golem",106437
"Zokor","Tech 80+","Glowing Gruyere","-","0.94%","RR-8",106437
"Zokor","Tech 80+","SB+/Gouda/Brie","-","26.16%","Exo-Tech",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","23.40%","Matron of Machinery",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","20.00%","Shadow Stalker",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","9.29%","Reanimated Carver",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","7.25%","Automated Stone Sentry",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","6.57%","Fungal Technomorph",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","4.69%","Tech Golem",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","1.08%","Manaforge Smith",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","0.81%","RR-8",11063
"Zokor","Tech 80+","SB+/Gouda/Brie","-","0.74%","Ash Golem",11063
"Zokor","Farming 0+","Glowing Gruyere","-","34.09%","Mush Monster",2194
"Zokor","Farming 0+","Glowing Gruyere","-","31.18%","Nightshade Nanny",2194
"Zokor","Farming 0+","Glowing Gruyere","-","20.01%","Reanimated Carver",2194
"Zokor","Farming 0+","Glowing Gruyere","-","14.72%","Mushroom Harvester",2194
"Zokor","Farming 0+","SB+/Gouda/Brie","-","26.15%","Mushroom Harvester",1499
"Zokor","Farming 0+","SB+/Gouda/Brie","-","22.88%","Nightshade Nanny",1499
"Zokor","Farming 0+","SB+/Gouda/Brie","-","18.75%","Shadow Stalker",1499
"Zokor","Farming 0+","SB+/Gouda/Brie","-","16.48%","Mush Monster",1499
"Zokor","Farming 0+","SB+/Gouda/Brie","-","15.74%","Reanimated Carver",1499
"Zokor","Farming 50+","Glowing Gruyere","-","38.11%","Mush Monster",39508
"Zokor","Farming 50+","Glowing Gruyere","-","29.50%","Nightshade Fungalmancer",39508
"Zokor","Farming 50+","Glowing Gruyere","-","15.79%","Nightshade Nanny",39508
"Zokor","Farming 50+","Glowing Gruyere","-","15.58%","Reanimated Carver",39508
"Zokor","Farming 50+","Glowing Gruyere","-","1.02%","Mushroom Harvester",39508
"Zokor","Farming 50+","SB+/Gouda/Brie","-","31.72%","Mush Monster",6066
"Zokor","Farming 50+","SB+/Gouda/Brie","-","20.54%","Shadow Stalker",6066
"Zokor","Farming 50+","SB+/Gouda/Brie","-","17.31%","Nightshade Nanny",6066
"Zokor","Farming 50+","SB+/Gouda/Brie","-","16.63%","Nightshade Fungalmancer",6066
"Zokor","Farming 50+","SB+/Gouda/Brie","-","11.64%","Reanimated Carver",6066
"Zokor","Farming 50+","SB+/Gouda/Brie","-","2.16%","Mushroom Harvester",6066
"Zokor","Treasure 15+","Glowing Gruyere","-","33.54%","Mimic",7937
"Zokor","Treasure 15+","Glowing Gruyere","-","25.27%","Hired Eidolon",7937
"Zokor","Treasure 15+","Glowing Gruyere","-","20.84%","Reanimated Carver",7937
"Zokor","Treasure 15+","Glowing Gruyere","-","20.35%","Matron of Wealth",7937
"Zokor","Treasure 15+","SB+/Gouda/Brie","-","26.16%","Mimic",1162
"Zokor","Treasure 15+","SB+/Gouda/Brie","-","22.55%","Shadow Stalker",1162
"Zokor","Treasure 15+","SB+/Gouda/Brie","-","18.93%","Hired Eidolon",1162
"Zokor","Treasure 15+","SB+/Gouda/Brie","-","16.70%","Reanimated Carver",1162
"Zokor","Treasure 15+","SB+/Gouda/Brie","-","15.66%","Matron of Wealth",1162
"Zokor","Treasure 50+","Glowing Gruyere","-","49.68%","Molten Midas",50878
"Zokor","Treasure 50+","Glowing Gruyere","-","15.90%","Reanimated Carver",50878
"Zokor","Treasure 50+","Glowing Gruyere","-","12.93%","Hired Eidolon",50878
"Zokor","Treasure 50+","Glowing Gruyere","-","9.50%","Treasure Brawler",50878
"Zokor","Treasure 50+","Glowing Gruyere","-","7.05%","Matron of Wealth",50878
"Zokor","Treasure 50+","Glowing Gruyere","-","4.94%","Mimic",50878
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","40.67%","Molten Midas",2321
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","19.69%","Shadow Stalker",2321
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","11.46%","Reanimated Carver",2321
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","10.60%","Hired Eidolon",2321
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","8.79%","Treasure Brawler",2321
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","4.78%","Matron of Wealth",2321
"Zokor","Treasure 50+","SB+/Gouda/Brie","-","4.01%","Mimic",2321
"Zokor","Lair - Each 30+","Glowing Gruyere","-","54.52%","Decrepit Tentacle Terror",23007
"Zokor","Lair - Each 30+","Glowing Gruyere","-","22.88%","Reanimated Carver",23007
"Zokor","Lair - Each 30+","Glowing Gruyere","-","17.05%","Retired Minotaur",23007
"Zokor","Lair - Each 30+","Glowing Gruyere","-","5.55%","Corridor Bruiser",23007
"Zokor","Lair - Each 30+","SB+/Gouda/Brie","-","43.82%","Decrepit Tentacle Terror",5577
"Zokor","Lair - Each 30+","SB+/Gouda/Brie","-","22.09%","Shadow Stalker",5577
"Zokor","Lair - Each 30+","SB+/Gouda/Brie","-","16.39%","Reanimated Carver",5577
"Zokor","Lair - Each 30+","SB+/Gouda/Brie","-","13.43%","Retired Minotaur",5577
"Zokor","Lair - Each 30+","SB+/Gouda/Brie","-","4.27%","Corridor Bruiser",5577
116 changes: 116 additions & 0 deletions data/pop-js/labyrinth.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
const utils = require("../_utils");

const allHallsMice = [
"Corridor Bruiser",
"Lost",
"Lost Legionnaire",
"Shadow Stalker",
"Reanimated Carver"
]

const districtMice = {
Farming: [
"Mush Monster",
"Mushroom Harvester",
"Nightshade Nanny",
],
Fealty: [
"Dark Templar",
"Drudge",
"Masked Pikeman",
"Mind Tearer",
"Solemn Soldier",
],
Scholar: [
"Mystic Guardian",
"Mystic Herald",
"Mystic Scholar",
"Sanguinarian",
"Summoning Scholar",
],
Tech: [
"Ash Golem",
"Automated Stone Sentry",
"Fungal Technomorph",
"RR-8",
"Tech Golem",
],
Treasury: [
"Hired Eidolon",
"Mimic",
"Treasure Brawler",
]
}

function genSeriesObject(qual, hall) {
// Returns an array of two series [{}, {}]
// First is standard GG query. Seconds is a multi-cheese OR query.
return [
{
cheese: utils.genVarField("cheese", "Glowing Gruyere"),
stage: utils.genVarField("stage", `${qual} ${hall}`),
config: [
{
opts: {
include: [
...allHallsMice,
...districtMice[hall]
]
}
}
]
},
{
stage: utils.genVarField("stage", `${qual} ${hall}`),
config: [
{
opts: {
include: [
...allHallsMice,
...districtMice[hall]
]
},
vars: {
cheese: {
"SB+": true,
"Gouda": true,
"Brie": true
}
},
fields: {
cheese: "SB+/Gouda/Brie"
}
}
],
}
]
}

function genHallways() {

// flat(2) because we have two levels of nested arrays due to map
const districtsWithEpic = ["Plain", "Superior", "Epic"].map((quality) => {
return ["Fealty", "Tech", "Scholar"].map((hallway) => {
return genSeriesObject(quality, hallway);
})
}).flat(2);

// These don't have an Epic hallway and will cause a query error b/c stage doesn't exist.
const nonEpic = ["Plain", "Superior"].map((quality) => {
return ["Farming", "Treasury"].map((hallway) => {
return genSeriesObject(quality, hallway);
})
}).flat(2);

return [
...districtsWithEpic,
...nonEpic
]
}

module.exports = {
default: {
location: utils.genVarField("location", "Labyrinth"),
},
series: genHallways()
}
Loading

0 comments on commit 94e54a4

Please sign in to comment.