summaryrefslogtreecommitdiff
path: root/src/map/pc.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/pc.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/pc.c')
-rw-r--r--src/map/pc.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index 9e8467c33..1800c74ea 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -5065,13 +5065,8 @@ int pc_resetlvl(struct map_session_data* sd,int type)
nullpo_retr(0, sd);
- if (type != 3) {
- for(i=1;i<MAX_SKILL;i++){
- if (sd->status.skill[i].lv &&
- !skill_get_inf2(i)&INF2_WEDDING_SKILL) //Do not reset Wedding Skills. [Skotlex]
- sd->status.skill[i].lv = 0;
- }
- }
+ if (type != 3) //Also reset skills
+ pc_resetskill(sd, 0);
if(type == 1){
sd->status.skill_point=0;
@@ -5142,8 +5137,8 @@ int pc_resetlvl(struct map_session_data* sd,int type)
//Send map-change packet to do a level range check and break party settings. [Skotlex]
party_send_movemap(sd);
}
- clif_skillinfoblock(sd);
status_calc_pc(sd,0);
+ clif_skillinfoblock(sd);
return 0;
}
@@ -5205,9 +5200,10 @@ int pc_resetstate(struct map_session_data* sd)
/*==========================================
* /resetskill
+ * if flag is 1, perform block resync and status_calc call.
*------------------------------------------
*/
-int pc_resetskill(struct map_session_data* sd)
+int pc_resetskill(struct map_session_data* sd, int flag)
{
int i, skill, inf2;
nullpo_retr(0, sd);
@@ -5236,9 +5232,11 @@ int pc_resetskill(struct map_session_data* sd)
sd->status.skill[i].lv = 0;
}
}
- clif_updatestatus(sd,SP_SKILLPOINT);
- clif_skillinfoblock(sd);
- status_calc_pc(sd,0);
+ if (flag) {
+ clif_updatestatus(sd,SP_SKILLPOINT);
+ clif_skillinfoblock(sd);
+ status_calc_pc(sd,0);
+ }
return 0;
}