120 collator.setNumericMode(
true);
121 collator.setIgnorePunctuation(
true);
132 QVector<MoveDBEntry*> tmp;
135 if(!el->glitch && !el->hm)
144 return collator.compare(mon1->readable, mon2->readable) < 0;
160 if(!el->glitch && el->hm)
169 return collator.compare(
170 "HM 0" + QString::number(*mon1->hm) +
": " + mon1->readable,
171 "HM 0" + QString::number(*mon2->hm) +
": " + mon2->readable) < 0;
176 "HM 0" + QString::number(*el->hm) +
": " + el->readable,
199 return collator.compare(mon1->readable, mon2->readable) < 0;
218 collator.setNumericMode(
true);
219 collator.setIgnorePunctuation(
true);
227 QVector<MoveSelectEntry*> tmp;
228 QVector<MoveDBEntry*> usedMoves;
230 for(
auto monMove :
mon->toInitial) {
231 if(usedMoves.contains(monMove))
235 usedMoves.append(monMove);
243 return collator.compare(mon1->name, mon2->name) < 0;
261 for(
auto monMove :
mon->moves) {
262 if(usedMoves.contains(monMove->toMove))
265 tmp.append(
new MoveSelectEntry(
"Lv " + QString::number(monMove->level) +
": " + monMove->toMove->readable,
266 monMove->toMove->ind));
267 usedMoves.append(monMove->toMove);
275 return collator.compare(mon1->name, mon2->name) < 0;
293 for(
auto monMove :
mon->toTmHmMove) {
294 if(usedMoves.contains(monMove) || monMove->hm)
298 if((*monMove->tm) < 10)
299 prefix +=
"TM 0" + QString::number(*monMove->tm) +
": ";
301 prefix +=
"TM " + QString::number(*monMove->tm) +
": ";
305 usedMoves.append(monMove);
313 return collator.compare(mon1->name, mon2->name) < 0;
316 bool tmEmpty =
false;
326 for(
auto monMove :
mon->toTmHmMove) {
327 if(usedMoves.contains(monMove) || !monMove->hm)
332 prefix +=
"HM 0" + QString::number(*monMove->hm) +
": ";
336 usedMoves.append(monMove);
344 return collator.compare(mon1->name, mon2->name) < 0;
347 if(tmp.size() == 0 && tmEmpty)
363 if(usedMoves.contains(monMove) || monMove->glitch || monMove->hm)
368 usedMoves.append(monMove);
376 return collator.compare(mon1->name, mon2->name) < 0;
379 bool otherMovesEmpty =
false;
381 otherMovesEmpty =
true;
390 if(usedMoves.contains(monMove) || monMove->glitch || !monMove->hm)
395 prefix +=
"HM 0" + QString::number(*monMove->hm) +
": ";
399 usedMoves.append(monMove);
407 return collator.compare(mon1->name, mon2->name) < 0;
410 if(tmp.size() == 0 && otherMovesEmpty)
426 if(usedMoves.contains(monMove) || !monMove->glitch)
431 usedMoves.append(monMove);
439 return collator.compare(mon1->name, mon2->name) < 0;
One move's static data (type, power, accuracy, PP, TM/HM), with links.
One move picker row: display name + move index.
MoveSelectEntry(QString name, int ind)
std::optional< var8 > pokedex
Pokedex number, if assigned.