internal override void Play(EffectSet ef, Player player, IEnemy enemy, int upgradeCount, IList <CardInstance> targets = null, Deck deck = null, long?key = null) { var oe = new OneEffect { Action = (Fight f, Deck d, List <string> history) => { f._Player.Energy += 2; history.Add("Gained 2 energy mana from SeeingRed"); } }; ef.FightEffect.Add(oe); }
public override void EndFight(Deck d, EffectSet relicEf) { var oe = new OneEffect(); //TODO why is this weird. oneEffect can actually cause multiple histories. So probably refactor the return value. oe.Action = (Fight f, Deck d, List <string> history) => { f._Player.HealFor(6, out string healres); history.Add($"Burning Blood Heal {healres}"); }; relicEf.FightEffect.Add(oe); }
internal override void Play(EffectSet ef, Player player, IEnemy enemy, int upgradeCount, IList <CardInstance> targets = null, Deck deck = null, long?key = null) { var x = new OneEffect { Action = (Fight f, Deck d, List <string> history) => { var theCard = d.Draw(player: player, targetCards: null, count: 1, reshuffle: true, ef: ef, history: history).SingleOrDefault(); if (theCard == null) { history.Add("Havok drew nothing"); return; } f.PlayCard(theCard, forceExhaust: true, newCard: true, source: new List <CardInstance>() { theCard }); history.Add($"Havok drew and played {theCard} which then exhausted"); } }; ef.FightEffect.Add(x); }