From 4c0b6e20600032b95b6ff4b0add236f44daabb3c Mon Sep 17 00:00:00 2001 From: ultramage Date: Sat, 27 Oct 2007 12:45:12 +0000 Subject: Removed 'petid', a command from r284 to look up pet ids by name. Cleaned up some pet-related code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11586 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/atcommand.c | 40 --------------------------- src/map/pet.c | 80 +++++++++++++++++++++++++---------------------------- src/map/pet.h | 2 +- src/map/skill.c | 9 ++---- 4 files changed, 41 insertions(+), 90 deletions(-) (limited to 'src') diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 045448888..8a23c9d05 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -201,7 +201,6 @@ ACMD_FUNC(uptime); // by MC Cameri ACMD_FUNC(changesex); // by MC Cameri ACMD_FUNC(mute); // celest ACMD_FUNC(refresh); // by MC Cameri -ACMD_FUNC(petid); // by MC Cameri ACMD_FUNC(identify); // by MC Cameri ACMD_FUNC(gmotd); // Added by MC Cameri, created by davidsiaw ACMD_FUNC(misceffect); // by MC Cameri @@ -486,7 +485,6 @@ static AtCommandInfo atcommand_info[] = { { AtCommand_Mute, "@mute", 80, atcommand_mute }, // [celest] { AtCommand_WhoZeny, "@whozeny", 20, atcommand_whozeny }, // [Valaris] { AtCommand_Refresh, "@refresh", 1, atcommand_refresh }, // by MC Cameri - { AtCommand_PetId, "@petid", 40, atcommand_petid }, // by MC Cameri { AtCommand_Identify, "@identify", 40, atcommand_identify }, // by MC Cameri { AtCommand_Gmotd, "@gmotd", 20, atcommand_gmotd }, // Added by MC Cameri, created by davidsiaw { AtCommand_MiscEffect, "@misceffect", 50, atcommand_misceffect }, // by MC Cameri @@ -7591,44 +7589,6 @@ int atcommand_refresh(const int fd, struct map_session_data* sd, const char* com return 0; } -/*========================================== - * @petid - * => Displays a list of matching pets. - *------------------------------------------*/ -int atcommand_petid(const int fd, struct map_session_data* sd, const char* command, const char* message) -{ - char searchtext[100]; - char temp0[100]; - int cnt = 0, i = 0; - - nullpo_retr(-1, sd); - - if (!message || !*message || sscanf(message, "%99s", searchtext) < 1) - { - clif_displaymessage(fd, "Please, enter a pet name (usage: @petid )."); - return -1; - } - - snprintf(temp0, sizeof(temp0), "First %i search results for: %s", MAX_SEARCH, searchtext); - clif_displaymessage(fd,temp0); - - for (i = 0; i < MAX_PET_DB; i++) - { - if (stristr(pet_db[i].name, searchtext) || stristr(pet_db[i].jname, searchtext)) - { - cnt++; - if (cnt <= MAX_SEARCH) { // limits the number of search results - snprintf(temp0, sizeof(temp0), "ID: %i -- Name: %s", pet_db[i].class_, pet_db[i].jname); - clif_displaymessage(fd, temp0); - } - } - } - - snprintf(temp0, sizeof(temp0), "%i pets have '%s' in their name.", cnt, searchtext); - clif_displaymessage(fd, temp0); - return 0; -} - /*========================================== * @identify * => GM's magnifier. diff --git a/src/map/pet.c b/src/map/pet.c index 302669632..606e29d31 100644 --- a/src/map/pet.c +++ b/src/map/pet.c @@ -6,6 +6,7 @@ #include "../common/nullpo.h" #include "../common/malloc.h" #include "../common/showmsg.h" +#include "../common/strlib.h" #include "../common/utils.h" #include "../common/ers.h" @@ -23,7 +24,7 @@ #include "script.h" #include "skill.h" #include "unit.h" -#include "atcommand.h" +#include "atcommand.h" // msg_txt() #include #include @@ -279,30 +280,16 @@ int search_petDB_index(int key,int type) { int i; - for(i=0;i0) - continue; - ShowError("can't read %s\n",line); - return -1; + if( fp == NULL ) + { + if( i == 0 ) + ShowError("can't read %s\n",line); + continue; } + lines = 0; - while(fgets(line, sizeof(line), fp) && j < MAX_PET_DB) + while( fgets(line, sizeof(line), fp) && j < MAX_PET_DB ) { + char *str[32],*p,*np; + lines++; if(line[0] == '/' && line[1] == '/') continue; + // split string into table columns for(k=0,p=line;k<20;k++){ if((np=strchr(p,','))!=NULL){ str[k]=p; @@ -1307,8 +1300,8 @@ int read_petdb() } pet_db[j].class_ = nameid; - strncpy(pet_db[j].name,str[1],NAME_LENGTH); - strncpy(pet_db[j].jname,str[2],NAME_LENGTH); + safestrncpy(pet_db[j].name,str[1],NAME_LENGTH); + safestrncpy(pet_db[j].jname,str[2],NAME_LENGTH); pet_db[j].itemID=atoi(str[3]); pet_db[j].EggID=atoi(str[4]); pet_db[j].AcceID=atoi(str[5]); @@ -1334,7 +1327,8 @@ int read_petdb() pet_db[j].script = parse_script(np, filename[i], lines, 0); j++; } - if (j >= MAX_PET_DB) + + if( j >= MAX_PET_DB ) ShowWarning("read_petdb: Reached max number of pets [%d]. Remaining pets were not read.\n ", MAX_PET_DB); fclose(fp); ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' pets in '"CL_WHITE"%s"CL_RESET"'.\n",j,filename[i]); @@ -1367,7 +1361,7 @@ int do_init_pet(void) int do_final_pet(void) { int i; - for(i = 0;i < MAX_PET_DB; i++) { + for( i = 0; i < MAX_PET_DB; i++ ) { if(pet_db[i].script) { script_free_code(pet_db[i].script); pet_db[i].script = NULL; diff --git a/src/map/pet.h b/src/map/pet.h index 8ecf94d93..c1c27b105 100644 --- a/src/map/pet.h +++ b/src/map/pet.h @@ -5,7 +5,7 @@ #define _PET_H_ #define MAX_PET_DB 300 -#define MAX_PETLOOT_SIZE 30 // [Valaris] - Changed to MAX_PETLOOT_SIZE [Skotlex] +#define MAX_PETLOOT_SIZE 30 struct s_pet_db { short class_; diff --git a/src/map/skill.c b/src/map/skill.c index d9518d9bf..98db18af9 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3772,12 +3772,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case SA_TAMINGMONSTER: clif_skill_nodamage(src,bl,skillid,skilllv,1); if (sd && dstmd) { - for (i = 0; i < MAX_PET_DB; i++) { - if (dstmd->class_ == pet_db[i].class_) { - pet_catch_process1 (sd, dstmd->class_); - break; - } - } + ARR_FIND( 0, MAX_PET_DB, i, dstmd->class_ == pet_db[i].class_ ); + if( i < MAX_PET_DB ) + pet_catch_process1(sd, dstmd->class_); } break; -- cgit v1.2.3-70-g09d2