// 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: 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: 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: 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: 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: 0x06003B16 RID: 15126 RVA: 0x0010D864 File Offset: 0x0010BA64 public static BattleActorSetup CreateBattleActorSetupFromBattleHero(IConfigDataLoader configDataLoader, BattleHero hero, int level = 0, int behaviorId = -1, int groupId = 0) { BattleActorSetup battleActorSetup = new BattleActorSetup(); battleActorSetup.HeroInfo = configDataLoader.GetConfigDataHeroInfo(hero.HeroId); battleActorSetup.JobConnectionInfo = configDataLoader.GetConfigDataJobConnectionInfo(hero.ActiveHeroJobRelatedId); battleActorSetup.SoldierInfo = configDataLoader.GetConfigDataSoldierInfo(hero.SelectedSoldierId); battleActorSetup.HeroStar = hero.StarLevel; battleActorSetup.JobLevel = hero.GetJob(hero.ActiveHeroJobRelatedId).JobLevel; battleActorSetup.SoldierCount = configDataLoader.Const_SoldierCountMax; battleActorSetup.ActionValue = hero.ActionValue; battleActorSetup.BehaviorId = behaviorId; battleActorSetup.GroupId = groupId; battleActorSetup.PlayerIndex = -1; if (level > 0) { battleActorSetup.HeroLevel = level; } else { battleActorSetup.HeroLevel = hero.Level; } if (hero.SelectedSkillList.Count > 0) { List <ConfigDataSkillInfo> list = new List <ConfigDataSkillInfo>(); foreach (int key in hero.SelectedSkillList) { ConfigDataSkillInfo configDataSkillInfo = configDataLoader.GetConfigDataSkillInfo(key); if (configDataSkillInfo != null) { list.Add(configDataSkillInfo); } } if (list.Count > 0) { battleActorSetup.SkillInfos = list.ToArray(); } } if (hero.Jobs.Count > 0) { List <ConfigDataJobInfo> list2 = new List <ConfigDataJobInfo>(); foreach (BattleHeroJob battleHeroJob in hero.Jobs) { ConfigDataJobConnectionInfo configDataJobConnectionInfo = configDataLoader.GetConfigDataJobConnectionInfo(battleHeroJob.JobRelatedId); if (configDataJobConnectionInfo.IsJobLevelMax(battleHeroJob.JobLevel)) { list2.Add(configDataJobConnectionInfo.m_jobInfo); } } if (list2.Count > 0) { battleActorSetup.MasterJobInfos = list2.ToArray(); } } if (hero.Fetters.Count > 0) { List <ConfigDataSkillInfo> list3 = new List <ConfigDataSkillInfo>(); foreach (KeyValuePair <int, int> keyValuePair in hero.Fetters) { ConfigDataHeroFetterInfo configDataHeroFetterInfo = configDataLoader.GetConfigDataHeroFetterInfo(keyValuePair.Key); if (configDataHeroFetterInfo != null) { int num = keyValuePair.Value - 1; if (num < configDataHeroFetterInfo.GotSkills_ID.Count) { ConfigDataSkillInfo configDataSkillInfo2 = configDataLoader.GetConfigDataSkillInfo(configDataHeroFetterInfo.GotSkills_ID[num]); if (configDataSkillInfo2 != null) { list3.Add(configDataSkillInfo2); } } } } if (list3.Count > 0) { battleActorSetup.FetterSkillInfos = list3.ToArray(); } } if (hero.Equipments.Count > 0) { List <BattleActorEquipment> list4 = new List <BattleActorEquipment>(); foreach (BattleHeroEquipment battleHeroEquipment in hero.Equipments) { ConfigDataEquipmentInfo configDataEquipmentInfo = configDataLoader.GetConfigDataEquipmentInfo(battleHeroEquipment.Id); if (configDataEquipmentInfo != null) { BattleActorEquipment battleActorEquipment = new BattleActorEquipment(); battleActorEquipment.EquipmentInfo = configDataEquipmentInfo; battleActorEquipment.Level = battleHeroEquipment.Level; if (battleHeroEquipment.EnchantProperties.Count > 0) { battleActorEquipment.EnchantProperties = new CommonBattleProperty[battleHeroEquipment.EnchantProperties.Count]; for (int i = 0; i < battleHeroEquipment.EnchantProperties.Count; i++) { battleActorEquipment.EnchantProperties[i] = battleHeroEquipment.EnchantProperties[i]; } } list4.Add(battleActorEquipment); } } if (list4.Count > 0) { battleActorSetup.Equipments = list4.ToArray(); } List <ConfigDataSkillInfo> equipmentResonanceSkillInfos = BattleUtility.GetEquipmentResonanceSkillInfos(configDataLoader, hero.Equipments); if (equipmentResonanceSkillInfos.Count > 0) { battleActorSetup.ResonanceSkillInfos = equipmentResonanceSkillInfos.ToArray(); } } battleActorSetup.HeroCharImageSkinResourceInfo = hero.GetHeroCharImageSkinResourceInfo(configDataLoader); battleActorSetup.HeroModelSkinResourceInfo = hero.GetHeroActiveJobModelSkinResourceInfo(configDataLoader); battleActorSetup.SoldierModelSkinResourceInfo = hero.GetSelectedSoldierModelSkinResourceInfo(configDataLoader); return(battleActorSetup); }