18 #include <QCoreApplication> 25 QPixmap
FF7Char::pixmap(
int who){
if(who>=0x00 && who<0x0B){
return QPixmap(
Chars[who]._avatarString);}
else{
return QPixmap();}}
26 QImage
FF7Char::image(
int who) {
if(who>=0x00 && who<0x0B){
return QImage(
Chars[who]._avatarString);}
else{
return QImage();}}
44 QStringList translated_list;
47 translated_list.append(qApp->translate(
"Char_Limits",
Chars[who].
_limits.at(j).toLocal8Bit()));
49 return translated_list;
60 if(stat_amount==0){stat_amount = 1;}
61 if(next_lvl>=2 && next_lvl<=11){lvl_bracket=0;}
62 else if(next_lvl>=12 && next_lvl<=21){lvl_bracket=1;}
63 else if(next_lvl>=22 && next_lvl<=31){lvl_bracket=2;}
64 else if(next_lvl>=32 && next_lvl<=41){lvl_bracket=3;}
65 else if(next_lvl>=42 && next_lvl<=51){lvl_bracket=4;}
66 else if(next_lvl>=52 && next_lvl<=61){lvl_bracket=5;}
67 else if(next_lvl>=62 && next_lvl<=81){lvl_bracket=6;}
68 else if(next_lvl>=82 && next_lvl<=99){lvl_bracket=7;}
76 else if(stat==6){baseline_stat =
hp_base(who,lvl_bracket) + (next_lvl -1) *
hp_gradent(who,lvl_bracket);}
77 else if(stat==7){baseline_stat =
mp_base(who,lvl_bracket) + ((next_lvl -1) *
mp_gradent(who,lvl_bracket)/10);}
82 if(current_lvl < next_lvl) {diff = ((qrand() %8)+1) + (baseline_stat - stat_amount);}
83 else {diff = ((qrand() %8)+1) - baseline_stat + stat_amount;}
85 else if(diff<7){gain=1;}
86 else if(diff<10){gain=2;}
92 if(current_lvl < next_lvl){diff = ((qrand()%8)+1) + (100* baseline_stat/stat_amount)-100;}
93 else if (baseline_stat != 0){diff = ((qrand()%8)+1) + (100* stat_amount/baseline_stat)-100;}
94 if(diff==0){gain =
hp_gradent(who,lvl_bracket)*0.40;}
95 else if (diff==1){gain =
hp_gradent(who,lvl_bracket)*.50;}
96 else if (diff==2){gain =
hp_gradent(who,lvl_bracket)*.50;}
97 else if (diff==3){gain =
hp_gradent(who,lvl_bracket)*.60;}
98 else if (diff==4){gain =
hp_gradent(who,lvl_bracket)*.70;}
99 else if (diff==5){gain =
hp_gradent(who,lvl_bracket)*.80;}
100 else if (diff==6){gain =
hp_gradent(who,lvl_bracket)*.90;}
101 else if (diff==7){gain =
hp_gradent(who,lvl_bracket)*1.00;}
102 else if (diff==8){gain =
hp_gradent(who,lvl_bracket)*1.10;}
103 else if (diff==9){gain =
hp_gradent(who,lvl_bracket)*1.20;}
104 else if (diff==10){gain =
hp_gradent(who,lvl_bracket)*1.30;}
105 else if (diff>=11){gain =
hp_gradent(who,lvl_bracket)*1.50;}
110 if(current_lvl < next_lvl) {diff = ((qrand()%8)+1) + (100* baseline_stat/stat_amount)-100;}
111 else if (baseline_stat != 0){diff = ((qrand()%8)+1) + (100* stat_amount/baseline_stat)-100;}
112 if(diff ==0){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*0.20;}
113 else if (diff==1){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*.30;}
114 else if (diff==2){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*.30;}
115 else if (diff==3){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*.50;}
116 else if (diff==4){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*.70;}
117 else if (diff==5){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*.80;}
118 else if (diff==6){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*.90;}
119 else if (diff==7){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*1.00;}
120 else if (diff==8){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*1.10;}
121 else if (diff==9){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*1.20;}
122 else if (diff==10){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*1.40;}
123 else if (diff>=11){gain = ((next_lvl*
mp_gradent(who,lvl_bracket)/10)-((next_lvl-1)*
mp_gradent(who,lvl_bracket)/10))*1.60;}
QImage image(int who)
Menu icon for a character.
int statGain(int who, int stat, int stat_amount, int current_lvl, int next_lvl)
how much to increase stat on level up
int numberOfWeapons(int who)
number of weapons for a Character
static const Character Chars[11]
Chars[] Holds data for each character in Final Fantasy 7.
QString defaultName(int who)
default name for a character
int weaponStartingId(int who)
find what item id is the first weapon for a Character
quint8 hp_gradent(int who, int lvl_bracket)
characters mp gradent for set of levels
quint8 stat_base(int rank, int lvl_bracket)
base stat for rank in a set of levels
quint32 tnlForLevel(int who, int level)
experance needed to level up
int luck_base(int who, int lvl_bracket)
characters base luck for set of levels
QIcon icon(int who)
Menu icon for a character.
quint8 luck_gradent(int who, int lvl_bracket)
characters luck gradent for set of levels
int mp_base(int who, int lvl_bracket)
characters base mp for set of levels
quint8 stat_grade(int who, int stat)
characters grade in a stat
int weaponOffset(int who)
find what weapon number is the first weapon for a Character
int hp_base(int who, int lvl_bracket)
characters base hp for set of levels
static const quint8 _stat_gradent[30][8]
QStringList limits(int who)
Limit list for a character.
quint8 mp_gradent(int who, int lvl_bracket)
characters mp gradent for set of levels
static const quint8 _stat_base[30][8]
quint8 id(int who)
get id value for Character
QPixmap pixmap(int who)
Menu icon for a character.
quint32 totalExpForLevel(int who, int level)
Exp needed to reach a level.
quint8 stat_gradent(int rank, int lvl_bracket)
characters mp gradent for set of levels