From 6619e19b58fff810cdebc8e00c83a1b5c261214d Mon Sep 17 00:00:00 2001 From: ultramage Date: Mon, 23 Jul 2007 17:58:54 +0000 Subject: * Changed the restricting mapflag for @jump from nowarp/nowarpto to noteleport * Simplified the mapindex code a bit * Changed clif_skill_warppoint() so that now the '.gat' adding happens inside and doesn't have to be handled by the calling code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10901 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/map/clif.c') diff --git a/src/map/clif.c b/src/map/clif.c index 72295dc4c..df5e16532 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -4656,22 +4656,24 @@ int clif_skill_delunit(struct skill_unit *unit) /*========================================== * ワープ場所選択 *------------------------------------------*/ -int clif_skill_warppoint(struct map_session_data *sd,int skill_num,int skill_lv, - const char *map1,const char *map2,const char *map3,const char *map4) +int clif_skill_warppoint(struct map_session_data* sd, int skill_num, int skill_lv, int map1, int map2, int map3, int map4) { int fd; nullpo_retr(0, sd); + fd = sd->fd; - fd=sd->fd; WFIFOHEAD(fd,packet_len(0x11c)); - WFIFOW(fd,0)=0x11c; - WFIFOW(fd,2)=skill_num; - strncpy((char*)WFIFOP(fd, 4),map1,MAP_NAME_LENGTH_EXT); - strncpy((char*)WFIFOP(fd,20),map2,MAP_NAME_LENGTH_EXT); - strncpy((char*)WFIFOP(fd,36),map3,MAP_NAME_LENGTH_EXT); - strncpy((char*)WFIFOP(fd,52),map4,MAP_NAME_LENGTH_EXT); + WFIFOW(fd,0) = 0x11c; + WFIFOW(fd,2) = skill_num; + memset(WFIFOP(fd,4), 0x00, 4*MAP_NAME_LENGTH_EXT); + if (map1 == -1) strcpy((char*)WFIFOP(fd, 4), "Random"); + if (map1 > 0) snprintf((char*)WFIFOP(fd, 4), MAP_NAME_LENGTH_EXT, "%s.gat", mapindex_id2name(map1)); + if (map2 > 0) snprintf((char*)WFIFOP(fd,20), MAP_NAME_LENGTH_EXT, "%s.gat", mapindex_id2name(map2)); + if (map3 > 0) snprintf((char*)WFIFOP(fd,36), MAP_NAME_LENGTH_EXT, "%s.gat", mapindex_id2name(map3)); + if (map4 > 0) snprintf((char*)WFIFOP(fd,52), MAP_NAME_LENGTH_EXT, "%s.gat", mapindex_id2name(map4)); WFIFOSET(fd,packet_len(0x11c)); + sd->menuskill_id = skill_num; if (skill_num == AL_WARP) sd->menuskill_lv = (sd->ud.skillx<<16)|sd->ud.skilly; //Store warp position here. -- cgit v1.2.3-70-g09d2