- Modified PA_GOSPEL so that the random damage attack becomes a BF_MISC attack.

- Added pc_resetskill when lowering job level and there's not enough skpoints to substract.
- Fixed compile error of SG_FUSION in pc.c
- Modified pc_resetskill to receive a flag to indicate if it should or not do status_calc_pc and send skill block updates. Meant to optimize performance when used in the middle of a larger update.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5269 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex
2006-02-13 16:54:24 +00:00
parent ff483b7810
commit 59e17a948b
9 changed files with 43 additions and 38 deletions

View File

@@ -523,7 +523,7 @@ int charcommand_reset(
if ((pl_sd = map_nick2sd(character)) != NULL) {
if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can reset a character only for lower or same GM level
pc_resetstate(pl_sd);
pc_resetskill(pl_sd);
pc_resetskill(pl_sd,1);
sprintf(output, msg_table[208], character); // '%s' skill and stats points reseted!
clif_displaymessage(fd, output);
} else {
@@ -1357,12 +1357,12 @@ int charcommand_joblevel(
pl_sd->status.job_level -= level;
clif_updatestatus(pl_sd, SP_JOBLEVEL);
clif_updatestatus(pl_sd, SP_NEXTJOBEXP);
if (pl_sd->status.skill_point > 0) {
pl_sd->status.skill_point -= level;
if (pl_sd->status.skill_point < 0)
pl_sd->status.skill_point = 0;
clif_updatestatus(pl_sd, SP_SKILLPOINT);
} // to add: remove status points from skills
if (pl_sd->status.skill_point < level)
pc_resetskill(pl_sd, 0); //Need more skill points to substract
pl_sd->status.skill_point -= level;
if (pl_sd->status.skill_point < 0)
pl_sd->status.skill_point = 0;
clif_updatestatus(pl_sd, SP_SKILLPOINT);
status_calc_pc(pl_sd, 0);
clif_displaymessage(fd, msg_table[69]); // Character's job level lowered.
}
@@ -1492,7 +1492,7 @@ int charcommand_skreset(
if ((pl_sd = map_nick2sd(player)) != NULL) {
if (pc_isGM(sd) >= pc_isGM(pl_sd)) { // you can reset skill points only lower or same gm level
pc_resetskill(pl_sd);
pc_resetskill(pl_sd,1);
sprintf(tmp_cmdoutput, msg_table[206], player); // '%s' skill points reseted!
clif_displaymessage(fd, tmp_cmdoutput);
} else {