Example #1
0
        public override void CreateModel()
        {
            if (MogoWorld.inCity)//城里不允许创建
            {
                return;
            }

            if (clientTrapId == 0)
            {
                if (m_monsterId > 0)
                {
                    //Mogo.Util.LoggerHelper.Error("CreateModel:MogoWorld.thePlayer.ApplyMissionID" + MogoWorld.thePlayer.ApplyMissionID + " dif:" + (MogoWorld.thePlayer.ApplyMissionID == Mogo.Game.RandomFB.RAIDID ? MogoWorld.thePlayer.level : (int)m_difficulty));
                    m_monsterData = MonsterData.GetData((int)m_monsterId, MogoWorld.thePlayer.ApplyMissionID == Mogo.Game.RandomFB.RAIDID ? MogoWorld.thePlayer.level : (int)m_difficulty);

                    SetIntAttr("speed", m_monsterData.speed);
                    CreateActualModel();
                }
                else
                {
                    object skills = ObjectAttrs.GetValueOrDefault("skillBag", null);
                    if (skills == null)
                    {
                        return;
                    }

                    LuaTable   idTable = (LuaTable)skills;
                    List <int> args;
                    Mogo.Util.Utils.ParseLuaTable(idTable, out args);
                    List <int> tmpSkills = new List <int>();
                    for (int i = 0; i < args.Count; i++)
                    {
                        //tmpSkills.Add(2061);
                        //Mogo.Util.LoggerHelper.Error("tmpSkills.Add:" + (int)args[i]);
                        tmpSkills.Add((int)args[i]);
                    }
                    if (tmpSkills[0] == 2001)
                    {//战士大剑
                     //tmpSkills[1] = 2004;
                     //tmpSkills[2] = 2005;
                     //tmpSkills[3] = 2001;// 2006;
                     //tmpSkills[4] = 2021;//位移技能
                     //tmpSkills[6] = 2015;//咆哮
                    }
                    if (tmpSkills[0] == 2057)
                    {//刺客匕首
                     //tmpSkills[1] = 2060;
                     //tmpSkills[2] = 2061;
                     //tmpSkills[3] = 2062;
                     //tmpSkills[4] = 2071;//位移技能
                     //tmpSkills[6] = 2074;
                    }
                    if (tmpSkills[0] == 2101)
                    {//弓手弓
                     //tmpSkills[1] = 2104;
                     //tmpSkills[2] = 2105;
                     //tmpSkills[3] = 2106;
                     //tmpSkills[4] = 2121;//位移技能
                     //tmpSkills[6] = 2113;
                    }
                    if (tmpSkills[0] == 2151)
                    {//法师法杖
                     //tmpSkills[1] = 2154;
                     //tmpSkills[2] = 2155;
                     //tmpSkills[3] = 2156;
                     //tmpSkills[4] = 2171;//位移技能
                     //tmpSkills[6] = 2165;
                    }

                    if (m_factionFlag == 0)
                    { //是离线pvp玩家
                        switch (vocation)
                        {
                        case Vocation.Warrior:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10201, 5000, tmpSkills);
                            break;

                        case Vocation.Assassin:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10202, 5000, tmpSkills);
                            break;

                        case Vocation.Archer:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10203, 5000, tmpSkills);
                            break;

                        case Vocation.Mage:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10204, 5000, tmpSkills);
                            break;

                        default:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10011, 5000, tmpSkills);
                            break;
                        }
                        SetIntAttr("speed", 400);//临时对雇佣兵
                    }
                    else
                    {//是小伙伴
                        switch (vocation)
                        {
                        case Vocation.Warrior:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10101, 1000, tmpSkills);
                            break;

                        case Vocation.Assassin:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10102, 1000, tmpSkills);
                            break;

                        case Vocation.Archer:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10103, 1000, tmpSkills);
                            break;

                        case Vocation.Mage:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10104, 1000, tmpSkills);
                            break;

                        default:
                            m_monsterData = MonsterData.MercenaryDataFactory(0, 0, 0, 0, 10002, 1000, tmpSkills);
                            break;
                        }
                        SetIntAttr("speed", 600);//临时对雇佣兵
                    }



                    CreatePlayerActualModel();
                }
            }
            else
            {
                //AttachBuildingModel();
            }
        }