diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 15 | ||||
-rw-r--r-- | src/map/itemdb.h | 2 | ||||
-rw-r--r-- | src/map/party.c | 2 | ||||
-rw-r--r-- | src/map/status.c | 4 |
4 files changed, 17 insertions, 6 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 0eaab5ce3..a3360b76a 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -9707,8 +9707,12 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) { target_id = sd->bl.id; if(sd->menuskill_id) - return; //Can't use skills while a menu is open. - + { + if (sd->menuskill_id == SA_TAMINGMONSTER) + sd->menuskill_id = sd->menuskill_lv = 0; //Cancel pet capture. + else + return; //Can't use skills while a menu is open. + } if (sd->skillitem == skillnum) { if (skilllv != sd->skillitemlv) skilllv = sd->skillitemlv; @@ -9807,7 +9811,12 @@ void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, int skilll return; if(sd->menuskill_id) - return; //Can't use skills while a menu is open. + { + if (sd->menuskill_id == SA_TAMINGMONSTER) + sd->menuskill_id = sd->menuskill_lv = 0; //Cancel pet capture. + else + return; //Can't use skills while a menu is open. + } pc_delinvincibletimer(sd); diff --git a/src/map/itemdb.h b/src/map/itemdb.h index fb3d25964..e8f1a07ef 100644 --- a/src/map/itemdb.h +++ b/src/map/itemdb.h @@ -86,6 +86,8 @@ int itemdb_searchname_array(struct item_data** data, int size, const char *str); struct item_data* itemdb_load(int nameid); struct item_data* itemdb_search(int nameid); struct item_data* itemdb_exists(int nameid); +#define itemdb_name(n) itemdb_search(n)->name +#define itemdb_jname(n) itemdb_search(n)->jname #define itemdb_type(n) itemdb_search(n)->type #define itemdb_atk(n) itemdb_search(n)->atk #define itemdb_def(n) itemdb_search(n)->def diff --git a/src/map/party.c b/src/map/party.c index 5b9e19497..99b9f3660 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -825,7 +825,7 @@ int party_share_loot(struct party_data *p, TBL_PC *sd, struct item *item_data, i //Logs if(battle_config.party_show_share_picker && target != sd){ char output[80]; - sprintf(output, "%s acquired the item.",target->status.name); + sprintf(output, "%s acquired %s.",target->status.name, itemdb_jname(item_data->nameid)); clif_disp_onlyself(sd,output,strlen(output)); } return 0; diff --git a/src/map/status.c b/src/map/status.c index 28cabc71c..5beaf06f2 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -988,7 +988,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int || (sc->data[SC_AUTOCOUNTER].timer != -1 && !flag) || (sc->data[SC_GOSPEL].timer != -1 && sc->data[SC_GOSPEL].val4 == BCT_SELF && skill_num != PA_GOSPEL) || (sc->data[SC_GRAVITATION].timer != -1 && sc->data[SC_GRAVITATION].val3 == BCT_SELF && skill_num != HW_GRAVITATION) - || (sc->data[SC_CLOAKING].timer != -1 && sc->data[SC_CLOAKING].val1 < 3 && skill_num != AS_CLOAKING) +// || (sc->data[SC_CLOAKING].timer != -1 && sc->data[SC_CLOAKING].val1 < 3 && skill_num != AS_CLOAKING) //Official sites say it blocks attack/skill usage, ingame proof says it does not. ) return 0; @@ -6628,7 +6628,7 @@ int status_change_timer(int tid, unsigned int tick, int id, int data) break; case SC_STONE: - if(sc->opt1 == OPT1_STONEWAIT) { + if(sc->opt1 == OPT1_STONEWAIT && sc->data[type].val3) { sc->data[type].val4 = 0; unit_stop_walking(bl,1); sc->opt1 = OPT1_STONE; |