private void PlayWindfuryReminderIfPossible(Entity entity, Card card) { if (this.CanPlayWindfuryReminder(entity, card)) { card.ActivateActorSpell(SpellType.WINDFURY_BURST); } }
protected virtual Spell BlowUpHero(Card card, SpellType spellType) { Spell spell = card.ActivateActorSpell(spellType); Gameplay.Get().StartCoroutine(this.HideOtherElements(card)); return(spell); }
private void PlayCardSpells(Card heroPowerCard, Card weaponCard) { heroPowerCard.ShowCard(); heroPowerCard.CreateStartingCardStateEffects(); heroPowerCard.ActivateActorSpell(SpellType.SUMMON_JARAXXUS, new Spell.FinishedCallback(this.OnSpellFinished_HeroPower)); weaponCard.ActivateActorSpell(SpellType.SUMMON_JARAXXUS, new Spell.FinishedCallback(this.OnSpellFinished_Weapon)); }
protected override Spell BlowUpHero(Card card, SpellType spellType) { if (card.GetEntity().GetCardId() != "TU4f_001") { return(base.BlowUpHero(card, spellType)); } Spell spell = card.ActivateActorSpell(SpellType.CHODEATH); Gameplay.Get().StartCoroutine(base.HideOtherElements(card)); return(spell); }
protected override void OnProcessTaskList() { if ((((this.m_attackType == AttackType.ONLY_PROPOSED_ATTACKER) || (this.m_attackType == AttackType.ONLY_PROPOSED_DEFENDER)) || ((this.m_attackType == AttackType.ONLY_ATTACKER) || (this.m_attackType == AttackType.ONLY_DEFENDER))) || (((this.m_attackType == AttackType.WAITING_ON_PROPOSED_ATTACKER) || (this.m_attackType == AttackType.WAITING_ON_PROPOSED_DEFENDER)) || ((this.m_attackType == AttackType.WAITING_ON_ATTACKER) || (this.m_attackType == AttackType.WAITING_ON_DEFENDER)))) { this.FinishEverything(); } else { Card source = base.GetSource(); Entity entity = source.GetEntity(); Zone zone = source.GetZone(); bool flag = zone.m_Side == Player.Side.FRIENDLY; if (flag) { this.m_sourceAttackSpell = source.GetActorSpell(SpellType.FRIENDLY_ATTACK); } else { this.m_sourceAttackSpell = source.GetActorSpell(SpellType.OPPONENT_ATTACK); } if (this.m_attackType == AttackType.CANCELED) { if (this.m_sourceAttackSpell != null) { if (entity.IsHero()) { this.m_sourceAttackSpell.ActivateState(SpellStateType.CANCEL); } else { this.m_sourceAttackSpell.ActivateState(SpellStateType.DEATH); } } source.SetDoNotSort(false); zone.UpdateLayout(); source.EnableAttacking(false); this.FinishEverything(); } else { source.EnableAttacking(true); if (entity.HasTag(GAME_TAG.IMMUNE_WHILE_ATTACKING)) { source.ActivateActorSpell(SpellType.IMMUNE); } this.m_sourceAttackSpell.AddStateStartedCallback(new Spell.StateStartedCallback(this.OnSourceAttackStateStarted)); if (flag) { if (this.m_sourceAttackSpell.GetActiveState() != SpellStateType.IDLE) { this.m_sourceAttackSpell.ActivateState(SpellStateType.BIRTH); } else { this.m_sourceAttackSpell.ActivateState(SpellStateType.ACTION); } } else { this.m_sourceAttackSpell.ActivateState(SpellStateType.BIRTH); } } } }