From 1e1fee4e8e3c9cc5636afcbeeacd9e833a9aecd7 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 7 Jul 2006 18:21:49 +0000 Subject: - Some cleaning of the Sage endow skills. - Added a check to free a character from memory when changing map servers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7571 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/chrif.c | 4 ++++ src/map/clif.c | 2 +- src/map/skill.c | 7 ++++--- 3 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/map') diff --git a/src/map/chrif.c b/src/map/chrif.c index 0e11c6741..9e98b5eb9 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -382,6 +382,10 @@ int chrif_changemapserverack(int fd) return 0; } clif_changemapserver(sd, (char*)mapindex_id2name(RFIFOW(fd,18)), RFIFOW(fd,20), RFIFOW(fd,22), RFIFOL(fd,24), RFIFOW(fd,28)); + + //Player has been saved already, remove him from memory. [Skotlex] + map_quit(sd); + map_quit_ack(sd); return 0; } diff --git a/src/map/clif.c b/src/map/clif.c index 69dabc00e..e0ddc6504 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1774,7 +1774,7 @@ int clif_changemapserver(struct map_session_data *sd, char *mapname, int x, int WFIFOL(fd,22) = ip; WFIFOW(fd,26) = port; WFIFOSET(fd, packet_len_table[0x92]); - + return 0; } diff --git a/src/map/skill.c b/src/map/skill.c index 5c020b76d..fea16d55f 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3545,9 +3545,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in pc_delitem(sd, i, skill_db[skillid].amount[0], 0); } // 100% success rate at lv4 & 5, but lasts longer at lv5 - i = skilllv <4?(60+skilllv*10):100; - i = sc_start(bl,type,i,skilllv,skill_get_time(skillid,skilllv)); - if(!i) { + if(!clif_skill_nodamage(src,bl,skillid,skilllv, + sc_start(bl,type,(60+skilllv*10),skilllv, + skill_get_time(skillid,skilllv))) + ) { if (sd) clif_skill_fail(sd,skillid,0,0); if (skill_break_equip(bl, EQP_WEAPON, 10000, BCT_PARTY) && sd && sd != dstsd) -- cgit v1.2.3-60-g2f50