public override void onSecretPlay(Playfield p, bool ownplay, Minion attacker, Minion target, out int number) { number = 0; if (ownplay) { int posi = p.playerFirst.ownMinions.Count; p.callKid(kid, posi, true); if (p.playerFirst.ownMinions.Count >= 1) { if (p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].name == CardDB.cardName.defender) { number = p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].entitiyID; } } } else { int posi = p.playerSecond.ownMinions.Count; p.callKid(kid, posi, false); if (p.playerSecond.ownMinions.Count >= 1) { if (p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].name == CardDB.cardName.defender) { number = p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].entitiyID; } } } }
// ruft zwei diener (0/2) mit spott/ herbei. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, posi, ownplay); p.callKid(kid, posi, ownplay); }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.GVG_110t);//chillwind public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { int pos = (own.own) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, pos, own.own); pos = (own.own) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, pos, own.own); }
// Put a random minion from each player's hand into the battlefield. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { Handmanager.Handcard c = null; int sum = 10000; foreach (Handmanager.Handcard hc in p.playerFirst.owncards) { if (hc.card.type == CardDB.cardtype.MOB) { int s = hc.card.Health + hc.card.Attack + ((hc.card.tank) ? 1 : 0) + ((hc.card.Shield) ? 1 : 0); if (s < sum) { c = hc; sum = s; } } } if (sum < 9999) { p.callKid(c.card, p.playerFirst.ownMinions.Count, true); p.removeCard(c, true); p.triggerCardsChanged(true); } if (p.playerSecond.owncards.Count >= 2) { p.callKid(c.card, p.playerSecond.ownMinions.Count, false); p.removeCard(c, false); p.triggerCardsChanged(false); } }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int dmg = p.getSpellDamageDamage(2, ownplay); p.minionGetDamageOrHeal(target, dmg); int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, posi, ownplay); posi++; p.callKid(kid, posi, ownplay); }
// vernichtet alle diener und ruft für jeden einen treant (2/2) als ersatz herbei. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int ownanz = p.playerFirst.ownMinions.Count; int enemanz = p.playerSecond.ownMinions.Count; p.allMinionsGetDestroyed(); for (int i = 0; i < ownanz; i++) { p.callKid(d, 1, true); } for (int i = 0; i < enemanz; i++) { p.callKid(d, 1, false); } }
//todo secret // geheimnis:/ wenn euer gegner einen diener ausspielt, beschwört ihr eine kopie desselben herbei. public override void onSecretPlay(Playfield p, bool ownplay, Minion target, int number) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(target.handcard.card, posi, ownplay); if (ownplay) { if (p.playerFirst.ownMinions.Count >= 1 && p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].name == target.handcard.card.name) { int e = p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].entitiyID; p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].setMinionTominion(target); p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].entitiyID = e; p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].own = true; } } else { if (p.playerSecond.ownMinions.Count >= 1 && p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].name == target.handcard.card.name) { int e = p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].entitiyID; p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].setMinionTominion(target); p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].entitiyID = e; p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].own = false; } } }
// combo:/ ruft einen banditen der defias (2/1) herbei. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (p.playerFirst.cardsPlayedThisTurn >= 1) { p.callKid(card, own.zonepos, own.own); } }
public override void onTurnStartTrigger(Playfield p, Minion triggerEffectMinion, bool turnStartOfOwner) { if(turnStartOfOwner != triggerEffectMinion.own) return; List<Minion> temp = (turnStartOfOwner) ? p.playerFirst.ownMinions : p.playerSecond.ownMinions; int anz =0; foreach (Minion m in temp) { if ((TAG_RACE)m.handcard.card.race == TAG_RACE.MECHANICAL && m.Hp >=1 ) { anz++; } } if (anz >= 3) { foreach (Minion m in temp) { if ((TAG_RACE)m.handcard.card.race == TAG_RACE.MECHANICAL) { p.minionGetDestroyed(m); } } int pos = (triggerEffectMinion.own) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, pos, triggerEffectMinion.own,false, true); // we allow to summon one minion more (because 3 are destroyed) } }
// todesröcheln:/ ruft thaddius herbei, wenn feugen in diesem duell bereits gestorben ist. public override void onDeathrattle(Playfield p, Minion m) { if (p.stalaggDead) { p.callKid(thaddius, m.zonepos - 1, m.own); } }
public override void onCardIsGoingToBePlayed(Playfield p, CardDB.Card c, bool wasOwnCard, Minion triggerEffectMinion) { if (wasOwnCard == triggerEffectMinion.own && c.type == CardDB.cardtype.SPELL) { int place = (wasOwnCard)? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(card, place, wasOwnCard); } }
CardDB.Card d = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_614t);//flameofazzinoth // beschwört jedes mal eine flamme von azzinoth (2/1), wenn ihr eine karte ausspielt. public override void onCardIsGoingToBePlayed(Playfield p, CardDB.Card c, bool wasOwnCard, Minion triggerEffectMinion) { if (wasOwnCard == triggerEffectMinion.own) { p.callKid(d, triggerEffectMinion.zonepos, triggerEffectMinion.own); } }
// vernichtet einen diener und bringt ihn dann mit vollem leben wieder auf das schlachtfeld zurück. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { bool own = target.own; int place = target.zonepos; CardDB.Card d = target.handcard.card; p.minionGetDestroyed(target); p.callKid(d, place, own); }
// Summon a random friendly minion that died this game. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.playerFirst.ownMaxMana >= 6) { int posi = ownplay ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; CardDB.Card kid = CardDB.Instance.getCardDataFromID((p.playerFirst.ownLastDiedMinion == CardDB.cardIDEnum.None) ? CardDB.cardIDEnum.EX1_345t : p.playerFirst.ownLastDiedMinion); // Shadow of Nothing 0:1 or ownMinion p.callKid(kid, posi, ownplay); } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.NEW1_040t);//gnoll // ruft am ende eures zuges einen gnoll (2/2) mit spott/ herbei. public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { if (triggerEffectMinion.own == turnEndOfOwner) { int posi = triggerEffectMinion.zonepos; p.callKid(kid, posi, triggerEffectMinion.own); } }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { for (int i = 0; i < 3; i++) { int pos = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, pos, ownplay); } p.equipWeapon(w, ownplay); }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_573t); //special treant // wählt aus:/ verleiht euren anderen dienern +2/+2; oder ruft zwei treants (2/2) mit spott/ herbei. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (choice == 1) { List<Minion> temp = (own.own) ? p.playerFirst.ownMinions : p.playerSecond.ownMinions; foreach (Minion m in temp) { p.minionGetBuffed(m, 2, 2); } } if (choice == 2) { int pos = (own.own) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, pos, own.own, true); p.callKid(kid, pos, own.own, true); } }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int heal = p.getSpellHeal(3, ownplay); p.minionGetDamageOrHeal(target, -heal); if (target.Hp < target.maxHp) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, posi, ownplay); } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_116t);//whelp // kampfschrei:/ ruft welplinge (1/1) herbei, bis eure seite des schlachtfelds voll ist. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { int kids = 7 - p.playerFirst.ownMinions.Count; for (int i = 0; i < kids; i++) { p.callKid(kid, own.zonepos, own.own, true); } }
// ruft am ende jedes zuges alle befreundeten diener herbei, die in diesem zug gestorben sind. public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { foreach (GraveYardItem m in p.diedMinions.ToArray()) // toArray() because a knifejuggler could kill a minion due to the summon :D { if (triggerEffectMinion.own == m.own) { CardDB.Card card = CardDB.Instance.getCardDataFromID(m.cardid); p.callKid(card, p.playerFirst.ownMinions.Count, m.own); } } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_598);//imp public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { if (triggerEffectMinion.own == turnEndOfOwner) { int posi = triggerEffectMinion.zonepos; if (triggerEffectMinion.Hp == 1) posi--; p.minionGetDamageOrHeal(triggerEffectMinion, 1); p.callKid(kid, posi, triggerEffectMinion.own); triggerEffectMinion.stealth = false; } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.BRM_019);//Grim Patron public override void onMinionGotDmgTrigger(Playfield p, Minion m, bool ownDmgdmin) { if (m.anzGotDmg>=1 && m.Hp > 0) { for (int i = 0; i < m.anzGotDmg; i++) { p.callKid(kid, m.zonepos, m.own); } m.anzGotDmg = 0; } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_029);//lepergnome public override void onMinionDiedTrigger(Playfield p, Minion m, Minion diedMinion) { int diedMinions = (m.own) ? p.tempTrigger.enemyMinionsDied : p.tempTrigger.ownMinionsDied; if (diedMinions >= 1) { for (int i = 0; i < diedMinions; i++) { int pos = (m.own) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, pos, m.own); } } }
CardDB.Card kid2 = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_052);// // heldenfähigkeit/\nruft einen rekruten der silbernen hand (1/1) herbei. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; bool spawnspellpower = true; foreach (Minion m in (ownplay) ? p.playerFirst.ownMinions : p.playerSecond.ownMinions) { if (m.handcard.card.cardIDenum == CardDB.cardIDEnum.CS2_052) { spawnspellpower = false; break; } } p.callKid((spawnspellpower) ? kid2 : kid, posi, ownplay); }
// kampfschrei:/ beschwört am ende des zuges eine exakte kopie dieses dieners. public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { if (triggerEffectMinion.playedThisTurn && triggerEffectMinion.own == turnEndOfOwner) { p.callKid(triggerEffectMinion.handcard.card, triggerEffectMinion.zonepos, turnEndOfOwner); List<Minion> temp = (turnEndOfOwner) ? p.playerFirst.ownMinions : p.playerSecond.ownMinions; foreach (Minion mnn in temp) { if (mnn.name == CardDB.cardName.echoingooze && triggerEffectMinion.entitiyID != mnn.entitiyID) { mnn.setMinionTominion(triggerEffectMinion); break; } } } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_160t);//panther public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (choice == 1) { List<Minion> temp = (ownplay) ? p.playerFirst.ownMinions : p.playerSecond.ownMinions; foreach (Minion m in temp) { p.minionGetBuffed(m, 1, 1); } } if (choice == 2) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, posi, true); } }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (choice == 1) { for (int i = 0; i < 5; i++) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, posi, ownplay); } } if (choice == 2) { if (target != null) { p.minionGetBuffed(target, 5, 5); target.taunt = true; } } }
//todo secret // geheimnis:/ wenn einer eurer diener stirbt, wird er mit 1 leben wiederbelebt. public override void onSecretPlay(Playfield p, bool ownplay, int number) { int posi = ownplay ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; CardDB.Card kid = CardDB.Instance.getCardDataFromID(ownplay ? p.playerFirst.revivingOwnMinion : p.playerSecond.revivingOwnMinion); p.callKid(kid, posi, ownplay); if (ownplay) { if (p.playerFirst.ownMinions.Count >= 1) { if (p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].handcard.card.cardIDenum == kid.cardIDenum) { p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].Hp = 1; p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].wounded = false; if (p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].Hp < p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].maxHp) { p.playerFirst.ownMinions[p.playerFirst.ownMinions.Count - 1].wounded = true; } } } } else { if (p.playerSecond.ownMinions.Count >= 1) { if (p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].handcard.card.cardIDenum == kid.cardIDenum) { p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].Hp = 1; p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].wounded = false; if (p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].Hp < p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].maxHp) { p.playerSecond.ownMinions[p.playerSecond.ownMinions.Count - 1].wounded = true; } } } } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_554t);//snake public override void onSecretPlay(Playfield p, bool ownplay, int number) { if (ownplay) { int posi = p.playerFirst.ownMinions.Count; p.callKid(kid, posi, true); p.callKid(kid, posi, true); p.callKid(kid, posi, true); } else { int posi = p.playerSecond.ownMinions.Count; p.callKid(kid, posi, false); p.callKid(kid, posi, false); p.callKid(kid, posi, false); } }
CardDB.Card kid = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_059);//bloodimp public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int dmg = p.getSpellDamageDamage(2, ownplay); bool summondemon = false; if (!target.isHero && dmg >= target.Hp && !target.divineshild && !target.immune) { summondemon = true; } p.minionGetDamageOrHeal(target, dmg); if (summondemon) { int posi = (ownplay) ? p.playerFirst.ownMinions.Count : p.playerSecond.ownMinions.Count; p.callKid(kid, posi, ownplay); } }