diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-08-26 18:02:40 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-08-26 18:02:40 +0800 |
commit | cccc5bc9256b196b1f4e9ad881838ad32c8b3424 (patch) | |
tree | 4567d16e2293781ed5611be54bfbff48e173ca76 /src/map/mob.c | |
parent | 04139592739a69aafe6cffb0ec52f65d50efb1fa (diff) | |
download | hercules-cccc5bc9256b196b1f4e9ad881838ad32c8b3424.tar.gz hercules-cccc5bc9256b196b1f4e9ad881838ad32c8b3424.tar.bz2 hercules-cccc5bc9256b196b1f4e9ad881838ad32c8b3424.tar.xz hercules-cccc5bc9256b196b1f4e9ad881838ad32c8b3424.zip |
Fixed Bug#7584
-Where HW_SOULDRAIN should work only in single target.
Fixed Bug#7670
-Where PA_GOSPEL is not working properly.
Fixed Bug#7668
-Bonus 'bLongAtkRate' is not working properly.
Fixed Bug#7512
-Bonus 'bCritAtkRate' is not working properly.
Fixed Bug#7515
-Fixed MO_EXTREMITYFIST animation.
-Fixed RE armor/weapon storage tab positioning.
-Fixed HW_MAGICPOWER cast time.
-Fixed '/item' '/monster' aegis command where it not working properly in some item names or monsters.
-Added NC_DISJOINT cast time hidden modifier.
-Updated RE ATK for post damage modifier.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/mob.c')
-rw-r--r-- | src/map/mob.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/map/mob.c b/src/map/mob.c index b181c9b7b..291f04267 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -110,17 +110,24 @@ int mobdb_searchname(const char *str) return 0; } -static int mobdb_searchname_array_sub(struct mob_db* mob, const char *str) +static int mobdb_searchname_array_sub(struct mob_db* mob, const char *str, int flag) { if (mob == mob_dummy) return 1; if(!mob->base_exp && !mob->job_exp && mob->spawn[0].qty < 1) return 1; // Monsters with no base/job exp and no spawn point are, by this criteria, considered "slave mobs" and excluded from search results - if(stristr(mob->jname,str)) + if( !flag ){ + if(stristr(mob->jname,str)) + return 0; + if(stristr(mob->name,str)) + return 0; + return strcmpi(mob->jname,str); + } + if(strcmp(mob->jname,str) == 0) return 0; - if(stristr(mob->name,str)) + if(strcmp(mob->name,str) == 0) return 0; - return strcmpi(mob->jname,str); + return strcmp(mob->sprite,str); } /*========================================== @@ -194,7 +201,7 @@ void mvptomb_destroy(struct mob_data *md) { /*========================================== * Founds up to N matches. Returns number of matches [Skotlex] *------------------------------------------*/ -int mobdb_searchname_array(struct mob_db** data, int size, const char *str) +int mobdb_searchname_array(struct mob_db** data, int size, const char *str, int flag) { int count = 0, i; struct mob_db* mob; @@ -202,7 +209,7 @@ int mobdb_searchname_array(struct mob_db** data, int size, const char *str) mob = mob_db(i); if (mob == mob_dummy || mob_is_clone(i) ) //keep clones out (or you leak player stats) continue; - if (!mobdb_searchname_array_sub(mob, str)) { + if (!mobdb_searchname_array_sub(mob, str, flag)) { if (count < size) data[count] = mob; count++; |