@@ -193,69 +193,46 @@ bool operator<(const std::optional<Pokemon>& lhs, const std::optional<Pokemon>&
193193 }
194194
195195 for (const BoxSortingSelection preference : *lhs->preferences ){
196+ bool ret = true ;
196197 switch (preference.sort_type ){
197198 // NOTE edit when adding new struct members
198199 case BoxSortingSortType::NationalDexNo:
199200 if (lhs->national_dex_number != rhs->national_dex_number ){
200- if (preference.reverse ){
201- return lhs->national_dex_number > rhs->national_dex_number ;
202- }else {
203- return lhs->national_dex_number < rhs->national_dex_number ;
204- }
201+ ret = lhs->national_dex_number < rhs->national_dex_number ;
205202 }
206203 break ;
207204 case BoxSortingSortType::Shiny:
208205 if (lhs->shiny != rhs->shiny ){
209- if (preference.reverse ){
210- return rhs->shiny ;
211- }else {
212- return lhs->shiny ;
213- }
206+ ret = lhs->shiny ;
214207 }
215208 break ;
216209 case BoxSortingSortType::Gigantamax:
217210 if (lhs->gmax != rhs->gmax ){
218- if (preference.reverse ){
219- return rhs->gmax ;
220- }else {
221- return lhs->gmax ;
222- }
211+ ret = lhs->gmax ;
223212 }
224213 break ;
225214 case BoxSortingSortType::Ball_Slug:
226215 if (lhs->ball_slug < rhs->ball_slug ){
227- if (preference.reverse ){
228- return false ;
229- }else {
230- return true ;
231- }
216+ ret = true ;
232217 }
233218 if (lhs->ball_slug > rhs->ball_slug ){
234- if (preference.reverse ){
235- return true ;
236- }else {
237- return false ;
238- }
219+ ret = false ;
239220 }
240221 break ;
241222 case BoxSortingSortType::Gender:
242223 if (lhs->gender < rhs->gender ){
243- if (preference.reverse ){
244- return false ;
245- }else {
246- return true ;
247- }
224+ ret = true ;
248225 }
249226 if (lhs->gender > rhs->gender ){
250- if (preference.reverse ){
251- return true ;
252- }
253- else {
254- return false ;
255- }
227+ ret = false ;
256228 }
257229 break ;
258230 }
231+ if (preference.reverse ){
232+ return !ret;
233+ }else {
234+ return ret;
235+ }
259236 }
260237
261238 return lhs->national_dex_number < rhs->national_dex_number ;
0 commit comments