Skip to content

Commit

Permalink
Golden Relic: costs 0
Browse files Browse the repository at this point in the history
Sabbath can target players, also protects target's deck
Equalize can target cards, changing target card's cost to chroma
Scattering Wind can target cards, only shuffling target card
New cards: Stasis (Gravity spell, uncommon), Blood Moon (Darkness spell, rare)
  • Loading branch information
serprex committed Feb 7, 2021
1 parent dc99fba commit 61715ff
Show file tree
Hide file tree
Showing 11 changed files with 252 additions and 149 deletions.
2 changes: 1 addition & 1 deletion scripts/mktable.js
@@ -1,4 +1,4 @@
#!/usr/bin/node
#!/usr/bin/node --experimental-json-modules
const write = process.stdout.write.bind(process.stdout);
function writetd(...args) {
write('[tr]');
Expand Down
12 changes: 6 additions & 6 deletions src/Cards.json
Expand Up @@ -48,7 +48,7 @@
[["Mark of Air",5019,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Air",7019,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Wind Pillar",5900,0,0,"pillar","pillar+stackable+additive+charges=1"],["Wind Tower",7900,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Air Pendulum",5950,0,0,"pend","pillar+stackable+additive+charges=1"],["Air Pendulum",7950,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"],
["Unstable Gas",5910,5,2,"1:6=ignite",""],["Unstable Gas",7910,4,2,"1:6=ignite",""],["Jet Stream",5922,3,1,"1:3=jetstream",""],["Jet Stream",7922,2,1,"1:3=jetstream",""],["Shard of Freedom",5930,2,3,"prespell=freeevade+attack=freedom",""],["Shard of Freedom",7930,1,3,"prespell=freeevade+attack=freedom",""]],
[["Mark of Time",5020,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Time",7020,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Time Factory",6000,0,0,"pillar","pillar+stackable+additive+charges=1"],["Time Tower",8000,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Time Pendulum",6050,0,0,"pend","pillar+stackable+additive+charges=1"],["Time Pendulum",8050,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"],
["Golden Hourglass",6005,4,2,"2=hasten",""],["Golden Hourglass",8005,4,2,"1=hasten",""],["Sundial",6009,3,1,"3:8=hasten+losecharge+attack=stasis","charges=1"],["Sundial",8009,2,1,"3:8=hasten+losecharge+attack=stasis","charges=1"],["Golden Relic",6024,2,1,"2:0=vend","token"],["Golden Relic",8024,1,1,"2:0=vend","token"],["Desert",6028,4,1,"0=die+attack=creatureupkeep+upkeep",""],["Desert",8028,3,1,"0=die+attack=creatureupkeep+upkeep",""],["Hand Drill",6029,3,1,"1=shuffle3",""],["Hand Drill",8029,2,1,"2:0=shuffle3",""]],
["Golden Hourglass",6005,4,2,"2=hasten",""],["Golden Hourglass",8005,4,2,"1=hasten",""],["Sundial",6009,3,1,"3:8=hasten+losecharge+attack=stasis","charges=1"],["Sundial",8009,2,1,"3:8=hasten+losecharge+attack=stasis","charges=1"],["Golden Relic",6024,2,0,"2:0=vend","token"],["Golden Relic",8024,1,0,"2:0=vend","token"],["Desert",6028,4,1,"0=die+attack=creatureupkeep+upkeep",""],["Desert",8028,3,1,"0=die+attack=creatureupkeep+upkeep",""],["Hand Drill",6029,3,1,"1=shuffle3",""],["Hand Drill",8029,2,1,"2:0=shuffle3",""]],
[["Mark of Darkness",5021,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Darkness",7021,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Obsidian Pillar",6100,0,0,"pillar","pillar+stackable+additive+charges=1"],["Obsidian Tower",8100,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Dark Pendulum",6150,0,0,"pend","pillar+stackable+additive+charges=1"],["Dark Pendulum",8150,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"],
["Nightfall",6106,3,1,"","nightfall"],["Eclipse",8106,4,1,"","nightfall"],["Cloak",6114,3,1,"losecharge","cloak+charges=4"],["Cloak",8114,2,1,"losecharge","cloak+charges=4"],["Sadism",6124,2,3,"dmg=sadism",""],["Sadism",8124,1,3,"dmg=sadism",""],["Shard of Void",6130,2,3,"void",""],["Shard of Void",8130,1,3,"void",""]],
[["Mark of Aether",5022,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Aether",7022,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Aether Pillar",6200,0,0,"pillar","pillar+stackable+additive+charges=1"],["Aether Tower",8200,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Aether Pendulum",6250,0,0,"pend","pillar+stackable+additive+charges=1"],["Aether Pendulum",8250,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"],
Expand All @@ -57,15 +57,15 @@
[["Metamorphosis",5003,1,1,"metamorph"],["Metamorphosis",7003,0,1,"metamorph"],["Regrade",5005,1,1,"regrade"],["Regrade",7005,0,1,"regrade"]],
[["Chaos Seed",5106,1,1,"cseed"],["Chaos Power",7106,1,1,"cpower"],["Nova",5107,"1:0",1,"nova"],["Supernova",7107,2,1,"nova2"],["Mutation",5108,2,1,"mutation"],["Improved Mutation",7108,3,1,"improve"],["Antimatter",5111,8,2,"antimatter"],["Antimatter",7111,6,2,"antimatter"],["Butterfly Effect",5112,5,1,"butterfly"],["Butterfly Effect",7112,4,1,"butterfly"],["Pandemonium",5113,3,1,"pandemonium"],["Pandemonium",7113,5,1,"pandemonium2"],["Osmosis",5125,4,2,"powerdrain"],["Osmosis",7125,3,2,"powerdrain"],["Shard of Serendipity",5130,2,3,"serendipity"],["Shard of Serendipity",7130,3,3,"serendipity"],["Pink Jelly",5126,4,1,"jelly"],["Pink Jelly",7126,3,1,"jelly"],["Chaos Seed 2.0",5127,1,2,"cseed2"],["Pandemonium 3.0",7127,4,2,"pandemonium3"]],
[["Poison",5208,1,1,"poisonfoe 2"],["Deadly Poison",7208,2,1,"poisonfoe 3"],["Plague",5209,4,2,"plague"],["Plague",7209,2,2,"plague"],["Aflatoxin",5212,5,2,"aflatoxin"],["Aflatoxin",7212,4,2,"aflatoxin"],["Command Skeletons",5217,3,1,"aggroskele"],["Command Skeletons",7217,3,1,"aggroskele"],["Corpse Explosion",5218,1,1,"corpseexplosion"],["Corpse Explosion",7218,1,1,"corpseexplosion"],["Envenom",5225,3,1,"envenom"],["Envenom",7225,2,1,"envenom"],["Shard of Sacrifice",5230,2,3,"sosa"],["Shard of Sacrifice",7230,2,3,"sosa"]],
[["Momentum",5306,2,1,"momentum"],["Momentum",7306,1,1,"momentum"],["Gravity Pull",5309,2,1,"gpullspell"],["Gravity Pull",7309,1,1,"gpullspell"],["Black Hole",5311,4,2,"blackhole"],["Black Hole",7311,3,2,"blackhole"],["Chimera",5312,7,3,"chimera"],["Chimera",7312,6,3,"chimera"],["Acceleration",5314,3,1,"acceleration"],["Overdrive",7314,4,1,"acceleration"],["Tidal Healing",5325,3,1,"tidalhealing"],["Tidal Healing",7325,2,1,"tidalhealing"],["Brawl",5326,18,3,"brawl"],["Brawl",7326,15,3,"brawl"]],
[["Momentum",5306,2,1,"momentum"],["Momentum",7306,1,1,"momentum"],["Gravity Pull",5309,2,1,"gpullspell"],["Gravity Pull",7309,1,1,"gpullspell"],["Black Hole",5311,4,2,"blackhole"],["Black Hole",7311,3,2,"blackhole"],["Chimera",5312,7,3,"chimera"],["Chimera",7312,6,3,"chimera"],["Acceleration",5314,3,1,"acceleration"],["Overdrive",7314,4,1,"acceleration"],["Tidal Healing",5325,3,1,"tidalhealing"],["Tidal Healing",7325,2,1,"tidalhealing"],["Brawl",5326,18,3,"brawl"],["Brawl",7326,15,3,"brawl"],["Stasis",5331,3,2,"stasisdraw"],["Stasis",7331,2,2,"stasisdraw"]],
[["Plate Armor",5405,1,1,"platearmor 4"],["Plate Armor",7405,1,1,"platearmor 6"],["Protect Artifact",5410,2,1,"enchant"],["Protect Artifact",7410,1,1,"enchant"],["Earthquake",5411,3,2,"earthquake"],["Earthquake",7411,2,2,"earthquake"],["Stone Skin",5412,2,1,"sskin"],["Stone Skin",7412,0,1,"sskin"],["Basilisk Blood",5413,2,2,"bblood"],["Basilisk Blood",7413,1,2,"bblood"],["Sinkhole",5416,2,1,"sinkhole"],["Sinkhole",7416,2,1,"sinkhole"],["Throw Rock",5417,1,1,"throwrock"],["Throw Rock",7417,1,1,"throwrock"],["Shard of Integrity",5430,2,3,"integrity"],["Shard of Integrity",7430,1,3,"integrity"]],
[["Heal",5506,3,1,"heal"],["Heal",7506,2,1,"heal"],["Adrenaline",5511,4,2,"adrenaline"],["Adrenaline",7511,3,2,"adrenaline"],["Mitosis",5513,5,2,"mitosisspell"],["Mitosis",7513,4,2,"mitosisspell"],["Living Weapon",5517,2,1,"livingweapon"],["Living Weapon",7517,1,1,"livingweapon"],["Equalize",5521,2,1,"atk2hp"],["Equalize",7521,1,1,"atk2hp"],["Rejuvenation",5522,4,3,"regeneratespell"],["Rejuvenation",7522,3,3,"regeneratespell"],["Nightshade",5533,4,1,"nightshade"],["Nightshade",7533,3,1,"nightshade"]],
[["Heal",5506,3,1,"heal"],["Heal",7506,2,1,"heal"],["Adrenaline",5511,4,2,"adrenaline"],["Adrenaline",7511,3,2,"adrenaline"],["Mitosis",5513,5,2,"mitosisspell"],["Mitosis",7513,4,2,"mitosisspell"],["Living Weapon",5517,2,1,"livingweapon"],["Living Weapon",7517,1,1,"livingweapon"],["Equalize",5521,2,1,"equalize"],["Equalize",7521,1,1,"equalize"],["Rejuvenation",5522,4,3,"regeneratespell"],["Rejuvenation",7522,3,3,"regeneratespell"],["Nightshade",5533,4,1,"nightshade"],["Nightshade",7533,3,1,"nightshade"]],
[["Fire Bolt",5604,3,1,"firebolt"],["Fire Bolt",7604,2,1,"firebolt"],["Deflagration",5606,3,1,"destroy"],["Deflagration",7606,2,1,"destroy"],["Rain of Fire",5608,7,2,"firestorm 3"],["Rain of Fire",7608,5,2,"firestorm 3"],["Immolation",5609,0,1,"immolate 5"],["Cremation",7609,0,1,"immolate 7"],["Rage Potion",5611,3,2,"rage"],["Rage Elixir",7611,3,2,"rage"],["Tempering",5615,1,1,"tempering"],["Tempering",7615,2,1,"tempering"],["Burn Card",5616,2,2,"destroycard"],["Burn Card",7616,1,2,"destroycard"],["Shard of Bravery",5630,2,3,"bravery"],["Shard of Bravery",7630,1,3,"bravery"]],
[["Freeze",5703,1,1,"freeze"],["Freeze",7703,1,1,"freeze"],["Ice Bolt",5704,2,1,"icebolt"],["Ice Bolt",7704,1,1,"icebolt"],["Purify",5706,2,1,"purify"],["Purify",7706,1,1,"purify"],["Nymph's Tears",5712,7,2,"nymph"],["Nymph's Tears",7712,6,2,"nymph"],["Dry Spell",5715,1,1,"dryspell"],["Dry Spell",7715,"2:0",1,"dryspell"],["Gift of Oceanus",5716,"1:0",2,"quantagift"],["Gift of Oceanus",7716,0,2,"quantagift"],["Atlantis's Protection",5725,3,2,"protectall"],["Atlantis's Protection",7725,2,2,"protectall"]],
[["Holy Light",5804,1,1,"holylight"],["Holy Light",7804,0,1,"holylight"],["Blessing",5807,3,1,"bless"],["Blessing",7807,2,1,"bless"],["Miracle",5810,15,3,"miracle"],["Miracle",7810,12,3,"miracle"],["Luciferin",5811,"2:0",2,"luciferin"],["Luciferin",7811,0,2,"luciferin"],["Sabbath",5817,3,1,"flatline"],["Sabbath",7817,2,1,"flatline"],["Give",5818,1,2,"give"],["Give",7818,1,2,"give"],["Pacify",5821,3,1,"pacify"],["Pacify",7821,2,1,"pacify"],["Reinforce",5823,4,2,"bolsterintodeck"],["Reinforce",7823,3,2,"bolsterintodeck"],["Shard of Divinity",5830,3,3,"divinity"],["Shard of Divinity",7830,2,3,"divinity"]],
[["Thunderstorm",5905,3,2,"storm 2"],["Thunderstorm",7905,2,2,"storm 2"],["Flying Weapon",5906,1,1,"flyingweapon"],["Flying Weapon",7906,"1:0",1,"flyingweapon"],["Shockwave",5911,2,1,"swave"],["Shockwave",7911,1,1,"swave"],["Sky Blitz",5913,9,3,"skyblitz"],["Sky Blitz",7913,8,3,"skyblitz"],["Draft",5914,2,1,"draft"],["Draft",7914,1,1,"draft"],["Scattering Wind",5919,2,3,"scatterhand"],["Scattering Wind",7919,1,3,"scatterhand"],["Tornado",5923,3,2,"tornado"],["Tornado",7923,4,2,"tornado"]],
[["Holy Light",5804,1,1,"holylight"],["Holy Light",7804,0,1,"holylight"],["Blessing",5807,3,1,"bless"],["Blessing",7807,2,1,"bless"],["Miracle",5810,15,3,"miracle"],["Miracle",7810,12,3,"miracle"],["Luciferin",5811,"2:0",2,"luciferin"],["Luciferin",7811,0,2,"luciferin"],["Sabbath",5817,3,1,"sabbath"],["Sabbath",7817,2,1,"sabbath"],["Give",5818,1,2,"give"],["Give",7818,1,2,"give"],["Pacify",5821,3,1,"pacify"],["Pacify",7821,2,1,"pacify"],["Reinforce",5823,4,2,"bolsterintodeck"],["Reinforce",7823,3,2,"bolsterintodeck"],["Shard of Divinity",5830,3,3,"divinity"],["Shard of Divinity",7830,2,3,"divinity"]],
[["Thunderstorm",5905,3,2,"storm 2"],["Thunderstorm",7905,2,2,"storm 2"],["Flying Weapon",5906,1,1,"flyingweapon"],["Flying Weapon",7906,"1:0",1,"flyingweapon"],["Shockwave",5911,2,1,"swave"],["Shockwave",7911,1,1,"swave"],["Sky Blitz",5913,9,3,"skyblitz"],["Sky Blitz",7913,8,3,"skyblitz"],["Draft",5914,2,1,"draft"],["Draft",7914,1,1,"draft"],["Scattering Wind",5919,2,3,"scatter"],["Scattering Wind",7919,1,3,"scatter"],["Tornado",5923,3,2,"tornado"],["Tornado",7923,4,2,"tornado"]],
[["Rewind",6004,3,1,"rewind"],["Rewind",8004,2,1,"rewind"],["Precognition",6011,1,2,"precognition"],["Precognition",8011,"2:0",2,"precognition"],["Neurotoxin",6015,4,2,"neuroify"],["Neurotoxin",8015,3,2,"neuroify"],["Innovation",6017,4,3,"innovation"],["Innovation",8017,3,3,"innovation"],["Shard of Readiness",6030,2,3,"readiness"],["Shard of Readiness",8030,1,3,"readiness"],["Midas's Touch",6023,2,2,"midas"],["Midas's Touch",8023,1,2,"midas"],["52 Pickup",6026,20,3,"deckblast"],["52 Pickup",8026,15,3,"deckblast"]],
[["Steal",6105,4,2,"steal"],["Steal",8105,3,2,"steal"],["Drain Life",6108,2,1,"drainlife"],["Drain Life",8108,1,1,"drainlife"],["Liquid Shadow",6110,4,2,"liquid"],["Liquid Shadow",8110,3,2,"liquid"],["Nightmare",6113,2,1,"nightmare"],["Nightmare",8113,2,1,"nightmare"],["Yoink!",6123,3,2,"yoink"],["Yoink!",8123,2,2,"yoink"],["Beguile",6125,4,3,"beguile"],["Beguile",8125,2,3,"beguile"],["Embezzle",6133,6,2,"embezzle"],["Embezzle",8133,4,2,"embezzle"]],
[["Steal",6105,4,2,"steal"],["Steal",8105,3,2,"steal"],["Drain Life",6108,2,1,"drainlife"],["Drain Life",8108,1,1,"drainlife"],["Liquid Shadow",6110,4,2,"liquid"],["Liquid Shadow",8110,3,2,"liquid"],["Nightmare",6113,2,1,"nightmare"],["Nightmare",8113,2,1,"nightmare"],["Yoink!",6123,3,2,"yoink"],["Yoink!",8123,2,2,"yoink"],["Beguile",6125,4,3,"beguile"],["Beguile",8125,2,3,"beguile"],["Embezzle",6133,6,2,"embezzle"],["Embezzle",8133,4,2,"embezzle"],["Blood Moon",6134,7,3,"bloodmoon"],["Blood Moon",8134,5,3,"bloodmoon"]],
[["Lightning",6202,2,1,"lightning"],["Lightning",8202,1,1,"lightning"],["Parallel Universe",6203,7,2,"parallel"],["Parallel Universe",8203,6,2,"parallel"],["Quintessence",6209,4,2,"quint"],["Quintessence",8209,3,2,"quint"],["Fractal",6210,12,3,"fractal"],["Fractal",8210,10,3,"fractal"],["Silence",6212,3,1,"silence"],["Silence",8212,2,1,"silence"],["Unsummon",6222,1,1,"unsummon"],["Unsummon",8222,3,1,"unsummonquanta"],["Shard of Wisdom",6230,3,3,"wisdom"],["Shard of Wisdom",8230,2,3,"wisdom"]]],
[["Name","Code","Cost","R","Skill","Attack","Health","Status"],
[["Chromatic Butterfly",5009,1,2,"hit=chromastat",1,1,"airborne"],["Chromatic Butterfly",7009,1,2,"hit=chromastat",1,2,"airborne"]],
Expand Down
6 changes: 6 additions & 0 deletions src/Thing.js
Expand Up @@ -73,6 +73,12 @@ export default class Thing {
get castele() {
return this.game.get(this.id, 'castele');
}
get cost() {
return this.game.get(this.id, 'cost');
}
get costele() {
return this.game.get(this.id, 'costele');
}
get maxhp() {
return this.game.get(this.id, 'maxhp');
}
Expand Down
36 changes: 20 additions & 16 deletions src/rs/src/aieval.rs
Expand Up @@ -82,6 +82,7 @@ fn eval_skill(ctx: &Game, c: i32, skills: &[Skill], ttatk: f32, damage: &DamageM
.map(|&q| cmp::min(q, 3) as f32 / 12.0)
.sum(),
Skill::bless => 4.0,
Skill::bloodmoon => 10.0,
Skill::boneyard => 3.0,
Skill::bounce => 1.0,
Skill::bravery => {
Expand Down Expand Up @@ -236,7 +237,6 @@ fn eval_skill(ctx: &Game, c: i32, skills: &[Skill], ttatk: f32, damage: &DamageM
Skill::feed => 6.0,
Skill::fickle => 3.0,
Skill::firebolt => 10.0,
Skill::flatline => 1.0,
Skill::flyingweapon => 7.0,
Skill::foedraw => 8.0,
Skill::forcedraw => -10.0,
Expand Down Expand Up @@ -447,6 +447,7 @@ fn eval_skill(ctx: &Game, c: i32, skills: &[Skill], ttatk: f32, damage: &DamageM
Skill::ren => 5.0,
Skill::rewind => 6.0,
Skill::ricochet => 2.0,
Skill::sabbath => 1.0,
Skill::sadism => 5.0,
Skill::salvage => 2.0,
Skill::sanctify => 2.0,
Expand Down Expand Up @@ -474,6 +475,7 @@ fn eval_skill(ctx: &Game, c: i32, skills: &[Skill], ttatk: f32, damage: &DamageM
Skill::soulcatch => 2.0,
Skill::spores => 4.0,
Skill::sskin => 15.0,
Skill::stasisdraw => 1.0,
Skill::steal => 6.0,
Skill::steam => 6.0,
Skill::stoneform => 1.0,
Expand Down Expand Up @@ -659,14 +661,12 @@ fn eval_skill(ctx: &Game, c: i32, skills: &[Skill], ttatk: f32, damage: &DamageM
Skill::v_nova2 => 6.0,
Skill::v_nymph => 7.0,
Skill::v_pandemonium => 3.0,
Skill::v_paradox => 5.0,
Skill::v_parallel => 8.0,
Skill::v_phoenix => 3.0,
Skill::v_photosynthesis => 2.0,
Skill::v_plague => 5.0,
Skill::v_precognition => 1.0,
Skill::v_queen => 7.0,
Skill::v_quint => 6.0,
Skill::v_readiness => 3.0,
Skill::v_regenerate => 5.0,
Skill::v_rewind => 6.0,
Expand Down Expand Up @@ -1285,20 +1285,24 @@ pub fn eval(ctx: &Game) -> f32 {
.iter()
.map(|&hr| evalthing(ctx, &damage, hr, true, false, false))
.sum::<f32>();
if pl != turn {
let handlen = player.hand.len();
for draw in 1..=ctx.get(pl, Stat::drawpower) as usize {
if player.hand.len() + draw <= 8 && player.deck.len() >= draw {
pscore += evalthing(
ctx,
&damage,
player.deck[player.deck.len() - draw],
true,
false,
false,
);
if ctx.get(pl, Stat::drawlock) == 0 {
if pl != turn {
let handlen = player.hand.len();
for draw in 1..=ctx.get(pl, Stat::drawpower) as usize {
if player.hand.len() + draw <= 8 && player.deck.len() >= draw {
pscore += evalthing(
ctx,
&damage,
player.deck[player.deck.len() - draw],
true,
false,
false,
);
}
}
}
} else {
pscore -= 0.5;
}
pscore += (plhp as f32).sqrt() * 4.0 - (ctx.get(pl, Stat::poison) as f32) / 2.0;
if ctx.get(pl, Stat::precognition) != 0 {
Expand All @@ -1310,7 +1314,7 @@ pub fn eval(ctx: &Game) -> f32 {
handlen + if handlen > 6 { 7 } else { 4 }
} as f32 / 4.0
}
if ctx.get(pl, Stat::flatline) != 0 {
if ctx.get(pl, Stat::sabbath) != 0 {
pscore -= 2.0;
}
if ctx.get(pl, Stat::neuro) != 0 {
Expand Down
4 changes: 2 additions & 2 deletions src/rs/src/card.rs
Expand Up @@ -53,7 +53,7 @@ impl Cards {
}[upped as usize])
.iter()
.cloned()
.map(|c| &self.data[c as usize])
.map(|c| unsafe { self.data.get_unchecked(c as usize) })
.filter(|c| ffilt(c))
.collect::<Vec<_>>()
}
Expand All @@ -76,7 +76,7 @@ impl Cards {
}[upped as usize])
.iter()
.cloned()
.map(|c| &self.data[c as usize])
.map(|c| unsafe { self.data.get_unchecked(c as usize) })
.filter(|c| ffilt(c))
.choose(rng)
}
Expand Down

0 comments on commit 61715ff

Please sign in to comment.