From bb5027a35309913803fe7063bebbef044b86cec2 Mon Sep 17 00:00:00 2001 From: skotlex Date: Sun, 25 Feb 2007 04:53:27 +0000 Subject: - You are allowed to attack/use skills now when your cloaking level is below 3. - Small change to Stone Curse that may fix the permanent "semi-stone" status. - Corrected "taming monster" having your skill-use be stuck if you cancel the target selection process. - config setting party_show_share_picker now displays the jname of the item picked as well. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9914 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 8 ++++++++ conf-tmpl/battle/party.conf | 2 +- src/map/clif.c | 15 ++++++++++++--- src/map/itemdb.h | 2 ++ src/map/party.c | 2 +- src/map/status.c | 4 ++-- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 0d0778ffc..c8c5f4bef 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,14 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2007/02/26 + * You are allowed to attack/use skills now when your cloaking level is + below 3. + * Small change to Stone Curse that may fix the permanent "semi-stone" + status. + * Corrected "taming monster" having your skill-use be stuck if you cancel + the target selection process. + * config setting party_show_share_picker now displays the jname of the item + picked as well. * Corrected some typos and small details (forgotten bInfiniteEndure [r6487], mysterious '1' in help file, etc) 2007/02/25 diff --git a/conf-tmpl/battle/party.conf b/conf-tmpl/battle/party.conf index 5e18867e2..85e5bdf39 100644 --- a/conf-tmpl/battle/party.conf +++ b/conf-tmpl/battle/party.conf @@ -27,7 +27,7 @@ // features. //-------------------------------------------------------------- -// If someone loots, show name in party? (Note 1) +// If someone steals (gank/steal skills), show name in party? (Note 1) show_steal_in_same_party: no // Interval before updating the party-member map mini-dots (milliseconds) 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; -- cgit v1.2.3-70-g09d2