st.push_back(FilterStatement());
if(condition)
- condition->add_lines(st);
+ {
+ Condition *flat = condition->flatten();
+ if(flat)
+ {
+ flat->add_lines(st);
+ delete flat;
+ }
+ // TODO handle the case of the entire condition being non-viable
+ }
}
add_range<ItemLevelCondition>("item_level");
add("linked_colors", &Loader::linked_colors);
add_range<LinkedSocketsCondition>("linked_sockets");
+ add_range<MapTierCondition>("map_tier");
add_range<SocketsCondition>("sockets");
add("or", &Loader::or_);
add_range<QualityCondition>("quality");