Само вкарваш една функция (въпросния филтър), който взема всички параметри на генерирания предмет и ги сравнява с предварително подадените от потребителя настройки. Примерно:
Филтър:
Отвари - Запазвай (/Продавай само за дух/Продавай само за здраве/Продавай всички)
Рецепти - Запазвай "само специалните" (/Запазвай всички)
Други предмети - Запазвай само от тип "редки" и нагоре (/"превъзходни"/"легендарни"/"епични"/"всички типове")
Проверка:
Какъв предмет е? "Отвара" -> Потребителят казал ли е отварите да се продават автоматично? НЕ -> запази
Какъв предмет е? "Рецепта" -> Какъв тип? "Обикновена" -> Потребителят казал ли е обикновени рецепти да се продават директно? ДА -> продавай.
Какъв предмет е? "Рецепта" -> Какъв тип? "Специална" -> Потребителят казал ли е специални рецепти да се продават директно? ДА -> запази.
Какъв предмет е? "Друго" -> Какъв тип? "Легендарен" -> Потребителят е казал да се пазят предмети само от тип "редки" или по-специални. -> запази.
И филтърът да се извиква само при падането на плячката в битка. Когато се връща предмет от пазара-> да си е както преди.
П.П: Или това, или да рискуват с прехвърлянето на запаметена информация от една страница към друга. А въвеждането на страници ще е също значително подобрение, но това не значи, че реализирането на коя да е от трите идеи премахва нуждата (смисъла) от другите.