summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt4
-rw-r--r--src/map/clif.c1
-rw-r--r--src/map/map.c4
-rw-r--r--src/map/pc.c9
4 files changed, 9 insertions, 9 deletions
diff --git a/Changelog.txt b/Changelog.txt
index 9dc32511a..d62b90513 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,6 +1,10 @@
Date Added
12/20
+ * Experimental: Reverting a change on deleting any skill units when we're
+ logging off - might reduce the 'delete_timer' errors [celest]
+ * Added check whether an item is allowed to be dropped, for example wedding
+ rings [celest]
* Updated Acid Terror - should never miss [celest]
* updated Sword Reject - should display reflected damage properly now [celest]
* Updated Double Strafe - should only work with bows [celest]
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);