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); }