protected override void Modify(Card card) { card.Text = "You cannot rest or prepare." + "<br/><br/>" + "<b>Trophy:</b> Attack -1" + "<br/><br/>" + "<b>Village/Dungeon:</b> Select 2 random cards from your hand <i>(excluding this card).</i> " + "You may destroy 1 of them to destroy this card."; card.AddEventHandler( events => events.Subscribe<CardDrawnToHand>( ev => { if (ev.Card == card) card.Player.ValidActions = card.Player.ValidActions.Except(new[] {PlayerAction.Prepare, PlayerAction.Rest}); })); card.CreateAbility() .Description("Select 2 random cards from your hand. You may destroy 1 of them to destroy this card.") .SelectCards(x => x.Select().FromRandomHandSelection(2, c => c != card) .Caption("Curse of War").Message("Destroy 1 card.")) .OnCardsSelected(x => { x.Player.DestroyCard(x.Selected.First(), card.Name); x.Player.DestroyCard(card, card.Name); }) .Condition(p => p.Hand.Count >= 3) .On(Phase.Village, Phase.Dungeon); }
protected override void Modify(Card card) { card.CreateAbility() .DestroyCard("Destroy a hero.", c => c.IsHero()) .On(Phase.Battle); card.AddEventHandler(events => events.Subscribe<DungeonHallRefilled>(e => KeepStramstFromAdvancing(card, e))); }
protected override void Modify(Card card) { base.Modify(card); card.PotentialPhysicalAttack = () => 2; card.CreateAbility() .EquipWeapon(Attr.PhysicalAttack, 2) .On(Phase.Equip); card.AddEventHandler( events => events.Subscribe<SelectingCards>( message => { if (message.TriggeringAbility != null && message.TriggeringAbility.Phase == Phase.Battle && card.IsEquipped) message.Selection.Remove(card.GetEquipped().First()); })); }
protected override void Modify(Card card) { base.Modify(card); card.PotentialPhysicalAttack = () => 5; card.CreateAbility() .EquipWeapon((player, hero) => { hero.AddModifier(new SetMod(card, Attr.PhysicalAttack, 0)); hero.AddModifier(new SetMod(card, Attr.MagicalAttack, 0)); }).On(Phase.Equip); card.AddEventHandler(events => events.Subscribe<AttackRankSelected>(e => { if (e.AttackedRank.Number >= 2 && card.IsEquipped) card.GetEquipped().First().AddModifier(new PlusMod(card, Attr.PhysicalAttack, 5)); })); }
protected override void Modify(Card card) { card.CreateAbility() .Description("If this is the first ability you use this turn, destroy this card. You cannot use any more abilities this turn.") .Action(x => { x.Player.DestroyCard(card, card.Name); x.Player.ActiveAbilities.RemoveAll(a => a.Card.Owner == CardOwner.Player); }) .On(Phase.Village, Phase.Dungeon); // Add event handler that removes this card's abilities when player uses another card's ability (except equipping) card.AddEventHandler(events => events.Subscribe<CardAbilityUsed>(e => { var usedCard = e.Ability.Card; if (e.Ability.Phase != Phase.Equip && usedCard.Owner == CardOwner.Player && usedCard != card) usedCard.Player.ActiveAbilities.RemoveAll(x => x.Card == card); })); }