public GiveRandomActorCrateAction(Actor self, GiveRandomActorCrateActionInfo info)
            : base(self, info)
        {
            this.self = self;
            this.info = info;

            eligibleActors = self.World.Map.Rules.Actors.Values.Where(a => a.HasTraitInfo <EligibleForRandomActorCrateInfo>() &&
                                                                      a.TraitInfos <EligibleForRandomActorCrateInfo>().Any(c => info.Type.Contains(c.Type)));
        }
		public GiveRandomActorCrateAction(Actor self, GiveRandomActorCrateActionInfo info)
			: base(self, info)
		{
			this.self = self;
			this.info = info;

			eligibleActors = self.World.Map.Rules.Actors.Values.Where(a => a.HasTraitInfo<EligibleForRandomActorCrateInfo>() && !a.Name.StartsWith("^")
				&& a.TraitInfos<EligibleForRandomActorCrateInfo>().Any(c => info.Type.Contains(c.Type)));
		}