summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-30 14:11:23 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-30 14:11:23 +0000
commitc3c791815f1a75df92a4a11bfb1f4410dc3c9d57 (patch)
tree6af9eba8445a5a462eff3a463587a687c0a78029 /src/map/skill.c
parentc8db14a97b3d3ba0d8a255e57d941968e265ef1c (diff)
downloadhercules-c3c791815f1a75df92a4a11bfb1f4410dc3c9d57.tar.gz
hercules-c3c791815f1a75df92a4a11bfb1f4410dc3c9d57.tar.bz2
hercules-c3c791815f1a75df92a4a11bfb1f4410dc3c9d57.tar.xz
hercules-c3c791815f1a75df92a4a11bfb1f4410dc3c9d57.zip
- Updated HLIF_CHANGE to work as explained by Tharis -> It now adds 30*lv vit and 20*lv int, is dispelled on warp, and can-act delay is 5+5*lv minutes. Hp/Sp is no longer set to 10 after a forced expiration.
- Added instant skill unblock in skill_[merc/pc]block_start when the duration passed is less than 1. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8547 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c11
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);
}