From 6d781035cd97e46b28cf912ed317e6f57b48143a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= Date: Thu, 24 Aug 2023 18:48:33 +0000 Subject: [PATCH] Buff patch sopa: raise cost by 1 arctic squid: freeze lasts 2/3 instead of 3/4 flooding: change active to resummon freeze: freezes for 4/5 turns siren: change stats to 3|4 / 4|5 ouija: add active spawning ouija on opponent's field costing 2 life tunneling: active is free unstable gas: reduce cost by 1, deal 5 damage to opponent when discarded sadism: add active mend costing 2 light stasis: sanctify player when drawn gnome rider: cost 1 chroma plate armor: increase hp by 7/13 fallen elf: change stats to 3|3 virus: can't target players, on death poisons opponent for 1 elf/druid: change stats to 3|4 firefly: cost 2/2 mutants: fix typo causing poisonfoe mutants to spawn as poison mutants hatch: never hatch to same creature using hatch (so fate egg won't become fate egg) jetstream: can target non-airborne creatures, making them airborne corpse explosion: apply damage/poison to both creatures & opponent martyr: healing martyr heals owner sabbath: silence all of target player's creatures clockwork golem: buff hp by restored power when using wind --- .github/workflows/cargo-test.yml | 9 +- src/Cards.json | 28 ++--- src/rs/src/aieval.rs | 33 ++--- src/rs/src/deckgen.rs | 13 +- src/rs/src/game.rs | 12 +- src/rs/src/lib.rs | 4 +- src/rs/src/skill.rs | 209 ++++++++++++++++--------------- src/skillText.js | 60 ++++----- src/vanilla/Cards.json | 16 +-- src/views/Login.jsx | 6 +- 10 files changed, 193 insertions(+), 197 deletions(-) diff --git a/.github/workflows/cargo-test.yml b/.github/workflows/cargo-test.yml index 9711a275..12648cff 100644 --- a/.github/workflows/cargo-test.yml +++ b/.github/workflows/cargo-test.yml @@ -4,10 +4,5 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - uses: actions/setup-node@v3 - with: - node-version: 17 - - run: cargo test --manifest-path=./src/rs/Cargo.toml \ No newline at end of file + - uses: dtolnay/rust-toolchain@stable + - run: cargo test --manifest-path=./src/rs/Cargo.toml diff --git a/src/Cards.json b/src/Cards.json index 418d5a45..907bbb6d 100644 --- a/src/Cards.json +++ b/src/Cards.json @@ -32,36 +32,36 @@ [["Mark of Entropy",5011,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Entropy",7011,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Amethyst Pillar",5100,0,0,"pillar","pillar+stackable+additive+charges=1"],["Amethyst Tower",7100,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Entropy Pendulum",5150,0,0,"pend","pillar+stackable+additive+charges=1"],["Entropy Pendulum",7150,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], ["Ricochet",5117,3,2,"spell=ricochet",""],["Ricochet",7117,2,2,"spell=ricochet",""]], [["Mark of Death",5012,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Death",7012,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Bone Pillar",5200,0,0,"pillar","pillar+stackable+additive+charges=1"],["Bone Tower",7200,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Death Pendulum",5250,0,0,"pend","pillar+stackable+additive+charges=1"],["Death Pendulum",7250,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], - ["Boneyard",5207,3,1,"death=boneyard",""],["Graveyard",7207,4,1,"death=boneyard",""],["Soul Catcher",5215,"1:0",1,"death=soulcatch",""],["Soul Catcher",7215,0,1,"death=soulcatch",""],["Ouija Essence",5216,3,2,"death=ouija+upkeep+owndiscard=hasten",""],["Ouija Source",7216,2,2,"death=ouija+upkeep+owndiscard=hasten",""],["Epidemic",5219,5,1,"death=epidemic",""],["Epidemic",7219,4,1,"death=epidemic",""]], + ["Boneyard",5207,3,1,"death=boneyard",""],["Graveyard",7207,4,1,"death=boneyard",""],["Soul Catcher",5215,"1:0",1,"death=soulcatch",""],["Soul Catcher",7215,0,1,"death=soulcatch",""],["Ouija Essence",5216,3,2,"death=ouija+upkeep+owndiscard=hasten+2:5=ouijagrowth",""],["Ouija Source",7216,2,2,"death=ouija+upkeep+owndiscard=hasten+2:5=ouijagrowth",""],["Epidemic",5219,5,1,"death=epidemic",""],["Epidemic",7219,4,1,"death=epidemic",""]], [["Mark of Gravity",5013,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Gravity",7013,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Gravity Pillar",5300,0,0,"pillar","pillar+stackable+additive+charges=1"],["Gravity Tower",7300,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Gravity Pendulum",5350,0,0,"pend","pillar+stackable+additive+charges=1"],["Gravity Pendulum",7350,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], ["Catapult",5313,3,2,"2=catapult",""],["Catapult",7313,3,2,"1=catapult",""],["Inertia",5322,1,1,"spell=inertia",""],["Inertia",7322,"1:0",1,"spell=inertia",""]], [["Mark of Earth",5014,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Earth",7014,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Stone Pillar",5400,0,0,"pillar","pillar+stackable+additive+charges=1"],["Stone Tower",7400,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Earth Pendulum",5450,0,0,"pend","pillar+stackable+additive+charges=1"],["Earth Pendulum",7450,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], - ["Tunneling",5418,4,1,"1=autoburrow+turnstart=autoburrowoff","tunnel"],["Tunneling",7418,3,1,"1=autoburrow+turnstart=autoburrowoff","tunnel"],["Lodestone",5421,3,2,"1=inflation","whetstone"],["Lodestone",7421,3,2,"0=inflation","whetstone"]], + ["Tunneling",5418,4,1,"0=autoburrow+turnstart=autoburrowoff","tunnel"],["Tunneling",7418,3,1,"0=autoburrow+turnstart=autoburrowoff","tunnel"],["Lodestone",5421,3,2,"1=inflation","whetstone"],["Lodestone",7421,3,2,"0=inflation","whetstone"]], [["Mark of Life",5015,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Life",7015,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Emerald Pillar",5500,0,0,"pillar","pillar+stackable+additive+charges=1"],["Emerald Tower",7500,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Life Pendulum",5550,0,0,"pend","pillar+stackable+additive+charges=1"],["Life Pendulum",7550,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], ["Georesonator",5422,2,2,"ownattack=paleomagnetism",""],["Georesonator",7422,2,2,"ownattack=paleomagnetism",""],["Empathic Bond",5510,5,1,"empathy",""],["Empathic Bond",7510,4,1,"empathy",""],["Shard of Gratitude",5530,3,3,"regenerate 4",""],["Shard of Gratitude",7530,2,3,"regenerate 4",""]], [["Mark of Fire",5016,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Fire",7016,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Burning Pillar",5600,0,0,"pillar","pillar+stackable+additive+charges=1"],["Burning Tower",7600,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Fire Pendulum",5650,0,0,"pend","pillar+stackable+additive+charges=1"],["Fire Pendulum",7650,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], ["Magma",5618,2,1,"1:7=platearmor 4",""],["Magma",7618,3,1,"1:7=platearmor 6",""],["Heat Mirror",5619,3,2,"play=heatmirror+4=summon 6201",""],["Heat Mirror",7619,3,2,"play=heatmirror+4=summon 8201",""]], [["Mark of Water",5017,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Water",7017,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Water Pillar",5700,0,0,"pillar","pillar+stackable+additive+charges=1"],["Water Tower",7700,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Water Pendulum",5750,0,0,"pend","pillar+stackable+additive+charges=1"],["Water Pendulum",7750,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], - ["Flooding",5713,3,1,"0=die+beginattack=flood+attack=flooddeath",""],["Flooding",7713,2,1,"0=die+beginattack=flood+attack=flooddeath",""],["Clepsydra",5719,4,3,"2:10=yoink+losecharge","charges=4"],["Clepsydra",7719,4,3,"1:10=yoink+losecharge","charges=4"],["Waterfall",5721,4,1,"1:3=momentum+upkeep",""],["Waterfall",7721,4,1,"1:3=momentum",""],["Whirlpool",5722,2,1,"1:11=scramble",""],["Whirlpool",7722,2,1,"1:11=scramblespam",""],["Shard of Patience",5730,3,3,"0=die+attack=patience","frozen=2"],["Shard of Patience",7730,2,3,"0=die+attack=patience","frozen=2"]], + ["Flooding",5713,3,1,"2=resummon+beginattack=flood+attack=flooddeath",""],["Flooding",7713,2,1,"2=resummon+beginattack=flood+attack=flooddeath",""],["Clepsydra",5719,4,3,"2:10=yoink+losecharge","charges=4"],["Clepsydra",7719,4,3,"1:10=yoink+losecharge","charges=4"],["Waterfall",5721,4,1,"1:3=momentum+upkeep",""],["Waterfall",7721,4,1,"1:3=momentum",""],["Whirlpool",5722,2,1,"1:11=scramble",""],["Whirlpool",7722,2,1,"1:11=scramblespam",""],["Shard of Patience",5730,4,3,"0=die+attack=patience","frozen=2"],["Shard of Patience",7730,3,3,"0=die+attack=patience","frozen=2"]], [["Mark of Light",5018,0,-1,"pillar","pillar+stackable+additive+charges=1"],["Mark of Light",7018,0,-1,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Light Pillar",5800,0,0,"pillar","pillar+stackable+additive+charges=1"],["Light Tower",7800,0,0,"pillar+ownplay=pillar1","pillar+stackable+additive+charges=1"],["Light Pendulum",5850,0,0,"pend","pillar+stackable+additive+charges=1"],["Light Pendulum",7850,0,0,"pend+ownplay=pillar1","pillar+stackable+additive+charges=1"], ["Sanctuary",5814,4,1,"regenerate 4,sanctify+owndraw=sanctify",""],["Sanctuary",7814,3,1,"regenerate 4,sanctify+owndraw=sanctify",""],["Writ of Vindication",5824,3,2,"death=vindicate+turnstart=unvindicate",""],["Writ of Vindication",7824,2,2,"death=vindicate+turnstart=unvindicate",""],["Writ of Vengeance",5825,4,2,"death=vengeance","stackable+additive+charges=108"],["Writ of Vengeance",7825,3,2,"death=vengeance","stackable+additive+charges=108"]], [["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",""]], + ["Unstable Gas",5910,4,2,"1:6=ignite+owndiscard=ignitediscard",""],["Unstable Gas",7910,3,2,"1:6=ignite+owndiscard=ignitediscard",""],["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,0,0,"2:0=vend","token"],["Golden Relic",8024,0,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","charges=4"],["Hand Drill",8029,2,1,"1=shuffle3","charges=5"]], [["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",""]], + ["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,"2:8=mend+dmg=sadism",""],["Sadism",8124,1,3,"2:8=mend+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"], ["Mindgate",6211,4,2,"2=duality",""],["Mindgate",8211,4,2,"1=duality",""],["Broken Mirror",6216,3,2,"play=brokenmirror+4=summon 6217",""],["Broken Mirror",8216,3,2,"play=brokenmirror+4=summon 8217",""],["Dream Catcher",6224,2,1,"discard=drawcopy+ownattack=sanctify+ownplay=unsanctify+turnstart=unsanctify+3=mill",""],["Dream Catcher",8224,1,1,"discard=drawcopy+ownattack=sanctify+ownplay=unsanctify+turnstart=unsanctify+3=mill",""],["Tesseract",6225,3,2,"2:8=tesseractsummon",""],["Tesseract",8225,2,2,"2:8=tesseractsummon",""]]], [["Name","Code","Cost","R","Skill"], [["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"],["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"]], + [["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+owndraw=sanctify"],["Stasis",7331,2,2,"stasisdraw+owndraw=sanctify"]], + [["Plate Armor",5405,1,1,"platearmor 7"],["Plate Armor",7405,1,1,"platearmor 13"],["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,"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 3"],["Tempering",7615,2,1,"tempering 5"],["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"]], + [["Freeze",5703,1,1,"freeze 4"],["Freeze",7703,1,1,"freeze 5"],["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,"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"]], @@ -69,15 +69,15 @@ [["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"]], - [["Maxwell's Demon",5101,5,2,"2=paradox",3,2,"airborne"],["Maxwell's Demon",7101,5,2,"2=paradox",3,5,"airborne"],["Abomination",5102,5,1,"prespell=abomination",5,5,""],["Micro Abomination",7102,1,1,"prespell=abomination",2,6,""],["Purple Dragon",5103,10,2,"",10,5,"airborne"],["Amethyst Dragon",7103,11,2,"",12,6,"airborne"],["Lycanthrope",5105,2,1,"2:11=lycanthropy",1,1,""],["Werewolf",7105,2,1,"1:11=lycanthropy",1,1,""],["Fallen Elf",5110,4,1,"1:5=mutation",3,2,"ranged"],["Fallen Druid",7110,5,1,"1:5=improve",3,3,"ranged"],["Schr\u00f6dinger's Cat",5114,1,1,"1=deadalive",1,1,"nocturnal"],["Schr\u00f6dinger's Cat",7114,1,1,"1=deadalive",1,3,"nocturnal"],["Singularity",5115,10,1,"singularity",-1,3,"token"],["Singularity",7115,10,1,"singularity",-7,5,"token"],["Spider Cow",5116,4,1,"ownplay=mutant",3,3,"aquatic"],["Micro Spider Cow",7116,1,1,"ownplay=mutant",1,2,"aquatic"],["Golden Goose",5118,4,2,"1:10=summon 6002",2,6,"airborne"],["Golden Goose",7118,4,2,"1:10=summon 8002",2,6,"airborne"],["Purple Nymph",5120,9,4,"4=antimatter",3,1,""],["Entropy Nymph",7120,9,4,"4=antimatter",3,2,""],["Unstable Shapeshifter",5122,4,2,"play=mimic",0,1,""],["Unstable Shapeshifter",7122,3,2,"play=mimic",0,4,""],["Alchemist",5123,3,3,"2:7=brew",2,3,"aquatic"],["Alchemist",7123,3,3,"2:7=brew",2,3,"aquatic"]], - [["Malignant Cell",5032,0,1,"postauto=mitosis",1,1,"aquatic+nocturnal+token"],["Malignant Cell",7032,0,1,"postauto=mitosis",1,1,"aquatic+nocturnal+token"],["Bone Dragon",5201,10,2,"",10,5,"airborne+nocturnal"],["Ivory Dragon",7201,10,2,"",11,5,"airborne+nocturnal"],["Virus",5202,1,1,"0=virusinfect",1,1,"airborne+poisonous+nocturnal+aquatic"],["Retrovirus",7202,2,1,"0=virusplague",1,1,"airborne+poisonous+nocturnal+aquatic"],["Flesh Spider",5203,3,1,"1:9=web",3,3,"nocturnal"],["Flesh Recluse",7203,3,1,"1:9=web",6,3,"nocturnal"],["Vulture",5204,2,1,"death=growth 1 1",1,2,"airborne+nocturnal"],["Condor",7204,2,1,"death=growth 1 1",2,3,"airborne+nocturnal"],["Skeleton",5206,0,1,"prespell=skeleton",1,1,"nocturnal"],["Skeleton",7206,0,1,"prespell=skeleton",2,2,"nocturnal"],["Mummy",5213,4,1,"prespell=mummy",5,3,"nocturnal"],["Mummy",7213,3,1,"prespell=mummy",5,4,"nocturnal"],["Deathstalker",5214,2,1,"hit=poison 2",0,1,"poisonous+nocturnal"],["Deathstalker",7214,2,1,"hit=poison 2",0,3,"poisonous+nocturnal"],["Grey Nymph",5220,9,4,"2=aflatoxin",3,6,"nocturnal"],["Death Nymph",7220,9,4,"2=aflatoxin",4,7,"nocturnal"],["Tomb",5221,2,2,"death=grave",4,3,"burrowed+nocturnal"],["Tomb",7221,1,2,"death=grave",4,3,"burrowed+nocturnal"],["Infected",5223,4,2,"",7,4,"poison=2+poisonous+golem+nocturnal"],["Infected",7223,4,2,"",9,6,"poison=3+poisonous+golem+nocturnal"],["Shtriga",5224,6,2,"2:11=feed+turnstart=shtriga",6,3,"nocturnal+poison=1"],["Shtriga",7224,6,2,"2:11=feed+turnstart=shtriga",8,3,"nocturnal+poison=1"],["Reaper",5226,7,3,"2:8=reap+prespell=evadecrea",7,4,"nocturnal"],["Reaper",7226,7,3,"1:8=reap+prespell=evadecrea",8,4,"nocturnal"]], + [["Maxwell's Demon",5101,5,2,"2=paradox",3,2,"airborne"],["Maxwell's Demon",7101,5,2,"2=paradox",3,5,"airborne"],["Abomination",5102,5,1,"prespell=abomination",5,5,""],["Micro Abomination",7102,1,1,"prespell=abomination",2,6,""],["Purple Dragon",5103,10,2,"",10,5,"airborne"],["Amethyst Dragon",7103,11,2,"",12,6,"airborne"],["Lycanthrope",5105,2,1,"2:11=lycanthropy",1,1,""],["Werewolf",7105,2,1,"1:11=lycanthropy",1,1,""],["Fallen Elf",5110,4,1,"1:5=mutation",3,3,"ranged"],["Fallen Druid",7110,5,1,"1:5=improve",3,3,"ranged"],["Schr\u00f6dinger's Cat",5114,1,1,"1=deadalive",1,1,"nocturnal"],["Schr\u00f6dinger's Cat",7114,1,1,"1=deadalive",1,3,"nocturnal"],["Singularity",5115,10,1,"singularity",-1,3,"token"],["Singularity",7115,10,1,"singularity",-7,5,"token"],["Spider Cow",5116,4,1,"ownplay=mutant",3,3,"aquatic"],["Micro Spider Cow",7116,1,1,"ownplay=mutant",1,2,"aquatic"],["Golden Goose",5118,4,2,"1:10=summon 6002",2,6,"airborne"],["Golden Goose",7118,4,2,"1:10=summon 8002",2,6,"airborne"],["Purple Nymph",5120,9,4,"4=antimatter",3,1,""],["Entropy Nymph",7120,9,4,"4=antimatter",3,2,""],["Unstable Shapeshifter",5122,4,2,"play=mimic",0,1,""],["Unstable Shapeshifter",7122,3,2,"play=mimic",0,4,""],["Alchemist",5123,3,3,"2:7=brew",2,3,"aquatic"],["Alchemist",7123,3,3,"2:7=brew",2,3,"aquatic"]], + [["Malignant Cell",5032,0,1,"postauto=mitosis",1,1,"aquatic+nocturnal+token"],["Malignant Cell",7032,0,1,"postauto=mitosis",1,1,"aquatic+nocturnal+token"],["Bone Dragon",5201,10,2,"",10,5,"airborne+nocturnal"],["Ivory Dragon",7201,10,2,"",11,5,"airborne+nocturnal"],["Virus",5202,1,1,"0=virusinfect+owndeath=poisonfoe 1",1,1,"airborne+poisonous+nocturnal+aquatic"],["Retrovirus",7202,2,1,"0=virusplague",1,1,"airborne+poisonous+nocturnal+aquatic"],["Flesh Spider",5203,3,1,"1:9=web",3,3,"nocturnal"],["Flesh Recluse",7203,3,1,"1:9=web",6,3,"nocturnal"],["Vulture",5204,2,1,"death=growth 1 1",1,2,"airborne+nocturnal"],["Condor",7204,2,1,"death=growth 1 1",2,3,"airborne+nocturnal"],["Skeleton",5206,0,1,"prespell=skeleton",1,1,"nocturnal"],["Skeleton",7206,0,1,"prespell=skeleton",2,2,"nocturnal"],["Mummy",5213,4,1,"prespell=mummy",5,3,"nocturnal"],["Mummy",7213,3,1,"prespell=mummy",5,4,"nocturnal"],["Deathstalker",5214,2,1,"hit=poison 2",0,1,"poisonous+nocturnal"],["Deathstalker",7214,2,1,"hit=poison 2",0,3,"poisonous+nocturnal"],["Grey Nymph",5220,9,4,"2=aflatoxin",3,6,"nocturnal"],["Death Nymph",7220,9,4,"2=aflatoxin",4,7,"nocturnal"],["Tomb",5221,2,2,"death=grave",4,3,"burrowed+nocturnal"],["Tomb",7221,1,2,"death=grave",4,3,"burrowed+nocturnal"],["Infected",5223,4,2,"",7,4,"poison=2+poisonous+golem+nocturnal"],["Infected",7223,4,2,"",9,6,"poison=3+poisonous+golem+nocturnal"],["Shtriga",5224,6,2,"2:11=feed+turnstart=shtriga",6,3,"nocturnal+poison=1"],["Shtriga",7224,6,2,"2:11=feed+turnstart=shtriga",8,3,"nocturnal+poison=1"],["Reaper",5226,7,3,"2:8=reap+prespell=evadecrea",7,4,"nocturnal"],["Reaper",7226,7,3,"1:8=reap+prespell=evadecrea",8,4,"nocturnal"]], [["Sapphire Charger",5301,5,1,"",4,6,"momentum"],["Sapphire Charger",7301,5,1,"",7,5,"momentum"],["Armagio",5302,3,1,"0=gpull",1,25,"ranged"],["Armagio",7302,3,1,"0=gpull",2,30,"ranged"],["Graviton Mercenary",5303,3,1,"",3,5,""],["Graviton Guard",7303,2,1,"",4,7,""],["Colossal Dragon",5304,9,2,"",8,24,"airborne"],["Massive Dragon",7304,9,2,"",8,32,"airborne"],["Otyugh",5307,4,2,"1=devour",0,3,"aquatic"],["Otyugh",7307,5,2,"1=devour",0,5,"aquatic"],["Graviton Fire Eater",5310,1,2,"1:6=growth 2 0",0,5,""],["Graviton Firemaster",7310,1,2,"1:6=growth 2 0",0,7,""],["Graviton Salvager",5315,1,1,"destroy=salvage",1,5,""],["Graviton Salvager",7315,1,1,"destroy=salvage",2,5,""],["Graviton Defender",5317,5,1,"shield=counter+2=gpull",3,10,""],["Graviton Defender",7317,5,1,"shield=counter+2=gpull",4,12,""],["Graviton Deployer",5318,7,2,"2=deployblobs",4,6,""],["Graviton Deployer",7318,7,2,"1=deployblobs",5,6,""],["Blob",5319,2,1,"0=reinforce",1,1,"token"],["Blob",7319,1,1,"0=reinforce",1,1,"token"],["Amber Nymph",5320,10,4,"3=blackhole",1,2,""],["Gravity Nymph",7320,10,4,"3=blackhole",1,4,""],["Shard of Focus",5330,6,3,"1=accretion",0,1,""],["Shard of Focus",7330,4,3,"1=accretion",0,1,""],["Lemming",5323,2,2,"prespell=deathwish",1,4,""],["Big Lemming",7323,3,2,"prespell=deathwish",2,8,""],["Boar",5327,3,1,"growth 1 0",2,1,""],["Boar",7327,3,1,"growth 1 1",3,1,""]], - [["Antlion",5401,2,1,"1=burrow",3,2,""],["Antlion",7401,2,1,"1=burrow",4,4,""],["Hematite Golem",5402,4,1,"",4,6,"golem"],["Steel Golem",7402,4,1,"",6,9,"golem"],["Stone Dragon",5403,10,2,"",9,9,"airborne"],["Basalt Dragon",7403,11,2,"",10,12,"airborne"],["Gnome Rider",5406,1,1,"quanta 4",1,3,""],["Gnome Gemfinder",7406,0,1,"quanta 4",1,3,""],["Graboid",5408,3,2,"1:10=evolve",1,1,"burrowed"],["Graboid",7408,3,2,"1:10=evolve",1,1,"burrowed"],["Shrieker",5409,8,1,"1=burrow",8,3,""],["Shrieker",7409,8,1,"1=burrow",10,4,""],["Iridium Warden",5414,1,1,"1=guard",0,3,""],["Vanadium Warden",7414,1,1,"1=guard",0,6,""],["Shard Golem",5415,8,1,"ownplay=shardgolem",0,0,"golem+token"],["Shard Golem",7415,8,1,"ownplay=shardgolem",0,0,"golem+token"],["Orochi",5419,8,3,"0=appease+ownattack=unappease",12,8,"appeased"],["Orochi",7419,7,3,"0=appease+ownattack=unappease",12,8,"appeased"],["Auburn Nymph",5420,8,4,"3=bblood",4,8,""],["Earth Nymph",7420,8,4,"3=bblood",5,9,""],["Minotaur",5426,5,2,"ownattack=predator",4,5,""],["Minotaur",7426,6,2,"ownattack=predator",6,4,""],["Gaian Enchantress",5427,6,2,"2:12=enchant+buff=countimmbur",3,7,""],["Gaian Enchantress",7427,5,2,"2:12=enchant+buff=countimmbur",3,7,""],["Ironclad Blacksmith",5428,4,1,"1:6=tempering 3",3,6,""],["Ironclad Blacksmith",7428,4,1,"2:6=tempering 5",3,7,""]], - [["Emerald Dragon",5501,10,2,"",10,7,"airborne"],["Jade Dragon",7501,11,2,"",12,9,"airborne"],["Horned Frog",5502,2,1,"",3,3,""],["Giant Frog",7502,2,1,"",5,3,""],["Rustler",5503,0,1,"1:8=photosynthesis",1,1,"airborne"],["Rustler",7503,0,1,"1:8=photosynthesis",1,3,"airborne"],["Cockatrice",5504,3,1,"",4,4,"airborne"],["Cockatrice",7504,3,1,"",5,5,"airborne"],["Forest Spirit",5505,2,1,"1:7=growth 2 2",2,2,"airborne"],["Forest Spectre",7505,2,1,"1:7=growth 2 2",3,3,"airborne"],["Scorpion",5512,3,1,"hit=poison 1",1,2,"poisonous"],["Scorpion",7512,3,1,"hit=poison 1",2,2,"poisonous"],["Giant Spider",5514,5,1,"1:9=web",5,6,""],["Giant Recluse",7514,5,1,"1:9=web",7,6,""],["Cell",5515,3,2,"2=mitosis+ownpoison=cell",1,1,""],["Cell",7515,2,2,"2=mitosis+ownpoison=cell",1,1,""],["Elf",5516,5,2,"2:9=snipe+prespell=elf",2,2,"ranged"],["Druid",7516,5,2,"2:12=swave+prespell=elf",2,2,"ranged"],["Fungus",5518,4,3,"owndeath=spores",4,1,"nocturnal"],["Toxic Fungus",7518,3,3,"owndeath=spores,poisonfoe 1",4,1,"nocturnal+poisonous"],["Spore",5519,0,1,"1=fungusrebirth",0,1,"airborne+token"],["Toxic Spore",7519,0,1,"1=fungusrebirth",0,1,"airborne+poisonous+token"],["Green Nymph",5520,7,4,"2=adrenaline",3,6,""],["Life Nymph",7520,7,4,"1=adrenaline",3,8,""],["Alpha Wolf",5531,5,2,"ownplay=alphawolf",2,2,"nocturnal"],["Alpha Wolf",7531,5,2,"ownplay=alphawolf",3,2,"nocturnal"],["Pack Wolf",5532,1,1,"",2,1,"nocturnal+token"],["Pack Wolf",7532,0,1,"",2,1,"nocturnal+token"],["Shaman",5534,4,2,"ownattack=hitownertwice",-4,4,"aquatic"],["Shaman",7534,4,2,"ownattack=hitownertwice",-5,5,"aquatic"]], + [["Antlion",5401,2,1,"1=burrow",3,2,""],["Antlion",7401,2,1,"1=burrow",4,4,""],["Hematite Golem",5402,4,1,"",4,6,"golem"],["Steel Golem",7402,4,1,"",6,9,"golem"],["Stone Dragon",5403,10,2,"",9,9,"airborne"],["Basalt Dragon",7403,11,2,"",10,12,"airborne"],["Gnome Rider",5406,"1:0",1,"quanta 4",1,3,""],["Gnome Gemfinder",7406,0,1,"quanta 4",1,3,""],["Graboid",5408,3,2,"1:10=evolve",1,1,"burrowed"],["Graboid",7408,3,2,"1:10=evolve",1,1,"burrowed"],["Shrieker",5409,8,1,"1=burrow",8,3,""],["Shrieker",7409,8,1,"1=burrow",10,4,""],["Iridium Warden",5414,1,1,"1=guard",0,3,""],["Vanadium Warden",7414,1,1,"1=guard",0,6,""],["Shard Golem",5415,8,1,"ownplay=shardgolem",0,0,"golem+token"],["Shard Golem",7415,8,1,"ownplay=shardgolem",0,0,"golem+token"],["Orochi",5419,8,3,"0=appease+ownattack=unappease",12,8,"appeased"],["Orochi",7419,7,3,"0=appease+ownattack=unappease",12,8,"appeased"],["Auburn Nymph",5420,8,4,"3=bblood",4,8,""],["Earth Nymph",7420,8,4,"3=bblood",5,9,""],["Minotaur",5426,5,2,"ownattack=predator",4,5,""],["Minotaur",7426,6,2,"ownattack=predator",6,4,""],["Gaian Enchantress",5427,6,2,"2:12=enchant+buff=countimmbur",3,7,""],["Gaian Enchantress",7427,5,2,"2:12=enchant+buff=countimmbur",3,7,""],["Ironclad Blacksmith",5428,4,1,"1:6=tempering 3",3,6,""],["Ironclad Blacksmith",7428,4,1,"2:6=tempering 5",3,7,""]], + [["Emerald Dragon",5501,10,2,"",10,7,"airborne"],["Jade Dragon",7501,11,2,"",12,9,"airborne"],["Horned Frog",5502,2,1,"",3,3,""],["Giant Frog",7502,2,1,"",5,3,""],["Rustler",5503,0,1,"1:8=photosynthesis",1,1,"airborne"],["Rustler",7503,0,1,"1:8=photosynthesis",1,3,"airborne"],["Cockatrice",5504,3,1,"",4,4,"airborne"],["Cockatrice",7504,3,1,"",5,5,"airborne"],["Forest Spirit",5505,2,1,"1:7=growth 2 2",2,2,"airborne"],["Forest Spectre",7505,2,1,"1:7=growth 2 2",3,3,"airborne"],["Scorpion",5512,3,1,"hit=poison 1",1,2,"poisonous"],["Scorpion",7512,3,1,"hit=poison 1",2,2,"poisonous"],["Giant Spider",5514,5,1,"1:9=web",5,6,""],["Giant Recluse",7514,5,1,"1:9=web",7,6,""],["Cell",5515,3,2,"2=mitosis+ownpoison=cell",1,1,""],["Cell",7515,2,2,"2=mitosis+ownpoison=cell",1,1,""],["Elf",5516,5,2,"2:9=snipe+prespell=elf",3,4,"ranged"],["Druid",7516,5,2,"2:12=swave+prespell=elf",3,4,"ranged"],["Fungus",5518,4,3,"owndeath=spores",4,1,"nocturnal"],["Toxic Fungus",7518,3,3,"owndeath=spores,poisonfoe 1",4,1,"nocturnal+poisonous"],["Spore",5519,0,1,"1=fungusrebirth",0,1,"airborne+token"],["Toxic Spore",7519,0,1,"1=fungusrebirth",0,1,"airborne+poisonous+token"],["Green Nymph",5520,7,4,"2=adrenaline",3,6,""],["Life Nymph",7520,7,4,"1=adrenaline",3,8,""],["Alpha Wolf",5531,5,2,"ownplay=alphawolf",2,2,"nocturnal"],["Alpha Wolf",7531,5,2,"ownplay=alphawolf",3,2,"nocturnal"],["Pack Wolf",5532,1,1,"",2,1,"nocturnal+token"],["Pack Wolf",7532,0,1,"",2,1,"nocturnal+token"],["Shaman",5534,4,2,"ownattack=hitownertwice",-4,4,"aquatic"],["Shaman",7534,4,2,"ownattack=hitownertwice",-5,5,"aquatic"]], [["Ash Eater",5601,1,1,"quanta 6",2,1,""],["Brimstone Eater",7601,1,1,"quanta 6",3,1,""],["Crimson Dragon",5602,10,2,"",12,3,"airborne"],["Ruby Dragon",7602,12,2,"",15,3,"airborne"],["Fire Spirit",5603,1,1,"1=growth 2 0",0,2,"airborne"],["Fire Spectre",7603,2,1,"1=growth 2 0",2,3,"airborne"],["Lava Golem",5610,5,2,"1:4=growth 2 2",5,1,"golem"],["Lava Destroyer",7610,5,2,"1:4=growth 2 2",7,1,"golem"],["Phoenix",5612,7,2,"owndeath=phoenix",7,1,"airborne"],["Minor Phoenix",7612,2,2,"owndeath=phoenix",4,1,"airborne"],["Ash",5613,4,1,"2=rebirth",0,4,"token"],["Minor Ash",7613,0,1,"2=rebirth",0,3,"token"],["Seraph",5614,9,3,"1:8=dshield",10,1,"airborne"],["Seraph",7614,9,3,"1:8=dshield",12,1,"airborne"],["Lifesmith",5617,2,1,"1:5=flyingweapon",2,6,""],["Lifesmith",7617,3,1,"1:5=flyingweapon",4,8,""],["Red Nymph",5620,8,4,"3=rage",1,11,""],["Fire Nymph",7620,8,4,"4=rage",1,13,""],["Salamander",5622,4,1,"",5,2,"aquatic"],["Salamander",7622,4,1,"",7,2,"aquatic"],["Jack O' Lantern",5624,5,2,"1:8=summon 6127",3,7,"nocturnal"],["Jack O' Lantern",7624,5,2,"1:8=summon 8127",3,7,"nocturnal"],["Ferro Golem",5625,6,2,"1:10=drawequip",6,3,"golem"],["Ferro Golem",7625,6,2,"1:10=drawequip",7,4,"golem"]], - [["Chrysaora",5701,1,1,"1:2=poisonfoe 1",0,2,"poisonous+aquatic"],["Physalia",7701,1,1,"1:2=poisonfoe 1",2,2,"poisonous+aquatic"],["Blue Crawler",5702,3,1,"",3,4,"nocturnal+aquatic"],["Abyss Crawler",7702,4,1,"",6,6,"nocturnal+aquatic"],["Arctic Squid",5707,3,3,"2=freeze",1,2,"aquatic"],["Arctic Octopus",7707,3,3,"2=freeze",1,2,"aquatic"],["Ice Dragon",5709,9,2,"",9,6,"airborne+aquatic"],["Arctic Dragon",7709,11,2,"",13,5,"airborne+aquatic"],["Toadfish",5710,5,2,"1:9=poison 1",6,4,"poisonous+aquatic"],["Puffer Fish",7710,4,2,"hit=poison 1",3,5,"poisonous+aquatic"],["Mind Flayer",5711,2,1,"1:12=lobotomize",2,2,"aquatic"],["Ulitharid",7711,3,1,"1:12=lobotomize",4,4,"aquatic"],["Steam Machine",5714,4,2,"2:6=steam",0,6,"aquatic"],["Steam Machine",7714,5,2,"2:6=steam",0,16,"aquatic"],["Squid",5717,3,1,"1:11=ink+ownfreeze=becomearctic",2,3,"aquatic"],["Octopus",7717,3,1,"1:11=ink+ownfreeze=becomearctic",4,3,"aquatic"],["Nymph Queen",5720,8,4,"4=nymph",4,6,"aquatic"],["Water Nymph",7720,8,4,"4=nymph",5,7,"aquatic"],["Siren",5724,4,2,"2:11=sing",2,4,"aquatic"],["Siren",7724,4,2,"2:11=sing",4,4,"aquatic"],["Diving Bell Spider",5727,2,1,"1:9=bellweb",2,5,"aquatic"],["Diving Bell Spider",7727,2,1,"1:9=bellweb",4,4,"aquatic"],["Bobbit Worm",5728,5,2,"1:4=detain",3,4,"aquatic+burrowed"],["Bobbit Worm",7728,5,2,"1:4=detain",5,5,"aquatic+burrowed"],["Arctic Dolphin",5729,6,2,"2=deepdive",6,4,"aquatic"],["Arctic Dolphin",7729,6,2,"2=deepdive",7,4,"aquatic"]], + [["Chrysaora",5701,1,1,"1:2=poisonfoe 1",0,2,"poisonous+aquatic"],["Physalia",7701,1,1,"1:2=poisonfoe 1",2,2,"poisonous+aquatic"],["Blue Crawler",5702,3,1,"",3,4,"nocturnal+aquatic"],["Abyss Crawler",7702,4,1,"",6,6,"nocturnal+aquatic"],["Arctic Squid",5707,3,3,"2=freeze 2",1,2,"aquatic"],["Arctic Octopus",7707,3,3,"2=freeze 3",1,2,"aquatic"],["Ice Dragon",5709,9,2,"",9,6,"airborne+aquatic"],["Arctic Dragon",7709,11,2,"",13,5,"airborne+aquatic"],["Toadfish",5710,5,2,"1:9=poison 1",6,4,"poisonous+aquatic"],["Puffer Fish",7710,4,2,"hit=poison 1",3,5,"poisonous+aquatic"],["Mind Flayer",5711,2,1,"1:12=lobotomize",2,2,"aquatic"],["Ulitharid",7711,3,1,"1:12=lobotomize",4,4,"aquatic"],["Steam Machine",5714,4,2,"2:6=steam",0,6,"aquatic"],["Steam Machine",7714,5,2,"2:6=steam",0,16,"aquatic"],["Squid",5717,3,1,"1:11=ink+ownfreeze=becomearctic",2,3,"aquatic"],["Octopus",7717,3,1,"1:11=ink+ownfreeze=becomearctic",4,3,"aquatic"],["Nymph Queen",5720,8,4,"4=nymph",4,6,"aquatic"],["Water Nymph",7720,8,4,"4=nymph",5,7,"aquatic"],["Siren",5724,4,2,"1:11=sing",3,4,"aquatic"],["Siren",7724,4,2,"1:11=sing",4,5,"aquatic"],["Diving Bell Spider",5727,2,1,"1:9=bellweb",2,5,"aquatic"],["Diving Bell Spider",7727,2,1,"1:9=bellweb",4,4,"aquatic"],["Bobbit Worm",5728,5,2,"1:4=detain",3,4,"aquatic+burrowed"],["Bobbit Worm",7728,5,2,"1:4=detain",5,5,"aquatic+burrowed"],["Arctic Dolphin",5729,6,2,"2=deepdive",6,4,"aquatic"],["Arctic Dolphin",7729,6,2,"2=deepdive",7,4,"aquatic"]], [["Photon",5801,0,1,"ownplay=quanta 8",1,1,"airborne"],["Ray of Light",7801,0,1,"quanta 8",1,1,"airborne"],["White Dragon",5802,12,2,"",10,10,"airborne"],["Light Dragon",7802,12,2,"",12,12,"airborne"],["Pegasus",5803,3,1,"1:9=dive",3,3,"airborne"],["Pegasus",7803,4,1,"1:9=dive",4,4,"airborne"],["Guardian Angel",5806,2,1,"1=mend",0,20,"airborne"],["Archangel",7806,6,1,"1=mend",7,7,"airborne"],["Crusader",5813,5,1,"2=endow",2,4,""],["Crusader",7813,5,1,"2=endow",3,5,""],["Monk",5815,4,2,"hit=disarm",3,5,""],["Monk",7815,3,2,"hit=disarm",3,5,""],["Surgeon",5816,2,1,"1=clear",2,3,"aquatic"],["Surgeon",7816,3,1,"1=clear",4,5,"aquatic"],["Martyr",5819,4,2,"owndmg=martyr",3,6,""],["Martyr",7819,3,2,"owndmg=martyr",3,7,""],["White Nymph",5820,9,4,"4=luciferin",6,9,""],["Light Nymph",7820,9,4,"3=luciferin",6,9,""],["Null Mantis",5826,7,1,"1:12=nullspell+prespell=evadespell",7,4,""],["Minor Null Mantis",7826,2,1,"2:12=nullspell+prespell=evadespell",4,2,""],["Byakko",5827,6,3,"blocked=virtue",7,2,""],["Byakko",7827,7,3,"blocked=virtue",9,3,""]], - [["Dragonfly",5901,1,1,"quanta 9",2,1,"airborne"],["Damselfly",7901,0,1,"quanta 9",2,1,"airborne"],["Wyrm",5902,4,1,"1=dive",3,4,"airborne"],["Wyrm",7902,4,1,"2=dive",5,3,"airborne"],["Azure Dragon",5903,9,2,"",9,6,"airborne"],["Sky Dragon",7903,12,2,"",13,6,"airborne"],["Firefly Queen",5907,6,2,"2:5=summon 5908",3,7,"airborne"],["Firefly Queen",7907,6,2,"2:5=summon 7908",3,7,"airborne"],["Firefly",5908,3,1,"quanta 8",3,2,"airborne+nocturnal"],["Firefly",7908,3,1,"quanta 6",4,3,"airborne+nocturnal"],["Gryphon",5915,6,1,"",7,3,"airborne"],["Gryphon",7915,6,1,"",7,5,"airborne"],["Whim",5916,2,1,"1=fickle",2,2,"airborne"],["Whim",7916,2,1,"1=fickle",3,3,"airborne"],["Fenghuang",5917,1,2,"2=ren+predeath=bounce",1,1,"airborne"],["Fenghuang",7917,1,2,"2=ren+predeath=bounce",2,1,"airborne"],["Owl",5918,5,2,"ownplay=reveal+turnstart=reveal",4,4,"airborne+nocturnal"],["Owl",7918,5,2,"ownplay=reveal+turnstart=reveal",5,5,"airborne+nocturnal"],["Blue Nymph",5920,9,4,"3=gas",4,5,""],["Air Nymph",7920,9,4,"3=gas",5,6,""],["Pixie",5921,3,2,"2:1=trick",1,2,"airborne"],["Pixie",7921,2,2,"2:1=trick",1,2,"airborne"],["Thunderbird",5925,3,1,"ownplay=drawpillar+1:10=millpillar",3,2,"airborne"],["Thunderbird",7925,3,1,"ownplay=drawpillar+1:10=millpillar",4,4,"airborne"]], + [["Dragonfly",5901,1,1,"quanta 9",2,1,"airborne"],["Damselfly",7901,0,1,"quanta 9",2,1,"airborne"],["Wyrm",5902,4,1,"1=dive",3,4,"airborne"],["Wyrm",7902,4,1,"2=dive",5,3,"airborne"],["Azure Dragon",5903,9,2,"",9,6,"airborne"],["Sky Dragon",7903,12,2,"",13,6,"airborne"],["Firefly Queen",5907,6,2,"2:5=summon 5908",3,7,"airborne"],["Firefly Queen",7907,6,2,"2:5=summon 7908",3,7,"airborne"],["Firefly",5908,2,1,"quanta 8",3,2,"airborne+nocturnal"],["Firefly",7908,2,1,"quanta 6",4,3,"airborne+nocturnal"],["Gryphon",5915,6,1,"",7,3,"airborne"],["Gryphon",7915,6,1,"",7,5,"airborne"],["Whim",5916,2,1,"1=fickle",2,2,"airborne"],["Whim",7916,2,1,"1=fickle",3,3,"airborne"],["Fenghuang",5917,1,2,"2=ren+predeath=bounce",1,1,"airborne"],["Fenghuang",7917,1,2,"2=ren+predeath=bounce",2,1,"airborne"],["Owl",5918,5,2,"ownplay=reveal+turnstart=reveal",4,4,"airborne+nocturnal"],["Owl",7918,5,2,"ownplay=reveal+turnstart=reveal",5,5,"airborne+nocturnal"],["Blue Nymph",5920,9,4,"3=gas",4,5,""],["Air Nymph",7920,9,4,"3=gas",5,6,""],["Pixie",5921,3,2,"2:1=trick",1,2,"airborne"],["Pixie",7921,2,2,"2:1=trick",1,2,"airborne"],["Thunderbird",5925,3,1,"ownplay=drawpillar+1:10=millpillar",3,2,"airborne"],["Thunderbird",7925,3,1,"ownplay=drawpillar+1:10=millpillar",4,4,"airborne"]], [["D\u00e9j\u00e0 Vu",6001,1,1,"1=deja",1,1,"airborne"],["D\u00e9j\u00e0 Vu",8001,1,1,"1=deja",2,2,"airborne"],["Fate Egg",6002,1,1,"1=hatch",0,1,""],["Fate Egg",8002,1,1,"1=hatch",0,1,""],["Devonian Dragon",6006,10,2,"",10,5,"airborne"],["Silurian Dragon",8006,11,2,"",13,4,"airborne"],["Anubis",6007,8,2,"2:12=quinttog",5,8,""],["Anubis",8007,8,2,"1:12=quinttog",5,8,""],["Scarab",6010,2,1,"1:3=devour+hp=swarm",2,0,"airborne"],["Scarab",8010,2,1,"1:3=devour+hp=swarm",3,0,"airborne"],["Pharaoh",6012,9,3,"2=summon 6010",4,9,""],["Pharaoh",8012,9,3,"2=summon 8010",4,9,""],["Dune Scorpion",6013,2,1,"hit=neuro",0,1,"poisonous"],["Dune Scorpion",8013,2,1,"hit=neuro",0,3,"poisonous"],["Ghost of the Past",6014,6,1,"owndiscard=obsession",7,4,""],["Ghost of the Past",8014,7,1,"owndiscard=obsession",9,4,""],["Golden Nymph",6020,8,4,"2=precognition",6,4,""],["Time Nymph",8020,8,4,"2=precognition",7,5,""],["Time Bomb",6021,1,2,"0=tick",0,3,""],["Time Terror",8021,2,2,"2=tick",1,6,""],["Clockwork Golem",6022,4,1,"1:3=wind+postauto=halveatk",8,4,"golem"],["Minor Clockwork Golem",8022,1,1,"1:3=wind+postauto=halveatk",4,8,"golem"],["Hognose",6027,7,1,"",4,3,"aquatic+adrenaline=1"],["Hognose",8027,6,1,"",4,3,"aquatic+adrenaline=1"]], [["Black Dragon",6101,10,2,"",10,5,"airborne+nocturnal"],["Obsidian Dragon",8101,12,2,"",12,7,"airborne+nocturnal"],["Devourer",6102,2,2,"1:4=burrow+siphon",0,2,"nocturnal"],["Pest",8102,2,2,"1:4=burrow+siphon",0,4,"nocturnal"],["Parasite",6103,2,1,"1:2=poison 1",2,1,"poisonous+nocturnal+aquatic"],["Bloodsucker",8103,2,1,"1:2=poison 1",3,1,"poisonous+nocturnal+aquatic"],["Minor Vampire",6109,3,1,"hit=vampire",2,2,"airborne+nocturnal"],["Vampire",8109,5,1,"hit=vampire",4,3,"airborne+nocturnal"],["Gargoyle",6111,5,1,"1:4=stoneform",6,3,"airborne+nocturnal"],["Gargoyle",8111,5,1,"1:4=stoneform",7,3,"airborne+nocturnal"],["Voodoo Doll",6112,2,1,"",0,16,"voodoo+nocturnal"],["Voodoo Doll",8112,2,1,"",0,20,"voodoo+nocturnal"],["Shadling",6115,2,2,"2=siphonstrength",0,2,"nocturnal"],["Shadling",8115,2,2,"2=siphonstrength",1,3,"nocturnal"],["Black Nymph",6120,8,4,"1=liquid",6,6,"nocturnal"],["Dark Nymph",8120,8,4,"1=liquid",7,7,"nocturnal"],["Shadow",6127,"1:0",1,"",5,0,"nocturnal"],["Tall Shadow",8127,"1:0",1,"",6,0,"nocturnal"],["Goon",6128,4,1,"destroy=loot",4,4,"nocturnal"],["Thug",8128,4,1,"destroy=loot",5,5,"nocturnal"],["Shark of Void",6129,6,2,"hit=reducemaxhp",5,6,"nocturnal+aquatic"],["Shark of Void",8129,6,2,"hit=reducemaxhp",6,7,"nocturnal+aquatic"],["Black Cat",6131,2,1,"owndeath=catlife",1,2,"lives=9+nocturnal"],["Black Cat",8131,2,1,"owndeath=catlife",2,2,"lives=9+nocturnal"]], [["Spark",6201,0,1,"owndeath=quanta 12",3,0,"airborne"],["Ball Lightning",8201,0,1,"owndeath=quanta 12",5,0,"airborne"],["Immortal",6204,5,1,"",4,3,"immaterial"],["Immortal",8204,5,1,"",5,3,"immaterial"],["Phase Dragon",6207,12,2,"",8,6,"immaterial+airborne"],["Phase Dragon",8207,13,2,"",10,6,"immaterial+airborne"],["Phase Spider",6208,3,1,"1:9=web",4,2,""],["Phase Recluse",8208,4,1,"1:9=web",7,2,""],["Psion",6213,4,2,"",4,3,"psionic"],["Psion",8213,4,2,"",5,4,"psionic"],["Phase Salvager",6214,1,1,"destroy=salvage",5,0,""],["Phase Salvager",8214,1,1,"destroy=salvage",7,0,""],["Blue Mage",6215,3,2,"0=siphonactive",3,3,""],["Blue Mage",8215,3,2,"0=siphonactive",3,5,""],["Phantom",6217,0,2,"",1,1,"psionic+nocturnal+token"],["Phantom",8217,0,2,"",2,1,"psionic+nocturnal+token"],["Byt",6218,1,1,"0=upload",0,6,""],["Byt",8218,1,1,"0=upload",0,9,""],["Turquoise Nymph",6220,8,4,"2=quint",7,5,""],["Aether Nymph",8220,8,4,"2=quint",8,5,""],["Phase Golem",6221,2,1,"",2,1,"immaterial+golem"],["Phase Golem",8221,2,1,"",3,1,"immaterial+golem"],["Space Whale",6226,6,1,"",8,10,"aquatic+frozen=2"],["Space Whale",8226,6,1,"",10,10,"aquatic+frozen=2"]]] diff --git a/src/rs/src/aieval.rs b/src/rs/src/aieval.rs index 6e85a576..211b7b54 100644 --- a/src/rs/src/aieval.rs +++ b/src/rs/src/aieval.rs @@ -329,13 +329,9 @@ fn eval_skill( ctx.get(weapon, Stat::cost) as f32 } } - Skill::disfield | Skill::v_disfield => { - (3 + quantamap.get(ctx.get_owner(c), etg::Chroma) as i32) as f32 - } - Skill::disshield | Skill::v_disshield => { - (2 + quantamap.get(ctx.get_owner(c), etg::Entropy) as i32) as f32 - } - Skill::dive | Skill::v_dive => { + Skill::disfield => (3 + quantamap.get(ctx.get_owner(c), etg::Chroma) as i32) as f32, + Skill::disshield => (2 + quantamap.get(ctx.get_owner(c), etg::Entropy) as i32) as f32, + Skill::dive => { if ctx.get_kind(c) == Kind::Spell { ctx.get_card(ctx.get(c, Stat::card)).attack as f32 } else { @@ -370,13 +366,8 @@ fn eval_skill( Skill::forceplay => 2.0, Skill::fractal => (20 - ctx.get_player(ctx.get_owner(c)).hand_len()) as f32 / 4.0, Skill::freedom => 4.0, - Skill::freeze | Skill::v_freeze | Skill::freezeperm => { - if card::Upped(ctx.get(c, Stat::card)) { - 3.0 - } else { - 3.5 - } - } + Skill::freeze(x) | Skill::v_freeze(x) => x as f32, + Skill::freezeperm => 4.0, Skill::fungusrebirth => 1.0, Skill::gas | Skill::v_gas => 5.0, Skill::give => 1.0, @@ -452,7 +443,7 @@ fn eval_skill( Skill::locket => 1.0, Skill::loot => 2.0, Skill::luciferin | Skill::v_luciferin => 3.0, - Skill::lycanthropy | Skill::v_lycanthropy => 4.0, + Skill::lycanthropy => 4.0, Skill::mend => 3.0, Skill::metamorph => 2.0, Skill::midas => 6.0, @@ -669,7 +660,7 @@ fn eval_skill( } } Skill::absorber => 5.0, - Skill::blockwithcharge | Skill::v_blockwithcharge => { + Skill::blockwithcharge => { ctx.get(c, Stat::charges) as f32 / (1 + ctx.count_creatures(ctx.get_foe(ctx.get_owner(c))) * 2) as f32 } @@ -1180,17 +1171,17 @@ pub fn eval(ctx: &Game) -> f32 { if shield != 0 { for &fsh in ctx.getSkill(shield, Event::Shield) { match fsh { - Skill::blockwithcharge | Skill::v_blockwithcharge => { + Skill::blockwithcharge => { wall.shield = Some(WallShield::Chargeblock(ctx.get(shield, Stat::charges))); } - Skill::disshield | Skill::v_disshield => { - if fsh == Skill::disshield || !ctx.get(pl, Flag::sanctuary) { + Skill::disshield => { + if ctx.cardset() == CardSet::Open || !ctx.get(pl, Flag::sanctuary) { wall.shield = Some(WallShield::Disentro(player.quanta(etg::Entropy) as i32)); } } - Skill::disfield | Skill::v_disfield => { - if fsh == Skill::disfield || !ctx.get(pl, Flag::sanctuary) { + Skill::disfield => { + if ctx.cardset() == CardSet::Open || !ctx.get(pl, Flag::sanctuary) { wall.shield = Some(WallShield::Dischroma( player.quanta.iter().map(|&q| q as i32).sum::(), )); diff --git a/src/rs/src/deckgen.rs b/src/rs/src/deckgen.rs index e56e39bd..f041a01b 100644 --- a/src/rs/src/deckgen.rs +++ b/src/rs/src/deckgen.rs @@ -13,7 +13,14 @@ use crate::skill::{Event, Skill}; #[cfg(target_arch = "wasm32")] #[cfg_attr(target_arch = "wasm32", wasm_bindgen)] -pub fn deckgen_duo(e1: i8, e2: i8, uprate: f64, markpower: i32, maxrarity: i32, seed: i32) -> Vec { +pub fn deckgen_duo( + e1: i8, + e2: i8, + uprate: f64, + markpower: i32, + maxrarity: i32, + seed: i32, +) -> Vec { let mut rng = Pcg32::seed_from_u64(seed as u64); let mut build = Builder::new(e2 as i32, uprate, markpower, &mut rng); for j in 0..=1 { @@ -99,7 +106,9 @@ pub fn deckgen_ai4(e1: i8, e2: i8, seed: i32) -> Vec { let mut deck = Vec::with_capacity(65); for i in 0..24 { let upped = rng.gen_bool(0.3); - deck.push(etg::PillarList[if i < 4 { 0 } else { e1 as usize }] - if upped { 2000 } else { 4000 }); + deck.push( + etg::PillarList[if i < 4 { 0 } else { e1 as usize }] - if upped { 2000 } else { 4000 }, + ); } for i in 0..40 { let upped = rng.gen_bool(0.3); diff --git a/src/rs/src/game.rs b/src/rs/src/game.rs index 99d599ac..e9ba4738 100644 --- a/src/rs/src/game.rs +++ b/src/rs/src/game.rs @@ -1369,7 +1369,7 @@ impl Game { id, &[ Skill::hatch, - Skill::freeze, + Skill::freeze(4), Skill::burrow, Skill::destroy, Skill::steal, @@ -1383,7 +1383,7 @@ impl Game { Skill::mutation, Skill::growth(2, 2), Skill::growth(2, 0), - Skill::poison(1), + Skill::poisonfoe(1), Skill::deja, Skill::endow, Skill::guard, @@ -1397,14 +1397,14 @@ impl Game { id, &[ Skill::v_hatch, - Skill::v_freeze, + Skill::v_freeze(3), Skill::v_burrow, Skill::destroy, Skill::v_steal, - Skill::v_dive, + Skill::dive, Skill::mend, Skill::paradox, - Skill::v_lycanthropy, + Skill::lycanthropy, Skill::poison(1), Skill::gpull, Skill::devour, @@ -1904,7 +1904,6 @@ impl Game { } pub fn addCreaCore(&mut self, id: i32, crea: i32, fromhand: bool) { - debug_assert!(id < crea); let pl = self.get_player_mut(id); for cr in Rc::make_mut(&mut pl.creatures).iter_mut() { if *cr == 0 { @@ -1920,7 +1919,6 @@ impl Game { } fn addPermCore(&mut self, id: i32, perm: i32, fromhand: bool) { - debug_assert!(id < perm); if self.get(perm, Flag::additive) { let code = card::AsShiny(self.get(perm, Stat::card), false); for &pr in self.get_player(id).permanents.clone().iter() { diff --git a/src/rs/src/lib.rs b/src/rs/src/lib.rs index f79af2bf..03023b69 100644 --- a/src/rs/src/lib.rs +++ b/src/rs/src/lib.rs @@ -53,9 +53,7 @@ mod test { let un = set.get(card::AsUpped(card.code as i32, false)); let up = set.get(card::AsUpped(card.code as i32, true)); if card.kind == Kind::Spell { - assert_eq!(card.skill.len(), 1); - assert!(card.skill[0].0 == Event::Cast); - assert_eq!(card.skill[0].1.len(), 1); + assert!(card.skill.iter().any(|&(k, v)| k == Event::Cast)); } } } diff --git a/src/rs/src/skill.rs b/src/rs/src/skill.rs index 003fa295..eee4fced 100644 --- a/src/rs/src/skill.rs +++ b/src/rs/src/skill.rs @@ -7,7 +7,7 @@ use std::iter::once; use std::num::{NonZeroU32, NonZeroU8}; use std::rc::Rc; -use crate::card; +use crate::card::{self, CardSet}; use crate::etg; use crate::game::{Entity, Flag, Fx, Game, Kind, Sfx, Stat, ThingData}; @@ -353,7 +353,7 @@ pub enum Skill { fractal, freedom, freeevade, - freeze, + freeze(u8), freezeperm, fungusrebirth, gaincharge2, @@ -378,6 +378,7 @@ pub enum Skill { icebolt, icegrowth(i8, i8), ignite, + ignitediscard, immolate(i16), improve, inertia, @@ -422,6 +423,7 @@ pub enum Skill { nymph, obsession, ouija, + ouijagrowth, pacify, pairproduce, paleomagnetism, @@ -471,6 +473,7 @@ pub enum Skill { regrade, reinforce, ren, + resummon, reveal, rewind, ricochet, @@ -550,7 +553,6 @@ pub enum Skill { v_bblood, v_blackhole, v_bless, - v_blockwithcharge, v_bow, v_bravery, v_burrow, @@ -560,9 +562,6 @@ pub enum Skill { v_cseed, v_dagger, v_dessication, - v_disfield, - v_disshield, - v_dive, v_divinity, v_drainlife(u8), v_dryspell, @@ -577,7 +576,7 @@ pub enum Skill { v_flyingweapon, v_freedom, v_freeevade, - v_freeze, + v_freeze(u8), v_gaincharge2, v_gas, v_gpullspell, @@ -595,7 +594,6 @@ pub enum Skill { v_liquid, v_lobotomize, v_luciferin, - v_lycanthropy, v_mitosis, v_mitosisspell, v_momentum, @@ -634,7 +632,6 @@ pub enum Skill { v_thorn, v_unburrow, v_upkeep, - v_virusinfect, v_virusplague, v_void, v_web, @@ -952,7 +949,7 @@ impl Skill { Self::flyingweapon => Tgt::playerweap, Self::forceplay => Tgt::forceplay, Self::fractal => Tgt::crea, - Self::freeze => Tgt::crea.mix(Tgt::weap).or(), + Self::freeze(_) => Tgt::crea.mix(Tgt::weap).or(), Self::freezeperm => Tgt::perm.mix(Tgt::nonstack).and(), Self::give => Tgt::notself.mix(Tgt::own.mix(Tgt::notplay).and()).and(), Self::golemhit => Tgt::notself.mix(Tgt::golem).and(), @@ -965,7 +962,7 @@ impl Skill { Self::improve => Tgt::crea, Self::innovation => Tgt::card, Self::jelly => Tgt::crea, - Self::jetstream => Tgt::airbornecrea, + Self::jetstream => Tgt::crea, Self::lightning => Tgt::crea.mix(Tgt::play).or(), Self::liquid => Tgt::crea, Self::livingweapon => Tgt::crea, @@ -1003,6 +1000,7 @@ impl Skill { .and(), Self::reinforce => Tgt::crea, Self::ren => Tgt::crea, + Self::resummon => Tgt::crea, Self::rewind => Tgt::crea, Self::sabbath => Tgt::play, Self::scatter => Tgt::play.mix(Tgt::card.mix(Tgt::notself).and()).or(), @@ -1025,7 +1023,7 @@ impl Skill { Self::unsummon => Tgt::crea, Self::unsummonquanta => Tgt::crea, Self::upload => Tgt::crea.mix(Tgt::weap).or(), - Self::virusinfect => Tgt::crea.mix(Tgt::play).or(), + Self::virusinfect => Tgt::crea, Self::virusplague => Tgt::play, Self::web => Tgt::airbornecrea, Self::wisdom => Tgt::wisdom, @@ -1042,7 +1040,7 @@ impl Skill { Self::v_earthquake => Tgt::pill, Self::v_endow => Tgt::weap, Self::v_firebolt(_) => Tgt::crea.mix(Tgt::play).or(), - Self::v_freeze => Tgt::crea, + Self::v_freeze(_) => Tgt::crea, Self::v_gpullspell => Tgt::crea, Self::v_guard => Tgt::crea, Self::v_holylight => Tgt::crea.mix(Tgt::play).or(), @@ -1059,7 +1057,6 @@ impl Skill { Self::v_readiness => Tgt::crea, Self::v_rewind => Tgt::crea, Self::v_steal => Tgt::foe.mix(Tgt::perm).and(), - Self::v_virusinfect => Tgt::crea, Self::v_web => Tgt::crea, Self::v_wisdom => Tgt::quinttog, _ => return None, @@ -1082,7 +1079,7 @@ impl Skill { | Skill::v_storm(x) => x as i32, Skill::summon(x) => x as i32, Skill::quanta(x) => x as i32, - Skill::v_drainlife(x) | Skill::v_firebolt(x) | Skill::v_icebolt(x) => x as i32, + Skill::freeze(x) | Skill::v_drainlife(x) | Skill::v_firebolt(x) | Skill::v_freeze(x) | Skill::v_icebolt(x) => x as i32, Skill::growth(x, _) | Skill::icegrowth(x, _) => x as i32, _ => 0, } @@ -1257,7 +1254,11 @@ impl Skill { } Self::blockwithcharge => { if ctx.maybeDecrStatus(c, Stat::charges) < 2 { - ctx.die(c); + if ctx.cardset() == CardSet::Open { + ctx.die(c); + } else { + ctx.remove(c); + } } data.dmg = 0; } @@ -1294,7 +1295,7 @@ impl Skill { ctx.get_player_mut(owner).deck_mut().extend(cards); } Self::boneyard => { - let skele = if ctx.cardset() == card::CardSet::Open { + let skele = if ctx.cardset() == CardSet::Open { card::Skeleton } else { card::v_Skeleton @@ -1387,7 +1388,7 @@ impl Skill { ctx.die(t); let truehp = ctx.truehp(t); let frozen = ctx.get(t, Stat::frozen); - let is_open = ctx.cardset() == card::CardSet::Open; + let is_open = ctx.cardset() == CardSet::Open; ctx.dmg( foe, (truehp * (if frozen != 0 { 151 } else { 101 }) + 99) / (truehp + 100), @@ -1433,7 +1434,7 @@ impl Skill { } } Self::chimera => { - let is_open = ctx.cardset() == card::CardSet::Open; + let is_open = ctx.cardset() == CardSet::Open; let mut hp = 0; let mut atk = 0; let owner = ctx.get_owner(c); @@ -1502,6 +1503,7 @@ impl Skill { ctx.die(t); let owner = ctx.get_owner(c); let foe = ctx.get_foe(owner); + let poison = ctx.get(t, Stat::poison) + ctx.get(t, Flag::poisonous) as i32; ctx.masscc( foe, if card::Upped(ctx.get(c, Stat::card)) { @@ -1511,8 +1513,10 @@ impl Skill { }, |ctx, cr| { ctx.spelldmg(cr, dmg); + ctx.poison(cr, poison); }, ); + ctx.spelldmg(foe, dmg); ctx.poison( foe, ctx.get(t, Stat::poison) + ctx.get(t, Flag::poisonous) as i32, @@ -1540,7 +1544,7 @@ impl Skill { if let Some(sk) = ctx.choose(&[ Skill::drainlife, Skill::firebolt, - Skill::freeze, + Skill::freeze(6), Skill::gpullspell, Skill::icebolt, Skill::poison(1), @@ -1729,27 +1733,36 @@ impl Skill { ctx.addCard(ctx.get_owner(c), c); } Self::disfield => { - let owner = ctx.get_owner(c); - if !ctx.spend(owner, etg::Chroma, data.dmg) { - for q in ctx.get_player_mut(owner).quanta.iter_mut() { - *q = 0; + if ctx.cardset() == CardSet::Open || !ctx.get(ctx.get_owner(c), Flag::sanctuary) { + let owner = ctx.get_owner(c); + if !ctx.spend(owner, etg::Chroma, data.dmg) { + for q in ctx.get_player_mut(owner).quanta.iter_mut() { + *q = 0; + } + ctx.remove(c); } - ctx.remove(c); + data.dmg = 0; } - data.dmg = 0; } Self::disshield => { - let owner = ctx.get_owner(c); - if !ctx.spend(owner, etg::Entropy, (data.dmg + 2) / 3) { - ctx.set_quanta(owner, etg::Entropy, 0); - ctx.remove(c); + if ctx.cardset() == CardSet::Open || !ctx.get(ctx.get_owner(c), Flag::sanctuary) { + let owner = ctx.get_owner(c); + if !ctx.spend(owner, etg::Entropy, (data.dmg + 2) / 3) { + ctx.set_quanta(owner, etg::Entropy, 0); + ctx.remove(c); + } + data.dmg = 0; } - data.dmg = 0; } Self::dive => { ctx.fx(c, Fx::Sfx(Sfx::dive)); ctx.fx(c, Fx::Dive); - ctx.set(c, Stat::dive, ctx.trueatk(c)); + let trueatk = ctx.trueatk(c); + if ctx.cardset() == CardSet::Open { + ctx.set(c, Stat::dive, trueatk); + } else { + ctx.incrStatus(c, Stat::dive, trueatk); + } } Self::divinity => { let owner = ctx.get_owner(c); @@ -1880,7 +1893,7 @@ impl Skill { let heal = ctx.count_creatures(owner); ctx.fx(c, Fx::Heal(heal)); ctx.dmg(owner, -heal); - if ctx.cardset() == card::CardSet::Open && !ctx.spend(owner, etg::Life, heal / 8) { + if ctx.cardset() == CardSet::Open && !ctx.spend(owner, etg::Life, heal / 8) { ctx.set_quanta(owner, etg::Life, 0); ctx.die(c); } @@ -2161,17 +2174,8 @@ impl Skill { } } } - Self::freeze | Self::v_freeze => { - ctx.freeze( - t, - if card::Upped(ctx.get(c, Stat::card)) { - 4 - } else { - 3 - }, - ); - } - Self::freezeperm => Skill::freeze.proc(ctx, c, t, data), + Self::freeze(amt) | Self::v_freeze(amt) => ctx.freeze(t, amt as i32), + Self::freezeperm => ctx.freeze(t, 3), Self::fungusrebirth => { ctx.transform(c, card::As(ctx.get(c, Stat::card), card::Fungus)); } @@ -2258,9 +2262,9 @@ impl Skill { Self::hatch => { ctx.fx(c, Fx::Hatch); let ccard = ctx.get(c, Stat::card); - if let Some(rcard) = - ctx.random_card(card::Upped(ccard), |ctx, card| card.kind == Kind::Creature) - { + if let Some(rcard) = ctx.random_card(card::Upped(ccard), |ctx, card| { + card.kind == Kind::Creature && card.code as i32 != card::AsShiny(ccard, false) + }) { ctx.transform(c, card::AsShiny(rcard.code as i32, card::Shiny(ccard))); ctx.set(c, Stat::casts, 1); } @@ -2323,6 +2327,11 @@ impl Skill { ctx.spelldmg(cr, 1); }); } + Self::ignitediscard => { + let owner = ctx.get_owner(c); + let foe = ctx.get_foe(owner); + ctx.spelldmg(foe, 5); + } Self::immolate(x) => { ctx.die(t); if !ctx.hasskill(t, Event::OwnAttack, Skill::singularity) @@ -2444,8 +2453,8 @@ impl Skill { [ Skill::steam, Skill::steam, - Skill::freeze, - Skill::freeze, + Skill::freeze(4), + Skill::freeze(5), Skill::nymph, Skill::nymph, ], @@ -2604,7 +2613,7 @@ impl Skill { Skill::destroy => 3, Skill::rage => 2, Skill::steam => 2, - Skill::freeze => 2, + Skill::freeze(_) => 2, Skill::nymph => 3, Skill::mend => 1, Skill::endow => 2, @@ -2687,8 +2696,12 @@ impl Skill { ctx.set(t, Stat::hp, 4); } Self::jetstream => { - ctx.dmg(t, 1); - ctx.incrAtk(t, 3); + if ctx.get(t, Flag::airborne) { + ctx.dmg(t, 1); + ctx.incrAtk(t, 4); + } else { + ctx.set(t, Flag::airborne, true); + } } Self::lightning => { ctx.fx(t, Fx::Lightning); @@ -2791,18 +2804,23 @@ impl Skill { ctx.buffhp(c, 5); ctx.incrAtk(c, 5); ctx.get_thing_mut(c).skill.remove(Event::Cast); - ctx.set(c, Flag::nocturnal, true); + if ctx.cardset() == CardSet::Open { + ctx.set(c, Flag::nocturnal, true); + } } Self::martyr => { let dmg = data.dmg; if dmg > 0 { ctx.incrAtk(c, dmg); + } else { + let owner = ctx.get_owner(c); + ctx.dmg(owner, dmg); } } Self::mend => { ctx.dmg( t, - if ctx.cardset() == card::CardSet::Open { + if ctx.cardset() == CardSet::Open { -10 } else { -5 @@ -2962,7 +2980,7 @@ impl Skill { ctx.incrStatus(owner, Stat::nova, 1); if ctx.get(owner, Stat::nova) >= 3 { let shiny = card::Shiny(ctx.get(c, Stat::card)); - let singu = if ctx.cardset() == card::CardSet::Open { + let singu = if ctx.cardset() == CardSet::Open { card::Singularity } else { card::v_Singularity @@ -2979,7 +2997,7 @@ impl Skill { ctx.incrStatus(owner, Stat::nova2, 1); if ctx.get(owner, Stat::nova2) >= 2 { let shiny = card::Shiny(ctx.get(c, Stat::card)); - let singu = if ctx.cardset() == card::CardSet::Open { + let singu = if ctx.cardset() == CardSet::Open { card::Singularity } else { card::v_Singularity @@ -3039,6 +3057,12 @@ impl Skill { ctx.addCard(foe, inst); } } + Self::ouijagrowth => { + let foe = ctx.get_foe(ctx.get_owner(c)); + let inst = ctx.new_thing(card::OuijaEssence, foe); + ctx.fx(inst, Fx::StartPos(c)); + ctx.addPerm(foe, inst); + } Self::pacify => { ctx.incrAtk(t, -ctx.trueatk(t)); } @@ -3106,7 +3130,7 @@ impl Skill { } Self::parallel => { ctx.fx(t, Fx::Parallel); - let is_open = ctx.cardset() == card::CardSet::Open; + let is_open = ctx.cardset() == CardSet::Open; if card::IsOf( ctx.get(t, Stat::card), if is_open { @@ -3357,7 +3381,7 @@ impl Skill { }; ctx.incrAtk(t, dmg); ctx.spelldmg(t, dmg); - if ctx.cardset() == card::CardSet::Open { + if ctx.cardset() == CardSet::Open { ctx.set(t, Stat::frozen, 0); } } @@ -3445,6 +3469,11 @@ impl Skill { ctx.addskills(t, Event::Predeath, &[Skill::bounce]); } } + Self::resummon => { + ctx.remove(t); + let owner = ctx.get_owner(t); + ctx.addCrea(owner, t); + } Self::reveal => { ctx.set(ctx.get_owner(c), Flag::precognition, true); } @@ -3495,6 +3524,9 @@ impl Skill { if !ctx.sanctified(t) { ctx.set(t, Flag::sabbath, true); } + ctx.masscc(t, 0, |ctx, cr| { + ctx.set(cr, Stat::casts, 0); + }); ctx.set(t, Flag::protectdeck, true); } Self::sadism => { @@ -3777,13 +3809,12 @@ impl Skill { } } Self::soulcatch => { - let amt: i32 = if ctx.cardset() == card::CardSet::Original - && !card::Upped(ctx.get(c, Stat::card)) - { - 2 - } else { - 3 - }; + let amt: i32 = + if ctx.cardset() == CardSet::Original && !card::Upped(ctx.get(c, Stat::card)) { + 2 + } else { + 3 + }; ctx.fx(c, Fx::Quanta(amt as u16, etg::Death as u8)); ctx.spend(ctx.get_owner(c), etg::Death, -amt); } @@ -4099,9 +4130,9 @@ impl Skill { Self::virtue => { ctx.buffhp(ctx.get_owner(c), data.blocked); } - Self::virusinfect | Self::v_virusinfect => { + Self::virusinfect => { ctx.die(c); - return Skill::poison(1).proc(ctx, c, t, data); + ctx.poison(t, 1); } Self::virusplague => { ctx.die(c); @@ -4144,9 +4175,9 @@ impl Skill { } } Self::wind => { - let stored = ctx.get(c, Stat::storedpower); + let stored = std::mem::replace(ctx.get_mut(c, Stat::storedpower), 0); ctx.incrAtk(c, stored); - ctx.set(c, Stat::storedpower, 0); + ctx.buffhp(c, stored); } Self::wings => { if !ctx.get(t, Flag::airborne | Flag::ranged) { @@ -4196,12 +4227,6 @@ impl Skill { } } } - Self::v_blockwithcharge => { - if ctx.maybeDecrStatus(c, Stat::charges) < 2 { - ctx.remove(c); - } - data.dmg = 0; - } Self::v_bravery => { let owner = ctx.get_owner(c); let foe = ctx.get_foe(owner); @@ -4235,7 +4260,7 @@ impl Skill { if let Some(sk) = ctx.choose(&[ Skill::v_drainlife(0), Skill::v_firebolt(0), - Skill::v_freeze, + Skill::v_freeze(3), Skill::v_gpullspell, Skill::v_icebolt(0), Skill::poison(1), @@ -4256,21 +4281,6 @@ impl Skill { ctx.spend(owner, etg::Water, gain); }); } - Self::v_disfield => { - if !ctx.get(ctx.get_owner(c), Flag::sanctuary) { - return Skill::disfield.proc(ctx, c, t, data); - } - } - Self::v_disshield => { - if !ctx.get(ctx.get_owner(c), Flag::sanctuary) { - return Skill::disshield.proc(ctx, c, t, data); - } - } - Self::v_dive => { - ctx.fx(c, Fx::Sfx(Sfx::dive)); - ctx.fx(c, Fx::Dive); - ctx.incrStatus(c, Stat::dive, ctx.trueatk(c)); - } Self::v_divinity => { let owner = ctx.get_owner(c); let amt = if ctx.get_player(owner).mark == etg::Light { @@ -4496,8 +4506,8 @@ impl Skill { [ Skill::v_steam, Skill::v_steam, - Skill::v_freeze, - Skill::v_freeze, + Skill::v_freeze(3), + Skill::v_freeze(3), Skill::v_nymph, Skill::v_nymph, ], @@ -4513,7 +4523,7 @@ impl Skill { Skill::summon(1908), Skill::summon(1908), Skill::snipe, - Skill::v_dive, + Skill::dive, Skill::v_gas, Skill::v_gas, ], @@ -4617,14 +4627,14 @@ impl Skill { Skill::destroy => 3, Skill::rage => 2, Skill::v_steam => 2, - Skill::v_freeze => 2, + Skill::v_freeze(_) => 2, Skill::v_nymph => 4, Skill::v_heal => 1, Skill::v_endow => 2, Skill::v_luciferin => 4, Skill::summon(_) => 2, Skill::snipe => 2, - Skill::v_dive => 2, + Skill::dive => 2, Skill::v_gas => 2, Skill::deja => 4, Skill::v_neuro => -2, @@ -4707,11 +4717,6 @@ impl Skill { ctx.get_thing_mut(t).flag.0 &= !(Flag::momentum | Flag::psionic | Flag::mutant); ctx.set(t, Stat::casts, 0); } - Self::v_lycanthropy => { - ctx.buffhp(c, 5); - ctx.incrAtk(c, 5); - ctx.get_thing_mut(c).skill.remove(Event::Cast); - } Self::v_mitosisspell => { ctx.lobo(t); let card = ctx.get_card(ctx.get(t, Stat::card)); @@ -5045,7 +5050,7 @@ impl Skill { let mark = ctx.get_player(ctx.get_owner(c)).mark; if mark != etg::Gravity && mark != etg::Earth { 0 - } else if ctx.cardset() == card::CardSet::Open { + } else if ctx.cardset() == CardSet::Open { 2 } else { 1 diff --git a/src/skillText.js b/src/skillText.js index 312a9452..5e64d90f 100644 --- a/src/skillText.js +++ b/src/skillText.js @@ -74,7 +74,10 @@ const data = { blackhole: 'Remove 3 quanta per element from target player. Heal 1 per quanta removed.', bless: 'Target gains 3|3.', - blockwithcharge: 'Each stack fully blocks one attacker & is then destroyed.', + blockwithcharge: c => + `Each stack fully blocks one attacker${ + c.Cards.cardSet === 'Open' ? ' & is then destroyed' : '' + }.`, bloodmoon: 'Aquatic creatures gain "Gain 1:8 when it attacks."\nGolems gain "Damage dealt by this card also reduces the defender\'s maximum HP."\nNocturnal creatures gain "Heal yourself equal to the damage dealt by this card."', bolsterintodeck: 'Add 3 copies of target creature on top of your deck.', @@ -122,8 +125,8 @@ const data = { 'Remove statuses (positive & negative) from target creature or permanent, & heal target creature 1.', cold: '30% chance to freeze non-ranged attackers for 3 turns.', corpseexplosion: [ - 'Sacrifice one of your creatures to deal 1 spell damage to all creatures. Increase damage by 1 for every 8 HP of the sacrifice. Poisonous sacrifices poison opponent.', - 'Sacrifice one of your creatures to deal 1 spell damage to all enemy creatures. Increase damage by 1 for every 8 HP of the sacrifice. Poisonous sacrifices poison opponent.', + 'Sacrifice one of your creatures to deal 1 spell damage to all creatures. Increase damage by 1 for every 8 HP of the sacrifice. Poisonous sacrifices poison. Also affect opponent.', + 'Sacrifice one of your creatures to deal 1 spell damage to all enemy creatures. Increase damage by 1 for every 8 HP of the sacrifice. Poisonous sacrifices poison. Also affect opponent.', ], counter: 'When this creature is attacked by another creature, if this creature is able to attack, it deals its damage to the attacking creature.', @@ -132,7 +135,7 @@ const data = { creatureupkeep: "Whenever a creature attacks, its owner must pay one quanta of the creature's element or the creature is destroyed.", cseed: - 'Inflict a random effect on target creature. Possible effects include damage, lobotomize, parallel universe, gravity pull, rewind, & freeze.', + 'Inflict a random effect on target creature. Possible effects include damage, lobotomize, parallel universe, gravity pull, rewind, & freeze 6.', cseed2: 'Inflict a random effect on target card. All existing effects are possible.', deadalive: { @@ -163,9 +166,12 @@ const data = { 'Deal 1 damage to target creature & return this card to your hand. Modified stats & statuses remain on the card when it is played again.', disfield: 'Block all damage from attackers. Consumes 1:0 per damage blocked.', disshield: - 'Block all damage from attackers.. Consume 1:1 per 3 damage blocked. Not prevented by Sanctuary.', + 'Block all damage from attackers. Consume 1:1 per 3 damage blocked.', divinity: 'Add 24 to maximum health & heal yourself 16.', - dive: "Double this creature's strength through next attack. Does not stack.", + dive: c => + `Double this creature's strength through next attack.${ + c.Cards.cardSet === 'Open' ? ' Does not stack.' : '' + }`, dmgproduce: 'Generate 1:0 for each damage dealt by this card.', draft: "If target creature is airborne, it loses airborne & takes 3 spell damage. If target creature isn't airborne, it becomes airborne & gains 3|0", @@ -238,10 +244,8 @@ const data = { 'Fill your hand with copies of target creature. Remove all remaining 1:12.', freeevade: "If your opponent has a shield, your airborne creatures have a 25% chance to bypass the shield. Otherwise, your creatures have a 25% chance to deal 50% more damage. Your creatures have 20% chance to evade opponent's targeted spells & skills.", - freeze: c => - `Freeze target creature or weapon for ${ - c.upped ? 4 : 3 - } turns. Frozen cards cannot attack or use active skills, & do not activate per-turn skills.`, + freeze: x => c => + `Freeze target creature or weapon for ${x} turns. Frozen cards cannot attack or use active skills, & do not activate per-turn skills.`, freezeperm: c => `Freeze target non-stacking permanent for ${ c.upped ? 4 : 3 @@ -282,7 +286,7 @@ const data = { halveatk: "This creature's strength is halved after it attacks.", hasten: { cast: 'Draw a card.', - owndiscard: 'When you discard this card, draw a card.', + owndiscard: 'When discarded, you draw a card.', }, hatch: 'Transform this creature into a random creature. Caster can be reactivated.', @@ -301,6 +305,7 @@ const data = { 'Deal 2 spell damage plus one per 5:7 you have after playing this card. 25% plus 5% per point of damage chance to freeze target.', ignite: 'Deal 20 spell damage to opponent. Deal 1 spell damage to each creature.', + ignitediscard: 'When discarded, deal 5 spell damage to opponent', immolate: x => `Sacrifice a creature you control. Gain ${ +x + 1 @@ -316,7 +321,8 @@ const data = { 'Destroy all shards in your hand to play a Shard Golem with stats and skills based on the shards destroyed.', jelly: "Target creature becomes a 7|4 Pink Jelly with an active ability that turns additional creatures into Pink Jellies. That ability costs 4 quanta matching target creature's element. 1:0 creatures have an ability cost of 12:0", - jetstream: 'Target airborne creature gains 3|-1.', + jetstream: + 'Target airborne creature gains 3|-1. Target non-airborne creature gains airborne.', lightning: 'Deal 5 spell damage to target creature or player.', liquid: 'Give target creature 1 poison counter. Target creature\'s skills are replaced with "Heal yourself equal to the damage dealt by this card."', @@ -336,8 +342,12 @@ const data = { }, luciferin: 'Your creatures without skills gain "Gain 1:8 when it attacks."\nHeal yourself 10.\nRemoves cloak.', - lycanthropy: 'Remove this ability and gain 5|5 and become nocturnal.', - martyr: 'Gains 1|0 for every point of damage this card receives.', + lycanthropy: c => + `Remove this ability and gain 5|5${ + c.Cards.cardSet === 'Open' ? ' and become nocturnal' : '' + }.`, + martyr: + 'Gains 1|0 for every point of damage this card receives. Heals its owner when healed.', mend: c => `Heal target creature ${c.Cards.cardSet === 'Open' ? 10 : 5}.`, metamorph: "Change your mark to target's element.\nIncrease your mark power by 1.", @@ -377,10 +387,9 @@ const data = { nymph: "Transform target pillar, pendulum, or tower into a Nymph matching target's element.", obsession: c => - `When this card is discarded, its owner receives ${ - c.upped ? 13 : 10 - } spell damage.`, + `When discarded, its owner receives ${c.upped ? 13 : 10} spell damage.`, ouija: "Whenever a creature dies, add an Ouija Essence to opponent's hand.", + ouijagrowth: "Summon an Ouija Essence on opponent's side of the field.", pacify: "Set target creature or weapon's strength to 0.", pairproduce: 'Your pillars, pendulums, and towers trigger as if end of turn.', paleomagnetism: c => @@ -478,6 +487,7 @@ const data = { reinforce: "Target creature gains strength and HP equal to this creature's strength and HP. Destroy this creature.", ren: 'Target creature gains: "When dying instead return to owner\'s hand. Modified state besides this effect remains when played again."', + resummon: 'Target creature is summoned again as is.', rewind: "Put target creature on top of its owner's deck. Removes all bonuses and modifiers on target creature.", reveal: { @@ -544,7 +554,7 @@ const data = { } HP. Consume all non-1:2 quanta. For two turns, damage heals you and healing damages you.`, soulcatch: c => `Whenever a creature dies, gain ${ - c.cardSet === 'Original' && !c.upped ? 2 : 3 + c.Cards.cardSet === 'Original' && !c.upped ? 2 : 3 }:2.`, spores: c => `When this creature dies, summon 2 ${c.upped ? 'Toxic ' : ''}Spores.`, @@ -623,7 +633,7 @@ const data = { yoink: "Remove target card from opponent's hand and add it to your hand, or draw from target opponent's deck.", v_accretion: - "Destroy target permanent & gain 0|15. Return to owner's hand as a Blackhole if health exceeds 45", + 'Destroy target permanent & gain 0|10. If using this ability leaves this creature at more than 45 HP, destroy this creature & add a black hole to your hand.', v_aflatoxin: 'Apply 2 poison to target. When target dies, it turns into a malignant cell.', v_antimatter: 'Invert strength of target.', @@ -631,7 +641,6 @@ const data = { v_blackhole: 'Absorb 3 quanta per element from target player. Heal 1 per absorbed quantum.', v_bless: 'Target gains 3|3.', - v_blockwithcharge: 'Block attack per stack.', v_bravery: 'Foe draws 2, 3 if own mark is 1:6, cards, you draw an equal amount of cards.', v_burrow: 'Burrow this creature. Strength is halved while burrowed.', @@ -643,10 +652,7 @@ const data = { v_decrsteam: 'Decrement strength from steam after attack.', v_dessication: "Deal 2 damage to opponent's creatures. Gain 1:7 per damage dealt. Removes cloak", - v_disfield: 'Absorb damage. Consume 1:0 per damage absorbed.', - v_disshield: 'Absorb damage. Consume 1:1 per 3 damage absorbed.', v_divinity: 'Add 24 to maximum health if mark 1:8, otherwise 16 & heal same.', - v_dive: 'Double strength until next attack.', v_drainlife: _ => 'Drain 2HP from target, plus an extra 2HP per 10:11 remaining.', v_dryspell: [ @@ -663,10 +669,8 @@ const data = { v_flyingweapon: 'Own weapon becomes a flying creature.', v_freedom: 'Your airborne creatures have a 25% chance to deal 50% more damage, bypass shields and evade targeting if 1:9.', - v_freeze: c => - `Freeze target for ${ - c.upped ? 4 : 3 - } turns. Being frozen disables attacking & per turn skills`, + v_freeze: x => c => + `Freeze target for ${x} turns. Being frozen disables attacking & per turn skills`, v_gaincharge2: 'Gain 2 stacks per death.', v_gas: 'Summon an Unstable Gas.', v_gpullspell: 'Target creature intercepts attacks directed to its owner.', @@ -686,7 +690,6 @@ const data = { v_lobotomize: 'Remove skills from target creature.', v_luciferin: 'All your creatures without skills gain 1:8 when attacking. Heal self 10.', - v_lycanthropy: 'Gain 5|5.', v_mitosis: 'Summon a daughter creature.', v_mitosisspell: 'Non-weapon creature gains active "Mitosis: Summon a daughter creature" costing target\'s card\'s cost.', @@ -741,7 +744,6 @@ const data = { v_swarm: 'Increment hp per scarab.', v_thorn: '75% chance to poison attackers.', v_upkeep: c => 'Consumes 1:' + c.element, - v_virusinfect: 'Sacrifice self & poison target creature.', v_virusplague: "Sacrifice self & poison foe's creatures.", v_void: "Reduce foe's maximum HP by 2, 3 if mark is 1:11", v_web: 'Target creature loses airborne.', diff --git a/src/vanilla/Cards.json b/src/vanilla/Cards.json index 7f426caf..4d810ef4 100644 --- a/src/vanilla/Cards.json +++ b/src/vanilla/Cards.json @@ -14,8 +14,8 @@ [["Lobotomizer",2206,3,"2=v_lobotomize",5,4,"",6],["Electrocutor",4206,3,"1=v_lobotomize",5,4,"",18]]], [["Name","Code","Cost","Skill","Health","Status","R"], [["Shield",1036,1,"",1,"",2],["Tower Shield",3036,5,"",2,"",17]], - [["Dissipation Shield",1104,3,"shield=v_disshield",0,"",3],["Dissipation Field",3104,3,"shield=v_disfield",0,"",17]], - [["Skull Shield",1205,3,"shield=v_skull",1,"",2],["Skull Shield",3205,2,"shield=v_skull",1,"",17],["Bone Wall",1211,7,"shield=v_blockwithcharge+death=v_gaincharge2",0,"stackable+charges=7",3],["Bone Wall",3211,5,"shield=v_blockwithcharge+death=v_gaincharge2",0,"stackable+charges=7",17]], + [["Dissipation Shield",1104,3,"shield=disshield",0,"",3],["Dissipation Field",3104,3,"shield=disfield",0,"",17]], + [["Skull Shield",1205,3,"shield=v_skull",1,"",2],["Skull Shield",3205,2,"shield=v_skull",1,"",17],["Bone Wall",1211,7,"shield=blockwithcharge+death=v_gaincharge2",0,"stackable+charges=7",3],["Bone Wall",3211,5,"shield=blockwithcharge+death=v_gaincharge2",0,"stackable+charges=7",17]], [["Gravity Shield",1305,5,"shield=weight",0,"",3],["Gravity Shield",3305,3,"shield=weight",0,"",17]], [["Titanium Shield",1404,4,"",2,"",3],["Diamond Shield",3404,6,"",3,"",17]], [["Thorn Carapace",1507,7,"shield=v_thorn",0,"",3],["Spine Carapace",3507,7,"shield=v_thorn",1,"",17],["Emerald Shield",1508,5,"",1,"immaterial+reflective",4],["Jade Shield",3508,7,"",2,"immaterial+reflective",17]], @@ -61,7 +61,7 @@ [["Plate Armor",1405,1,"v_platearmor 3",2],["Heavy Armor",3405,1,"v_platearmor 6",17],["Enchant Artifact",1410,2,"enchant",3],["Protect Artifact",3410,1,"enchant",17],["Earthquake",1411,3,"v_earthquake",3],["Quicksand",3411,2,"v_earthquake",17],["Stone Skin",1412,2,"v_sskin",3],["Granite Skin",3412,1,"v_sskin",17],["Basilisk Blood",1413,2,"v_bblood",3],["Basilisk Blood",3413,1,"v_bblood",17],["Shard of Integrity",1430,2,"v_integrity",6],["Shard of Integrity",3430,1,"v_integrity",18]], [["Heal",1506,3,"v_heal",2],["Improved Heal",3506,2,"v_heal",17],["Adrenaline",1511,4,"adrenaline",3],["Epinephrine",3511,3,"adrenaline",17],["Mitosis",1513,5,"v_mitosisspell",3],["Mitosis",3513,4,"v_mitosisspell",17]], [["Fire Bolt",1604,3,"v_firebolt 3",2],["Fire Lance",3604,1,"v_firebolt 1",17],["Deflagration",1606,3,"destroy",2],["Explosion",3606,2,"destroy",17],["Rain of Fire",1608,7,"v_storm 3",3],["Fire Storm",3608,5,"v_storm 3",17],["Immolation",1609,0,"immolate 5",2],["Cremation",3609,0,"immolate 7",17],["Rage Potion",1611,3,"rage",3],["Rage Elixir",3611,3,"rage",17],["Shard of Bravery",1630,2,"v_bravery",6],["Shard of Bravery",3630,1,"v_bravery",18]], - [["Freeze",1703,1,"v_freeze",2],["Congeal",3703,1,"v_freeze",17],["Ice Bolt",1704,2,"v_icebolt 2",3],["Ice Lance",3704,1,"v_icebolt 1",17],["Purify",1706,2,"purify",2],["Purify",3706,1,"purify",17],["Nymph's Tears",1712,7,"v_nymph",3],["Nymph's Tears",3712,6,"v_nymph",17],["Dry Spell",1715,2,"v_dryspell",2],["Dessication",3715,4,"v_dessication",17]], + [["Freeze",1703,1,"v_freeze 3",2],["Congeal",3703,1,"v_freeze 4",17],["Ice Bolt",1704,2,"v_icebolt 2",3],["Ice Lance",3704,1,"v_icebolt 1",17],["Purify",1706,2,"purify",2],["Purify",3706,1,"purify",17],["Nymph's Tears",1712,7,"v_nymph",3],["Nymph's Tears",3712,6,"v_nymph",17],["Dry Spell",1715,2,"v_dryspell",2],["Dessication",3715,4,"v_dessication",17]], [["Holy Light",1804,1,"v_holylight",2],["Holy Flash",3804,0,"v_holylight",17],["Blessing",1807,3,"v_bless",3],["Improved Blessing",3807,2,"v_bless",17],["Miracle",1810,15,"miracle",6],["Improved Miracle",3810,12,"miracle",18],["Luciferin",1811,"2:0","v_luciferin",3],["Luciferase",3811,"1:0","v_luciferin",17],["Shard of Divinity",1830,3,"v_divinity",6],["Shard of Divinity",3830,2,"v_divinity",18]], [["Thunderstorm",1905,3,"v_storm 2",2],["Lightning Storm",3905,2,"v_storm 2",17],["Flying Weapon",1906,1,"v_flyingweapon",3],["Animate Weapon",3906,"1:0","v_flyingweapon",17],["Shockwave",1911,2,"swave",3],["Shockwave",3911,1,"swave",17],["Sky Blitz",1913,9,"skyblitz",3],["Sky Blitz",3913,8,"skyblitz",17]], [["Reverse Time",2004,2,"v_rewind",2],["Rewind",4004,1,"v_rewind",17],["Precognition",2011,2,"precognition",2],["Precognition",4011,1,"precognition",17],["Shard of Readiness",2030,3,"v_readiness",6],["Shard of Readiness",4030,2,"v_readiness",18]], @@ -69,15 +69,15 @@ [["Lightning",2202,2,"lightning",2],["Thunderbolt",4202,1,"lightning",17],["Parallel Universe",2203,7,"parallel",3],["Twin Universe",4203,6,"parallel",17],["Quintessence",2209,4,"quint",3],["Quintessence",4209,3,"quint",17],["Fractal",2210,10,"fractal",3],["Fractal",4210,9,"fractal",17],["Silence",2212,3,"v_silence",3],["Silence",4212,2,"v_silence",17],["Shard of Wisdom",2230,3,"v_wisdom",6],["Shard of Wisdom",4230,2,"v_wisdom",18]]], [["Name","Code","Cost","Skill","Attack","Health","Status","R"], [["Malignant Cell",1032,0,"postauto=v_mitosis",1,1,"token",0],["Malignant Cell",3032,0,"postauto=v_mitosis",1,1,"token",0]], - [["Maxwell's Demon",1101,5,"2=paradox",3,2,"airborne",3],["Maxwell's Demon",3101,5,"2=paradox",3,5,"airborne",17],["Abomination",1102,5,"",5,5,"",2],["Micro Abomination",3102,1,"",2,4,"",17],["Purple Dragon",1103,10,"",10,5,"airborne",4],["Amethyst Dragon",3103,11,"",12,6,"airborne",17],["Lycanthrope",1105,2,"2:11=v_lycanthropy",1,1,"",3],["Werewolf",3105,2,"1:11=v_lycanthropy",1,1,"",17],["Fallen Elf",1110,4,"1:5=v_mutation",3,2,"",2],["Fallen Druid",3110,5,"1:5=v_improve",3,3,"",17],["Schr\u00f6dinger's Cat",1114,1,"1=deadalive",1,1,"",4],["Schr\u00f6dinger's Cat",3114,1,"1=deadalive",1,3,"",17],["Singularity",1115,10,"singularity",-1,3,"token",2],["Singularity",3115,10,"singularity",-7,5,"token",17],["Purple Nymph",1120,9,"4=v_antimatter",3,1,"",15],["Entropy Nymph",3120,9,"4=v_antimatter",3,2,"",20]], - [["Bone Dragon",1201,10,"",10,5,"airborne+nocturnal",4],["Ivory Dragon",3201,10,"",11,5,"airborne+nocturnal",17],["Virus",1202,1,"0=v_virusinfect",1,1,"airborne+nocturnal",2],["Retrovirus",3202,2,"0=v_virusplague",1,1,"airborne+nocturnal",17],["Flesh Spider",1203,3,"1:9=v_web",3,3,"nocturnal",2],["Flesh Recluse",3203,3,"1:9=v_web",6,3,"nocturnal",17],["Vulture",1204,3,"death=growth 1 1",0,1,"airborne+nocturnal",3],["Condor",3204,3,"death=growth 1 1",1,2,"airborne+nocturnal",17],["Skeleton",1206,1,"",1,1,"nocturnal",1],["Elite Skeleton",3206,1,"",2,2,"nocturnal",17],["Mummy",1213,4,"",5,3,"nocturnal",2],["Elite Mummy",3213,3,"",5,3,"nocturnal",17],["Deathstalker",1214,2,"hit=poison 2",0,1,"poisonous+nocturnal",2],["Deathstalker",3214,2,"hit=poison 2",0,3,"poisonous+nocturnal",17],["Grey Nymph",1220,8,"1=v_aflatoxin",7,8,"nocturnal",15],["Death Nymph",3220,8,"1=v_aflatoxin",8,9,"nocturnal",20]], + [["Maxwell's Demon",1101,5,"2=paradox",3,2,"airborne",3],["Maxwell's Demon",3101,5,"2=paradox",3,5,"airborne",17],["Abomination",1102,5,"",5,5,"",2],["Micro Abomination",3102,1,"",2,4,"",17],["Purple Dragon",1103,10,"",10,5,"airborne",4],["Amethyst Dragon",3103,11,"",12,6,"airborne",17],["Lycanthrope",1105,2,"2:11=lycanthropy",1,1,"",3],["Werewolf",3105,2,"1:11=lycanthropy",1,1,"",17],["Fallen Elf",1110,4,"1:5=v_mutation",3,2,"",2],["Fallen Druid",3110,5,"1:5=v_improve",3,3,"",17],["Schr\u00f6dinger's Cat",1114,1,"1=deadalive",1,1,"",4],["Schr\u00f6dinger's Cat",3114,1,"1=deadalive",1,3,"",17],["Singularity",1115,10,"singularity",-1,3,"token",2],["Singularity",3115,10,"singularity",-7,5,"token",17],["Purple Nymph",1120,9,"4=v_antimatter",3,1,"",15],["Entropy Nymph",3120,9,"4=v_antimatter",3,2,"",20]], + [["Bone Dragon",1201,10,"",10,5,"airborne+nocturnal",4],["Ivory Dragon",3201,10,"",11,5,"airborne+nocturnal",17],["Virus",1202,1,"0=virusinfect",1,1,"airborne+nocturnal",2],["Retrovirus",3202,2,"0=v_virusplague",1,1,"airborne+nocturnal",17],["Flesh Spider",1203,3,"1:9=v_web",3,3,"nocturnal",2],["Flesh Recluse",3203,3,"1:9=v_web",6,3,"nocturnal",17],["Vulture",1204,3,"death=growth 1 1",0,1,"airborne+nocturnal",3],["Condor",3204,3,"death=growth 1 1",1,2,"airborne+nocturnal",17],["Skeleton",1206,1,"",1,1,"nocturnal",1],["Elite Skeleton",3206,1,"",2,2,"nocturnal",17],["Mummy",1213,4,"",5,3,"nocturnal",2],["Elite Mummy",3213,3,"",5,3,"nocturnal",17],["Deathstalker",1214,2,"hit=poison 2",0,1,"poisonous+nocturnal",2],["Deathstalker",3214,2,"hit=poison 2",0,3,"poisonous+nocturnal",17],["Grey Nymph",1220,8,"1=v_aflatoxin",7,8,"nocturnal",15],["Death Nymph",3220,8,"1=v_aflatoxin",8,9,"nocturnal",20]], [["Sapphire Charger",1301,5,"v_noluci",4,5,"momentum",3],["Elite Charger",3301,5,"v_noluci",7,5,"momentum",17],["Armagio",1302,5,"1=gpull",1,25,"",3],["Elite Armagio",3302,5,"1=gpull",2,30,"",17],["Graviton Mercenary",1303,3,"",3,5,"",2],["Graviton Guard",3303,2,"",4,7,"",17],["Colossal Dragon",1304,10,"",7,15,"airborne",4],["Massive Dragon",3304,11,"",8,30,"airborne",17],["Otyugh",1307,4,"1=devour",0,3,"",3],["Elite Otyugh",3307,5,"1=devour",0,5,"",17],["Graviton Fire Eater",1310,2,"1:6=growth 2 0",0,5,"",3],["Graviton Firemaster",3310,1,"1:6=growth 2 0",0,6,"",17],["Graviton Salvager",1315,1,"destroy=v_salvage",1,5,"",2],["Graviton Salvager",3315,1,"destroy=v_salvage",2,5,"",17],["Amber Nymph",1320,8,"3=v_blackhole",1,3,"",15],["Gravity Nymph",3320,8,"3=v_blackhole",1,4,"",20],["Shard of Focus",1330,6,"0=v_accretion",0,1,"",6],["Shard of Focus",3330,4,"0=v_accretion",0,1,"",18]], [["Antlion",1401,2,"1=v_burrow",2,3,"",2],["Elite Antlion",3401,2,"1=v_burrow",4,4,"",17],["Hematite Golem",1402,4,"",4,6,"",2],["Steel Golem",3402,4,"",6,9,"",17],["Stone Dragon",1403,10,"",8,10,"airborne",4],["Basalt Dragon",3403,12,"",10,12,"airborne",17],["Gnome Rider",1406,1,"quanta 4",1,2,"",2],["Gnome Gemfinder",3406,0,"quanta 4",1,2,"",17],["Graboid",1408,3,"1:10=v_evolve",2,3,"burrowed",3],["Elite Graboid",3408,3,"1:10=v_evolve",2,3,"burrowed",17],["Shrieker",1409,8,"1=v_burrow",8,3,"",3],["Elite Shrieker",3409,8,"1=v_burrow",10,4,"",17],["Iridium Warden",1414,1,"1=v_guard",0,3,"",2],["Vanadium Warden",3414,1,"1=v_guard",0,6,"",17],["Shard Golem",1415,8,"",0,0,"token",0],["Shard Golem",3415,8,"",0,0,"token",0],["Auburn Nymph",1420,8,"3=v_bblood",4,8,"",15],["Earth Nymph",3420,8,"3=v_bblood",5,9,"",20]], [["Emerald Dragon",1501,10,"",10,6,"airborne",4],["Jade Dragon",3501,12,"",12,9,"airborne",17],["Horned Frog",1502,2,"",3,3,"",2],["Giant Frog",3502,2,"",5,3,"",17],["Rustler",1503,1,"1:8=photosynthesis",1,1,"airborne",2],["Leaf Dragon",3503,1,"1:8=photosynthesis",1,3,"airborne",17],["Cockatrice",1504,3,"",4,4,"",2],["Elite Cockatrice",3504,3,"",5,5,"",17],["Forest Spirit",1505,2,"1:7=growth 2 2",1,1,"airborne",2],["Forest Spectre",3505,3,"1:7=growth 2 2",2,3,"airborne",17],["Forest Scorpion",1512,3,"hit=poison 1",1,2,"poisonous",2],["Scorpion",3512,3,"hit=poison 1",2,2,"poisonous",17],["Green Nymph",1520,8,"2=adrenaline",3,6,"",15],["Life Nymph",3520,8,"2=adrenaline",3,7,"",20]], [["Ash Eater",1601,1,"",2,1,"",2],["Brimstone Eater",3601,1,"quanta 6",2,1,"",17],["Crimson Dragon",1602,10,"",12,3,"airborne",4],["Ruby Dragon",3602,12,"",15,2,"airborne",17],["Fire Spirit",1603,2,"1=growth 2 0",0,2,"airborne",2],["Fire Spectre",3603,3,"1=growth 2 0",2,3,"airborne",17],["Lava Golem",1610,5,"1:4=growth 2 2",5,1,"",3],["Lava Destroyer",3610,5,"1:4=growth 2 2",7,1,"",17],["Phoenix",1612,7,"owndeath=v_phoenix",7,1,"airborne",4],["Minor Phoenix",3612,2,"owndeath=v_phoenix",4,1,"airborne",17],["Ash",1613,7,"1=v_rebirth",0,5,"token",0],["Ash",3613,2,"1=v_rebirth",0,5,"token",0],["Seraph",1614,9,"1:8=v_dshield",10,1,"airborne",4],["Seraph",3614,9,"1:8=v_dshield",12,1,"airborne",17],["Red Nymph",1620,8,"3=rage",1,6,"",15],["Fire Nymph",3620,8,"4=rage",1,7,"",20]], - [["Chrysaora",1701,1,"1:2=poisonfoe 1",0,2,"poisonous+aquatic",2],["Physalia",3701,1,"1:2=poisonfoe 1",2,2,"poisonous+aquatic",17],["Blue Crawler",1702,3,"",3,3,"aquatic",2],["Abyss Crawler",3702,4,"",6,6,"aquatic",17],["Arctic Squid",1707,3,"2=v_freeze",1,2,"aquatic",8],["Arctic Octopus",3707,3,"2=v_freeze",1,2,"aquatic",18],["Ice Dragon",1709,10,"",9,6,"airborne+aquatic",4],["Arctic Dragon",3709,11,"",13,5,"airborne+aquatic",17],["Toadfish",1710,5,"1:9=poison 1",6,4,"poisonous+aquatic",2],["Puffer Fish",3710,5,"hit=poison 1",3,5,"poisonous+aquatic",17],["Mind Flayer",1711,2,"1:12=v_lobotomize",2,2,"aquatic",3],["Ulitharid",3711,3,"1:12=v_lobotomize",3,4,"aquatic",17],["Steam Machine",1714,4,"2:6=v_steam",0,6,"aquatic",3],["Steam Machine",3714,5,"2:6=v_steam",0,15,"aquatic",17],["Nymph Queen",1720,8,"4=v_nymph",5,6,"aquatic",15],["Water Nymph",3720,8,"4=v_nymph",6,7,"aquatic",20]], - [["Photon",1801,0,"",1,1,"airborne",2],["Ray of Light",3801,0,"quanta 8",1,1,"airborne",17],["Golden Dragon",1802,12,"",10,10,"airborne",4],["Light Dragon",3802,13,"",12,12,"airborne",17],["Pegasus",1803,4,"1:9=v_dive",3,2,"airborne",3],["Elite Pegasus",3803,4,"1:9=v_dive",4,4,"airborne",17],["Guardian Angel",1806,3,"1=mend",1,6,"airborne",2],["Archangel",3806,6,"1=mend",7,7,"airborne",17],["Crusader",1813,5,"3=v_endow",2,4,"",3],["Crusader",3813,5,"2=v_endow",3,5,"",17],["Light Nymph",1820,9,"4=v_luciferin",6,9,"",15],["Light Nymph",3820,9,"3=v_luciferin",7,9,"",20]], - [["Dragonfly",1901,1,"quanta 9",1,1,"airborne",2],["Damselfly",3901,0,"quanta 9",2,1,"airborne",17],["Wyrm",1902,4,"2=v_dive",3,3,"airborne",2],["Elite Wyrm",3902,4,"2=v_dive",5,3,"airborne",17],["Azure Dragon",1903,10,"",9,6,"airborne",4],["Sky Dragon",3903,12,"",13,7,"airborne",17],["Firefly Queen",1907,6,"2:5=summon 1908",3,7,"airborne",4],["Elite Firefly Queen",3907,6,"2:5=summon 3908",3,7,"airborne",17],["Firefly",1908,3,"quanta 8",3,2,"airborne",2],["Elite Firefly",3908,3,"quanta 6",4,2,"airborne",17],["Blue Nymph",1920,8,"3=v_gas",6,5,"",15],["Air Nymph",3920,8,"3=v_gas",7,6,"",20]], + [["Chrysaora",1701,1,"1:2=poisonfoe 1",0,2,"poisonous+aquatic",2],["Physalia",3701,1,"1:2=poisonfoe 1",2,2,"poisonous+aquatic",17],["Blue Crawler",1702,3,"",3,3,"aquatic",2],["Abyss Crawler",3702,4,"",6,6,"aquatic",17],["Arctic Squid",1707,3,"2=v_freeze 3",1,2,"aquatic",8],["Arctic Octopus",3707,3,"2=v_freeze 4",1,2,"aquatic",18],["Ice Dragon",1709,10,"",9,6,"airborne+aquatic",4],["Arctic Dragon",3709,11,"",13,5,"airborne+aquatic",17],["Toadfish",1710,5,"1:9=poison 1",6,4,"poisonous+aquatic",2],["Puffer Fish",3710,5,"hit=poison 1",3,5,"poisonous+aquatic",17],["Mind Flayer",1711,2,"1:12=v_lobotomize",2,2,"aquatic",3],["Ulitharid",3711,3,"1:12=v_lobotomize",3,4,"aquatic",17],["Steam Machine",1714,4,"2:6=v_steam",0,6,"aquatic",3],["Steam Machine",3714,5,"2:6=v_steam",0,15,"aquatic",17],["Nymph Queen",1720,8,"4=v_nymph",5,6,"aquatic",15],["Water Nymph",3720,8,"4=v_nymph",6,7,"aquatic",20]], + [["Photon",1801,0,"",1,1,"airborne",2],["Ray of Light",3801,0,"quanta 8",1,1,"airborne",17],["Golden Dragon",1802,12,"",10,10,"airborne",4],["Light Dragon",3802,13,"",12,12,"airborne",17],["Pegasus",1803,4,"1:9=dive",3,2,"airborne",3],["Elite Pegasus",3803,4,"1:9=dive",4,4,"airborne",17],["Guardian Angel",1806,3,"1=mend",1,6,"airborne",2],["Archangel",3806,6,"1=mend",7,7,"airborne",17],["Crusader",1813,5,"3=v_endow",2,4,"",3],["Crusader",3813,5,"2=v_endow",3,5,"",17],["Light Nymph",1820,9,"4=v_luciferin",6,9,"",15],["Light Nymph",3820,9,"3=v_luciferin",7,9,"",20]], + [["Dragonfly",1901,1,"quanta 9",1,1,"airborne",2],["Damselfly",3901,0,"quanta 9",2,1,"airborne",17],["Wyrm",1902,4,"2=dive",3,3,"airborne",2],["Elite Wyrm",3902,4,"2=dive",5,3,"airborne",17],["Azure Dragon",1903,10,"",9,6,"airborne",4],["Sky Dragon",3903,12,"",13,7,"airborne",17],["Firefly Queen",1907,6,"2:5=summon 1908",3,7,"airborne",4],["Elite Firefly Queen",3907,6,"2:5=summon 3908",3,7,"airborne",17],["Firefly",1908,3,"quanta 8",3,2,"airborne",2],["Elite Firefly",3908,3,"quanta 6",4,2,"airborne",17],["Blue Nymph",1920,8,"3=v_gas",6,5,"",15],["Air Nymph",3920,8,"3=v_gas",7,6,"",20]], [["D\u00e9j\u00e0 Vu",2001,1,"1=deja",1,1,"airborne",2],["Elite D\u00e9j\u00e0 Vu",4001,1,"1=deja",2,2,"airborne",17],["Fate Egg",2002,3,"1=v_hatch",0,1,"",3],["Fate Egg",4002,3,"1=v_hatch",0,1,"",17],["Devonian Dragon",2006,10,"",10,5,"airborne",4],["Silurian Dragon",4006,12,"",13,4,"airborne",17],["Anubis",2007,8,"2:12=quint",5,8,"",4],["Elite Anubis",4007,8,"1:12=quint",5,8,"",17],["Scarab",2010,2,"1:3=devour+v_swarm+hp=v_swarmhp",2,1,"airborne",2],["Elite Scarab",4010,2,"1:3=devour+v_swarm+hp=v_swarmhp",3,1,"airborne",17],["Pharaoh",2012,9,"2=summon 2010",4,9,"",8],["Pharaoh",4012,9,"2=summon 4010",4,9,"",18],["Dune Scorpion",2013,3,"hit=v_neuro",0,1,"poisonous",2],["Dune Scorpion",4013,3,"hit=v_neuro",0,3,"poisonous",17],["Ghost of the Past",2014,6,"owndiscard=v_obsession",7,4,"",3],["Ghost of the Past",4014,7,"owndiscard=v_obsession",9,4,"",17],["Golden Nymph",2020,8,"2=precognition",6,8,"",15],["Golden Nymph",4020,8,"2=precognition",7,9,"",20]], [["Black Dragon",2101,10,"",10,5,"airborne+nocturnal",4],["Obsidian Dragon",4101,12,"",12,6,"airborne+nocturnal",17],["Devourer",2102,2,"1:4=v_burrow+v_siphon",0,2,"nocturnal",3],["Pest",4102,2,"1:4=v_burrow+v_siphon",0,4,"nocturnal",17],["Parasite",2103,2,"1:2=poison 1",1,1,"poisonous+nocturnal",3],["Bloodsucker",4103,2,"1:2=poison 1",3,1,"poisonous+nocturnal",17],["Minor Vampire",2109,3,"hit=vampire",2,2,"airborne+nocturnal",3],["Vampire",4109,5,"hit=vampire",4,3,"airborne+nocturnal",17],["Gargoyle",2111,5,"1:4=v_stoneform",5,3,"airborne+nocturnal",2],["Gargoyle",4111,5,"1:4=v_stoneform",7,3,"airborne+nocturnal",17],["Voodoo Doll",2112,2,"",0,16,"voodoo+nocturnal",3],["Voodoo Doll",4112,2,"",0,20,"voodoo+nocturnal",17],["Black Nymph",2120,8,"2=v_liquid",3,5,"nocturnal",15],["Dark Nymph",4120,8,"2=v_liquid",5,5,"nocturnal",20]], [["Spark",2201,0,"",3,0,"airborne",2],["Ball Lightning",4201,0,"",5,0,"airborne",17],["Immortal",2204,6,"",4,3,"immaterial",3],["Elite Immortal",4204,7,"",5,4,"immaterial",17],["Phase Dragon",2207,13,"",8,6,"immaterial+airborne",4],["Elite Phase Dragon",4207,14,"",10,6,"immaterial+airborne",17],["Phase Spider",2208,3,"1:9=v_web",4,2,"",2],["Phase Recluse",4208,4,"1:9=v_web",7,2,"",17],["Psion",2213,4,"v_noluci",4,4,"psionic+airborne",4],["Psion",4213,4,"v_noluci",5,5,"psionic+airborne",17],["Phase Salvager",2214,1,"destroy=v_salvage",4,0,"",2],["Phase Salvager",4214,1,"destroy=v_salvage",6,0,"",17],["Turquoise Nymph",2220,8,"3=quint",7,4,"",15],["Aether Nymph",4220,8,"3=quint",8,5,"",20]]] diff --git a/src/views/Login.jsx b/src/views/Login.jsx index 205071c3..f2664a74 100644 --- a/src/views/Login.jsx +++ b/src/views/Login.jsx @@ -109,10 +109,8 @@ if (typeof kongregateAPI === 'undefined') { target="_blank" rel="noopener" href={data().html_url} - style="max-width:670px;position:absolute;left:220px;top:460px"> - - {text =>
{text}
} -
+ style="max-width:670px;min-width:470px;position:absolute;left:220px;top:460px;height:140px;white-space:pre-wrap;overflow-y:auto"> + {data().commit.message.replace('\n', '\n\n')} )}