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);
    }
Ejemplo n.º 3
0
        // 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);
        }
Ejemplo n.º 4
0
        // 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);
        }
Ejemplo n.º 5
0
 // 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);
 }
Ejemplo n.º 6
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);
 }
Ejemplo n.º 7
0
        // 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);
        }
Ejemplo n.º 8
0
        // 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);
        }
Ejemplo n.º 9
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());
        }