public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer)
        {
            GCDetailAttrib detailAttribPacket = (GCDetailAttrib)pPacket;

            //LogManager.Log("RECV GCCharBaseAttrib : Flag=" + detailAttribPacket.Flags);

            if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain)
            {
                CObjectManager pObjectManager = CObjectManager.Instance;

                CObject pObj = (CObject)(pObjectManager.FindServerObject((int)detailAttribPacket.ObjID));
                if (pObj == null || !(pObj is CObject_Character))
                {
                    return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE);
                }

                CCharacterData pCharacterData = ((CObject_Character)pObj).GetCharacterData();

                //        //玩家详细的属性刷新

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_LEVEL))                //0
                {
                    pCharacterData.Set_Level((int)detailAttribPacket.LV);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HP))                   //1
                {
                    pCharacterData.Set_HP(detailAttribPacket.HP);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MP))                   //2
                {
                    pCharacterData.Set_MP(detailAttribPacket.MP);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_EXP))                  //3
                {
                    pCharacterData.Set_Exp(detailAttribPacket.Exp);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MONEY))                //4
                {
                    pCharacterData.Set_Money(detailAttribPacket.Money);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_STR))  //5
                {
                    pCharacterData.Set_STR(detailAttribPacket.Str);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_SPR))  //6
                {
                    pCharacterData.Set_SPR(detailAttribPacket.SPR);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CON))  //7
                {
                    pCharacterData.Set_CON(detailAttribPacket.CON);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_INT))   //8
                {
                    pCharacterData.Set_INT(detailAttribPacket.INT);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEX))   //9
                {
                    pCharacterData.Set_DEX(detailAttribPacket.DEX);
                }
                //        if ( flagDetail.isSetBit( DETAIL_ATTRIB_POINT_REMAIN) )//10
                //            pCharacterData->Set_PointRemain(pPacket->GetPoint_Remain());
                // 培养点数
                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_STR_RANDOM_POINT))                                     //力量 力量
                {
                    pCharacterData.Set_BringSTR(detailAttribPacket.StrRandomPoint);
                }
                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_SPR_RANDOM_POINT))                                     //力量 力量
                {
                    pCharacterData.Set_BringSPR(detailAttribPacket.SprRandomPoint);
                }
                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CON_RANDOM_POINT))
                {
                    pCharacterData.Set_BringCON(detailAttribPacket.ConRandomPoint);
                }
                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_INT_RANDOM_POINT))
                {
                    pCharacterData.Set_BringINT(detailAttribPacket.IntRandomPoint);
                }
                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEX_RANDOM_POINT))
                {
                    pCharacterData.Set_BringDEX(detailAttribPacket.DexRandomPoint);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATT_PHYSICS))   //11
                {
                    pCharacterData.Set_AttPhysics(detailAttribPacket.PhysicsAttk);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEF_PHYSICS))   //12
                {
                    pCharacterData.Set_DefPhysics(detailAttribPacket.PhysicsDef);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ATT_MAGIC))   //13
                {
                    pCharacterData.Set_AttMagic(detailAttribPacket.MagicAttk);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEF_MAGIC))   //14
                {
                    pCharacterData.Set_DefMagic(detailAttribPacket.MagicDef);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAXHP))                //15
                {
                    pCharacterData.Set_MaxHP(detailAttribPacket.MaxHP);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAXMP))                //16
                {
                    pCharacterData.Set_MaxMP(detailAttribPacket.MaxMP);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HP_RESPEED))   //17
                {
                    pCharacterData.Set_HPRespeed(detailAttribPacket.HPReSpeed);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MP_RESPEED))   //18
                {
                    pCharacterData.Set_MPRespeed(detailAttribPacket.MPReSpeed);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HIT))  //19
                {
                    pCharacterData.Set_Hit(detailAttribPacket.Hit);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MISS)) //20
                {
                    pCharacterData.Set_Miss(detailAttribPacket.Miss);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CRITRATE))     //21
                {
                    pCharacterData.Set_CritRate(detailAttribPacket.CriticalRate);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DEFENCE_C))    //24
                {
                    pCharacterData.Set_DefCritRate(detailAttribPacket.CriticalDef);
                }


                //if ( detailAttribPacket.IsSetBit( ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_RAGE) )	//22
                //{
                //    pCharacterData.Set_Rage(detailAttribPacket.Rage);

                //    // 怒气更新要通知界面。2006-4-26
                //    CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_UNIT_RAGE);
                //}

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_STRIKE_POINT)) //23
                {
                    pCharacterData.Set_StrikePoint(detailAttribPacket.StrikePoint);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MOVESPEED))                    //24
                {
                    pCharacterData.Set_MoveSpeed(detailAttribPacket.MoveSpeed);
                }

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKSPEED))	//25
                //            pCharacterData->Set_AttackSpeed(pPacket->GetAttSpeed());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKCOLD))	//26
                //            pCharacterData->Set_AttWater(pPacket->GetAttCold());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCECOLD))	//27
                //            pCharacterData->Set_DefWater(pPacket->GetDefCold());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKFIRE))	//28
                //            pCharacterData->Set_AttFire(pPacket->GetAttFire());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCEFIRE))	//29
                //            pCharacterData->Set_DefFire(pPacket->GetDefFire());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKLIGHT))	//30
                //            pCharacterData->Set_AttMetal(pPacket->GetAttLight());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCELIGHT))	//31
                //            pCharacterData->Set_DefMetal(pPacket->GetDefLight());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKPOISON))	//32
                //            pCharacterData->Set_AttWood(pPacket->GetAttPoison());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCEPOISON))	//33
                //            pCharacterData->Set_DefWood(pPacket->GetDefPoison());

                //        // 增加土攻土防 [11/9/2011 Ivan edit]
                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKEARTH))
                //            pCharacterData->Set_AttEarth(pPacket->GetAttEarth());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCEEARTH))
                //            pCharacterData->Set_DefEarth(pPacket->GetDefEarth());

                ////        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKWIND))	//风攻
                ////            pCharacterData->Set_AttWind(pPacket->GetAttWind());
                ////
                ////        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCEWIND))	//风防
                ////            pCharacterData->Set_DefWind(pPacket->GetDefWind());
                ////
                ////        if(flagDetail.isSetBit(DETAIL_ATTRIB_ATTACKTHUNDER))	//雷攻
                ////            pCharacterData->Set_AttThunder(pPacket->GetAttThunder());
                ////
                ////        if(flagDetail.isSetBit(DETAIL_ATTRIB_DEFENCETHUNDER))	//雷防
                ////            pCharacterData->Set_DefThunder(pPacket->GetDefThunder());

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MENPAI))               //34
                {
                    pCharacterData.Set_MenPai(detailAttribPacket.MenPai);
                }

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_GUILD)	)		//34
                //            pCharacterData->Set_Guild(pPacket->GetGuild());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_CAMP)	)			//35
                //            pCharacterData->Set_CampData(pPacket->GetCampData());

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_DATAID))                       //36
                //pCharacterData.Set_RaceID(detailAttribPacket.DataID); //因为数据包接收错误 暂时屏蔽接收Race ID

                {
                    if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MODELID))                  //36
                    {
                        pCharacterData.Set_ModelID(detailAttribPacket.ModelID);
                    }
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MOUNTID))                      //37
                {
                    pCharacterData.Set_MountID(detailAttribPacket.MountID);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_CURRENT_PET_GUID))                     //37
                {
                    pCharacterData.Set_CurrentPetGUID(detailAttribPacket.CurrentPet);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_LIMIT_MOVE))   //38
                {
                    pCharacterData.SetLimitMove(detailAttribPacket.LimitMove);
                }

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_CAN_ACTION1)	)	//39
                //            pCharacterData->SetCanActionFlag1(pPacket->GetCanActionFlag1());

                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_CAN_ACTION2)	)	//40
                //            pCharacterData->SetCanActionFlag2(pPacket->GetCanActionFlag2());

                //        //if(flagDetail.isSetBit(DETAIL_ATTRIB_LIMIT_USE_SKILL)	)	//39
                //        //	pCharacterData->SetLimitUseSkill(pPacket->GetLimitUseSkill());

                //        //if(flagDetail.isSetBit(DETAIL_ATTRIB_LIMIT_HANDLE)	)	//40
                //        //	pCharacterData->SetLimitHandle(pPacket->GetLimitHandle());

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_RMB))
                {
                    pCharacterData.Set_RMB(detailAttribPacket.RMBMoney);
                }
                ////        if(flagDetail.isSetBit(DETAIL_ATTRIB_MAX_VIGOR) )
                ////            pCharacterData->Set_MaxVigor(pPacket->GetMaxVigor());

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_ENERGY))
                {
                    pCharacterData.Set_DoubleExpTime_Num(detailAttribPacket.DoubleExpTimeNum);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_HELPMASK))
                {
                    pCharacterData.Set_TutorialMask(detailAttribPacket.HelpMask);
                }

                if (detailAttribPacket.IsSetBit(ENUM_DETAIL_ATTRIB.DETAIL_ATTRIB_MAX_ENERGY))
                {
                    pCharacterData.Set_MaxEnergy(detailAttribPacket.MaxEnergy);
                }

                //        //if(flagDetail.isSetBit(DETAIL_ATTRIB_GOODBADVALUE) )
                //        //	pCharacterData->Set_GoodBadValue(pPacket->GetGoodBadValue());

                ////		if(flagDetail.isSetBit(DETAIL_ATTRIB_MISSION_HAVEDONE_FLAGS) )
                ////			pCharacterData->Set_QuestHistory(pPacket->GetMissionHaveDoneFlags());

                ////        if(flagDetail.isSetBit(DETAIL_ATTRIB_AMBIT_EXP))
                ////            pCharacterData->Set_AmbitExp(pPacket->GetAmbitExp());
                ////
                //        if(flagDetail.isSetBit(DETAIL_ATTRIB_AMBIT))
                //            pCharacterData->Set_Ambit(pPacket->GetAmbit());

                //        pObj->PushDebugString("GCDetailAttrib");
                //        pObj->SetMsgTime(CGameProcedure::s_pTimeSystem->GetTimeNow());
            }
            return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE);
        }