diff options
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index f60594160..318aa3a99 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -11086,12 +11086,20 @@ void clif_parse_PMIgnoreList(int fd,struct map_session_data *sd) void clif_parse_NoviceDoriDori(int fd, struct map_session_data *sd) {
int level;
- if ((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE)
- sd->doridori_counter++;
-
- if ((sd->class_&MAPID_BASEMASK) == MAPID_TAEKWON
- && sd->state.rest && (level = pc_checkskill(sd,TK_SPTIME)))
- sc_start(&sd->bl,SkillStatusChangeTable(TK_SPTIME),100,level,skill_get_time(TK_SPTIME, level));
+ if (sd->state.doridori) return;
+
+ switch (sd->class_&MAPID_UPPERMASK)
+ {
+ case MAPID_TAEKWON:
+ if (!sd->state.rest)
+ break;
+ if (level = pc_checkskill(sd,TK_SPTIME))
+ sc_start(&sd->bl,SkillStatusChangeTable(TK_SPTIME),
+ 100,level,skill_get_time(TK_SPTIME, level));
+ case MAPID_SUPER_NOVICE:
+ sd->state.doridori=1;
+ break;
+ }
return;
}
/*==========================================
|