Example #1
0
        public static bool NpcMissionReady(PeEntity npc)
        {
            if (npc == null)
            {
                return(false);
            }

            if (npc.NpcCmpt == null)
            {
                return(false);
            }

            CSCreator mCScreator = npc.NpcCmpt.Creater;

            if (mCScreator == null)
            {
                mCScreator = CSMain.GetCreator(CSConst.ciDefMgCamp);
            }

            if (mCScreator == null || mCScreator.Assembly == null)
            {
                return(false);
            }

            ItemAsset.ItemObject item;
            if (npc.UseItem != null && NpcEatDb.CanEatSthFromStorages(npc, mCScreator.Assembly.Storages, out item))
            {
                npc.UseItem.Use(item);
            }

            for (int i = 0; i < RecruitBuff.Length; i++)
            {
                npc.skEntity.CancelBuffById(RecruitBuff[i]);
            }

            for (int i = 0; i < InFeildBuff.Length; i++)
            {
                SkillSystem.SkEntity.MountBuff(npc.skEntity, InFeildBuff[i], new List <int>(), new List <float>());
            }
            return(true);
        }