Beispiel #1
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        Owner.deployTriggerTracker.RemoveListener(this);
        DeclareAttackEvent.RemoveListener(AbilitySupport.AntiFliers);

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #2
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        Owner.deployTriggerTracker.RemoveListener(this);
        CancelJavelin();

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #3
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        Owner.deployTriggerTracker.RemoveListener(this);

        RemoveOgmaBuffFromHimself();

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #4
0
    //This method is used to remove skills from event calls when the card is "disabled" (under a stack) and/or removed from the field.
    public override void DeactivateFieldSkills()
    {
        Owner.FieldChangeEvent.RemoveListener(CheckForAloofSwordsman);

        DisableAloofSwordsman();

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #5
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        Owner.Opponent.AttackTargetHandler.RemoveListener(this);
        RemoveFromSkillChangeTracker("Abel's Paladin's Protection skill is active.");

        DeclareAttackEvent.RemoveListener(CheckTwinStrike);

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #6
0
    //This method cancels the effect of Killing Edge at the end of the player's turn or when this card leaves the field.
    private void CancelKillingEdge()
    {
        //removes the cannot be evaded clause from Navarre's attacks.
        DeclareAttackEvent.RemoveListener(KillingEdge);

        //removes the skill tracking text and callbacks
        RemoveFromSkillChangeTracker("Navarre's Killing Edge active. The opponent cannot evade his attacks.");
        Owner.endTurnEvent.RemoveListener(CancelKillingEdge);
        RemoveFromFieldEvent.RemoveListener(CancelKillingEdge);
    }
Beispiel #7
0
    //This method is used to remove skills from event calls when the card is "disabled" (under a stack) and/or removed from the field.
    public override void DeactivateFieldSkills()
    {
        Owner.FieldChangeEvent.RemoveListener(CheckForMercenaryCaptain);
        Owner.endTurnEvent.RemoveListener(DisableMercenaryCaptain);
        Owner.BeginTurnEvent.RemoveListener(CheckForMercenaryCaptain);

        DisableMercenaryCaptain();

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #8
0
    //This method is used to remove skills from event calls when the card is "disabled" (under a stack) and/or removed from the field.
    public override void DeactivateFieldSkills()
    {
        Owner.FieldChangeEvent.RemoveListener(CheckForCutthroatSword);
        Owner.endTurnEvent.RemoveListener(DisableCutthroatSword);
        Owner.BeginTurnEvent.RemoveListener(CheckForCutthroatSword);

        DisableCutthroatSword();

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #9
0
    //This method cancels the effect of Levin Sword at the end of the player's turn or when this card leaves the field.
    private void CancelLevinSword()
    {
        //removes the affinity, range boost, and attack penalty.
        levinSwordActive = false;
        attackModifier  += 10;

        //removes the skill tracking text and callbacks
        RemoveFromSkillChangeTracker("Ogma's Levin Sword providing -10 attack, <Tome> affinity, and 1-2 range.");
        Owner.endTurnEvent.RemoveListener(CancelLevinSword);
        RemoveFromFieldEvent.RemoveListener(CancelLevinSword);
    }
Beispiel #10
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        Owner.FieldChangeEvent.RemoveListener(CheckForJulian);

        //removes the buff from any allied Julian when Lena leaves the field.
        if (buffedJulian != null)
        {
            RemoveLenaBuffFromAlly(buffedJulian);
        }

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #11
0
    //This method cancels the effect of Steel Bow at the end of the player's turn or when this card leaves the field.
    private void CancelSteelBow()
    {
        //decreases attack.
        attackModifier -= 10;

        //resets the Once Per Turn ability
        steelBowUsable = true;

        //removes the skill tracking text and callbacks
        RemoveFromSkillChangeTracker("Gordin's Steel Bow providing +10 attack.");
        Owner.endTurnEvent.RemoveListener(CancelSteelBow);
        RemoveFromFieldEvent.RemoveListener(CancelSteelBow);
    }
Beispiel #12
0
    //This method cancels the effect of Excalibur at the end of the player's turn or when this card leaves the field.
    private void CancelExcalibur()
    {
        //Remove the Anti-Fliers effect.
        DeclareAttackEvent.RemoveListener(AbilitySupport.AntiFliers);

        //reset the once per turn counter.
        excaliburUsed = false;

        //removes the skill tracking text and callbacks
        RemoveFromSkillChangeTracker("Excalibur active; Merric possesses the Anti-Fliers skill.");
        Owner.endTurnEvent.RemoveListener(CancelExcalibur);
        RemoveFromFieldEvent.RemoveListener(CancelExcalibur);
    }
Beispiel #13
0
    //This method cancels the effect of Thunder at the end of the player's turn or when this card leaves the field.
    private void CancelThunder()
    {
        //decreases attack.
        attackModifier -= 10;

        //resets the Once Per Turn ability tracker
        thunderUsable = true;

        //removes the skill tracking text and callbacks
        RemoveFromSkillChangeTracker("Linde's Thunder providing +10 attack.");
        Owner.endTurnEvent.RemoveListener(CancelThunder);
        RemoveFromFieldEvent.RemoveListener(CancelThunder);
    }
Beispiel #14
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        Owner.deployTriggerTracker.RemoveListener(this);
        Owner.endTurnEvent.RemoveListener(ResetHoLOncePerTurn);

        if (!PrinceOfLightUseable)
        {
            ResetHoLOncePerTurn();
        }

        DeclareAttackEvent.RemoveListener(Falchion);

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #15
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        //confirm it's the owner's turn, and if so, then cancel Fighter's Expertise.
        if (GameManager.instance.turnPlayer == Owner)
        {
            CancelFightersExpertise();
        }

        //removes the callbacks
        Owner.BeginTurnEvent.RemoveListener(FightersExpertise);
        Owner.endTurnEvent.RemoveListener(CancelFightersExpertise);

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #16
0
    //Levin Sword [ACT] [FLIP 1] Until the end of the turn, this unit loses -10 attack and acquires <Tome> affinity and range 1-2.
    //This is the method that gets called once the bond flip is finished.
    private void ActivateLevinSword()
    {
        //removes the callback
        Owner.FinishBondFlipEvent.RemoveListener(ActivateLevinSword);

        //updates the game log
        CardReader.instance.UpdateGameLog(Owner.playerName + " activates Ogma's Levin Sword skill! " +
                                          "Ogma gains <Tome> affinity, 1-2 range, and -10 attack.");

        //reduces attack by 10, adds the affinity and Range bonus, and displays effect in the skill tracker.
        attackModifier  -= 10;
        levinSwordActive = true;
        AddToSkillChangeTracker("Ogma's Levin Sword providing -10 attack, <Tome> affinity, and 1-2 range.");

        //set up the cancel for this skill at the end of the turn and if the card is removed from the field.
        Owner.endTurnEvent.AddListener(CancelLevinSword);
        RemoveFromFieldEvent.AddListener(CancelLevinSword);
    }
Beispiel #17
0
    //Excalibur [ACT] [ONCE PER TURN] [FLIP 1] Until the end of the turn, this unit acquires "Anti-Fliers".
    //(Anti-Fliers [ALWAYS] If this unit is attacking a <Flier>, this unit gains +30 attack.)
    private void Excalibur()
    {
        //removes the callback
        Owner.FinishBondFlipEvent.RemoveListener(Excalibur);

        //Adds the Anti-Fliers skill effect to this unit's attacks.
        DeclareAttackEvent.AddListener(AbilitySupport.AntiFliers);

        //display the boost
        CardReader.instance.UpdateGameLog(Owner.playerName + " activates Merric's Excalibur skill! " +
                                          "Merric: Wind Mage possesses the Anti-Flier's skill until the end of the turn.");

        AddToSkillChangeTracker("Excalibur active; Merric possesses the Anti-Fliers skill.");

        //Sets a callback to remove the effect of Excalibur at the end of the turn or if this card is removed from the field.
        Owner.endTurnEvent.AddListener(CancelExcalibur);
        RemoveFromFieldEvent.AddListener(CancelExcalibur);
    }
Beispiel #18
0
    //Killing Edge [ACT] [FLIP 3] Until the end of the turn, this card's attacks cannot be evaded.
    //This is the method that gets called once the bond flip is finished.
    private void ActivateKillingEdge()
    {
        //removes the callback
        Owner.FinishBondFlipEvent.RemoveListener(ActivateKillingEdge);

        //updates the game log
        CardReader.instance.UpdateGameLog(Owner.playerName + " activates Navarre's Killing Edge skill! " +
                                          "Navarre's attacks cannot be avoided this turn.");

        //set up the call to ensure that Navarre's attacks cannot be evaded.
        DeclareAttackEvent.AddListener(KillingEdge);

        //Displays the effect in the skill tracker.
        AddToSkillChangeTracker("Navarre's Killing Edge active. The opponent cannot evade his attacks.");

        //set up the cancel for this skill at the end of the turn and if the card is removed from the field.
        Owner.endTurnEvent.AddListener(CancelKillingEdge);
        RemoveFromFieldEvent.AddListener(CancelKillingEdge);
    }
Beispiel #19
0
    //Thunder [ACT] [ONCE PER TURN] [FLIP 1] Until the end of the turn, this unit gains +10 attack.
    private void ActivateThunder()
    {
        //removes the callback
        Owner.FinishBondFlipEvent.RemoveListener(ActivateThunder);

        //updates the game log
        CardReader.instance.UpdateGameLog(Owner.playerName + " activates Linde's Thunder skill! " +
                                          "Linde's attack increases by +10 until the end of the turn.");

        //increases attack
        attackModifier += 10;

        //prevents reuse this turn.
        thunderUsable = false;

        //Displays the effect in the skill tracker.
        AddToSkillChangeTracker("Linde's Thunder providing +10 attack.");

        //set up the cancel for this skill at the end of the turn and if the card is removed from the field.
        Owner.endTurnEvent.AddListener(CancelThunder);
        RemoveFromFieldEvent.AddListener(CancelThunder);
    }
Beispiel #20
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        GameManager.instance.battleDestructionTriggerTracker.RemoveListener(this);

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #21
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        BattleSupportEvent.RemoveListener(RedGreenBond);

        RemoveFromFieldEvent.Invoke(this);
    }
Beispiel #22
0
    //Removes the call to this card's skills when the card leaves the field.
    public override void DeactivateFieldSkills()
    {
        DeclareAttackEvent.RemoveListener(ArmorExpertise);

        RemoveFromFieldEvent.Invoke(this);
    }