public override void OnUseCard(BattlePlayingCardDataInUnitModel card)
 {
     base.OnUseCard(card);
     if (card == null || card.isKeepedCard)
     {
         return;
     }
     if (this._targetIDs.Count < 2)
     {
         this._targetIDs.Add(card.card.GetID());
         foreach (BattleDiceCardModel battleDiceCardModel in this._owner.allyCardDetail.GetAllDeck())
         {
             if (battleDiceCardModel.GetID() == card.card.GetID())
             {
                 battleDiceCardModel.AddBuf(new BattleDiceCardBuf_Emotion_BurningGirl());
                 battleDiceCardModel.SetAddedIcon("Burning_Match");
             }
         }
     }
     if (!this._targetIDs.Contains(card.card.GetID()))
     {
         return;
     }
     ++this.stack;
 }
        public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
        {
            BattleUnitModel target = curCard?.target;

            if (target == null)
            {
                return;
            }
            if (this.CheckAbility(target))
            {
                curCard.ApplyDiceStatBonus(DiceMatch.AllDice, new DiceStatBonus()
                {
                    dmg = 2 * this.stack
                });
                if (this._owner.faction == Faction.Player)
                {
                    curCard.ApplyDiceStatBonus(DiceMatch.AllDice, new DiceStatBonus()
                    {
                        power = 1 * this.stack
                    });
                }
                ++this.stack;
                this._owner.battleCardResultLog?.SetCreatureAbilityEffect("7/WayBeckHome_Emotion_Atk", 1f);
                this._owner.battleCardResultLog?.SetCreatureEffectSound("Creature/House_NormalAtk");
            }
            else
            {
                this.stack = 0;
            }
        }
Пример #3
0
        public override void OnStartCardAction(BattlePlayingCardDataInUnitModel curCard)
        {
            if (this._owner.faction != Faction.Player)
            {
                return;
            }
            if ((double)this._owner.hp > (double)this._owner.MaxHp * 0.2)
            {
                return;
            }
            int num = Mathf.Min((int)((double)this._owner.MaxHp * 0.3), 36);
            List <BattleUnitModel> alive = BattleObjectManager.instance.GetAliveList(Faction.Enemy);

            foreach (BattleUnitModel unit in alive)
            {
                unit.TakeDamage(num);
            }
            SingletonBehavior <SoundEffectManager> .Instance.PlayClip("Creature/MachGirl_Explosion")?.SetGlobalPosition(this._owner.view.WorldPosition);

            this._owner.Die();
            SingletonBehavior <BattleManagerUI> .Instance.ui_unitListInfoSummary.UpdateCharacterProfile(this._owner, this._owner.faction, 0.0f, this._owner.breakDetail.breakGauge);

            this._effect = this.MakeEffect("1/MatchGirl_Footfall", destroyTime: 2f, apply: false);
            this._effect.AttachEffectLayer();
            try
            {
                this._owner.view.StartDeadEffect(false);
            }
            catch
            {
            }
        }
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     curCard.ApplyDiceStatBonus(DiceMatch.NextDice, new DiceStatBonus()
     {
         power = Pow
     });
 }
 public override void OnStartTargetedOneSide(BattlePlayingCardDataInUnitModel curCard)
 {
     if (this._owner.faction == Faction.Enemy && Trigger)
     {
         curCard.owner.TakeBreakDamage(RandomUtil.Range(3, 6));
         this._owner.battleCardResultLog.SetEndCardActionEvent(new BattleCardBehaviourResult.BehaviourEvent(this.Effect));
     }
 }
 public override void OnUseCard(BattleUnitModel owner, BattlePlayingCardDataInUnitModel playingCard)
 {
     base.OnUseCard(owner, playingCard);
     playingCard.ApplyDiceStatBonus(DiceMatch.AllDice, new DiceStatBonus()
     {
         power = 1
     });
 }
Пример #7
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     if (curCard.card.GetID() == 18800007)
     {
         this.owner.personalEgoDetail.RemoveCard(18800007);
     }
 }
Пример #8
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel card)
 {
     if (card.speedDiceResultValue >= 6)
     {
         card.ApplyDiceStatBonus(DiceMatch.AllDefenseDice, new DiceStatBonus
         {
             power = 3
         });
     }
 }
Пример #9
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     if ((_target != null && !_target.IsDead()) || curCard.target.faction == this._owner.faction || curCard.GetDiceBehaviorList().Find(x => x.Type == BehaviourType.Atk) == null)
     {
         return;
     }
     this._target = curCard.target;
     this._target.bufListDetail.AddBuf(new BattleUnitBuf_redhood_prey());
     this._target.battleCardResultLog?.SetNewCreatureAbilityEffect("6_G/FX_IllusionCard_6_G_Hunted", 1.5f);
     this._target.battleCardResultLog?.SetCreatureEffectSound("Creature/RedHood_Gun");
 }
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     if (curCard.card == request)
     {
         trigger = true;
     }
     else
     {
         trigger = false;
     }
 }
Пример #11
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     if (curCard.card.GetID() != 703207)
     {
         return;
     }
     curCard.ApplyDiceStatBonus(DiceMatch.DiceByIdx(1), new DiceStatBonus()
     {
         max = Math.Max(0, -3 + 3 * Level)
     });
 }
Пример #12
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     if (curCard.isKeepedCard || curCard.card.GetID() == 1101005)
     {
         return;
     }
     if (!(this._owner.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Freischutz_Emotion_Seventh_Bullet)) is BattleUnitBuf_Freischutz_Emotion_Seventh_Bullet bullet))
     {
         BattleUnitBuf_Freischutz_Emotion_Seventh_Bullet Bullet = new BattleUnitBuf_Freischutz_Emotion_Seventh_Bullet();
         this._owner.bufListDetail.AddBuf(Bullet);
         Bullet.stack += 1;
     }
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     if (this._owner.faction != Faction.Player)
     {
         return;
     }
     if (curCard.card.GetID() != 1100006)
     {
         return;
     }
     this.effect = true;
 }
Пример #14
0
 public override void OnStartParrying(BattlePlayingCardDataInUnitModel card)
 {
     base.OnStartParrying(card);
     if (card.earlyTarget == card.target)
     {
         card.ApplyDiceStatBonus(DiceMatch.AllDice, new DiceStatBonus()
         {
             power = this.Pow
         });
     }
     this._owner.battleCardResultLog?.SetNewCreatureAbilityEffect("7_C/FX_IllusionCard_7_C_Together", 2f);
     this._owner.battleCardResultLog?.SetCreatureEffectSound("Creature/House_MakeRoad");
 }
Пример #15
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     if (card == null)
     {
         card = curCard.card;
         this.owner.allyCardDetail.ExhaustAllCards();
         for (int i = 0; i < 9; i++)
         {
             this.owner.allyCardDetail.AddNewCardToDeck(card.GetID());
         }
         this.owner.allyCardDetail.DrawCards(4);
     }
 }
            public override void OnStartParrying(BattlePlayingCardDataInUnitModel card)
            {
                base.OnStartParrying(card);
                BattleUnitModel target = card?.target;

                if (target == null || this._giver == null || (this._giver == target || !Prob))
                {
                    return;
                }
                this._owner.battleCardResultLog?.SetCreatureAbilityEffect("3/Latitia_Boom", 1.5f);
                this._owner.TakeDamage(Dmg, DamageType.Buf, this._giver);
                this._owner.bufListDetail.AddKeywordBufByEtc(KeywordBuf.Bleeding, Bleed, this._giver);
            }
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     ExtraHit = false;
     if (extrahit.Contains(curCard))
     {
         curCard.ApplyDiceStatBonus(DiceMatch.AllAttackDice, new DiceStatBonus()
         {
             dmgRate = (Level - 1) * 25
         });
         ExtraHit = true;
     }
     extrahit.Remove(curCard);
 }
        public override void OnParryingStart(BattlePlayingCardDataInUnitModel card)
        {
            base.OnParryingStart(card);
            BattleUnitModel target = card?.target;

            if (target == null || this._target != null)
            {
                return;
            }
            BattleUnitBuf_Emotion_Latitia_Gift emotionLatitiaGift = new BattleUnitBuf_Emotion_Latitia_Gift(this._owner);

            target.bufListDetail.AddBuf(emotionLatitiaGift);
            this._target = target;
        }
Пример #19
0
        public override void OnWinParrying(BattleDiceBehavior behavior)
        {
            base.OnWinParrying(behavior);
            BattlePlayingCardDataInUnitModel card = behavior?.card;

            if (card == null || behavior == this.last)
            {
                return;
            }
            this.win++;
            card.ApplyDiceStatBonus(DiceMatch.LastDice, new DiceStatBonus()
            {
                power = Pow
            });
        }
Пример #20
0
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     this.win = 0;
     if (curCard == null)
     {
         return;
     }
     BattleDiceBehavior[] array = curCard.cardBehaviorQueue?.ToArray();
     if (array == null || array.Length == 0)
     {
         return;
     }
     this.last = array[array.Length - 1];
 }
        public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
        {
            base.OnUseCard(curCard);
            BattleDiceCardBuf battleDiceCardBuf = curCard?.card?.GetBufList().Find((Predicate <BattleDiceCardBuf>)(y => y is BattleDiceCardBuf_Emotion_Heart));

            if (battleDiceCardBuf == null)
            {
                return;
            }
            curCard.ApplyDiceStatBonus(DiceMatch.AllDice, new DiceStatBonus()
            {
                power = Pow
            });
            battleDiceCardBuf.Destroy();
        }
            public override void OnStartParrying(BattlePlayingCardDataInUnitModel card)
            {
                base.OnStartParrying(card);
                if (card.target == null || card.target == _except || _except.IsDead())
                {
                    return;
                }
                int DamageEnemy = Dmg;

                card.target.TakeDamage(DamageEnemy);
                card.target.breakDetail.TakeBreakDamage(DamageEnemy);
                int Damage = Dmg;

                this._owner.TakeDamage(Damage);
                this._owner.breakDetail.TakeBreakDamage(Damage);
            }
        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 BattleVoidBehaviour(BattleDiceBehavior OriginalDice)
 {
     this.OriginalDice    = OriginalDice;
     this.owner           = OriginalDice.owner;
     this.behaviourInCard = OriginalDice.behaviourInCard;
     this.abilityList     = OriginalDice.abilityList;
     this.card            = OriginalDice.card;
     if (OriginalDice.TargetDice != null && OriginalDice.TargetDice.Detail == BehaviourDetail.Guard)
     {
         _damageReductionByGuard = OriginalDice.TargetDice.DiceResultValue;
     }
     else
     {
         _damageReductionByGuard = 0;
     }
     _statBonus        = typeof(BattleDiceBehavior).GetField("_statBonus", AccessTools.all).GetValue(this.OriginalDice) as DiceStatBonus;
     OriginalStatBonus = _statBonus.Copy();
 }
        public override void OnSucceedAttack(BattleDiceBehavior behavior)
        {
            base.OnSucceedAttack(behavior);
            if (ExtraHit)
            {
                return;
            }
            CrossBurn crossburn = (CrossBurn)behavior.card.target.bufListDetail.GetActivatedBufList().Find(x => x is CrossBurn);

            if (crossburn == null)
            {
                crossburn = new CrossBurn(Level);
                behavior.card.target.bufListDetail.AddBuf(crossburn);
            }
            if (crossburn.stack >= 1)
            {
                BattlePlayingCardDataInUnitModel attack = new BattlePlayingCardDataInUnitModel()
                {
                    owner = this.owner, card = behavior.card.card, cardAbility = behavior.card.card.CreateDiceCardSelfAbilityScript()
                };
                if (attack.cardAbility != null)
                {
                    attack.cardAbility.card = attack;
                }
                attack.ResetCardQueue();
                List <BattleUnitModel> aliveList = BattleObjectManager.instance.GetAliveList(this.owner.faction == Faction.Player ? Faction.Enemy : Faction.Player);
                if (aliveList.Count > 0)
                {
                    Singleton <StageController> .Instance.AddAllCardListInBattle(attack, RandomUtil.SelectOne <BattleUnitModel>(aliveList));
                }
                extrahit.Add(attack);
                crossburn.stack -= 1;
            }
            crossburn.Hit += 1;
            if (crossburn.Hit == 3)
            {
                crossburn.Hit    = 0;
                crossburn.stack += Level;
            }
        }
 public override void OnEndParrying(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnEndParrying(curCard);
     if (this._owner.faction != Faction.Player)
     {
         return;
     }
     if (this._owner.cardSlotDetail.keepCard.cardBehaviorQueue.Count <= 0)
     {
         DiceCardXmlInfo           cardItem      = ItemXmlDataList.instance.GetCardItem(1107401);
         List <BattleDiceBehavior> behaviourList = new List <BattleDiceBehavior>();
         int num = 0;
         foreach (DiceBehaviour diceBehaviour1 in cardItem.DiceBehaviourList)
         {
             BattleDiceBehavior battleDiceBehavior = new BattleDiceBehavior
             {
                 behaviourInCard = diceBehaviour1
             };
             battleDiceBehavior.SetIndex(num++);
             behaviourList.Add(battleDiceBehavior);
         }
         this._owner.cardSlotDetail.keepCard.AddBehaviours(BattleDiceCardModel.CreatePlayingCard(cardItem), behaviourList);
     }
 }
 public override void OnUseCard(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnUseCard(curCard);
     Trigger = false;
 }
Пример #28
0
 public override void OnParryingStart(BattlePlayingCardDataInUnitModel card)
 {
     base.OnParryingStart(card);
     Trigger = false;
 }
 public override void OnStartTargetedOneSide(BattlePlayingCardDataInUnitModel curCard)
 {
     base.OnStartTargetedOneSide(curCard);
     this.Effect();
 }
 public override void OnUseCard(BattlePlayingCardDataInUnitModel card)
 {
     base.OnUseCard(card);
     this.triggered = false;
 }