From ba16e1a787491cddbf54e8749a05520a36b71ea9 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 10 Jul 2013 23:01:07 -0300 Subject: Fix to skill_blockpc_end Duplicate indexes would not be cleared, causing array to gradually increase in size. Thanks to ToiletMaster for providing extra information. Signed-off-by: shennetsind --- src/map/skill.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/map') diff --git a/src/map/skill.c b/src/map/skill.c index 7b6652dda..deb6643c1 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -16969,7 +16969,6 @@ int skill_blockpc_end(int tid, unsigned int tick, int id, intptr_t data) { if (data <= 0 || data >= MAX_SKILL) return 0; if (!sd) return 0; - if (sd->blockskill[data] != (0x1|(tid&0xFE))) return 0; if( ( cd = idb_get(skill->cd_db,sd->status.char_id) ) ) { int i; @@ -17002,6 +17001,8 @@ int skill_blockpc_end(int tid, unsigned int tick, int id, intptr_t data) { } } } + + if (sd->blockskill[data] != (0x1|(tid&0xFE))) return 0; sd->blockskill[data] = 0; return 1; -- cgit v1.2.3-60-g2f50