summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-25 04:53:27 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-25 04:53:27 +0000
commitbb5027a35309913803fe7063bebbef044b86cec2 (patch)
tree9de22b48939986a6fee54dc300ee00c09f8c7742 /src
parent25ca739c12a1e73b7095b81cac803eba32561428 (diff)
downloadhercules-bb5027a35309913803fe7063bebbef044b86cec2.tar.gz
hercules-bb5027a35309913803fe7063bebbef044b86cec2.tar.bz2
hercules-bb5027a35309913803fe7063bebbef044b86cec2.tar.xz
hercules-bb5027a35309913803fe7063bebbef044b86cec2.zip
- 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
Diffstat (limited to 'src')
-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
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;