Fixed @showmobs not working due to a mistake in r12436 (bugreport:1487)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12699 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2008-05-10 06:27:20 +00:00
parent 14017b0f8a
commit 47cb29c556
2 changed files with 48 additions and 44 deletions

View File

@ -3,6 +3,8 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/05/10
* Fixed @showmobs not working (bugreport:1487)
2008/05/09 2008/05/09
* Added correct extended info packets for items that are being moved * Added correct extended info packets for items that are being moved
into storage or cart. This caused items to visually lose their into storage or cart. This caused items to visually lose their

View File

@ -6990,76 +6990,78 @@ int atshowmobs_timer(int tid, unsigned int tick, int id, intptr data)
if( sd == NULL ) if( sd == NULL )
return 0; return 0;
// remove indicator
clif_viewpoint(sd, 1, 2, 0, 0, (int)data, 0xFFFFFF); clif_viewpoint(sd, 1, 2, 0, 0, (int)data, 0xFFFFFF);
return 1; return 1;
} }
static int atshowmobs_sub(struct block_list *bl,va_list ap) static int atshowmobs_sub(struct block_list *bl,va_list ap)
{ {
int mob_id,fd; int mob_id;
struct map_session_data* sd; struct map_session_data* sd;
static int number=0; static int number=0;
struct mob_data *md; struct mob_data *md;
if(!ap){ if(!ap){
number=0; number=0;
return 0; return 0;
} }
mob_id = va_arg(ap,int); mob_id = va_arg(ap,int);
fd = va_arg(ap,int); sd = va_arg(ap,struct map_session_data*);
sd = va_arg(ap,struct map_session_data*);
md = (struct mob_data *)bl; md = (struct mob_data *)bl;
if(md->special_state.ai || md->master_id) if(md->special_state.ai || md->master_id)
return 0; //Hide slaves and player summoned mobs. [Skotlex] return 0; //Hide slaves and player summoned mobs. [Skotlex]
if(fd && (mob_id==-1 || (md->class_==mob_id))){ if(mob_id==-1 || md->class_==mob_id){
clif_viewpoint(sd, 1, 1, bl->x, bl->y, ++number, 0xFFFFFF); clif_viewpoint(sd, 1, 1, bl->x, bl->y, ++number, 0xFFFFFF);
add_timer(gettick()+5000, atshowmobs_timer, fd, number); add_timer(gettick()+5000, atshowmobs_timer, sd->bl.id, number);
} }
return 0; return 0;
} }
int atcommand_showmobs(const int fd, struct map_session_data* sd, const char* command, const char* message) int atcommand_showmobs(const int fd, struct map_session_data* sd, const char* command, const char* message)
{ {
char mob_name[100]; char mob_name[100];
int mob_id,map_id = 0; int mob_id,map_id = 0;
nullpo_retr(-1, sd); nullpo_retr(-1, sd);
if (sscanf(message, "%99[^\n]", mob_name) < 0) if(sscanf(message, "%99[^\n]", mob_name) < 0)
return -1; return -1;
if ((mob_id = atoi(mob_name)) == 0) if((mob_id = atoi(mob_name)) == 0)
mob_id = mobdb_searchname(mob_name); mob_id = mobdb_searchname(mob_name);
if(mob_id > 0 && mobdb_checkid(mob_id) == 0){ if(mob_id > 0 && mobdb_checkid(mob_id) == 0){
snprintf(atcmd_output, sizeof atcmd_output, "Invalid mob id %s!",mob_name); snprintf(atcmd_output, sizeof atcmd_output, "Invalid mob id %s!",mob_name);
clif_displaymessage(fd, atcmd_output); clif_displaymessage(fd, atcmd_output);
return 0; return 0;
} }
// Uncomment the following line to show mini-bosses & MVP. // Uncomment the following line to show mini-bosses & MVP.
//#define SHOW_MVP //#define SHOW_MVP
#ifndef SHOW_MVP #ifndef SHOW_MVP
if(mob_db(mob_id)->status.mode&MD_BOSS){ if(mob_db(mob_id)->status.mode&MD_BOSS){
snprintf(atcmd_output, sizeof atcmd_output, "Can't show Boss mobs!"); snprintf(atcmd_output, sizeof atcmd_output, "Can't show Boss mobs!");
clif_displaymessage(fd, atcmd_output); clif_displaymessage(fd, atcmd_output);
return 0; return 0;
} }
#endif #endif
if(mob_id == atoi(mob_name) && mob_db(mob_id)->jname) if(mob_id == atoi(mob_name) && mob_db(mob_id)->jname)
strcpy(mob_name,mob_db(mob_id)->jname); // --ja-- strcpy(mob_name,mob_db(mob_id)->jname); // --ja--
// strcpy(mob_name,mob_db(mob_id)->name); // --en-- //strcpy(mob_name,mob_db(mob_id)->name); // --en--
map_id = sd->bl.m; map_id = sd->bl.m;
snprintf(atcmd_output, sizeof atcmd_output, "Mob Search... %s %s", snprintf(atcmd_output, sizeof atcmd_output, "Mob Search... %s %s",
mob_name, mapindex_id2name(sd->mapindex)); mob_name, mapindex_id2name(sd->mapindex));
clif_displaymessage(fd, atcmd_output); clif_displaymessage(fd, atcmd_output);
map_foreachinmap(atshowmobs_sub, map_id, BL_MOB, mob_id, fd, sd); map_foreachinmap(atshowmobs_sub, map_id, BL_MOB, mob_id, sd);
atshowmobs_sub(&sd->bl,0); atshowmobs_sub(&sd->bl,0);
return 0; return 0;
} }
/*========================================== /*==========================================