summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt8
-rw-r--r--conf-tmpl/battle/party.conf2
-rw-r--r--src/map/clif.c15
-rw-r--r--src/map/itemdb.h2
-rw-r--r--src/map/party.c2
-rw-r--r--src/map/status.c4
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;