public SecretItem(SecretItem sec) { this.triggered = sec.triggered; /*not in use temporarily 1 * this.canbeTriggeredWithAttackingHero = sec.canbeTriggeredWithAttackingHero; * this.canbeTriggeredWithAttackingMinion = sec.canbeTriggeredWithAttackingMinion; * this.canbeTriggeredWithPlayingMinion = sec.canbeTriggeredWithPlayingMinion; * this.canbeTriggeredWithPlayingHeroPower = sec.canbeTriggeredWithPlayingHeroPower;*/ this.canBe_avenge = sec.canBe_avenge; this.canBe_counterspell = sec.canBe_counterspell; //this.canBe_duplicate = sec.canBe_duplicate; //this.canBe_effigy = sec.canBe_effigy; this.canBe_explosive = sec.canBe_explosive; this.canBe_beartrap = sec.canBe_beartrap; this.canBe_eyeforaneye = sec.canBe_eyeforaneye; this.canBe_freezing = sec.canBe_freezing; //this.canBe_icebarrier = sec.canBe_icebarrier; this.canBe_iceblock = sec.canBe_iceblock; this.canBe_cattrick = sec.canBe_cattrick; //this.canBe_mirrorentity = sec.canBe_mirrorentity; this.canBe_missdirection = sec.canBe_missdirection; this.canBe_darttrap = sec.canBe_darttrap; this.canBe_noblesacrifice = sec.canBe_noblesacrifice; this.canBe_redemption = sec.canBe_redemption; this.canBe_repentance = sec.canBe_repentance; this.canBe_snaketrap = sec.canBe_snaketrap; this.canBe_snipe = sec.canBe_snipe; //this.canBe_spellbender = sec.canBe_spellbender; //this.canBe_vaporize = sec.canBe_vaporize; this.canBe_sacredtrial = sec.canBe_sacredtrial; this.entityId = sec.entityId; }
public SecretItem(SecretItem sec) { this.triggered = sec.triggered; this.canbeTriggeredWithAttackingHero = sec.canbeTriggeredWithAttackingHero; this.canbeTriggeredWithAttackingMinion = sec.canbeTriggeredWithAttackingMinion; this.canbeTriggeredWithPlayingMinion = sec.canbeTriggeredWithPlayingMinion; this.canBe_avenge = sec.canBe_avenge; this.canBe_counterspell = sec.canBe_counterspell; this.canBe_duplicate = sec.canBe_duplicate; this.canBe_explosive = sec.canBe_explosive; this.canBe_eyeforaneye = sec.canBe_eyeforaneye; this.canBe_freezing = sec.canBe_freezing; this.canBe_icebarrier = sec.canBe_icebarrier; this.canBe_iceblock = sec.canBe_iceblock; this.canBe_mirrorentity = sec.canBe_mirrorentity; this.canBe_missdirection = sec.canBe_missdirection; this.canBe_noblesacrifice = sec.canBe_noblesacrifice; this.canBe_redemption = sec.canBe_redemption; this.canBe_repentance = sec.canBe_repentance; this.canBe_snaketrap = sec.canBe_snaketrap; this.canBe_snipe = sec.canBe_snipe; this.canBe_spellbender = sec.canBe_spellbender; this.canBe_vaporize = sec.canBe_vaporize; this.entityId = sec.entityId; }
public SecretItem(SecretItem sec) { this.triggered = sec.triggered; this.canbeTriggeredWithAttackingHero = sec.canbeTriggeredWithAttackingHero; this.canbeTriggeredWithAttackingMinion = sec.canbeTriggeredWithAttackingMinion; this.canbeTriggeredWithPlayingMinion = sec.canbeTriggeredWithPlayingMinion; this.canbeTriggeredWithKillingMinion = sec.canbeTriggeredWithKillingMinion; this.canBe_avenge = sec.canBe_avenge; this.canBe_counterspell = sec.canBe_counterspell; this.canBe_duplicate = sec.canBe_duplicate; this.canBe_explosive = sec.canBe_explosive; this.canBe_eyeforaneye = sec.canBe_eyeforaneye; this.canBe_freezing = sec.canBe_freezing; this.canBe_icebarrier = sec.canBe_icebarrier; this.canBe_iceblock = sec.canBe_iceblock; this.canBe_mirrorentity = sec.canBe_mirrorentity; this.canBe_missdirection = sec.canBe_missdirection; this.canBe_noblesacrifice = sec.canBe_noblesacrifice; this.canBe_redemption = sec.canBe_redemption; this.canBe_repentance = sec.canBe_repentance; this.canBe_snaketrap = sec.canBe_snaketrap; this.canBe_snipe = sec.canBe_snipe; this.canBe_spellbender = sec.canBe_spellbender; this.canBe_vaporize = sec.canBe_vaporize; this.canBe_effigy = sec.canBe_effigy; this.canBe_beartrap = sec.canBe_beartrap; this.canBe_competivespirit = sec.canBe_competivespirit; this.canBe_Trial = sec.canBe_Trial; this.entityId = sec.entityId; }
//todo better! // Battlecry: Take control of a random enemy Secret;. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (own.own) { if (p.enemySecretList.Count >= 1) { if (p.enemyHeroStartClass == TAG_CLASS.HUNTER) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610); } //if (p.enemyHeroStartClass == TAG_CLASS.MAGE) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594); if (p.enemyHeroStartClass == TAG_CLASS.PALADIN) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } if (p.enemyHeroStartClass != TAG_CLASS.HUNTER && p.enemyHeroStartClass != TAG_CLASS.MAGE && p.enemyHeroStartClass != TAG_CLASS.PALADIN) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } p.enemySecretList.RemoveAt(0); } } else { if (p.ownSecretsIDList.Count >= 1) { p.ownSecretsIDList.RemoveAt(0); SecretItem s = new SecretItem(); s.canBe_avenge = false; s.canBe_sacredtrial = false; s.canBe_counterspell = false; s.canBe_cattrick = false; //s.canBe_duplicate = false; s.canBe_explosive = false; s.canBe_beartrap = false; s.canBe_eyeforaneye = false; s.canBe_freezing = false; //s.canBe_icebarrier = false; s.canBe_iceblock = false; //s.canBe_mirrorentity = false; s.canBe_missdirection = false; s.canBe_darttrap = false; s.canBe_noblesacrifice = false; s.canBe_redemption = false; s.canBe_repentance = false; s.canBe_snaketrap = false; s.canBe_snipe = false; //s.canBe_spellbender = false; //s.canBe_vaporize = false; s.entityId = 1050; s.canBe_explosive = true; p.enemySecretList.Add(s); } } }
//todo better! // Battlecry: Take control of a random enemy Secret;. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (own.own) { if (p.enemySecretList.Count >= 1) { if (p.enemyHeroName == HeroEnum.hunter) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610); } if (p.enemyHeroName == HeroEnum.mage) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594); } if (p.enemyHeroName == HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } if (p.enemyHeroName != HeroEnum.hunter && p.enemyHeroName != HeroEnum.mage && p.enemyHeroName != HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } p.enemySecretList.RemoveAt(0); } } else { if (p.ownSecretsIDList.Count >= 1) { p.ownSecretsIDList.RemoveAt(0); SecretItem s = new SecretItem(); s.canBe_avenge = false; s.canBe_counterspell = false; s.canBe_duplicate = false; s.canBe_explosive = false; s.canBe_eyeforaneye = false; s.canBe_freezing = false; s.canBe_icebarrier = false; s.canBe_iceblock = false; s.canBe_mirrorentity = false; s.canBe_missdirection = false; s.canBe_noblesacrifice = false; s.canBe_redemption = false; s.canBe_repentance = false; s.canBe_snaketrap = false; s.canBe_snipe = false; s.canBe_spellbender = false; s.canBe_vaporize = false; s.entityId = 1050; s.canBe_explosive = true; p.enemySecretList.Add(s); } } }
public bool isEqual(SecretItem s) { bool result = this.entityId == s.entityId; result = result && this.canBe_avenge == s.canBe_avenge && this.canBe_counterspell == s.canBe_counterspell && this.canBe_duplicate == s.canBe_duplicate && this.canBe_explosive == s.canBe_explosive; result = result && this.canBe_eyeforaneye == s.canBe_eyeforaneye && this.canBe_freezing == s.canBe_freezing && this.canBe_icebarrier == s.canBe_icebarrier && this.canBe_iceblock == s.canBe_iceblock; result = result && this.canBe_mirrorentity == s.canBe_mirrorentity && this.canBe_missdirection == s.canBe_missdirection && this.canBe_noblesacrifice == s.canBe_noblesacrifice && this.canBe_redemption == s.canBe_redemption; result = result && this.canBe_repentance == s.canBe_repentance && this.canBe_snaketrap == s.canBe_snaketrap && this.canBe_snipe == s.canBe_snipe && this.canBe_spellbender == s.canBe_spellbender && this.canBe_vaporize == s.canBe_vaporize; return(result); }
public bool isEqual(SecretItem s) { bool result = this.entityId == s.entityId; if (!result) { result = result && this.canBe_avenge == s.canBe_avenge && this.canBe_counterspell == s.canBe_counterspell && this.canBe_explosive == s.canBe_explosive && this.canBe_flameward == s.canBe_flameward; result = result && this.canBe_eyeforaneye == s.canBe_eyeforaneye && this.canBe_freezing == s.canBe_freezing && this.canBe_iceblock == s.canBe_iceblock; result = result && this.canBe_missdirection == s.canBe_missdirection && this.canBe_noblesacrifice == s.canBe_noblesacrifice && this.canBe_redemption == s.canBe_redemption; result = result && this.canBe_repentance == s.canBe_repentance && this.canBe_snaketrap == s.canBe_snaketrap && this.canBe_snipe == s.canBe_snipe; result = result && this.canBe_sacredtrial == s.canBe_sacredtrial && this.canBe_darttrap == s.canBe_darttrap && this.canBe_beartrap == s.canBe_beartrap && this.canBe_cattrick == s.canBe_cattrick; } return(result); }
public void playedSecret(CardDB.cardIDEnum secretid, int entity) { Console.WriteLine("1111111111111111111111111111111111111111111111111111111111111"); Console.WriteLine("current player " + this.currentplayer + " played secret " + secretid); Console.WriteLine("1111111111111111111111111111111111111111111111111111111111111"); player currentp = this.p2; player currentenemyp = this.p1; if (this.currentplayer) { currentp = this.p1; currentenemyp = this.p2; } SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(entity, currentp.hero); currentenemyp.enemySecrets.Add(si); }
//todo better! // Battlecry: Take control of a random enemy Secret;. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (own.own) { if (p.enemySecretList.Count >= 1) { if(p.enemyHeroName == HeroEnum.hunter) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610); if (p.enemyHeroName == HeroEnum.mage) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594); if (p.enemyHeroName == HeroEnum.pala) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); if (p.enemyHeroName != HeroEnum.hunter && p.enemyHeroName != HeroEnum.mage && p.enemyHeroName != HeroEnum.pala) p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); p.enemySecretList.RemoveAt(0); } } else { if (p.ownSecretsIDList.Count >= 1) { p.ownSecretsIDList.RemoveAt(0); SecretItem s = new SecretItem(); s.canBe_avenge = false; s.canBe_counterspell = false; s.canBe_duplicate = false; s.canBe_explosive = false; s.canBe_eyeforaneye = false; s.canBe_freezing = false; s.canBe_icebarrier = false; s.canBe_iceblock = false; s.canBe_mirrorentity = false; s.canBe_missdirection = false; s.canBe_noblesacrifice = false; s.canBe_redemption = false; s.canBe_repentance = false; s.canBe_snaketrap = false; s.canBe_snipe = false; s.canBe_spellbender = false; s.canBe_vaporize = false; s.entityId = 1050; s.canBe_explosive=true; p.enemySecretList.Add(s); } } }
public void setEnemySecretGuesses(Dictionary <int, TAG_CLASS> enemySecretList) { List <SecretItem> newlist = new List <SecretItem>(); foreach (KeyValuePair <int, TAG_CLASS> eSec in enemySecretList) { if (eSec.Key >= 1000) { continue; } Helpfunctions.Instance.logg("detect secret with id" + eSec.Key); SecretItem sec = getNewSecretGuessedItem(eSec.Key, eSec.Value); newlist.Add(new SecretItem(sec)); } this.enemySecrets.Clear(); this.enemySecrets.AddRange(newlist); }
public void getEnemySecretGuesses(List <int> enemySecretIds, HeroEnum enemyHeroName) { List <SecretItem> newlist = new List <SecretItem>(); foreach (int i in enemySecretIds) { if (i >= 1000) { continue; } Helpfunctions.Instance.logg("detect secret with id" + i); SecretItem sec = getNewSecretGuessedItem(i, enemyHeroName); newlist.Add(new SecretItem(sec)); } this.enemySecrets.Clear(); this.enemySecrets.AddRange(newlist); }
//Battlecry: Put one of each Secret from your deck into the battlefield public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { //if(p.isServer) //TODO if (own.own) { if (p.ownHeroName == HeroEnum.mage) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289); } if (p.ownHeroName == HeroEnum.hunter) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554); } if (p.ownHeroName == HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); //noble sac p.ownSecretsIDList.Add(CardDB.cardIDEnum.FP1_020); //avenge } } else { if (p.enemyHeroName == HeroEnum.mage || p.enemyHeroName == HeroEnum.hunter || p.enemyHeroName == HeroEnum.pala) { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.enemyHeroName); if (p.enemyHeroName == HeroEnum.pala) { si.canBe_redemption = false; } if (Settings.Instance.useSecretsPlayArround) { p.enemySecretList.Add(si); } } } } }
//<deDE>Todesröcheln: Legt ein Geheimnis aus Eurem Deck auf das Schlachtfeld. public override void onDeathrattle(Playfield p, Minion m) { //if(p.isServer) if (m.own) { if (p.ownHeroName == HeroEnum.mage) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289); } if (p.ownHeroName == HeroEnum.hunter) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554); } if (p.ownHeroName == HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } } else { if (p.enemyHeroName == HeroEnum.mage || p.enemyHeroName == HeroEnum.hunter || p.enemyHeroName == HeroEnum.pala) { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.enemyHeroName); if (p.enemyHeroName == HeroEnum.pala) { si.canBe_redemption = false; } if (Settings.Instance.useSecretsPlayArround) { p.enemySecretList.Add(si); } } } } }
public void updateSecretList(List <SecretItem> enemySecretl) { List <SecretItem> temp = new List <SecretItem>(); foreach (SecretItem si in this.enemySecrets) { bool add = false; SecretItem seit = null; foreach (SecretItem sit in enemySecretl) // enemySecrets have to be updated to latest entitys { if (si.entityId == sit.entityId) { seit = sit; add = true; } } temp.Add(add ? new SecretItem(seit) : new SecretItem(si)); } this.enemySecrets.Clear(); this.enemySecrets.AddRange(temp); }
// Deathrattle: Put a Secret: from your deck into the battlefield. public override void onDeathrattle(Playfield p, Minion m) { if (m.own) { if (p.ownHeroStartClass == TAG_CLASS.MAGE) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289); } if (p.ownHeroStartClass == TAG_CLASS.HUNTER) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554); } if (p.ownHeroStartClass == TAG_CLASS.PALADIN) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } } else { if (p.enemyHeroStartClass == TAG_CLASS.MAGE || p.enemyHeroStartClass == TAG_CLASS.HUNTER || p.enemyHeroStartClass == TAG_CLASS.PALADIN) { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.ownHeroStartClass); if (p.enemyHeroStartClass == TAG_CLASS.PALADIN) { si.canBe_redemption = false; } if (Settings.Instance.useSecretsPlayAround) { p.enemySecretList.Add(si); } } } } }
//todo better! // Battlecry: Take control of a random enemy Secret;. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { SecretItem s = new SecretItem(); s.canBe_avenge = false; s.canBe_sacredtrial = false; s.canBe_counterspell = false; s.canBe_cattrick = false; s.canBe_duplicate = false; s.canBe_explosive = false; s.canBe_beartrap = false; s.canBe_eyeforaneye = false; s.canBe_freezing = false; s.canBe_icebarrier = false; s.canBe_iceblock = false; s.canBe_mirrorentity = false; s.canBe_missdirection = false; s.canBe_darttrap = false; s.canBe_noblesacrifice = false; s.canBe_redemption = false; s.canBe_repentance = false; s.canBe_snaketrap = false; s.canBe_snipe = false; s.canBe_spellbender = false; //s.canBe_vaporize = false; s.entityId = 1050; s.canBe_explosive = true; if (own.own && p.ownSecretsIDList.Count <= 4) { } if (!own.own && p.enemySecretList.Count <= 4) { p.enemySecretList.Add(s); } }
public SecretItem getNewSecretGuessedItem(int entityid, HeroEnum enemyHeroName) { foreach (SecretItem si in this.enemySecrets) { if (si.entityId == entityid && entityid < 1000) { return(si); } } SecretItem sec = new SecretItem { entityId = entityid }; if (enemyHeroName == HeroEnum.hunter) { sec.canBe_counterspell = false; sec.canBe_icebarrier = false; sec.canBe_iceblock = false; sec.canBe_mirrorentity = false; sec.canBe_spellbender = false; sec.canBe_vaporize = false; sec.canBe_duplicate = false; sec.canBe_eyeforaneye = false; sec.canBe_noblesacrifice = false; sec.canBe_redemption = false; sec.canBe_repentance = false; sec.canBe_avenge = false; sec.canBe_competivespirit = false; sec.canBe_effigy = false; sec.canBe_Trial = false; if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_554) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_554] >= 2) { sec.canBe_snaketrap = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_609) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_609] >= 2) { sec.canBe_snipe = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_610) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_610] >= 2) { sec.canBe_explosive = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_611) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_611] >= 2) { sec.canBe_freezing = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_533) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_533] >= 2) { sec.canBe_missdirection = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.AT_060) && enemyCardsPlayed[CardDB.cardIDEnum.AT_060] >= 2) { sec.canBe_beartrap = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.LOE_021) && enemyCardsPlayed[CardDB.cardIDEnum.LOE_021] >= 2) { sec.canBe_Dart = false; } } if (enemyHeroName == HeroEnum.mage) { sec.canBe_snaketrap = false; sec.canBe_snipe = false; sec.canBe_explosive = false; sec.canBe_freezing = false; sec.canBe_missdirection = false; sec.canBe_eyeforaneye = false; sec.canBe_noblesacrifice = false; sec.canBe_redemption = false; sec.canBe_repentance = false; sec.canBe_avenge = false; sec.canBe_competivespirit = false; sec.canBe_beartrap = false; sec.canBe_Trial = false; sec.canBe_Dart = false; if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_287) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_287] >= 2) { sec.canBe_counterspell = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_289) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_289] >= 2) { sec.canBe_icebarrier = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_295) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_295] >= 2) { sec.canBe_iceblock = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_294) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_294] >= 2) { sec.canBe_mirrorentity = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.tt_010) && enemyCardsPlayed[CardDB.cardIDEnum.tt_010] >= 2) { sec.canBe_spellbender = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_594) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_594] >= 2) { sec.canBe_vaporize = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_018) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_018] >= 2) { sec.canBe_duplicate = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.AT_002) && enemyCardsPlayed[CardDB.cardIDEnum.AT_002] >= 2) { sec.canBe_effigy = false; } } if (enemyHeroName == HeroEnum.pala) { sec.canBe_snaketrap = false; sec.canBe_snipe = false; sec.canBe_explosive = false; sec.canBe_freezing = false; sec.canBe_missdirection = false; sec.canBe_counterspell = false; sec.canBe_icebarrier = false; sec.canBe_iceblock = false; sec.canBe_mirrorentity = false; sec.canBe_spellbender = false; sec.canBe_vaporize = false; sec.canBe_duplicate = false; sec.canBe_effigy = false; sec.canBe_beartrap = false; sec.canBe_Dart = false; if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_132) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_132] >= 2) { sec.canBe_eyeforaneye = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_130) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_130] >= 2) { sec.canBe_noblesacrifice = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_136) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_136] >= 2) { sec.canBe_redemption = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_379) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_379] >= 2) { sec.canBe_repentance = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_020) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_020] >= 2) { sec.canBe_avenge = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.AT_073) && enemyCardsPlayed[CardDB.cardIDEnum.AT_073] >= 2) { sec.canBe_competivespirit = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.LOE_027) && enemyCardsPlayed[CardDB.cardIDEnum.LOE_027] >= 2) { sec.canBe_Trial = false; } } return(sec); }
public SecretItem getNewSecretGuessedItem(int entityid, TAG_CLASS SecClass) { foreach (SecretItem si in this.enemySecrets) { if (si.entityId == entityid && entityid < 1000) { return(si); } } switch (SecClass) { case TAG_CLASS.WARRIOR: break; case TAG_CLASS.WARLOCK: break; case TAG_CLASS.ROGUE: break; case TAG_CLASS.SHAMAN: break; case TAG_CLASS.PRIEST: break; case TAG_CLASS.PALADIN: break; case TAG_CLASS.MAGE: break; case TAG_CLASS.HUNTER: break; case TAG_CLASS.DRUID: break; default: Helpfunctions.Instance.ErrorLog("Problem is detected: undefined Secret class " + SecClass); SecClass = Hrtprozis.Instance.heroEnumtoTagClass(Hrtprozis.Instance.enemyHeroname); Helpfunctions.Instance.ErrorLog("attempt to restore... " + SecClass); break; } SecretItem sec = new SecretItem { entityId = entityid }; if (SecClass == TAG_CLASS.HUNTER) { sec.canBe_counterspell = false; //sec.canBe_icebarrier = false; sec.canBe_iceblock = false; //sec.canBe_mirrorentity = false; //sec.canBe_spellbender = false; //sec.canBe_vaporize = false; //sec.canBe_duplicate = false; //sec.canBe_effigy = false; sec.canBe_flameward = false; sec.canBe_eyeforaneye = false; sec.canBe_noblesacrifice = false; sec.canBe_redemption = false; sec.canBe_repentance = false; sec.canBe_avenge = false; sec.canBe_sacredtrial = false; sec.canBe_flameward = false; if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_554) && enemyCardsOut[CardDB.cardIDEnum.EX1_554] >= 2) { sec.canBe_snaketrap = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_609) && enemyCardsOut[CardDB.cardIDEnum.EX1_609] >= 2) { sec.canBe_snipe = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_610) && enemyCardsOut[CardDB.cardIDEnum.EX1_610] >= 2) { sec.canBe_explosive = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.AT_060) && enemyCardsOut[CardDB.cardIDEnum.AT_060] >= 2) { sec.canBe_beartrap = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_611) && enemyCardsOut[CardDB.cardIDEnum.EX1_611] >= 2) { sec.canBe_freezing = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_533) && enemyCardsOut[CardDB.cardIDEnum.EX1_533] >= 2) { sec.canBe_missdirection = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.LOE_021) && enemyCardsOut[CardDB.cardIDEnum.LOE_021] >= 2) { sec.canBe_darttrap = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.KAR_004) && enemyCardsOut[CardDB.cardIDEnum.KAR_004] >= 2) { sec.canBe_cattrick = false; } } if (SecClass == TAG_CLASS.MAGE) { sec.canBe_snaketrap = false; sec.canBe_snipe = false; sec.canBe_explosive = false; sec.canBe_beartrap = false; sec.canBe_freezing = false; sec.canBe_missdirection = false; sec.canBe_darttrap = false; sec.canBe_cattrick = false; sec.canBe_eyeforaneye = false; sec.canBe_noblesacrifice = false; sec.canBe_redemption = false; sec.canBe_repentance = false; sec.canBe_avenge = false; sec.canBe_sacredtrial = false; if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.ULD_239) && enemyCardsOut[CardDB.cardIDEnum.ULD_239] >= 2) { sec.canBe_flameward = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_287) && enemyCardsOut[CardDB.cardIDEnum.EX1_287] >= 2) { sec.canBe_counterspell = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_295) && enemyCardsOut[CardDB.cardIDEnum.EX1_295] >= 2) { sec.canBe_iceblock = false; } } if (SecClass == TAG_CLASS.PALADIN) { sec.canBe_snaketrap = false; sec.canBe_snipe = false; sec.canBe_explosive = false; sec.canBe_beartrap = false; sec.canBe_freezing = false; sec.canBe_missdirection = false; sec.canBe_darttrap = false; sec.canBe_cattrick = false; sec.canBe_flameward = false; sec.canBe_counterspell = false; //sec.canBe_icebarrier = false; sec.canBe_iceblock = false; //sec.canBe_mirrorentity = false; //sec.canBe_spellbender = false; //sec.canBe_vaporize = false; //sec.canBe_duplicate = false; //sec.canBe_effigy = false; sec.canBe_flameward = false; if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_132) && enemyCardsOut[CardDB.cardIDEnum.EX1_132] >= 2) { sec.canBe_eyeforaneye = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_130) && enemyCardsOut[CardDB.cardIDEnum.EX1_130] >= 2) { sec.canBe_noblesacrifice = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_136) && enemyCardsOut[CardDB.cardIDEnum.EX1_136] >= 2) { sec.canBe_redemption = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.EX1_379) && enemyCardsOut[CardDB.cardIDEnum.EX1_379] >= 2) { sec.canBe_repentance = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.FP1_020) && enemyCardsOut[CardDB.cardIDEnum.FP1_020] >= 2) { sec.canBe_avenge = false; } if (enemyCardsOut.ContainsKey(CardDB.cardIDEnum.LOE_027) && enemyCardsOut[CardDB.cardIDEnum.LOE_027] >= 2) { sec.canBe_sacredtrial = false; } } return(sec); }
public SecretItem getNewSecretGuessedItem(int entityid, HeroEnum enemyHeroName) { foreach (SecretItem si in this.enemySecrets) { if (si.entityId == entityid && entityid < 1000) return si; } SecretItem sec = new SecretItem { entityId = entityid }; if (enemyHeroName == HeroEnum.hunter) { sec.canBe_counterspell = false; sec.canBe_icebarrier = false; sec.canBe_iceblock = false; sec.canBe_mirrorentity = false; sec.canBe_spellbender = false; sec.canBe_vaporize = false; sec.canBe_duplicate = false; sec.canBe_eyeforaneye = false; sec.canBe_noblesacrifice = false; sec.canBe_redemption = false; sec.canBe_repentance = false; sec.canBe_avenge = false; if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_554) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_554] >= 2) { sec.canBe_snaketrap = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_609) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_609] >= 2) { sec.canBe_snipe = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_610) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_610] >= 2) { sec.canBe_explosive = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_611) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_611] >= 2) { sec.canBe_freezing = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_533) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_533] >= 2) { sec.canBe_missdirection = false; } } if (enemyHeroName == HeroEnum.mage) { sec.canBe_snaketrap = false; sec.canBe_snipe = false; sec.canBe_explosive = false; sec.canBe_freezing = false; sec.canBe_missdirection = false; sec.canBe_eyeforaneye = false; sec.canBe_noblesacrifice = false; sec.canBe_redemption = false; sec.canBe_repentance = false; sec.canBe_avenge = false; if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_287) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_287] >= 2) { sec.canBe_counterspell = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_289) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_289] >= 2) { sec.canBe_icebarrier = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_295) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_295] >= 2) { sec.canBe_iceblock = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_294) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_294] >= 2) { sec.canBe_mirrorentity = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.tt_010) && enemyCardsPlayed[CardDB.cardIDEnum.tt_010] >= 2) { sec.canBe_spellbender = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_594) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_594] >= 2) { sec.canBe_vaporize = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_018) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_018] >= 2) { sec.canBe_duplicate = false; } } if (enemyHeroName == HeroEnum.pala) { sec.canBe_snaketrap = false; sec.canBe_snipe = false; sec.canBe_explosive = false; sec.canBe_freezing = false; sec.canBe_missdirection = false; sec.canBe_counterspell = false; sec.canBe_icebarrier = false; sec.canBe_iceblock = false; sec.canBe_mirrorentity = false; sec.canBe_spellbender = false; sec.canBe_vaporize = false; sec.canBe_duplicate = false; if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_132) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_132] >= 2) { sec.canBe_eyeforaneye = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_130) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_130] >= 2) { sec.canBe_noblesacrifice = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_136) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_136] >= 2) { sec.canBe_redemption = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.EX1_379) && enemyCardsPlayed[CardDB.cardIDEnum.EX1_379] >= 2) { sec.canBe_repentance = false; } if (enemyCardsPlayed.ContainsKey(CardDB.cardIDEnum.FP1_020) && enemyCardsPlayed[CardDB.cardIDEnum.FP1_020] >= 2) { sec.canBe_avenge = false; } } return sec; }
//todo better! // Battlecry: Take control of a random enemy Secret;. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (own.own) { if (p.enemySecretList.Count >= 1) { if (p.enemyHeroStartClass == CardClass.HUNTER) { p.ownSecretsIDList.Add(CardIds.Collectible.Hunter.ExplosiveTrap); } if (p.enemyHeroStartClass == CardClass.MAGE) { p.ownSecretsIDList.Add(CardIds.Collectible.Mage.Vaporize); } if (p.enemyHeroStartClass == CardClass.PALADIN) { p.ownSecretsIDList.Add(CardIds.Collectible.Paladin.NobleSacrifice); } if (p.enemyHeroStartClass != CardClass.HUNTER && p.enemyHeroStartClass != CardClass.MAGE && p.enemyHeroStartClass != CardClass.PALADIN) { p.ownSecretsIDList.Add(CardIds.Collectible.Paladin.NobleSacrifice); } p.enemySecretList.RemoveAt(0); } } else { if (p.ownSecretsIDList.Count >= 1) { p.ownSecretsIDList.RemoveAt(0); var s = new SecretItem(); s.canBe_avenge = false; s.canBe_sacredtrial = false; s.canBe_counterspell = false; s.canBe_cattrick = false; s.canBe_duplicate = false; s.canBe_explosive = false; s.canBe_beartrap = false; s.canBe_eyeforaneye = false; s.canBe_freezing = false; s.canBe_icebarrier = false; s.canBe_iceblock = false; s.canBe_mirrorentity = false; s.canBe_missdirection = false; s.canBe_darttrap = false; s.canBe_noblesacrifice = false; s.canBe_redemption = false; s.canBe_repentance = false; s.canBe_snaketrap = false; s.canBe_snipe = false; s.canBe_spellbender = false; s.canBe_vaporize = false; s.entityId = 1050; s.canBe_explosive = true; p.enemySecretList.Add(s); } } }
public bool isEqual(SecretItem s) { bool result = this.entityId == s.entityId; result = result && this.canBe_avenge == s.canBe_avenge && this.canBe_counterspell == s.canBe_counterspell && this.canBe_duplicate == s.canBe_duplicate && this.canBe_explosive == s.canBe_explosive; result = result && this.canBe_eyeforaneye == s.canBe_eyeforaneye && this.canBe_freezing == s.canBe_freezing && this.canBe_icebarrier == s.canBe_icebarrier && this.canBe_iceblock == s.canBe_iceblock; result = result && this.canBe_mirrorentity == s.canBe_mirrorentity && this.canBe_missdirection == s.canBe_missdirection && this.canBe_noblesacrifice == s.canBe_noblesacrifice && this.canBe_redemption == s.canBe_redemption; result = result && this.canBe_repentance == s.canBe_repentance && this.canBe_snaketrap == s.canBe_snaketrap && this.canBe_snipe == s.canBe_snipe && this.canBe_spellbender == s.canBe_spellbender && this.canBe_vaporize == s.canBe_vaporize; return result; }