9 #if QT_VERSION < QT_VERSION_CHECK(6, 5, 0)
10 #include <QtQml/qqmlapplicationengine.h>
12 #include <QtQmlIntegration/QtQmlIntegration>
15 #include <ff7tkdata_export.h>
16 #include <Type_materia>
26 Q_PROPERTY(
int totalMateria MEMBER TotalMateria CONSTANT)
27 Q_PROPERTY(
int maxMateriaAp MEMBER MaxMateriaAp CONSTANT)
32 static const
int TotalMateria = 90;
37 static const
int MaxMateriaAp = 0xFFFFFF;
56 MpPlus = 0x00, HpPlus = 0x01, SpeedPlus = 0x02, MagicPlus = 0x03, LuckPlus = 0x04, ExpPlus = 0x05, GilPlus = 0x06, EnemyAway = 0x07, EnemyLure = 0x08, ChocoboLure = 0x09, PreEmptive = 0x0A, LongRange = 0x0B, MegaAll = 0x0C, CounterAttack = 0x0D, SlashAll = 0x0E, DoubleCut = 0x0F
57 , Cover = 0x10, Underwater = 0x11, HPMP = 0x12, WMagic = 0x13, WSummon = 0x14, WItem = 0x15, All = 0x17, Counter = 0x18, MagicCounter = 0x19, MpTurbo = 0x1A, MpAbsorb = 0x1B, HpAbsorb = 0x1C, Elemental = 0x1D, AddedEffect = 0x1E, SneakAttack = 0x1F
58 , FinalAttack = 0x20, AddedCut = 0x21, StealAsWell = 0x22, QuadraMagic = 0x23, Steal = 0x24, Sense = 0x25, Throw = 0x27, Morph = 0x28, Deathblow = 0x29, Manipulate = 0x2A, Mime = 0x2B, EnemySkill = 0x2C
59 , MasterCommand = 0x30, Fire = 0x31, Ice = 0x32, Earth = 0x33, Lightning = 0x34, Restore = 0x35, Heal = 0x36, Revive = 0x37, Seal = 0x38, Mystify = 0x39, Transform = 0x3A, Exit = 0x3B, Poison = 0x3C, Demi = 0x3D, Barrier = 0x3E
60 , Comet = 0x40, Time = 0x41, Destruct = 0x44, Contain = 0x45, FullCure = 0x46, Shield = 0x47, Ultima = 0x48, MasterMagic = 0x49, ChocoMog = 0x4A, Shiva = 0x4B, Ifrit = 0x4C, Ramuh = 0x4D, Titan = 0x4E, Odin = 0x4F
61 , Leviathan = 0x50, Bahamut = 0x51, Kujata = 0x52, Alexander = 0x53, Phoenix = 0x54, NeoBahamut = 0x55, Hades = 0x56, Typhoon = 0x57, BahamutZERO = 0x58, KOTR = 0x59, MasterSummon = 0x5A
71 Q_INVOKABLE static const QString name(const
int id) {
return isModID(
id) ? QStringLiteral(
"ID: %1").arg(
id) : tr(Materias(
id).name.toUtf8()); }
78 Q_INVOKABLE
static const QString
statString(
const int id) {
return isModID(
id) ? QString() : tr(Materias(
id).stats.toUtf8()); }
85 Q_INVOKABLE
static const QString
enemySkill(
const int skill) {
86 return tr(get()->d->_enemySkills.at(std::clamp(skill, 0,
int(get()->d->_enemySkills.size()) -1)).toUtf8());
95 return tr(get()->d->_masterCommandList.at(std::clamp(skill, 0,
int(get()->d->_masterCommandList.size()) -1)).toUtf8());
104 return tr(get()->d->_masterSummonList.at(std::clamp(skill, 0,
int(get()->d->_masterSummonList.size()) -1)).toUtf8());
113 return tr(get()->d->_masterMagicList.at(std::clamp(skill, 0,
int(get()->d->_masterMagicList.size()) -1)).toUtf8());
121 Q_INVOKABLE
static const QString
element(
const int id) {
130 Q_INVOKABLE
static const QStringList
skills(
const int id) {
131 QStringList translated_list;
133 translated_list.append(QString());
134 return translated_list;
136 const auto list =
id == EnemySkill ? get()->d->_enemySkills : Materias(
id).skills;
137 for(
const QString &skill : list)
138 translated_list.append(tr(skill.toUtf8()));
139 return translated_list;
148 Q_INVOKABLE
static const QStringList
skillsForLevel(
const int id,
const int level) {
150 return QStringList();
152 if (
id == MasterCommand ||
id == MasterSummon ||
id == MasterMagic)
155 if (
id != EnemySkill)
156 return skills(
id).mid(0, std::clamp<int>(level, 0 , levels(
id)));
159 for (
int i = 0; i < 24; i++) {
160 if (level & (1 << i))
161 eSkills.append(get()->d->_enemySkills.at(i));
172 QStringList translated_list;
174 translated_list.append(QString());
175 return translated_list;
177 for(
const QString& stat : Materias(
id).status)
178 translated_list.append(tr(stat.toUtf8()));
179 return translated_list;
195 Q_INVOKABLE
static const int materiaLevel(
const int id,
const quint32 ap) {
199 if (
id == EnemySkill)
201 for(
int i = 0; i < levels(
id); i++) {
202 if( ap >= apForLevel(
id, i))
214 Q_INVOKABLE
static const qint32
apForLevel(
const int id,
const int level) {
return FF7Materia::levels(
id) <= 1 ? MaxMateriaAp : Materias(
id).ap.at(std::clamp(level, 0, 4)); }
229 Q_INVOKABLE
static const qint8
strengthChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).str; }
236 Q_INVOKABLE
static const qint8
vitalityChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).vit; }
243 Q_INVOKABLE
static const qint8
magicChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).mag; }
251 Q_INVOKABLE
static const qint8
spiritChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).spi; }
259 Q_INVOKABLE
static const qint8
dexterityChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).dex; }
266 Q_INVOKABLE
static const qint8
luckChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).lck; }
273 Q_INVOKABLE
static const qint8
hpChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).hp; }
280 Q_INVOKABLE
static const qint8
mpChange(
const int id) {
return isModID(
id) ? 0 : Materias(
id).mp; }
287 Q_INVOKABLE
static const int type(
const int id) {
return isModID(
id) ? 0 : Materias(
id).type; }
297 const int aptmp = qToLittleEndian(ap);
298 if ( (
id >= 0 ) && (
id !=
FF7Materia::EmptyId ) && ((aptmp >= 0) && (aptmp <= MaxMateriaAp))) {
300 temp.ap[0] = (aptmp & 0xff);
301 temp.ap[1] = (aptmp & 0xff00) >> 8;
302 temp.ap[2] = (aptmp & 0xff0000) >> 16;
327 Q_INVOKABLE
static const qint32
materiaAP(
const quint8 ap1 ,
const quint8 ap2,
const quint8 ap3) {
return qFromLittleEndian( qint32(ap1 | (ap2 << 8) | (ap3 << 16))); }
343 Q_INVOKABLE
static const qint32
materiaAP(
const quint8 ap[3]) {
return materiaAP(ap[0], ap[1], ap[2]); }
347 static const QIcon
icon(
const int id) {
return isModID(
id) ? iconAllMateria() : QIcon(QPixmap(Materias(
id).imageString)); }
348 static const QPixmap
pixmap(
const int id) {
return isModID(
id) ? QPixmap(get()->d->_resourceAllMateria) : QPixmap(Materias(
id).imageString); }
349 static const QImage
image(
const int id) {
return isModID(
id) ? imageAllMateria() : QImage(Materias(
id).imageString); }
352 return imageAllResource();
353 auto tmp = Materias(
id).imageString;
354 return tmp.isEmpty() ? tmp : tmp.prepend(QStringLiteral(
"qrc"));
357 static const QPixmap
pixmapEmptyStar(
int id) {
return isModID(
id) ? QPixmap() : QPixmap(Materias(
id).emptyStarString); }
358 static const QImage
imageEmptyStar(
int id) {
return isModID(
id) ? QImage() : QImage(Materias(
id).emptyStarString); }
360 auto tmp = Materias(
id).emptyStarString;
361 return tmp.isEmpty() ? tmp : tmp.prepend(QStringLiteral(
"qrc"));
364 static const QPixmap
pixmapFullStar(
int id) {
return isModID(
id) ? QPixmap() : QPixmap(Materias(
id).fullStarString); }
365 static const QImage
imageFullStar(
int id) {
return isModID(
id) ? QImage() : QImage(Materias(
id).fullStarString); }
367 auto tmp = Materias(
id).fullStarString;
368 return tmp.isEmpty() ? tmp : tmp.prepend(QStringLiteral(
"qrc"));
371 static const QIcon
iconAllMateria() {
return QIcon(QPixmap(get()->d->_resourceAllMateria)); }
372 static const QImage
imageAllMateria() {
return QImage(get()->d->_resourceAllMateria); }
373 Q_INVOKABLE
static const QString
imageAllResource() {
return get()->d->_resourceAllMateria.mid(0).prepend(QStringLiteral(
"qrc")); }
379 for (
const MATERIA &m : get()->d->_materiaList) {
380 if(m.name.startsWith(get()->d->_placeHolderFilter))
408 explicit FF7Materia(QObject *parent =
nullptr) : QObject(parent), d(new FF7MateriaPrivate()){ };
416 static const int idClamp(
const int id = 0xFF) {
return (
id == 0xFF ) ? id : std::clamp(
id, 0, 90); }
426 QString emptyStarString;
427 QString fullStarString;
450 static const FF7Materia::MATERIA &Materias(
int id) {
451 return (
id == EmptyId) ? get()->d->_emptyMateria : get()->d->_materiaList.at(
id);
454 struct FF7MateriaPrivate;
455 FF7MateriaPrivate *d;
456 struct FF7MateriaPrivate {
457 inline static const auto _placeHolderFilter = QStringLiteral(
"ID:");
458 inline static const auto _resourceAllMateria = QStringLiteral(
":/materia/all");
459 inline static const QStringList _masterCommandList{
460 QT_TR_NOOP(
"Skill: DeathBlow")
461 , QT_TR_NOOP(
"Skill: Manipulate")
462 , QT_TR_NOOP(
"Skill: Mime")
463 , QT_TR_NOOP(
"Skill: Throw")
464 , QT_TR_NOOP(
"Skill: Coin")
465 , QT_TR_NOOP(
"Skill: Steal")
466 , QT_TR_NOOP(
"Skill: Sense")
467 , QT_TR_NOOP(
"Skill: Morph")
470 inline static const QStringList _masterSummonList{
471 QT_TR_NOOP(
"Choco/Mog (14mp)")
472 , QT_TR_NOOP(
"Shiva (32mp)")
473 , QT_TR_NOOP(
"Ifrit (34mp)")
474 , QT_TR_NOOP(
"Ramuh (40mp)")
475 , QT_TR_NOOP(
"Titan (46mp)")
476 , QT_TR_NOOP(
"Odin (80mp)")
477 , QT_TR_NOOP(
"Leviathan (78mp)")
478 , QT_TR_NOOP(
"Bahamut (100mp)")
479 , QT_TR_NOOP(
"Kujata (110mp)")
480 , QT_TR_NOOP(
"Alexander (120mp)")
481 , QT_TR_NOOP(
"Phoenix (180mp)")
482 , QT_TR_NOOP(
"Neo Bahamut (140mp)")
483 , QT_TR_NOOP(
"Hades (150mp)")
484 , QT_TR_NOOP(
"Typhon (160mp)")
485 , QT_TR_NOOP(
"Bahamut ZERO (180mp)")
486 , QT_TR_NOOP(
"Knights Of The Round (250mp)")
489 inline static const QStringList _masterMagicList{
490 QT_TR_NOOP(
"Cure (5mp)")
491 , QT_TR_NOOP(
"Cure2 (24mp)")
492 , QT_TR_NOOP(
"Regen (30mp)")
493 , QT_TR_NOOP(
"Cure3 (64mp)")
494 , QT_TR_NOOP(
"Life (34mp)")
495 , QT_TR_NOOP(
"Life2 (100mp)")
496 , QT_TR_NOOP(
"Poisona (3mp)")
497 , QT_TR_NOOP(
"Esuna (15mp)")
498 , QT_TR_NOOP(
"Resist (120mp)")
499 , QT_TR_NOOP(
"Haste (18mp)")
500 , QT_TR_NOOP(
"Slow (20mp)")
501 , QT_TR_NOOP(
"Stop (34mp)")
502 , QT_TR_NOOP(
"Barrier (16mp)")
503 , QT_TR_NOOP(
"M-Barrier (24mp)")
504 , QT_TR_NOOP(
"Reflect (30mp)")
505 , QT_TR_NOOP(
"Wall (58mp)")
506 , QT_TR_NOOP(
"DeBarrier (12mp)")
507 , QT_TR_NOOP(
"DeSpell (20mp)")
508 , QT_TR_NOOP(
"Death (30mp)")
509 , QT_TR_NOOP(
"Sleepel (8mp)")
510 , QT_TR_NOOP(
"Silence (24mp)")
511 , QT_TR_NOOP(
"Confu (18mp)")
512 , QT_TR_NOOP(
"Berserk (28mp)")
513 , QT_TR_NOOP(
"Mini (10mp)")
514 , QT_TR_NOOP(
"Toad (14mp)")
515 , QT_TR_NOOP(
"Exit (16mp)")
516 , QT_TR_NOOP(
"Remove (99mp)")
517 , QT_TR_NOOP(
"Fire (4mp)")
518 , QT_TR_NOOP(
"Fire2 (22mp)")
519 , QT_TR_NOOP(
"Fire3 (52mp)")
520 , QT_TR_NOOP(
"Ice (4mp)")
521 , QT_TR_NOOP(
"Ice2 (22mp)")
522 , QT_TR_NOOP(
"Ice3 (52mp)")
523 , QT_TR_NOOP(
"Quake (6mp)")
524 , QT_TR_NOOP(
"Quake2 (28mp)")
525 , QT_TR_NOOP(
"Quake3 (68mp)")
526 , QT_TR_NOOP(
"Bolt (4mp)")
527 , QT_TR_NOOP(
"Bolt2 (22mp)")
528 , QT_TR_NOOP(
"Bolt3 (52mp)")
529 , QT_TR_NOOP(
"Bio (8mp)")
530 , QT_TR_NOOP(
"Bio2 (36mp)")
531 , QT_TR_NOOP(
"Bio3 (80mp)")
532 , QT_TR_NOOP(
"Demi (14mp)")
533 , QT_TR_NOOP(
"Demi2 (33mp)")
534 , QT_TR_NOOP(
"Demi3 (48mp)")
535 , QT_TR_NOOP(
"Comet (70mp)")
536 , QT_TR_NOOP(
"Comet2 (110mp)")
537 , QT_TR_NOOP(
"Freeze (82mp)")
538 , QT_TR_NOOP(
"Break (86mp)")
539 , QT_TR_NOOP(
"Tornado (90mp)")
540 , QT_TR_NOOP(
"Flare (100mp)")
541 , QT_TR_NOOP(
"Full Cure (99mp)")
542 , QT_TR_NOOP(
"Shield (180mp)")
543 , QT_TR_NOOP(
"Ultima (130mp)")
546 inline static const QStringList _enemySkills{
547 QT_TR_NOOP(
"Frog Song")
548 , QT_TR_NOOP(
"L4 Suicide")
549 , QT_TR_NOOP(
"Magic Hammer")
550 , QT_TR_NOOP(
"White Wind")
551 , QT_TR_NOOP(
"Big Guard")
552 , QT_TR_NOOP(
"Angel Whisper")
553 , QT_TR_NOOP(
"Dragon Force")
554 , QT_TR_NOOP(
"Death Force")
555 , QT_TR_NOOP(
"Flame Thrower")
556 , QT_TR_NOOP(
"Laser")
557 , QT_TR_NOOP(
"Matra Magic")
558 , QT_TR_NOOP(
"Bad Breath")
560 , QT_TR_NOOP(
"Aqualung")
561 , QT_TR_NOOP(
"Trine")
562 , QT_TR_NOOP(
"Magic Breath")
564 , QT_TR_NOOP(
"Goblin Punch")
565 , QT_TR_NOOP(
"Chocobuckle")
566 , QT_TR_NOOP(
"L5 Death")
567 , QT_TR_NOOP(
"Death Sentence")
568 , QT_TR_NOOP(
"Roulette")
569 , QT_TR_NOOP(
"Shadow Flare")
570 , QT_TR_NOOP(
"Pandora's Box")
573 inline static const MATERIA _emptyMateria{
576 , QStringLiteral(
"ID:0xFF"), QString(), QString(), QString()
577 , 0XFF, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
579 inline static const QList<MATERIA> _materiaList{
581 QT_TR_NOOP(
"MP Plus")
582 , {QT_TR_NOOP(
"MP Plus +10%"), QT_TR_NOOP(
"MP Plus +20%"), QT_TR_NOOP(
"MP Plus +30%"), QT_TR_NOOP(
"MP Plus +40%"), QT_TR_NOOP(
"MP Plus +50%")}
583 , QT_TR_NOOP(
"MaxMp:+% depending on level"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
584 , 0x00, 0, 0, 0, 0, 0, 0, 0, 0, {0, 10000, 20000, 30000, 50000}, 3, 5, QString(), {QString()}
586 { QT_TR_NOOP(
"HP Plus")
587 , {QT_TR_NOOP(
"HP Plus +10%"), QT_TR_NOOP(
"HP Plus +20%"), QT_TR_NOOP(
"HP Plus +30%"), QT_TR_NOOP(
"HP Plus +40%"), QT_TR_NOOP(
"HP Plus +50%")}
588 , QT_TR_NOOP(
"MaxHp:+% depending on level"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
589 , 0x01, 0, 0, 0, 0, 0, 0, 0, 0, {0, 10000, 20000, 30000, 50000}, 3, 5, QString(), {QString()}
592 QT_TR_NOOP(
"Speed Plus")
593 , {QT_TR_NOOP(
"Speed Plus +10%"), QT_TR_NOOP(
"Speed Plus +20%"), QT_TR_NOOP(
"Speed Plus +30%"), QT_TR_NOOP(
"Speed Plus +40%"), QT_TR_NOOP(
"Speed Plus +50%")}
594 , QT_TR_NOOP(
"Dex:+% depending on level"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
595 , 0x02, 0, 0, 0, 0, 0, 0, 0, 0, {0, 15000, 30000, 60000, 100000}, 3, 5, QString(), {QString()}
598 QT_TR_NOOP(
"Magic Plus")
599 , {QT_TR_NOOP(
"Magic Plus +10%"), QT_TR_NOOP(
"Magic Plus +20%"), QT_TR_NOOP(
"Magic Plus +30%"), QT_TR_NOOP(
"Magic Plus +40%"), QT_TR_NOOP(
"Magic Plus +50%")}
600 , QT_TR_NOOP(
"Mag:+% depending on level"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
601 , 0x03, 0, 0, 0, 0, 0, 0, 0, 0, {0, 10000, 20000, 30000, 50000}, 3, 5, QString(), {QString()}
604 QT_TR_NOOP(
"Luck Plus")
605 , {QT_TR_NOOP(
"Luck Plus +10%"), QT_TR_NOOP(
"Luck Plus +20%"), QT_TR_NOOP(
"Luck Plus +30%"), QT_TR_NOOP(
"Luck Plus +40%"), QT_TR_NOOP(
"Luck Plus +50%")}
606 , QT_TR_NOOP(
"Lck:+% depending on level"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
607 , 0x04, 0, 0, 0, 0, 0, 0, 0, 0, {0, 15000, 30000, 60000, 100000}, 3, 5, QString(), {QString()}
610 QT_TR_NOOP(
"EXP Plus")
611 , {QT_TR_NOOP(
"Exp Plus +50%"), QT_TR_NOOP(
"Exp Plus +100%")}
612 , QT_TR_NOOP(
"Lck:+1"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
613 , 0x05, 0, 0, 0, 0, 0, +1, 0, 0, {0, 60000, 150000, 0, 0}, 3, 3, QString(), {QString()}
616 QT_TR_NOOP(
"Gil Plus")
617 , {QT_TR_NOOP(
"Gil Plus +50%"), QT_TR_NOOP(
"Gil Plus +100%")}
618 , QT_TR_NOOP(
"Lck:+1"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
619 , 0x06, 0, 0, 0, 0, 0, +1, 0, 0, {0, 80000, 150000, 0, 0}, 3, 3, QString(), {QString()}
622 QT_TR_NOOP(
"Enemy Away")
623 , {QT_TR_NOOP(
"Encounter Rate -50%"), QT_TR_NOOP(
"Encounter Rate -75%")}
624 , QT_TR_NOOP(
"Lck:+1"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
625 , 0x07, 0, 0, 0, 0, 0, +1, 0, 0, {0, 10000, 50000, 0, 0}, 3, 3, QString(), {QString()}
628 QT_TR_NOOP(
"Enemy Lure")
629 , {QT_TR_NOOP(
"Encounter Rate +50%"), QT_TR_NOOP(
"Encounter Rate +100%")}
630 , QT_TR_NOOP(
"Lck:-1"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
631 , 0x08, 0, 0, 0, 0, 0, -1, 0, 0, {0, 10000, 50000, 0, 0}, 3, 3, QString(), {QString()}
634 QT_TR_NOOP(
"Chocobo Lure")
635 , {QT_TR_NOOP(
"Chocobo Lure"), QT_TR_NOOP(
"Chocobo Lure +50%"), QT_TR_NOOP(
"Chocobo Lure +100%"), QT_TR_NOOP(
"Chocobo Lure +200%")}
636 , QT_TR_NOOP(
"Lck:+1"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
637 , 0x09, 0, 0, 0, 0, 0, +1, 0, 0, {0, 3000, 10000, 30000, 0}, 3, 4, QString(), {QString()}
640 QT_TR_NOOP(
"Pre-emptive")
641 , {QT_TR_NOOP(
"Pre-emptive +6%"), QT_TR_NOOP(
"Pre-emptive +12%"), QT_TR_NOOP(
"Pre-emptive +24%"), QT_TR_NOOP(
"Pre-emptive +36%"), QT_TR_NOOP(
"Pre-emptive +48%")}
642 , QT_TR_NOOP(
"Dex:+2"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
643 , 0x0A, 0, 0, 0, 0, +2, 0, 0, 0, {0, 8000, 20000, 40000, 80000}, 3, 5, QString(), {QString()}
646 QT_TR_NOOP(
"Long Range")
647 , {QT_TR_NOOP(
"Long Range")}
648 , QString(), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
649 , 0x0B, 0, 0, 0, 0, 0, 0, 0, 0, {0, 80000, 0, 0, 0}, 3, 2, QString(), {QString()}
652 QT_TR_NOOP(
"Mega All")
653 , {QT_TR_NOOP(
"Mega-all x1"), QT_TR_NOOP(
"Mega-all x2"), QT_TR_NOOP(
"Mega-all x3"), QT_TR_NOOP(
"Mega-all x4"), QT_TR_NOOP(
"Mega-all x5")}
654 , QString(), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
655 , 0x0C, 0, 0, 0, 0, 0, 0, 0, 0, {0, 20000, 40000, 80000, 160000}, 3, 5, QString(), {QString()}
658 QT_TR_NOOP(
"Counter Attack")
659 ,{QT_TR_NOOP(
"Counter Attack 20%"), QT_TR_NOOP(
"Counter Attack 40%"), QT_TR_NOOP(
"Counter Attack 60%"), QT_TR_NOOP(
"Counter Attack 80%"), QT_TR_NOOP(
"Counter Attack 100%")}
660 , QString(), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
661 , 0x0D, 0, 0, 0, 0, 0, 0, 0, 0, {0, 10000, 20000, 50000, 100000}, 3, 5, QString(), {QString()}
664 QT_TR_NOOP(
"Slash-All")
665 , {QT_TR_NOOP(
"Skill: Slash-All"), QT_TR_NOOP(
"Skill: Flash")}
666 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
667 , 0x0E, 0, 0, 0, 0, 0, 0, 0, 0, {0, 130000, 150000, 0, 0}, 5, 3, QString(), {QString()}
670 QT_TR_NOOP(
"Double Cut")
671 , {QT_TR_NOOP(
"Skill: 2x-Cut"), QT_TR_NOOP(
"Skill: 4x-Cut")}
672 , QT_TR_NOOP(
"Dex:+2"), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
673 , 0x0F, 0, 0, 0, 0, +2, 0, 0, 0, {0, 100000, 150000, 0, 0}, 5, 3, QString(), {QString()}
677 , {QT_TR_NOOP(
"Cover +20%"), QT_TR_NOOP(
"Cover +40%"), QT_TR_NOOP(
"Cover +60%"), QT_TR_NOOP(
"Cover +80%"), QT_TR_NOOP(
"Cover +100%")}
678 , QT_TR_NOOP(
"Vit:+1"), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
679 , 0x10, 0, 0, 0, +1, 0, 0, 0, 0, {0, 2000, 10000, 25000, 40000}, 3, 5, QString(), {QString()}
682 QT_TR_NOOP(
"Underwater")
683 , {QT_TR_NOOP(
"Underwater")}
684 , QString(), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
685 , 0x11, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 3, 1, QString(), {QString()}
688 QT_TR_NOOP(
"HP <-> MP")
689 , {QT_TR_NOOP(
"HP <-> MP")}
690 , QString(), QStringLiteral(
":/materia/independent"), QStringLiteral(
":/materia/independent_star_empty"), QStringLiteral(
":/materia/independent_star_full")
691 , 0x12, 0, 0, 0, 0, 0, 0, 0, 0, {0, 80000, 0, 0, 0}, 3, 2, QString(), {QString()}
694 QT_TR_NOOP(
"W-Magic")
695 , {QT_TR_NOOP(
"Skill: W-Magic")}
696 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
697 , 0x13, 0, 0, 0, 0, 0, 0, 0, 0, {0, 250000, 0, 0, 0}, 5, 2, QString(), {QString()}
700 QT_TR_NOOP(
"W-Summon")
701 , {QT_TR_NOOP(
"Skill: W-Summon")}
702 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
703 , 0x14, 0, 0, 0, 0, 0, 0, 0, 0, {0, 250000, 0, 0, 0}, 5, 2, QString(), {QString()}
707 , {QT_TR_NOOP(
"Skill: W-Item")}
708 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
709 , 0x15, 0, 0, 0, 0, 0, 0, 0, 0, {0, 250000, 0, 0, 0}, 5, 2, QString(), {QString()}
712 QStringLiteral(
"ID:0x16")
714 , QStringLiteral(
"ID:0x16"), QStringLiteral(
":/materia/all"), QString(), QString()
715 , 0X16, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
719 , {QT_TR_NOOP(
"All x1"), QT_TR_NOOP(
"All x2"), QT_TR_NOOP(
"All x3"), QT_TR_NOOP(
"All x4"), QT_TR_NOOP(
"All x5")}
720 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
721 , 0x17, 0, 0, 0, 0, 0, 0, 0, 0, {0, 1500, 6000, 18000, 35000}, 4, 5, QString(), {QString()}
724 QT_TR_NOOP(
"Counter")
725 , {QT_TR_NOOP(
"Counter Rate 20%"), QT_TR_NOOP(
"Counter Rate 40%"), QT_TR_NOOP(
"Counter Rate 60%"), QT_TR_NOOP(
"Counter Rate 80%"), QT_TR_NOOP(
"Counter Rate 100%")}
726 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
727 , 0x18, 0, 0, 0, 0, 0, 0, 0, 0, {0, 20000, 40000, 60000, 100000}, 4, 5, QString(), {QString()}
730 QT_TR_NOOP(
"Magic Counter")
731 , {QT_TR_NOOP(
"Magic Counter Rate 30%"), QT_TR_NOOP(
"Magic Counter Rate 40%"), QT_TR_NOOP(
"Magic Counter Rate 60%"), QT_TR_NOOP(
"Magic Counter Rate 80%"), QT_TR_NOOP(
"Magic Counter Rate 100%")}
732 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
733 , 0x19, 0, 0, 0, 0, 0, 0, 0, 0, {0, 20000, 40000, 80000, 300000}, 4, 5, QString(), {QString()}
736 QT_TR_NOOP(
"MP Turbo")
737 , {QT_TR_NOOP(
"MP Turbo 10%"), QT_TR_NOOP(
"MP Turbo 20%"), QT_TR_NOOP(
"MP Turbo 30%"), QT_TR_NOOP(
"MP Turbo 40%"), QT_TR_NOOP(
"MP Turbo 50%")}
738 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
739 , 0x1A, 0, 0, 0, 0, 0, 0, 0, 0, {0, 10000, 30000, 60000, 120000}, 4, 5, QString(), {QString()}
742 QT_TR_NOOP(
"MP Absorb")
743 , {QT_TR_NOOP(
"MP Absorb")}
744 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
745 , 0x1B, 0, 0, 0, 0, 0, 0, 0, 0, {0, 100000, 0, 0, 0}, 4, 2, QString(), {QString()}
748 QT_TR_NOOP(
"HP Absorb")
749 , {QT_TR_NOOP(
"HP Absorb")}
750 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
751 , 0x1C, 0, 0, 0, 0, 0, 0, 0, 0, {0, 100000, 0, 0, 0}, 4, 2, QString(), {QString()}
754 QT_TR_NOOP(
"Elemental")
755 , {QT_TR_NOOP(
"Elemental 50%"), QT_TR_NOOP(
"Elemental 100%"), QT_TR_NOOP(
"Elemental 200%")}
756 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
757 , 0x1D, 0, 0, 0, 0, 0, 0, 0, 0, {0, 10000, 40000, 80000, 0}, 4, 4, QString(), {QString()}
760 QT_TR_NOOP(
"Added Effect")
761 , {QT_TR_NOOP(
"Added Effect")}
762 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
763 , 0x1E, 0, 0, 0, 0, 0, 0, 0, 0, {0, 100000, 0, 0, 0}, 4, 2, QString(), {QString()}
766 QT_TR_NOOP(
"Sneak Attack")
767 , {QT_TR_NOOP(
"Sneak Attack 20%"), QT_TR_NOOP(
"Sneak Attack 35%"), QT_TR_NOOP(
"Sneak Attack 50%"), QT_TR_NOOP(
"Sneak Attack 65%"), QT_TR_NOOP(
"Sneak Attack 80%")}
768 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
769 , 0x1F, 0, 0, 0, 0, 0, 0, 0, 0, {0, 20000, 60000, 100000, 150000}, 4, 5, QString(), {QString()}
772 QT_TR_NOOP(
"Final Attack")
773 , {QT_TR_NOOP(
"Final Attack x1"), QT_TR_NOOP(
"Final Attack x2"), QT_TR_NOOP(
"Final Attack x3"), QT_TR_NOOP(
"Final Attack x4"), QT_TR_NOOP(
"Final Attack x5")}
774 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
775 , 0x20, 0, 0, 0, 0, 0, 0, 0, 0, {0, 20000, 40000, 80000, 160000}, 4, 5, QString(), {QString()}
778 QT_TR_NOOP(
"Added Cut")
779 , {QT_TR_NOOP(
"Added Cut")}
780 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
781 , 0x21, 0, 0, 0, 0, 0, 0, 0, 0, {0, 200000, 0, 0, 0}, 4, 2, QString(), {QString()}
784 QT_TR_NOOP(
"Steal-As-Well")
785 , {QT_TR_NOOP(
"Steal as well")}
786 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
787 , 0x22, 0, 0, 0, 0, 0, 0, 0, 0, {0, 200000, 0, 0, 0}, 4, 2, QString(), {QString()}
790 QT_TR_NOOP(
"Quadra Magic")
791 , {QT_TR_NOOP(
"Quadra Magic x1"), QT_TR_NOOP(
"Quadra Magic x2"), QT_TR_NOOP(
"Quadra Magic x3"), QT_TR_NOOP(
"Quadra Magic x4"), QT_TR_NOOP(
"Quadra Magic x5")}
792 , QString(), QStringLiteral(
":/materia/support"), QStringLiteral(
":/materia/support_star_empty"), QStringLiteral(
":/materia/support_star_full")
793 , 0x23, 0, 0, 0, 0, 0, 0, 0, 0, {0, 40000, 80000, 120000, 200000}, 4, 5, QString(), {QString()}
797 , {QT_TR_NOOP(
"Skill: Steal"), QT_TR_NOOP(
"Skill: Mug")}
798 , QT_TR_NOOP(
"Dex:+2"), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
799 , 0x24, 0, 0, 0, 0, +2, 0, 0, 0, {0, 40000, 50000, 0, 0}, 5, 3, QString(), {QString()}
803 , {QT_TR_NOOP(
"Skill: Sense")}
804 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
805 , 0x25, 0, 0, 0, 0, 0, 0, 0, 0, {0, 40000, 0, 0, 0}, 5, 2, QString(), {QString()}
808 QStringLiteral(
"ID:0x26")
810 , QStringLiteral(
"ID:0x26"), QStringLiteral(
":/materia/all"), QString(), QString()
811 , 0X26, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
815 , {QT_TR_NOOP(
"Skill: Throw"), QT_TR_NOOP(
"Skill: Coin")}
816 , QT_TR_NOOP(
"Vit:+1"), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
817 , 0x27, 0, 0, 0, +1, 0, 0, 0, 0, {0, 45000, 60000, 0, 0}, 5, 3, QString(), {QString()}
821 , {QT_TR_NOOP(
"Skill: Morph")}
822 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
823 , 0x28, 0, 0, 0, 0, 0, 0, 0, 0, {0, 100000, 0, 0, 0}, 5, 2, QString(), {QString()}
826 QT_TR_NOOP(
"Deathblow")
827 , {QT_TR_NOOP(
"Skill: DeathBlow")}
828 , QT_TR_NOOP(
"Lck:+1"), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
829 , 0x29, 0, 0, 0, 0, 0, +1, 0, 0, {0, 40000, 0, 0, 0}, 5, 2, QString(), {QString()}
832 QT_TR_NOOP(
"Manipulate")
833 , {QT_TR_NOOP(
"Skill: Manipulate")}
834 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
835 , 0x2A, 0, 0, 0, 0, 0, 0, 0, 0, {0, 40000, 0, 0, 0}, 5, 2, QString(), {QString()}
839 , {QT_TR_NOOP(
"Skill: Mime")}
840 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
841 , 0x2B, 0, 0, 0, 0, 0, 0, 0, 0, {0, 100000, 0, 0, 0}, 5, 2, QString(), {QString()}
844 QT_TR_NOOP(
"Enemy Skill")
845 , {QT_TR_NOOP(
"Skill: Enemy Skill")}
846 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
847 , 0x2C, 0, 0, 0, 0, 0, 0, 0, 0, {16777215, 0, 0, 0, 0}, 5, 1, QString(), {QString()}
850 QStringLiteral(
"ID:0x2D")
852 , QStringLiteral(
"ID:0x2D"), QStringLiteral(
":/materia/all"), QString(), QString()
853 , 0X2D, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
856 QStringLiteral(
"ID:0x2E")
858 , QStringLiteral(
"ID:0x2E"), QStringLiteral(
":/materia/all"), QString(), QString()
859 , 0X2E, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
862 QStringLiteral(
"ID:0x2F")
864 , QStringLiteral(
"ID:0x2F"), QStringLiteral(
":/materia/all"), QString(), QString()
865 , 0X2F, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
868 QT_TR_NOOP(
"Master Command")
870 , QString(), QStringLiteral(
":/materia/command"), QStringLiteral(
":/materia/command_star_empty"), QStringLiteral(
":/materia/command_star_full")
871 , 0x30, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 5, 1, QString(), {QString()}
875 , {QT_TR_NOOP(
"Fire (4mp)"), QT_TR_NOOP(
"Fire2 (22mp)"), QT_TR_NOOP(
"Fire3 (52mp)")}
876 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
877 , 0x31, -2, +2, -1, 0, 0, 0, +1, 0, {0, 2000, 18000, 35000, 0}, 1, 4, QT_TR_NOOP(
"[Fire]"), {QString()}
881 , {QT_TR_NOOP(
"Ice (4mp)"), QT_TR_NOOP(
"Ice2 (22mp)"), QT_TR_NOOP(
"Ice3 (52mp)")}
882 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
883 , 0x32, -2, +2, -1, 0, 0, 0, +1, 0, {0, 2000, 18000, 35000, 0}, 1, 4, QT_TR_NOOP(
"[Ice]"), {QString()}
887 , {QT_TR_NOOP(
"Quake (6mp)"), QT_TR_NOOP(
"Quake2 (28mp)"), QT_TR_NOOP(
"Quake3 (68mp)")}
888 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
889 , 0x33, -2, +2, -1, 0, 0, 0, +1, 0, {0, 6000, 22000, 40000, 0}, 1, 4, QT_TR_NOOP(
"[Earth]"), {QString()}
892 QT_TR_NOOP(
"Lightning")
893 , {QT_TR_NOOP(
"Bolt (4mp)"), QT_TR_NOOP(
"Bolt2 (22mp)"), QT_TR_NOOP(
"Bolt3 (52mp)")}
894 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
895 , 0x34, -2, +2, -1, 0, 0, 0, +1, 0, {0, 2000, 18000, 35000, 0}, 1, 4, QT_TR_NOOP(
"[Lightning]"), {QString()}
898 QT_TR_NOOP(
"Restore")
899 , {QT_TR_NOOP(
"Cure (5mp)"), QT_TR_NOOP(
"Cure2 (24mp)"), QT_TR_NOOP(
"Regen (30mp)"), QT_TR_NOOP(
"Cure3 (64mp)")}
900 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
901 , 0x35, -2, +2, -1, 0, 0, 0, +1, 0, {0, 2500, 17000, 25000, 40000}, 1, 5, QString(), {QString()}
905 , {QT_TR_NOOP(
"Poisona (3mp)"), QT_TR_NOOP(
"Esuna (15mp)"), QT_TR_NOOP(
"Resist (120mp)")}
906 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
907 , 0x36, -2, +2, -1, 0, 0, 0, +1, 0, {0, 12000, 52000, 60000, 0}, 1, 4, QString(), {QString()}
911 , {QT_TR_NOOP(
"Life (34mp)"), QT_TR_NOOP(
"Life2 (100mp)")}
912 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Str:-2 Vit:-1 Mag:+2 Spi:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
913 , 0x37, -5, +5, -2, -1, 0, 0, +2, +1, {0, 45000, 55000, 0, 0}, 1, 3, QString(), {QString()}
917 , {QT_TR_NOOP(
"Sleepel (8mp)"), QT_TR_NOOP(
"Silence (24mp)")}
918 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
919 , 0x38, -2, +2, -1, 0, 0, 0, +1, 0, {0, 10000, 20000, 0, 0}, 1, 3, QString(), {QT_TR_NOOP(
"[Sleep]"), QT_TR_NOOP(
"[Silence]")}
922 QT_TR_NOOP(
"Mystify")
923 , {QT_TR_NOOP(
"Confu (18mp)"), QT_TR_NOOP(
"Berserk (28mp)")}
924 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
925 , 0x39, -2, +2, -1, 0, 0, 0, +1, 0, {0, 12000, 25000, 0, 0}, 1, 3, QString(), {QT_TR_NOOP(
"[Confusion]"), QT_TR_NOOP(
"[Berserk]")}
928 QT_TR_NOOP(
"Transform")
929 , {QT_TR_NOOP(
"Mini (10mp)"), QT_TR_NOOP(
"Toad (14mp)")}
930 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
931 , 0x3A, -2, +2, -1, 0, 0, 0, +1, 0, {0, 8000, 24000, 0, 0}, 1, 3, QString(), {QT_TR_NOOP(
"[Mini]"), QT_TR_NOOP(
"[Frog]")}
935 , {QT_TR_NOOP(
"Exit (16mp)"), QT_TR_NOOP(
"Remove (99mp)")}
936 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
937 , 0x3B, -2, +2, -1, 0, 0, 0, +1, 0, {0, 10000, 30000, 0, 0}, 1, 3, QString(), {QString()}
941 , {QT_TR_NOOP(
"Bio (8mp)"), QT_TR_NOOP(
"Bio2 (36mp)"), QT_TR_NOOP(
"Bio3 (80mp)")}
942 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
943 , 0x3C, -2, +2, -1, 0, 0, 0, +1, 0, {0, 5000, 20000, 38000, 0}, 1, 4, QT_TR_NOOP(
"[Poison]"), {QT_TR_NOOP(
"[Poison]")}
946 QT_TR_NOOP(
"Gravity")
947 , {QT_TR_NOOP(
"Demi (14mp)"), QT_TR_NOOP(
"Demi2 (33mp)"), QT_TR_NOOP(
"Demi3 (48mp)")}
948 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Str:-1 Mag:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
949 , 0x3D, -2, +2, -1, 0, 0, 0, +1, 0, {0, 10000, 20000, 40000, 0}, 1, 4, QT_TR_NOOP(
"[Gravity]"), {QString()}
952 QT_TR_NOOP(
"Barrier")
953 , {QT_TR_NOOP(
"Barrier (16mp)"), QT_TR_NOOP(
"M-Barrier (24mp)"), QT_TR_NOOP(
"Reflect (30mp)"), QT_TR_NOOP(
"Wall (58mp)")}
954 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Str:-2 Vit:-1 Mag:+2 Spi:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
955 , 0x3E, -5, +5, -2, -1, 0, 0, +2, +1, {0, 5000, 15000, 30000, 45000}, 1, 5, QString(), {QString()}
958 QStringLiteral(
"ID:0x3F")
960 , QStringLiteral(
"ID:0x3F"), QStringLiteral(
":/materia/all"), QString(), QString()
961 , 0X3F, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
965 , {QT_TR_NOOP(
"Comet (70mp)"), QT_TR_NOOP(
"Comet2 (110mp)")}
966 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Str:-2 Vit:-1 Mag:+2 Spi:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
967 , 0x40, -5, +5, -2, -1, 0, 0, +2, +1, {0, 12000, 60000, 0, 0}, 1, 3, QString(), {QString()}
971 , {QT_TR_NOOP(
"Haste (18mp)"), QT_TR_NOOP(
"Slow (20mp)"), QT_TR_NOOP(
"Stop (34mp)")}
972 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Str:-2 Vit:-1 Mag:+2 Spi:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
973 , 0x41, -5, +5, -2, -1, 0, 0, +2, +1, {0, 10000, 20000, 42000, 0}, 1, 4, QString(), {QT_TR_NOOP(
"[Slow]"), QT_TR_NOOP(
"[Stop]")}
976 QStringLiteral(
"ID:0x42")
978 , QStringLiteral(
"ID:0x42"), QStringLiteral(
":/materia/all"), QString(), QString()
979 , 0X42, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
982 QStringLiteral(
"ID:0x43")
984 , QStringLiteral(
"ID:0x43"), QStringLiteral(
":/materia/all"), QString(), QString()
985 , 0X43, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 0, 0, QString(), {QString()}
988 QT_TR_NOOP(
"Destruct")
989 , {QT_TR_NOOP(
"DeBarrier (12mp)"), QT_TR_NOOP(
"DeSpell (20mp)"), QT_TR_NOOP(
"Death (30mp)")}
990 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Str:-2 Vit:-1 Mag:+2 Spi:+1"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
991 , 0x44, -5, +5, -2, -1, 0, 0, +2, +1, {0, 6000, 10000, 45000, 0}, 1, 4, QString(), {QT_TR_NOOP(
"[Death]")}
994 QT_TR_NOOP(
"Contain")
995 , {QT_TR_NOOP(
"Freeze (82mp)"), QT_TR_NOOP(
"Break (86mp)"), QT_TR_NOOP(
"Tornado (90mp)"), QT_TR_NOOP(
"Flare (100mp)")}
996 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+10% Str:-4 Vit:-2 Mag:+4 Spi:+2"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
997 , 0x45, -10, +10, -4, -2, 0, 0, +4, +2, {0, 5000, 10000, 15000, 60000}, 1, 5, QString(), {QT_TR_NOOP(
"[Confusion]"), QT_TR_NOOP(
"[Petrify]"), QT_TR_NOOP(
"[Stop]")}
1000 QT_TR_NOOP(
"Full Cure")
1001 , {QString(), QT_TR_NOOP(
"Full Cure (99mp)")}
1002 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+10% Str:-4 Vit:-2 Mag:+4 Spi:+2"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
1003 , 0x46, -10, +10, -4, -2, 0, 0, +4, +2, {0, 3000, 100000, 0, 0}, 1, 3, QString(), {QString()}
1006 QT_TR_NOOP(
"Shield")
1007 , {QString(), QT_TR_NOOP(
"Shield (180mp)")}
1008 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+10% Str:-4 Vit:-2 Mag:+4 Spi:+2"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
1009 , 0x47, -10, +10, -4, -2, 0, 0, +4, +2, {0, 10000, 100000, 0, 0}, 1, 3, QString(), {QString()}
1012 QT_TR_NOOP(
"Ultima")
1013 , {QString(), QT_TR_NOOP(
"Ultima (130mp)")}
1014 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+10% Str:-4 Vit:-2 Mag:+4 Spi:+2"), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
1015 , 0x48, -10, +10, -4, -2, 0, 0, +4, +2, {0, 5000, 100000, 0, 0}, 1, 3, QString(), {QString()}
1018 QT_TR_NOOP(
"Master Magic")
1020 , QString(), QStringLiteral(
":/materia/magic"), QStringLiteral(
":/materia/magic_star_empty"), QStringLiteral(
":/materia/magic_star_full")
1021 , 0x49, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 1, 1, QString(), {QString()}
1024 QT_TR_NOOP(
"Choco/Mog")
1025 , {QT_TR_NOOP(
"Choco/Mog x1 (14mp)"), QT_TR_NOOP(
"Choco/Mog x2 (14mp)"), QT_TR_NOOP(
"Choco/Mog x3 (14mp)"), QT_TR_NOOP(
"Choco/Mog x4 (14mp)"), QT_TR_NOOP(
"Choco/Mog x5 (14mp)")}
1026 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Mag:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1027 , 0x4A, -2, +2, 0, 0, 0, 0, +1, 0, {0, 2000, 14000, 25000, 35000}, 2, 5, QT_TR_NOOP(
"[Wind]"), {QString()}
1031 , {QT_TR_NOOP(
"Shiva x1 (32mp)"), QT_TR_NOOP(
"Shiva x2 (32mp)"), QT_TR_NOOP(
"Shiva x3 (32mp)"), QT_TR_NOOP(
"Shiva x4 (32mp)"), QT_TR_NOOP(
"Shiva x5 (32mp)")}
1032 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Mag:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1033 , 0x4B, -2, +2, 0, 0, 0, 0, +1, 0, {0, 4000, 15000, 30000, 50000}, 2, 5, QT_TR_NOOP(
"[Ice]"), {QString()}
1037 , {QT_TR_NOOP(
"Ifrit x1 (34mp)"), QT_TR_NOOP(
"Ifrit x2 (34mp)"), QT_TR_NOOP(
"Ifrit x3 (34mp)"), QT_TR_NOOP(
"Ifrit x4 (34mp)"), QT_TR_NOOP(
"Ifrit x5 (34mp)")}
1038 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Mag:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1039 , 0x4C, -2, +2, 0, 0, 0, 0, +1, 0, {0, 5000, 20000, 35000, 60000}, 2, 5, QT_TR_NOOP(
"[Fire]"), {QString()}
1043 , {QT_TR_NOOP(
"Ramuh x1 (40mp)"), QT_TR_NOOP(
"Ramuh x2 (40mp)"), QT_TR_NOOP(
"Ramuh x3 (40mp)"), QT_TR_NOOP(
"Ramuh x4 (40mp)"), QT_TR_NOOP(
"Ramuh x5 (40mp)")}
1044 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Mag:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1045 , 0x4D, -2, +2, 0, 0, 0, 0, +1, 0, {0, 10000, 25000, 50000, 70000}, 2, 5, QT_TR_NOOP(
"[Lightning]"), {QString()}
1049 , {QT_TR_NOOP(
"Titan x1 (46mp)"), QT_TR_NOOP(
"Titan x2 (46mp)"), QT_TR_NOOP(
"Titan x3 (46mp)"), QT_TR_NOOP(
"Titan x4 (46mp)"), QT_TR_NOOP(
"Titan x5 (46mp)")}
1050 , QT_TR_NOOP(
"MaxHp:-2% MaxMp:+2% Mag:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1051 , 0x4E, -2, +2, 0, 0, 0, 0, +1, 0, {0, 15000, 30000, 60000, 80000}, 2, 5, QT_TR_NOOP(
"[Earth]"), {QString()}
1055 , {QT_TR_NOOP(
"Odin x1 (80mp)"), QT_TR_NOOP(
"Odin x2 (80mp)"), QT_TR_NOOP(
"Odin x3 (80mp)"), QT_TR_NOOP(
"Odin x4 (80mp)"), QT_TR_NOOP(
"Odin x5 (80mp)")}
1056 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Mag:+1 Spi:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1057 , 0x4F, -5, +5, 0, 0, 0, 0, +1, +1, {0, 16000, 32000, 65000, 90000}, 2, 5, QString(), {QT_TR_NOOP(
"[Death]")}
1060 QT_TR_NOOP(
"Leviathan")
1061 , {QT_TR_NOOP(
"Leviathan x1 (78mp)"), QT_TR_NOOP(
"Leviathan x2 (78mp)"), QT_TR_NOOP(
"Leviathan x3 (78mp)"), QT_TR_NOOP(
"Leviathan x4 (78mp)"), QT_TR_NOOP(
"Leviathan x5 (78mp)")}
1062 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Mag:+1 Spi:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1063 , 0x50, -5, +5, 0, 0, 0, 0, +1, +1, {0, 18000, 38000, 70000, 100000}, 2, 5, QT_TR_NOOP(
"[Water]"), {QString()}
1066 QT_TR_NOOP(
"Bahamut")
1067 , {QT_TR_NOOP(
"Bahamut x1 (100mp)"), QT_TR_NOOP(
"Bahamut x2 (100mp)"), QT_TR_NOOP(
"Bahamut x3 (100mp)"), QT_TR_NOOP(
"Bahamut x4 (100mp)"), QT_TR_NOOP(
"Bahamut x5 (100mp)")}
1068 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Mag:+1 Spi:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1069 , 0x51, -5, +5, 0, 0, 0, 0, +1, +1, {0, 20000, 50000, 80000, 120000}, 2, 5, QString(), {QString()}
1072 QT_TR_NOOP(
"Kujata")
1073 , {QT_TR_NOOP(
"Kujata x1 (110mp)"), QT_TR_NOOP(
"Kujata x2 (110mp)"), QT_TR_NOOP(
"Kujata x3 (110mp)"), QT_TR_NOOP(
"Kujata x4 (110mp)"), QT_TR_NOOP(
"Kujata x5 (110mp)")}
1074 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Mag:+1 Spi:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1075 , 0x52, -5, +5, 0, 0, 0, 0, +1, +1, {0, 22000, 60000, 90000, 140000}, 2, 5, QString(), {QString()}
1078 QT_TR_NOOP(
"Alexander")
1079 , {QT_TR_NOOP(
"Alexander x1 (120mp)"), QT_TR_NOOP(
"Alexander x2 (120mp)"), QT_TR_NOOP(
"Alexander x3 (120mp)"), QT_TR_NOOP(
"Alexander x4 (120mp)"), QT_TR_NOOP(
"Alexander x5 (120mp)")}
1080 , QT_TR_NOOP(
"MaxHp:-5% MaxMp:+5% Mag:+1 Spi:+1"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1081 , 0x53, -5, +5, 0, 0, 0, 0, +1, +1, {0, 25000, 65000, 100000, 150000}, 2, 5, QT_TR_NOOP(
"[Holy]"), {QString()}
1084 QT_TR_NOOP(
"Phoenix")
1085 , {QT_TR_NOOP(
"Phoenix x1 (180mp)"), QT_TR_NOOP(
"Phoenix x2 (180mp)"), QT_TR_NOOP(
"Phoenix x3 (180mp)"), QT_TR_NOOP(
"Phoenix x4 (180mp)"), QT_TR_NOOP(
"Phoenix x5 (180mp)")}
1086 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+10% Mag:+2 Spi:+2"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1087 , 0x54, -10, +10, 0, 0, 0, 0, +2, +2, {0, 28000, 70000, 120000, 180000}, 2, 5, QT_TR_NOOP(
"[Fire]"), {QString()}
1090 QT_TR_NOOP(
"Neo Bahamut")
1091 , {QT_TR_NOOP(
"Neo Bahamut x1 (140mp)"), QT_TR_NOOP(
"Neo Bahamut x2 (140mp)"), QT_TR_NOOP(
"Neo Bahamut x3 (140mp)"), QT_TR_NOOP(
"Neo Bahamut x4 (140mp)"), QT_TR_NOOP(
"Neo Bahamut x5 (140mp)")}
1092 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+10% Mag:+2 Spi:+2"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1093 , 0x55, -10, +10, 0, 0, 0, 0, +2, +2, {0, 30000, 80000, 140000, 200000}, 2, 5, QString(), {QString()}
1097 , {QT_TR_NOOP(
"Hades x1 (150mp)"), QT_TR_NOOP(
"Hades x2 (150mp)"), QT_TR_NOOP(
"Hades x3 (150mp)"), QT_TR_NOOP(
"Hades x4 (150mp)"), QT_TR_NOOP(
"Hades x5 (150mp)")}
1098 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+15% Mag:+4 Spi:+4"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1099 , 0x56, -10, +15, 0, 0, 0, 0, +4, +4, {0, 35000, 120000, 150000, 250000}, 2, 5, QString(), {QT_TR_NOOP(
"[Sleep]"), QT_TR_NOOP(
"[Poison]"), QT_TR_NOOP(
"[Confusion]"), QT_TR_NOOP(
"[Silence]"), QT_TR_NOOP(
"[Frog]"), QT_TR_NOOP(
"[Mini]")}
1102 QT_TR_NOOP(
"Typhon")
1103 , {QT_TR_NOOP(
"Typhon x1 (160mp)"), QT_TR_NOOP(
"Typhon x2 (160mp)"), QT_TR_NOOP(
"Typhon x3 (160mp)"), QT_TR_NOOP(
"Typhon x4 (160mp)"), QT_TR_NOOP(
"Typhon x5 (160mp)")}
1104 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+15% Mag:+4 Spi:+4"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1105 , 0x57, -10, +15, 0, 0, 0, 0, +4, +4, {0, 35000, 120000, 150000, 250000}, 2, 5, QT_TR_NOOP(
"[Wind]"), {QString()}
1108 QT_TR_NOOP(
"Bahamut ZERO")
1109 , {QT_TR_NOOP(
"Bahamut ZERO x1 (180mp)"), QT_TR_NOOP(
"Bahamut ZERO x2 (180mp)"), QT_TR_NOOP(
"Bahamut ZERO x3 (180mp)"), QT_TR_NOOP(
"Bahamut ZERO x4 (180mp)"), QT_TR_NOOP(
"Bahamut ZERO x5 (180mp)")}
1110 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+15% Mag:+4 Spi:+4"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1111 ,0x58, -10, +15, 0, 0, 0, 0, +4, +4, {0, 35000, 120000, 150000, 250000}, 2, 5, QString(), {QString()}
1114 QT_TR_NOOP(
"Knights of the Round")
1115 , {QT_TR_NOOP(
"Knights of the Round x1 (250mp)"), QT_TR_NOOP(
"Knights of the Round x2 (250mp)"), QT_TR_NOOP(
"Knights of the Round x3 (250mp)"), QT_TR_NOOP(
"Knights of the Round x4 (250mp)"), QT_TR_NOOP(
"Knights of the Round x5 (250mp)")}
1116 , QT_TR_NOOP(
"MaxHp:-10% MaxMp:+20% Mag:+8 Spi:+8"), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1117 , 0x59, -10, +20, 0, 0, 0, 0, +8, +8, {0, 50000, 200000, 300000, 500000}, 2, 5, QString(), {QString()}
1120 QT_TR_NOOP(
"Master Summon")
1122 , QString(), QStringLiteral(
":/materia/summon"), QStringLiteral(
":/materia/summon_star_empty"), QStringLiteral(
":/materia/summon_star_full")
1123 , 0x5A, 0, 0, 0, 0, 0, 0, 0, 0, {0xFFFFFF, 0, 0, 0, 0}, 2, 1, QString(), {QString()}