// Hero PowerDeal 8 damage to a random enemy. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int dmg = 8; if (ownplay) { if (p.playerFirst.doublepriest >= 1) dmg *= (2 * p.playerFirst.doublepriest); if (p.playerSecond.ownMinions.Count > 0) { target = p.searchRandomMinion(p.playerSecond.ownMinions, Playfield.searchmode.searchLowestHP); //damage the lowest (pessimistic variant) } else { target = p.playerSecond.ownHero; } } else { if (p.playerSecond.doublepriest >= 1) dmg *= (2 * p.playerSecond.doublepriest); if (p.playerFirst.ownMinions.Count > 0) { target = p.searchRandomMinion(p.playerFirst.ownMinions, Playfield.searchmode.searchHighestAttack); //damage the Highest (pessimistic variant) } else { target = p.playerFirst.ownHero; } } p.minionGetDamageOrHeal(target, dmg); }
// Whenever you summon a Pirate, deal 2 damage to a random enemy. public override void onMinionIsSummoned(Playfield p, Minion triggerEffectMinion, Minion summonedMinion) { if (triggerEffectMinion.own == summonedMinion.own) { List<Minion> temp = (triggerEffectMinion.own) ? p.playerSecond.ownMinions : p.playerFirst.ownMinions; Minion m = p.searchRandomMinion(temp, Playfield.searchmode.searchHighestHP); if (m != null) { p.minionGetDamageOrHeal(m, 2, true); } } }
public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { p.equipWeapon(w, ownplay); List<Minion> temp = (ownplay) ? p.playerFirst.ownMinions : p.playerSecond.ownMinions; if (temp.Count <= 0) return; Minion m = p.searchRandomMinion(temp, Playfield.searchmode.searchLowestHP); if (m != null) { m.divineshild = true; m.taunt = true; } }
// After you cast a spell, deal 2 damage randomly split among all enemies. public override void onCardIsGoingToBePlayed(Playfield p, CardDB.Card c, bool ownplay, Minion m) { if (m.own == ownplay && c.type == CardDB.cardtype.SPELL) { Minion target = (ownplay) ? p.playerSecond.ownHero : p.playerFirst.ownHero; p.minionGetDamageOrHeal(target, 1); List<Minion> temp = (ownplay) ? p.playerSecond.ownMinions : p.playerFirst.ownMinions; if (temp.Count > 0) target = p.searchRandomMinion(temp, Playfield.searchmode.searchLowestHP); if (target == null) target = (ownplay) ? p.playerSecond.ownHero : p.playerFirst.ownHero; p.minionGetDamageOrHeal(target, 1); } }
// Can't Attack. At the end of your turn, deal 8 damage to a random enemy. public override void onTurnEndsTrigger(Playfield p, Minion triggerEffectMinion, bool turnEndOfOwner) { if (triggerEffectMinion.own == turnEndOfOwner) { Minion target = new Minion(); if (turnEndOfOwner) { if (p.playerSecond.ownMinions.Count > 0) { target = p.searchRandomMinion(p.playerSecond.ownMinions, Playfield.searchmode.searchLowestHP); //damage the lowest (pessimistic variant) if (target == null) { target = p.searchRandomMinion(p.playerSecond.ownMinions, Playfield.searchmode.searchLowestHP); //damage the lowest (pessimistic variant) } } else { target = p.playerSecond.ownHero; } } else { if (p.playerFirst.ownMinions.Count > 0) { target = p.searchRandomMinion(p.playerFirst.ownMinions, Playfield.searchmode.searchHighestAttack); //damage the Highest (pessimistic variant) if (target == null) { target = p.searchRandomMinion(p.playerFirst.ownMinions, Playfield.searchmode.searchHighestAttack); //damage the Highest (pessimistic variant) } } else { target = p.playerFirst.ownHero; } } p.minionGetDamageOrHeal(target, 8); triggerEffectMinion.stealth = false; //Implementation is this right? //p.doDmgTriggers(); } }
// Destroy a random enemy minion. Combo: And your opponent's weapon. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { List<Minion> temp = (ownplay)? p.playerSecond.ownMinions : p.playerFirst.ownMinions; if (temp.Count >= 1) { // Drew: Null check for searchRandomMinion. var found = p.searchRandomMinion(temp, Playfield.searchmode.searchLowestHP); if (found != null) { p.minionGetDestroyed(found); } } if (p.playerFirst.cardsPlayedThisTurn >= 1) p.lowerWeaponDurability(1000, !ownplay); }
// Give your weapon +3 Attack. Combo: Give a random friendly minion +3 Attack. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { if (ownplay) { if (p.playerFirst.ownWeaponDurability >= 1) { p.playerFirst.ownWeaponAttack += 3; p.minionGetBuffed(p.playerFirst.ownHero, 3, 0); } if (p.playerFirst.cardsPlayedThisTurn >= 1 && p.playerFirst.ownMinions.Count >= 1) { // Drew: Null check for searchRandomMinion. var found = p.searchRandomMinion(p.playerFirst.ownMinions, Playfield.searchmode.searchLowestAttack); if (found != null) { p.minionGetBuffed(found, 3, 0); } } } else { if (p.playerSecond.ownWeaponDurability >= 1) { p.playerSecond.ownWeaponAttack += 3; p.minionGetBuffed(p.playerSecond.ownHero, 3, 0); } if (p.playerFirst.cardsPlayedThisTurn >= 1 && p.playerSecond.ownMinions.Count >= 1) { // Drew: Null check for searchRandomMinion. var found = p.searchRandomMinion(p.playerSecond.ownMinions, Playfield.searchmode.searchLowestAttack); if (found != null) { p.minionGetBuffed(found, 3, 0); } } } }
// Hero Power (Heroic): Fire a missile for each card in your opponent's hand. public override void onCardPlay(Playfield p, bool ownplay, Minion target, int choice) { int dmg = 1; int cardCount = 0; if (ownplay) { cardCount = p.playerFirst.owncards.Count; if (p.playerFirst.doublepriest >= 1) dmg *= (2 * p.playerFirst.doublepriest); } else { cardCount = p.playerSecond.owncards.Count; if (p.playerSecond.doublepriest >= 1) dmg *= (2 * p.playerSecond.doublepriest); } for (int i = 0; i < cardCount; i++) { var found = (ownplay)? p.searchRandomMinion(p.playerFirst.ownMinions, Playfield.searchmode.searchHighAttackLowHP) : p.searchRandomMinion(p.playerSecond.ownMinions, Playfield.searchmode.searchHighAttackLowHP); if (found != null) { p.minionGetDamageOrHeal(found, dmg); } } }
// 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.playerFirst.ownMinions : p.playerSecond.ownMinions; if (temp.Count >= 1) { // Drew: Null check for searchRandomMinion. var found = p.searchRandomMinion(temp, Playfield.searchmode.searchHighestAttack); if (found != null) { p.minionGetBuffed(found, 2, 2); } } } }
// Deathrattle: Deal 1-4 damage to a random enemy. public override void onDeathrattle(Playfield p, Minion m) { List<Minion> temp = (m.own) ? p.playerSecond.ownMinions : p.playerFirst.ownMinions; if (temp.Count >= 1 && temp.Count >=1 ) { var found = p.searchRandomMinion(temp, Playfield.searchmode.searchHighestHP); if (found != null) { p.minionGetDamageOrHeal(found, 2); } } else { p.minionGetDamageOrHeal(((m.own)?p.playerSecond.ownHero : p.playerFirst.ownHero), 2); } }