// fügt zwei zufälligen feindlichen dienern $2 schaden zu. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.isServer) { int damageS = (ownplay) ? p.getSpellDamageDamage(2) : p.getEnemySpellDamageDamage(2); List<Minion> temp22 = (ownplay) ? new List<Minion>(p.enemyMinions) : new List<Minion>(p.ownMinions); if (temp22.Count < 2) return; int random1 = p.getRandomNumber_SERVER(0, temp22.Count - 1); int random2 = p.getRandomNumber_SERVER(0, temp22.Count - 2); if (random2 >= random1) random2++; p.minionGetDamageOrHeal(temp22[random1], damageS); p.minionGetDamageOrHeal(temp22[random2], damageS); return; } //TODO delete new list int damage = (ownplay) ? p.getSpellDamageDamage(2) : p.getEnemySpellDamageDamage(2); List<Minion> temp2 = (ownplay) ? new List<Minion>(p.enemyMinions) : new List<Minion>(p.ownMinions) ; temp2.Sort((a, b) => a.Hp.CompareTo(b.Hp)); int i = 0; foreach (Minion enemy in temp2) { p.minionGetDamageOrHeal(enemy, damage); i++; if (i == 2) break; } }
// Deal $4-$5 damage to all minions. Overload: (5) public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (ownplay) { p.owedRecall += 5; } else { p.enemyRecall += 5; }; if (p.isServer) { foreach (Minion m in p.ownMinions) { int dmgr = p.getRandomNumber_SERVER(4, 5); dmgr = (ownplay) ? p.getSpellDamageDamage(dmgr) : p.getEnemySpellDamageDamage(dmgr); p.minionGetDamageOrHeal(m, dmgr); } foreach (Minion m in p.enemyMinions) { int dmgr = p.getRandomNumber_SERVER(4, 5); dmgr = (ownplay) ? p.getSpellDamageDamage(dmgr) : p.getEnemySpellDamageDamage(dmgr); p.minionGetDamageOrHeal(m, dmgr); } return; } int dmg = (ownplay) ? p.getSpellDamageDamage(5) : p.getEnemySpellDamageDamage(5); p.allMinionsGetDamage(dmg); }
CardDB.Card copymin = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.CS2_182); // we take a icewindjety :D public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.isServer) { List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>(); List<Handmanager.Handcard> cards = (ownplay)? p.enemyDeck : p.myDeck; foreach (Handmanager.Handcard hc in cards) { if (hc.card.type == CardDB.cardtype.MOB) { temp.Add(hc); } } if (temp.Count >= 1) { int rand = p.getRandomNumber_SERVER(0, temp.Count - 1); int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count; p.callKid(cards[rand].card, posi, true); } else { int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count; p.callKid(shadow, posi, true); } return; } p.callKid(copymin, p.ownMinions.Count, true); }
// At the end of your turn, give another friendly Mech +2/+2. public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { if (turnEndOfOwner == triggerEffectMinion.own) { List<Minion> temp = (turnEndOfOwner) ? p.ownMinions : p.enemyMinions; List<Minion> tempmech = new List<Minion>(); foreach (Minion m in temp) { if ((TAG_RACE)m.handcard.card.race == TAG_RACE.MECHANICAL) { tempmech.Add(m); } } if (tempmech.Count >= 1) { if (p.isServer) { int random = p.getRandomNumber_SERVER(0, tempmech.Count - 1); p.minionGetBuffed(tempmech[random], 2, 2); return; } p.minionGetBuffed(p.searchRandomMinion(tempmech, (triggerEffectMinion.own ? Playfield.searchmode.searchLowestHP : Playfield.searchmode.searchHighestHP)), 2, 2); } } }
// Battlecry: Give your other minions Windfury Taunt or Divine Shield public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (p.isServer) { List<Minion> temps = (own.own) ? p.ownMinions : p.enemyMinions; foreach (Minion m in temps) { int random = p.getRandomNumber_SERVER(0, 2); if(random == 0) m.taunt = true; if (random == 1) m.divineshild = true; if (random == 2) m.windfury = true; } return; } List<Minion> temp = (own.own) ? p.ownMinions : p.enemyMinions; foreach (Minion m in temp) { m.taunt = true; } }
CardDB.Card c = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_301);//felguard // todesröcheln:/ legt einen zufälligen dämon aus eurer hand auf das schlachtfeld. public override void onDeathrattle(Playfield p, Minion m) { if (p.isServer) { List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>(); List<Handmanager.Handcard> cards = (m.own) ? p.owncards : p.EnemyCards; foreach (Handmanager.Handcard hc in cards) { if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON) { temp.Add(hc); } } if (temp.Count == 0) return; int rand = p.getRandomNumber_SERVER(0, temp.Count - 1); p.callKid(cards[rand].card, p.ownMinions.Count, m.own); p.removeCard_SERVER(cards[rand], m.own); return; } if (m.own) { List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>(); foreach (Handmanager.Handcard hc in p.owncards) { if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON) { temp.Add(hc); } } temp.Sort((x, y) => x.card.Attack.CompareTo(y.card.Attack)); foreach (Handmanager.Handcard mnn in temp) { p.callKid(mnn.card, p.ownMinions.Count, true); p.removeCard(mnn); break; } } else { if (p.enemyAnzCards >= 1) { p.callKid(c, p.enemyMinions.Count , false); } } }
// kampfschrei:/ verleiht beiden spielern die macht des rock! (durch eine powerakkordkarte) public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (p.isServer) { bool chooser = true; int random = p.getRandomNumber_SERVER(0, 2); if (random == 0) p.drawACard(CardDB.cardIDEnum.PRO_001a, chooser, true); if (random == 1) p.drawACard(CardDB.cardIDEnum.PRO_001b, chooser, true); if (random == 2) p.drawACard(CardDB.cardIDEnum.PRO_001c, chooser, true); chooser = false; random = p.getRandomNumber_SERVER(0, 2); if (random == 0) p.drawACard(CardDB.cardIDEnum.PRO_001a, chooser, true); if (random == 1) p.drawACard(CardDB.cardIDEnum.PRO_001b, chooser, true); if (random == 2) p.drawACard(CardDB.cardIDEnum.PRO_001c, chooser, true); return; } p.drawACard(CardDB.cardIDEnum.PRO_001b, true, true); p.drawACard(CardDB.cardIDEnum.PRO_001b, false, true); }
// Battlecry: Gain 1-4 Attack. <b>Overload:</b> (1) public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (p.isServer) { if (own.own) { p.owedRecall += 1; } else { p.enemyRecall += 1; }; int random = p.getRandomNumber_SERVER(1, 4); p.minionGetBuffed(own, random, 0); return; } if (own.own) { p.owedRecall += 1; } else { p.enemyRecall += 1; }; p.minionGetBuffed(own, 2, 0); }
// Deathrattle: Deal 1-4 damage to a random enemy. public override void onDeathrattle(Playfield p, Minion m) { if (p.isServer) { int randdmg = p.getRandomNumber_SERVER(1, 4); Minion poortarget = p.getRandomMinionFromSide_SERVER(!m.own, true); if (poortarget != null) p.minionGetDamageOrHeal(poortarget, randdmg); return; } int dmg = (m.own ? 2 : 3); p.doDmgToRandomEnemyCLIENT2(dmg, true, m.own); }
// kampfschrei:/ konstruiert eine fantastische erfindung. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (p.isServer) { int random = p.getRandomNumber_SERVER(0, 3); if (random == 0) p.callKid(kid, own.zonepos, own.own, true); if (random == 1) p.callKid(kid1, own.zonepos, own.own, true); if (random == 2) p.callKid(kid2, own.zonepos, own.own, true); if (random == 3) p.callKid(kid3, own.zonepos, own.own, true); return; } p.callKid(kid, own.zonepos, own.own, true); }
// Deal $3-$6 damage.Overload: (1) public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { p.changeRecall(ownplay, 1); if (p.isServer) { int random = p.getRandomNumber_SERVER(3, 6); int dmgS = (ownplay) ? p.getSpellDamageDamage(random) : p.getEnemySpellDamageDamage(random); p.minionGetDamageOrHeal(target, dmgS); return; } int dmg = (ownplay) ? p.getSpellDamageDamage(4) : p.getEnemySpellDamageDamage(4); p.minionGetDamageOrHeal(target, dmg); }
// zu beginn eures zuges besteht eine chance von 50%, dass ihr eine zusätzliche karte zieht. public override void onTurnStartTrigger(Playfield p, Minion triggerEffectMinion, bool turnStartOfOwner) { if (triggerEffectMinion.own == turnStartOfOwner) { if (p.isServer) { int random = p.getRandomNumber_SERVER(0, 1); if (random == 0) { p.drawACard(CardDB.cardIDEnum.None, turnStartOfOwner); } return; } p.drawACard(CardDB.cardIDEnum.None, turnStartOfOwner); } }
// zieht am ende eures zuges eine traumkarte. public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { if (triggerEffectMinion.own == turnEndOfOwner) { if (p.isServer) { int random = p.getRandomNumber_SERVER(0, 4); if (random == 0) p.drawACard(CardDB.cardIDEnum.DREAM_01, turnEndOfOwner, true); if (random == 1) p.drawACard(CardDB.cardIDEnum.DREAM_02, turnEndOfOwner, true); if (random == 2) p.drawACard(CardDB.cardIDEnum.DREAM_03, turnEndOfOwner, true); if (random == 3) p.drawACard(CardDB.cardIDEnum.DREAM_04, turnEndOfOwner, true); if (random == 4) p.drawACard(CardDB.cardIDEnum.DREAM_05, turnEndOfOwner, true); } p.drawACard(CardDB.cardIDEnum.DREAM_02, turnEndOfOwner, true); } }
// tauscht zu beginn eures zuges diesen diener gegen einen zufälligen diener auf eurer hand aus. public override void onTurnStartTrigger(Playfield p, Minion triggerEffectMinion, bool turnStartOfOwner) { if (p.isServer && triggerEffectMinion.own == turnStartOfOwner) { List<Handmanager.Handcard> temp2 = new List<Handmanager.Handcard>(); List<Handmanager.Handcard> hand = (turnStartOfOwner) ? p.owncards : p.EnemyCards; foreach (Handmanager.Handcard hc in hand) { if (hc.card.type == CardDB.cardtype.MOB) temp2.Add(hc); } if (temp2.Count == 0) return; int random = p.getRandomNumber_SERVER(0, temp2.Count - 1); p.minionTransform(triggerEffectMinion, temp2[random].card); p.removeCard(temp2[random]); p.drawACard(CardDB.cardIDEnum.EX1_006, turnStartOfOwner, true); return; } if (turnStartOfOwner && triggerEffectMinion.own == turnStartOfOwner) { List<Handmanager.Handcard> temp2 = new List<Handmanager.Handcard>(); foreach (Handmanager.Handcard hc in p.owncards) { if (hc.card.type == CardDB.cardtype.MOB) temp2.Add(hc); } temp2.Sort((a, b) => -a.card.Attack.CompareTo(b.card.Attack));//damage the stronges foreach (Handmanager.Handcard mins in temp2) { CardDB.Card c = CardDB.Instance.getCardDataFromID(mins.card.cardIDenum); p.minionTransform(triggerEffectMinion, c); p.removeCard(mins); p.drawACard(CardDB.cardIDEnum.EX1_006, true, true); break; } return; } if (!turnStartOfOwner && triggerEffectMinion.own == turnStartOfOwner) { p.minionGetBuffed(triggerEffectMinion, 4, 4); triggerEffectMinion.Hp = triggerEffectMinion.maxHp; } }
//Deal $2-$3 damage to all enemy minions. Overload: (2) public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.isServer) { List<Minion> temp = (!ownplay) ? p.ownMinions : p.enemyMinions; foreach (Minion m in temp) { int random = p.getRandomNumber_SERVER(2, 3); int dmgs = (ownplay) ? p.getSpellDamageDamage(random) : p.getEnemySpellDamageDamage(random); p.minionGetDamageOrHeal(m, dmgs, true); } if (ownplay) { p.owedRecall += 2; } else { p.enemyRecall += 2; }; return; } int dmg = (ownplay) ? p.getSpellDamageDamage(3) : p.getEnemySpellDamageDamage(3); p.allMinionOfASideGetDamage(!ownplay, dmg); if (ownplay) { p.owedRecall += 2; } else { p.enemyRecall += 2; }; }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count ; if (p.isServer) { int random1 = p.getRandomNumber_SERVER(3, 5); for (int i = 0; i < random1; i++) { p.callKid(kid, posi, ownplay); } return; } p.callKid(kid, posi, ownplay); p.callKid(kid, posi, ownplay); p.callKid(kid, posi, ownplay); p.callKid(kid, posi, ownplay); }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.isServer) { List<Handmanager.Handcard> cardss = (ownplay) ? p.EnemyCards : p.owncards; if (cardss.Count >= 1) { int random = p.getRandomNumber_SERVER(0, cardss.Count - 1); p.drawACard(cardss[random].card.cardIDenum, ownplay, true); } return; } int anz = (ownplay) ? p.enemyAnzCards : p.owncards.Count; if (anz >= 1) { p.drawACard(CardDB.cardIDEnum.None, ownplay, true); } }
CardDB.Card card2 = CardDB.Instance.getCardDataFromID(CardDB.cardIDEnum.EX1_tk28); // squirrel //todo better // kampfschrei:/ verwandelt einen anderen zufälligen diener in einen teufelssaurier (5/5) oder ein eichhörnchen (1/1). public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (p.isServer) { Minion choosen = p.getRandomCharExcept_SERVER(null, false); if (choosen != null) { int rand = p.getRandomNumber_SERVER(0, 1); if (rand == 0) p.minionTransform(choosen, card1); if (rand == 1) p.minionTransform(choosen, card2); } return; } int oc = p.ownMinions.Count; int ec = p.enemyMinions.Count; if (oc == 0 && ec == 0) return; if (oc > ec) { List<Minion> temp = new List<Minion>(p.ownMinions); temp.AddRange(p.enemyMinions); temp.Sort((a, b) => a.Hp.CompareTo(b.Hp));//transform the weakest foreach (Minion m in temp) { p.minionTransform(m, card1); break; } } else { List<Minion> temp = new List<Minion>(p.ownMinions); temp.AddRange(p.enemyMinions); temp.Sort((a, b) => -a.Hp.CompareTo(b.Hp));//transform the strongest foreach (Minion m in temp) { p.minionTransform(m, card2); break; } } }
// Deathrattle: Deal 1-4 damage to a random enemy. public override void onDeathrattle(Playfield p, Minion m) { if (p.isServer) { int randdmg = p.getRandomNumber_SERVER(1, 4); Minion poortarget = p.getRandomMinionFromSide_SERVER(!m.own, true); if (poortarget != null) p.minionGetDamageOrHeal(poortarget, randdmg); return; } List<Minion> temp = (m.own) ? p.enemyMinions : p.ownMinions; if (temp.Count >= 1 && temp.Count >=1 ) { p.minionGetDamageOrHeal(p.searchRandomMinion(temp, Playfield.searchmode.searchHighestHP), 2); } else { p.minionGetDamageOrHeal(((m.own)?p.enemyHero : p.ownHero), 2); } }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.isServer) { int rand = p.getRandomNumber_SERVER(2, 4); int dmgs = (ownplay) ? p.getSpellDamageDamage(rand) : p.getEnemySpellDamageDamage(rand); p.minionGetDamageOrHeal(target, dmgs); int posis = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count; for (int i = 0; i < dmgs; i++) { p.callKid(kid, posis, ownplay); posis++; } return; } int dmg = (ownplay) ? p.getSpellDamageDamage(2) : p.getEnemySpellDamageDamage(2); p.minionGetDamageOrHeal(target, dmg); int posi = (ownplay) ? p.ownMinions.Count : p.enemyMinions.Count; p.callKid(kid, posi, ownplay); posi++; p.callKid(kid, posi, ownplay); }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (p.isServer) { List<Handmanager.Handcard> temp = new List<Handmanager.Handcard>(); List<Handmanager.Handcard> cards = p.owncards; foreach (Handmanager.Handcard hc in cards) { if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON) { temp.Add(hc); } } if (temp.Count >= 1) { int rand = p.getRandomNumber_SERVER(0, temp.Count - 1); p.callKid(cards[rand].card, p.ownMinions.Count, true); p.removeCard_SERVER(cards[rand], true); } temp.Clear(); cards = p.EnemyCards; foreach (Handmanager.Handcard hc in cards) { if ((TAG_RACE)hc.card.race == TAG_RACE.DEMON) { temp.Add(hc); } } if (temp.Count >= 1) { int rand = p.getRandomNumber_SERVER(0, temp.Count - 1); p.callKid(cards[rand].card, p.ownMinions.Count, false); p.removeCard_SERVER(cards[rand], false); } return; } Handmanager.Handcard c = null; int sum = 10000; foreach (Handmanager.Handcard hc in p.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.ownMinions.Count, true); p.removeCard(c); p.triggerCardsChanged(true); } if (p.enemyAnzCards >= 2) { p.callKid(enemymob, p.enemyMinions.Count, false); p.enemyAnzCards--; p.triggerCardsChanged(false); } }