diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-08 18:25:51 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-08 18:25:51 +0000 |
commit | 655384295651f8611b0caa2022cbceac073c1b4d (patch) | |
tree | 52e83e9a3b8f9e83e5b0c13cc1e0d867805b79da /src/map/skill.c | |
parent | 7d405eceea92418239dadaaad37f7c38e26aab25 (diff) | |
download | hercules-655384295651f8611b0caa2022cbceac073c1b4d.tar.gz hercules-655384295651f8611b0caa2022cbceac073c1b4d.tar.bz2 hercules-655384295651f8611b0caa2022cbceac073c1b4d.tar.xz hercules-655384295651f8611b0caa2022cbceac073c1b4d.zip |
- Spider web can again be recasted on target.
- Modified Spider Web so it can instantly retrap a target, rather than idling on the ground waiting for a new target.
- Cleaned up some the rude-attacked code, being attacked while under spider web now triggers rude-attacked.
- Sped up the FrostJoke/Scream message length chat check.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9828 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index cdba67d5f..f5283b9d8 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7173,9 +7173,9 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns case UNT_SPIDERWEB: case UNT_ANKLESNARE: - if(sg->val2==0 && tsc && tsc->data[type].timer==-1){ + if(sg->val2==0 && tsc){ int sec = skill_get_time2(sg->skill_id,sg->skill_lv); - if (sc_start(bl,type,100,sg->skill_lv,sec)) + if (sc_start2(bl,type,100,sg->skill_lv,sg->group_id,sec)) { struct TimerData* td = get_timer(tsc->data[type].timer); if (td) sec = DIFF_TICK(td->tick, tick); @@ -7447,7 +7447,8 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, unsigned in struct block_list *target = map_id2bl(sg->val2); if (target && target==bl) { - status_change_end(bl,SC_SPIDERWEB,-1); + if (sc && sc->data[type].timer!=-1 && sc->data[type].val2 == sg->group_id) + status_change_end(bl,type,-1); sg->limit = DIFF_TICK(tick,sg->tick)+1000; } break; |