summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-08 18:25:51 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-08 18:25:51 +0000
commit655384295651f8611b0caa2022cbceac073c1b4d (patch)
tree52e83e9a3b8f9e83e5b0c13cc1e0d867805b79da /src/map/skill.c
parent7d405eceea92418239dadaaad37f7c38e26aab25 (diff)
downloadhercules-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.c7
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;