コード例 #1
0
 public override void OnWaveStart()
 {
     if (this._owner.faction == Faction.Player)
     {
         jade = this._owner.allyCardDetail.AddNewCardToDeck(this._targetID);
     }
 }
コード例 #2
0
 public override void OnUseInstance(BattleUnitModel unit, BattleDiceCardModel self, BattleUnitModel targetUnit)
 {
     unit.bufListDetail.AddBuf(new BattleUnitBuf_ZealLimit());
     unit.bufListDetail.AddKeywordBufThisRoundByCard(KeywordBuf.AllPowerUp, 1);
     unit.personalEgoDetail.RemoveCard(18200006);
     base.OnUseInstance(unit, self, targetUnit);
 }
        public override void OnUseCard()
        {
            base.OnUseCard();
            BattleUnitModel victim = this.card.target;

            if (victim != null)
            {
                BattleUnitBuf unitBufPlutoBarrier = new BattleUnitBuf_Barrier()
                {
                    Pluto = this.card.owner
                };
                victim.bufListDetail.AddBuf(unitBufPlutoBarrier);
            }
            List <BattleDiceCardModel> Cardlist = victim.allyCardDetail.GetAllDeck();
            BattleDiceCardModel        Card     = RandomUtil.SelectOne <BattleDiceCardModel>(Cardlist);

            Cardlist.Remove(Card);
            Card = this.owner.allyCardDetail.AddNewCard(Card.XmlData.id);
            Card.SetCurrentCost(0);
            Card.AddBuf(new Exhaust());
            Card = RandomUtil.SelectOne <BattleDiceCardModel>(Cardlist);
            Card = this.owner.allyCardDetail.AddNewCard(Card.XmlData.id);
            Card.SetCurrentCost(0);
            Card.AddBuf(new Exhaust());
        }
コード例 #4
0
 public override void OnRoundStart()
 {
     base.OnRoundStart();
     if (this._owner.faction == Faction.Player)
     {
         if (this._owner.allyCardDetail.GetHand().Count <= 0 || this._owner.allyCardDetail.GetHand().FindAll(x => x.GetBufList().Exists(y => y is BattleDiceCardBuf_Emotion_Heart)).Count != 0)
         {
             return;
         }
         BattleDiceCardModel randomCardInHand = RandomUtil.SelectOne <BattleDiceCardModel>(this._owner.allyCardDetail.GetHand());
         randomCardInHand.AddBuf(new BattleDiceCardBuf_Emotion_Heart());
         randomCardInHand.SetAddedIcon("Latitia_Heart");
     }
     else
     {
         count++;
         if (count >= 2)
         {
             count = 0;
             foreach (BattleUnitModel unit in BattleObjectManager.instance.GetAliveList_opponent(this._owner.faction))
             {
                 if (unit.allyCardDetail.GetHand().Count <= 0 || unit.allyCardDetail.GetHand().FindAll(x => !x.GetBufList().Exists(y => y is BattleDiceCardBuf_Emotion_Heart)).Count <= 0)
                 {
                     continue;
                 }
                 BattleDiceCardModel randomCardInHand = RandomUtil.SelectOne <BattleDiceCardModel>(unit.allyCardDetail.GetHand().FindAll(x => !x.GetBufList().Exists(y => y is BattleDiceCardBuf_Emotion_Heart)));
                 randomCardInHand.AddBuf(new Heart_Enemy());
                 randomCardInHand.SetAddedIcon("Latitia_Heart");
             }
         }
     }
 }
        public override void OnMakeBreakState(BattleUnitModel target)
        {
            base.OnMakeBreakState(target);
            if (target == null || target == this._owner || this._owner.faction != Faction.Player)
            {
                return;
            }
            this._owner.battleCardResultLog?.SetCreatureEffectSound("Creature/Scarecrow_Dead");
            List <BattleDiceCardModel> battleDiceCardModelList = new List <BattleDiceCardModel>();

            switch (this._owner.Book.ClassInfo.RangeType)
            {
            case EquipRangeType.Melee:
                battleDiceCardModelList = target.allyCardDetail.GetAllDeck().FindAll((Predicate <BattleDiceCardModel>)(x => x.GetSpec().Ranged == CardRange.Near));
                break;

            case EquipRangeType.Range:
                battleDiceCardModelList = target.allyCardDetail.GetAllDeck().FindAll((Predicate <BattleDiceCardModel>)(x => x.GetSpec().Ranged == CardRange.Far));
                break;

            case EquipRangeType.Hybrid:
                battleDiceCardModelList = target.allyCardDetail.GetAllDeck();
                break;
            }
            foreach (int index in MathUtil.Combination(2, battleDiceCardModelList.Count))
            {
                BattleDiceCardModel battleDiceCardModel = this._owner.allyCardDetail.AddNewCard(battleDiceCardModelList[index].GetID());
                battleDiceCardModel.XmlData.optionList.Add(CardOption.ExhaustOnUse);
                battleDiceCardModel.SetCurrentCost(battleDiceCardModel.GetOriginCost() - 2);
                battleDiceCardModel.AddBuf(new BattleDiceCardBuf_scarecrowCreated());
            }
        }
コード例 #6
0
 public override void OnStartBattle()
 {
     base.OnStartBattle();
     if (DefenseDice.Count > 0)
     {
         this._owner.cardSlotDetail.keepCard.AddBehaviours(BattleDiceCardModel.CreatePlayingCard(ItemXmlDataList.instance.GetCardItem(1110001)), DefenseDice);
     }
 }
コード例 #7
0
 public override void OnUseInstance(BattleUnitModel unit, BattleDiceCardModel self, BattleUnitModel targetUnit)
 {
     unit.bufListDetail.AddBuf(new BattleUnitBuf_ZealLimit());
     unit.RecoverHP(10);
     unit.breakDetail.RecoverBreak(10);
     unit.personalEgoDetail.RemoveCard(18200007);
     base.OnUseInstance(unit, self, targetUnit);
 }
コード例 #8
0
 public override void OnUseInstance(BattleUnitModel unit, BattleDiceCardModel self, BattleUnitModel targetUnit)
 {
     if (unit.passiveDetail.PassiveList.Find((Predicate <PassiveAbilityBase>)(x => x is PassiveAbility_1870001)) is PassiveAbility_1870001 passive)
     {
         passive.Revive();
     }
     self.exhaust = true;
     base.OnUseInstance(unit, self, targetUnit);
 }
コード例 #9
0
            public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int currentSlotOrder)
            {
                List <BattleUnitModel> choose = BattleObjectManager.instance.GetAliveList(this._owner.faction == Faction.Player ? Faction.Enemy: Faction.Player).FindAll((Predicate <BattleUnitModel>)(x => x.bufListDetail.GetActivatedBufList().Exists((Predicate <BattleUnitBuf>)(y => y is TheChosen))));

                if (choose.Count == 0)
                {
                    return(base.ChangeAttackTarget(card, currentSlotOrder));
                }
                return(RandomUtil.SelectOne <BattleUnitModel>(choose));
            }
コード例 #10
0
            public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int currentSlot)
            {
                List <BattleUnitModel> vine = BattleObjectManager.instance.GetAliveList(Faction.Player).FindAll((Predicate <BattleUnitModel>)(x => x.bufListDetail.GetActivatedBufList().Exists((Predicate <BattleUnitBuf>)(y => y is BattleUnitBuf_snowwhite_vine))));

                if (vine.Count <= 0 && currentSlot > this._owner.speedDiceResult.Count / 2)
                {
                    return(base.ChangeAttackTarget(card, currentSlot));
                }
                return(RandomUtil.SelectOne <BattleUnitModel>(vine));
            }
コード例 #11
0
 public override void OnSelectEmotion()
 {
     if (this._owner.faction == Faction.Player)
     {
         trick = this._owner.allyCardDetail.AddNewCard(this._targetID);
     }
     if (this._owner.faction == Faction.Enemy)
     {
         round = 3;
     }
 }
コード例 #12
0
 public override void OnWaveStart()
 {
     if (this._owner.faction == Faction.Player)
     {
         learn = this._owner.allyCardDetail.AddNewCard(this.GetTargetCardId());
     }
     if (this._owner.faction == Faction.Enemy)
     {
         copyiedList = new List <int>();
     }
 }
            public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int idx)
            {
                if (card.GetID() != 1108401 || patient.Count <= 0)
                {
                    return(base.ChangeAttackTarget(card, idx));
                }
                BattleUnitModel target = patient[0];

                patient.Remove(target);
                return(target);
            }
コード例 #14
0
 public override void OnUseInstance(BattleUnitModel unit, BattleDiceCardModel self, BattleUnitModel targetUnit)
 {
     foreach (BattleUnitModel Unit in BattleObjectManager.instance.GetAliveList_opponent(unit.faction))
     {
         if (Unit.bufListDetail.GetActivatedBuf(KeywordBuf.JaeheonMark) != null)
         {
             Unit.bufListDetail.GetActivatedBuf(KeywordBuf.JaeheonMark).Destroy();
         }
     }
     targetUnit.bufListDetail.AddBuf(new BattleUnitBuf_AttackTarget());
 }
コード例 #15
0
            public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int currentSlotOrder)
            {
                List <BattleUnitModel> aliveList = BattleObjectManager.instance.GetAliveList();

                aliveList.Remove(this._owner);
                if (aliveList.Count == 0)
                {
                    return(base.ChangeAttackTarget(card, currentSlotOrder));
                }
                return(RandomUtil.SelectOne <BattleUnitModel>(aliveList));
            }
 public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int currentSlot)
 {
     foreach (BattleUnitModel enemy in BattleObjectManager.instance.GetAliveList(Faction.Enemy))
     {
         if (enemy.bufListDetail.GetActivatedBufList().Exists(x => x is EmotionCardAbility_servantofwrath2.BattleUnitBuf_Emotion_Wrath_Friend))
         {
             return(enemy);
         }
     }
     return(null);
 }
        public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int currentSlot)
        {
            List <BattleUnitModel> aliveList = BattleObjectManager.instance.GetAliveList(this.owner.faction).FindAll(x => !x.passiveDetail.HasPassive <Zombie>());

            if (aliveList.Count <= 0)
            {
                this.owner.Die();
                Singleton <StageController> .Instance.CheckEndBattle();
            }
            Contingecy_Contract.Debug.Log("Zomebie try to move");
            return(RandomUtil.SelectOne <BattleUnitModel>(aliveList));
        }
コード例 #18
0
 public override void OnSelectEmotion()
 {
     SoundEffectPlayer.PlaySound("Creature/Pino_On");
     if (this._owner.faction == Faction.Player)
     {
         learn = this._owner.allyCardDetail.AddNewCard(this.GetTargetCardId());
     }
     if (this._owner.faction == Faction.Enemy)
     {
         copyiedList = new List <int>();
     }
 }
コード例 #19
0
 public override void OnSelectEmotion()
 {
     if (this._owner.faction == Faction.Player)
     {
         jade = this._owner.allyCardDetail.AddNewCard(this._targetID);
     }
     if (this._owner.faction == Faction.Enemy)
     {
         round   = 4;
         Trigger = false;
     }
 }
コード例 #20
0
 public override void OnWaveStart()
 {
     this.effect = false;
     if (this._owner.faction == Faction.Player)
     {
         Dacapo = this._owner.allyCardDetail.AddNewCardToDeck(1100006);
     }
     if (this._owner.faction == Faction.Enemy)
     {
         this.trigger = false;
     }
 }
コード例 #21
0
 public override void OnUseInstance(BattleUnitModel unit, BattleDiceCardModel self, BattleUnitModel targetUnit)
 {
     base.OnUseInstance(unit, self, targetUnit);
     if (targetUnit.faction == unit.faction)
     {
         targetUnit.bufListDetail.AddBuf(new BattleUnitBuf_Pluto_Contracted_5());
     }
     else
     {
         unit.bufListDetail.AddBuf(new BattleUnitBuf_Pluto_Contracted_5());
     }
 }
コード例 #22
0
        public override void OnDrawCard()
        {
            base.OnDrawCard();
            if (this._owner.faction == Faction.Enemy)
            {
                SoundEffectPlayer.PlaySound("Creature/Pino_On");
            }
            BattleDiceCardModel copy = this._owner.allyCardDetail.AddNewCard(RandomUtil.SelectOne <int>(copyiedList));

            copy.temporary = true;
            copy.SetPriorityAdder(100);
            copyiedList.Clear();
        }
コード例 #23
0
        public override void OnStartBattle()
        {
            BattleDiceCardModel playingCard = BattleDiceCardModel.CreatePlayingCard(ItemXmlDataList.instance.GetCardItem(18200005));

            if (playingCard == null)
            {
                return;
            }
            foreach (BattleDiceBehavior diceCardBehavior in playingCard.CreateDiceCardBehaviorList())
            {
                this.owner.cardSlotDetail.keepCard.AddBehaviourForOnlyDefense(playingCard, diceCardBehavior);
            }
        }
 public override void OnUseInstance(BattleUnitModel unit, BattleDiceCardModel self, BattleUnitModel targetUnit)
 {
     if (FindAngelica(unit) != null)
     {
         FindAngelica(unit).bufListDetail.AddBuf(new BattleUnitBuf_AngelicaPuppet(unit));
     }
     if (unit.passiveDetail.PassiveList.Find((Predicate <PassiveAbilityBase>)(x => x is PassiveAbility_1870001)) is PassiveAbility_1870001 passive)
     {
         passive.ReturnToPassive();
     }
     self.exhaust = true;
     base.OnUseInstance(unit, self, targetUnit);
 }
        public override void OnUseCard()
        {
            if (card.target == null || card.target.bufListDetail.GetActivatedBuf(KeywordBuf.Burn) == null || card.target.bufListDetail.GetActivatedBuf(KeywordBuf.Burn).stack < 5)
            {
                return;
            }
            List <BattleDiceCardModel> list = this.owner.allyCardDetail.GetHand();
            BattleDiceCardModel        Card = RandomUtil.SelectOne <BattleDiceCardModel>(list);

            Card.AddBuf(new BurnCost());
            list.Remove(Card);
            Card = RandomUtil.SelectOne <BattleDiceCardModel>(list);
            Card.AddBuf(new BurnCost());
        }
コード例 #26
0
 public override void OnSelectEmotion()
 {
     this.savedHp = (int)this._owner.hp;
     this.savedBp = this._owner.breakDetail.breakGauge;
     this.effect  = false;
     if (this._owner.faction == Faction.Enemy)
     {
         this.trigger = false;
     }
     if (this._owner.faction == Faction.Player)
     {
         Dacapo = this._owner.allyCardDetail.AddNewCard(1100006);
     }
 }
コード例 #27
0
        public override void OnWaveStart()
        {
            base.OnWaveStart();
            RestDice = new Queue <DiceBehaviour>();
            DiceCardXmlInfo xml = ItemXmlDataList.instance.GetCardItem(18000021).Copy(true);

            foreach (DiceBehaviour dice in xml.DiceBehaviourList)
            {
                RestDice.Enqueue(dice);
            }
            xml.DiceBehaviourList.Clear();
            xml.DiceBehaviourList.Add(RestDice.Dequeue());
            model = BattleDiceCardModel.CreatePlayingCard(xml);
            this.owner.allyCardDetail.AddCardToHand(model);
            count = 0;
        }
コード例 #28
0
            public override void OnRoundStart()
            {
                BattleUnitModel            alive = RandomUtil.SelectOne <BattleUnitModel>(BattleObjectManager.instance.GetAliveList(Faction.Player));
                List <BattleDiceCardModel> hand  = alive.allyCardDetail.GetHand();
                int num = 0;

                while (num < 2)
                {
                    ++num;
                    if (hand.Count > 0)
                    {
                        BattleDiceCardModel battleDiceCardModel = RandomUtil.SelectOne <BattleDiceCardModel>(hand);
                        battleDiceCardModel.AddCost(1);
                        this._cards.Add(battleDiceCardModel);
                        hand.Remove(battleDiceCardModel);
                    }
                }
            }
コード例 #29
0
        public override void OnWaveStart()
        {
            base.OnWaveStart();
            List <BattleDiceCardModel> Deck    = this._owner.allyCardDetail.GetAllDeck();
            List <BattleDiceCardModel> Exhaust = new List <BattleDiceCardModel>();

            for (int i = 0; i < 3; i++)
            {
                BattleDiceCardModel victim = RandomUtil.SelectOne <BattleDiceCardModel>(Deck);
                Exhaust.Add(victim);
                Deck.Remove(victim);
            }
            Lost.AddRange(Exhaust);
            foreach (BattleDiceCardModel card in Exhaust)
            {
                this._owner.allyCardDetail.ExhaustACard(card);
            }
        }
 public override BattleUnitModel ChangeAttackTarget(BattleDiceCardModel card, int idx)
 {
     if (idx >= 3)
     {
         return(base.ChangeAttackTarget(card, idx));
     }
     foreach (BattleUnitModel enemy in BattleObjectManager.instance.GetAliveList(this._owner.faction == Faction.Player ? Faction.Enemy : Faction.Player))
     {
         if (enemy.bufListDetail.GetActivatedBufList().Find((Predicate <BattleUnitBuf>)(x => x is BattleUnitBuf_Emotion_WayBackHome_Target)) is BattleUnitBuf_Emotion_WayBackHome_Target goldbrick)
         {
             if (goldbrick.stack - 1 == idx)
             {
                 return(enemy);
             }
         }
     }
     return(base.ChangeAttackTarget(card, idx));
 }