public void GetAllGoodNpcs(ref List<Creature> list) { _creaturesRWLS.EnterReadLock(); try { list.AddRange(_creatures.Values.Where(a => a.Has(CreatureStates.GoodNpc) && a is NPC)); } finally { _creaturesRWLS.ExitReadLock(); } }