Пример #1
0
        public override void OnUseCard()
        {
            BattleUnitBuf insanity = this.owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Insanity));

            insanity.stack -= 100;
            this.card.target.bufListDetail.AddReadyBuf(new NoPower());
        }
        public override void OnWaveStart()
        {
            base.OnWaveStart();
            if (this._owner.faction != Faction.Player)
            {
                return;
            }
            BattleUnitBuf battleUnitBuf = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_burningGirl_Ember_New));

            if (battleUnitBuf == null)
            {
                this._owner.bufListDetail.AddBuf(new BattleUnitBuf_burningGirl_Ember_New());
            }
            else
            {
                List <int> intList = battleUnitBuf is BattleUnitBuf_burningGirl_Ember_New burningGirlEmberNew?burningGirlEmberNew.TargetIDs() : (List <int>)null;

                foreach (BattleDiceCardModel battleDiceCardModel in this._owner.allyCardDetail.GetAllDeck())
                {
                    if (intList.Contains(battleDiceCardModel.GetID()))
                    {
                        battleDiceCardModel.AddBuf(new BattleDiceCardBuf_Emotion_BurningGirl());
                        battleDiceCardModel.SetAddedIcon("Burning_Match", -1);
                    }
                }
            }
        }
Пример #3
0
 public override int OnGiveKeywordBufByCard(BattleUnitBuf cardBuf, int stack, BattleUnitModel target)
 {
     if (cardBuf.bufType == KeywordBuf.Burn || cardBuf.bufType == KeywordBuf.Smoke)
     {
         return(stack * 2);
     }
     return(0);
 }
Пример #4
0
 public override int OnGiveKeywordBufByCard(BattleUnitBuf buf, int stack, BattleUnitModel target)
 {
     if (buf.bufType != KeywordBuf.Burn)
     {
         return(0);
     }
     this.owner.battleCardResultLog?.SetPassiveAbility((PassiveAbilityBase)this);
     return(1);
 }
        public void Destroy()
        {
            BattleUnitBuf buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is Home));

            if (buff != null)
            {
                buff.Destroy();
            }
        }
Пример #6
0
        public void Destroy()
        {
            BattleUnitBuf Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Emotion_WhiteNight_Guard));

            if (Buff != null)
            {
                Buff.Destroy();
            }
        }
        public override void OnSelectEmotion()
        {
            BattleUnitBuf attacker = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_queenbee_attacker));

            if (attacker == null)
            {
                return;
            }
            attacker.Destroy();
        }
        public void Destroy()
        {
            this._owner.view.ResetSkin();
            BattleUnitBuf Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is Apocalypse));

            if (Buff != null)
            {
                Buff.Destroy();
            }
        }
        public override void OnUseCard()
        {
            BattleUnitBuf activatedBuf = this.card.target.bufListDetail.GetActivatedBuf(KeywordBuf.Vibrate);

            if (activatedBuf == null || this.card.speedDiceResultValue != activatedBuf.stack)
            {
                return;
            }
            this.card.ApplyDiceStatBonus(DiceMatch.AllDice, new DiceStatBonus()
            {
                power = 4
            });
        }
Пример #10
0
        public void Destory()
        {
            BattleUnitBuf buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is Oblivion));

            if (buff != null)
            {
                buff.Destroy();
            }
            buff = this._owner.bufListDetail.GetActivatedBufList().Find(x => x is DiceCardSelfAbility_ozma_forgotten.BattleUnitBuf_ozma_forgotten);
            if (buff != null)
            {
                buff.Destroy();
            }
        }
Пример #11
0
        public void Destroy()
        {
            BattleUnitBuf Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is LongBird));

            if (Buff != null)
            {
                Buff.Destroy();
            }
            Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is Longbird_Enemy));
            if (Buff != null)
            {
                Buff.Destroy();
            }
        }
Пример #12
0
        public void Destroy()
        {
            DestroyLoopSound();
            BattleUnitBuf Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Emotion_BlueStar_SoundBuf));

            if (Buff != null)
            {
                Buff.Destroy();
            }
            Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Emotion_BlueStar_SoundBuf_Cool));
            if (Buff != null)
            {
                Buff.Destroy();
            }
        }
        public void Destroy()
        {
            BattleUnitBuf Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BigBird));

            if (Buff != null)
            {
                Buff.Destroy();
            }
            Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is Bigbird_Enemy));
            if (Buff != null)
            {
                Buff.Destroy();
            }
            SingletonBehavior <BattleManagerUI> .Instance.ui_unitListInfoSummary.UpdateCharacterProfile(this._owner, this._owner.faction, this._owner.hp, this._owner.breakDetail.breakGauge);
        }
Пример #14
0
        public override void OnUseCard()
        {
            base.OnUseCard();
            if (this.owner.bufListDetail.GetActivatedBuf(KeywordBuf.Burn) == null)
            {
                return;
            }
            BattleUnitBuf burn = this.owner.bufListDetail.GetActivatedBuf(KeywordBuf.Burn);

            burn.stack -= 5;
            if (burn.stack <= 0)
            {
                burn.Destroy();
            }
        }
 public override void OnUseAoe()
 {
     base.OnUseAoe();
     foreach (BattleUnitModel unit in BattleObjectManager.instance.GetAliveList(this.owner.faction == Faction.Player ? Faction.Enemy : Faction.Player))
     {
         BattleUnitBuf activatedBuf = unit.bufListDetail.GetActivatedBuf(KeywordBuf.Vibrate);
         if (activatedBuf != null)
         {
             activatedBuf.stack = 4;
         }
         else
         {
             unit.bufListDetail.AddKeywordBufThisRoundByCard(KeywordBuf.Vibrate, 4);
         }
     }
 }
        public override void OnParryingStart(BattlePlayingCardDataInUnitModel card)
        {
            if (card.target == null || this._owner.faction != Faction.Enemy || card.target.currentDiceAction is BattleKeepedCardDataInUnitModel)
            {
                return;
            }
            BattleUnitBuf activatedBuf = card.target.bufListDetail.GetActivatedBuf(KeywordBuf.TeddyLove);

            if (activatedBuf != null && activatedBuf.stack < 5)
            {
                ++activatedBuf.stack;
            }
            else
            {
                card.target.bufListDetail.AddBuf(new TeddyMemory());
            }
        }
 public void Destroy()
 {
     EmotionCardAbility_plaguedoctor1.WhiteNightClock.Remove(this._owner.UnitData);
     if (this._owner.faction == Faction.Player)
     {
         this._owner.allyCardDetail.ExhaustCard(1100019);
         this._owner.allyCardDetail.ExhaustCard(1100020);
     }
     if (this._owner.faction == Faction.Enemy)
     {
         BattleUnitBuf doctor = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is PlagueDoctor));
         if (doctor != null)
         {
             doctor.Destroy();
         }
     }
 }
Пример #18
0
        public override void OnRoundStart()
        {
            base.OnRoundStart();
            BattleUnitBuf activatedBuf = this.owner.bufListDetail.GetActivatedBuf(KeywordBuf.Burn);

            if (activatedBuf == null || activatedBuf.stack < 10)
            {
                if (phase == PhilipPhase.Hot)
                {
                    Hot = this.owner.allyCardDetail;
                    this.owner.allyCardDetail = Cold;
                    this.owner.allyCardDetail.DrawCards(7);
                    this.owner.view.ChangeSkin("Blue_Philip");
                    this.owner.view.charAppearance.ChangeMotion(ActionDetail.Default);
                    List <PassiveAbilityBase> passive = this.owner.passiveDetail.PassiveList;
                    PassiveAbility_1810004    hot     = passive.Find((Predicate <PassiveAbilityBase>)(x => x is PassiveAbility_1810004)) as PassiveAbility_1810004;
                    hot.Destroy();
                    PassiveAbilityBase cold = new PassiveAbility_1810003(this.owner);
                    passive.Remove(hot);
                    passive.Add(cold);
                    typeof(BattleUnitPassiveDetail).GetField("_passiveList", AccessTools.all).SetValue((object)this.owner.passiveDetail, (object)passive);
                    this.phase = PhilipPhase.Cold;
                }
                return;
            }
            if (phase == PhilipPhase.Cold)
            {
                Cold = this.owner.allyCardDetail;
                this.owner.allyCardDetail = Hot;
                this.owner.allyCardDetail.DrawCards(7);
                SingletonBehavior <BattleSceneRoot> .Instance.currentMapObject.SetRunningState(true);

                SoundEffectPlayer.PlaySound("Battle/Cry_MapChange_One");
                new UnityEngine.GameObject().AddComponent <SpriteFilter_Gaho>().Init("EmotionCardFilter/PhilipFilter", false, 2f);
                this.owner.view.ChangeSkin("Blue_Philip_Burn");
                this.owner.view.charAppearance.ChangeMotion(ActionDetail.S5);
                this.owner.view.StartCoroutine(this.Transformation());
                List <PassiveAbilityBase> passive = this.owner.passiveDetail.PassiveList;
                PassiveAbilityBase        cold    = passive.Find((Predicate <PassiveAbilityBase>)(x => x is PassiveAbility_1810003));
                PassiveAbilityBase        hot     = new PassiveAbility_1810004(this.owner);
                passive.Remove(cold);
                passive.Add(hot);
                typeof(BattleUnitPassiveDetail).GetField("_passiveList", AccessTools.all).SetValue((object)this.owner.passiveDetail, (object)passive);
                this.phase = PhilipPhase.Hot;
            }
        }
        public void Destroy()
        {
            if (this._owner.faction != Faction.Player)
            {
                return;
            }
            BattleUnitBuf battleUnitBuf = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_burningGirl_Ember_New));

            foreach (BattleDiceCardModel card in this._owner.allyCardDetail.GetAllDeck())
            {
                if (card.GetBufList().Find((Predicate <BattleDiceCardBuf>)(x => x is BattleDiceCardBuf_Emotion_BurningGirl)) is BattleDiceCardBuf_Emotion_BurningGirl match)
                {
                    card.RemoveAddedIcon("Burning_Match", -1);
                    match.Destroy();
                }
            }
            battleUnitBuf.Destroy();
        }
 public override void OnTakeDamageByAttack(BattleDiceBehavior atkDice, int dmg)
 {
     if (atkDice != null)
     {
         int rand = r.Next(10);
         if (rand < 3)
         {
             BattleUnitBuf battleUnitBuf = atkDice.card.target.bufListDetail.GetActivatedBufList().Find((BattleUnitBuf x) => x is PassiveAbility_16579027.BattleUnitBuf_speedBreak);
             if (battleUnitBuf == null)
             {
                 PassiveAbility_16579027.BattleUnitBuf_speedBreak speedBreak = new PassiveAbility_16579027.BattleUnitBuf_speedBreak();
                 atkDice.card.owner.bufListDetail.AddBuf(speedBreak);
                 speedBreak.Add();
                 return;
             }
         }
     }
 }
 public override void OnRoundStart()
 {
     base.OnRoundStart();
     foreach (BattleUnitModel alive in BattleObjectManager.instance.GetAliveList())
     {
         if (!Prob)
         {
             continue;
         }
         BattleUnitBuf buf = alive.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_LongBird_Emotion_Sin));
         if (buf == null)
         {
             buf = new BattleUnitBuf_LongBird_Emotion_Sin();
             alive.bufListDetail.AddBuf(buf);
         }
         ++buf.stack;
     }
 }
            public override void OnSuccessAttack(BattleDiceBehavior behavior)
            {
                base.OnSuccessAttack(behavior);
                BattleUnitModel target = behavior.card?.target;

                if (target == null || this.triggered || this.stack <= 0)
                {
                    return;
                }
                --this.stack;
                this.triggered = true;
                BattleUnitBuf buf = target.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_LongBird_Emotion_Sin));

                if (buf == null)
                {
                    buf = new BattleUnitBuf_LongBird_Emotion_Sin();
                    target.bufListDetail.AddBuf(buf);
                }
                ++buf.stack;
            }
        public override int OnGiveKeywordBufByCard(BattleUnitBuf buf, int stack, BattleUnitModel target)
        {
            if (buf.bufType == KeywordBuf.Decay && resist != AtkResist.None)
            {
                switch (resist)
                {
                case AtkResist.Immune:
                case AtkResist.Resist:
                    return(3);

                case AtkResist.Endure:
                case AtkResist.Normal:
                    return(2);

                case AtkResist.Vulnerable:
                case AtkResist.Weak:
                    return(1);
                }
            }
            return(0);
        }
Пример #24
0
        public override void OnSucceedAttack(BattleDiceBehavior behavior)
        {
            BattleUnitModel target = behavior.card?.target;

            if (target == null)
            {
                return;
            }
            if (this._owner.faction == Faction.Player)
            {
                if (behavior.Detail != BehaviourDetail.Hit)
                {
                    return;
                }
                BattleUnitBuf Debuff = target.bufListDetail.GetActivatedBufList().Find((x => x is HitDebuff));
                if (Debuff == null)
                {
                    target.bufListDetail.AddBuf(new HitDebuff());
                }
                else
                {
                    Debuff.stack += 1;
                }
            }
            if (this._owner.faction == Faction.Enemy)
            {
                BattleUnitBuf Debuff = target.bufListDetail.GetActivatedBufList().Find((x => x is HitDebuffEnemy));
                if (Debuff == null)
                {
                    target.bufListDetail.AddBuf(new HitDebuffEnemy());
                }
                else
                {
                    Debuff.stack += 1;
                }
            }
            target.battleCardResultLog?.SetCreatureAbilityEffect("2/AbandonedMurder_Hit", 1f);
            target.battleCardResultLog?.SetCreatureEffectSound("Creature/Abandoned_Atk");
        }
        public override void OnRoundStart()
        {
            base.OnRoundStart();
            if (Singleton <StageController> .Instance.RoundTurn > 4)
            {
                return;
            }
            int puppetId = -1;

            switch (Singleton <StageController> .Instance.RoundTurn)
            {
            case 1:
                puppetId = 1307021;
                break;

            case 2:
                puppetId = 1307031;
                break;

            case 3:
                puppetId = 1307041;
                break;

            case 4:
                puppetId = 1307051;
                break;
            }
            BattleUnitModel owner = BattleObjectManager.instance.GetAliveList(this.owner.faction).Find((Predicate <BattleUnitModel>)(x => x.UnitData.unitData.EnemyUnitId == puppetId));

            if (owner == null)
            {
                return;
            }
            BattleUnitBuf thread = owner.bufListDetail.GetActivatedBuf(KeywordBuf.JaeheonPuppetThread);

            thread.stack += (Level - 1);
        }
Пример #26
0
        public void Destroy()
        {
            BattleUnitBuf Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is EmotionCardAbility_bossbird2.Bigbird_Enemy));

            if (Buff != null)
            {
                Buff.Destroy();
            }
            Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is EmotionCardAbility_bossbird1.Longbird_Enemy));
            if (Buff != null)
            {
                Buff.Destroy();
            }
            Buff = this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is EmotionCardAbility_bossbird3.Smallbird_Enemy));
            if (Buff != null)
            {
                Buff.Destroy();
            }
            foreach (BattleDiceCardModel EGO in Ego)
            {
                this._owner.allyCardDetail.ExhaustACardAnywhere(EGO);
            }
            DestroyAura();
        }
Пример #27
0
        public override void OnUseCard()
        {
            BattleUnitBuf insanity = this.owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Insanity));

            insanity.stack -= 100;
        }
        private bool CheckAbility(BattleUnitModel target)
        {
            BattleUnitBuf battleUnitBuf = target.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Emotion_WayBackHome_Target));

            return(battleUnitBuf != null && battleUnitBuf.stack == this.stack);
        }
Пример #29
0
 public override bool IsImmune(BattleUnitBuf buf)
 {
     return(buf.positiveType == BufPositiveType.Negative || base.IsImmune(buf));
 }