// 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(); } }
// 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; } } } } }
// 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; }
// 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)); } } } }
// 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); } }
// 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; } }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); }
// 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); } } } } }
// 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); }
// 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); } }
// 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); }
// 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()); }
// 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()); }
// 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); }
// 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); } } }
// 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; }
// 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)); }
// 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)); }
// 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))); }
// 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(); }
// 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)); }
// 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); }
// Token: 0x060102F8 RID: 66296 RVA: 0x0043B3C4 File Offset: 0x004395C4 public void __clearDele_EventOnSkillClick(ConfigDataSkillInfo obj) { this.m_owner.__clearDele_EventOnSkillClick(obj); }