public static void GenerateWhiteAndBlackListForSpecialDeck(DeckType typeOfDeck) { switch (typeOfDeck) { case DeckType.MECH: MainLists.whiteList.Add("GVG_085"); //Annoy-o-Tron MainLists.whiteList.Add("GVG_030"); //Anodized Robo Cub MainLists.whiteList.Add("GVG_082"); //Clockwork Gnome MainLists.whiteList.Add("GVG_023"); //Goblin Auto-Barber MainLists.whiteList.Add("GVG_006"); //Mechwarper MainLists.whiteList.Add("GVG_103"); //Micro Machine MainLists.whiteList.Add("GVG_058"); //Shielded Minibot MainLists.whiteList.Add("GVG_002"); //Snowchugger MainLists.whiteList.Add("GVG_051"); //Warbot MainLists.whiteList.Add("GVG_037"); //Whirling Zap-o-matic MainLists.whiteList.Add("GVG_072"); //Shadowboxer MainLists.whiteList.Add("GVG_048"); //Metaltooth Leaper MainLists.whiteList.Add("GVG_093"); //Target Dummy MainLists.whiteList.Add("GVG_107"); //Enhance-o Mechano MainLists.whiteList.Add("GVG_013"); //Cogmaster MainLists.whiteList.Add("GVG_102"); //Tinkertown Technician MainLists.blackList.Add("GVG_069"); //Antique Healbot MainLists.blackList.Add("AT_096"); //Clockwork Knight MainLists.blackList.Add("GVG_076"); //Explosive Sheep MainLists.blackList.Add("GVG_079"); //Force-Tank MAX MainLists.blackList.Add("GVG_078"); //Mechanical Yeti MainLists.blackList.Add("GVG_096"); //Piloted Shredder MainLists.blackList.Add("GVG_044"); //Spider Tank MainLists.blackList.Add("EX1_006"); //Alarm-o-Bot MainLists.blackList.Add("GVG_091"); //Arcane Nullifier X-21 MainLists.blackList.Add("GVG_062"); //Cobalt Guardian MainLists.blackList.Add("EX1_102"); //Demolisher MainLists.blackList.Add("GVG_020"); //Fel Cannon MainLists.blackList.Add("GVG_027"); //Iron Sensei MainLists.blackList.Add("GVG_094"); //Jeeves MainLists.blackList.Add("GVG_034"); //Mech-Bear-Cat MainLists.blackList.Add("GVG_055"); //Screwjank Clunker MainLists.blackList.Add("GVG_086"); //Siege Engine MainLists.blackList.Add("GVG_123"); //Soot Spewer MainLists.blackList.Add("GVG_083"); //Upgraded Repair Bot MainLists.blackList.Add("GVG_077"); //Anima Golem MainLists.blackList.Add("GVG_121"); //Clockwork Giant MainLists.blackList.Add("GVG_107"); //Enhance-o Mechano MainLists.blackList.Add("GVG_106"); //Junkbot MainLists.blackList.Add("GVG_119"); //Blingtron 3000 MainLists.blackList.Add("GVG_007"); //Flame Leviathan MainLists.blackList.Add("GVG_016"); //Fel Reaver MainLists.blackList.Add("GVG_105"); //Piloted Sky Golem MainLists.blackList.Add("GVG_113"); //Foe Reaper 4000 //Warrior cards MainLists.whiteList.Add("CS2_106"); //Fiery War Axe MainLists.whiteList.Add("EX1_402"); //Armorsmith MainLists.whiteList.Add("FP1_021"); //Death's Bite MainLists.blackList.Add("CS2_105"); //Heroic Strike MainLists.blackList.Add("CS2_112"); //Arcanite Reaper MainLists.blackList.Add("GVG_055"); //Screwjank Clunker MainLists.blackList.Add("NEW1_011"); //Kor'kron Elite MainLists.blackList.Add("EX1_408"); //Mortal Strike MainLists.blackList.Add("GVG_110"); //Dr. Boom //Mage cards MainLists.whiteList.Add("EX1_277"); //Arcane Missiles MainLists.whiteList.Add("NEW1_012"); //Mana Wyrm MainLists.whiteList.Add("CS2_024"); //Frostbolt MainLists.whiteList.Add("GVG_002"); //Snowchugger MainLists.blackList.Add("BRM_002"); //Flamewaker MainLists.blackList.Add("CS2_029"); //Fireball MainLists.blackList.Add("GVG_004"); //Goblin Blastmage MainLists.blackList.Add("EX1_559"); //Archmage Antonidas MainLists.blackList.Add("FP1_030"); //Loatheb break; case DeckType.OTK_WARRIOR: if (MainLists.HandCards_BoardCards.Any(x => x.Id.ToString() == "EX1_412")) //Raging Worgen { MainLists.whiteList.Add("EX1_607"); //Inner Rage } else { MainLists.blackList.Add("EX1_607"); //Inner Rage } MainLists.whiteList.Add("FP1_024"); //Unstable Ghoul MainLists.whiteList.Add("CS2_106"); //Fiery War Axe MainLists.whiteList.Add("CS2_104"); //Rampage MainLists.whiteList.Add("FP1_021"); //Death's Bite MainLists.whiteList.Add("CS2_103"); //Charge MainLists.whiteList.Add("EX1_096"); //Loot Hoarder MainLists.whiteList.Add("EX1_412"); //Raging Worgen MainLists.whiteList.Add("EX1_400"); //Whirlwind MainLists.whiteList.Add("EX1_007"); //Acolyte of Pain if (MainLists.OpponentClass == Card.CClass.HUNTER) { MainLists.whiteList.Add("EX1_606"); //Shield Block } else { MainLists.blackList.Add("EX1_606"); //Shield Block } MainLists.blackList.Add("EX1_049"); //Youthful Brewmaster MainLists.blackList.Add("EX1_603"); //Cruel Taskmaster MainLists.blackList.Add("CS2_108"); //Execute MainLists.blackList.Add("EX1_410"); //Shield Slam MainLists.blackList.Add("EX1_391"); //Slam MainLists.blackList.Add("EX1_604"); //Frothing Berserker MainLists.blackList.Add("EX1_407"); //Brawl MainLists.blackList.Add("CS2_203"); //Ironbeak Owl MainLists.blackList.Add("CS2_147"); //Gnomish Inventor MainLists.blackList.Add("BRM_028"); //Emperor Thaurissan MainLists.blackList.Add("GVG_069"); //Antique Healbot break; case DeckType.MIRACLE_ROGUE: MainLists.whiteList.Add("CS2_072"); //Backstab MainLists.whiteList.Add("EX1_613"); //Edwin VanCleef MainLists.whiteList.Add("EX1_134"); //SI:7 Agent MainLists.whiteList.Add("EX1_131"); //Defias Ringleader if (MainLists.HandCards_BoardCards.Any(x => x.Id.ToString() == "CS2_233") && //Blade Flurry MainLists.HandCards_BoardCards.Any(x => x.Id.ToString() == "CS2_074")) //Deadly Poison { MainLists.whiteList.Add("CS2_074"); //Deadly Poison MainLists.whiteList.Add("CS2_233"); //Blade Flurry } else { if (MainLists.OpponentClass == Card.CClass.PRIEST) { MainLists.whiteList.Add("CS2_074"); //Deadly Poison } else { MainLists.blackList.Add("CS2_074"); //Deadly Poison } MainLists.blackList.Add("CS2_233"); //Blade Flurry } if (MainLists.OpponentClass == Card.CClass.HUNTER) { MainLists.blackList.Add("EX1_129"); //Fan of Knives } else { MainLists.blackList.Add("EX1_129"); //Fan of Knives } MainLists.blackList.Add("EX1_124"); //Eviscerate MainLists.blackList.Add("CS2_075"); //Sinister Strike MainLists.blackList.Add("CS2_233"); //Blade Flurry MainLists.blackList.Add("EX1_012"); //Bloodmage Thalnos MainLists.blackList.Add("EX1_144"); //Shadowstep MainLists.blackList.Add("EX1_095"); //Gadgetzan Auctioneer MainLists.blackList.Add("CS2_073"); //Cold Blood MainLists.blackList.Add("EX1_116"); //Leeroy Jenkins MainLists.blackList.Add("CS2_117"); //Earthen Ring Farseer MainLists.blackList.Add("EX1_128"); //Conceal MainLists.blackList.Add("EX1_145"); //Preparation MainLists.blackList.Add("EX1_581"); //Sap MainLists.blackList.Add("EX1_278"); //Shiv MainLists.blackList.Add("EX1_284"); //Azure Drake MainLists.blackList.Add("CS2_080"); //Assassin's Blade break; case DeckType.PIRAT_ROGUE: if (MainLists.OpponentClass != Card.CClass.MAGE) { MainLists.whiteList.Add("AT_029"); //Buccaneer MainLists.whiteList.Add("GVG_025"); //One-eyed Cheat MainLists.whiteList.Add("CS2_146"); //Southsea Deckhand MainLists.whiteList.Add("EX1_096"); //Loot Hoarder } else { MainLists.blackList.Add("AT_029"); //Buccaneer MainLists.blackList.Add("GVG_025"); //One-eyed Cheat MainLists.blackList.Add("CS2_146"); //Southsea Deckhand MainLists.blackList.Add("EX1_096"); //Loot Hoarder } if (MainLists.HandCards_BoardCards.Any(x => x.Id.ToString() == "CS2_074")) //Deadly Poison { MainLists.whiteList.Add("NEW1_022"); //Dread Corsair } else { MainLists.blackList.Add("NEW1_022"); //Dread Corsair } MainLists.whiteList.Add("CS2_074"); //Deadly Poison MainLists.whiteList.Add("EX1_134"); //SI:7 Agent MainLists.whiteList.Add("GVG_075"); //Ship's Cannon MainLists.whiteList.Add("EX1_124"); //Eviscerate MainLists.blackList.Add("AT_033"); //Burgle MainLists.blackList.Add("AT_032"); //Shady Dealer MainLists.blackList.Add("CS2_233"); //Blade Flurry MainLists.blackList.Add("CS2_077"); //Sprint MainLists.blackList.Add("EX1_012"); //Bloodmage Thalnos MainLists.blackList.Add("NEW1_018"); //Bloodsail Raider MainLists.blackList.Add("NEW1_027"); //Southsea Captain MainLists.blackList.Add("AT_070"); //Skycap'n Kragg MainLists.blackList.Add("EX1_284"); //Azure Drake MainLists.blackList.Add("CS2_080"); //Assassin's Blade MainLists.blackList.Add("GVG_022"); //Tinker's Sharpsword Oil break; case DeckType.MURLOC: if (MainLists.OpponentClass != Card.CClass.MAGE) { MainLists.whiteList.Add("EX1_506"); //Murloc Tidehunter MainLists.whiteList.Add("EX1_029"); //Leper Gnome MainLists.whiteList.Add("EX1_508"); //Grimscale Oracle } else { MainLists.blackList.Add("EX1_506"); //Murloc Tidehunter MainLists.blackList.Add("EX1_029"); //Leper Gnome MainLists.blackList.Add("EX1_508"); //Grimscale Oracle } if (MainLists.HandCards_BoardCards.Count(x => x.Id.ToString() == "EX1_302") >= 2) { string mortailCoilString = MainLists.HandCards_BoardCards.First(x => x.Id.ToString() == "EX1_302").Id.ToString(); MainLists.chosenCards.Add(CardTemplate.StringToCard(mortailCoilString)); MainLists.blackList.Add(mortailCoilString); } else { MainLists.whiteList.Add("EX1_302"); //Mortal Coil } MainLists.whiteList.Add("EX1_507"); //Murloc Warleader MainLists.whiteList.Add("EX1_509"); //Murloc Tidecaller MainLists.whiteList.Add("EX1_554"); //Snake Trap MainLists.whiteList.Add("EX1_319"); //Flame Imp MainLists.whiteList.Add("CS2_065"); //Voidwalker MainLists.whiteList.Add("EX1_508"); //Grimscale Oracle MainLists.whiteList.Add("EX1_004"); //Young Priestess MainLists.whiteList.Add("GVG_064"); //Puddlestomper MainLists.whiteList.Add("NEW1_019"); //Knife Juggler MainLists.whiteList.Add("CS2_059"); //Blood Imp bool havingEnoughLowDropMinions = MainLists.HandCards_BoardCards.Count(x => x.Type == Card.CType.MINION && x.Cost <= 2) >= 2; if (havingEnoughLowDropMinions) { MainLists.whiteList.Add("EX1_366"); //Sword of Justice } else { MainLists.blackList.Add("EX1_366"); //Sword of Justice } MainLists.blackList.Add("CS2_168"); //Murloc Raider MainLists.blackList.Add("GVG_040"); //Siltfin Spiritwalker MainLists.blackList.Add("CS2_173"); //Bluegill Warrior MainLists.blackList.Add("CS2_203"); //Ironbeak Owl MainLists.blackList.Add("FP1_004"); //Mad Scientist MainLists.blackList.Add("EX1_062"); //Old Murk-Eye MainLists.blackList.Add("EX1_116"); //Leeroy Jenkins MainLists.blackList.Add("EX1_538"); //Unleash the Hounds MainLists.blackList.Add("EX1_539"); //Kill Command MainLists.blackList.Add("NEW1_031"); //Animal Companion MainLists.blackList.Add("EX1_536"); //Eaglehorn Bow MainLists.blackList.Add("BRM_013"); //Quick Shot MainLists.blackList.Add("EX1_610"); //Explosive Trap MainLists.blackList.Add("EX1_316"); //Power Overwhelming MainLists.blackList.Add("EX1_308"); //Soulfire MainLists.blackList.Add("EX1_089"); //Arcane Golem MainLists.blackList.Add("EX1_103"); //Coldlight Seer MainLists.blackList.Add("CS2_188"); //Abusive Sergeant MainLists.blackList.Add("EX1_162"); //Dire Wolf Alpha MainLists.blackList.Add("EX1_093"); //Defender of Argus MainLists.blackList.Add("EX1_136"); //Redemption MainLists.blackList.Add("AT_122"); //Gormok the Impaler MainLists.blackList.Add("AT_076"); //Murloc Knight MainLists.blackList.Add("NEW1_017"); //Hungry Crab MainLists.blackList.Add("EX1_310"); //Doomguard MainLists.blackList.Add("GVG_045"); //Imp-losion if (Combos.HasOneTwoThreeMurlocCombo()) { Combos.AddMurlocComboToLists(); } break; case DeckType.HANDLOCK_WAROCK: /*whitelist > blacklist*/ foreach (CardTemplate handCardsBoardCard in MainLists.HandCards_BoardCards) { MainLists.blackList.Add(handCardsBoardCard.Id.ToString()); } MainLists.whiteList.Add("EX1_302"); //Mortal Coil MainLists.whiteList.Add("GVG_015"); //Darkbomb MainLists.whiteList.Add("CS2_062"); //Hellfire MainLists.whiteList.Add("FP1_001"); //Zombie Chow MainLists.whiteList.Add("EX1_043"); //Twilight Drake if (MainLists.OpponentClass == Card.CClass.ROGUE || MainLists.OpponentClass == Card.CClass.WARRIOR) { MainLists.whiteList.Add("EX1_066"); //Acidic Swamp Ooze } if (MainLists.OpponentClass != Card.CClass.HUNTER && MainLists.OpponentClass != Card.CClass.MAGE) { MainLists.whiteList.Add("EX1_105"); //Mountain Giant } break; } }