public override void OnWaveStart() { phase = PhilipPhase.Cold; Cold = this.owner.allyCardDetail; Hot = new BattleAllyCardDetail(owner); List <DiceCardXmlInfo> list = new List <DiceCardXmlInfo>(); foreach (int i in Singleton <DeckXmlList> .Instance.GetData(18100001).cardIdList) { list.Add(ItemXmlDataList.instance.GetCardItem(i)); } Hot.Init(list); this._loopSound = SingletonBehavior <SoundEffectManager> .Instance.PlayClip("Creature/Philip_StrongLoop", true); }
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; } }