… | |
… | |
113 | |
113 | |
114 | exp = (ob->stats.maxhp < 5) ? 5 : ob->stats.maxhp; |
114 | exp = (ob->stats.maxhp < 5) ? 5 : ob->stats.maxhp; |
115 | exp *= (QUERY_FLAG (ob, FLAG_CAST_SPELL) && has_ability (ob)) ? (40 + (ob->stats.maxsp > 80 ? 80 : ob->stats.maxsp)) / 40 : 1; |
115 | exp *= (QUERY_FLAG (ob, FLAG_CAST_SPELL) && has_ability (ob)) ? (40 + (ob->stats.maxsp > 80 ? 80 : ob->stats.maxsp)) / 40 : 1; |
116 | exp *= (80.0 / (70.0 + ob->stats.wc)) * (80.0 / (70.0 + ob->stats.ac)) * (50.0 + ob->stats.dam) / 50.0; |
116 | exp *= (80.0 / (70.0 + ob->stats.wc)) * (80.0 / (70.0 + ob->stats.ac)) * (50.0 + ob->stats.dam) / 50.0; |
117 | exp *= att_mult * prot_mult * spec_mult; |
117 | exp *= att_mult * prot_mult * spec_mult; |
118 | exp *= 2.0 / (2.0 - ((FABS (ob->speed) < 0.95) ? FABS (ob->speed) : 0.95)); |
118 | exp *= 2.0 / (2.0 - ((fabs (ob->speed) < 0.95) ? fabs (ob->speed) : 0.95)); |
119 | exp *= (20.0 + ob->stats.Con) / 20.0; |
119 | exp *= (20.0 + ob->stats.Con) / 20.0; |
120 | if (QUERY_FLAG (ob, FLAG_STAND_STILL)) |
120 | if (QUERY_FLAG (ob, FLAG_STAND_STILL)) |
121 | exp /= 2; |
121 | exp /= 2; |
122 | |
122 | |
123 | return (int) exp; |
123 | return (int) exp; |