Beispiel #1
0
 // Token: 0x06003788 RID: 14216 RVA: 0x000F9B94 File Offset: 0x000F7D94
 public void Start(BattleActor actor0, BattleActor actor1, ConfigDataSkillInfo heroSkillInfo0, ConfigDataSkillInfo heroSkillInfo1, int randomSeed)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_StartBattleActorBattleActorConfigDataSkillInfoConfigDataSkillInfoInt32_hotfix != null)
     {
         this.m_StartBattleActorBattleActorConfigDataSkillInfoConfigDataSkillInfoInt32_hotfix.call(new object[]
         {
             this,
             actor0,
             actor1,
             heroSkillInfo0,
             heroSkillInfo1,
             randomSeed
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     this.Clear();
     this.m_randomNumber.SetSeed(randomSeed);
     this.m_startCountdown     = Combat.MillisecondToFrame1(this.ConfigDataLoader.UtilityGetConfigableConst(ConfigableConstId.ConfigableConstId_Combat_StartDelay) + 250) + 1;
     this.m_state              = CombatState.Ready;
     this.m_isPaused           = false;
     this.m_combatGridDistance = GridPosition.Distance(actor0.Position, actor1.Position);
     this.SetupTeam(0, actor0, heroSkillInfo0);
     this.SetupTeam(1, actor1, heroSkillInfo1);
     foreach (CombatTeam combatTeam in this.m_teams)
     {
         combatTeam.EnterCombat();
     }
 }
Beispiel #2
0
        // Token: 0x06003B29 RID: 15145 RVA: 0x0010EDC0 File Offset: 0x0010CFC0
        public static void ModifyGuildMassiveCombatBattleTeamSetups(IConfigDataLoader configDataLoader, int strongholdId, List <int> preferredHeroTagIds, BattleTeamSetup mineTime)
        {
            ConfigDataGuildMassiveCombatStrongholdInfo configDataGuildMassiveCombatStrongholdInfo = configDataLoader.GetConfigDataGuildMassiveCombatStrongholdInfo(strongholdId);

            if (configDataGuildMassiveCombatStrongholdInfo == null)
            {
                return;
            }
            if (preferredHeroTagIds == null)
            {
                return;
            }
            ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(configDataGuildMassiveCombatStrongholdInfo.UpSkill_ID);

            if (configDataSkillInfo != null)
            {
                foreach (BattleActorSetup battleActorSetup in mineTime.m_actors)
                {
                    foreach (int item in preferredHeroTagIds)
                    {
                        if (battleActorSetup.HeroInfo.m_heroTagIds.Contains(item))
                        {
                            BattleUtility.AppendExtraSkillToBattleActorSetup(configDataSkillInfo, battleActorSetup);
                            break;
                        }
                    }
                }
            }
        }
Beispiel #3
0
 // Token: 0x0600D75B RID: 55131 RVA: 0x003AA344 File Offset: 0x003A8544
 public void InitSkillDesc(ConfigDataSkillInfo skillInfo)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_InitSkillDescConfigDataSkillInfo_hotfix != null)
     {
         this.m_InitSkillDescConfigDataSkillInfo_hotfix.call(new object[]
         {
             this,
             skillInfo
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     if (skillInfo == null)
     {
         return;
     }
     this.ShowPanel();
     this.SkillInfo       = skillInfo;
     this.m_nameText.text = skillInfo.Name;
     UIUtility.SetGameObjectChildrenActiveCount(this.m_costObj, skillInfo.SkillCost);
     this.m_typeText.text     = skillInfo.TypeText;
     this.m_cdText.text       = skillInfo.CDText;
     this.m_distanceText.text = skillInfo.DistanceText;
     this.m_rangeText.text    = skillInfo.RangeText;
     this.m_descText.text     = skillInfo.Desc;
 }
Beispiel #4
0
        // Token: 0x0600378A RID: 14218 RVA: 0x000F9D90 File Offset: 0x000F7F90
        private void SetupTeam(int teamNumber, BattleActor battleActor, ConfigDataSkillInfo heroSkillInfo)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetupTeamInt32BattleActorConfigDataSkillInfo_hotfix != null)
            {
                this.m_SetupTeamInt32BattleActorConfigDataSkillInfo_hotfix.call(new object[]
                {
                    this,
                    teamNumber,
                    battleActor,
                    heroSkillInfo
                });
                return;
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            if (battleActor == null)
            {
                return;
            }
            CombatTeam combatTeam = this.m_teams[teamNumber];

            combatTeam.Initialize(this, teamNumber, battleActor, heroSkillInfo);
            int num  = this.ConfigDataLoader.Const_CombatHeroDistance / -2;
            int num2 = -20;
            int num3 = 1;

            if (this.GetCombatGridDistance() > 1)
            {
                num -= this.ConfigDataLoader.Const_CombatSplitScreenDistance / 2;
            }
            if (teamNumber != 0)
            {
                num  = -num;
                num3 = -1;
            }
            if (battleActor.HeroInfo != null)
            {
                CombatActor combatActor = combatTeam.CreateActor(true);
                combatActor.SetPosition(num, num2);
                combatActor.SetDirection(num3);
                combatActor.SetFormationLine(9);
            }
            if (battleActor.SoldierInfo != null)
            {
                int soldierCount = battleActor.GetSoldierCount();
                for (int i = 0; i < soldierCount; i++)
                {
                    CombatActor combatActor2      = combatTeam.CreateActor(false);
                    Position2i  formationPosition = combatTeam.GetFormationPosition(i);
                    combatActor2.SetPosition(num + formationPosition.x * num3, num2 + formationPosition.y);
                    combatActor2.SetDirection(num3);
                    combatActor2.SetFormationLine(combatTeam.GetFormationLine(i));
                    if (i == soldierCount - 1)
                    {
                        combatActor2.SetHealthPoint(battleActor.SoldierTotalHealthPoint - combatActor2.HealthPointMax * (soldierCount - 1));
                    }
                }
            }
        }
Beispiel #5
0
        // Token: 0x060102F2 RID: 66290 RVA: 0x0043B1DC File Offset: 0x004393DC
        private void __callDele_EventOnSkillClick(ConfigDataSkillInfo obj)
        {
            Action <ConfigDataSkillInfo> eventOnSkillClick = this.EventOnSkillClick;

            if (eventOnSkillClick != null)
            {
                eventOnSkillClick(obj);
            }
        }
Beispiel #6
0
        // Token: 0x0600FFF9 RID: 65529 RVA: 0x00431F8C File Offset: 0x0043018C
        private void SetBreakHeroInfo()
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetBreakHeroInfo_hotfix != null)
            {
                this.m_SetBreakHeroInfo_hotfix.call(new object[]
                {
                    this
                });
                return;
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            if (this.m_heroCharUIController.GetCharImageInfo() != this.m_hero.HeroInfo.GetCharImageInfo(this.m_hero.StarLevel))
            {
                this.m_heroCharUIController.CreateGraphic(this.m_hero, HeroCharUIController.PerformanceState.Break, false, null);
                this.m_heroCharUIController.PlayAnimation("idle_Normal", false);
            }
            HeroPropertyComputer heroPropertyComputer = new HeroPropertyComputer();

            heroPropertyComputer.Init(this.m_configDataLoader);
            HeroPropertyComputer heroPropertyComputer2 = heroPropertyComputer;
            Hero hero         = this.m_hero;
            int  jobRelatedId = this.m_hero.GetActiveJob().JobRelatedId;
            int  starLevel    = this.m_hero.StarLevel - 1;
            int  starLevel2   = this.m_hero.StarLevel;

            heroPropertyComputer2.ComputeHeroProperties(hero, jobRelatedId, -1, -1, starLevel, starLevel2, -1, -1);
            this.m_heroBreakSuccessInfoHpText.text         = heroPropertyComputer.Property0.HealthPointMax.ToString();
            this.m_heroBreakSuccessInfoHpAddText.text      = (heroPropertyComputer.Property1.HealthPointMax - heroPropertyComputer.Property0.HealthPointMax).ToString();
            this.m_heroBreakSuccessInfoATText.text         = heroPropertyComputer.Property0.Attack.ToString();
            this.m_heroBreakSuccessInfoATAddText.text      = (heroPropertyComputer.Property1.Attack - heroPropertyComputer.Property0.Attack).ToString();
            this.m_heroBreakSuccessInfoMagicText.text      = heroPropertyComputer.Property0.Magic.ToString();
            this.m_heroBreakSuccessInfoMagicAddText.text   = (heroPropertyComputer.Property1.Magic - heroPropertyComputer.Property0.Magic).ToString();
            this.m_heroBreakSuccessInfoDFText.text         = heroPropertyComputer.Property0.Defense.ToString();
            this.m_heroBreakSuccessInfoDFAddText.text      = (heroPropertyComputer.Property1.Defense - heroPropertyComputer.Property0.Defense).ToString();
            this.m_heroBreakSuccessInfoMagicDFText.text    = heroPropertyComputer.Property0.MagicDefense.ToString();
            this.m_heroBreakSuccessInfoMagicDFAddText.text = (heroPropertyComputer.Property1.MagicDefense - heroPropertyComputer.Property0.MagicDefense).ToString();
            this.m_heroBreakSuccessInfoDexText.text        = heroPropertyComputer.Property0.Dexterity.ToString();
            this.m_heroBreakSuccessInfoDexAddText.text     = (heroPropertyComputer.Property1.Dexterity - heroPropertyComputer.Property0.Dexterity).ToString();
            UIUtility.ReverseShowGameObjectChildrenByActive(this.m_heroStarGroup, this.m_hero.StarLevel - 1);
            ConfigDataSkillInfo talentSkillInfo = this.m_hero.GetActiveJob().JobConnectionInfo.GetTalentSkillInfo(this.m_hero.StarLevel - 1);

            if (talentSkillInfo != null)
            {
                this.m_talent1Icon.sprite   = AssetUtility.Instance.GetSprite(talentSkillInfo.Icon);
                this.m_talent1NameText.text = talentSkillInfo.Name;
                this.m_talent1DescText.text = talentSkillInfo.Desc;
            }
            ConfigDataSkillInfo talentSkillInfo2 = this.m_hero.GetActiveJob().JobConnectionInfo.GetTalentSkillInfo(this.m_hero.StarLevel);

            if (talentSkillInfo2 != null)
            {
                this.m_talent2Icon.sprite   = AssetUtility.Instance.GetSprite(talentSkillInfo2.Icon);
                this.m_talent2NameText.text = talentSkillInfo2.Name;
                this.m_talent2DescText.text = talentSkillInfo2.Desc;
            }
        }
Beispiel #7
0
 // Token: 0x06003B2A RID: 15146 RVA: 0x0010EEA4 File Offset: 0x0010D0A4
 private static void AppendExtraSkillToBattleActorSetup(ConfigDataSkillInfo skillInfo, BattleActorSetup a)
 {
     if (skillInfo == null)
     {
         return;
     }
     if (a.ExtraPassiveSkillInfos == null)
     {
         a.ExtraPassiveSkillInfos = new List <ConfigDataSkillInfo>();
     }
     a.ExtraPassiveSkillInfos.Add(skillInfo);
 }
        // Token: 0x0601090B RID: 67851 RVA: 0x0044E4F4 File Offset: 0x0044C6F4
        private void ShowSelectSkillContent()
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_ShowSelectSkillContent_hotfix != null)
            {
                this.m_ShowSelectSkillContent_hotfix.call(new object[]
                {
                    this
                });
                return;
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            GameObjectUtility.DestroyChildren(this.m_infoAllSkillsContent);
            GameObjectUtility.DestroyChildren(this.m_infoSelectSkillsContent);
            GameObject assetInContainer = base.GetAssetInContainer <GameObject>("skillItem");
            List <int> skillIds         = this.m_hero.SkillIds;
            List <int> selectedSkills   = this.m_hero.SelectedSkills;

            this.m_curSelectSkillIds = new List <int>();
            this.m_curSelectSkillIds.AddRange(selectedSkills);
            foreach (int key in skillIds)
            {
                ConfigDataSkillInfo configDataSkillInfo = this.m_configDataLoader.GetConfigDataSkillInfo(key);
                GameObject          gameObject          = UnityEngine.Object.Instantiate <GameObject>(assetInContainer);
                PrefabControllerCreater.CreateAllControllers(gameObject);
                HeroSkillItemUIController component = gameObject.GetComponent <HeroSkillItemUIController>();
                component.EventOnShowDesc += this.OnSkillItemClick;
                component.InitSkillItem(configDataSkillInfo);
                bool limitTagObjActive = this.m_playerContext.IsSkillLimitToHeroJob(this.m_hero.ActiveHeroJobRelatedId, configDataSkillInfo.ID);
                component.SetLimitTagObjActive(limitTagObjActive);
                gameObject.transform.SetParent(this.m_infoAllSkillsContent.transform, false);
                if (selectedSkills.Contains(configDataSkillInfo.ID))
                {
                    component.SetSelectPanelActive(true);
                }
            }
            foreach (int key2 in skillIds)
            {
                ConfigDataSkillInfo configDataSkillInfo2 = this.m_configDataLoader.GetConfigDataSkillInfo(key2);
                if (selectedSkills.Contains(configDataSkillInfo2.ID))
                {
                    GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(assetInContainer);
                    PrefabControllerCreater.CreateAllControllers(gameObject2);
                    HeroSkillItemUIController component2 = gameObject2.GetComponent <HeroSkillItemUIController>();
                    component2.EventOnShowDesc += this.OnSkillItemClick;
                    component2.InitSkillItem(configDataSkillInfo2);
                    gameObject2.transform.SetParent(this.m_infoSelectSkillsContent.transform, false);
                }
            }
            UIUtility.SetGameObjectChildrenActiveCount(this.m_infoSelectSkillsCost, this.CalcTotalCostFromSkillList(selectedSkills));
            CommonUIStateController component3 = this.m_infoSelectSkillPanel.GetComponent <CommonUIStateController>();

            UIUtility.SetUIStateOpen(component3, "Show", null, false, true);
        }
Beispiel #9
0
        // Token: 0x06003B21 RID: 15137 RVA: 0x0010E6E8 File Offset: 0x0010C8E8
        public static List <ConfigDataSkillInfo> GetTrainingTechSoldierSkillInfos(IConfigDataLoader configDataLoader, List <TrainingTech> techs, ConfigDataSoldierInfo soldierInfo, out int soldierSkillLevelUp)
        {
            List <ConfigDataSkillInfo> list = new List <ConfigDataSkillInfo>();

            soldierSkillLevelUp = 0;
            if (techs == null || soldierInfo == null)
            {
                return(list);
            }
            foreach (TrainingTech trainingTech in techs)
            {
                if (trainingTech.ConfigDataLoader == null)
                {
                    trainingTech.ConfigDataLoader = configDataLoader;
                }
                if (trainingTech.Config != null)
                {
                    ConfigDataTrainingTechInfo config = trainingTech.Config;
                    if (!config.IsSummon)
                    {
                        if (config.SoldierIDRelated.Contains(soldierInfo.ID) || config.ArmyIDRelated.Contains(soldierInfo.Army_ID))
                        {
                            int num  = 0;
                            int num2 = 0;
                            while (num2 < trainingTech.Level && num2 < trainingTech.Infos.Count)
                            {
                                ConfigDataTrainingTechLevelInfo config2 = trainingTech.Infos[num2].Config;
                                if (config2.SoldierSkillID != 0)
                                {
                                    num = config2.SoldierSkillID;
                                }
                                if (config2.SoldierSkillLevelup > soldierSkillLevelUp)
                                {
                                    soldierSkillLevelUp = config2.SoldierSkillLevelup;
                                }
                                num2++;
                            }
                            if (num != 0)
                            {
                                ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(num);
                                if (configDataSkillInfo != null)
                                {
                                    list.Add(configDataSkillInfo);
                                }
                            }
                        }
                    }
                }
            }
            return(list);
        }
Beispiel #10
0
        // Token: 0x0600370E RID: 14094 RVA: 0x000F5424 File Offset: 0x000F3624
        public List <ConfigDataSkillInfo> GetTrainingTechSummonSkills(IConfigDataLoader configDataLoader, ConfigDataHeroInfo heroInfo)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetTrainingTechSummonSkillsIConfigDataLoaderConfigDataHeroInfo_hotfix != null)
            {
                return((List <ConfigDataSkillInfo>) this.m_GetTrainingTechSummonSkillsIConfigDataLoaderConfigDataHeroInfo_hotfix.call(new object[]
                {
                    this,
                    configDataLoader,
                    heroInfo
                }));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            List <ConfigDataSkillInfo> list = new List <ConfigDataSkillInfo>();

            if (this.TrainingTechs == null || heroInfo == null)
            {
                return(list);
            }
            foreach (BattlePlayerTrainingTech battlePlayerTrainingTech in this.TrainingTechs)
            {
                ConfigDataTrainingTechInfo trainingTechInfo = battlePlayerTrainingTech.TrainingTechInfo;
                if (trainingTechInfo.IsSummon)
                {
                    if (trainingTechInfo.SoldierIDRelated.Contains(heroInfo.ID) || trainingTechInfo.ArmyIDRelated.Contains(heroInfo.m_jobConnectionInfo.m_jobInfo.Army_ID))
                    {
                        int num  = 0;
                        int num2 = 0;
                        while (num2 < battlePlayerTrainingTech.Level && num2 < trainingTechInfo.m_techLevelupInfo.Count)
                        {
                            ConfigDataTrainingTechLevelInfo configDataTrainingTechLevelInfo = trainingTechInfo.m_techLevelupInfo[num2];
                            if (configDataTrainingTechLevelInfo.SoldierSkillID != 0)
                            {
                                num = configDataTrainingTechLevelInfo.SoldierSkillID;
                            }
                            num2++;
                        }
                        if (num != 0)
                        {
                            ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(num);
                            if (configDataSkillInfo != null)
                            {
                                list.Add(configDataSkillInfo);
                            }
                        }
                    }
                }
            }
            return(list);
        }
Beispiel #11
0
        // Token: 0x0600370D RID: 14093 RVA: 0x000F52B4 File Offset: 0x000F34B4
        public List <ConfigDataSkillInfo> GetTrainingTechSoldierSkillInfos(IConfigDataLoader configDataLoader, ConfigDataSoldierInfo soldierInfo, out int soldierSkillLevelUp)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetTrainingTechSoldierSkillInfosIConfigDataLoaderConfigDataSoldierInfoInt32__hotfix != null)
            {
                return(LuaDelegation.Lua_BlackJack_ProjectL_Battle_BattlePlayer_GetTrainingTechSoldierSkillInfos_IConfigDataLoader_ConfigDataSoldierInfo_Int32(this, this.m_GetTrainingTechSoldierSkillInfosIConfigDataLoaderConfigDataSoldierInfoInt32__hotfix, configDataLoader, soldierInfo, out soldierSkillLevelUp));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            List <ConfigDataSkillInfo> list = new List <ConfigDataSkillInfo>();

            soldierSkillLevelUp = 0;
            if (this.TrainingTechs == null || soldierInfo == null)
            {
                return(list);
            }
            foreach (BattlePlayerTrainingTech battlePlayerTrainingTech in this.TrainingTechs)
            {
                ConfigDataTrainingTechInfo trainingTechInfo = battlePlayerTrainingTech.TrainingTechInfo;
                if (!trainingTechInfo.IsSummon)
                {
                    if (trainingTechInfo.SoldierIDRelated.Contains(soldierInfo.ID) || trainingTechInfo.ArmyIDRelated.Contains(soldierInfo.Army_ID))
                    {
                        int num  = 0;
                        int num2 = 0;
                        while (num2 < battlePlayerTrainingTech.Level && num2 < trainingTechInfo.m_techLevelupInfo.Count)
                        {
                            ConfigDataTrainingTechLevelInfo configDataTrainingTechLevelInfo = trainingTechInfo.m_techLevelupInfo[num2];
                            if (configDataTrainingTechLevelInfo.SoldierSkillID != 0)
                            {
                                num = configDataTrainingTechLevelInfo.SoldierSkillID;
                            }
                            if (configDataTrainingTechLevelInfo.SoldierSkillLevelup > soldierSkillLevelUp)
                            {
                                soldierSkillLevelUp = configDataTrainingTechLevelInfo.SoldierSkillLevelup;
                            }
                            num2++;
                        }
                        if (num != 0)
                        {
                            ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(num);
                            if (configDataSkillInfo != null)
                            {
                                list.Add(configDataSkillInfo);
                            }
                        }
                    }
                }
            }
            return(list);
        }
Beispiel #12
0
        // Token: 0x060036D7 RID: 14039 RVA: 0x000F3C70 File Offset: 0x000F1E70
        public static DamageNumberType ComputeDamangeNumberType(ConfigDataSkillInfo skillInfo, bool isCritical, ArmyRelationData armyRelation, bool isSameTeam)
        {
            DamageNumberType result = DamageNumberType.Normal;

            if (skillInfo != null)
            {
                if (skillInfo.SkillType == SkillType.SkillType_BF_DamageHeal && isSameTeam)
                {
                    result = DamageNumberType.Heal;
                }
                else if (skillInfo.IsDamageSkill())
                {
                    if (isCritical)
                    {
                        result = DamageNumberType.Critical;
                    }
                    else
                    {
                        int num = 0;
                        if (skillInfo.IsPhysicalDamageSkill())
                        {
                            num = armyRelation.Attack - armyRelation.Defend;
                        }
                        else if (skillInfo.IsMagicDamageSkill())
                        {
                            num = armyRelation.Magic - armyRelation.MagicDefend;
                        }
                        if (num > 0)
                        {
                            result = DamageNumberType.Weak;
                        }
                        else if (num < 0)
                        {
                            result = DamageNumberType.Strong;
                        }
                    }
                }
                else if (skillInfo.IsHealSkill())
                {
                    result = DamageNumberType.Heal;
                }
            }
            else if (isCritical)
            {
                result = DamageNumberType.Critical;
            }
            return(result);
        }
Beispiel #13
0
        // Token: 0x06003B28 RID: 15144 RVA: 0x0010EC1C File Offset: 0x0010CE1C
        public static void ModifyClimbTowerBattleTeamSetups(IConfigDataLoader configDataLoader, int floorId, int bonusHeroGroupId, int battleRuleId, BattleTeamSetup mineTime, BattleTeamSetup opponentTeam)
        {
            ConfigDataTowerFloorInfo configDataTowerFloorInfo = configDataLoader.GetConfigDataTowerFloorInfo(floorId);

            if (configDataTowerFloorInfo == null)
            {
                return;
            }
            ConfigDataTowerBonusHeroGroupInfo configDataTowerBonusHeroGroupInfo = configDataLoader.GetConfigDataTowerBonusHeroGroupInfo(bonusHeroGroupId);

            if (configDataTowerBonusHeroGroupInfo != null)
            {
                ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(configDataTowerFloorInfo.BonusSkill_ID);
                if (configDataSkillInfo != null)
                {
                    foreach (BattleActorSetup battleActorSetup in mineTime.m_actors)
                    {
                        if (configDataTowerBonusHeroGroupInfo.BonusHeroIdList.Contains(battleActorSetup.HeroInfo.ID))
                        {
                            BattleUtility.AppendExtraSkillToBattleActorSetup(configDataSkillInfo, battleActorSetup);
                        }
                    }
                }
            }
            ConfigDataTowerBattleRuleInfo configDataTowerBattleRuleInfo = configDataLoader.GetConfigDataTowerBattleRuleInfo(battleRuleId);

            if (configDataTowerBattleRuleInfo != null)
            {
                ConfigDataSkillInfo configDataSkillInfo2 = configDataLoader.GetConfigDataSkillInfo(configDataTowerBattleRuleInfo.Skill_ID);
                if (configDataSkillInfo2 != null)
                {
                    if (configDataTowerBattleRuleInfo.Target == 1 || configDataTowerBattleRuleInfo.Target == 3)
                    {
                        foreach (BattleActorSetup a in opponentTeam.m_actors)
                        {
                            BattleUtility.AppendExtraSkillToBattleActorSetup(configDataSkillInfo2, a);
                        }
                    }
                    if (configDataTowerBattleRuleInfo.Target == 2 || configDataTowerBattleRuleInfo.Target == 3)
                    {
                        foreach (BattleActorSetup a2 in mineTime.m_actors)
                        {
                            BattleUtility.AppendExtraSkillToBattleActorSetup(configDataSkillInfo2, a2);
                        }
                    }
                }
            }
        }
Beispiel #14
0
 // Token: 0x0600F9F9 RID: 63993 RVA: 0x0041C8F0 File Offset: 0x0041AAF0
 protected void SetEnchantStoneResonanceInfoPanel(GoodsType goodsType, int goodsID)
 {
     if (goodsType == GoodsType.GoodsType_EnchantStone)
     {
         ConfigDataEnchantStoneInfo configDataEnchantStoneInfo = this.m_configDataLoader.GetConfigDataEnchantStoneInfo(goodsID);
         if (configDataEnchantStoneInfo != null)
         {
             ConfigDataResonanceInfo configDataResonanceInfo = this.m_configDataLoader.GetConfigDataResonanceInfo(configDataEnchantStoneInfo.Resonance_ID);
             this.m_resonanceInfoPanelNameText.text = configDataResonanceInfo.Name;
             ConfigDataSkillInfo configDataSkillInfo = this.m_configDataLoader.GetConfigDataSkillInfo(configDataResonanceInfo.Effect1);
             this.m_resonanceInfoPanel2SuitInfoText.text = configDataSkillInfo.Desc;
             configDataSkillInfo = this.m_configDataLoader.GetConfigDataSkillInfo(configDataResonanceInfo.Effect2);
             this.m_resonanceInfoPanel4SuitInfoText.text = configDataSkillInfo.Desc;
         }
     }
     this.m_resonanceInfoPanel.SetActive(false);
 }
Beispiel #15
0
 // Token: 0x06003790 RID: 14224 RVA: 0x000FA21C File Offset: 0x000F841C
 public void OnActorCastSkill(CombatActor a, ConfigDataSkillInfo skillInfo)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_OnActorCastSkillCombatActorConfigDataSkillInfo_hotfix != null)
     {
         this.m_OnActorCastSkillCombatActorConfigDataSkillInfo_hotfix.call(new object[]
         {
             this,
             a,
             skillInfo
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     if (a == null || skillInfo == null)
     {
         return;
     }
     if (skillInfo.CutsceneType != 0)
     {
         ConfigDataCutsceneInfo configDataCutsceneInfo = null;
         if (skillInfo.CutsceneType == 1)
         {
             ConfigDataHeroInfo heroInfo = a.Team.HeroInfo;
             if (heroInfo != null)
             {
                 ConfigDataCharImageInfo charImageInfo = heroInfo.GetCharImageInfo(a.Team.HeroStar);
                 if (charImageInfo != null)
                 {
                     configDataCutsceneInfo = charImageInfo.m_skillCutsceneInfo;
                 }
             }
         }
         this.Pause(true);
         this.m_teams[a.TeamNumber].SetGraphicSkillFade(true);
         if (configDataCutsceneInfo != null)
         {
             this.m_cutscenePauseCountdown = Combat.MillisecondToFrame1(configDataCutsceneInfo.Time);
         }
         else
         {
             this.m_cutscenePauseCountdown = Combat.MillisecondToFrame1(this.ConfigDataLoader.Const_SkillPauseTime);
         }
         this.m_battle.Listener.OnStartSkillCutscene(skillInfo, configDataCutsceneInfo, a.TeamNumber);
     }
 }
Beispiel #16
0
        // Token: 0x06003B20 RID: 15136 RVA: 0x0010E594 File Offset: 0x0010C794
        public static List <ConfigDataSkillInfo> GetEquipmentResonanceSkillInfos(IConfigDataLoader configDataLoader, List <BattleHeroEquipment> equipments)
        {
            List <ConfigDataSkillInfo> list       = new List <ConfigDataSkillInfo>();
            Dictionary <int, int>      dictionary = new Dictionary <int, int>();

            foreach (BattleHeroEquipment battleHeroEquipment in equipments)
            {
                if (battleHeroEquipment.ResonanceId != 0)
                {
                    int num;
                    if (dictionary.TryGetValue(battleHeroEquipment.ResonanceId, out num))
                    {
                        dictionary[battleHeroEquipment.ResonanceId] = num + 1;
                    }
                    else
                    {
                        dictionary.Add(battleHeroEquipment.ResonanceId, 1);
                    }
                }
            }
            foreach (KeyValuePair <int, int> keyValuePair in dictionary)
            {
                ConfigDataResonanceInfo configDataResonanceInfo = configDataLoader.GetConfigDataResonanceInfo(keyValuePair.Key);
                if (configDataResonanceInfo != null)
                {
                    if (keyValuePair.Value >= 2)
                    {
                        ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(configDataResonanceInfo.Effect1);
                        if (configDataSkillInfo != null)
                        {
                            list.Add(configDataSkillInfo);
                        }
                    }
                    if (keyValuePair.Value >= 4)
                    {
                        ConfigDataSkillInfo configDataSkillInfo2 = configDataLoader.GetConfigDataSkillInfo(configDataResonanceInfo.Effect2);
                        if (configDataSkillInfo2 != null)
                        {
                            list.Add(configDataSkillInfo2);
                        }
                    }
                }
            }
            return(list);
        }
Beispiel #17
0
 // Token: 0x06010D43 RID: 68931 RVA: 0x0045CC24 File Offset: 0x0045AE24
 public void InitSkillItem(ConfigDataSkillInfo skillInfo, GameObject descParent)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_InitSkillItemConfigDataSkillInfoGameObject_hotfix != null)
     {
         this.m_InitSkillItemConfigDataSkillInfoGameObject_hotfix.call(new object[]
         {
             this,
             skillInfo,
             descParent
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     this.m_skillInfo           = skillInfo;
     this.m_descParent          = descParent;
     this.m_skillIconImg.sprite = AssetUtility.Instance.GetSprite(this.m_skillInfo.Icon);
     this.m_passiveSkillIconObj.SetActive(skillInfo.IsPassiveSkill());
 }
Beispiel #18
0
 // Token: 0x060106D9 RID: 67289 RVA: 0x00448174 File Offset: 0x00446374
 public void InitSkillItem(ConfigDataSkillInfo skillInfo)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_InitSkillItemConfigDataSkillInfo_hotfix != null)
     {
         this.m_InitSkillItemConfigDataSkillInfo_hotfix.call(new object[]
         {
             this,
             skillInfo
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     this.m_skillInfo           = skillInfo;
     this.m_skillIconImg.sprite = AssetUtility.Instance.GetSprite(this.m_skillInfo.Icon);
     UIUtility.SetGameObjectChildrenActiveCount(this.m_skillCost, this.m_skillInfo.SkillCost);
     UIUtility.SetGameObjectChildrenActiveCount(this.m_skillCostBg, this.m_skillInfo.SkillCost);
     this.m_passivityText.SetActive(skillInfo.IsPassiveSkill());
 }
Beispiel #19
0
 // Token: 0x060102EB RID: 66283 RVA: 0x0043AE88 File Offset: 0x00439088
 public void SetSkillInfoAndDescObj(ConfigDataSkillInfo skillInfo, GameObject descObj)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetSkillInfoAndDescObjConfigDataSkillInfoGameObject_hotfix != null)
     {
         this.m_SetSkillInfoAndDescObjConfigDataSkillInfoGameObject_hotfix.call(new object[]
         {
             this,
             skillInfo,
             descObj
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     this.m_skillInfo       = skillInfo;
     this.m_popupGameObject = descObj;
     if (descObj != null)
     {
         descObj.SetActive(false);
     }
 }
        // Token: 0x06010911 RID: 67857 RVA: 0x0044EDD4 File Offset: 0x0044CFD4
        private int CalcTotalCostFromSkillList(List <int> skillIds)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_CalcTotalCostFromSkillListList ` 1_hotfix != null)
            {
                return(Convert.ToInt32(this.m_CalcTotalCostFromSkillListList ` 1_hotfix.call(new object[]
                {
                    this,
                    skillIds
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int num = 0;

            foreach (int key in skillIds)
            {
                ConfigDataSkillInfo configDataSkillInfo = this.m_configDataLoader.GetConfigDataSkillInfo(key);
                num += configDataSkillInfo.SkillCost;
            }
            return(num);
        }
Beispiel #21
0
        // Token: 0x06003B1F RID: 15135 RVA: 0x0010E4F8 File Offset: 0x0010C6F8
        public static void GetRandomTalentSkills(IConfigDataLoader configDataLoader, int randomTalentId, List <int> randomTalentProbilities, RandomNumber randomNumber, out List <ConfigDataSkillInfo> actorTalentSkillInfos)
        {
            actorTalentSkillInfos = new List <ConfigDataSkillInfo>();
            int randomTalentSkillId = BattleUtility.GetRandomTalentSkillId(configDataLoader, randomNumber, randomTalentId);
            ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(randomTalentSkillId);

            if (configDataSkillInfo == null)
            {
                return;
            }
            foreach (int num in randomTalentProbilities)
            {
                if (randomNumber.Next(0, 10000) < num)
                {
                    actorTalentSkillInfos.Add(configDataSkillInfo);
                }
                else
                {
                    actorTalentSkillInfos.Add(null);
                }
            }
        }
Beispiel #22
0
 // Token: 0x0600A691 RID: 42641 RVA: 0x002EB708 File Offset: 0x002E9908
 public void SetSkill(ConfigDataSkillInfo skillInfo)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetSkillConfigDataSkillInfo_hotfix != null)
     {
         this.m_SetSkillConfigDataSkillInfo_hotfix.call(new object[]
         {
             this,
             skillInfo
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     if (skillInfo == null)
     {
         return;
     }
     this.m_icon.sprite   = AssetUtility.Instance.GetSprite(skillInfo.Icon);
     this.m_title.text    = skillInfo.Name;
     this.m_desc.text     = skillInfo.Desc;
     this.m_cd.text       = skillInfo.CDText;
     this.m_range.text    = skillInfo.RangeText;
     this.m_distance.text = skillInfo.DistanceText;
 }
Beispiel #23
0
 // Token: 0x060036E5 RID: 14053 RVA: 0x000F3F38 File Offset: 0x000F2138
 public static Fix64 ComputeMagicDamageValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo, bool isCritical, int targetTerrainBonus, int armyMagic, int armyMagicDefend, int meleePunish, bool useAttackAsMagic)
 {
     return(BattleFormula.ComputeMagicDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyMagic, armyMagicDefend, meleePunish, useAttackAsMagic));
 }
Beispiel #24
0
 // Token: 0x060036E4 RID: 14052 RVA: 0x000F3F24 File Offset: 0x000F2124
 public static Fix64 ComputePhysicalDamageValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo, bool isCritical, int targetTerrainBonus, int armyAttack, int armyDefend, int meleePunish)
 {
     return(BattleFormula.ComputePhysicalDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyAttack, armyDefend, meleePunish));
 }
Beispiel #25
0
        // Token: 0x060036CE RID: 14030 RVA: 0x000F37B0 File Offset: 0x000F19B0
        public static int ComputeSkillHpModifyValue(BattleProperty attackerProperty, BattleProperty targetProperty, ArmyRelationData armyRelation, ConfigDataSkillInfo skillInfo, bool isCritical, bool isBuffForceMagicDamage, bool isBanMeleePunish, ConfigDataTerrainInfo targetTerrain, int gridDistance, bool isSameTeam, RandomNumber randomNumber, IConfigDataLoader configDataLoader)
        {
            Fix64 value = Fix64.Zero;
            bool  flag  = false;

            if (skillInfo.SkillType == SkillType.SkillType_BF_DamageHeal)
            {
                if (isSameTeam)
                {
                    flag = true;
                }
            }
            else if (skillInfo.IsHealSkill() || skillInfo.IsBuffSkill())
            {
                flag = true;
            }
            if (flag)
            {
                value = BattleFormula.ComputeHealValue(attackerProperty, targetProperty, skillInfo);
            }
            else
            {
                int targetTerrainBonus = 0;
                if (targetTerrain != null)
                {
                    targetTerrainBonus = targetTerrain.BattleBonus;
                }
                int meleePunish = 0;
                if (gridDistance <= 1 && !isBanMeleePunish)
                {
                    meleePunish = configDataLoader.Const_MeleeATKPunish_Mult;
                }
                if (skillInfo.IsMagic)
                {
                    value = -BattleFormula.ComputeMagicDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyRelation.Magic, armyRelation.MagicDefend, meleePunish, false);
                }
                else if (isBuffForceMagicDamage)
                {
                    value = -BattleFormula.ComputeMagicDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyRelation.Attack, armyRelation.MagicDefend, meleePunish, true);
                }
                else
                {
                    value = -BattleFormula.ComputePhysicalDamageValue(attackerProperty, targetProperty, skillInfo, isCritical, targetTerrainBonus, armyRelation.Attack, armyRelation.Defend, meleePunish);
                }
            }
            return((int)((long)Fix64.Round(value)));
        }
Beispiel #26
0
        // Token: 0x060036CD RID: 14029 RVA: 0x000F3788 File Offset: 0x000F1988
        private static Fix64 ComputeHealValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo)
        {
            bool isPercent = skillInfo.SkillType == SkillType.SkillType_BF_HealPercent;

            return(BattleFormula.ComputeHealValue(attackerProperty, targetProperty, skillInfo.Power, isPercent, false));
        }
        // Token: 0x0601090D RID: 67853 RVA: 0x0044E8A0 File Offset: 0x0044CAA0
        private void OnLoadOrUnLoadButtonClick()
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_OnLoadOrUnLoadButtonClick_hotfix != null)
            {
                this.m_OnLoadOrUnLoadButtonClick_hotfix.call(new object[]
                {
                    this
                });
                return;
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            HeroSkillItemUIController curSelectedSkillCtrl = this.m_curSelectedSkillCtrl;
            ConfigDataSkillInfo       skillInfo            = curSelectedSkillCtrl.m_skillInfo;
            Transform parent = curSelectedSkillCtrl.gameObject.transform.parent;

            if (parent.gameObject == this.m_infoAllSkillsContent)
            {
                if (!this.m_curSelectSkillIds.Contains(skillInfo.ID))
                {
                    if (this.m_curSelectSkillIds.Count == 3)
                    {
                        CommonUIController.Instance.ShowMessage(StringTableId.StringTableId_Msg_SkillEquipNumMax, 2f, null, true);
                        return;
                    }
                    this.m_curSelectSkillIds.Add(skillInfo.ID);
                    int num = this.CalcTotalCostFromSkillList(this.m_curSelectSkillIds);
                    int heroSkillPointMax = this.m_playerContext.GetHeroSkillPointMax(this.m_hero.Level);
                    if (num > heroSkillPointMax)
                    {
                        CommonUIController.Instance.ShowMessage(StringTableId.StringTableId_Msg_SkillPointNotEnough, 2f, null, true);
                        this.m_curSelectSkillIds.Remove(skillInfo.ID);
                        return;
                    }
                    curSelectedSkillCtrl.SetSelectPanelActive(true);
                    GameObject assetInContainer = base.GetAssetInContainer <GameObject>("skillItem");
                    GameObject gameObject       = UnityEngine.Object.Instantiate <GameObject>(assetInContainer);
                    PrefabControllerCreater.CreateAllControllers(gameObject);
                    HeroSkillItemUIController component = gameObject.GetComponent <HeroSkillItemUIController>();
                    component.EventOnShowDesc += this.OnSkillItemClick;
                    component.InitSkillItem(skillInfo);
                    gameObject.transform.SetParent(this.m_infoSelectSkillsContent.transform, false);
                }
                else
                {
                    curSelectedSkillCtrl.SetSelectPanelActive(false);
                    for (int i = 0; i < this.m_infoSelectSkillsContent.transform.childCount; i++)
                    {
                        HeroSkillItemUIController component2 = this.m_infoSelectSkillsContent.transform.GetChild(i).GetComponent <HeroSkillItemUIController>();
                        if (component2.m_skillInfo == skillInfo)
                        {
                            this.m_curSelectSkillIds.Remove(component2.m_skillInfo.ID);
                            UnityEngine.Object.Destroy(this.m_infoSelectSkillsContent.transform.GetChild(i).gameObject);
                        }
                    }
                }
            }
            else if (parent.gameObject == this.m_infoSelectSkillsContent)
            {
                for (int j = 0; j < this.m_infoAllSkillsContent.transform.childCount; j++)
                {
                    HeroSkillItemUIController component3 = this.m_infoAllSkillsContent.transform.GetChild(j).GetComponent <HeroSkillItemUIController>();
                    if (component3.m_skillInfo == skillInfo)
                    {
                        component3.SetSelectPanelActive(false);
                        this.m_curSelectSkillIds.Remove(component3.m_skillInfo.ID);
                    }
                }
                UnityEngine.Object.Destroy(curSelectedSkillCtrl.gameObject);
            }
            this.m_infoSkillDescUnLoadButton.gameObject.SetActive(this.m_curSelectSkillIds.Contains(skillInfo.ID));
            UIUtility.SetGameObjectChildrenActiveCount(this.m_infoSelectSkillsCost, this.CalcTotalCostFromSkillList(this.m_curSelectSkillIds));
            this.CloseSkillDesc();
        }
Beispiel #28
0
 // Token: 0x060036E6 RID: 14054 RVA: 0x000F3F58 File Offset: 0x000F2158
 public static Fix64 ComputeHealValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo)
 {
     return(BattleFormula.ComputeHealValue(attackerProperty, targetProperty, skillInfo));
 }
Beispiel #29
0
        // Token: 0x060036CA RID: 14026 RVA: 0x000F3424 File Offset: 0x000F1624
        private static Fix64 ComputeMagicDamageValue(BattleProperty attackerProperty, BattleProperty targetProperty, ConfigDataSkillInfo skillInfo, bool isCritical, int targetTerrainBonus, int armyMagic, int armyMagicDefend, int meleePunish, bool useAttackAsMagic)
        {
            int num = attackerProperty.Magic;

            if (useAttackAsMagic)
            {
                num = attackerProperty.Attack;
            }
            Fix64 x = (Fix64)((long)num) * (Fix64.One + (Fix64)((long)armyMagic) * BattleFormula.d100) - (Fix64)((long)targetProperty.MagicDefense) * (Fix64.One - (Fix64)((long)attackerProperty.Buff_IgnoreDFMul) * BattleFormula.d10000) * (Fix64.One + (Fix64)((long)targetTerrainBonus) * BattleFormula.d100 + (Fix64)((long)armyMagicDefend) * BattleFormula.d100);

            if (x < Fix64.Zero)
            {
                x = Fix64.Zero;
            }
            Fix64 fix = x * (Fix64.One + (Fix64)((long)skillInfo.Power) * BattleFormula.d100);

            if (skillInfo.IsRangeSkill && !skillInfo.IsBattlefieldSkill() && meleePunish != 0)
            {
                fix *= Fix64.One - (Fix64)((long)meleePunish) * BattleFormula.d100;
            }
            Fix64 fix2 = fix;
            int   num2 = attackerProperty.Buff_MagicalDamageMul + targetProperty.Buff_MagicalDamageReceiveMul;

            if (num2 != 0)
            {
                fix2 *= Fix64.One + (Fix64)((long)num2) * BattleFormula.d10000;
            }
            if (isCritical)
            {
                fix2 *= Fix64.One + (Fix64)((long)attackerProperty.CriticalDamage) * BattleFormula.d10000;
            }
            if (targetProperty.Buff_SuperMagicalDamageReceiveMul != 0)
            {
                fix2 *= Fix64.One + (Fix64)((long)targetProperty.Buff_SuperMagicalDamageReceiveMul) * BattleFormula.d10000;
            }
            int num3 = 0;

            if (skillInfo.IsActiveSkill)
            {
                num3 = attackerProperty.Buff_SkillDamageMul;
            }
            if (skillInfo.IsBattlefieldSkill())
            {
                num3 += attackerProperty.Buff_BFSkillDamageMul;
            }
            if (num3 != 0)
            {
                fix2 *= Fix64.One + (Fix64)((long)num3) * BattleFormula.d10000;
            }
            if (skillInfo.IsRangeSkill && targetProperty.Buff_RangeDamageReceiveMul != 0)
            {
                fix2 *= Fix64.One + (Fix64)((long)targetProperty.Buff_RangeDamageReceiveMul) * BattleFormula.d10000;
            }
            if (fix2 < Fix64.One)
            {
                fix2 = Fix64.One;
            }
            return(fix2);
        }
Beispiel #30
0
 // Token: 0x060102F8 RID: 66296 RVA: 0x0043B3C4 File Offset: 0x004395C4
 public void __clearDele_EventOnSkillClick(ConfigDataSkillInfo obj)
 {
     this.m_owner.__clearDele_EventOnSkillClick(obj);
 }