summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-13 16:54:24 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-13 16:54:24 +0000
commit7751fc21990d18f215dff82669a470b7c3660b11 (patch)
treefa1816a802c506ef88ca73f0492340423da64df1 /src/map/atcommand.c
parent996f20c134b0aa6de62b06b286b626b950527479 (diff)
downloadhercules-7751fc21990d18f215dff82669a470b7c3660b11.tar.gz
hercules-7751fc21990d18f215dff82669a470b7c3660b11.tar.bz2
hercules-7751fc21990d18f215dff82669a470b7c3660b11.tar.xz
hercules-7751fc21990d18f215dff82669a470b7c3660b11.zip
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5269 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 99c13339d..4527ae42e 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -2710,7 +2710,6 @@ int atcommand_baselevelup(
sd->status.base_level += level;
clif_updatestatus(sd, SP_BASELEVEL);
clif_updatestatus(sd, SP_NEXTBASEEXP);
- pc_resetskill(sd); /* Skills are reset */
status_calc_pc(sd, 0);
clif_displaymessage(fd, msg_table[22]); /* Base level lowered. */
}
@@ -2761,12 +2760,12 @@ int atcommand_joblevelup(
sd->status.job_level -= level;
clif_updatestatus(sd, SP_JOBLEVEL);
clif_updatestatus(sd, SP_NEXTJOBEXP);
- if (sd->status.skill_point > 0) {
- sd->status.skill_point -= level;
- if (sd->status.skill_point < 0)
- sd->status.skill_point = 0;
- clif_updatestatus(sd, SP_SKILLPOINT);
- } // to add: remove status points from skills
+ if (sd->status.skill_point < level)
+ pc_resetskill(sd,0); //Reset skills since we need to substract more points.
+ sd->status.skill_point -= level;
+ if (sd->status.skill_point < 0)
+ sd->status.skill_point = 0;
+ clif_updatestatus(sd, SP_SKILLPOINT);
status_calc_pc(sd, 0);
clif_displaymessage(fd, msg_table[25]); // Job level lowered.
}