diff options
author | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-20 11:20:46 +0000 |
---|---|---|
committer | celest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-12-20 11:20:46 +0000 |
commit | 274a85296ab978f42c083e1dfbf8764ab67de6d0 (patch) | |
tree | 5298f681c02b5ba4a49c30697feb62528a0047e8 /src/map | |
parent | 492443cd3a0eddabb24212e6b04a3f7d3c9bce88 (diff) | |
download | hercules-274a85296ab978f42c083e1dfbf8764ab67de6d0.tar.gz hercules-274a85296ab978f42c083e1dfbf8764ab67de6d0.tar.bz2 hercules-274a85296ab978f42c083e1dfbf8764ab67de6d0.tar.xz hercules-274a85296ab978f42c083e1dfbf8764ab67de6d0.zip |
* Reverting a change on deleting any skill units when we're logging off
* Added check whether an item is allowed to be dropped
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@655 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 1 | ||||
-rw-r--r-- | src/map/map.c | 4 | ||||
-rw-r--r-- | src/map/pc.c | 9 |
3 files changed, 5 insertions, 9 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 7eb2670ae..26fa236a7 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -9092,7 +9092,6 @@ void clif_parse_MoveToKafra(int fd, struct map_session_data *sd) { return; if(itemdb_isdropable(sd->status.inventory[item_index].nameid) == 0) - return; if (sd->state.storage_flag) diff --git a/src/map/map.c b/src/map/map.c index 777818ec4..f066b8f00 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -995,7 +995,7 @@ int map_quit(struct map_session_data *sd) { sd->status.hp = 100; skill_status_change_clear(&sd->bl,1); // ステ?タス異常を解除する -// skill_clear_unitgroup(&sd->bl); // スキルユニットグル?プの削除 + skill_clear_unitgroup(&sd->bl); // スキルユニットグル?プの削除 skill_cleartimerskill(&sd->bl); pc_stop_walking(sd,0); pc_stopattack(sd); @@ -1004,7 +1004,7 @@ int map_quit(struct map_session_data *sd) { skill_gangsterparadise(sd,0); pc_calcstatus(sd,4); - skill_clear_unitgroup(&sd->bl); // [Sara-chan] +// skill_clear_unitgroup(&sd->bl); // [Sara-chan] clif_clearchar_area(&sd->bl,2); diff --git a/src/map/pc.c b/src/map/pc.c index 4e90aebd2..4a019de58 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -1475,7 +1475,7 @@ int pc_calcstatus(struct map_session_data* sd,int first) } // New guild skills - Celest - if (sd->status.guild_id > 0) { + if (sd->status.guild_id > 0 && !(first&4)) { struct guild *g; if ((g = guild_search(sd->status.guild_id)) && strcmp(sd->status.name,g->master)==0) { if (!sd->state.leadership_flag && guild_checkskill(g, GD_LEADERSHIP)>0) { @@ -3174,19 +3174,16 @@ int pc_dropitem(struct map_session_data *sd,int n,int amount) nullpo_retr(1, sd); if(n < 0 || n >= MAX_INVENTORY) - return 1; - if(amount <= 0) - return 1; - if (sd->status.inventory[n].nameid <= 0 || sd->status.inventory[n].amount < amount || sd->trade_partner != 0 || sd->vender_id != 0 || - sd->status.inventory[n].amount <= 0) + sd->status.inventory[n].amount <= 0 || + itemdb_isdropable(sd->status.inventory[n].nameid) == 0) // Celest return 1; map_addflooritem(&sd->status.inventory[n], amount, sd->bl.m, sd->bl.x, sd->bl.y, NULL, NULL, NULL, 0); pc_delitem(sd, n, amount, 0); |