diff options
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 5b99b7722..0a6decf22 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10738,6 +10738,11 @@ int skill_blockpc_start(struct map_session_data *sd, int skillid, int tick) if (skillid < 1 || skillid > MAX_SKILL) return -1; + if (tick < 1) { + sd->blockskill[skillid] = 0; + return -1; + } + sd->blockskill[skillid] = 1; return add_timer(gettick()+tick,skill_blockpc_end,sd->bl.id,skillid); } @@ -10755,7 +10760,7 @@ int skill_blockmerc_end (int tid, unsigned int tick, int id, int data) //[orn] int skill_blockmerc_start(struct homun_data *hd, int skillid, int tick) //[orn] { nullpo_retr (-1, hd); - + if (skillid >= GD_SKILLBASE) skillid = GD_SKILLRANGEMIN + skillid - GD_SKILLBASE; if (skillid >= HM_SKILLBASE) //[orn] @@ -10763,6 +10768,10 @@ int skill_blockmerc_start(struct homun_data *hd, int skillid, int tick) //[orn] if (skillid < 1 || skillid > MAX_SKILL) return -1; + if (tick < 1) { + hd->blockskill[skillid] = 0; + return -1; + } hd->blockskill[skillid] = 1; return add_timer(gettick()+tick,skill_blockmerc_end,hd->bl.id,skillid); } |