public ConcreteEconomyRules()
        {
            this.EconomyInformation = EconomyRequestFacade.GetInstance();
            this.ItemInformation    = ItemInformationFacade.GetInstance();
            this.TierListFacade     = TierListFacade.GetInstance();

            // The list of the suggestion-generating rulesets
            this.uniqueRules     = UniqueRulesFactory.Generate(this);
            this.divinationRules = DivinationRuleFactory.Generate(this);
            this.prophecyRules   = ProphecyRulesFactory.Generate(this);

            this.scarabRules     = this.GenerateScarabRuleSet();
            this.uniquemapsRules = this.GenerateUniqueMapRules();
            this.fossilrules     = this.GenerateFossilTieringRules();
            this.incubatorrules  = this.GenerateIncubatorTieringRules();

            this.shaperRules = ShaperElderRulesFactory.Generate(this, "rare->shaper");
            this.elderRules  = ShaperElderRulesFactory.Generate(this, "rare->elder");
            this.normalRules = ShaperElderRulesFactory.Generate(this, "rare->normal");

            this.Rules.Clear();

            this.Rules.Add(this.uniqueRules);
            this.Rules.Add(this.divinationRules);
            this.Rules.Add(this.uniquemapsRules);
            this.Rules.Add(this.fossilrules);
            this.Rules.Add(this.elderRules);
            this.Rules.Add(this.shaperRules);
            this.Rules.Add(this.incubatorrules);
            this.Rules.Add(this.prophecyRules);
            this.Rules.Add(this.scarabRules);
            // this.Rules.Add(this.normalRules);
        }
        public ConcreteEconomyRules()
        {
            this.EconomyInformation = EconomyRequestFacade.GetInstance();
            this.ItemInformation    = ItemInformationFacade.GetInstance();
            this.TierListFacade     = TierListFacade.GetInstance();

            this.Rules.Clear();

            // The list of the suggestion-generating rulesets
            this.Rules.Add(UniqueRulesFactory.Generate(this));
            this.Rules.Add(DivinationRuleFactory.Generate(this));
            this.Rules.Add(ProphecyRulesFactory.Generate(this));
            this.Rules.Add(FragmentsRuleFactory.Generate(this));
            this.Rules.Add(CurrencyRuleFactory.Generate(this));

            this.Rules.Add(this.GenerateScarabRuleSet());
            this.Rules.Add(this.GenerateUniqueMapRules());
            this.Rules.Add(this.GenerateFossilTieringRules());
            this.Rules.Add(this.GenerateIncubatorTieringRules());
            this.Rules.Add(this.GenerateBlightOilRuleSet());
            this.Rules.Add(this.GenerateVialRuleSet());
            this.Rules.Add(this.GenerateDeliriumorbsRuleSet());

            this.Rules.Add(ShaperElderRulesFactory.Generate(this, "rare->shaper"));
            this.Rules.Add(ShaperElderRulesFactory.Generate(this, "rare->elder"));
            this.Rules.Add(ShaperElderRulesFactory.Generate(this, "rare->hunter"));
            this.Rules.Add(ShaperElderRulesFactory.Generate(this, "rare->warlord"));
            this.Rules.Add(ShaperElderRulesFactory.Generate(this, "rare->crusader"));
            this.Rules.Add(ShaperElderRulesFactory.Generate(this, "rare->redeemer"));

            this.Rules.Add(NormalCraftingBasesRuleFactory.Generate(this, "generalcrafting"));
        }