From 0521cef44f741f120f3ba0e8573653a2f018c048 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 31 Mar 2006 15:53:36 +0000 Subject: - Fixed an infinite recursion in the Wedding Recall skills. - UNT_ATTACK_SKILLS unit packets won't be sent to the client as they are supposed to be invisible anyway. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5828 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ src/map/clif.c | 3 +++ src/map/skill.c | 18 ++++++++++++------ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 004ef00f7..9c57eb08d 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/03/31 + * Fixed an infinite recursion in the Wedding Recall skills. [Skotlex] + * UNT_ATTACK_SKILLS unit packets won't be sent to the client as they are + supposed to be invisible anyway. [Skotlex] * Started work on commands for the IRC Bot, At the moment you can use !eakami to broadcast a message, edit ALLOWED_NICK in irc.c to change the nickname of the person that is allowed to use it (Shitty authentication method, I know, diff --git a/src/map/clif.c b/src/map/clif.c index 8e09d81d3..676f7c707 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -5311,6 +5311,9 @@ int clif_skill_setunit(struct skill_unit *unit) bl=map_id2bl(unit->group->src_id); + if (unit->group->unit_id == UNT_ATTACK_SKILLS) + return 0; //These are invisible client-side. [Skotlex] + #if PACKETVER < 3 memset(WBUFP(buf, 0),0,packet_len_table[0x11f]); WBUFW(buf, 0)=0x11f; diff --git a/src/map/skill.c b/src/map/skill.c index 84ba770df..43c575e75 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7300,12 +7300,18 @@ int skill_unit_onlimit(struct skill_unit *src,unsigned int tick) case UNT_CALLFAMILY: /* ‚ ‚È‚½‚É?‚¢‚½‚¢ */ { struct map_session_data *sd = NULL; - if(sg->val1 && (sd = map_charid2sd(sg->val1)) - && !map[sd->bl.m].flag.nowarp) - pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3); - if(sg->val2 && (sd = map_charid2sd(sg->val2)) - && !map[sd->bl.m].flag.nowarp) - pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3); + if(sg->val1) { + sd = map_charid2sd(sg->val1); + sg->val1 = 0; + if (sd && !map[sd->bl.m].flag.nowarp) + pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3); + } + if(sg->val2) { + sd = map_charid2sd(sg->val2); + sg->val2 = 0; + if (sd && !map[sd->bl.m].flag.nowarp) + pc_setpos(sd,map[src->bl.m].index,src->bl.x,src->bl.y,3); + } } break; } -- cgit v1.2.3-70-g09d2