Пример #1
0
 /// <summary>
 ///     初始化
 /// </summary>
 /// <param name="_this"></param>
 /// <param name="npcId"></param>
 /// <param name="logic"></param>
 /// <param name="scene"></param>
 public void Init(AutoPlayer _this, ulong npcId, LogicSimpleData logic, SceneSimpleData scene)
 {
     _this.mLogicData = logic;
     _this.mSceneData = scene;
     _this.mObjId     = npcId;
     _this.mTypeId    = logic.TypeId;
     _this.mDirection = new Vector2(1, 0);
     _this.mName      = _this.mSceneData.Name;
     _this.BuffList   = new BuffList();
     _this.BuffList.InitByBase(_this);
     _this.Attr  = new FightAttr(_this);
     _this.Skill = new SkillManager(_this);
     _this.SetLevel(_this.mLogicData.Level);
     _this.InitTableData(_this.mLogicData.Level);
     _this.InitEquip(_this.mLogicData.Level);
     _this.InitSkill(_this.mLogicData.Level);
     _this.InitBuff(_this.mLogicData.Level);
     _this.Attr.RobotPlayer = true;
     _this.InitAttr(_this.mLogicData.Level);
     _this.mCamp     = 2;
     _this.TableCamp = Table.GetCamp(_this.mCamp);
     _this.InitAI(_this.mLogicData.Level);
 }
Пример #2
0
        public void InitByRobot(AutoPlayer _this, ulong npcId, int RobotId)
        {
            _this.mObjId        = npcId;
            _this.mLogicData    = new LogicSimpleData();
            _this.mLogicData.Id = (ulong)RobotId;
            //mSceneData = scene;
            var tbRobot = Table.GetJJCRoot(RobotId);

            _this.mTypeId = tbRobot.Career;
            //mTypeId = logic.TypeId;
            _this.mDirection = new Vector2(1, 0);
            _this.mName      = tbRobot.Name;
            _this.BuffList   = new BuffList();
            _this.BuffList.InitByBase(_this);
            _this.Attr  = new FightAttr(_this);
            _this.Skill = new SkillManager(_this);
            _this.SetLevel(tbRobot.Level);
            var lastLadder = 0;

            Table.ForeachTransmigration(record =>
            {
                if (record.TransLevel <= tbRobot.Level)
                {
                    if (record.PropPoint < lastLadder)
                    {
                        return(false);
                    }
                    lastLadder = record.PropPoint;
                }
                else
                {
                    return(false);
                }
                return(true);
            });
            _this.Attr.Ladder       = lastLadder;
            _this.mLogicData.Ladder = lastLadder;
            _this.InitTableData(tbRobot.Level);
            //InitEquip();
            if (tbRobot.EquipHand != -1)
            {
                var bagId  = 17;
                var dbitem = new ItemBaseData();
                var item   = new ItemEquip2(tbRobot.EquipHand, dbitem);
                item.SetExdata(0, tbRobot.EquipLevel);
                _this.Equip.Add(bagId * 10, item);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.EquipHand * 100 + tbRobot.EquipLevel);
            }

            if (tbRobot.EquipHead != -1)
            {
                var bagId  = 7;
                var dbitem = new ItemBaseData();
                var item   = new ItemEquip2(tbRobot.EquipHead, dbitem);
                item.SetExdata(0, tbRobot.EquipLevel);
                _this.Equip.Add(bagId * 10, item);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.EquipHead * 100 + tbRobot.EquipLevel);
            }
            if (tbRobot.EquipChest != -1)
            {
                var bagId  = 11;
                var dbitem = new ItemBaseData();
                var item   = new ItemEquip2(tbRobot.EquipChest, dbitem);
                item.SetExdata(0, tbRobot.EquipLevel);
                _this.Equip.Add(bagId * 10, item);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.EquipChest * 100 + tbRobot.EquipLevel);
            }

            if (tbRobot.EquipGlove != -1)
            {
                var bagId  = 14;
                var dbitem = new ItemBaseData();
                var item   = new ItemEquip2(tbRobot.EquipGlove, dbitem);
                item.SetExdata(0, tbRobot.EquipLevel);
                _this.Equip.Add(bagId * 10, item);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.EquipGlove * 100 + tbRobot.EquipLevel);
            }

            if (tbRobot.EquipTrouser != -1)
            {
                var bagId  = 15;
                var dbitem = new ItemBaseData();
                var item   = new ItemEquip2(tbRobot.EquipTrouser, dbitem);
                item.SetExdata(0, tbRobot.EquipLevel);
                _this.Equip.Add(bagId * 10, item);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.EquipTrouser * 100 + tbRobot.EquipLevel);
            }

            if (tbRobot.EquipShoes != -1)
            {
                var bagId  = 16;
                var dbitem = new ItemBaseData();
                var item   = new ItemEquip2(tbRobot.EquipShoes, dbitem);
                item.SetExdata(0, tbRobot.EquipLevel);
                _this.Equip.Add(bagId * 10, item);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.EquipShoes * 100 + tbRobot.EquipLevel);
            }

            if (tbRobot.WingID != -1)
            {
                var bagId  = 12;
                var dbitem = new ItemBaseData();
                var item   = new WingItem(tbRobot.WingID, dbitem);
                var ib     = new ItemEquip2();
                ib.SetId(dbitem.ItemId);
                ib.SetCount(dbitem.Count);
                ib.CopyFrom(dbitem.Exdata);
                _this.Equip.Add(bagId * 10, ib);
                _this.mLogicData.EquipsModel.Add(bagId, tbRobot.WingID * 100 + tbRobot.EquipLevel);
            }
            _this.Attr.EquipRefresh();
            //InitSkill();
            _this.NormalSkillId = _this.TableCharacter.InitSkill[0];
            _this.Skill.AddSkill(_this.TableCharacter.InitSkill[0], 1, eAddskillType.InitByRobot);
            foreach (var skill in tbRobot.Skill)
            {
                _this.Skill.AddSkill(skill, 1, eAddskillType.InitByRobot2);
            }
            //InitBuff();
            //InitAttr();
            _this.Attr.mBookData[1] = tbRobot.Power;
            _this.Attr.mBookData[2] = tbRobot.Agility;
            _this.Attr.mBookData[3] = tbRobot.Intelligence;
            _this.Attr.mBookData[4] = tbRobot.physical;
            _this.Attr.mBookData[(int)eAttributeType.PhyPowerMin] = tbRobot.AttackMin;
            _this.Attr.mBookData[(int)eAttributeType.PhyPowerMax] = tbRobot.AttackMax;
            _this.Attr.mBookData[(int)eAttributeType.MagPowerMin] = tbRobot.AttackMin;
            _this.Attr.mBookData[(int)eAttributeType.MagPowerMax] = tbRobot.AttackMax;
            _this.Attr.mBookData[(int)eAttributeType.PhyArmor]    = tbRobot.PhysicsDefense;
            _this.Attr.mBookData[(int)eAttributeType.MagArmor]    = tbRobot.MagicDefense;
            _this.Attr.mBookData[(int)eAttributeType.MpMax]       = tbRobot.MagicLimit;
            _this.Attr.mBookData[(int)eAttributeType.HpMax]       = tbRobot.LifeLimit;
            _this.Attr.InitAttributesAll();
            //阵营
            _this.mCamp     = 2;
            _this.TableCamp = Table.GetCamp(_this.mCamp);
            _this.InitAI(tbRobot.Level);
        }