version 1.44 | | version 1.45 |
---|
| | |
/* | | /* |
* static char *rcsid_skill_util_c = | | * static char *rcsid_skill_util_c = |
* "$Id: skill_util.c,v 1.44 2004/01/16 21:17:02 ryo_saeba Exp $"; | | * "$Id: skill_util.c,v 1.45 2004/02/13 07:42:09 mwedel Exp $"; |
*/ | | */ |
/* | | /* |
CrossFire, A Multiplayer game for X-windows | | CrossFire, A Multiplayer game for X-windows |
| | |
if (settings.use_permanent_experience) { | | if (settings.use_permanent_experience) { |
#ifdef WIN32 | | #ifdef WIN32 |
sprintf(skills[num_skills_found++],"%slvl:%3d (xp:%I64d/%I64d/%d%%)", | | sprintf(skills[num_skills_found++],"%slvl:%3d (xp:%I64d/%I64d/%d%%)", |
| | buf,tmp->level, |
| | tmp->stats.exp, |
| | level_exp(tmp->level+1, op->expmul), |
| | clipped_percent(tmp->last_heal,tmp->stats.exp)); |
#else | | #else |
sprintf(skills[num_skills_found++],"%slvl:%3d (xp:%lld/%lld/%d%%)", | | sprintf(skills[num_skills_found++],"%slvl:%3d (xp:%lld/%lld/%d%%)", |
#endif | | |
buf,tmp->level, | | buf,tmp->level, |
tmp->stats.exp, | | tmp->stats.exp, |
level_exp(tmp->level+1, op->expmul), | | level_exp(tmp->level+1, op->expmul), |
clipped_percent(tmp->last_heal,tmp->stats.exp)); | | clipped_percent(tmp->last_heal,tmp->stats.exp)); |
| | #endif |
} else { | | } else { |
#ifdef WIN32 | | #ifdef WIN32 |
sprintf(skills[num_skills_found++], "%slvl:%3d (xp:%I64d/%I64d)", | | sprintf(skills[num_skills_found++], "%slvl:%3d (xp:%I64d/%I64d)", |
| | buf,tmp->level, |
| | tmp->stats.exp, |
| | level_exp(tmp->level+1, op->expmul)); |
#else | | #else |
sprintf(skills[num_skills_found++], "%slvl:%3d (xp:%lld/%lld)", | | sprintf(skills[num_skills_found++], "%slvl:%3d (xp:%lld/%lld)", |
#endif | | |
buf,tmp->level, | | buf,tmp->level, |
tmp->stats.exp, | | tmp->stats.exp, |
level_exp(tmp->level+1, op->expmul)); | | level_exp(tmp->level+1, op->expmul)); |
| | #endif |
| | } |
| | /* I don't know why some characters get a bunch of skills, but |
| | * it sometimes happens (maybe a leftover from bugier earlier code |
| | * and those character are still about). In any case, lets handle |
| | * it so it doesn't crash the server - otherwise, one character may |
| | * crash the server numerous times. |
| | */ |
| | if (num_skills_found >= NUM_SKILLS) { |
| | new_draw_info(NDI_RED, 0, op, "Your character has too many skills."); |
| | new_draw_info(NDI_RED, 0, op, "Something isn't right - contact the server admin"); |
| | break; |
} | | } |
} | | } |
} | | } |