diff options
author | csnv <ctt@csnv.es> | 2015-07-05 20:35:59 +0200 |
---|---|---|
committer | csnv <ctt@csnv.es> | 2015-07-05 20:35:59 +0200 |
commit | 5c3c0e2ea9f74fc07ba3446e95cdd2869b5599c1 (patch) | |
tree | 196cb7a5fb61ad13d18bc5aad229e5964c329147 | |
parent | 0177783215ae97d08109f7af91a20b78b6a0df90 (diff) | |
download | hercules-5c3c0e2ea9f74fc07ba3446e95cdd2869b5599c1.tar.gz hercules-5c3c0e2ea9f74fc07ba3446e95cdd2869b5599c1.tar.bz2 hercules-5c3c0e2ea9f74fc07ba3446e95cdd2869b5599c1.tar.xz hercules-5c3c0e2ea9f74fc07ba3446e95cdd2869b5599c1.zip |
Fixes skill blocks overiding larger blocks
-rw-r--r-- | src/map/skill.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index c6233c31d..666af315a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -17905,6 +17905,9 @@ int skill_blockpc_start_(struct map_session_data *sd, uint16 skill_id, int tick) } if( i != cd->cursor ) {/* duplicate, update necessary */ + // Don't do anything if there's already a tick longer than the incoming one + if (DIFF_TICK32(cd->entry[i]->started + cd->entry[i]->duration, now) > tick) + return 0; cd->entry[i]->duration = tick; #if PACKETVER >= 20120604 cd->entry[i]->total = tick; |