public static int CreateBattleActorSetupFromBattleHero_s(IntPtr l) { int result; try { IConfigDataLoader configDataLoader; LuaObject.checkType <IConfigDataLoader>(l, 1, out configDataLoader); BattleHero hero; LuaObject.checkType <BattleHero>(l, 2, out hero); int level; LuaObject.checkType(l, 3, out level); int behaviorId; LuaObject.checkType(l, 4, out behaviorId); int groupId; LuaObject.checkType(l, 5, out groupId); BattleActorSetup o = BattleUtility.CreateBattleActorSetupFromBattleHero(configDataLoader, hero, level, behaviorId, groupId); LuaObject.pushValue(l, true); LuaObject.pushValue(l, o); result = 2; } catch (Exception e) { result = LuaObject.error(l, e); } return(result); }
public static int CreatePveMyBattleActorSetup_s(IntPtr l) { int result; try { IConfigDataLoader configDataLoader; LuaObject.checkType <IConfigDataLoader>(l, 1, out configDataLoader); ConfigDataBattleInfo battleInfo; LuaObject.checkType <ConfigDataBattleInfo>(l, 2, out battleInfo); int position; LuaObject.checkType(l, 3, out position); BattleHero hero; LuaObject.checkType <BattleHero>(l, 4, out hero); BattleActorSetup o = BattleUtility.CreatePveMyBattleActorSetup(configDataLoader, battleInfo, position, hero); LuaObject.pushValue(l, true); LuaObject.pushValue(l, o); result = 2; } catch (Exception e) { result = LuaObject.error(l, e); } return(result); }
// Token: 0x06003B1A RID: 15130 RVA: 0x0010DEF4 File Offset: 0x0010C0F4 public static BattleActorSetup CreateRealtimePvpBattleActorSetup(IConfigDataLoader configDataLoader, int team, ConfigDataRealTimePVPBattleInfo battleInfo, int position, BattleHero hero) { BattleActorSetup battleActorSetup = BattleUtility.CreateBattleActorSetupFromBattleHero(configDataLoader, hero, 0, -1, 0); if (team == 0) { battleActorSetup.Position.x = battleInfo.AttackPositions[position].X; battleActorSetup.Position.y = battleInfo.AttackPositions[position].Y; if (battleInfo.AttackDirs.Count > position) { battleActorSetup.Direction = battleInfo.AttackDirs[position]; } } else { if (team != 1) { return(null); } battleActorSetup.Position.x = battleInfo.DefendPositions[position].X; battleActorSetup.Position.y = battleInfo.DefendPositions[position].Y; if (battleInfo.DefendDirs.Count > position) { battleActorSetup.Direction = battleInfo.DefendDirs[position]; } } battleActorSetup.IsNpc = false; return(battleActorSetup); }
// Token: 0x06003B17 RID: 15127 RVA: 0x0010DC90 File Offset: 0x0010BE90 public static BattleActorSetup CreatePveMyBattleActorSetup(IConfigDataLoader configDataLoader, ConfigDataBattleInfo battleInfo, int position, BattleHero hero) { BattleActorSetup battleActorSetup = BattleUtility.CreateBattleActorSetupFromBattleHero(configDataLoader, hero, 0, -1, 0); battleActorSetup.Position.x = battleInfo.AllyPositions[position].X; battleActorSetup.Position.y = battleInfo.AllyPositions[position].Y; battleActorSetup.Direction = 0; if (battleInfo.AllyDirs.Count > position) { battleActorSetup.Direction = battleInfo.AllyDirs[position]; } battleActorSetup.IsNpc = false; return(battleActorSetup); }
// Token: 0x06003B1B RID: 15131 RVA: 0x0010DFE4 File Offset: 0x0010C1E4 public static int AppendPveMyNpcBattleActorSetups(IConfigDataLoader configDataLoader, ConfigDataBattleInfo battleInfo, int monsterLevel, List <BattleActorSetup> actors) { for (int i = 0; i < battleInfo.NpcActors.Count; i++) { BattlePosActor battlePosActor = battleInfo.NpcActors[i]; int id = battlePosActor.ID; int num = battlePosActor.Level; int behaviorId = 0; if (battleInfo.NpcActorsBehavior.Count > i) { behaviorId = battleInfo.NpcActorsBehavior[i]; } int groupId = 0; if (battleInfo.NpcGroups.Count > i) { groupId = battleInfo.NpcGroups[i]; } if (num == 0) { num = monsterLevel; } ConfigDataHeroInfo configDataHeroInfo = configDataLoader.GetConfigDataHeroInfo(id); if (configDataHeroInfo == null) { return(-618); } BattleHero hero = BattleUtility.CreateDefaultConfigBattleHero(configDataHeroInfo); BattleActorSetup battleActorSetup = BattleUtility.CreateBattleActorSetupFromBattleHero(configDataLoader, hero, num, behaviorId, groupId); battleActorSetup.Position.x = battlePosActor.X; battleActorSetup.Position.y = battlePosActor.Y; battleActorSetup.Direction = 0; if (battleInfo.NpcDirs.Count > i) { battleActorSetup.Direction = battleInfo.NpcDirs[i]; } battleActorSetup.IsNpc = true; actors.Add(battleActorSetup); } return(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: 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); }
// Token: 0x06003B1C RID: 15132 RVA: 0x0010E104 File Offset: 0x0010C304 public static int AppendPveOpponentBattleActorSetups(IConfigDataLoader configDataLoader, ConfigDataBattleInfo battleInfo, int monsterLevel, int randomSeed, List <BattleActorSetup> actors) { List <RandomArmyActor> list = null; if (battleInfo.BattleRandomEnemies_ID.Count > 0) { RandomNumber randomNumber = new RandomNumber(); randomNumber.SetSeed(randomSeed); int randomBattleArmyActors = BattleUtility.GetRandomBattleArmyActors(configDataLoader, battleInfo.BattleRandomEnemies_ID, randomNumber, out list); if (randomBattleArmyActors != 0) { return(randomBattleArmyActors); } } List <ConfigDataSkillInfo> list2 = null; if (battleInfo.EnemyRandomTalentProbilities.Count > 0) { RandomNumber randomNumber2 = new RandomNumber(); randomNumber2.SetSeed(randomSeed); BattleUtility.GetRandomTalentSkills(configDataLoader, battleInfo.EnemyRandomTalent_ID, battleInfo.EnemyRandomTalentProbilities, randomNumber2, out list2); } for (int i = 0; i < battleInfo.EnemyActors.Count; i++) { BattlePosActor battlePosActor = battleInfo.EnemyActors[i]; int key = battlePosActor.ID; int num = battlePosActor.Level; int behaviorId = 0; if (battleInfo.EnemyActorsBehavior.Count > i) { behaviorId = battleInfo.EnemyActorsBehavior[i]; } int groupId = 0; if (battleInfo.EnemyGroups.Count > i) { groupId = battleInfo.EnemyGroups[i]; } if (list != null && i < list.Count && list[i] != null) { key = list[i].HeroID; num = list[i].Level; behaviorId = list[i].AI; } if (num == 0) { num = monsterLevel; } ConfigDataHeroInfo configDataHeroInfo = configDataLoader.GetConfigDataHeroInfo(key); if (configDataHeroInfo == null) { return(-618); } BattleHero hero = BattleUtility.CreateDefaultConfigBattleHero(configDataHeroInfo); BattleActorSetup battleActorSetup = BattleUtility.CreateBattleActorSetupFromBattleHero(configDataLoader, hero, num, behaviorId, groupId); battleActorSetup.Position.x = battlePosActor.X; battleActorSetup.Position.y = battlePosActor.Y; battleActorSetup.Direction = 0; if (battleInfo.EnemyDirs.Count > i) { battleActorSetup.Direction = battleInfo.EnemyDirs[i]; } battleActorSetup.IsNpc = false; if (list2 != null && i < list2.Count) { battleActorSetup.ExtraTalentSkillInfo = list2[i]; } actors.Add(battleActorSetup); } return(0); }
// Token: 0x06003C6B RID: 15467 RVA: 0x0011258C File Offset: 0x0011078C private static string Message(BattleActorSetup actor) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine(); stringBuilder.AppendFormat("HeroId = {0}, ", actor.HeroInfo.ID); stringBuilder.AppendFormat("HeroLevel = {0}, ", actor.HeroLevel); stringBuilder.AppendFormat("HeroStar = {0}, ", actor.HeroStar); stringBuilder.AppendFormat("JobConnectionId = {0}, ", actor.JobConnectionInfo.ID); stringBuilder.AppendFormat("JobLevel = {0}, ", actor.JobLevel); stringBuilder.AppendFormat("SoldierId = {0}, ", (actor.SoldierInfo != null) ? actor.SoldierInfo.ID : 0); stringBuilder.AppendFormat("HeroCharImageSkinResourceId = {0}, ", (actor.HeroCharImageSkinResourceInfo != null) ? actor.HeroCharImageSkinResourceInfo.ID : 0); stringBuilder.AppendFormat("HeroModelSkinResourceId = {0}, ", (actor.HeroModelSkinResourceInfo != null) ? actor.HeroModelSkinResourceInfo.ID : 0); stringBuilder.AppendFormat("SoldierModelSkinResourceId = {0}, ", (actor.SoldierModelSkinResourceInfo != null) ? actor.SoldierModelSkinResourceInfo.ID : 0); stringBuilder.AppendFormat("Position = ({0},{1}), ", actor.Position.x, actor.Position.y); stringBuilder.AppendFormat("IsNpc = {0}, ", actor.IsNpc); stringBuilder.AppendFormat("BehaviorId = {0}, ", actor.BehaviorId); stringBuilder.AppendFormat("GroupId = {0}, ", actor.GroupId); stringBuilder.AppendFormat("ActionValue = {0}, ", actor.ActionValue); stringBuilder.AppendFormat("ActorId = {0} ", actor.ActorId); stringBuilder.AppendFormat("PlayerIndex = {0} ", actor.PlayerIndex); stringBuilder.AppendLine(); if (actor.SkillInfos != null) { stringBuilder.Append("Skills: "); foreach (ConfigDataSkillInfo configDataSkillInfo in actor.SkillInfos) { stringBuilder.AppendFormat("{0} ", configDataSkillInfo.ID); } stringBuilder.AppendLine(); } if (actor.MasterJobInfos != null) { stringBuilder.Append("MasterJobs: "); foreach (ConfigDataJobInfo configDataJobInfo in actor.MasterJobInfos) { stringBuilder.AppendFormat("{0} ", configDataJobInfo.ID); } stringBuilder.AppendLine(); } if (actor.Equipments != null) { stringBuilder.Append("Equipments: "); foreach (BattleActorEquipment battleActorEquipment in actor.Equipments) { stringBuilder.AppendFormat("{0}_{1} ", battleActorEquipment.EquipmentInfo.ID, battleActorEquipment.Level); } stringBuilder.AppendLine(); } if (actor.ResonanceSkillInfos != null) { stringBuilder.Append("ResonanceSkills: "); foreach (ConfigDataSkillInfo configDataSkillInfo2 in actor.ResonanceSkillInfos) { stringBuilder.AppendFormat("{0} ", configDataSkillInfo2.ID); } stringBuilder.AppendLine(); } if (actor.FetterSkillInfos != null) { stringBuilder.Append("FetterSkills: "); foreach (ConfigDataSkillInfo configDataSkillInfo3 in actor.FetterSkillInfos) { stringBuilder.AppendFormat("{0} ", configDataSkillInfo3.ID); } stringBuilder.AppendLine(); } if (actor.ExtraPassiveSkillInfos != null) { stringBuilder.Append("ExtraPassiveSkills: "); foreach (ConfigDataSkillInfo configDataSkillInfo4 in actor.ExtraPassiveSkillInfos) { stringBuilder.AppendFormat("{0} ", configDataSkillInfo4.ID); } stringBuilder.AppendLine(); } if (actor.ExtraTalentSkillInfo != null) { stringBuilder.AppendFormat("ExtraTalentSkill: {0}", actor.ExtraTalentSkillInfo.ID); stringBuilder.AppendLine(); } return(stringBuilder.ToString()); }